Pages: [1]   Go Down
Author Topic: Stepper mit processing ansteuern  (Read 958 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo!

Ich habe ein Problem mit dem Ansteuern eines Steppers von Processing aus. Ich sitze bereits ewig dran und finde den Fehler einfach nicht. Jetzt hoffe ich, dass mir hier jemand weiterhelfen kann.

Ich nutze:
Arduino uno, Pololu stepper driver und einen 4V, 1,2A Pololu-Schrittmotor

Wenn ich jetzt folgenden Code Auf den uno lade läuft alles wie es soll:
Code:
void setup() {
// setzen der Digitalpins 1 und 2 als Ausgang.
pinMode(0, OUTPUT);    // Standby (High = Motor an)
pinMode(1, OUTPUT);    // Drehrichtung (High = Drehrichtung rechts)
pinMode(2, OUTPUT);    // Step
digitalWrite(0, HIGH);
}


void loop() {
  
digitalWrite(1, HIGH);  // Drehrichtung links

digitalWrite(2, HIGH); // +1 Step
delay(1); // warte eine tausenstel Sekunde
digitalWrite(2, LOW); // +1 Step
delay(1); // warte eine tausenstel Sekunde

}

Mein Problem tritt erst auf wenn ich genau das Selbe von Processing aus versuche. Dazu habe ich "Standard-Firmata" auf den Chip geladen und folgendes in Processing geschrieben:

Code:
import processing.serial.*;
import cc.arduino.*;

Arduino arduino;
int step = 2;
int direction= 1;
int standby= 0;

void setup()
{
//println(Arduino.list());
arduino = new Arduino(this, Arduino.list()[0], 57600);
arduino.pinMode(step, Arduino.OUTPUT);
arduino.pinMode(direction, Arduino.OUTPUT);
arduino.pinMode(standby, Arduino.OUTPUT);
arduino.digitalWrite(standby, Arduino.HIGH);
}

void draw()
{
arduino.digitalWrite(direction, Arduino.LOW);
arduino.digitalWrite(step, Arduino.HIGH);
delay(100);
arduino.digitalWrite(step, Arduino.LOW);
delay(100);
}

Was jetzt passiert verstehe ich einfach nicht. Der Stepper bewegt sich immer abwechselnd einen schritt vor und dann wieder einen zurück.
Ich denke mal, dass da ein ganz simpler Denkfehler hinter steckt.
Kann mir jemand helfen?

Vielen Dank schoneinmal im Voraus!
« Last Edit: February 19, 2012, 01:44:44 pm by till_ » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 249
Posts: 21181
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Du benutzt die Pins für die serielle Schnittstelle auch für die Ansteuerung des Motortreibers. Das kann so nicht funktionieren. Die PINs des Arduino 0 und 1 darfst Du nicht verwenden; verwende andere PINs.
Grüße Uwe
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Klasse! So einfach kanns sein. Vielen Dank! Da hätte ich mir noch nen Wolf gesucht. Schon funktionierts smiley
Logged

Pages: [1]   Go Up
Jump to: