Buenas, estoy intentando usar un motor paso a paso Bipolar de una disquetera, he mirado las especificaciones y es a 5v, pero intento hacerlo funcionar y no hay manera, reconozco los dos polos, y conecto los 4 cables a cuatro salidas digitales, y las voy encendiendo de dos en dos en funcion de los polos, pero el motor no se mueve a ningún lao, es necesario usar alguna etapa de potencia¿
En clase cuando trabajaba con motores paso a paso, los coenctaba a los automatas directamente y funcionaban perfectamente.. por qué con arduino no?
Hola, necesitas un driver L293 para poder usar motores bipolares.
En google encontraras facilmente muchos esquemas.
Tambien necesitas saber la secuencia para hacer funcionar estos motores:
Paso terminales
A B C D
1 +V -V +V -V
2 +V -V -V +V
3 -V +V -V +V
4 -V +V +V -V
Un ejemplo de programa:
//Control de motor PaP Bipolar
// PIN-es del Motor
int motorPin1 = 8; //Pin cable verde
int motorPin2 = 9; //Pin cable rojo
int motorPin3 = 10; //Pin cable negro
int motorPin4 = 11; //Pin cable marron
int delayTime = 50; // Delay que determina la velocidad de giro
void setup() {
// Configuraci n de los PIN-es como salida digital
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
}
void loop() {
// Secuencia de activacion para motor Bipolar
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime);
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
delay(delayTime);
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
delay(delayTime);
Gracias EMV, con el L293, puedo controlar otros que no sean bipolares?, es decir vale para cualquier paso a paso?
mañan ale echaré n vistazo gracias!
Si, y ademas tambien puedes usar el L298 y para los unipolares tambien puedes usar el ULN2803.
ok, esta tarde lo comprare,
me recomiendas el shields para motores? eso ya es demasiado..?
Hola,
Puedes usar un driver como SAA1027 ( bipolar ), L287 ( tanto para bipolar como unipolar ) y similares.
Con estos driver puedes controlra el moor usando solo 2 pines del micro, uno para los pasos y otro para el sentido de giro.
De esta forma el codigo se simplifica.
int n=0;
void setup() // run once, when the sketch starts
{
pinMode(2,OUTPUT); // señal de movimiento del motor
pinMode(3,OUTPUT); // sentido de giro
}
void movimiento(){
digitalWrite (3,HIGH); // giro en sentido horario
for(n=0;n<48;n++){ // hace 360º con pasos de 7,5º
digitalWrite (2,HIGH); // paso del motor
delay(5); // pausa en milisegundos
digitalWrite(2,LOW); // paso del motor
delay(5); // pausa en milisegundos
}
}