Ich suche Hilfe zu einem Schrittmotor. Der Schrittmotor ist von Nanotec und die Endstufe ebenfalls. Angegeben ist das der Motor sich mit 3000U/min drehen kann. Die Endstufe hat einen Eingangspin für Takt richtung.
Frage 1: Jetzt ist uns aufgefallen das der Arduino nur eine Frequenz von 5kHz (über die Stepper bib) auf den digitalen Pins ausgeben kann ist das Richtig ?
Frage 2: wir haben schon sämtliches probiert. Was kann man noch versuchen um den Schrittmotor damit laufen zu lassen. aktuell haben wir die Schrittweite 1.8Grad im vollschritt. Das heist 200 Schritte für eine Umdrehung. 200 mal 3000 sind 600.000 und das mal 2 da die Endstufe scheinbar auf eine negative Flanke reagiert. Das sind 1.2 MHz. Ist das möglich mit dem Arduino?
Danke für die schnelle Antwort.
Ich habe von Nanotec den ST5918L4508. Die Endstufe ist SMCI47-S-2.
Einen Beispielcode haben wir noch nicht. Wir probieren es mit allenmöglichen frequenzen (Tone, Blink without Delay , stepperbibiliothek. ) ab einer gewissen Drehzahl bleibt der Motor einfach stehen und brummt.
So, ich habe es jetzt mal versucht aber wir verstehen einfach nicht was bei den AccelStepper diese 3 Pins sein sollen. Ist der erste Pin für den Takt, der 2 und der 3 stehen für ???
alleine da haben wir schon das Verständnis Problem ob es ein oder Ausgänge sind?
Also mit der Bibiliothek kommen wir aktuell nicht weiter.
Die AccelStepper library ist aktuell imho die beste Bibliothek für den Betrieb von (auch gleichzeitig mehreren) Schrittmotoren.
Ich benutze die Bibliothek seit Jahren ohne Probleme in einem industriellen Umfeld.
Vermutlich meint ihr mit den 3 Pins den Aufruf des Constructors:
Der Aufruf lautet: "AccelStepper nanotec (Function, Step, Direction);"
"nanotec" ist von mir frei gewählt worden, meistens findet man in den Beispielen "stepper"
Function ist in eurem Fall "1", da ihr einen Driver (SMCI47-S-2) einsetzt
Step und Direction sind die entsprechenden Ansteuerpins vom Arduino (frei wählbar entsprechend eurer Verdrahtung)
Folgender Beispielcode setzt voraus, dass ihr
a) den externen Treiber einsetzt
b) Step = 12
c) Direction = 10
Die "acceleration rate" so wählen, dass sie bei Motoren mit höherer Last (hohes Trägheitsmoment) niedrig genug ist, um ein Anlaufen erst zu ermöglichen. Hier muss man mit den Werten etwas "spielen" und unter Realbedingungen ggf. anpassen.
Die Abbremsrate ist identisch mit der Beschleunigungsrate und nicht separat einstellbar.
Bitte um feedback, auch (und gerade) wenn es klappt, damit andere von euren Erfahrungen profitieren können.
Der von @DrDiettrich erwähnte "enable pin" wird - je nach Anwenungsfall, entweder fest logisch verdrahtet (je nach Treibertyp logisch HIGH oder LOW), um ständig "enabled" zu sein oder kann auch im Code softwaremäßig enabled oder disabled werden, um z.B. bei längeren idle-times Strom zu sparen (vorausgesetzt, dass der Motor dann auch kein Haltemoment liefern muss).
Kann es sein das es hier 2 Threads von zwei Teilnehmern offen sind sie zusammen am gleichen Projekt arbeiten? Kann man das nicht zusammen machen oder so absprechen das nur einer ins Forum schreibt?