Schrittmotoren mit oder ohne Steuerung?!
-
Hi.
Schrittmotoren kann man ja mit oder ohne integrierter Steuerung kaufen. Zum Beispiel hier mit oder hier ohne integrierter Steuerung.
Was genau leisten diese integrierten Steuerungen eigentlich? Wann sollte man sich einen Schrittmotor mit und wann ohne Steuerung besorgen? Können die Steuerungen auch hinderlich sein? Ich möchte zum Beispiel mehrere Schrittmotoren synchronisiert betreiben. Sind integrierte Steuerungen in dem Fall nachteilig?
-
Gregor schrieb:
Was genau leisten diese integrierten Steuerungen eigentlich?
Um Schrittmotoren in eine gewünschte Bewegung zu setzen, musst du dessen Spulen gezielt unter Spannung setzen. Dies kannst du entweder selbst mit dem µC und ner kleinen Schaltung drumrum erreichen oder einfach einen Schrittmotor mit integrieter Steuerung kaufen, die dir dann eine einfach Bedienerschnittstelle nach außen bietet, wie in deinem Fall einen RS-485 Bus.
Gregor schrieb:
Wann sollte man sich einen Schrittmotor mit und wann ohne Steuerung besorgen?
Je nach Geld, Zeit und Elektroniklust.
Gregor schrieb:
Ich möchte zum Beispiel mehrere Schrittmotoren synchronisiert betreiben.
Da würde auch eigentlich nur eine Steuerung reichen mit der dann all deine Motoren betrieben werden, um einen Synchronbetrieb zu erreichen.
-
@KasF: Danke schonmal fuer die Antwort.
KasF schrieb:
Gregor schrieb:
Ich möchte zum Beispiel mehrere Schrittmotoren synchronisiert betreiben.
Da würde auch eigentlich nur eine Steuerung reichen mit der dann all deine Motoren betrieben werden, um einen Synchronbetrieb zu erreichen.
Naja, "synchron" ist hier nicht im Sinne von "alle das gleiche" gemeint, sondern im Sinne von "zeitlich auf einander abgestimmt". Die Frage ist, ob mir die integrierte Steuerung eine derartige zeitliche Abstimmung der Bewegungen kaputt macht, weil dadurch vielleicht ein unberechenbares zeitliches Lag entsteht.
-
Gregor schrieb:
Naja, "synchron" ist hier nicht im Sinne von "alle das gleiche" gemeint, sondern im Sinne von "zeitlich auf einander abgestimmt".
Ok, hattte auch darüber nachgedacht, ob du das so meinen könnest, habe mich aber dann für die Synchronschwimmer entschieden
Kannst du mir den Einsatzzweck verraten? Vielleicht irgendeine Mehr-Achsen-Steuerung? Wie sieht das dann von Steuerseite aus? Wie synchron muss dein synchron sein?
Sagen wir du hast die SM A und B. Jetzt willst du A auf 50° und B auf 100° stellen. Und du willst, das beide die Information gleichzeitig erhalten, oder? Also nichts mit seriell 50 und dann 100 senden, sondern beides gleichzeitig (Jenachdem wie dein "synchron" definiert ist, zwei Codezeilen hintereinander ausgeführt SetPositonForA(50); SetPositionForB(100) ist ja auch schon quasi parallel).
-
KasF schrieb:
Gregor schrieb:
Naja, "synchron" ist hier nicht im Sinne von "alle das gleiche" gemeint, sondern im Sinne von "zeitlich auf einander abgestimmt".
Kannst du mir den Einsatzzweck verraten? Vielleicht irgendeine Mehr-Achsen-Steuerung? Wie sieht das dann von Steuerseite aus? Wie synchron muss dein synchron sein?
Sagen wir du hast die SM A und B. Jetzt willst du A auf 50° und B auf 100° stellen. Und du willst, das beide die Information gleichzeitig erhalten, oder? Also nichts mit seriell 50 und dann 100 senden, sondern beides gleichzeitig (Jenachdem wie dein "synchron" definiert ist, zwei Codezeilen hintereinander ausgeführt SetPositonForA(50); SetPositionForB(100) ist ja auch schon quasi parallel).
Hmmm. Ich weiss nicht genau, was mit einer "Mehr-Achsen-Steuerung" gemeint ist. Aber vermutlich ist es so etwas. Ich habe mehrere Achsen, die jeweils mit einem Schrittmotor verbunden sind. Und die Bewegungen dieser Achsen sollen eben aufeinander abgestimmt sein.
Ich habe gerade mal ueberschlagen, wie synchron das sein muss. Vermutlich sollte es gar kein grosses Problem sein. Wenn ich bedenke, wie schnell sich die Achsen drehen werden und welche Genauigkeit ich haben moechte, dann komme ich darauf, dass ich auf etwa 0,5ms synchron arbeiten muss. Da das natuerlich nur eine grobe Abschaetzung ist, geh ich mal lieber auf 0,1ms runter. Aber ich glaube, das ist eh eine relativ grosse Toleranz.
Ein "SetPositonForA(50); SetPositionForB(100);" wuerde ich definitiv als gleichzeitig akzeptieren.
-
Hmmm,
jetzt ist es dir überlasse, ob du ein Steuerplatine kaufen willst (zB http://www.conrad.de/ce/de/product/197309/1A-SCHRITTMOTORSTEUERKARTE-SMC-TR-1000/1101152&ref=list) oder selber was bastelst (Anlaufstelle zB hier: http://www.rn-wissen.de/index.php/Schrittmotoren). Das eine ist teuer und kostet keine Zeit, das Andere dafür billig aber Zeitintensiv.Hinzu kommt noch die Frage mit welchen Protokol/Bus du das ganze steuern willst.
Ist das Zweite für dich hinnehmbar?Signal 1: SetPositonForA(50); SetPositionForB(100); ... x ms delay ... -> x = const SetPositonForA(42); SetPositionForB(42);
Signal 2: SetPositonForA(50); SetPositionForB(100); ... x ms delay ... -> x = variabel SetPositonForA(42); SetPositionForB(42);
Das heißt, was für ne Rolle spielt der Jitter. Jenachdem müsste man sich auch Gedanken übern Echzeit-Bus/Protokoll machen.
-
Gregor schrieb:
KasF schrieb:
Gregor schrieb:
Naja, "synchron" ist hier nicht im Sinne von "alle das gleiche" gemeint, sondern im Sinne von "zeitlich auf einander abgestimmt".
Kannst du mir den Einsatzzweck verraten? Vielleicht irgendeine Mehr-Achsen-Steuerung? Wie sieht das dann von Steuerseite aus? Wie synchron muss dein synchron sein?
Sagen wir du hast die SM A und B. Jetzt willst du A auf 50° und B auf 100° stellen. Und du willst, das beide die Information gleichzeitig erhalten, oder? Also nichts mit seriell 50 und dann 100 senden, sondern beides gleichzeitig (Jenachdem wie dein "synchron" definiert ist, zwei Codezeilen hintereinander ausgeführt SetPositonForA(50); SetPositionForB(100) ist ja auch schon quasi parallel).
Hmmm. Ich weiss nicht genau, was mit einer "Mehr-Achsen-Steuerung" gemeint ist. Aber vermutlich ist es so etwas. Ich habe mehrere Achsen, die jeweils mit einem Schrittmotor verbunden sind. Und die Bewegungen dieser Achsen sollen eben aufeinander abgestimmt sein.
Ich habe gerade mal ueberschlagen, wie synchron das sein muss. Vermutlich sollte es gar kein grosses Problem sein. Wenn ich bedenke, wie schnell sich die Achsen drehen werden und welche Genauigkeit ich haben moechte, dann komme ich darauf, dass ich auf etwa 0,5ms synchron arbeiten muss. Da das natuerlich nur eine grobe Abschaetzung ist, geh ich mal lieber auf 0,1ms runter. Aber ich glaube, das ist eh eine relativ grosse Toleranz.
Ein "SetPositonForA(50); SetPositionForB(100);" wuerde ich definitiv als gleichzeitig akzeptieren.
Vorsichtig, wenn Du was Achsübergreifendes brauchst, dann hilft nur eine Steuerung, die das kann. Ich bau' so Sachen seit über 20 Jahren, es klingt so, als ob Du eine Mehrachssteuerung bräuchtest, Standard sind 3 Achsen, da gibt es auch Billigheimerzeug.
Google mal nach Bresenham- Algorithmus.
Für kleine Schrittmotörchen ist der Treibersatz von nanotec OK.Ich gehe mal davon aus, daß für professionelle Lösungen kein Geld da ist?
-
pointercrash() schrieb:
Google mal nach Bresenham- Algorithmus.
Die Pfadplanung ist kein Problem. Ich denke, dem sollte ich locker gewachsen sein.
pointercrash() schrieb:
Ich gehe mal davon aus, daß für professionelle Lösungen kein Geld da ist?
Es handelt sich um ein Hobbyprojekt, bei dem eigentlich der Weg das Ziel ist. Natuerlich kann man sich alles einfach kaufen und dann nutzen. Mir geht es aber auch darum es selbst zu machen. Einfach, um die Erfahrungen zu sammeln, die damit verbunden sind.
-
Gregor schrieb:
pointercrash() schrieb:
Google mal nach Bresenham- Algorithmus.
Die Pfadplanung ist kein Problem. Ich denke, dem sollte ich locker gewachsen sein.
pointercrash() schrieb:
Ich gehe mal davon aus, daß für professionelle Lösungen kein Geld da ist?
Es handelt sich um ein Hobbyprojekt, bei dem eigentlich der Weg das Ziel ist. Natuerlich kann man sich alles einfach kaufen und dann nutzen. Mir geht es aber auch darum es selbst zu machen. Einfach, um die Erfahrungen zu sammeln, die damit verbunden sind.
Moment, Pfadplanung != achsübergreifende Motorsteuerung, ist Dir schon klar, oder?
Wenn Du jedenfalls die Endstufen selber basteln magst, sind die nanotec- Treiber OK, weil die recht wenig Außenbeschaltung brauchen und selber choppern und das mit der Stromabsenkung wunderbar beherrschen, kurzschlußfest sind sie auch noch.
Ansonsten, fertige Module kriegst Du z.B. bei www.Lewetz.de (z.B. Step 3N), der hat auch Schrittmotore.
Wenn Du die Ansteuerung selber machen magst, wär' ein GODIL mit einem Atmel ATMEGA ein guter Ausgangspunkt. Die avrgcc- Suite ist jedenfalls recht brauchbar.Für Deine Zwecke ist eine integrierte Einachssteuerung eher hinderlich, aber Deine Beispiele waren auch eher verwirrend und der Conni ist sowieso eine Apotheke von den Preisen her. Im ersten Beispiel war alles integriert, aber das macht man nur bei Platzmangel, beim zweiten Beispiel fehlt ja die Endstufe. Du kannst nicht einfach einen SM an einen Controller hängen, ist Dir auch klar?