如何使用ESP32通过ModBus读取MD02(SHT20)传感器寄存器?
MD02(SHT20)Modbus通信无响应问题排查与解决
核心问题定位方向
结合你的描述和代码,最可能的问题集中在RS485半双工控制、通信参数不匹配、Modbus请求帧正确性这三个方面,按以下步骤逐一排查:
1. 必须处理RS485模块的DE/RE引脚(最关键)
你使用的HW0519是RS485转TTL模块,Modbus RTU是半双工通信,必须通过DE/RE引脚切换收发模式,否则无法正常发送/接收数据:
- 将HW0519的DE和RE引脚接同一个ESP32 GPIO(比如GPIO2,两者通常短接使用)
- 修改代码添加引脚控制:
#define RXD2 16 #define TXD2 17 #define DE_RE_PIN 2 // 新增DE/RE控制引脚 byte ByteArray[250]; int ByteData[20]; void setup() { Serial.begin(9600); Serial2.begin(9600, SERIAL_8N1, RXD2, TXD2); pinMode(DE_RE_PIN, OUTPUT); digitalWrite(DE_RE_PIN, LOW); // 默认处于接收模式 } void loop() { delay(1000); byte msg[] = {0x01,0x04,0x00,0x01,0x00,0x01,0x60,0x0A}; int len = sizeof(msg)/sizeof(msg[0]); Serial.println("Sending Data..."); // 切换到发送模式 digitalWrite(DE_RE_PIN, HIGH); for(int i=0 ; i < len ; i++){ Serial2.write(msg[i]); Serial.print("["); Serial.print(i); Serial.print("]="); Serial.print(String(msg[i],HEX)); } Serial2.flush(); // 等待所有字节发送完成 delay(10); // 确保发送完成,避免切换过早丢失数据 digitalWrite(DE_RE_PIN, LOW); // 切回接收模式 Serial.println("\n\nReceiving Data..."); unsigned long timeout = millis() + 100; // 设置100ms超时 int a = 0; // 带超时的响应读取,避免漏读 while(millis() < timeout && a < sizeof(ByteArray)){ if(Serial2.available()){ ByteArray[a] = Serial2.read(); Serial.print("["); Serial.print(a); Serial.print("]="); Serial.print(String(ByteArray[a],HEX)); Serial.print(" "); a++; } } Serial.println("\n"); }
2. 确认通信参数完全匹配
- 检查传感器默认的波特率、奇偶校验、停止位:部分MD02系列模块默认波特率可能是4800而非9600,或者带奇偶校验(比如偶校验),必须和代码中的
Serial2.begin(9600, SERIAL_8N1, RXD2, TXD2)完全一致 - 确认传感器的从站地址:你当前用的是0x01,若模块默认地址不是0x01,请求会被忽略。可以用Modbus Poll的“Slave ID Scanner”功能扫描地址范围1-10,找到正确的从站地址
3. 验证Modbus请求帧的正确性
- 检查寄存器地址:XY-MD02的温度寄存器通常是
0x0000,湿度是0x0001,你当前请求的是0x0001(湿度),如果要读温度,需要把帧改成0x01,0x04,0x00,0x00,0x00,0x01,0x31,0xCA(CRC已重新计算) - 验证CRC校验:用Modbus CRC16计算器核对你发送的帧,确保最后两个字节的CRC值正确,错误的CRC会导致传感器直接丢弃请求
4. 硬件接线细节检查
- RS485的A、B线不能接反:HW0519的A对应传感器的A,B对应传感器的B,接反会导致信号无法传输
- 若通信距离超过10米,在RS485总线两端(传感器和HW0519侧)各接一个120Ω终端电阻,提升信号稳定性
- 确认HW0519的供电电压符合要求(通常是5V),电压不足会导致通信异常
内容的提问来源于stack exchange,提问作者renaldyks
相关产品推荐
相关产品推荐

