ESP32 & Interferencias Electricas.

Hola a todos.

Como es mi primer Post lo primero es saludar a todos los miembros de esta comunidad, aunque ya llevo algo de tiempo leyendo vuestro foro, el tener un pequeño problema me animo a darme de alta en él.

Tengo un ESP32, al que por I2C tengo conectado 3 puertos PCF8574, dos empleados como entradas digitales, y el otro como salidas.

Los puertos de entradas los leo mediante la interrupción que producen al cambiar de estado alguna de sus entradas.

El puerto de salidas lo empleo para controlar la típica placa de 4 relés que venden para Arduino, y que te viene todo hecho, a su vez los relés de esta placa los empleare para controlar varios relés mecánicos.

Todo ello controlado por WiFi mediante la App Blynk.

Hasta aquí he conseguido que todo vaya bien, el problema me vino en el momento en que conecte la placa de 4 reles a un relé mecánico, para que fuera controlado por la mencionada placa, la bobina de este relé mecánico me producía interferencias en los puertos de entrada que producían falsos cambios en las entradas de estos, al final poniendo en la bobina del relé mecánico una resistencia y un condensador he conseguido que funcione bien.

La duda que tengo ahora, es que al tener que montar mi ESP32 en un armario eléctrico en el que hay al menos 10 reles y un contactor, pues en cada una de sus bobinas voy a tener que poner su respectiva resistencia con su condensador, por lo que me gustaría saber si hay alguna forma de evitarme esto ???,

  • Desde una solución que me pudiera proteger de las interferencias, pero al mismo tiempo me siguiera permitiendo conectar el ESP32 por WiFi.

  • A montar mi proyecto fuera del armario y luego llevara cables hasta los reles mecánicos de ese armario, pero no si tendría la seguridad de evitarme las mencionadas interferencias.

Por lo que cualquier consejo será de agradecer.

Un saludo al foro
BlackTiger69

Continuando con mi post anterior he seguido realizando pruebas.

He observado que aún poniendo en la bobina de mi relé mecánico una red R-C he seguido teniendo alguna interferencia en mis puertos de entrada, interferencias que he conseguido solucionar poniendo una red R-C en paralelo a la carga que controlaba mi relé mecánico, la carga no era más que una lampara led alimentada a 220V.

También he probado a poner mi relé mecánico sin red R-C a una distancia de 1 metro de mis puertos de entrada, las interferencias seguían afectando a mis puertos de entrada.

Dado que muchos de nosotros tenemos más tiempo libre del que quisiéramos, seguiré haciendo pruebas.

Un saludo al foro.

Hi,
Los ruidos electromanecticos se producen el los relays mecanicos debido a los vibraciones de los contactos del relay al cerrar/abrir. Para evitar estos ruidos se usan los snubbers o los MOV para controlar estos ruidos. Ahora cuando los voltajes son altos como tu mencionas de 220 voltios se recomindan los SSR de AC y si son de zero cruzes te evita estos ruidos.Ya tu dices que instalastes los snubbers que es un condensador de como .05uf y una resistencia de 50 ohmios en seria conectado en paralelo a los contactos o usar un MOV en paralelo a los contactos. Esto no quire decir que va a resolver tu problema pues tambien depende como tienes los cables alrededor del systema. Una solucion aunque ya tiene los relays mecanicos es de cambiarlos a SSR y te va a resolver el problema de los ruidos. Tienes que tener cuidado pues hay algunos SSR que necesitan un voltaje de 70 a 220 voltios minimo y tambien la corriente que estos usan.Los hay sencillos y modulos de 1,2, 4 y 8 relays en un modulo.

Hola tauro0221.

Gracias por contestar.

La verdad es que esto de las interferencias electromagnéticas o EMI parece una leyenda urbana hasta que las sufres.

El montaje que tengo es en plan provisional, y en principio era para testear el funcionamiento del programa intentando acercarme los más posible a las condiciones reales en las que tenía que trabajar, por lo que el cableado esta de cualquier manera, especialmente el de 220v, el único consuelo que tengo es que si consigo que funcione de forma estable, como parece que sí, el día que lo monte en su final ubicación no creo que tenga más problemas de los que ya he tenido, y al menos tendré idea de por donde van los tiros.

El armario donde tengo los relés mecánicos y mi contactor no me planteo el sustituirlos por los relés que me aconsejas, tan solo por el trabajo que me llevaría.

He pedido en Aliexpress lo siguiente:

que si no me equivoco es una red R-C junto con un varistor, al menos probare que tal va, aunque solo sea por curiosidad, solo tengo una pregunta x si la sabes, debería ir montado lo más cercano posible al rele electromecánico, verdad ???, para que sea lo más eficaz posible.

También he pedido núcleos de ferrita para ver si se nota que hacen algo.

Esta tarde he realizado otra prueba más, he leído en algún PDF que para proteger a los circuitos de las interferencias se podía poner una placa de aluminio encima conectándola con un cable a tierra, pues lo he probado, quitando previamente una red R-C, y la verdad es que no me ha funcionado.

La verdad es que esto ya me lo tomo como una especie de experimento.

Un saludo
BlackTiger 69

Hi,
Ese modulo es un snubber con un mov ambos en paralelo. Creo que el MOV es la mejor alternativa pero tienes que seleccionar un MOV que el voltaje de disparo no sea muy alto. Normalmente yo lo selecciono mas o menos de un voltaje de 25 voltios por encima del voltaje que se esta usando. Por ejemplo si el voltaje es de 220 AV entonces el voltaje de trabajo del MOV seria de 245 voltios. Si no se consigue de ese voltaje entonces selecciono el MOV mas cercano hacia arriba del voltaje que necesito.Otra cosa que debes de hacer es de trenzar los cables que van conectados a la salida de los relays. Esto hace que el voltaje electromanectico se cancelen. Por eso es bueno simpre trenzar los cables.Una cosa que seria bueno es que PS usas y mas o menos como tiene alambrado el systema. Como alimentas los relays y si tienes un PS independiente del ESP32. UN dibujo ayudaria mucho incluyendo como tienes los grounds instalados.

Gracias Tauro0221.

Lo de trenzar los cables lo desconocía, probare a ver que tal va.

La placa de 4 relés que venden para Arduino probé alimentarla con otra fuente de alimentación a parte, para separar la parte eléctrica de los puertos I2C y la placa ESP32, de la de los relés, y la verdad es que no funciono.

He encontrado Varistores de 240v y de 270v, cual me recomendarías ????.

Un saludo y gracias de nuevo.

BlackTiger69

Hi,
Usa el de 270V AC. Creo que es el mas indicado.Tambien tienes que tipo de relays ya que hay de diferentes estilo o el link de donde lo comprastes. Que tipo de PS usas ya que tambien vienen de diferentes tipos. Los hay tipo switchers, los hay tipo lineares y los hay con un transformador que sirve para aislar el arduino del alto voltaje. Por eso fue que te pedi que hicieras un dibujo de como tienes todo el systema instalado/alambrado con las decripciones de los PS y los componentes.Ya se que los nombrastes al principio.

Hola Tauro0221.

Modulo de relés para Arduino:

modulo-rele-4-canales-5v-para-arduino.jpg

Los cuales como mencione probé alimentarlos con la misma fuente de alimentación que mi placa ESP32 y con otra aparte, sin encontrar mejoría.

Los relés mecanicos que empleo es el siguiente:

Rele Omron.jpg

Estos relés se usan bastante en la industria, y la verdad es que son bastante fiables.

La F.A. que empleo es muy básica, pero también he probado con una de un ordenador , y también a alimentar través del USB, y no he notado ninguna mejoría.

También he encargado unos varistores como el que me has aconsejado, para ver si es una solución más eficaz que la red R-C.

Un saludo y gracias.

modulo-rele-4-canales-5v-para-arduino.jpg

Rele Omron.jpg

Hi,
No dices como energizas el relay OMRON como aparece en el link.Este require de un driver para energizarlo. Estas usando los relays OMRON o estas usando el modulo de los relays. Creo que lo ideal seria que hicieras un dibujo de como tienes el sytema alambrados con todos los componentes pues dices que usas los relays OMRON y los modulos. Perdona pero creo que debes de pasar por las normas del forum para que veas como se incluyen los link para que se vean en el hilo.

blacktiger69 te pido por favor que edites todos los hilos donde has posteado enlaces de manera errónea.
Lee las Normas del foro.

Entre todas las sugerencias la mejor opción es que uses los SSR o relés de estado sólido que a su vez los hay de dos tipos: los que disparan en cualquier momento de la AC y los que lo hacen cuando la AC cruza por cero y minimizan de este modo los ruidos electricos. A quienes los usan en general y no puedo decirlo con una confiabildad del 100% pero digamos que en muy alto grado les ha resuelto el problema.
Los hay de todo tipo, de baja corriente y tambien hasta de cientos de amperes.
Todos se controlan del mismo modo que lo haces con los reles que mencionas de modo que solo cambias el tipo de RELE accionado.

Busca Arduino SSR y verás.

Hola de nuevo.

Creo conveniente explicar en que ando embarcado para que sea más fácil lo que estoy haciendo. Tengo un garaje en el mi pueblo que mediante unas series de automatizaciones eléctricas controlo lo siguiente:

  • Iluminación Exterior del Garaje.

  • Iluminación Interior del Garaje.

  • Apertura/Cierre Puertas del Garaje.

Voy a explicar solamente en que consisten estas automatizaciones eléctricas para por ejemplo la "Iluminación Exterior del Garaje", simplemente por no extenderme en exceso y se coja simplemente la idea.

En la Iluminación Exterior del Garaje las causas de su encendido y apagado pueden ser las siguientes:

  • Pulsador físico que se encuentra dentro del propio garaje.

  • Mando a distancia junto con su receptor, para de esta forma desde el exterior del garaje poder encender y apagar las luces a voluntad.

  • En el exterior del garaje hay un detector crepuscular y, en las puertas del garaje hay un final de carrera, por lo que cuando se abren las puertas del garaje para la entrada de un vehículo y, si hay poca luz en la calle, se enciende la iluminación exterior, una vez que se cierran de nuevo las puertas del garaje, la iluminación exterior se apaga. En el caso de que previamente a la apertura de las puertas la iluminación del exterior del garaje estuviera encendida, esta no se verá afectada por lo expuesto anteriormente.

Repito esto ya lo tengo funcionando, lo que quiero añadir es que mediante el ESP32 y la App Blynk poder controlar mediante el móvil lo que dicho al principio de este post.

Para ello, y continuando con el caso de la Iluminación Exterior del Garaje, en la pantalla de mi móvil no tengo solo un pulsador para encender/apagar la iluminación, si no que también hay un led que me indica si la iluminación exterior esta encendida o apagada, ya que como expuesto anteriormente, hay 3 formas distintas de gobernar la Iluminación Exterior del Garaje, más la propia del ESP32, en total 4.

Por lo que mi ESP32 para poder encender/apagar la iluminación exterior debe gobernar un relé, con cuyo contactor auxiliar activar/desactivar la iluminación, además en el relé que controla directamente la iluminación exterior del garaje deberá tener un contacto auxiliar para informar directamente al ESP32 si la iluminación exterior esta encendida o apagada, por que repito además del ESP32 hay otras 3 maneras distintas de encender/apagar la Iluminación Exterior del Garaje.

Con lo expuesto, si hay preguntas las intentare contestar.

Un saludo
BlackTiger69.

Hola Tauro.

El esquema eléctrico con el ordenador lo estoy haciendo, te pongo uno hecho a mano para que te hagas una idea, es a grueso modo de lo que tengo realizado, ya que según me van saliendo problemas voy añadiendo o modificando cosas.

Aunque en el esquema solo he representado un puerto de entradas, en realidad son dos, además de que por las prisas seguramente alguna cosa me habré dejado.

En base a ello espero resolver alguna de tus preguntas, lo que no te quede claro házmelo saber.

Un saludo
BlackTiger69

Hola surbyte.

Espero haber satisfecho las normas del foro.

Respecto a lo de emplear reles de estado solido, en un proyecto que comienzas completamente de cero no dudo que sea la mejor opción, pero cuando ya hay un importante trabajo realizado previamente es para pensarlo y mucho, para que me comprendas te voy a poner una foto del armario en el que pensaba poner mi ESP32.

Como comprederas sustituir todo por SSR es una currada.

Trabajo de mantenimiento industrial en una fabrica y cuando ves los precios que llevan los PLC, ves el potencial que tendría el mundo Arduino, lo malo es que en general las placas Arduino creo que no están hechas para trabajar en un entorno tan hostil, hablando electricamente, por que creeme, coger un armario de 2 metros de alto por 1 metro de ancho y sustituir todos reles y contactores por SSR no es una opción.

Un saludo
BlackTiger69

Hi,
Veo que tienes los snubbers estan instalados en el coil de los relays y deben de ir instalados en paralelo con el contacto. Trata el snubber hasta que puedas consiguuir los MOV. Adjunto foto de como instalarlos. Los snubber trabajan en que cuando el contacto esta cerrado descarga el condesador y cuando lo abre el condesador se carga y evita el ruido.Pregunta donde se encuentran los PCF8524 y que distancia estan del micro.Otra cosa que noto y es que estas usando los 3.3 voltios me imagino del micro y no es buena practica ya que esto puede introducir ruido hacia el micro.Otra cosa que yo haria es de eliminar los PCF8524 por uno adjunto foto de 4 opto coupler. Esto te aisla el micro complemtamente de los interface.Vienen de 4 y 8 canales tambien puedes usar la salina del micro ya que vienen de 3.3 como se ve la tabla de los voltajes de entrada.Solamente una sugerencia.

Hola Tauro0221.

Sigo con mis pruebas para ver que es lo mejor que funciona.

  • He probado a poner la red R-C en paralelo al contacto y me cortocircuita este de forma permanente, por lo que le llega corriente a la carga, no se si hago algo mal, pero a mi no me funciona.

  • Sin embargo con una red R-C puesta en paralelo a una bobina o a una carga si que se ha demostrado eficaz para disminuir las interferencias eléctricas.

Te dejo algo de información para que veas las distintas opciones que hay a la hora de poner una red R-C.

He realizado pruebas para saber a partir de que distancia las interferencias generadas por mi rele mecánico empiezan a afectar a mis puertos I2C:

  • Sin red R-C en la bobina del rele mecánico a partir de una distancia aproximada de 3 metros deja afectarme.

  • Con la red R-C en la bobina del rele mecánico puedo tener mi rele mecánico a una distancia aproximada de 20cm sin tener interferencias.

La placa ESP32 según el fabricante es capaz de suministrar hasta 1A, en principio solo la emplearía para alimentar al propio ESP32 y los puertos PCF8574, estos últimos estan a una distancia de mi ESP32 de 10 o 15cm.

El motivo por el que empleo puertos PCF8574 es que con los pines digitales que trae el ESP32 hago corto para poder realizar mi aplicación, te dejo la placa que he comprado.

Las entradas de los puertos PCF8574 como me has comentado, lo mejor es hacerlo mediante optoaclopador, de hecho alguna de ellas ya he tenido hacerlo, ya que tengo alguna de señal de 24VCC y tengo que adaptarla a 3.3Vcc, te dejo la placa que he comprado.

Optoacloplador.jpg

Hablando de las entradas de los puertos PCF8574, si te fijas he puesto un circuito antirebotes con un condensador de 100nF, este circuito funciona bien para por ejemplo si conectas el típico pulsador o interruptor que hay en muchas placas de electrónica, pero en el momento que conectaba el contacto auxiliar de un rele mecánico me producía rebotes que no era capaz de suprimir, por lo que en este caso he tenido que aumentar el valor del condensador hasta 1uF para que fuera bien.

Un saludo
BlackTiger69.

Optoacloplador.jpg

Hi,
Dices que cuando conectas el snubber te cruza el contacto. Tienes que tener cuidado pues el condesador debe de ser de acuerdo al voltaje. Mira a ver que voltaje aguanta el condesador que estas usando. En cuanto a los optocoupler que esta en la foto ese es un optocoupler de 4 canales. y los puedes usar ya que la salida es de un transistor. Adjunto el esquematico de la tarjeta para referencia.Que paso con los MOV. Me parece que si instalas los MOV en los contactos te va a resolver el problema. Ahora abra que ver si el modulo que usas tienen diodos en paralelo al coil del relay. Deben tener uno para evitar el alto voltaje que se forma al energizar/ de engizar el relay. Pregunta estas usando el modulo o estas usando el relay Omron. Si es asi debes de conectarle un diodo en el coil de relay. Adjunto foto de como conectar el diodo en paralelo al coil del relay. Posiblemente cuando le anades el snubber te elimina el ruido.

Hola Tauro.

Cuando pongo la red R-C en paralelo al contacto lo puentea, el condensador es de 400V, y he probado con un par para ver si podía ser debido a que el condensador estuviera defectuoso.

He estado mirando el modulo de reles de Arduino y tiene un diodo en paralelo a la bobina del rele, por lo que por eso lado no hay ningún problema.

Buscando he encontrado un varistor, y lo he puesto en paralelo al contacto, tal como muestra el esquema que me pusiste anteriormente, y la verdad es que allí donde lo he puesto he dejado ya de tener interferencias eléctricas, ahora a ver si recibo los que encargue.

Un saludo
BlackTiger69

Hi,
Esa es una buena noticia. Se me olvido felicitarte pues ese cabinete esta bien profecional y los componentes estan bien montado y organizado. Otra cosa es de que lo cables deben trenzarse para que si hay ruidos se canselen y no se transmitan atravez del cabinete. Se me olvido decirte que el condesador que se usa en los snubbers no puede ser electroliticos si los usas te van cruzar el contacto y pueden explotar ya que estas usando AC y los electroliticos se usan solamente en corriente DC.