Conflicto al llamar enableOutputs y disableOutputs con accelstepper

Saludos!
Estoy trabajando con un motor nema17 , un driver drv8825 y un Interruptor táctil.
El drv8825 tiene un pin de habilitar que es donde se enfoca mi problema, ya que quiero deshabilitar ese pin a la hora de terminar los pasos asignados al motor para que no se caliente y se pueda girar con los dedos; pero si coloco disableOutputs después de la tarea no se ejecutan los pasos porque el pin asignado para habilitar y deshabilitar queda en un voltaje medio, no 5 voltios, ni 0 voltios, queda entre 2 y 3 voltios, pero si lo hago con otro código basado en digitalWrite para todos los pines si funciona bien.

#include <AccelStepper.h>

AccelStepper motor1(1, 50, 48);

int pos = 2000;
int pos2 = -2000;

int contador1 = 0;

void setup() {
Serial.begin(9600);

pinMode (51, INPUT); //touch1
motor1.setEnablePin(52);
//motor1.setPinsInverted(false, false, false);
motor1.setMaxSpeed(1000);
motor1.setAcceleration(500);
}

void loop() {

int tou1 = digitalRead(51);
if (tou1 == 0) {
contador1++;
if (contador1 == 2) {
contador1 = 0;
}
while (!digitalRead(51));
}
switch (contador1) {
case 0:
if (motor1.distanceToGo() == 0)
{
motor1.enableOutputs();
motor1.moveTo(pos);
}
motor1.run();
break;
case 1:
if (motor1.distanceToGo() == 0)
{
motor1.enableOutputs();
motor1.moveTo(pos2);
}
motor1.run();
break;
}
}

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.