Brauche Hilfe bei meine Schrittmotoren!

Hallo Zusammen,

bin gerade am Ende mit meinen Arduino und meinen Schrittmotor.
Ich brauche eine Steuerung wenn ich auf einen Taster drücke das der Schrittmotor 3,5sec. nach rechts fahren soll und wenn ich den Zweiten Taster betätige das er 3,5sec. nach Links fahren soll.

Das ganze soll noch über ein Potientometer Geschwindigkeits regelbar sein.

Motor: Nema 14, 4 Draht
Arduino: UNO
Treiber: L298N %product-title% kaufen

Wäre extrem Dankbar, wenn mir wer so ein Sketch schreiben könnte.
Danke
Mfg

Können ja, wollen nein. Hilfe zur Selbsthilfe gerne.

Schau Dir mal die MobaTools an, da gibt es auch Beispiele.

Nema14 sagt nur was über den Befestigungsflansch ( Mechanik ) aber nichts über die elektrischen Eigenschaften. Poste bitte einen Link zu dem Motor mit entsprechenden Daten ( oder das Datenblatt zum Motor ).

Dieser Treiber ist 1. uralt und 2. mit sehr vielen Schrittmotoren nicht kompatibel ( s.o. fehlende Motordaten ).

Wenn es nur um die Zeit der Motorbewegung geht, aber nicht darum wieviele Umdrehungen der Motor macht, wäre u.U. ein DC-Motor die bessere Wahl. Du solltest mal ein wenig zu deinem Projekt schreiben.

Das mit der Zeit wollte ich eh nochmal koregieren, stat der Zeit will ich doch die Schritte eingeben.
Den Regler habe ich da ich die Massenweise Zuhause habe.
Der Regler ist mit den Schrittmotor kompatibel da die Massenweise bei uns in der Firmer verbaut wurden und ich so die habe.
Die Motoreinstellungen würde ich dann eh selbst übernehmen da kein Modell bekannt ist und ich mich da selber damit befassen muss.
Ich möchte damit ein Absaugungsklappe steuern.
Wäre eine Referenzfahrt zwegs (Stromausfall) auch möglich??
Danke
Mfg

Es besteht Hoffnung.

Morgen,
was könnte hier falsch sein funktioniert Nicht !!
Und brauche bitte noch Hilfe beim Einprogrammieren das wenn der Taster gedrückt wird gewisse Schritte gefahren wird, und das geschwindigkeitsregeln mit einem Poti ??
Danke
Mfg

//Stepper-Motor-Steuerung

int dirArm = 1; // D2 am Arduino
int stepperArm = 2; // D3 am Arduino
int dirdisk = 3; // D4 am Arduino
int stepperdisk = 4; // D5 am Arduino

void setup() {
pinMode(dirArm, OUTPUT);
pinMode(stepperArm, OUTPUT);
pinMode(dirdisk, OUTPUT);
pinMode(stepperArm, OUTPUT);
Serial.begin(9600);
}

void Arm(boolean dir,int steps){
stepperdisk
digitalWrite(dirArm,dir);
delay(50);

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(5000); // Geschwindigkeit
digitalWrite(stepperArm, LOW);
delayMicroseconds(5000); // Geschwindigkeit

 digitalWrite(dirdisk, LOW);  // Dreh - Richtung

digitalWrite(stepperdisk, HIGH);
delayMicroseconds(5000); // Geschwindigkeit
digitalWrite(stepperdisk, LOW);
delayMicroseconds(5000); // 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

digitalWrite(dirdisk, HIGH);  // Dreh - Richtung

digitalWrite(stepperdisk, HIGH);
delayMicroseconds(5000); // Geschwindigkeit
digitalWrite(stepperdisk, LOW);
delayMicroseconds(5000); // Geschwindigkeit

}
}
void loop(){

Arm(true,1); // Dreh - Richtung - HIGH
Arm (false,1); // Dreh - Richtung - LOW

}

Setze deinen Code bitte in Codetags, dann ist der besser zu lesen. So besteht auch immer die Gefahr, dass die Textformatierung den Code verfälscht.

  1. Einrückungen korrekt ausrichten ( Ctrl-T in der IDE )
  2. mit rechter Maustaste in den Codebereich klicken, 'Für Forum kopieren' auswählen
  3. Hier im Post einfügen.

Was mir auffällt:

int dirArm = 1; // D2 am Arduino
int stepperArm = 2; // D3 am Arduino
int dirdisk = 3; // D4 am Arduino
int stepperdisk = 4; // D5 am Arduino

Das passt nicht zum Kommentar, und Pin1 solltest Du auf keinen Fall verwenden

Du hast geschrieben, dass Du einen L298 verwendest. Den kann man aber nicht mit 'Step' und 'Dir' ansteuern. Zeig mal ein Schaltbild, wie das alles verdrahtet ist.

Warum verwendest Du keine Library für die Stepperansteuerung? Das macht es wesentlich einfacher.

Ah sry, werde ich machen.

Oke passt, wie gesagt ich bin komplett neu auf den Gebiet.
Oke könntest du mir das zeigen wie ich den Ansteuere ??
Bei den Anschluss ist alles gans einfach Verkabelt Arduino mit dem Treiber auf In1-In4 und die Taster auf Analog in A1-A0.

Ich weis ja nicht einmal was eine Library ist :grimacing:
Danke
Mfg

Du solltest mal ein Schaltbild posten, aus dem genau hervorgeht, was wohin verbunden ist. Ist das jetzt nur 1 Schrittmotor? Deine Namen im Sketch deuten eher auf 2 Motore hin.
Variablennamen sind nicht einfach Schall und Rauch. Namen sollten so gewählt werden, dass die Funktion daraus hervorgeht. Man kann mit Variablennamen sowohl viel Klarheit als auch totale Verwirrung schaffen.

Nein es ist nur 1 Motor.
Hier das Schaltbild die Ausgänge von UNO habe ich jetzt nochmal geändert.

Und wie sieht dein Sketch jetzt aus? Hast Du den selbst geschrieben oder irgenwoher kopiert? Falls kopiert, gib auch an, woher der ist.
Und poste ihn in Codetags wie oben beschrieben!

P.S. und wenn Du nicht weißt, was Arduino Libraries sind, solltest Du vielleicht erstmal ein paar Grundlagen lernen :wink:

P.P.S. die MobaTools könntest Du einfach über den Bibliotheksmanager installieren (Strg-Umschalt-I )

Habe mich ein wenig eingelesen und habe es dann einfach einmal probiert.
Nur funktioniert da nicht recht viel.

Bin dran :wink: