Go Down

Topic: Detectar 220V (Read 732 times) previous topic - next topic

ingeniero18

Aug 10, 2018, 12:54 am Last Edit: Aug 10, 2018, 04:49 pm by surbyte Reason: Las imagenes deben verse
Cómo andan? Necesito detectar la presencia o ausencia de la red eléctrica de 220Vx50Hz. Lo primero que se me vino a la cabeza fue poner un relay con bobina de 220V, pero el presupuesto se me va por las nubes ya que necesito varios.
Investigando, me encontré con un circuito con optoacoplador y lo simulé, dándome el resultado de la imagen adjunta.
Mis duda es la siguiente: ¿Una entrada digital de un Arduino Uno r3 soportará tal señal con variaciones de unos 140mV (entre 4.86V y 4.72V) y 50Hz? Si la soporta, ¿la interpretará como un 1 lógico continuo?

Muchas gracias!!!!



tauro0221

Hi,
El circuito es correcto pero le anadiria una resistencia de 300 ohmios del colector  a los 5 voltios. Esto te limitara la corriente y evitara danar el transistor del optocouple. Tambien aumentaria la capacidad del condesador de 1uf a 10 uf.

ingeniero18

Hi,
El circuito es correcto pero le anadiria una resistencia de 300 ohmios del colector  a los 5 voltios. Esto te limitara la corriente y evitara danar el transistor del optocouple. Tambien aumentaria la capacidad del condesador de 1uf a 10 uf.
Gracias tauro0221!!! Agregué la R en colector y aumenté el capacitor y la señal mejoró muchísimo!!! El tema es que la respuesta es muy lenta (casi 1 segundo), por lo que lo bajé a 4.7uF y me dio una respuesta mucho más rápida (aprox. 300mSeg.).
Lo simulo en protoboard y comento.
Igualmente, si alguien tiene algo más que aportar, lo agradecería!!!!

tauro0221

Hi,
Acuerdate que el circuito es para aislar el arduino del alto voltaje y darte un pulso de 8.33 milisegundos ya que el optocoupler te filtra el AC negativo. Por lo tanto al anadirle el condesador es para filtrar el AC y proveerte una senal digital todo el tiempo.Tu lo que busca es detectar si perdistes el AC. Si este es a caso entonces debes  haces una rutina que lea los pulsos. Si no lees pulsos perdistes el AC. No necesita los condesadores.

ingeniero18

Hi,
Acuerdate que el circuito es para aislar el arduino del alto voltaje y darte un pulso de 8.33 milisegundos ya que el optocoupler te filtra el AC negativo. Por lo tanto al anadirle el condesador es para filtrar el AC y proveerte una senal digital todo el tiempo.Tu lo que busca es detectar si perdistes el AC. Si este es a caso entonces debes  haces una rutina que lea los pulsos. Si no lees pulsos perdistes el AC. No necesita los condesadores.
Tal cual... lo único que requiero es detectar la presencia de la tensión de red. Lo que no te entendí es lo último, refiriéndote a "no necesitar los condensadores"...

tauro0221

Hi,
Lo que pasa si es que si entiendo lo que desea hacer es determinar si perdistes el voltaje.  Por lo tanto el optocoupler te va a dar un pulso cada vez que el voltaje AC es positivo. Para saber si tienes voltaje solamente lo que debes de hacer es leer los  pulsos como una entrada digital y si la entrada es positiva quire decir que tienes voltaje. Si le anades el condesador entonces la senal sera digital y si perdes el voltaje entonces tendras un delay en lo que se descarga el condesador.  Recuerda que el AC es senoidal y al anadirle  el condesador la vaz a filtrar y el resultado sera un voltaje de DC. Si no te importa el delay entoces puedes dejarle el condesador.

surbyte

Quote
El circuito es correcto pero le anadiria una resistencia de 300 ohmios del colector  a los 5 voltios.
Una R de 300 ohms en el circuito de colector-emisor pasa desapercibida @tauro. Tienes una R de 300k desde emisor a GND.
Asi que tus 300 ohms seran 30300 ohms sumados.

Primer problema, eso es simulador.. y no sentiras ni se quemará nada.
Pocos optoacopladores toleran una Tensión inversa de 330 volts (Vpp = 220x1.41) asi que te falta un diodo en antiparalelo a la entrada o bien un puente de diodos y luego si, el circuito propuesto.

La constante RC es la que te da la descarga del capacitor. Se ve ahi que la descarga es muy rápida. Por eso al aumentar considerablemente de 1uf a 4.7uF mejoró la estabilidad de la salida.
Luego ampliio mi respuesta.

Daniel_Arg

Ya se que dices que necesitas saber de la presencia o ausencia de la energía eléctrica, pero sería mejor que nos digas que es lo que quieres hacer con ello.

En mi caso intento restaurar mi vieja lavadora y en el programa lo primero que hice fue habilitar la interrupción del pin2 para que una función me grabe la variable Stepp.

Entonces de los 12v voltios de donde alimento a arduino pongo un diodo y un regulador 7805, y la salida de este directo al pin2.. Todo los accesorios como el LDC toman los 5 v de aquí.

He logrado grabar 4 byte de la eeprom cuando desconecto la energía y si a los 5v de arduino le pongo un capacitor de 470 microfaradios grabé 11 bytes de memoria.


Por supuesto que la intención es que cuando retome la energía leer la variables y reanudar el programa de lavado.


Bien podrías necesitar saber el instante mismo donde te quedas sin energía de la red y disparar una unidad de respaldo eléctrico.

En tu gráfico usas 4n25 pero existen optos ideales para el paso por cero que tienen un diodo para cada ciclo de la alterna H11AA1 y SFH620AA

Saludos.


surbyte

A mi el método de que a la salida logres un valor lógico no me gusta.

Me la simpleza del optoacoplador indicando por su salida con un pulso de 5V que ha habido un cruce por cero y eso ataca una interrupción y ésta se refrezque cada 10 mseg o 8.33mseg (sea 50 o 60Hz) para indicarte si hay o no AC.

Entonces cada 10/8.33 mseg tengo la información de que la AC esta ON/OFF.


Pablo_Lucini

Yo tengo implementado algo similar en una fuente switching con cargador de baterías que utiliza ese método para conmutar cuando desaparece la tensión de red (UPS). El circuito del sibujo no está mal excepto que el led del opto no soporta la tensión inversa de la red. Para tal fin yo le agregué un led en antiparalelo que conduce en el semiciclo que no lo hace el del opto y de paso sirve de indicador de presencia de linea. Otra cosa es que por ahi con ese valor de resistencia no llegues a exitar al optoacoplador. Yo terminé usando una R de 56k/2W con un pc817 y a la salida del opto disparo un 555 cuyo pulso dura unos 3 ciclos de 50Hz. Así me aseguro que se redispare permanentemente sin interrupciones y apenas deja de haber 220vac conmuta rápidamente.
 

ingeniero18

Listo gente!!! Juntando toda la data que me pasaron que me sirvió muchísimo, y evaluando señales reales mediante mediciones con osciloscopio, mi circuito quedó de la siguiente forma:

Alimentando con la línea de 220V, expuse a esta una resistencia en serie de 100KOhm por 1Watt. Luego de ella, alimenté un opto acoplador Cny17-4 (el cual tiene un alto CTR) y, en paralelo a este, un led en antiparalelo el cual también me indica el estado de línea según me comentó @tauro0221. El resultado es una alimentación de 1,2V para el fotodiodo y 1,96V para el Led. A la salida, el emisor a masa, el colector con una pull-up de 10KOhm y por este último la salida del circuito, con una resistencia de 390KOhm y un capacitor de 100uF ambos en paralelo y a masa. Con este conjunto me aseguro un 1 con una tensión de 4,72V (la cual alcanza para activar una entrada del Arduino) y un 0 de 76mV pico a pico montado sobre una continua de 134mV.

Que piensan??? :-)

Pablo_Lucini

100uF  me parece que te da una constante de tiempo muy alta. Cuando no haya 220vac el opto no conduce y el capacitor que estaba a la tensión del colector (0,3v) en un primer instante es un cero hasta que se carga a través de los 10k y a su vez cuando vuelven los 220vac se descarga sobre el opto violentamente y podría dañarlo. yo probaría con 4,7 o 10uF y pondría en serie una R chica para que limite la corriente de descarga del Capacitor sobre el opto.

ingeniero18

100uF  me parece que te da una constante de tiempo muy alta. Cuando no haya 220vac el opto no conduce y el capacitor que estaba a la tensión del colector (0,3v) en un primer instante es un cero hasta que se carga a través de los 10k y a su vez cuando vuelven los 220vac se descarga sobre el opto violentamente y podría dañarlo. yo probaría con 4,7 o 10uF y pondría en serie una R chica para que limite la corriente de descarga del Capacitor sobre el opto.
El capa de 100uF lo puse ya que priorizo más el bajo ripple de salida que la carga rápida. Igualmente, no tuve en cuenta lo de la descarga sobre el opto. De cuánto recomendás la R chica?

surbyte

R x C es la constante de tiempo: Si C esta en uF R en Kohms resultado en msegundos.

Calcula tu el valor en base a eso.

Con un Contante de tiempo de 20 o 30 mseg max 50 mseg estas sobrado.

ingeniero18

R x C es la constante de tiempo: Si C esta en uF R en Kohms resultado en msegundos.
No me refiero a la R de salida, sino a la resistencia en serie que me recomendaron para proteger el opto...

Go Up