PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : NEMA17 Schrittmotor



Moppi
25.06.2020, 12:28
Hallo,

mit NEMA-Schrittmotoren haben sich Überraschungen für mich ergeben. Deshalb will ich das hier einfach mal beschreiben. Eine genaue Erklärung dafür habe ich nicht, wäre reine Spekulation, da ich hier über kein genaues Wissen verfüge, was im Schrittmotor vor sich geht, insbesondere bei Microstepps.

Bei Schrittmotoren gibt es im ersten Ansatz die Theorie, dass die einen Schritt machen, wenn sie den machen oder sie machen den nicht, dann kommen sie nicht von der Stelle. Deshalb muss so ein Motor genügend Kraft haben, um das Gewicht zu bewegen. Hat er die nicht, fallen Schritte aus.
In praktischen Versuchen habe ich aber gesehen, dass das dann doch etwas anders ist (na ja zumindest scheint). In meinem Fall schaffte so ein Motor 5kg anzuschieben und in Bewegung zu halten. Wenn ich aber eine Echtzeitkontrolle (Odometrie) hinzufüge und also die Umdrehung des Motors kontrolliere, dann zeigt sich ein etwas anderes Bild. Er schafft zwar das Gewicht anzuschieben, kommt also vorwärts, erreicht aber pro Schritt nicht die errechnete Umdrehung, das ist dann gewichts- / lastabhängig.
Wenn ich den Motor ohne Belastung anlaufen lasse, habe ich eine bestimmte Schrittzahl, in der er eine gewissen Teil einer Umdrehung macht. Durch Ungenauigkeit im 3D-Druck habe ich eine gewisse Tolleranz, was die Lochscheibe an der Motorachse angeht. D.h. manche Löcher der Scheibe sind etwas schmaler, manche etwas breiter. Um den Motor sicher anlaufen zu lassen, habe ich jetzt eine Abweichung von 6 Microschritten, bezüglich 32 Microschritten, die theoretisch notwendig wären, um die Achse eine hundertstel Umdrehung machen zu lassen. Nochmal anders: ich benötige 32 Schritte für ein hundertstel Umdrehung. Ob die hundertstel Umdrehung stattgefunden hat, stelle ich mit der Lichtschranke fest, die angebaut ist. Wenn die Schrittzahl erreicht ist, aber die Lichtschranke nicht das dazu passende Signal liefert, stoppt der Motor. Wenn der Motor belastet wird, sind noch mehr Schritte notwendig. Es ist also nicht so, dass der Motor einfach stehen bliebe, weil er das Gewicht nicht schafft, er bnötigt nur mehr Microstepps.


MfG

Manf
25.06.2020, 13:05
Der Anker des Schrittmotors wird durch Magentfelder in seine Position gebracht und dort gehalten. Er wird mit einem gewissen "Richtmoment", einem Moment pro Winkel, in der Position gehalten.
Bei einem Lastmoment ergibt sich damit eine Abweichung um den entsprechenden Winkel von der Sollposition.

inka
25.06.2020, 15:35
Wenn die Schrittzahl erreicht ist, aber die Lichtschranke nicht das dazu passende Signal liefert, stoppt der Motor. Wenn der Motor belastet wird, sind noch mehr Schritte notwendig. Es ist also nicht so, dass der Motor einfach stehen bliebe, weil er das Gewicht nicht schafft, er bnötigt nur mehr Microstepps.

das klingt eigentlich logisch - die schrittweite verändert sich bei fahren gegen eine last gegenüber einer lastfreien bewegung, weil das system ja durch die fehlede mechanische sperre (getriebe z.b) "elastisch" ist.... Hat sicher auch auswirkungen auf die gefahrene strecke - wolltest Du darauf hinaus?

HaWe
25.06.2020, 16:11
das klingt eigentlich logisch - die schrittweite verändert sich bei fahren gegen eine last gegenüber einer lastfreien bewegung, weil das system ja durch die fehlede mechanische sperre (getriebe z.b) "elastisch" ist.... Hat sicher auch auswirkungen auf die gefahrene strecke - wolltest Du darauf hinaus?

das wäre mir neu - die Schrittweite bei Steppern wird doch durch die mechanisch festen Winkel zwischen Anker und Stator und ihre Stellung zueinander fest vorgegeben (fester mechanischer Winkel pro Schritt) , oder etwa nicht?
Wenn plötzlich mehr Schritte nötig sind, dann doch eher dadurch, dass der Anker "durchrutscht" bzw. "zurück ruckt", oder?


https://youtu.be/Vtbd80FksuM?t=41

Klebwax
25.06.2020, 16:13
... Nochmal anders: ich benötige 32 Schritte für ein hundertstel Umdrehung. Ob die hundertstel Umdrehung stattgefunden hat, stelle ich mit der Lichtschranke fest, die angebaut ist. Wenn die Schrittzahl erreicht ist, aber die Lichtschranke nicht das dazu passende Signal liefert, stoppt der Motor. Wenn der Motor belastet wird, sind noch mehr Schritte notwendig. Es ist also nicht so, dass der Motor einfach stehen bliebe, weil er das Gewicht nicht schafft, er bnötigt nur mehr Microstepps.


Mit Mikroschritten kann man nicht genauer positionieren, als mit den Schritten selbst.


Trotz der höheren Auflösung, die der Konstrukteur mit Mikroschritten erreichen kann, wird die Genauigkeit also nicht verbessert.

Dies ist ein Zitat aus einem Text von der Fa. Faulhaber (https://www.faulhaber.com/de/support/technischer-support/motoren/tutorials/schrittmotoren-tutorial-mikroschrittbetrieb/). Da wird das Ganze ausführlich beschrieben.

MfG Klebwax

- - - Aktualisiert - - -


das wäre mir neu - die Schrittweite bei Steppern wird doch durch die mechanisch festen Winkel zwischen Anker und Stator und ihre Stellung zueinander fest vorgegeben (fester mechanischer Winkel pro Schritt) , oder etwa nicht?

Richtig, Schritte aber nicht Mikroschritte. Die kommen nicht vom Motor sonder vom Controller.

MfG Klebwax

inka
25.06.2020, 16:53
Richtig, Schritte aber nicht Mikroschritte. Die kommen nicht vom Motor sonder vom Controller.
aber die schritte selbst sind ja auch nicht in stahl gegossen, also mechanisch "fest", sondern werden nur induktiv gehalten, oder?

Moppi
25.06.2020, 16:57
Der Anker des Schrittmotors wird durch Magentfelder in seine Position gebracht und dort gehalten. Er wird mit einem gewissen "Richtmoment", einem Moment pro Winkel, in der Position gehalten.
Bei einem Lastmoment ergibt sich damit eine Abweichung um den entsprechenden Winkel von der Sollposition.

Zu theoretisch für mich :) Sorry!


die schrittweite verändert sich bei fahren gegen eine last gegenüber einer lastfreien bewegung

Diesen Zusammenhang kenne ich noch nicht. Wenn das so stimmt.


Mit Mikroschritten kann man nicht genauer positionieren, als mit den Schritten selbst.

Das ist im Grunde auch nicht meine Absicht. Absicht ist, dass die Mikroschritte eine weichere Bewegung ermöglichen. Ich habe 32 Mikroschritte erwähnt: 1 Full Step = 16 Micro-Steps, beim Modus 1/16 Step. Ist doch richtig? Ein NEMA17 macht 200 Schritte / Umdrehung. Das aber kann ich nicht mit der Lochscheibe kontrollieren, der 3D-Drucker ist zu grob dafür, eine solche Scheibe zu drucken. Ich habe 50 Löcher, also 100 unterscheidbare Bereiche, statt 200, was je einem Vollschritt entspräche. Deshalb brauche ich 32 Mikroschritte für 100stel Umdrehung.


Richtig, Schritte aber nicht Mikroschritte. Die kommen nicht vom Motor sonder vom Controller.

Dennoch verliere ich keine ganzen Schritte, das wären 16 Mikroschritte, nur einen Bruchteil davon brauche ich mehr an Mikroschritten.

Das Positive daran ist, dass Mehrbelastung an einem Motor auf diese Weise erfasst und erkannt werden kann. Nach meinem Versuchsaufbau dreht der Motor nicht einfach durch, wenn er irgendwo gegen fährt, sondern er bleibt dann praktisch im Bruchteil einer Sekunde stehen. Eventuell kann man auf diese Weise auch Schlupf erkennen, also wenn die Räder auf dem Untergrund durchdrehen, was ich auch schon hatte. Das müsste sich in weniger benötigten Mikroschritten wiederspiegeln.


MfG

Klebwax
25.06.2020, 17:06
aber die schritte selbst sind ja auch nicht in stahl gegossen, also mechanisch "fest", sondern werden nur induktiv gehalten, oder?

Eigentlich schon. Die Pole sind mechanisch (wenn man den Motor öffnet, kann man sie sehen). Und ihre magnetische Wirkung kann man auch ohne Strom "fühlen", der Motor rastet auf diesen Positionen ein. Ihre Position bzw. der dazugehörige Winkel ist nicht von der Stärke des Stroms abhängig, nur davon wie rum er in welcher Spule gerade fließt.

MfG Klebwax

Moppi
25.06.2020, 17:53
Vielleicht trügt der Schein auch. Gestern war leider Elektronik kaputt, muss die daher ersetzen. Und dann nochmal in verschiedene Richtungen experimentieren. Es könnte auch sein, dass das Mehr an Mikroschritten einfach eine Folge der Differenz bei den Löchern in der Scheibe ist. Und dass er die 5kg nicht mehr bewegt, ist vielleicht nur eine Folge von Strombegrenzung durch zu dünne Kabel in der Versorgung, statt einem verwende ich jetzt auch zwei Motoren. Ich muss nur den Schrittzähler weiter rauf setzen und sehe dann ob damit mehr Gewicht zu bewältigen ist. Wenn nicht, habe ich vielleicht irgendwo eine unfreiwillige Strombegrenzung eingebaut?


MfG

Moppi
26.06.2020, 11:19
Neue Teile habe ich bekommen. Ich habe es nun nochmal ausprobiert und ein dickeres Kabel in der Zuleitung (Akku->Platine) verwendet. Ist ein Stück Kabel von einem defekten 25C-LiPo-Akku. Habe 5kg auf das Gefährt gepackt und es fuhr nicht an. Dann habe ich den Schrittzähler (der zur Kontrolle dient) um den Faktor 100 erhöht, so dass es dadurch nicht zum Stillstand kommt. Damit fährt es dann auch mit den 5kg Gewicht an. Das was ich bisher geschrieben habe, kann ich erst mal nur bestätigen. Hat sich also nun keine Änderung ergeben.

MfG

- - - Aktualisiert - - -


Bei einem Lastmoment ergibt sich damit eine Abweichung um den entsprechenden Winkel von der Sollposition.

Gibt es dazu eine Quelle, wo ich mir das im Detail ansehen kann?

MfG

Manf
26.06.2020, 12:45
Gibt es dazu eine Quelle
https://www.youtube.com/watch?v=hM_XAezn93Y

Dafür hilft vielleicht schon die Betrachtung der Bewegung bei Belastung eines stillstehenden Schrittmotors.





(eine ausführliche Darstellung dazu habe ich gerade nicht gefunden)

Moppi
26.06.2020, 16:42
Mir kommt es vor, dass wir von verschiedenen Dingen reden.

1. Wenn ich einen Hebel an die Welle anbringe und daran ziehe verdrehe ich den Rotor.
2. Wenn ich keinen Hebel anbringe, aber ein Rad und dieses Rad mit Gewicht belaste, bleibt der Rotor stehen.

MfG

- - - Aktualisiert - - -


Zitat aus einem Text von der Fa. Faulhaber (https://www.faulhaber.com/de/support/technischer-support/motoren/tutorials/schrittmotoren-tutorial-mikroschrittbetrieb/). Da wird das Ganze ausführlich beschrieben.

Dort habe ich das gefunden:


Ist die Summe aus Lastmoment plus Motorreibung und Rastmoment größer als das Inkrementalmoment pro Mikroschritt, dann müssen konsequenterweise mehrere Mikroschritte hintereinander ausgeführt werden – so lange bis das akkumulierte Inkrementalmoment größer als die o.a. Summe ist. Kurz gesagt: bei Ausführung eines Mikroschritts ist nicht sichergestellt, dass sich der Motor tatsächlich bewegt.

Manf
26.06.2020, 17:32
Das ist schon das Gleiche.
Der Rotor dreht sich mit den Mikroschritten der Ansteuerung in seiner Sollposition. Wenn er beweglich ist dann dreht er sich tatsächlich.
Wird er festgehalten dann dreht er sich nicht. Es wird dann mit den Mikroschritten ein Moment aufgebaut, (entsprechend des Richtmoments, Moment pro Winkel).
Im praktischen Fall erfolgt das Festhalten auch mit einem Bremsmoment und wenn beispielsweise das Bremsmoment genauso groß ist wie das Richtmoment dann sind die Mikroschritte nur halb so groß.


(Das gilt natürlich nur für die ersten Schritte der Abweichung von Sollposition und Istposition. Für größere Abweichungen gilt dann, dass das Moment sinusförmig ist mit einer Periodenlänge von vier ganzen Schritten. )