Es ist kein Treiber notwendig, die Schrittimpulse können direkt aus einem digitalen Ausgang kommen.
Hi,
ich nenne 2 Schrittmotoren und 2 passende Treiber mein eigen (Daten siehe unten).
Außerdem verwende ich als Microcontroller einen BeagleBoard BeagleBone Black Mini-Pc mit Linux.
Die Motortreiber habe ich nach Schaltplan mit dem Treiber verbunden. Außerdem bekommt der Treiber 5V bzw. 12 V für die Motoren.
Dass alles richtig angeschlossen ist, sollte sich daraus ergeben, dass der Motor im jetzigen Zustand ca. 1.8 A zieht und auch hält (richtig konfiguiert sollte er also eigentlich sein).
Jetzt meine Frage:
An welchen Eingang meines Beagleboards verbinde ich mit dem Step-Kontakt am Stepper?
Kann ich hierzu einfach einen digital/analog Input wählen oder muss das ein PWM tauglicher sein?
Und wie sende ich Schrittimpulse an den Controller. Ist dazu ein spezieller Treiber nötig, oder kann ich über Linux z.B. mit einem einfachen Bash-Skript die Ausgänge ansteuern?
Das Prinzip ist mir noch nicht ganz klar, obwohl ich mich schon den ganzen Tag weiter in das Prinzip eingelesen habe - leider ist so gut wie alles auf englisch.
#################################
Schrittmotor:
Technische Daten
Haltemoment : 1,0 Nm bipolar - 4 Anschlusskabel
Phasen : 2
Phasenstrom : 2,0 A / 3,6 V
Schrittwinkel : 1,8°
Maße:B=56mm, H=56mm, L=56mm,
Welle d=6,35 /20mm
Gewicht 0,7 kg
A4988 Pololu Black Edition
http://www.pololu.com/file/0J450/a49...translator.pdf
Beagleboard BeagleBone Black:
http://www.produktinfo.conrad.com/da...bone_Black.pdf
Es ist kein Treiber notwendig, die Schrittimpulse können direkt aus einem digitalen Ausgang kommen.
Danke für deine Antwort.
Das hört sich gut an - nur habe ich momentan noch kein Vorstellung wie man so etwas realisiert.
Theoretisch sollte ein Bash Skript ja auch ersmal funktionieren, da man die Ausgänge über Linux einfach ansteuern kann -
mit C++ hätte ich aber auch kein Problem.
Gibt es irgendwo ein Beispiel (einen Programmcode in irgendeiner Sprache), wie man diese Impulse programmiertechnisch an einen digitalen Ausgang zum Step-Pin des Motorrtreibers senden kann?
Da kann ich dir leider nicht helfen, bin nur bei den 8bit AVR Zuhause.
Aber an sich brauchst du ja nur den Ausgang zu toggeln.
Schade, vielleicht meldet sich ja noch jemand...
Falls es jemanden interessiert, ich habe jetzt das C++ Programm von Derek Molloy verwendet (bezieht sich eigentlich auf den EasyDriver Motortreiber aber das sollte ja nichts machen...) ich hab das Programm auch für 16-tel Schritte angepasst.
http://www.youtube.com/watch?v=gqrjtB2cmu8
Es ist wirklich so, dass dort einfach nur in einer Schleife einzelne Step-Signale gesendet werden und das je nachdem, wie weit sich der Motor drehen soll....
Aber jetzt hat sich ein neues Problem ergeben:
Leider erzielt das bei meinem Stepper kein schönes Ergebnis, er dreht sich zwar bei den einzelnen großen Schritten ganz leicht, aber es ist eher ein Zucken... Hatte jemand dieses Problem schon?
Kann es daran liegen, dass er mehr als 12 V braucht? Es ist ja leider ein ziemlich starker Motor (siehe oben)! Genug Ampere sollte er ziehen...
Oder kann es sein, dass die Spulen falsch angeschlossen worden sind?
Ich denke nicht, dass die Spannung das Problem ist, das macht sich erst bei höhren Drehzahlen bemerkbar.
Überprüfe mal ob die Spulen korrekt angeschlossen sind. Zwischen OUT1A und OUT1B sowie zwischen OUT2A und OUT2B solltest Du den Spulenwiderstand (= Fast Kurzschluss) messen. Beide Spulen dürfen untereinander keine Verbinung haben.
Kannst Du die Ströme durch beiden Spulen anschauen? Die sollten sinusförmig sein (so wie auf dem Datenblatt dargestellt). Hilfsweise kannst Du ja die Spannung an den Sense Eingängen anschauen.
Ich würde mal vermuten, dass die Referenzspannung (einstellbar über das Poti auf dem Pololu) viel zu niedrig eingestellt ist und damit der Motorstrom entsprechend klein ausfällt. Das damit erzeugte Moment reicht dann u.U. nicht, um das Rastmoment des Motors plus der externen Last zu überwinden.
Mit freundlichen Grüßen
Thorsten Ostermann
Hallo,
hast du mal mit der Geschwindigkeit, also dem delay zwischen den Schritten herum gespielt?
Ist dieser zu niedrig gewählt kann es da auch dazu kommen, dass nur ein "zucken" entsteht.
Lesezeichen