Hallo zusammen, ich bin völliger Neuling was das Thema Arduino und Programmierung angeht und bräuchte einen code/sketch für einen Schrittmotor.
Folgendes ist geplant: Es gibt zwei Taster und einen großen Schrittmotor (mit passender Weiche). Wenn ich einen der Taster drücke sollte der Motor einfach in eine laufen. Sobald ich den Taster nicht mehr drücke soll auch der Motor stoppen. Sobald ich den anderen Taster drücke soll der Motor in die andere Richtung laufen, ebenfalls nur so lange wie ich den Taster drücke.
Wozu das ganze? Ich möchte eine Maschinen eine elektrische Tischhöhenverstellung nachrüsten.
Ich habe bereits einen Code gefunden, welcher eigentlich funktionieren sollte, mit welchem der Motor aber nur zuckt, und sobald man einen Taster drückt nichts mehr passiert:
int dirArm = 3; // D3 am Arduino
int stepperArm = 2; // D2 am Arduino
void setup() {
pinMode(dirArm, OUTPUT);
pinMode(stepperArm, OUTPUT);
Serial.begin(9600);
}
void Arm(boolean dir,int steps){
digitalWrite(dirArm,dir);
delay(2000);
while ( ! analogRead(A0)) // Wenn der Taster gedrückt wird dann drehen.
for(int r=0;r<steps;r++){
digitalWrite(dirArm, HIGH); // Dreh - Richtung
digitalWrite(stepperArm, HIGH);
delayMicroseconds(6000); // Geschwindigkeit
digitalWrite(stepperArm, LOW);
delayMicroseconds(6000); // Geschwindigkeit
}
while ( ! analogRead(A1)) // Wenn der Taster gedrückt wird dann drehen.
for(int l=0;l<steps;l++){
digitalWrite(dirArm, LOW); // Dreh - Richtung
digitalWrite(stepperArm, HIGH);
delayMicroseconds(5000); // Geschwindigkeit
digitalWrite(stepperArm, LOW);
delayMicroseconds(5000); // Geschwindigkeit
}
}
void loop(){
Arm(true,1); // Dreh - Richtung - HIGH
Arm (false,1); // Dreh - Richtung - LOW
} [code]
Setze Deinen Code bitte in Codetags (</>-Button oben links im Forumseditor oder [code] davor und [/code] dahinter ohne *).
So ist er auch auf portablen Geräten lesbar. Das kannst Du auch noch nachträglich ändern.
HobbyMaschine:
Habe den Videolink im Beitrag eingefügt... Hoffe so ist es auch verständlich
Wieso Video-Link ?
Der nützt uns nichts.
Wir müssen sehen, wie du das aufgebaut hast. Nicht wie andere das machen.
Da sehen wir nicht deine Fehler.
Z.B. können wir nicht sehen, welchen Treiber du für den Stepper verwendest.
Und warum du einen analogen Pin für einen Taster verwendest.
Alles sehr seltsam.
Bevor du mit dem Schrittmotor irgend was machst, solltest du ihn erstmal überhaupt ans laufen bekommen. Und wenn dir zum Anfang ein Taster zu kompliziert ist, dann eben ohne.
( Oder den Motor erstmal weg legen und "Taster bei Arduino" lernen)
Wenn ich deinen Sketch ansehe, soll der Motor einen Schritt in die eine Richtung machen und dann sofort einen Schritt zurück.
Wenn du da was zucken siehst, ist es doch prima. ? ???
Evtl. wäre für die Aufgabe ein DC-Getriebemotor mit H-Brücke die bessere Lösung?
Stepper sind eigentlich zum Anfahren von Positionen gedacht. Hier geht es ja eher um dreht oder nicht.