mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bipolarer Schrittmotor an L293D


Autor: das wandelnde ? (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: das wandelnde ? (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johannes M. (johnny-m)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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".

Autor: das wandelnde ? (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: wolfi_25 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.