Alguien a logrado hacer funcionar el motor HV342-01-FL ?

el problema que tengo es qUE no puedo hacerlo funcionar .. no se si sea la frecuencia en que envio los pulsos de polarizacion a los 2 puentes H, ya que este motor es un motor a pasos bipolar de 170 Vdc ... :(


al medir los pulsos en los gate de los mosfets si estan correctos de acuerdo a la secuencia de activacion pero el motor no arranca solo da como un paso y los diodos de libre rodamiento se queman ....

en los motores bipolares importa mucho con que paso inicies ???

no pude subir la imagen de los puentes .... .. :( como se hace ?? ...
 
Última edición por un moderador:
Pon esquemas etc, parece mas que evidente que tienes mal conectados los diodos o algo semejante.
 
este motor se alimenta de 170 VDC, 264 W, ya lo he podido hechar a andar con una secuencia de paso completo pero al iniciar el giro como que los pulsos son un poco rápidos y no alcanza a girar instantáneamente por lo cual al principio gira como vibrando o erraticamente pero después de 1 seg aproximadamente se acopla a la frecuencia de los pulso y gira normal, por tal motivo recurrí a bajar la frecuencia de los pulsos para ver si de esta manera no vibraba al principio y esto no funciono ya que al bajar la frecuencia no alcanza a hacer el giro y por tal motivo el motor consume mas corriente y se me queman los mosfet de una de las ramas de mis dos puentes H para el control de las 2 bobinas......

por eso es que quisiera implementar una limitación de corriente suministrada al motor y que de ese nivel no pase mas...

en caso contrario de aumentar la frecuencia esta es muy rápida que no gira el motor y se queda amarrado hasta dejar de inyectar pulsos a los puentes H...

adjunto a esto también quisiera saber como generar rampas de aceleración y desaceleracion en este tipo de motores......

controlo los puentes H con un pic18f2580 programado en C con ccs compiler

y tambien tengo mi duda en saber si en realidad estoy modificando la frecuencia en el pic o el ancho de pulso, ya que mando un dato por X ms y despues pongo en cero por los mismos X ms, y creo que asi estoy modificando la frecuencia y el ancho de pulso tambien como si siempre estubiera mandando señales con un ciclo de trabajo del 50% .. si me explico ???

adjunto esquematico de los puentes H (la cajita que se ve en la parte superior izquierda es una fuente que alimenta a otra etapa, no tiene que ver con la etapa de potencia) y tambien adjunto el programa:


Código:
[COLOR="Blue"]#include <18F2580.h>
   
   #fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT 
   #use delay (clock = 4000000) // se define el oscilador interno a 4MHz 

   #use fast_IO(A) // Indica que usará el puerto A
   #use fast_IO(B) // Indica que usará el puerto B
   #use fast_IO(C) // Indica que usará el puerto C

   #byte PORTA=0x05 //renombramos las direcciones de los puertos  
   #byte TRISA=0x85
   #byte PORTB=0x06
   #byte TRISB=0x86
   #byte PORTC=0x07
   #byte TRISC=0x87
   
   #define cierra input(PIN_A0)  //renombramos a los pines ..
   #define abre input(PIN_A1)
   #define paro input(PIN_B0)    // es la interrupcion..
         
   #define A1 (PIN_C0)
   #define B1 (PIN_C1)
   #define C1 (PIN_C2)
   #define D1 (PIN_C3)
   #define A2 (PIN_C4)
   #define B2 (PIN_C5)
   #define C2 (PIN_C6)
   #define D2 (PIN_C7)
  
   
   #INT_EXT 
   parar()
   {
   int i,j,stop=0;
   
   output_high(pin_b5);
   for (i=0;i<=100;i++)
   {
       for (j=0;j<=200;j++)
       {
        delay_us(10);
        }
   }
[B]   output_low(pin_b5);
   stop=1;
   return(stop);
   }
   
   
   void giro_rap_der() //funcion
   {
   output_high(pin_b7);
   int16 t=500;
   while(true)
   {
   output_c(0x66);
   
   delay_us(t);
   
   output_c(0x56);
   
   delay_us(t);
   
   output_c(0x96);
   
   delay_us(t);
   
   output_c(0x95);
   
   delay_us(t);
   
   output_c(0x99);
   
   delay_us(t);
   
   output_c(0x59);
   
   delay_us(t);
   
   output_c(0x69);
   
   delay_us(t);
   
   output_c(0x65);
   
   delay_us(t);[/B]
   
   }
   output_c(0X00);
   output_low(pin_b7);
   
   }
   
 
  

   
   
  
   void main (stop)
   {
   
   set_TRIS_A(0xFF);   // todo el puerto A son entradas digitales  (botones) 
   set_TRIS_B(0x0F);   // todo el puerto B son entradas digitales  (control de puentes)
   set_TRIS_C(0x00);   // todo el puerto c son salidas digitales
   
   
   output_c(0X00);
   output_b(0X00);
   
   
   while(true)
   {
   
   if(stop==1)
   {
   output_high(pin_b4);
   }
   
   else
   {
    while(cierra==1)
   {     
      giro_rap_der();    //llama a la funcion 
   }
   }
   
   enable_interrupts(int_ext);
   ext_int_edge(L_TO_H);
   enable_interrupts(Global);
   
   }
   }



lo que se encuentra en negritas es a lo que me refiero que siempre trabajo al 50% de trabajo en los pulsos ya que este tiempo es el mismo en alto o en bajo y al modificarlo se modifica tanto en alto como en bajo ..

espero y me halla explica y me puedan ayudar .... saludos
 

Adjuntos

  • puentes.jpg
    puentes.jpg
    49.1 KB · Visitas: 25
Última edición por un moderador:
hola que tal muy buenas tardes ..
acudo a ustedes para pedir ayuda en lograr generar una señal variable tanto en ancho de pulso como en periodo, es para controlar un motor pap bipolar.

ya he logrado hechar a andar el motor, pero no me agustado el funcionamiento del todo, ya que al arrancr el motor este vibra demasiado me imagino que es por que arranco de golpe con una frecuancia constante..... Lo que quiero hacer es una rampa de aceleracion y desaceleracion lo cual me permita eliminar esa vibracion al arrancar .. comenzando con una frecuencia baja (10 Hz) y un ancho de pulso pequeño (10%), ya que cuando trabajo el motor a baja frecuancia se me queman los mosfet de alguna rama de los 2 puentes H debido a que a baja frecuancia sigo manteniendo un ciclo de trabajo constante (50%). El motor con un ancho de pulso del 50% me a funcionado solo con una frecuencia de 1KHz, por lo que supongo que debo de manipular tanto f como %D para lograr hacer mi rampa de aceleracion y desaceleracion del motor (arranque suave).

estoy abierto a nuevas propuestas de control si la que supongo no es la correcta o a que me pudieran orientar a grandes rasgos cual es el procedimiento de control de velocidad en los motores pap bipolares y que me ayudaran a programarlo en el PIC18F2580 ya sea en C o en ensamblador (de preferencia en C).

otros datos:

motor: HV342-01-FL

la propuesta anterior es en caso de utilizar solo un pic que este enviando la secuencia a los puentes H.

He probado otra manera, que es con el L297 en el cual ya te entrega la secuencia definida para full o hall step y la velocidad del motor varia de acuerdo a la frecuencia del clock que se conecta al L297, pero en este caso el clock sigue manteniendo un ancho de pulso constante y creo que a bajas frecuencias me pasara lo mismo que en la propuesta anterior; se me quemaran los mosfet por que permanecerán mucho tiempo activadas las bobinas(100ms a 10 Hz). Y en esta propuesta lo que me gustaria hacer es una señal de clock programada en el pic en el cual solo cambie la frecuencia de baja a alta (10Hz a 1Kz) y poder probar haber si no se me dañan los mosfet.....
La señal de preferencia que haga la rampa de aceleracion internamente sin elemento externo (que sea por medio de sotfware)

de ante mano muchas gracias y espero no sea mucho pedir y que me puedan ayudar ...

agrego el diagrama de los puentes H

hasta pronto
 
He publicado aquí en el foro un tutorial sobre motores de paso. creo que vale la penas que lo estudien para entender mas de la materia. Yo me metí en estudios sobre la materia, cuando no fui capaz de hacer andar un motor de paso con 12 VDC en la tensión de alimentación del motor usando una placa de control de motores de paso con las componentes L297 y L298. Cuando me compré la placa de control de motores pap llamada "stepRocker", pude investigar jugando con los mas diversos valores de los parámetros de control y así pude confirmar, que ese motor de paso no funcionaba dando pasos completos, independientemente de la velocidad. Resulta, si no mal recuerdo, que recién con 16 o 32 micropasos por paso completo el motor daba sus pasos!
También allí en el tutorial presento que criterios son útiles para escoger un motor de paso y que en muchos casos, por no entender los motores de paso, se escogen motores de paso inadecuados! Si tienen preguntas, y solo fueran sobre como algún dato dado en el turorial es aplicable, pregunten, pues esa es la mejor forma de aprender.
Por lo general el problema con motores de paso es que la tensión DC aplicada a las bobinas del motor, es demasiado bajo, así que todo lo que hace el motor es vibrar!
También demuestro en videos, que la vibración del motor es dependiente de los parámetros en su totalidad y no solo de la tensión, o de la velocidad con la cual el motor de paso se mueve. Aquí el enlace al tutorial!
 
Atrás
Arriba