/*
Forum: https://forum.arduino.cc/t/mirroring-x-axis-without-grbl/1342204
Wokwi: https://wokwi.com/projects/419975573394419713
*/
#include <AccelStepper.h>
// Voor de Arduino Uno + CNC shield V3
#define MOTOR_X_ENABLE_PIN 8
#define MOTOR_X_STEP_PIN 2
#define MOTOR_X_DIR_PIN 5
#define MOTOR_A_ENABLE_PIN 8
#define MOTOR_A_STEP_PIN 12
#define MOTOR_A_DIR_PIN 13
AccelStepper motorX(1, MOTOR_X_STEP_PIN, MOTOR_X_DIR_PIN);
AccelStepper motorA(1, MOTOR_A_STEP_PIN, MOTOR_A_DIR_PIN);
void setup()
{
pinMode(MOTOR_X_ENABLE_PIN, OUTPUT);
pinMode(MOTOR_A_ENABLE_PIN, OUTPUT);
motorX.setEnablePin(MOTOR_X_ENABLE_PIN);
motorX.setPinsInverted(false, false, true);
motorX.setAcceleration(500);
motorX.setMaxSpeed(2000);
motorX.setSpeed(1000);
motorX.enableOutputs();
// Wrong: motorA.setEnablePin(MOTOR_Z_ENABLE_PIN);
// Correct:
motorA.setEnablePin(MOTOR_A_ENABLE_PIN);
motorA.setPinsInverted(false, false, true);
motorA.setAcceleration(500);
motorA.setMaxSpeed(2000);
motorA.setSpeed(1000);
motorA.enableOutputs();
}
void loop()
{
motorX.move(3000);
motorX.run();
motorA.move(3000);
motorA.run();
}
Motor A
Motor X
A Driver
X Driver