Comunidad abierta sobre resultados y seguimiento

Montar un termostato casero con ESP32 y relé

Lectura de sensor DS18B20, control de carga y registro en pantalla OLED

Publicado en el tablón de domótica casera · Hilo abierto por un miembro del taller

Placa ESP32 conectada a sensor de temperatura y relé sobre mesa de trabajo
Montaje de prueba sobre la mesa: ESP32, DS18B20 en cable apantallado y módulo de relé de un canal.

La idea es sencilla y por eso funciona: leer una temperatura real, decidir con una histéresis clara y conmutar una carga pequeña sin pasar por ningún servicio en la nube. Lo uso para encender un ventilador de extracción cuando el banco de trabajo pasa de cierta temperatura, y el mismo esquema sirve para una resistencia de invernadero o para mantener estable una caja de cultivo. Nada de esto necesita WiFi: si el router cae, el termostato sigue decidiendo solo.

Conexionado y alimentación

El DS18B20 va con su resistencia de pull-up de 4.7 kΩ entre datos y 3.3 V, y el pin de datos a un GPIO cualquiera del ESP32. El relé se alimenta desde los 5 V de la placa y su entrada de señal se conecta a otro GPIO. Conviene separar físicamente el cable del sensor del cable de la carga: si van pegados en el mismo mazo, el pico de conmutación del relé se acopla y aparecen lecturas de 85 °C que no existen. Ese valor fijo es la firma clásica de una lectura fallida, no de un sensor roto.

Evitar lecturas erráticas en cables largos

Cuando el sensor queda a más de un metro, el bus OneWire se vuelve frágil. Tres cosas ayudan de verdad:

  • Cable apantallado con la malla a masa solo en el extremo del ESP32, nunca en los dos.
  • Una segunda resistencia de pull-up más baja, o bajar la velocidad del bus en la librería.
  • Descartar la primera lectura tras cada conmutación del relé y promediar las siguientes.

También merece la pena leer cada pocos segundos y no en bucle continuo: el sensor tarda unos 750 ms en convertir a 12 bits, y forzarlo más solo genera errores.

Histéresis y registro en OLED

El código mínimo compara la lectura con un umbral alto y otro bajo. Si la temperatura sube del alto, enciende el relé; solo lo apaga cuando baja del umbral bajo. Esa banda evita el chattering del contacto cuando la temperatura oscila en el límite. En la pantalla OLED de 128x64 muestro la temperatura actual, el estado del relé y el mínimo y máximo del día. Un apunte práctico: guarda el estado del relé en memoria no volátil para que un reinicio no deje la carga encendida sin control.

Si vienes de diagnosticar una fuente que no arranca, el hilo de reparación de fuentes conmutadas ATX comparte banco de trabajo con este montaje. Y si el siguiente paso es imprimir la carcasa del termostato, la guía de calibración tras cambiar el hotend te ahorra las primeras capas malas. Para dudas concretas de tu montaje, abre un hilo desde la página de contacto.

Moderación técnica

Hector Silva Gonzalez

Revisa que cada hilo traiga esquema, medidas y fotos del banco antes de moverlo a la categoría de domótica casera. Suele pedir la tensión real en el pin de datos del DS18B20 cuando alguien reporta lecturas de 85 grados fijos, un clásico de sensor mal alimentado o pull-up ausente.

Microcontroladores y firmware

Pablo Lopez Torres

Publica el código mínimo con histéresis y explica por qué conviene separar la lectura del sensor del disparo del relé. Ha documentado en varios hilos cómo el uso de delay() bloquea el bucle y provoca conmutaciones erráticas cuando la carga enciende y apaga rápido.

Instrumentación y medidas

Maria Perez Vargas

Comparte cómo verificar la conmutación con osciloscopio y por qué un cable largo sin apantallar mete ruido en la línea OneWire. Recomienda resistencias de pull-up de 4.7k y separar la alimentación del relé de la del ESP32 para no reiniciar la placa al cerrar el contacto.

Montaje y taller

Lorena Castro Silva

Se encarga de la parte física: cajas, borneras, disipación y ruteo de cables dentro del gabinete. Aporta fotos de instalaciones reales en talleres pequeños y recuerda que la pantalla OLED debe quedar accesible para leer la temperatura sin abrir la tapa.

Montar un termostato casero con ESP32 y relé

Fotos del banco de trabajo tal como quedó el prototipo antes de meterlo en la caja. Cada imagen lleva la nota de lo que se ve: cableado del DS18B20, módulo de relé, pantalla OLED y puntos donde conviene revisar antes de alimentar la carga.

Vista general

ESP32 sobre protoboard con sensor y relé

El ESP32 va en la fila superior con el GPIO 4 reservado para el bus OneWire del DS18B20 y el GPIO 5 para la señal del relé. La alimentación del módulo de relé se toma aparte de la del microcontrolador para que el pico de conmutación no reinicie la placa. Se ve la resistencia de 4.7 kΩ entre VCC y el pin de datos, sin ella el sensor no responde.

Conexionado

Sensor DS18B20 con cable apantallado

El sensor se montó con cable de tres hilos y malla conectada a masa solo en el lado del ESP32. En tiradas de más de un metro sin apantallar aparecen lecturas de 85 °C fijas, que es el valor por defecto del registro cuando la conversión falla. La malla a un solo extremo evita bucles de masa con la fuente del taller.

Carga

Relé conmutando una resistencia de baja potencia

El contacto del relé cierra el circuito de una resistencia de 200 W a 220 V, siempre con la fase cortada por el contacto y el neutro directo. Para cargas inductivas como un ventilador conviene añadir un snubber RC en paralelo al contacto, si no los arcos acortan la vida del relé en pocas semanas.

Registro

Pantalla OLED mostrando temperatura y estado

La OLED I2C de 128x64 va en los pines 21 y 22 del ESP32. En pantalla se muestran la temperatura actual, el umbral configurado y si el relé está activo. El código guarda el mínimo y el máximo de la sesión, útil para ver si la histéresis está bien ajustada o si el sistema oscila encendiendo y apagando cada pocos segundos.

Montaje final

Caja con separación entre baja y alta tensión

La parte de 220 V queda en un compartimento aparte, con pasacables y sin contacto con la zona del ESP32. El sensor sale por una regleta hacia el punto de medida. Es un montaje de taller, no un producto cerrado: si va a quedarse fijo, conviene sustituir la protoboard por placa perforada y sujetar los cables con bridas.

Si vas a replicarlo, empieza por el sensor solo y comprueba lecturas estables antes de conectar el relé. Los fallos de ruido se detectan mucho antes así.

Ver el hilo de reparación de fuentes ATX

Montar un termostato casero con ESP32 y relé

Antes de tocar el código del ESP32 conviene descartar lo obvio: alimentación del módulo de relé, puesta a tierra del sensor y longitud del cable. La mayoría de las consultas que llegan a este hilo se resuelven con una foto del montaje y dos medidas sobre la mesa de trabajo.

Foro abierto

Publica el fallo con fotos del banco, el esquema del conexionado y los valores que lees en el monitor serie. Los hilos con medidas reales reciben respuesta de gente que ya montó el mismo circuito con ESP32 y relé de 5 V.

Abrir un hilo en soporte

Correo directo

Para dudas que incluyen capturas de código o esquemas en PDF, el correo funciona mejor que el tablón. Adjunta el archivo del sketch y una nota con la versión de la librería DallasTemperature que estás usando.

info@ecerthub.com

Teléfono del taller

Si el problema es de ruido en cables largos hacia el sensor o de rebotes en el relé, una llamada corta aclara más que veinte mensajes. Atendemos en horario de taller, cuando hay alguien soldando al otro lado.

+52 48 6600 0430

Tiempos de respuesta orientativos. Los hilos del foro suelen recibir la primera respuesta el mismo día si el asunto está bien descrito. El correo se revisa en un plazo de uno o dos días hábiles, y las llamadas se devuelven cuando el banco de trabajo queda libre. Si el montaje es urgente porque alimenta un invernadero o una incubadora, dilo en el asunto y se prioriza.

Antes de escribir, revisa el formulario de contacto para ver qué datos conviene adjuntar. Y si tu duda es sobre el código de histéresis o el registro en la pantalla OLED, la respuesta probablemente ya esté en el hilo fijado del subforo de domótica casera.

Montar un termostato casero con ESP32 y relé

Un par de aclaraciones que suelen aparecer en los hilos cuando alguien publica su primer termostato con ESP32. Van antes del esquema para que nadie se lleve una sorpresa con la carga que va a conmutar.

Configuracion de cookies

Usamos cookies para mantener el sitio estable, recordar opciones basicas y entender que paginas resultan utiles. Puedes aceptar, rechazar o revisar la configuracion antes de continuar.