Hi there,
To control my stepper via pyserial, I use the following code:
#include "AccelStepper.h"
//pins
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
char serialData;
AccelStepper stepperX(1, X_STEP_PIN, X_DIR_PIN); // 1 = Driver
//variables
int speed_x = 8000;
void setup() {
//setup stepperX
stepperX.setMaxSpeed(8000);
stepperX.setSpeed(speed_x);
stepperX.setEnablePin(X_ENABLE_PIN);
stepperX.setPinsInverted(false, false, true); //invert logic of enable pin
stepperX.enableOutputs();
Serial.begin(9600);
}
void loop() {
if( Serial.available() > 0)
serialData = Serial.read();
Serial.print(serialData);
if (serialData == '0') {
stepperX.move(-2000);
stepperX.runSpeedToPosition();
stepperX.setSpeed(speed_x);
}
if (serialData == '1') {
stepperX.move(2000);
stepperX.runSpeedToPosition();
stepperX.setSpeed(speed_x);
}
if (serialData == '3') {
}
}
Now I have the following 2 problems:
- No matter what value I enter for speed_x, the stepper has the same speed.
- When serialData == '1' there isn't any motion at all.
Thank you very much in advance!