Go Down

Topic: Control de motor HDD de disco duro con Arduino  (Read 9033 times) previous topic - next topic

hiddenotebook

Aug 04, 2015, 10:00 pm Last Edit: Aug 04, 2015, 10:15 pm by hiddenotebook
Hola amigos estoy intentando controlar un motor hdd de tres hilos con Arduino Nano y por el momento si consigo mover el motor pero el control queda aun lejos.


Solo uso el Nano sin controlador ESC según leo se necesitan 3 ciclos desfasados 120º cosa que no se representar en código.

Por el momento el motor de HDD anda un poco con este SKETCH:

Code: [Select]
int MotorPin1 = 3;
int MotorPin2 = 5;
int MotorPin3 = 6;

void setup()
{
   pinMode(MotorPin1, OUTPUT);    
   pinMode(MotorPin2, OUTPUT);
   pinMode(MotorPin3, OUTPUT);

}

void loop() {
   digitalWrite(MotorPin1, HIGH);  
   delay(64);    
   digitalWrite(MotorPin1, LOW);
   delay(0);    

   digitalWrite(MotorPin2, HIGH);  
   delay(64);    
   digitalWrite(MotorPin2, LOW);
   delay(0);

   digitalWrite(MotorPin3, HIGH);
   delay(64);    
   digitalWrite(MotorPin3, LOW);
   delay(0);
}


Alguien sabe como controlar este tipo de motores? o representar un ciclo de 3 fases desfasadas 120º cualquier ayuda sera bienvenida!

Un saludo a todos.


GO_zalo

las fases estan correctamente desplazadas 120º

con los delays que has puesto giraria a 312 rpm si no he calculado mal aprox

si ves que no va bien, es posible que no estés excitando las bobinas en el orden correcto, prueba a intercambiar dos de las conexiones entre si.


hiddenotebook

#2
Aug 05, 2015, 07:07 pm Last Edit: Aug 05, 2015, 08:53 pm by hiddenotebook
Vale voy a probar y comento a ver que tal va. Muchas gracias.

Edito:

Nada he cambiado los cables 100 veces y nada todo igual.

Alguien a reciclado alguna vez un motor de estos? Que me eche un cable por favor.

Muchas gracias.

GO_zalo

nada estoy pensando que lo de intercambiar los cables vale para motores pap pero para un brushless de tres hilos no, solo conseguimos que gire en un sentido u otro

pon mucho mas retraso (1 segundo) y comprueba la tensión en las salidas con el motor conectado, y luego sin el motor a ver que puede pasar

hiddenotebook

vídeo en funcionamiento

Aquí la prueba  de como gira he subido un video para que puedas verlo bien, Yo creo que él problema es la poca potencia de salida de los pines de Arduino intentaré conectarlo a la fuente atx y manejarlo desde Arduino seguiremos probando cosas porque este tema tiene mucha demanda estos motores los usan en robótica y aeromodelismo eso sí con un controlador ESC  que en eBay cuesta más o menos 6 €. Pero si me lo puedo ahorrar mejor.

En cuanto tenga noticias lo subiré. Un saludo.

surbyte

#5
Aug 08, 2015, 08:48 pm Last Edit: Aug 08, 2015, 08:53 pm by surbyte
Bueno a ver que tal esta pagina (Howto) Walz a Hard Drive Spindle Motor

Esta con circuito pero no tiene código. Solo debes generar una frecuencia que sirva de clock al 74LS164 que genera los pulsos defasados.

Y esto esta mucho mejor usando AccelStepper librería de arduino y controlando tu motor

De acá obtienes mejor información sobre AccelStepper

hiddenotebook

#6
Aug 10, 2015, 10:01 pm Last Edit: Aug 10, 2015, 10:03 pm by hiddenotebook
Me gusta la segunda AccelStepper con el Pololu A4988.

Con el primer enlace... no se tengo dudas he leido todo el post y hasta el mismo dice que no es la mejor manera de manejar un motor brushless.

Voy a probar con pololu a ver que tal porque lo he visto por ebay a 1.35€

Muchas gracias Surbyte como siempre muy acertado : ) eres un crack!!

hiddenotebook

He encontrado algo interesante probare un poco cuando llegue a casa qu eestoy en el curro.

MANUAL MOTOR HDD EN INGLES CON CODIGO

Go Up