Convertir motor de CD-ROM en supermotor

Hola, no habra la posibilidad de convertir el motor de un Cd de velocidad en uno de fuerza?

es que ahora que leo esto empese a desarmar mis lectores y sake 15 motores , y yo estoy en un proyecto de armar piernas de robot (las piernas no miden mas de 30 Cm ), pero necesito el poder no la velocidad >.< porfa si pueden ayudarme
 
¿Donde se conseguirán los imanes? Leí que se pueden cortar y usar los de disco duro (ojo hablo de imanes no de motores) aunque también leí que no se deben cortar porque son tóxicos o algo parecido.
 
electrodan dijo:
¿Donde se conseguirán los imanes? Leí que se pueden cortar y usar los de disco duro (ojo hablo de imanes no de motores) aunque también leí que no se deben cortar porque son tóxicos o algo parecido.

En Uruguay no tengo idea, pero si te cruzas a la vereda de enfrente tienes estas posibilidades:

http://www.argenmag.com.ar/
http://www.imanes-ferrites.com/
http://www.distriman.com.ar/
http://www.imanesargentina.com.ar/
http://www.imanesmagnum.com.ar/
http://www.pysel.com.ar/
http://www.renacity.com.ar/

Lo de cortar imanes de disco rígido, no creo, las cerámicas que se emplean son extremadamente frágiles, al menor golpe y se convierten en un montón de imancitos chiquitos e inservibles
 
Buenas, Desde hace tiempo me tienen interesados estos motorcitos de CD y por varios aeromodelos que conosco se que son vastante poderosos este tipo de motores, para aviones a radiocontrol, pueden llegar a consumir 30A sin ningun problema, y vaya fuerza que tienen!!, por ahora solo cuento con motores de lectores de CD, pero se basan en el mismo sistema, aca un pequeño tutorial de como pasar los comunes motores de CD en estrella a delta, para poder aprovechar mejor su poder http://www.rcgroups.com/forums/showthread.php?t=127606

Pero Lo realmente interesante seria poder construir el speed control, que es aquel que manda las señales senoidales (no se si sirven tambien triangulares, escalonados o incluso PWM en forma senoidal), http://www.turbinemuseum.de/Modellbau/BLMC__UK_/blmc__uk_.html aqui una pagina donde se implementa uno de estos con un micro atmel del cual desconosco, mi propuesta es trabajar para poder construir un ESC (speed control) para poder manejar motores trifasicos pequeños, ya sea basandonos del sitio ya mensionado o trabajando en otro diseño.

algo de teoria hacerca del tema: http://www.innovatia.com/Design_Center/Power_Electronics.htm

Entonces quien se anima?
 
Yo me acabo de comprar un Arduino (www.arduino.cc), y una de las primeras cosas que quiero hacer es un driver para estos motorcitos brushless de CD.

Tenía pensado desfasar 3 salidas PWM a 120º si es que se puede hacer facil..

Si no de ultima, mandar 3 señales cuadradas desfasadas 120º (que ya sería mucho más simple) y ver si funciona más o menos bien.
 
Hola, tambien habia pensado en hacer 3 señales de PWM desfazadas, pero me cabe la duda de que funcionen ya que el voltaje aplicado a una entrada del motor, no esta referenciado a tierra, si no que depende del voltaje de las otras dos entradas, por lo que puede que coincidan en ciertos momentos pero en otros no, quiza con un capacitor a tierra que se va cargando con el PWM se pueda simular mejor la onda senoidal, otra seria hacer la conexion en Y y tomar la tierra de ahi, pero no es posible para conexion en delta que puede dar mas potencia.

Creo que es posible hacer una funcion que saque una funcion seno o al menos triangular de forma de pulsos y desfazarla con respecto a otras dos. La pregunta fundamental aqui es si esto podria funcionar?
 
La de las 3 salidas desfasadas no creo que funcionen, y si funcionan lo hace bien mal. El problema de hacer eso, es que los pulsos tienen que estar sincronizados con el motor, por eso se usan sensores hall o se detecta el "EMF", que en realidad no se que quieren decir las siglas, pero mas o menos se entiende la idea.
 
En realidad existen ambos tipos de motores, los que tienen sensores y los que no, abviamente los que tienen sensores poseen un funcionamiento mejor en algunas condiciones pero por ejemplo todos los motores de modelismo que conosco son trifasicos sin sensores y funcionan bastante bien, los controladores originales de los motores de CD-rom poseen entradas para los sensores, pero estos no creo que suministren la suficiente potencia para aeromodelos o dispositivos similares
 
Los que no tienen sensores, tienen un microcontrolador que detecta el pulso que es devuelto cuando (y acá no estoy muy seguro) un imán pasa por una bobina, pero no envían una señal desfasada ciega. De lo contrario, aparece el problema llamado Misfire. De hecho, ni siquiera se si un motor brushless arrancaría en esas condiciones.
Los motores de aeromodelismo no usan sensores por cuestiones de practicidad, puesto que es difícil ubicar los sensores alrededor del motor. Si fuera por potencia, no tendría sentido, ya que con los sensores se controlan transistores, que controlan las bobinas.
 
Tenés razón electrodan, la verdad no había tenido en cuenta ese aspecto (creo que hubiera tardado en imaginarmeló ). Ahora que leo sobre el tema me doy cuenta.

Entonces, habría que desfasar las 3 señales pwm, pero según las señales de los efecto hall, verdad? Osea, poner en sincronismo cada señal pwm con cada sensor hall. ¿Estoy más o menos por buen camino ahora?

En cuanto pueda me armo una etapita de potencia para el arduino y empiezo a probar (Gracias a dios, es muy facil de programar esa plaquita )


PD: ¿Alguno tiene idea del voltaje y la corriente de trabajo de esos motorcitos de CD (Sin modificar)? Porque hojas de datos no pude conseguir por ahora...
 
Bueno, hoy a la tarde me fui a comprar unos componentes para la etapa de potencia para el Arduino y ya la terminé.

Probé de hacer un driver para un motorcito brushless de CD-Rom, simplemente 3 ondas cuadradas desfasadas 120º, y girar.. gira, pero no tiene nada de fuerza, y vibra muchísimo. Supongo que será por el efecto que mencionó electrodan.
Ya sabía que no iba a funcionar bien, pero me quería sacar las ganas de probar
Ahora voy a probar de hacer 3 ondas cuadradas sincronizadas con los sensores de efecto hall. Así espero conseguir mejores resultados.


Estuve buscando y no encontré mucha información sobre estos motores brushless DC. No sé si están echos para ondas cuadradas (por algún lado había leido que sí), triangulares o senoidales. Tendría que agarrar el osciloscopio y fijarme en una lectora de CD funcionando.

Otra cosa, es que estos motores vienen bobinados en Estrella, pero no usan punto medio. Para manejarlos con tres transistores (uno por fase), lo más facil es que estén en estrella con punto medio (que lo mandamos a tierra). Lo que hice, fue agarrar uno, y cablear el punto medio desde adentro del motor hacia afuera para poder usarlo más cómodo y facil.

PD: Lo probé con 3.7 y 5v el motor. Es despreciable la diferencia en el funcionamiento con diferentes voltajes en este caso.


Ah, si alguno tiene información sobre el funcionamiento de los controladores de estos motorcitos, bienvenida sea!



Saludos.
 
Bueno, en realidad desconocia lo del misfire y lo del EMF captado pero bueno, ahi vamos avanzando, felicitaciones por hacer girar el motorcito, talvez deberias intentar un arranque lento y gradualmente incrementar la frecuencia de la onda para asi aumentar la velocidad del motor gradualmente, aca el link a el datasheet de un controlador del motor CD-Rom original, en este se puede ver los tipos de onda entregados por este al motor, espero empezar pronto a hacer mis pruebas
 
Si, de echo eso fue lo que hice después.

Puse un potenciómetro conectado a una de las entradas analógicas del Arduino e hice que el delay cambie en función a la posición del potenciómetro.

El resultado fue más o menos el mismo.

Al que le interese el código, acá va:

Código:
/*
 * Driver para motores brushless DC
 *
 * No funciona para nada bien
 * 
 * 
 * Por Tomasito.
 *
 * [url]https://www.forosdeelectronica.com/post-205821.html[/url]
 */

int Rpin = 9;  // Las tres fases del motor
int Spin = 5;
int Tpin = 6;

int fuerza = 255;
int pot = 0;

void setup()                  
{
  pinMode(ledPin, OUTPUT);    
  pinMode(Rpin, OUTPUT);      
  pinMode(Spin, OUTPUT);      
  pinMode(Tpin, OUTPUT);      
}

int getPot() {
  int v;
  v = analogRead(pot);
  v /= 25;
  v = max(v, 0);
  v = min(v, 40);
  return v;
}

void loop()                     
{
  analogWrite(Rpin, 255);
  analogWrite(Tpin, 0);
  delay(getPot());  
  analogWrite(Spin, 255);
  delay(getPot());
  analogWrite(Tpin, 255);
  analogWrite(Rpin, 0);
  delay(getPot());
  analogWrite(Spin, 0);
  delay(getPot()); 
}



Con respeto al datasheet, yo habia conseguido algunos, pero ese está más completo, por lo menos tiene las formas de onda de las entradas/salidas del controlador.
Apartentemente manda ondas senoidales a la salida.
El tema es que con el arduino tengo solo 14 pines I/O digitales, y 6 entradas analógicas. Tendría que usar tres conversores analógicos-digitales, para hacer las senoidales, pero me limitaría a 4 bits por fase, salvo que multiplexe las salidas... Y 4 bits es muy poco, son 8 pasos de resolución nada más. Aunque sería mejor que una onda cuadrada. Tendría que probar haciendo un par de redes R2R de 4 bits para probar...
Otro problema ya sería que me estaría quedando corto de tiempo de ejecución quizá, con tanta conversión digital-analógica, desfasar las fases 120º y realimentar todo con los efecto hall... Pero habrá que ver, seguro algo se puede hacer.


Voy a ver también de usar un controlador de la placa de una lectora de CD. Hace unos años había intentado usar uno, pero no habia tenido mucho exito, aunque tampoco puse mucho esfuerzo. Ahora voy a investigar más las hojas de datos a ver qué puedo averiguar.



Saludos.
 
Hola, bueno hace tiempo tenia una idea no se que tan loca o descabellada sea, y es porque no se puede utilizar un amplificador de audio para esta tarea, asi se puede conseguir la onda senoidal perfecta, apartir de otra que no sea de potencia


En cuanto el codigo hmm no se no me cuadra, podrias intentar con este y nos comentas
(me imagino que la sintaxis es asi en realidad no manejo el arduino // es comentario?)

Código:
void loop()                      
{ 
  analogWrite(Rpin, 255); 
  analogWrite(Tpin, 0); 
  delay(getPot());  
  analogWrite(Spin, 255); 
  analogWrite(Rpin, 0);     //pone R en 0 otra vez
  delay(getPot()); 
  analogWrite(Tpin, 255); 
  analogWrite(Spin, 0);    //pone S en 0 en ves de r
  delay(getPot()); 
  //analogWrite(Spin, 0);   erased
  //delay(getPot());           erased
}
 
Atrás
Arriba