Forum: Mikrocontroller und Digitale Elektronik Schrittmotor für einen Schritt


von Stepper (Gast)


Lesenswert?

Hallo,

ich habe mal eine Frage bzgl. der Ansteuerung eines Schrittmotors.

Ich habe den Vollschritt-Betrieb soweit ausprogrammiert, also so, dass 
die beiden Spulenpaare immer die halbe Zeit positiv und die andere Zeit 
negativ bestromt werden und dabei zueinander um 90° phasenversetzt 
liegen.

Wenn der Motor mal in Betrieb ist, läuft er sehr kraftvoll und verliert 
nach Augenmaß beurteilt auch keine Schritte.

Probleme treten aber auf, wenn ich den Motor genau einen Schritt machen 
lassen möchte... In dem Fall läuft er gelegentlich garnicht an, bzw. 
verliert sehr gerne Schritte...
Es kann ja wohl nicht die Lösung sein, immer mehr als einen Schritt 
machen zu müssen...

Hier meine Ansteuerung:
Es handelt sich um eine einfache H-Brücke (BA6845FS)
der Motor ist ein 5V Typ und ich betreibe ihn an einem 12V Netzteil. 
Damit liege ich natürlich bereits an den Grenzen des Brückentreibers, 
aber bisher hat dieser sich noch nicht beschwert...
Zeiten pro Bestromung: 25ms, also für vier Schritte 100ms.

mfg

von Karl H. (kbuchegg)


Lesenswert?

Stepper schrieb:

> Probleme treten aber auf, wenn ich den Motor genau einen Schritt machen
> lassen möchte... In dem Fall läuft er gelegentlich garnicht an, bzw.
> verliert sehr gerne Schritte...

Dann zeig mal dein Programm

von chris (Gast)


Lesenswert?

Dann fang doch mal mit 200ms an und gehe dann je Schritt um z.B. je 5ms
zurück.

von Udo S. (urschmitt)


Lesenswert?

Bist du sicher, daß du bei "Einem Schritt" weisst wie der Motor vorher 
steht?
Das heisst du weisst mit welcher Polarität du welche Spule bestromen 
musst?

von chris (Gast)


Lesenswert?

12V/5=2.4 -- Also alle 100ms nur 24ms Strom geben, oder bei 10ms nur 
2.4ms
Strom geben. 4 Schritte dauern dann 400 bzw 40ms, nicht aufgerundete 100 
oder 10 ms. Für den ersten Schritt solltes du aber die doppelte Zeit 
nehmen.

von chris (Gast)


Lesenswert?

24ms ist natürlich quatch 40ms bzw 4ms sollte es sein.

von Stepper (Gast)


Lesenswert?

Ich weiss, wo die Spule steht, weil es nur ein Testaufbau ist. Dort wo 
ich aufhöre, mache ich nachher wieder weiter, ergo liegt der Rotor in 
Bezug zum sich aufbauenden Drehfeld eigentlich primär richtig.

Die Bestromungszeiten sind jeweils 25ms.

Spule 1 hängt zwischen Output 11 und Output 12
Spule 2 hängt zwischen Output 21 und Output 22

25ms wie folgt:
Out11 Low Out12 High
Out21 Low Out22 High

danach 25ms:
Out11 High Out12 Low
Out21 Low Out22 High

danach 25ms:
Out11 High Out12 Low
Out21 High Out22 Low

danach 25ms:
Out11 Low Out12 High
Out21 High Out22 Low

Es handelt sich um einen Reichelt Schrittmotor, 5V, 200 Schritte (1,8°)
Die Brücke kann ich Wahlweise an 12V oder eben an 5V hängen. Das macht 
irgendwie nicht die großen Unterschiede.


Achja und was die Zeiten angeht, bis ca. 8ms kann man runtergehen, 
danach wird das Verhalten wirklich grottenschlecht. Also denke ich mit 
25ms befinde ich mich im grünen Bereich...

von Mike (Gast)


Lesenswert?

Stepper schrieb:
> Achja und was die Zeiten angeht, bis ca. 8ms kann man runtergehen,
> danach wird das Verhalten wirklich grottenschlecht.

12V für einen Motor mit 5V Nennspannung ist nun auch wirklich nicht die 
Welt. Hast du dir mal mit einem Oszi den Phasenstrom, z.B. über einen 
Shunt, angeguckt?

von 嘟囔 (Gast)


Lesenswert?

Stepper schrieb:
> Es handelt sich um einen Reichelt Schrittmotor, 5V, 200 Schritte (1,8°)

Reichelt hat auch nur den einen - was soll diese Geheimniskrämerei

von Krampmeier (Gast)


Lesenswert?

Vielleicht bekommt der Rotor ja bei dem "letzten" Schritt so viel 
Schwung, dass er sich etwas zu weit dreht? Das könnte vielleicht 
passieren, wenn Deine Pulsbreite der Ansteuerung genau passt, um den 
Rotor maximal zu beschleunigen, aber nicht auf der neuen Position 
festzuhalten...

von Werner M. (Gast)


Lesenswert?

Stepper schrieb:
> danach 25ms:
> Out11 Low Out12 High
> Out21 High Out22 Low

Heißt das etwa, dass du den Strom für den lezten Schritt nur 25ms 
anliegen hast und dann ausschaltest? Ein Schrittmotor braucht immer 
Strom, damit er seine Position hält.

von Krampmeier (Gast)


Lesenswert?

Tja, damit will der TO wohl verhindern, dass ihm der Motor im Stillstand 
durchbrennt... Sinnvoller wäre natürlich, im Fahrbetrieb pemanent zu 
bestromen und im Stillstand per PWM den Haltestrom zu reduzieren.
Im Fahrbetrieb wird bei höherer Geschwindigkeit der Maximalstrom des 
Motors sowieso (wegen der Induktivität) kaum erreicht werden, auch nicht 
mit 12 V.

von J. S. (engineer) Benutzerseite


Lesenswert?

Darst Du zurückfahren? Am Einfachsten ist es, wenn man das Drehfeld 
anlegt, kurz 15-20 Grad zurückfährt und dann den Motor vorbeschleunigt 
über den Berg fährt. Beim Überschreiten des Kipppunktes musst Du bereits 
beginnen, das Drehfeld abzubremsen, um ihn "weich ins Tal gleiten" zu 
lassen. Wenn Du diese Methodik sauber machst, bekommst Du eine 
Rastmomentkompensation, dass heisst der Motor wird "weich" und lässt 
sich mit minimalem mechanischen Drehmoment fahren. Man kann das soweit 
treiben, dass der Motor scheinbar gar keine Raststellungen mehr hast und 
ausläuft, wie ein Lager in einer Buchse.

Dann kannst Du gegen den Motor dagegenpusten und er dreht sich. So 
richtig genau geht es aber nur, wenn Du die Wellenposition des Motors 
exakt kennst. Diese ist im Einzelfall aus der Stromsituation 
rückzugewinnen:
http://www.freepatentsonline.com/EP2068436.html

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.