ESP32 Relay X8 Modbus
Placa de 8 relés + 8 entradas para OberDomo. Sirve de Maestro de pruebas y, sobre todo, de placa remota (esclava) RS485.
Qué es
Placa comercial estándar (serigrafía ESP32_Relay_X8_Modbus), con ESP32, 8 relés de contacto seco, 8 entradas opto-aisladas y bus RS485. En OberDomo se usa de dos formas:
- Esclava (recomendado): placa remota del Maestro por RS485. No depende del WiFi.
- Maestro de pruebas: para banco. No para instalar en cliente (ese es el Maestro S3 con Ethernet).
Características
| Elemento | Detalle |
|---|---|
| MCU | ESP32 (módulo ESP32-32E), USB por CH340, 4 MB flash. Solo WiFi. |
| Relés | 8 × SONGLE SRD-05VDC-SL-C · 10 A 250 VAC. Contacto seco NO · COM · NC. Vía 74HC595. |
| Entradas | 8 opto-aisladas (TLP785). Bornes IN / GND, los 8 GND comunes. Vía 74HC165. |
| Bus | RS485 SP3485, bornes A / B, terminación 120 Ω incluida, dirección automática. |
| UART del bus | UART2 → TX GPIO17, RX GPIO16 (cabecera «5V GND TX2 RX2»). |
| Alimentación | 9–24 V DC (regulador conmutado). Recomendado 24 V. |
Bornes y conexiones
Relés: NO · COM · NC
Contacto seco conmutado por relé. Persiana de 2 relés: COM = fase; el de marcha lleva su NO al COM del de sentido; el de sentido NC→subir, NO→bajar.
Entradas opto IN / GND
Cada pulsador entre su IN y un GND. Los 8 GND son comunes: un solo hilo común vale para todos.
RS485: A / B
Bus de 2 hilos A y B + GND de referencia (del borne de alimentación). Termina con 120 Ω en los dos extremos; cada placa ya trae la suya.
UART2 y módulo ESP32
Cabecera «5V GND TX2 RX2» = UART2 (TX GPIO17 / RX GPIO16), donde va el RS485.
Ejemplos de cableado
Bus RS485 (Maestro ↔ Esclava)
A↔A, B↔B, GND↔GND. El GND es el del borne de alimentación/RS485, no el de las entradas. Misma velocidad (9600) y una dirección distinta por esclava. En buses de 3+ placas, quita la 120 Ω de las intermedias.
Persiana con 2 relés
R1 da corriente (marcha/paro); R2 elige el sentido. L→COM R1, NO R1→COM R2, NC R2→Subir, NO R2→Bajar, N→Común. Así nunca se dan subir y bajar a la vez.
Pulsadores a las entradas
Cada pulsador entre su IN y GND. Los 8 GND de entrada son comunes: un solo hilo común vale para todos. Entradas opto-aisladas (no mezclar con el GND del RS485).
Alimentación
24 V recomendado (misma fuente que el resto de la instalación). Rango 9–24 V DC. El relé conmuta su carga aparte, por los contactos NO/COM/NC (contacto seco).
Ayuda rápida
- La esclava no responde en el bus: revisa que A y B no estén cruzados, que el GND del bus esté unido, misma velocidad (9600 8N1), dirección única por placa y las 120 Ω solo en los dos extremos.
- El relé hace clic pero la persiana no se mueve: comprueba el cableado NO/COM/NC y que R1 (marcha) y R2 (sentido) sigan el esquema; mide con el polímetro el contacto que cierra.
- Un pulsador no entra: debe ir entre su IN y un GND de entrada (común). No uses el GND del RS485/alimentación para los pulsadores.
- No aparece el puerto COM al grabar: instala el driver CH340 (USB-SERIAL) y usa un cable USB de datos.
- Se reinicia o falla con 24 V: comprueba que el regulador no se calienta; si la instalación es larga, acerca la fuente o sube sección de cable.
- Dos masas: recuerda que el GND de las entradas (aislado) y el GND del RS485/alimentación son distintos. No los unas.
Cómo grabar el firmware
Los dos firmwares son imagen única: se graban en el offset 0. Con la placa conectada por USB (CH340):
esptool.py --chip esp32 --port COM? --baud 921600 write_flash 0x0 <archivo>.bin
En Windows, COM? es el puerto que sale en el Administrador de dispositivos (USB-SERIAL CH340). También se puede grabar con un flasher web de ESP32 apuntando al mismo .bin en 0x0.
Rol ESCLAVA (placa remota RS485)
Firmware Modbus RTU, sin WiFi. El Maestro la controla por el bus.
Mapa Modbus
| Modbus | Función | Qué es |
|---|---|---|
| Coils 0–7 | FC1 leer · FC5/FC15 escribir | Relés 1–8 |
| Discrete Inputs 0–7 | FC2 leer | Entradas 1–8 |
Por defecto: dirección 1, 9600 8N1. Para varias esclavas en el mismo bus, cada una con una dirección distinta (se cambia en el firmware, MB_SLAVE_ID).
Dar de alta en el Maestro
- Une el bus: A↔A, B↔B, GND↔GND entre Maestro y esclava.
- En OberDomo Tech, activa Modbus y añade una placa remota con su dirección.
- Sus 8 relés y 8 entradas aparecen en Tech y en la app, dentro de la instalación.
Rol MAESTRO (banco de pruebas)
Firmware OberDomo 3.8.0 para probar en banco con relés reales. No es un Maestro de cliente (ese es el S3 con Ethernet).
Descargar Maestro pruebas v3.8.0
Puesta en marcha
- Tras grabar, crea su WiFi «OberDomo» (clave
12345678); abrehttp://192.168.4.1. - Entra con
12345678y pon la WiFi de la casa. Cambia esa contraseña dentro. - Autorízalo en el nodo y trabájalo con OberDomo Tech como un miniserver más.
Nota: en esta placa el RS485 va por WiFi solo para el panel; el control del bus es Modbus. Los relés y entradas son reales.