Ya hace tiempo subí un vídeo en Youtube donde hacia una
prueba de concepto. En la que manejaba el
motor de un disco duro directamente con una placa Arduino. En este caso el motor del disco duro era un
motor paso a paso bipolar de tres hilos.
Del cual me han solicitado varias veces más información sobre él.
Como se ve en la imagen siguiente, el montaje es muy simple pues es conectar directamente los 3 pines del motor a las tres salidas de la placa Arduino, tal como se ve en la imagen.
Placa Arduino manejando directamente el motor de un disco duro |
Y a continuación el código del programa que está ejecutando
la placa Arduino.
const int delayInicial = 300;
const int delayFinal = 25;
const int incrementoDelay = 5;
int pin0 = 26;
int pin1 = 24;
int pin2 = 22;
void setup(){
pinMode(pin0,
OUTPUT);
pinMode(pin1,
OUTPUT);
pinMode(pin2,
OUTPUT);
}
void loop(){
//Bucle para ir acelerando el movimiento
for( int x = delayInicial; x>delayFinal;
x=x-incrementoDelay){
digitalWrite(pin0,
true);
digitalWrite(pin1,true);
digitalWrite(pin2,false);
delay(x);
digitalWrite(pin0,
false);
digitalWrite(pin1,true);
digitalWrite(pin2,true);
delay(x);
digitalWrite(pin0,
true);
digitalWrite(pin1,false);
digitalWrite(pin2,true);
delay(x);
}
//Bucle infinito
con velocidad fija
while(true){
digitalWrite(pin0,
true);
digitalWrite(pin1,true);
digitalWrite(pin2,false);
delay(delayFinal);
digitalWrite(pin0,
false);
digitalWrite(pin1,true);
digitalWrite(pin2,true);
delay(delayFinal);
digitalWrite(pin0,
true);
digitalWrite(pin1,false);
digitalWrite(pin2,true);
delay(delayFinal);
}
}
|
Y a continuación el vídeo actualizado del resultado de ejecutar el
programa anterior.
Es un ejemplo muy, muy simple de cómo funciona un motor paso
a paso, espero que sea de utilidad a todas las personas que me lo han pedido.