Schrittmotoren / Stepper

Meine 1. Versuche (Srduino One):

CNC-Shield

Einstellen der Potis: Spannung messen zwischen Poti und Masse (- Eingang von extra Strombersorgung aussen bei Shield). Ich fahre sut mit 0,58 Volt. Standard eingestellt war 1,5 V. Dadurch wurde der Treiber seher schnell sehr, sehr heiss. Einführung: http://www.zyltech.com/arduino-cnc-shield-instructions/

Quelle1)

#define EN        8  

//Direction pin
#define X_DIR     5 
#define Y_DIR     6
#define Z_DIR     7

//Step pin
#define X_STP     2
#define Y_STP     3 
#define Z_STP     4 


//DRV8825
// Das Orignalscript hat delayTime=30, das funktioniert bei mir aber nicht, wohl weil der Moter ein anderer ist. Aber offenbar aendert man damit die Geschwindigkeit.
int delayTime=300; //Delay between each pause (uS) 
int stps=6400;// Steps to move


void step(boolean dir, byte dirPin, byte stepperPin, int steps)

{

  digitalWrite(dirPin, dir);

  delay(100);

  for (int i = 0; i < steps; i++) {

    digitalWrite(stepperPin, HIGH);

    delayMicroseconds(delayTime); 

    digitalWrite(stepperPin, LOW);

    delayMicroseconds(delayTime); 

  }

}

void setup(){

  pinMode(X_DIR, OUTPUT); pinMode(X_STP, OUTPUT);

  pinMode(Y_DIR, OUTPUT); pinMode(Y_STP, OUTPUT);

  pinMode(Z_DIR, OUTPUT); pinMode(Z_STP, OUTPUT);

  pinMode(EN, OUTPUT);

  digitalWrite(EN, LOW);

}

void loop(){

  step(false, X_DIR, X_STP, stps); //X, Clockwise
  step(false, Y_DIR, Y_STP, stps); //Y, Clockwise
  step(false, Z_DIR, Z_STP, stps); //Z, Clockwise

  delay(100);

  step(true, X_DIR, X_STP, stps); //X, Counterclockwise
  step(true, Y_DIR, Y_STP, stps); //Y, Counterclockwise
  step(true, Z_DIR, Z_STP, stps); //X, Counterclockwise

  delay(100);

}