PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Arduino -> L293D -> Schrittmotore



Mechatronk
25.01.2013, 00:44
Arduino Uno R3 USB-Powered
L293D auf Breadboard
Pinbelegung nach:
http://www.rn-wissen.de/images/c/c8/Schrittmotorprinzip2.gif
Spannung (12V/5V) vom seperatem PC-Netzeil

Motor Zuckelt nur, hin und wieder ein paar schritte die Richtig aussehen. Wird nur eine Spule Bestromt springt er brav um ein paar Grad hin und her.
Alles an Phasen gedreht und getauscht was geht, alle Brücken 4-Fach überprüft.

Folgender Code:


int m11 = 8;
int m12 = 9;
int m21 = 10;
int m22 = 11;


void setup() {

pinMode(m11, OUTPUT);
pinMode(m12, OUTPUT);
pinMode(m21, OUTPUT);
pinMode(m22, OUTPUT);


}

void loop() {
digitalWrite(m21, LOW);
digitalWrite(m22, HIGH);
delay(50);

digitalWrite(m11, LOW);
digitalWrite(m12, HIGH);
delay(50);


digitalWrite(m22, LOW);
digitalWrite(m21, HIGH);
delay(50);

digitalWrite(m12, LOW);
digitalWrite(m11, HIGH);
delay(50);

}

Hat wer eine Idee was hier nicht stimmt? Ich habe keine Ahnung mehr was hier noch falsch sein könnte.

Grüße

Andi

Hubert.G
25.01.2013, 10:23
Es gibt doch eine Library "Stepper". Hast du die schon mal probiert?
Ich habe zwar auch einen UNO, programmiere aber in C.

Mechatronk
25.01.2013, 13:08
Danke, daran hatte ich noch garnicht gedacht. Werde es mal ausprobieren.

Mechatronk
25.01.2013, 19:17
Problem besteht immer noch, auch mit Beispiel-code das selbe problem. Der Motor schafft hin und wieder ein paar schritte, mit glück dreht er sich auch mal ganz. Nicht reproduzierbar, sobald man den ardunio neu startet kann es auch wieder sinnfreies gezuckel sein.

Motorspannung sind 12V vom PC-Netzteil
"Logikspannung" 5V vom PC-Netzteil
Ground ist eben Ground.
Schrittmotor ist dieser hier:
24348

RoboHolIC
25.01.2013, 22:34
Sind Wackelkontakte auf den Breadboard auszuschließen? Es klingt, als ob eine Phase Aussetzer hat, egal, ob Controller- oder Motor-seitig.

Gib doch jede Bewegungsphase mal statisch aus ( --> vier Tests) und kontrolliere physisch/messtechnisch, ob die Motorbestromung so ist, wie erwartet.
Wenn du ein Oszilloskop benutzen kannst, geht's natürlich noch einfacher. Dann ist eine dynamische Darstellung noch aussagekräftiger.

Wo wird eigentlich loop() aufgerufen? Braucht's in µC-C keine main() ?

simi7
26.01.2013, 11:13
Hallo,
wie hast du denn den Motor angeschlossen?
Mindestens 2 Anschlüsse sind bei dir unbenutzt.
Lies mal hier: http://www.schrittmotor-blog.de/?p=12
Gruß
Bernd

Mechatronk
26.01.2013, 19:46
Werde das mit den LEDs mal tun, ist eine gute idee.

Die schrittmotoren habe ich so angeschlossen das die gesamte Halbbrücke genutzt wird, also Bipolar. Da ich ein paar 293Der übrig habe hab ich es mal mit mehr saft versucht, auch wenn man so viel Spannung dran gibt das der L293D nach 20 Sekunden platzt wird es nicht besser....

Grüße

Andi

//


Wo wird eigentlich loop() aufgerufen? Braucht's in µC-C keine main() ?

Das Arduino-C kennt setup() das einmalig beim starten abgerufen wird und danach wird loop() endlos durchgelaufen.

BMS
27.01.2013, 15:08
Hallo,
du könntest das Delay größer machen - vielleicht kommt der Schrittmotor nicht so schnell hinterher.
Grüße, Bernhard

Mechatronk
27.01.2013, 19:14
Probiert, bringt es nicht. Mit einer L287/8 Kombi läuft er aber anscheinend. Kann es sein das der 293er zu wenig strom raushaut?

BMS
27.01.2013, 20:00
Kann es sein das der 293er zu wenig strom raushaut?
Der Schrittmotor braucht laut deinem Datenblatt 800mA pro Phase, der L293D kann aber nur 600mA pro Brücke (1,2A peak) - liegt also schon über dem Nennstrom des Treibers ;)

Mechatronk
27.01.2013, 21:06
Sollte er sich nicht (ohne jegliche last) Trotzdem wenigstens drehen?

Chaos_Lord
30.01.2013, 22:56
Hatte ein ähnliches Problem. Der Motor brauch doch laut Datenbaltt nur 5V. gib ihm auch mal nur diese Spannung. Warum auch immer hat das bei mir dann funktioniert. Da wuste ich wenigstens, das der Motor und der IC in ordnung isnd (zumindest lief es mit der stepper lib). Warum das mit der höheren nicht geht habe ich nie rausgefunden, bin aber auch absoluter Neuling, daher wirds vermutlich nen Anfängerfheler sein :(

Steve