Autor Tema: Control de un motor de 220V con Triac  (Leído 5623 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado oktubre

  • PIC10
  • *
  • Mensajes: 30
Control de un motor de 220V con Triac
« en: 08 de Marzo de 2013, 23:24:06 »

                                                               !!!!!!!!!!SOLUCIONADO¡¡¡¡¡¡¡¡¡¡¡

 :-/ :-/ :-/ :-/


Hola amigos!!!

El tema es como como controlar un triac, tiene un opto (MOC3020) para tener una salida de tensión variable. Necesito reemplazar mi código  para que me permita hacer variar la potencia del motor que podría ser desde el 40% al 100%. Esto lo podría hacer siguiendo la tempetatura por ej. : Comenzando a los 18º C en 40% e ir aumentando 10% por grado de Temperatura que suba: 50% a los 19º, 60% a los 20º, y así hasta llegar los 24º con el 100%.

Hay un excelente aporte de BrunoF aquí sobre cómo programar un PWM.

http://www.todopic.com.ar/foros/index.php?topic=25995.0

Funciona de maravillas. Regula hasta 256 posiciones.
 Pero tengo el problema de que está dentro de un “while”. BrunoF que fue muy amable me aconsejó enviarlo a un timer. Tengo funcionando  el Timer_2 pero no me funciona, ya no se con qué código probarlo.
Podrían aconsejarme algo ?



char step, pwm1;
step=1;
pwm1=102;         // regula al 40%

while(1)
{
if(pwm1>=step) output_high(pin_A7);
else output_low(pin_A7);
delay_us(500);
step++;                                            //incrementar paso
if(!step) step++;                              //si step==0, step=1
}
« Última modificación: 16 de Marzo de 2013, 17:17:58 por oktubre »
"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)

Desconectado RockLee_89

  • PIC16
  • ***
  • Mensajes: 140
Re: Control de un motor de 220V con Triac
« Respuesta #1 en: 09 de Marzo de 2013, 11:52:22 »
hola amigo oktubre creo no estoi bien seguro por que soy nob pero para controlar focos y motores ac lo que se utiliza es deteccion de flancos y cruce por zero pero espera a aque alguien con mas experiencia te conteste
saludos






Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1492
Re: Control de un motor de 220V con Triac
« Respuesta #2 en: 09 de Marzo de 2013, 14:27:31 »
Si, como te dice Oktubre, tienes que detectar el cruce por 0 de la onda, esperar el tiempo necesario segun el porcentaje que quieras darle y activar el TRIAC, dondole un pulso en la puerta (gate) durante unas millonesimas (segun TRIAC) en el data sheet viene el tiempo de commutacion, suele ser menos de 5uS.

Tanto la deteccion del cruce por 0 como la activacion debe ser con optoacopladores para evitar que el ruido del motor llegue al micro y este haga "tonterias". El cruce por 0 lo puedes hacer con un opto NPN, hay uno el PS-2505 que es especial para eso, pero con uno cualquiera tambien vale. El opto de cebado de gate te vale el MOC3021 o cualquiera que no tenga detector de cruce por 0.

Como cada semiciclo (a 50hz) tiene 10mS cad 1ms seria un 10%, esto es mentira ya que en alterna no es asi de proporcional, pero si no necesitas mucha precision??????. Tienes que tener en cuenta para el circuito que si tienes 230V de tension eficaz (esta es la que siempre te dan), realmente lo que hay son 230*raiz de 2, por tanto estas trabajando con 325V de tension maxima, por tanto todo debe soportar 400V minimo, bueno mas o menos.

Por ejemplo para 40% detectarias cruce por 0 (aqui mejor con un osciloscapio medir cuantos uS antes del crce te da la señal) harias una temporizacion de 6mS y activarias TRIAC durante unos uS, quitarias señal de gate, el TRIAC estaria conduciendo hasta que cruce por 0 y repetirias asi todo el tiempo que quieras estar en ese %, para subir al 50% solo tendrias que bajar la temporizacion de 6mS a 5mS.

Desconectado oktubre

  • PIC10
  • *
  • Mensajes: 30
Re: Control de un motor de 220V con Triac
« Respuesta #3 en: 09 de Marzo de 2013, 18:03:01 »
Hola y gracias Tapi!!!

Tendría libre la pata 6 del PIC (16F887) para ponerle un opto TR. ¿Puedes dame una idea del código para hacer lo que me indicas?

Desde ya muchas grs por tu atención
"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4577
Re: Control de un motor de 220V con Triac
« Respuesta #4 en: 09 de Marzo de 2013, 21:15:24 »
El papel lo aguanta todo

Desconectado RockLee_89

  • PIC16
  • ***
  • Mensajes: 140
Re: Control de un motor de 220V con Triac
« Respuesta #5 en: 09 de Marzo de 2013, 21:57:07 »
hola oktubre yo he conectado el pic con una resistencia de valor muy grande he visto varios ejemplos y lo hacen con resistencias de valores entre 3 Mohm hasta 10 Mohm conectado al pin rb0 que es la interrupcion por cambio de estado y cambiando los bist en el registro status  creo que puedes entrar en transiciones + y - en la onda alterna aqui te dejo un link no se que tal este ya que tengo mucho rato que no lo leei saludos


http://174.120.189.222/~domotic4/index.php?option=com_content&view=article&id=52:zerocrossing&catid=44:teoria&Itemid=61

Desconectado oktubre

  • PIC10
  • *
  • Mensajes: 30
Re: Control de un motor de 220V con Triac
« Respuesta #6 en: 10 de Marzo de 2013, 00:43:12 »
Muchas gracias Miguel y Rock!!!!!!!!!

Mañana me pongo a estudiar sus propuestas

muy amables!
"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1492
Re: Control de un motor de 220V con Triac
« Respuesta #7 en: 10 de Marzo de 2013, 06:39:43 »
En uno de los enlaces que te pone MLO creo que el programa lo tienes casi hecho.

Te pongo aqui un esquema de conexion del PS2505, ves que vas a tener un flanco ascendente y otro descendente lo que provocara dos interrupciones, una de ellas sera el cruce por 0 y a la otra no le haras caso.

http://imageshack.us/photo/my-images/255/cruceporcerofu1.jpg/

Lo que te dice Rocklee de ponerlo con una R es cierto, pero con un motor como carga mejor optoacoplador. De donde saques la alimentacion del PIC, filtrala bien, por ahi tambien te metera ruido.

El motor ¿de cuanta potencia es?.

Hay varios tipos de motores monofasicos, cada tipo tiene su sistema de arranque, yo para monofasicos nunca hice nada ni los conozco mucho, pero creo que algunos tipos son complicados de variarles la W????

Desconectado oktubre

  • PIC10
  • *
  • Mensajes: 30
Re: Control de un motor de 220V con Triac
« Respuesta #8 en: 10 de Marzo de 2013, 20:37:50 »
Hola Tapi8!!!

El motor es el más común de 1hp. Pero mi problema no es con el motor. Ni con el opto. Mi prob es con el código. Necesito algo práctico y sencillo como la función de BrunoF que pongo  en el post. Y que anda perfecto a no ser por el WHILE.  Como soy medio burro con el asunto de los timers no sé como poner el código de BrunoF en el Timer_2 que es el que tengo funcionando. Si pones el Código de BrunoF anda perfecto! Regula hasta menos del 1% del motor sin perder potencia.

Veré si puedo implementar las funciones de MLO dentro del Timer_2

De todas maneras amigo grcias por tus consejos sobre optos y filtrados!!!
"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)

Desconectado oktubre

  • PIC10
  • *
  • Mensajes: 30
Re: Control de un motor de 220V con Triac
« Respuesta #9 en: 16 de Marzo de 2013, 17:51:10 »
Holas!!!!!!

En primer lugar muchas gracias a Tapi8, MLO_, RockLee_89 y una mención especial para BRUNOF que es un capo y muy solidario.

En segundo termino les cuento que he leído sarta de burradas .... y quiero advetirles que para controlar un motor de 220V NO hacen falta muchas de las cosas q se aconsejan.

No es imprescindible  el cruce por 0. No es necesario el uso de el CCP, puede hacerse por software.
Finalmente luego de 10 días encontré la solución en un PWM por soft  en esta dirección:

http://www.forosdeelectronica.com/f24/pwm-pic16f877a-9999/


Sólo me queda el problema de ajustar los tiempos del TIMER2, en mi caso lo tengo cada 25ms que es un poco alto para una regulación fina.

Básicamente es un contador en el Timer_2 y un par de asignaciones de variables

En el TIMER2 va lo que sigue:

{
contador++;

if (contador<=anchura)
       output_high(salida);     // salida es cualquir Pin como PIN_A7 en mi caso
else
      output_low(salida);
 
if (contador==frec)   contador==0;      // Reseteamos el contador

}

Estas asignaciones van en casi cualquier parte del código

anchura=xx;        // controla el ancho del pulso
frec=xx;              // controla la frecuencia


Y esto es todo!!!!!!!

Lo he probado y va de maravillas!!!!!!!!!!!!

También puede usarse para iluminación como LEDS y otras yerbas.
"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)

Desconectado cristian_elect

  • PIC18
  • ****
  • Mensajes: 408
Re: Control de un motor de 220V con Triac
« Respuesta #10 en: 16 de Marzo de 2013, 20:43:44 »
Que no hace falta el detectar el cruce por cero, que malos consejos estas dando.
Para pwm en dc si funciona pero controlar triac en AC no.



Desconectado oktubre

  • PIC10
  • *
  • Mensajes: 30
Re: Control de un motor de 220V con Triac
« Respuesta #11 en: 16 de Marzo de 2013, 21:03:01 »
Primero prueba el código y luego criticas. No hablé de DC. Sólo de lo que comprobé en 220V ALTERNA.
NO HACE falta detectar el cruce por 0. Estoy usando un MOC 3020. No se cuál es tu problema. Estoy hablando de cosas que comprobé personalmente,
Buenas noches.
"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4577
Re: Control de un motor de 220V con Triac
« Respuesta #12 en: 16 de Marzo de 2013, 22:41:33 »
Hola

Si quieres un control ON-OFF unicamente, no hace falta el cruce por cero; pero si quieres controlar la velocidad del motor, entonces si hace falta detectar el cruce, ya que el control en este caso seria un CONTROL DE FASE, que no es lo mismo que un PWM.

El PWM es para DC y si se quiere usar en AC, la inercia mecanica de la carga debe ser alta. Ahora, si se quiere usar PWM en AC, tambien es necesario el cruce por cero de la senal senoidal.

El codigo que muestras en el link, es para generar senales de 1 a 100Hz ... la senal AC ya tiene una frecuencia definida, que es 60Hz.

Lo que se hace para un controlador de fase es captar esa senal por un pin del PIC y entonces se regula la cantidad de onda senoidal que pasa al motor.

Seria bueno ver el esquema completo para ver como controlas el motor, porque, tambien se puede conectar el motor a unos MOSFETS e inyectarle la frecuencia a la frecuencias que estimes conveniente ;)

Saludos
El papel lo aguanta todo

Desconectado cristian_elect

  • PIC18
  • ****
  • Mensajes: 408
Re: Control de un motor de 220V con Triac
« Respuesta #13 en: 17 de Marzo de 2013, 00:14:04 »
El tema está resuelto en el foro, si dices que no está bien o te parece exagerara su solución mejor muestra tu esquema del circuito de control que funciona bien tu programa simplificado.

Desconectado oktubre

  • PIC10
  • *
  • Mensajes: 30
Re: Control de un motor de 220V con Triac
« Respuesta #14 en: 17 de Marzo de 2013, 00:57:42 »
Hola MLO_!!!

No soy ingeniero, solo un simple novato. Simplemente quiero volver a mi problema inicial. Como controlo la potencia un motor de 220V. Puse un código que, de forma incompleta, hacia lo que se le pedía, el control del motor.
El circuito usado es el que publicó Xocas aquí http://www.todopic.com.ar/foros/index.php?topic=13389.msg77773#msg77773
Salvo q el MOC no es el 3041M sin el 3020 que no tiene detección de 0.
Escribí sobre mi experiencia concreta, no quiero dar lecciones de electrónica y de micros. Sólo publicar mi experiencia para que otros aprendices como yo usen la experiencia. Me pareció lo mejor compartir la experiencia.

Estoy usando como dices un código para "para generar senales de 1 a 100Hz" pero eso es suficiente para manejar el motor sin perder potencia. Esta solución a mi me sirve, y supongo que también a otros. Mi problema concreto era reemplazar un relay por un triac y así variar de 40% al 100% la potencia con un código que cumpla esa función. La solución que dí efectiva, verificable y no precisa cruce por 0. Sólo eso.

MLO_ ha sido muy gentil en sugerirme algunos links. Y si tienes alguna sugerencia más, como el tema de los MOSFETS, será muy bienvenida!!!. Todos estamos para aprender.
"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)


 

anything