Problema con Modulo Rele Arduino se cuelga

Hola a todos,

Me estoy montando un termostato para mi casita con Arduino.

Lo que tengo hasta ahora es un Arduino Uno R3 con un modulo LCD I2C, unos pulsadores para controlar las funciones y un modulo Rele 5v para manejar circuitos de alterna a 220v y un sensor DHT22

Todo conectado a 5V del arduino y a GND.

Cuando pongo el conjunto a funcionar tengo el trigger de temperaruta en 21 grados y enciendo y apago una bombilla. Tengo la bombilla cerca del sensor para que haga unas pruebas de activacion y desactivacion del ciclo.

Pues bien, si tengo el arduino conectado al PC para ver la salida serial, al cabo de una serie de activaciones, se desconecta, pero sigue funcionando y al rato se bloquea todo y no responde. Si lo conecto al una fuente de 9V 1A, hay veces que se bloquea todo al igual que por el usb y hay otra que sigue funcionando pero que por el LCD empiezan a aparecer caracteres raros...

He notado que los bloqueos vienen con una activacion del rele.

Tener paciencia conmigo, no estoy muy agil en temas de circuitos, lo mio es mas programar...

Muchas gracias de antemano.

Te estaba respondiendo si usabas un relé pero hablas de un módulo Relé asi que debemos suponer que esta con su transistor y su diodo en antiparalelo.
Y solo activas una lámpara. Qué tipo de lámpara? Una de bajo consumo, ? parpadea al arrancar o lo hace inmediatamente?
Busco razones para imaginar ruido eléctrico

Es una bombilla LED de las que tienen en el IKEA y se enciende en el momento, ni se queja...

Llevo 2 dias googleando y no veo nada...

Si necesitais fotos, videos lo que sea, pedirlo e intento subirlos para que tengais la mayor info posible.

Michas gracias.

No entiendo porqué te genera ruido, por que ese es el problema que al menos yo veo.

La historia es que unas veces se bloquea y otras veces todo sigue funcionando pero el LCD empieza a mostrar caracteres raros estilo @ y demas; y entre medias se ve lo que yo imprimo...

He probado con un diodo Flyback, con una resistencia de 10K en el pin de salida, colocando diodos en VND y en GND y lo maximo que he conseguido que funcione han sido 45 minutos, donde en un encendido como he comentado antes se queda colgado...

Aunque parece poco tener que ver, postea tu código.
También intenta dibujar un esquema de como esta todo conectado. O busca alguno que se asemeje a tu conexionado.

Intenta probar alimentando el rele con una fuente externa ,como un cargador de mobil,fuente de pc o similar.conecta el gnd de la fuente externa al gnd del arduino.A falta de ver tu skech,quiza pueda ser tambien que sobrepasas el consumo que permite el regulador del arduino ,aunque un dht,lcd y un solo rele tampoco parece excesivo.

El ESP necesita una fuente de corriente interesante mas allá de solicitar 200mA en Transmision y 120 o 130 en recepción, todos recomiendan una fuente de 1A. Presta atención a ese posible fallo.
Con un nodemcu he querido activar un modulo rele y no funcionaba bien, asi que tuve que usar una fuente de 5V para el rele y entonces si se comportó apropiadamente. El control lo mantuve en 3.3V porque la etapa de entrada (transitor) se sigue saturando bien como para accionar el rele.

Esta tarde os subo todo...

Ya he probado a alimentarlo con una fuente externa y de esa forma se bloqueaba el LCD.

No tengo ningun modulo ESP conectado aun, pero tengo la firme intencion.

A ver si cuando suba el diagrama y el sketch sabeis decirme por donde van los tiros...

Muchas gracias

Hola a todos,

Ya tengo el esquema de mi prototipo, y también os paso el codigo entero...

Perdonar si algo no está del todo bien, tengo mente de 64bits y no soy muy ducho en electronica...

Lo tenéis en los adjuntos...

Termostato.ino (17.4 KB)

El código veo que es muy grande pero la foto debe verse, asi que lee las normas y posteala usando el tag de imágen.

Porque usas entradas analogicas para leer el estado de un pulsador?

Usas el pin A3 para controlar el LCD y para leer el estado de un pulsador?

#define LCD_BACKLIGHT_CONTROL_PIN A3
#define BUTTON_MENU_SET A3

Bueno la razón de tu problema creo que esta en el manejo de tu librería Thread.
Te recomiendo que uses o vigiles la RAM Libre en diferentes momentos del programa porque sospecho que te quedas sin ella por eso se cuelga.
Si buscas en el foro hay una pequeña rutina que te dice la memoria Free disponible.

Hola surbyte,

El PIN A3 le uso para la misma cosa en realidad activa la funcion de menu, pero la primera vez que se pulsa simplemente activa la retroiluminacion del lcd.

El porque estoy usando un PIN Analogico para controlar un pulsador, es porque necesito el resto de pines digitales para enganchar un wifi a nrf400 y un wifi para conectarlo a internet y necesitan los pines digitales que me quedan.

Intentare vigilar el tema de la memoria, aunque no creo que vayan por hay los tiros, sin el rele todo funciona perfecto y durante dias, ha sido enganchar el rele y adios muy buenas. De echo hay veces que se cae el puerto serie cuando lo tengo conectado al pc y el rele enciende la bombilla.

Aqui tienes la imagen bien:

Muchas gracias.

Hola gente!

Trasteando esta tarde con mi montaje y para descartar por fin la sospecha de la memoria he implementado un codigo muy sencillo, cada segundo se activa o desactiva el rele de forma iterativa. Hecho esto he visto que con mi montaje inicial petaba sin un numero definido de iteraciones, visto esto, simplemente se me ocurrio... ¿y si quito la dichosa bombilla?

Pues bien, despues de quitar la bombilla os puedo decir sin miedo que el rele se ha metido sus mas de 3000 iteraciones y no se ha quejado. Visto esto he vuelto a meterle carga al rele, le he metido un transformador de tension con una lampara de plasma. Y otra vez genial, sin ningun problema hacia sus ciclos perfecto.

Ahora he vuelto a lanzar el montaje de nuevo y lo tengo corriendo con una luz con zumbador antimosquitos para que el dth22 coja temperature y el termostato haga sus ciclos completos.

Darme un par de dias antes de cerrarme el hilo para asegurarme que lo dejo atado el tema del rele.

Muchas gracias por vuestra ayuda y vuestro tiempo. :slight_smile:

PD: Cuidadin con las bombillas led del IKEA que las carga el diablo!!!

El porque estoy usando un PIN Analogico para controlar un pulsador, es porque necesito el resto de pines digitales para enganchar un wifi a nrf400 y un wifi para conectarlo a internet y necesitan los pines digitales que me quedan.

Puedes usar cualquier pin analogico como digital declarandolo en el setup como si fuera digital:

pinMode(A0,INPUT);// para entrada digital
pinMode(A0,OUTPUT);//para salida digital

Mil gracias jose, no tenia ni idea de eso!!

Mil gracias por vuestra ayuda chicos, lleva 2 dias enteritos funcionando sin problemas.

  • Dichosa bombilla del IKEA...

Modifica el titulo agregando [SOLUCIONADO] al final