TODOPIC
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
28 de Noviembre de 2014, 23:13:06

Ingresar con nombre de usuario, contraseña y duración de la sesión
Buscar:     Búsqueda Avanzada
351753 Mensajes en 39473 Temas por 41226 Usuarios
Último usuario: apoca18
* Inicio Ayuda Buscar Calendario Ingresar Registrarse
Buscar en TodoPIC
+  TODOPIC
|-+  Microcontroladores PIC
| |-+  Todo en microcontroladores PIC (Moderadores: marmatar, maunix, MGLSOFT, Modulay, pocher, Sasián, Suky)
| | |-+  Control de un motor de 220V con Triac
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Marcar como favorito Imprimir
Autor Tema: Control de un motor de 220V con Triac  (Leído 3242 veces)
oktubre
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 30



« : 08 de Marzo de 2013, 23:24:06 »


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

 rebotando rebotando rebotando rebotando


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 » En línea

"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)
RockLee_89
PIC16
***
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 140



« Respuesta #1 : 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





En línea
tapi8
Colaborador
PIC24H
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1395


« Respuesta #2 : 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.
En línea
oktubre
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 30



« Respuesta #3 : 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
En línea

"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)
MLO__
Colaborador
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 4504

MLO


« Respuesta #4 : 09 de Marzo de 2013, 21:15:24 »

Hola

Te puede servir:
Control de fase con interrupciones
Control de temperatura para cautin

Saludos
En línea

El papel lo aguanta todo
RockLee_89
PIC16
***
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 140



« Respuesta #5 : 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
En línea
oktubre
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 30



« Respuesta #6 : 10 de Marzo de 2013, 00:43:12 »

Muchas gracias Miguel y Rock!!!!!!!!!

Mañana me pongo a estudiar sus propuestas

muy amables!
En línea

"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)
tapi8
Colaborador
PIC24H
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1395


« Respuesta #7 : 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????
En línea
oktubre
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 30



« Respuesta #8 : 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!!!
En línea

"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)
oktubre
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 30



« Respuesta #9 : 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.
En línea

"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)
cristian_elect
PIC18
****
Desconectado Desconectado

Peru Peru

Mensajes: 348


« Respuesta #10 : 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.


En línea
oktubre
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 30



« Respuesta #11 : 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.
En línea

"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)
MLO__
Colaborador
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 4504

MLO


« Respuesta #12 : 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 Wink

Saludos
En línea

El papel lo aguanta todo
cristian_elect
PIC18
****
Desconectado Desconectado

Peru Peru

Mensajes: 348


« Respuesta #13 : 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.
En línea
oktubre
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 30



« Respuesta #14 : 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.
En línea

"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)
oktubre
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 30



« Respuesta #15 : 17 de Marzo de 2013, 01:08:17 »

Cristian_elect:

Luego de varios días de búsqueda no lo encontré resuelto tal como lo precisaba. Lo más cercano que había era un post de BrunoF aquí:

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

Sobre como programar un PWM que me pareció excelente.

Ya dije que el esquema usado es el de XOCAS modificado:
http://www.todopic.com.ar/foros/index.php?topic=25995.0

Puse mi código para que no verifiquen y prueben. ¿Algo más?
En línea

"La palabra elefante ha matado muchos más animales de esa especie que cualquier otra arma" (alguno lo dijo)
MLO__
Colaborador
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Colombia Colombia

Mensajes: 4504

MLO


« Respuesta #16 : 17 de Marzo de 2013, 01:57:56 »

Hola

Lo bueno es que te funciona Wink ...

Con respecto a los MOSFETs ... creo que he visto unos inversores con base en ellos ... podria ser una buena opcion para aprovechar al maximo la potencia.

El circuito del maestro XOCAS es, justamente, para controlar un motor con el metodo de CONTROL DE FASE Wink .. por eso es necesario que tenga el MOC que tiene el cruce por cero. Mas sin embargo, tambien se puede hacer con PWM que involucren ciclos completos de la senal AC, pero, como dije anteriormente, tambien necesitan de sincronizacion con la frecuencia de red.

Si te funciona .. debe ser que hay coincidencias entre los 60Hz de la red con la frecuencia que genera el programa, pero no esta sincronizada; esto puede ser riesgoso por tratarse de una carga inductiva y, a la larga, puede afectarte al TRIAC.

Los codigos que postee son de un controlador de fase sincronizado con la red a 120V RMS, habria que calcular la resistencia de sensado de la frecuencia de red para 240V ... mira que sincronizando las senales quedaria mucho mas estable y confiable tu sistema Wink ...

Saludos y animo!! a seguir aprendiendo Wink
En línea

El papel lo aguanta todo
cristian_elect
PIC18
****
Desconectado Desconectado

Peru Peru

Mensajes: 348


« Respuesta #17 : 17 de Marzo de 2013, 02:08:26 »

El tema esta en el foro.
http://www.todopic.com.ar/foros/index.php?topic=4606.0

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

http://www.todopic.com.ar/foros/index.php?topic=37542.0
En línea
TODOPIC
   

 En línea
Páginas: [1] Imprimir 
« anterior próximo »
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.20 | SMF © 2006-2008, Simple Machines XHTML 1.0 válido! CSS válido!
Página creada en 0.064 segundos con 23 consultas.