Schrittmotor mit Richtungstastern ansteuern

Hallo zusammen!

Ich möchte einen Schrittmotor mit zwei Tasten ansteuern. Dazu möchte ich die AccelStepper-Library nutzen.

Habe es aktuell mit dem .run() -Befehl umgesetzt - funktioniert soweit auch gut. Jedoch nur in eine Richtung.

Wie kann ich die Drehrichtung ändern?

Gruß Maeckes

So so.... Kann ich ja kaum glauben...

Denn run() kümmert sich nicht um Richtungen....

Versuchs doch mal mit move() oder moveTo()

Auflösung:

Es funktioniert! Muss so aussehen:

stepper.setSpeed(500); stepper.runSpeed();

Andere Drehrichtung:

stepper.setSpeed(-500); stepper.runSpeed();

Das in einer if-Schleife ("Wenn Taster gedrückt,...") und fertig

setSpeed() setzt sowohl Geschwindigkeit (steps/sec) als auch die Richtung (+= im Uhrzeigersinn oder -= gegen den Uhrzeigersinn); gleiches gilt für move() und moveTo(); diese Befehle setzten den DIR Pin beim Einsatz von Schrittmotortreibern, die nur DIR und STEP brauchen, entweder HIGH oder LOW, um die Drehrichtung vorzugeben.

runSpeed() und run() senden dann die Pulse auf dem STEP-Pin zum Treiber, um den Motor zum Drehen zu bringen. Das kann dann mit konstanter Geschwindigkeit oder mit Beschleunigungsparametern erfolgen, je nachdem, welchen Befehl man einsetzt.

maeckes: Das in einer if-Schleife ("Wenn Taster gedrückt,...") und fertig

Siehe dazu: http://www.if-schleife.de/

rpt007:
setSpeed() setzt sowohl Geschwindigkeit (steps/sec) als auch die Richtung (+= im Uhrzeigersinn oder -= gegen den Uhrzeigersinn);

Die Drehrichtung hängt auch vom Anschluß des Motors am Treiber ab. Sind 2 Anschlüsse vertausch läuft der Motor in die andere Richtung.

Grüße Uwe

Die Drehrichtung hängt auch vom Anschlu? des Motors am Treiber ab. Sind 2 Anschlüsse vertausch läuft der Motor in die andere Richtung.

Grundsätzlich korrekt - oder auch nicht korrekt -> es gilt, was der Motorhersteller definiert als A1 /A2 etc. Wenn man sich exakt an die Farbenspiele der Hersteller (wenn vorhanden) hält, dann kann man davon ausgehen, dass sich der Motor im Uhrzeigersinn dreht.

Wenn nicht, dann eben entweder die Vorzeichen in den speed-Befehlen ändern oder - was ich bevorzuge, um quasi eine Basis-Ausgangslage zu schaffen, EINE der beiden Spulen-Anschlüsse vertauschen, dann kehrt sich die Richtung bei gleichem Sketch um.