TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: PIC_PLUS en 11 de Enero de 2006, 12:45:00
-
Hola Buenas!!!
Tengo un problemilla y a ver si alguien me puede ayudar. Quiero controlar la velocidad de un motor de continua. El motor esta conectado al driver de control de motores L293B y controlado a través de un PIC16F876. Para controlar la velocidad utilizo modulación de anchura de pulsos, y cuando mido con el polímetro la salida RC2 correspondiente obtengo la tension que quiero ( 5V para el 100% del ciclo de trabajo, 2,5V para el 50%, etc). Esta línea RC2 esta conectada a la patilla de habilitación de uno de los canales del driver (canal donde está el motor). Pero cuando hago la prueba con el motor siempre gira a la misma velocidad, en vez de girar según lo que le indico mediante la modulación (al 50%, al 33%, etc).
Un Saludo. GRACIAS.
-
Hola amigo,
Yo creo que debes colocar el preescalador del tmr2 en 16:16 ¿a que velocidad trabaja el PIC? a 4Mhz? a mi me paso la otra vez era con un optotriac y un bombillo que siempre se quedaba encendido y era que la frecuencia del pulso es muy alta y no pasaba nada, si es posible para prueba coloca un oscilador RC y chequea si baja la velocidad.
Saludos
-
Hola PIC_PLUS, acuérdate que en los motores de CC cuando no tienen peso en el eje para bajarle la velocidad al 50% no alcanza a con generar un ciclo activo del 50% este ciclo será mucho menor dependiendo del motor podría llegar a ser de solo 5% activo.
Por otro lado la respuesta del motor no es proporcional al tiempo activo ya que para subirle las RPM al doble tendrás que subirle el ciclo activo mas del doble.
Y como dice poi5on también podrías de tener la frecuencia del PWM demasiado elevada, frecuencias entre 500Hz y 3000Hz andan bien.
Suerte en el trabajo
Atte. CARLOS
-
aqui dejo una grafica que saque hace algun tiempo en la que se ve la poca linealidad del motor trabajando en vacio... si quieres controlar la velocidad del motor con precision tendras que colocarle un encoder para asi poder corregir el pwm de una forma eficaz...
-
En primer lugar muchas gracias por responder. El Preescaler del Timer 2 lo tengo a 1:16, pero el PIC lo tengo funcionando a 4MHz, así que imagino que la frecuencia será demasiado elevada. Además desconocía la poca linealidad del motor. Probaré en primer lugar a reducir el PWM según la gráfica que ha dejado dogflu66 a ver si funciona, y si no probaré a cambiar el cristal de cuarzo de 4 MHz por alguno de menor frecuencia (1MHZ o así
. Ya os contaré que tal me ha ido.
UN SALUDO y de nuevo GRACIAS.
-
pues yo tambien utilizo el timer2 de un pic a 20Mhz, dando una resultante de 30Hz aprox. dividida esta en 256 puntos de control sobre el pwm.
PD:
contador_pwm = contador_pwm + 1 " incremento del contador que hace de base para los pwm y otros
if contador_pwm>= 255 then
algo
contador_pwm=0
endif
solo te tienes que construir un contador que cuente cuantas veces se desborda el timer2, y asi lo divides practicamente por el numero de veces de tu necesidad.