Fix steppers connection. #13
This commit is contained in:
+5
-3
@@ -15,9 +15,11 @@
|
||||
#define M2_IN4 10
|
||||
|
||||
// ─── Stepper constants ────────────────────────────────────────────
|
||||
#define STEPS_PER_REV 2048
|
||||
#define DEFAULT_SPEED 600.0f
|
||||
#define DEFAULT_ACCEL 100.0f
|
||||
#define STEPS_PER_REV 4096
|
||||
#define MAX_SPEED 1200.0f
|
||||
#define MAX_ACCEL 500.0f
|
||||
#define DEFAULT_SPEED 800.0f
|
||||
#define DEFAULT_ACCEL 400.0f
|
||||
#define IDLE_TIMEOUT_MS (30 * 60 * 1000)
|
||||
#define NOTIFY_INTERVAL_MS 200
|
||||
|
||||
|
||||
+20
-20
@@ -2,8 +2,8 @@
|
||||
#include "Config.h"
|
||||
|
||||
MotorController::MotorController()
|
||||
: stepper1(AccelStepper::FULL4WIRE, M1_IN1, M1_IN2, M1_IN3, M1_IN4),
|
||||
stepper2(AccelStepper::FULL4WIRE, M2_IN1, M2_IN2, M2_IN3, M2_IN4),
|
||||
: stepper1(AccelStepper::HALF4WIRE, M1_IN1, M1_IN3, M1_IN2, M1_IN4),
|
||||
stepper2(AccelStepper::HALF4WIRE, M2_IN1, M2_IN3, M2_IN2, M2_IN4),
|
||||
currentMaxSpeed(DEFAULT_SPEED),
|
||||
currentAccel(DEFAULT_ACCEL),
|
||||
lastMotorActive(0),
|
||||
@@ -95,35 +95,35 @@ void MotorController::setAcceleration(float acc) {
|
||||
|
||||
void MotorController::homeAll() {
|
||||
Serial.println("[SYS] Homing all: Phase 1 (Stall OUTWARD)");
|
||||
stepper1.setMaxSpeed(1500);
|
||||
stepper2.setMaxSpeed(1500);
|
||||
stepper1.setAcceleration(1500);
|
||||
stepper2.setAcceleration(1500);
|
||||
stepper1.move(-2000);
|
||||
stepper2.move(2000);
|
||||
stepper1.setMaxSpeed(MAX_SPEED);
|
||||
stepper2.setMaxSpeed(MAX_SPEED);
|
||||
stepper1.setAcceleration(MAX_ACCEL);
|
||||
stepper2.setAcceleration(MAX_ACCEL);
|
||||
stepper1.move(-4000);
|
||||
stepper2.move(4000);
|
||||
homingState = HOME_ALL_PHASE1;
|
||||
}
|
||||
|
||||
void MotorController::home1() {
|
||||
Serial.println("[S1] Homing Motor 1: Phase 1 (Stall OUTWARD)");
|
||||
stepper1.setMaxSpeed(1500);
|
||||
stepper1.setAcceleration(1500);
|
||||
stepper1.move(-2000);
|
||||
stepper1.setMaxSpeed(MAX_SPEED);
|
||||
stepper1.setAcceleration(MAX_ACCEL);
|
||||
stepper1.move(-4000);
|
||||
homingState = HOME_1_PHASE1;
|
||||
}
|
||||
|
||||
void MotorController::home2() {
|
||||
Serial.println("[S2] Homing Motor 2: Phase 1 (Stall OUTWARD)");
|
||||
stepper2.setMaxSpeed(1500);
|
||||
stepper2.setAcceleration(1500);
|
||||
stepper2.move(2000);
|
||||
stepper2.setMaxSpeed(MAX_SPEED);
|
||||
stepper2.setAcceleration(MAX_ACCEL);
|
||||
stepper2.move(4000);
|
||||
homingState = HOME_2_PHASE1;
|
||||
}
|
||||
|
||||
void MotorController::zeroAll() {
|
||||
stepper1.setCurrentPosition(1024);
|
||||
stepper1.setCurrentPosition(2048);
|
||||
stepper2.setCurrentPosition(0);
|
||||
Serial.println("[SYS] Position blindly reset to home (1024, 0).");
|
||||
Serial.println("[SYS] Position blindly reset to home (2048, 0).");
|
||||
}
|
||||
|
||||
void MotorController::disableMotors() {
|
||||
@@ -136,9 +136,9 @@ void MotorController::disableMotors() {
|
||||
void MotorController::processHoming() {
|
||||
if (homingState == HOME_ALL_PHASE1) {
|
||||
if (stepper1.distanceToGo() == 0 && stepper2.distanceToGo() == 0) {
|
||||
stepper1.setCurrentPosition(1024);
|
||||
stepper1.setCurrentPosition(2048);
|
||||
stepper2.setCurrentPosition(0);
|
||||
stepper1.moveTo(1024);
|
||||
stepper1.moveTo(2048);
|
||||
stepper2.moveTo(0);
|
||||
homingState = HOME_ALL_PHASE2;
|
||||
Serial.println("[SYS] Homing all: Phase 2 (Hold Outward Home)");
|
||||
@@ -154,8 +154,8 @@ void MotorController::processHoming() {
|
||||
}
|
||||
} else if (homingState == HOME_1_PHASE1) {
|
||||
if (stepper1.distanceToGo() == 0) {
|
||||
stepper1.setCurrentPosition(1024);
|
||||
stepper1.moveTo(1024);
|
||||
stepper1.setCurrentPosition(2048);
|
||||
stepper1.moveTo(2048);
|
||||
homingState = HOME_1_PHASE2;
|
||||
}
|
||||
} else if (homingState == HOME_1_PHASE2) {
|
||||
|
||||
Reference in New Issue
Block a user