Forum: Mikrocontroller und Digitale Elektronik Bipolarer Schrittmotor an L293D


von das wandelnde ? (Gast)


Angehängte Dateien:

Lesenswert?

Guten Tag allerseits!
Ich habe ein Problem mit der Ansteuerung eines bipolaren Schrittmotors 
mithilfe des Motortreibers L293D. Ich habe zwei kleine bipolare 
Schrittmotoren (24 Schritte) an den Motortreiber angeschlossen. Von 
beiden Motoren ist jeweils eine Spule auf der rechten Seite und eine auf 
der linken. Der Schaltplan ist als Anhang dabei. Strom und 
Spannungsversorgung für die Motoren sind in Ordnung, da liegt auch nicht 
das Problem.
Ich möchte den Schrittmotor mit einem ATmega8 ansteuern und verwende 
dazu PB4 bis PB7. Kann mir einer sagen in welcher Reihenfolge ich die 
Portpins schalten muss, damit er sich dreht? Er soll nur 12 Schritte in 
eine Richtung machen, das wars. Die zahlreichen Links die es dazu gibt 
kenn ich in und auswendig, hab auch schon einige Kombinationen 
ausprobiert. Aber das Einzige was ich erreicht habe, ist, dass er einen 
Schritt vorwärts und dann wieder einen rückwärts macht.

von Falk B. (falk)


Lesenswert?

@ das wandelnde ? (Gast)

>eine Richtung machen, das wars. Die zahlreichen Links die es dazu gibt
>kenn ich in und auswendig, hab auch schon einige Kombinationen
>ausprobiert. Aber das Einzige was ich erreicht habe, ist, dass er einen
>Schritt vorwärts und dann wieder einen rückwärts macht.

Ist das denn sooooo schwer? Du must abwechselnd die beiden Phasen 
invertieren. Also wenn an PB4 und PB5 der eine Schrittmtor hängt musst 
du ausgeben

PB4 PB5
0   0
0   1
1   1
1   0

Immer in der Reihenfolge, mit ausreichend Pausen dazwischen (10ms oder 
mehr).
Wenn du die Folge rüchwärts ausgibst dreht der motor in die andere 
Richtung.

MFG
Falk

von das wandelnde ? (Gast)


Lesenswert?

Ne er will nicht.
Der Schrittmotor hat ja zwei Spulen. Ich nenn sie mal A und B.
Jetzt hab ich die so angeschlossen, dass mit PB4 und PB5 die Spulen A 
von beiden Motoren geschaltet werden und die Spulen B von beiden Motoren 
mit PB6 und PB7. So wie im Anhang. Ist das erstmal richtig?

Und wenn ja, wie macht man dann die Portausgabe? So wie beschrieben geht 
es nicht.

Achja. Die Spulen der Motoren kann ich nur in Reihe schließen, weil der 
L293D nicht genug Strom liefert um sie parallel anzuschließen.

von Falk B. (falk)


Lesenswert?

@ das wandelnde ? (Gast)

>von beiden Motoren geschaltet werden und die Spulen B von beiden Motoren
>mit PB6 und PB7. So wie im Anhang. Ist das erstmal richtig?

Ahhhh, jetz seh ich es erst. NEIN, das ist falsch!

>Achja. Die Spulen der Motoren kann ich nur in Reihe schließen, weil der
>L293D nicht genug Strom liefert um sie parallel anzuschließen.

Tja, dann hast du ein Problem. Denn du musst die Spulen einzeln schalten 
können, sonst geht es nicht. Einziger Ausweg, die Versorgungsspannung 
vom L292 verringen, dann wird auch der Spulenstrom kleiner. Was hast du 
denn da für riesige Motoren, wenn da bei 5V zuviel Strom fliesst? Der 
L293 kann doch glaub ich 600mA pro Ausgang.

Und für einen bipolaren Schrittmotor barauchst du alle vier Anschlüsse 
des L293, für zwei Motoren also zwei L293.

MfG
Falk

von Johannes M. (johnny-m)


Angehängte Dateien:

Lesenswert?

Lies Dir das im Anhang mal durch (zumindest erstmal die ersten 
Abschnitte, da stehen die Grundlagen, wie so ein Schrittmotor und die 
entsprechende Ansteuerung funktionieren). Das ist ein Auszug aus einer 
Laborversuchs-Anleitung in Sachen bipolarer Schrittmotor. Auch wenn 
Deine Motoren keine Hybrid-, sondern vermutlich Permanentmagnet-Motoren 
sind, trifft das Funktionsprinzip trotzdem zu. In Abbildung 1 ist die 
Treiberschaltung für eine Phase dargestellt. Jede der beiden 
Transistor-Halbbrücken (T1/T2 und T3/T4) entspricht dabei einem Viertel 
eines L293. Da der Motor zwei Phasen hat, brauchst Du also für einen 
Motor einen kompletten L293 (wie Falk schon sagte), also vier 
solcher Halbbrücken bzw. "Push-Pull-Treiberstufen".

von das wandelnde ? (Gast)


Lesenswert?

Habs grad hinbekommen. Hatte mich bei der Zuordnung der 
Mikrocontrollerausgänge zu den Eingängen des L293D versehen.

Also ich betreibe nun zwei 5V bipolare Schrittmotoren mit einem 
Nennstrom von 600mA so wie es auf meinem Schaltplan dargestellt ist. Da 
ich beide Spulen in Reihe geschaltet habe, muss ich die 
Versorgungsspannung für die Motoren nur verdoppelt und es geht. Habe 
vergessen zu sagen, dass beide Motoren im selben Moment mit selber 
Geschwindigkeit, die selbe Anzahl an Schritte laufen sollen.

Trotzdem Danke für die schnelle Hilfe.

Für alle, die genau wie ich das komplette Forum nach einer Antwort 
durchsucht haben hiernochmal die Ansteuerung für einen L293D an dem ein 
bipolarer Schrittmotor betrieben wird. (Schaltplan siehe Anfang) Wer nur 
einen Schrittmotor betrieben will, denkt sich an jeder Seite eine Spule 
weg.

Also: PB4   PB5   PB6   PB7
       0     1     0     1
           10ms warten
       1     0     0     1
           10ms warten
       1     0     1     0
           10ms warten
       0     1     1     0
           10ms warten

von Johannes M. (johnny-m)


Lesenswert?

Aaaah, Du wolltest die Phasenwicklungen von zwei Motoren in Reihe 
schalten... Das ist natürlich was anderes. Jetzt sehe ich es auch. Eher 
ungewöhnliche Vorgehensweise...

von wolfi_25 (Gast)


Lesenswert?

hallo

Ich habe jetzt mal versucht einen schrittmotor nach diesem Schema 
anzuschließen und es klappt auch ganz gut.

Leider kemme ich aber nur 25 Schritte habe  aber einen Motor mit 100 
Schritten . Nun meine Frage was mach ich den Falsch ?

MFG
Wolfi

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.