Teneis toda la razón @MaximoEsfuerzo y @Adrian_E
Al fin rebuscando por las librerías he encontrado la
AccelStepper que SI tiene la instrucción de apagado de bobinas del motor paso-paso: stepper.disableOutputs();
He escrito el siguiente codigo para probarla.
Cuando accionas el pulsador, funciona el motor, soltándolo, actua el stepper.disableOutputs()
Gracias a todos @gonpezzi , ... @Adrian_E ..@MaximoEsfuerzo por la colaboración !!!....
![]()
..
/*
*
* MOTOR P-A-P con apagado bobinados.
*
*/
//************************ ENGRAL 30/1/2024. *******************
#include <AccelStepper.h>
#define IN_1 8 // IN1 del controlador ULN2003
#define IN_2 9 // IN2 del controlador ULN2003
#define IN_3 10 // IN3 del controlador ULN2003
#define IN_4 11 // IN4 del controlador ULN2003
#define Puls 2 // Pulsador
const int VELOCIDAD = 200; // Determina la velocidad del motor
//Motor a DOBLEPASO
AccelStepper stepper = AccelStepper(AccelStepper::FULL4WIRE, IN_1, IN_3, IN_2, IN_4);
void setup()
{
Serial.begin(9600);
stepper.setMaxSpeed(500); // 1000 //Configura los máximos pasos (steps) p/seg
stepper.setAcceleration(200); //200 Configura la máxima aceleración en pasos p/seg^2
Serial.println("MOTOR P-A-P ");
}
void loop()
{
if (digitalRead (Puls) == HIGH) // Pone en marcha
{
stepper.setSpeed(VELOCIDAD);
stepper.runSpeed(); // Hace que el motor se mueva
}
else
{
stepper.stop(); //Para el motor.
stepper.disableOutputs();// Corta la alimentación de las bobinas
}
}
// ******************** FIN ***********************