Forum: Mikrocontroller und Digitale Elektronik Arduino Schaltplan mit 2 Schritmotortreibern


von Sebastian (Gast)



Lesenswert?

Hallo zusammen,

schonmal vielen Dank für die unterstützung.

Da ich mitlerweile ein wenig eingerostet bin hoffe ich das Ihr mir 
helfen könnt ;)

also ich habe folgendes vor.

Anbei schon mal ein Schaltplan ;)
Die Steuerung soll für eine Kreissäge sein und einmal den Winkel und die 
Höhe des Sägeblattes steuerbar machen.

Funktion wie folgt:
Beim Starten fahren die beiden Schrittmotoren gegen die Endschalter.

Dann soll mit einem Poti der eine Mittelstellung und Rückholfeder hat 
die Höhe bzw. der Winkel einstellbar sein.

Ein Umschaltbar soll dem Arduino sagen ob die Höhe oder der Winkel mit 
dem Poti verendert werden kann.



Könnt ihr euch den Plan mal angucken? Oder sind da gravierende Fehler 
drin?

vielen Dank schonmal.

grüße sebastian

von Sebastian S. (amateur)


Lesenswert?

Ich habe jetzt, auf die Schnelle, keine Lust die Datenblätter der 
Motortreiber durchzuwühlen, aber bist Du Dir sicher, dass Enable und 
Chip-Select eine "Luftnummer" machen dürfen?
Das Schalten der Motorspulen wird Dir wohl - ohne gründliche Filterung - 
den µC durcheinanderbringen.
Oft hält man Motore, in ihrer aktuellen Position fest, indem man sie 
"Kurzschließt" oder beide Wicklungen auf null bzw. die positive 
Versorgungsspannung bringt. Viele Chips haben diese Option "eingebaut". 
Dafür reichen aber DIR und Step nicht aus.

von Wolfgang (Gast)


Lesenswert?

Wie hoch sind bei dir VCC und die Nennspannung der Motoren?

von Wolfgang (Gast)


Lesenswert?

Sebastian schrieb:
> Oder sind da gravierende Fehler drin?

Es fehlt fast die komplette Beschaltung des TMC2130. Guck dir mal die 
Fig. 1.1 auf S.5 im Datenblatt an.
https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC2130_datasheet_Rev1.11.pdf

von MaWin (Gast)


Lesenswert?

Sebastian schrieb:
> Anbei schon mal ein Schaltplan

So wird das nichts. Es fehlt alles, was du nicht verstanden hast. Und 
das ist offenbar viel. Bedenke, dass nicht nur ein Prinzipschaltbild zu 
einer betriebssicheren, sich nicht stören und zerstören lassenden 
Schaltung führt, sondern dazu das ganze drumherum kommerzieller Platinen 
nötig ist.

Gerade Mikroschritt-Schrittmotortreiber schalten hohe Ströme mit hoher 
Frequenz, und erzeugen Strom beim Bremsen oder drehen der Motorsdlle bei 
abgeschalteter Elektronik, der, wenn er nicht aufgdfangen wird, zum 
Ansteigrn der Soannung an den bei dir nicht vorhandenen Abnlockelkos 
führt, bis die Spannung reicht um die Elektronik zu zerstören.

Masseführung, Eingangsschutz, Abblockung gehört auch dazu.

von Sebastian (Gast)


Lesenswert?

Wollte mit 12 V Starten

von Sebastian (Gast)


Lesenswert?

Wolfgang schrieb:
> Wie hoch sind bei dir VCC und die Nennspannung der Motoren?

wollte mit 12V starten

von Wolfgang (Gast)


Lesenswert?

Sebastian schrieb:
> wollte mit 12V starten

Und welche Nennspannung haben die Motoren?
Wenn die Motoren auch bei höherer Schrittfrequenz vernünftiges 
Drehmoment liefern sollen, muss die VM erheblich über der Nennspannung 
liegen.
(s. Datenblatt des Motors)

von Timo N. (tnn85)


Lesenswert?

Wolfgang schrieb:
> Wenn die Motoren auch bei höherer Schrittfrequenz vernünftiges
> Drehmoment liefern sollen

Es geht um die Verstellung von Winkel und Höhe eines Sägeblatts. Ich 
glaube kaum, dass dem TO eine hohe Schrittfrequenz wichtig ist.

Aus dem Datenblatt des TMC2130 entnehme ich "Voltage Range 4.75… 46V 
DC". 24V wäre sicher besser, 12V sollte aber auch gehen. Da du sowieso 
eine Untersetzung drin haben wirst, sollte das nicht das größte Problem 
sein.

Handelt es sich bei dem TMC2130 um den SilentStepStick?

Pin Functions:
https://learn.watterott.com/silentstepstick/pinconfig/tmc2130/
Schaltplan:
https://github.com/watterott/SilentStepStick/blob/master/hardware/SilentStepStick-TMC2130_v20.pdf

von Rainer S. (enevile) Benutzerseite


Lesenswert?

Bei I2C gehören Pull-Up Widerstände mit 5,6k Ohm an +5V dran. Außerdem 
sind SDA und SCL nicht am D4 & D5 sondern A4 (SDA), A5 (SCL).

Alle GND vom µC bitte verbinden und Reset wird Low-Activ geschaltet 
ebenfalls mit einen Pull-Up Widerstand 10k Ohm an +5V dran.

von Wolfgang (Gast)


Lesenswert?

Timo N. schrieb:
> Es geht um die Verstellung von Winkel und Höhe eines Sägeblatts. Ich
> glaube kaum, dass dem TO eine hohe Schrittfrequenz wichtig ist.

Wenn die Versorgungsspannung der Nennspannung des Motors entspricht und 
man damit sowieso auf die Vorteile der Stromregelung verzichtet, kann 
man sich den Aufwand auch sparen.

> Da du sowieso eine Untersetzung drin haben wirst, sollte das nicht
> das größte Problem sein.

Spätestens durch die Untersetzung steigt die Drehzahl des Schrittmotors 
entsprechend.

von svensson (Gast)


Lesenswert?

Vieles, was hier gesagt wurde, stimmt leider, die Ansteuerung von 
Schrittmotoren ist nicht trivial.

Warum machst Du es Dir nicht einfach, indem Du Motore nimmst, die direkt 
für die Ansteuerung mit einem Microcontroller geeignet sind?
Beispiele wären von Trinamic die PanDrive PD42-x-y-TMCL und 
PD57-x-y-TMCL, die haben direkte Eingänge - teilweise sogar mit 
Optokoppler isoliert - für DIR und STEP.

Allerdings können die Motore nicht besonders schnell damit laufen, weil 
die Schnittstellen (auch des Arduino) zu langsam sind. Wenn es aber mehr 
auf Genauigkeit als auf Tempo ankommt, dann geht das m.E. sehr, sehr 
einfach.

von Sebastian (Gast)


Lesenswert?

Timo N. schrieb:
> Wolfgang schrieb:
>> Wenn die Motoren auch bei höherer Schrittfrequenz vernünftiges
>> Drehmoment liefern sollen
> Es geht um die Verstellung von Winkel und Höhe eines Sägeblatts. Ich
> glaube kaum, dass dem TO eine hohe Schrittfrequenz wichtig ist.
>
> Aus dem Datenblatt des TMC2130 entnehme ich "Voltage Range 4.75… 46V
> DC". 24V wäre sicher besser, 12V sollte aber auch gehen. Da du sowieso
> eine Untersetzung drin haben wirst, sollte das nicht das größte Problem
> sein.

> Handelt es sich bei dem TMC2130 um den SilentStepStick?
> Pin Functions:
> https://learn.watterott.com/silentstepstick/pinconfig/tmc2130/
> Schaltplan:
>https://github.com/watterott/SilentStepStick/blob/master/hardware/SilentStep>Stick-TMC2130_v20.pdf

Ja genau. Vielen Dank für den Tipp. Ich habe nen Regelbares Netzteil. 
Ich teste einfach mal mit der Spannung und wenn ich 24V benötige dann 
wirds halt nen 24V Netzteil :)

von Sebastian (Gast)



Lesenswert?

Rainer S. schrieb:
> Bei I2C gehören Pull-Up Widerstände mit 5,6k Ohm an +5V dran.
> Außerdem
> sind SDA und SCL nicht am D4 & D5 sondern A4 (SDA), A5 (SCL).
>
> Alle GND vom µC bitte verbinden und Reset wird Low-Activ geschaltet
> ebenfalls mit einen Pull-Up Widerstand 10k Ohm an +5V dran.

Vielen Dank das du dir so viel mühe gemacht hast und die Schaltung 
durchgeschaut hast. Pullup und SDA SCL habe ich korrigiert.

Leider verstehe ich das mit dem reset nicht?

vielen Dank.

Anbei nochmal der aktualisierte Schaltplan.

von Sebastian (Gast)


Lesenswert?

svensson schrieb:
> Vieles, was hier gesagt wurde, stimmt leider, die Ansteuerung von
> Schrittmotoren ist nicht trivial.
>
> Warum machst Du es Dir nicht einfach, indem Du Motore nimmst, die direkt
> für die Ansteuerung mit einem Microcontroller geeignet sind?
> Beispiele wären von Trinamic die PanDrive PD42-x-y-TMCL und
> PD57-x-y-TMCL, die haben direkte Eingänge - teilweise sogar mit
> Optokoppler isoliert - für DIR und STEP.
>
> Allerdings können die Motore nicht besonders schnell damit laufen, weil
> die Schnittstellen (auch des Arduino) zu langsam sind. Wenn es aber mehr
> auf Genauigkeit als auf Tempo ankommt, dann geht das m.E. sehr, sehr
> einfach.

Vielen dank für den Tipp die Motoren kannte ich gar nicht! allerdings 
ist der Preis auch nicht ohne :/

Ich versuche erstmal so weiter zu kommen. Aus Fehlern lernt man ;)

von Timo N. (tnn85)


Lesenswert?

Sebastian schrieb:
> Leider verstehe ich das mit dem reset nicht?

Kümmer dich nicht darum. Das wäre nur bei einem µC ATmega 328 ohne 
Beschaltung relevant. Auf dem Arduino Nano ist Reset schon mit einem 
Pull-up Widerstand mit 5V verbunden. Das passt also.
Google einfach mal nach Arduino Nano Schematic, dann siehst du wie alles 
auf dem Nano verschaltet ist.

D11,D12 und D13 wind übrigens die SPI Pins des Nano. Die könntest du mit 
beiden TMC2130 verbinden um sie flexibel programmieren zu können.
Dann brauchst du noch 2 Pins für Chip Select (CS) für je einen der 
TMC2130.
Wenn du SPI verwendest, um den TMC2130 zu programmieren, musst du Enable 
auf jeden Fall auf einen Pin legen oder direkt auf GND und ihn damit 
dauerhaft einzuschalten.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.