Información
¿Qué es?
El XY MD02 es un transmisor de temperatura y humedad con salida RS485 y protocolo Modbus RTU, para monitoreo en línea. Usa un sensor digital SHT20 y se monta en riel DIN 35.
Entrega mediciones en tiempo real en instalaciones industriales, bodegas, laboratorios e invernaderos.
Características
- Tecnología de bus RS485 y protocolo Modbus RTU para monitoreo remoto.
- Alimentación de 5 a 30 V DC, con bornes VCC+ y GND marcados.
- Medición en tiempo real de temperatura y humedad.
- Montaje en riel DIN 35 y bornera enchufable de 4 polos.
- Compatible con múltiples aplicaciones industriales y comerciales.
Especificaciones
| Especificación | Detalles |
|---|---|
| Modelo | XY MD02 |
| Material | Plástico ABS |
| Fuente de alimentación | DC 5 a 30 V (respeta la polaridad VCC+ y GND) |
| Consumo de energía | Menor a 0,2 W |
| Rango de temperatura | 40 °C bajo cero a 60 °C (el equipo opera hasta 85 °C) |
| Rango de humedad | 0 a 80 %RH |
| Precisión de temperatura | ±0,5 °C |
| Precisión de humedad | ±3 %RH |
| Interfaz de comunicación | RS485 estándar |
| Velocidad de transmisión | 9600, 14400 o 19200 bps (9600 8N1 por defecto) |
| Protocolo de comunicación | Modbus RTU |
| Dirección de comunicación | Configurable de 1 a 247 (predeterminado 1) |
| Dimensiones | 65 x 46 x 28,5 mm (según el manual) |
| Montaje | Riel DIN 35 |
| Peso | 40 g |
Documentación
Información Adicional
PINOUT
DIMENSIONES
Se usa en salas de telecomunicaciones, fábricas y estaciones meteorológicas. Como habla Modbus RTU, lo leen los PLC y los sistemas SCADA.
Enlaces Externos
Manual del XY MD02 (PDF en inglés)
Video del cambio de dirección y velocidad (CIBTEC)
Preguntas Frecuentes
¿Qué ventaja tiene este transmisor RS485 sobre un DHT22 o un SHT31?
El XY MD02 entrega la lectura por RS485 con Modbus RTU, y su manual declara 1000 m de comunicación. El DHT22 y el SHT31 están pensados para cables cortos junto a la placa.
- RS485 transmite en forma diferencial por los cables A y B, y así la señal resiste mejor el ruido de motores y tableros.
- Varios transmisores comparten el mismo par de cables de datos, cada uno con su dirección Modbus (de 1 a 247).
- Se alimenta con 5 a 30 V DC, así que funciona con las fuentes de 12 V o 24 V de un tablero.
- Se monta en riel DIN 35.
¿Qué rango mide, con qué precisión y se puede calibrar?
Según el manual, mide temperatura desde 40 °C bajo cero hasta 60 °C con ±0,5 °C, y humedad de 0 a 80 %RH con ±3 %RH. La resolución es de 0,1 en ambas lecturas.
El equipo trabaja entre 40 °C bajo cero y 85 °C, con humedad ambiente de 0 a 95 %RH. Los 125 °C y los ±0,3 °C que aparecen en otras fuentes corresponden al chip SHT20 suelto, no al transmisor.
El manual trae además un ajuste de la lectura en los registros holding 0x0103 (temperatura) y 0x0104 (humedad), de hasta 10 °C y 10 %RH hacia arriba o hacia abajo. Se escribe con la función 06, igual que la dirección. El manual no indica en qué escala va ese valor, así que prueba primero con uno chico, compara la lectura antes y después, y vuelve a escribir 0 para quitar el ajuste.
¿Cómo leo la temperatura y la humedad desde Arduino, ESP32, Raspberry Pi o un PC?
Pide registros de entrada con la función Modbus 04 (Read Input Registers) al esclavo 1, a 9600 bps y 8N1, que es la configuración de fábrica. El registro 0x0001 trae la temperatura y el 0x0002 la humedad. También puedes leer los dos juntos desde 0x0001 con cantidad 2.
Los valores vienen multiplicados por 10. La temperatura es un entero con signo, así que 0x0131 (305) son 30,5 °C y 0xFF33 son 20,5 °C bajo cero. En humedad, 0x0222 (546) son 54,6 %RH.
Si pides registros holding (función 03) no obtienes las lecturas. En este equipo los holding guardan la configuración, es decir, la dirección, la velocidad y el ajuste de temperatura y humedad.
- Con un PC o una Raspberry Pi usa un conversor USB a RS485 y un programa como Modbus Poll, o una librería Modbus en Python.
- Con Arduino usa un módulo TTL a RS485 con chip MAX485, que trabaja a 5 V, y una librería Modbus RTU. En ModbusMaster la lectura es
readInputRegisters(0x0001, 2)y en ArduinoModbus esinputRegisterRead(). - Con un ESP32, cuyos pines trabajan a 3,3 V, usa un transceptor de 3,3 V como el SP3485.
¿Cómo conecto la alimentación y los cables A y B?
La bornera enchufable de 4 polos viene rotulada VCC+, GND, 485A y 485B. Conecta el positivo de una fuente de 5 a 30 V DC a VCC+ y el negativo a GND. Respeta esa polaridad, porque el manual no declara protección contra una conexión invertida.
El transmisor necesita su propia fuente, ya que los cables A y B solo llevan datos. Une 485A con el borne A del conversor y 485B con el borne B. Si quedan cruzados no hay comunicación, y basta con intercambiarlos.
Si el transmisor y el conversor usan fuentes distintas, une también el GND del transmisor con el GND del conversor, o con el GND del Arduino si usas un módulo MAX485. El receptor RS485 tolera solo una diferencia limitada de tensión entre las tierras de los dos equipos, y sin esa referencia común la lectura puede fallar. Entre tableros alejados, alimentados desde partes distintas de la instalación eléctrica, una unión directa forma un lazo de tierra. Para ese caso la norma RS485 recomienda poner una resistencia en esa unión, y Texas Instruments, en su guía de preguntas frecuentes de RS485 de abril de 2023, recomienda usar un conversor aislado.
¿Qué es el protocolo Modbus RTU y por qué se usa?
Modbus RTU es un protocolo serie de tipo maestro y esclavo, y RS485 es la línea física por donde viaja. El maestro (un PC, un PLC o un microcontrolador) envía una consulta con la dirección de un esclavo y el número de registro, y solo responde el equipo que tiene esa dirección. Por eso varios transmisores pueden compartir los mismos cables A y B.
Es un estándar abierto que leen los PLC y los sistemas SCADA.
¿Necesito una resistencia de terminación?
Con un solo transmisor a pocos metros del maestro, normalmente no. En un bus largo con varios equipos se pone una resistencia de 120 ohm entre A y B en los dos extremos físicos del cable, es decir, en el maestro y en el último transmisor.
El manual del XY MD02 no indica si trae una resistencia interna. Revisa también si tu conversor o módulo ya trae una de 120 ohm, para no duplicarla.
¿Cómo cambio la dirección o la velocidad para usar varios sensores en el mismo bus?
Todos salen de fábrica con la dirección 1 y 9600 bps, así que en un bus compartido cada uno necesita una dirección distinta. Conéctalos al maestro de a uno y escribe la nueva dirección (de 1 a 247) en el registro holding 0x0101, con la función 06 (Write Single Register) o la 16 (Write Multiple Registers).
La velocidad va en el registro holding 0x0102, y el manual la anota de dos formas. Su tabla de registros usa 0 para 9600, 1 para 14400 y 2 para 19200 bps, y su ejemplo con la función 16 escribe 0x2580, que es 9600. Lee ese registro con la función 03 antes de cambiarlo para ver qué formato usa tu unidad.
Después de un cambio, configura el maestro con la dirección y la velocidad nuevas y lee 0x0101 y 0x0102 con la función 03 para comprobarlo. El manual no dice si el cambio rige de inmediato. Si no responde con los valores nuevos, desenergízalo unos segundos, vuelve a energizarlo y lee otra vez.




























































































