Es gibt doch eine Library "Stepper". Hast du die schon mal probiert?
Ich habe zwar auch einen UNO, programmiere aber in C.
Arduino Uno R3 USB-Powered
L293D auf Breadboard
Pinbelegung nach:
Bild hier
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:
Hat wer eine Idee was hier nicht stimmt? Ich habe keine Ahnung mehr was hier noch falsch sein könnte.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); }
Grüße
Andi
Es gibt doch eine Library "Stepper". Hast du die schon mal probiert?
Ich habe zwar auch einen UNO, programmiere aber in C.
Danke, daran hatte ich noch garnicht gedacht. Werde es mal ausprobieren.
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:
![]()
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() ?
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
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
//
Das Arduino-C kennt setup() das einmalig beim starten abgerufen wird und danach wird loop() endlos durchgelaufen.Wo wird eigentlich loop() aufgerufen? Braucht's in µC-C keine main() ?
Geändert von Mechatronk (26.01.2013 um 19:52 Uhr)
Hallo,
du könntest das Delay größer machen - vielleicht kommt der Schrittmotor nicht so schnell hinterher.
Grüße, Bernhard
Probiert, bringt es nicht. Mit einer L287/8 Kombi läuft er aber anscheinend. 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 TreibersKann es sein das der 293er zu wenig strom raushaut?![]()
Lesezeichen