Autor Tema: Control de motor monofasico con PWM del PIC16F88  (Leído 5369 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado RodrigoAndres

  • PIC16
  • ***
  • Mensajes: 171
Control de motor monofasico con PWM del PIC16F88
« en: 19 de Septiembre de 2015, 14:41:28 »
hola a todos. estoy asiendo un proyecto donde voy a controlar la velocida de un motor monofasico asincrono en lenguaje c con el pic16f88. el motor es un motor de espira de sombra (shaded pole motor) que funciona con 120v y 60 hz. lo tengo pensado controlar con PWM (1260 hz), utilizando un optotriac y un triac para controlar el motor

Esta es la señal que tengo pensado utilisar para controlar la velocidad del motor (con el periodo al 50%) :




lo que me gustaria saber es si hacer esto es posible, e estado buscando mucho en internet y en algunos sitios dicen que no se puede, porque la velocidad de un motor depende solo de la frecuencia. en otros sitios dicen que es perfectamente posible porque al variar el periodo del pwm, estoy variando la potencia entregada al motor. la verdad no se que puede pasar, los motores son aparatos complicados y no quiero tener decepsiones, pues donde vivo es muy dificil conseguir los triacs y esas cosas. es por eso que me gustaria saber de antemano si esto puede funcionar


el codigo que estoy usando es el siguiente:

Código: [Seleccionar]
void main()
{
   disable_interrupts(Global);
   setup_timer_2(T2_DIV_BY_16, 247, 16);  //1260 hz, 8
   setup_ccp1(CCP_PWM);

   port_b_pullups(FALSE);
   Set_Tris_A(0b11111111);
   Set_Tris_B(0b11111110);
   disable_interrupts(Int_Timer1);
   disable_interrupts(Int_Timer2);
   
   set_pwm1_duty (500);   //MAX DUTY = 4*(247+1) = 992
   
   
   while(1);

como pueden ver configure el pwm para que la frecuencia del pwm fuese multiplo de la frecuencia de red (1260 hz). eso es porque si le pongo una frecuencia que no sea multiplo, entonces la señal no va a estar sincronisada y se generaria una envolvente de baja frecuencia (eso es lo que creo)

el motor que tengo es igual a este:




gracias a todos por su ayuda

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Control de motor monofasico con PWM del PIC16F88
« Respuesta #1 en: 19 de Septiembre de 2015, 15:04:25 »
Esa señal con un TRIAC no lo vas a poder lograr.

Una ves que activas el TRIAC por mas que le saques la corriente en la compuerta, solo se va a detener cuando la corriente que pase por le mismo sea un valor minimo( latching current ) en cargas resistivas, en cargas inductivas ya ocurren otros problemas mas que por culpa del desfasaje puede hacer que el TRIAC se autodispare por mas que no le des pulso de compuerta.
Asi que esa señal no lo vas a poder hacer.

Por eso quedan asi, y se controlan por fase:
http://playground.arduino.cc/uploads/Main/ACWave.png

Creo que no tenes bien en claro lo que es la frecuencia que estas queriendo tener, cuando se dice modificar la frencuencia es de toda la senoidal o tratar de crear una senoidal con una nueva frecuencia. Lo que creo que estas intentando hacer es otra cosa y me imagino que te habras confundido con un SPWM. Y aca hay transistores de potencia.

Con respecto a los motores, alguien que lo tenga mas claro te lo va a decir. Yo no me siento demasiado comodo como para explicartelo como hacerlo y demas.

Desconectado RodrigoAndres

  • PIC16
  • ***
  • Mensajes: 171
Re: Control de motor monofasico con PWM del PIC16F88
« Respuesta #2 en: 19 de Septiembre de 2015, 16:05:15 »
Entiendo. lo que me has dicho fue de mucha ayuda, sobretodo la parte del TRIAC. Ahora tendre que decidirme, puedo utilizar transistores para controlar el motor con PWM a alta frecuencia, o puedo utilizar un TRIAC empleando solo control de fase como tu me dijiste (una especie de PWM de baja frecuencia)

Lo que tengo entendido es que hay 3 formas de controlar la velocidad de un motor:

1. Por PWM a alta frecuencia, seria con  transistores en vez de un triac, por las razones que dijiste.





2. Por PWM con ancho variable, empleando tambien  transistores




3. Por control de fase, empleando un TRIAC




De todos estos metodos el que mejor me parece es el 2. el voltaje que le entra al motor siempre sera el maximo, lo unico que varia es el ancho y la frecuencia del pulso. creo que esto es lo que mas se asemeja a una onda AC, ademas que como siempre tiene el maximo voltaje, creo que es el metodo que mas torque puede ofrecer, no se perderia tanto torque al disminuir la velocidad.

pero tambien es el metodo mas complicado, tendria que idear una forma para tener una fuente de voltaje DC de 120v *raiz 2 = 170v, una fuente positiva y otra negativa de 170v, esto si que lo veo complicado, tendria que conseguir un transformador que me aumente el voltaje de 120v a 240v y que me de tres salidas, una con +120v, otra con 0v y otra de -120v, asi al rectificarlos tendria +170 y -170 voltios.


creo que tendre que probar el metodo 1 y 3, y ver cual es el que mejor respuesta ofrece.

de todas formas estoy muy confundido, ojala venga alguien que sepa mucho sobre motores-. gracias por su ayuda
« Última modificación: 19 de Septiembre de 2015, 16:19:27 por RodrigoAndres »

Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Control de motor monofasico con PWM del PIC16F88
« Respuesta #3 en: 19 de Septiembre de 2015, 16:50:41 »
Hola RodrigoAndres, pues si que estas confundido...

Lo primero que debes de saber, es que hay muchos tipos de motores, universales, asíncronos, síncronos, etc. y cada cual tiene su forma de controlarse.

En el caso que nos ocupa, un motor asíncrono monofásico con bobina sombreada, pues su forma de control es mucho más complicada de lo que tu estás pensando.

Para poder controlar este motor, debes de variar la frecuencia de la tensión de alimentación, o sea está diseñado para funcionar con 110V a 50/60 Hz, y lo que debes de variar son ambos valores, la frecuencia determinará la velocidad de giro, pero al variar dicha frecuencia también debes de variar la tensión, ya que si no lo haces, al tener una frecuencia menor circulará una mayor corriente y esto quemaría el motor, y si tuvieras una frecuencia mayor, con solo 110Vca perderías par motor y por consiguiente potencia en el motor, esto por no circular la corriente necesaria.

Este trabajo se hace con el uso de IGBT's, pero en tu caso al ser tan poca la potencia podrías usar MOSFET's o incluso BJT's, no es posible el uso de TRIAC's ni de TIRISTORES por los motivos ya mencionados anteriormente.

Control de fase y variación de la tensión de alimentación, en este motor, no hace que varíen sus RPM ya que estas dependen exclusivamente de la frecuencia de la tensión de alimentación.

La forma de control correcta es la del gráfico 2 que has posteado anteriormente, ya que la 1 y la 3 no funcionarían.

Pero a la forma de control del gráfico 2, hay que crearla teniendo en cuenta varios factores, con esta forma de onda (la del gráfico 2), lo que se intenta es "simular" una onda senoidal, pero esta senoidal debe de tener la frecuencia correcta para la velocidad de giro deseada y también la tensión correcta para la frecuencia anterior, caso contrario el motor se terminaría quemando o perdiendo potencia.
Más allá de lo anterior, este tipo de variador debe de poseer un arranque suave, de lo contrario quemarías los transistores del driver de salida.

O sea, por todo lo que anteriormente te comento, pues no se si te es conveniente "construir" dicho variador, no se la aplicación que le darías, pero te aseguro no es nada sencillo de realizar.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado RodrigoAndres

  • PIC16
  • ***
  • Mensajes: 171
Re: Control de motor monofasico con PWM del PIC16F88
« Respuesta #4 en: 19 de Septiembre de 2015, 18:29:05 »
entiendo, gracias por tu ayuda, estaba muy confundido.

Entonces, si en vez de usar un motor asíncrono, utilizo un motor universal, podre usar un triac para controlarlo por fase? no tendré ese tipo de problemas?

y algo más, no se si entienda bien la diferencia entre un motor sincrono y asincrono. hasta donde he logrado entender, en un motor sincrono el rotor gira exactamente a la misma velocidad que la frecuencia (me imagino que serian 60 revoluciones por segundo). En un motor asincrono el rotor puede girar a una velocidad diferente a la del campo magnetico, pero su velocidad es proporcional a la frecuencia.

creo que definitivamente tendre que utilizar un motor universal, pero me pregunto si hay algun tipo de motor de induccion asincrono que lo pueda controlar por fase?


Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re: Control de motor monofasico con PWM del PIC16F88
« Respuesta #5 en: 20 de Septiembre de 2015, 01:42:35 »
Hola RodrigoAndres

Entonces, si en vez de usar un motor asíncrono, utilizo un motor universal, podre usar un triac para controlarlo por fase? no tendré ese tipo de problemas?

Con un motor universal el tema es muy distinto, en este tipo de motor se puede usar control por ángulo de fase, incluso vienen circuitos integrados específicos para esta función, y funcionan muy bien.

El integrado TDA1085 en conjunto con una bobina tacométrica acoplada al eje del motor, pues conforman un control de velocidad muy eficiente para los motores universales, muchos lavarropas automáticos usan este sistema, y se pueden controlar las RPM desde unos pocos cientos de RPM, hasta las 16000 RPM o más.

y algo más, no se si entienda bien la diferencia entre un motor sincrono y asincrono. hasta donde he logrado entender, en un motor sincrono el rotor gira exactamente a la misma velocidad que la frecuencia (me imagino que serian 60 revoluciones por segundo).

Claro, en un motor sincrono el rotor gira exactamente al compás del campo magnético generado por el estator, no necesariamente deben de ser 60 revoluciones por segundo, porque si el estator está formado por más de dos polos, pues las revoluciones se dividen por la cantidad de estos.
En un motor síncrono de 8 polos las revoluciones con una frecuencia de red de 60 Hz serían de 60 / (8 / 2) = 15 revoluciones por segundo.

En un motor asincrono el rotor puede girar a una velocidad diferente a la del campo magnetico, pero su velocidad es proporcional a la frecuencia.

Los motores asíncronos son los llamados jaula de ardilla, y siempre girarán a una velocidad levemente inferior a la velocidad del campo magnético creado por el estator (mismos cálculos que para el caso de los motores síncronos). Esto es porque el campo creado por la jaula de ardilla tiene un leve desplazamiento necesario para que este mismo campo pueda crearse, si el rotor girara a la misma velocidad que el campo creado por el estator, pues el campo creado por el rotor (por la jaula de ardilla) desaparecería por falta de inducción, por lo tanto perdería velocidad hasta que apareciera nuevamente y así conseguir tracción.
La velocidad de giro de los motores asíncronos es proporcional a la frecuencia de la red y a la cantidad de polos de su estator, por ejemplo, un motor de 4 polos en 60Hz tendrá una velocidad de giro de 60 / (4 / 2) = 30 revoluciones por segundo, lo que es lo mismo que 1800 RPM, pero como es un motor asíncrono, pues girará un poco por debajo de estas RPM, por decir un ejemplo serán aproximadamente unas 1650 o 1700 RPM.

creo que definitivamente tendre que utilizar un motor universal, pero me pregunto si hay algun tipo de motor de induccion asincrono que lo pueda controlar por fase?

Siempre el motor más sencillo de controlar es el universal, por ser muy similar al control de cualquier motor de corriente continua, de hecho, se los puede controlar exactamente de la misma manera.
No conozco ningún tipo de motor asíncrono que pueda controlarse de manera eficiente por control de ángulo de fase. Pero en teoría, si le aplicas un control de fase a ese motorcito de la foto, pues las RPM variarán por el hecho de que conseguirás que el campo creado por la jaula de ardilla se deslice más de lo normal, pero también perderás una potencia y par motor considerables, dependiendo la aplicación que tu deseas darle, pues puede serte de utilidad o no, no sabría decirte que pasaría con la temperatura del propio motor al hacerle deslizar tanto el campo del rotor, pero creo que probando no perderías nada.

Puedes conseguirte un módulo dimmer de los usados en los hogares para las luces, los cuales son económicos y vienen ya listo para funcionar, conectarle el motor y probar que es lo que sucede, de última los resultados que obtendrás no serán los deseados.

Espero te sea de ayuda, cualquier duda solo tienes que preguntarla.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.