- 来源:
- 日期: 2017-09-14
一、产品描述:
HTMRRS485网络型温湿度传感器是一款含有已校准的温湿度一体的传感器,测量环境的温度和湿度以数字形式通过Modbus-RTU协议输出到RS485组网网络上。作为网络中的独立节点,响应主机发来的命令,将测量的数据以数据包的形式通过RS485总线上传回主机。
二、性能指标:
■ 供电电压 DC 5V
■ 测量精度 湿度:±3%RH:温度:±0.5℃ (60%RH,25℃)
■ 电源功耗 ≦50mW
■ 输 出 RS485 Modbus_RTU(协议可订制)
■ 测量范围 湿度20%—95%RH 温度 -20℃-80℃
■ 工作温度 -10℃--60℃
三、外观尺寸示意图:(模块外壳为选配部件,单位mm
HTMRRS485网络型温湿度传感器是一款含有已校准的温湿度一体的传感器,测量环境的温度和湿度以数字形式通过Modbus-RTU协议输出到RS485组网网络上。作为网络中的独立节点,响应主机发来的命令,将测量的数据以数据包的形式通过RS485总线上传回主机。
二、性能指标:
■ 供电电压 DC 5V
■ 测量精度 湿度:±3%RH:温度:±0.5℃ (60%RH,25℃)
■ 电源功耗 ≦50mW
■ 输 出 RS485 Modbus_RTU(协议可订制)
■ 测量范围 湿度20%—95%RH 温度 -20℃-80℃
■ 工作温度 -10℃--60℃
三、外观尺寸示意图:(模块外壳为选配部件,单位mm
四、RS485网络型温湿度模块通讯协议
4.1 协议简介
采用Modbus-RTU协议,遵循主从工作模式,工作的基本过程是一系列周而复始的呼叫——应答,呼叫为主方设备(通常是PC 机)发出,指向挂在总线某处具有确定地址的从方设备,从方则以应答方式确认收到呼叫并返回主方所要的数据。
数据格式为:8位数据位,1位停止位,无校验(N,8,1)
通信波特率默认为9600bps。
4.2 Modbus-RTU寄存器地址
地址 | 内容 |
0000 40001 | 温度数据 |
0001 40002 | 湿度数据 |
0002 40003 | 地址数据 |
0003 40004 | 通迅波特率数据 |
0004 40005 | 温度修正数据 |
0005 40006 | 湿度修正数据 |
备注:本模块只能响应特定起始地址、寄存器个数的Modbus-RTU命令 |
4.4 读寄存器:功能码:0x03读取保持寄存器
4.4.1 读温湿度数据
A 主机请求:
主机向模块发送命令(十六进制),命令格式:地址码、功能码、寄存器起始地址高位、寄存器起始地址低位、寄存器个数高位、寄存器个数低位、CRC校验低位、CRC校验高位。如:01 03 00 00 00 02 c4 0b,地址码范围01~FE,即254个,功能码固定为0x03,寄存器启始位固定为0x0000,寄存器个数固定为0x0002
说明 | 字节数 | 数据 | 命令帧 |
地址码 | 8位1字节 | 0x01 | 0x01 |
功能码 | 8位1字节 | 0x03 | 0x03 |
寄存器起始地址高位 | 16位2字节 | 0x0000 | 0x00 |
寄存器起始地址低位 | 0x00 | ||
寄存器个数高位 | 16位2字节 | 0x0002 | 0x00 |
寄存器个数低位 | 0x02 | ||
CRC16低位 | 16位2字节 | 0xc40b | 0xc4 |
CRC16高位 | 0x0b |
B 模块响应:
模块向主机返回9个字节的帧数据(十六进制),数据格式为:地址码、功能码、温湿度数据字节长度、温度数据高位、温度数据低位、湿度数据高位、湿度数据低位、CRC校验低位、CRC校验高位。
如:01 03 04 01 20 01 82 7b f4表示编号位01的模块温度为+28.8℃,湿度为38.6%RH。(如果温度是负温,温度数据用补码表示,即int型数据。如-28.8度则温度数据为0xFEE0)
温湿度数据为接到的数据除以10,如温度数据:0x0120=288,所以温度为+28.8℃
4.5 写寄存器 功能码:0x10
4.5.1 设置波特率
A主机向模块发送命令(十六进制),命令格式:地址码、功能码、寄存器启始地址高位、寄存器启始地址低位、寄存器个数高位、寄存个数低位、字节数、波特率数据、CRC校验低位、CRC校验高位。如:01 10 00 03 00 01 02 00 02 27 a2,表示向0003寄存器,写入数据0x0002,将波特率设置为4800BPS
波特率与数据关系:
B设置成功后,模块返回:地址码、功能码、寄存器起始地址高位、寄存器起始地址低位、寄存器数量高位、寄存器数量低位、CRC校验低位,CRC校验高位,如01 10 00 03 00 01 f1 c9
4.5.2设置地址:
A主机向模块发送命令(十六进制),命令格式:地址码、功能码、寄存器启始地址高位、寄存器启始地址低位、寄存器个数高位、寄存个数低位、字节数、波特率数据、CRC校验低位、CRC校验高位。如:01 10 00 02 00 01 02 00 02 26 73,表示向0002寄存器,写入数据0x0002,将地址设置为0x02
说明 | 字节数 | 数据 | 命令帧 |
地址码 | 8位1字节 | 0x01 | 0x01 |
功能码 | 8位1字节 | 0x03 | 0x03 |
数据字节数 | 8位1字节 | 0x04 | 0x04 |
数据1(温度数据)高位 | 16位2字节 | 0x0120 | 0x01 |
数据1(温度数据)低位 | 0x20 | ||
数据2(湿度数据)高位 | 16位2字节 | 0x0182 | 0x01 |
数据2(湿度数据)低位 | 0x82 | ||
CRC16低位 | 16位2字节 |
0x7bf4 | 0x7b |
CRC16高位 | 0xf4 | ||
4.5 写寄存器 功能码:0x10
4.5.1 设置波特率
A主机向模块发送命令(十六进制),命令格式:地址码、功能码、寄存器启始地址高位、寄存器启始地址低位、寄存器个数高位、寄存个数低位、字节数、波特率数据、CRC校验低位、CRC校验高位。如:01 10 00 03 00 01 02 00 02 27 a2,表示向0003寄存器,写入数据0x0002,将波特率设置为4800BPS
说明 | 字节数 | 数据 | 命令帧 |
地址码 | 8位1字节 | 0x01 | 0x01 |
功能码 | 8位1字节 | 0x10 | 0x10 |
寄存器起始地址高位 | 16位2字节 | 0x0003 | 0x00 |
寄存器起始地址低位 | 0x03 | ||
寄存器个数高位 | 16位2字节 | 0x0001 | 0x00 |
寄存器个数低位 | 0x01 | ||
字节数 | 8位1字节 | 0x02 | 0x02 |
波特率数据高位 | 16位2字节 | 0x0002 | 0x00 |
波特率数据低位 | 0x02 | ||
CRC16低位 | 16位2字节 | 0x27a2 | 0x27 |
CRC16高位 | 0xa2 |
波特率与数据关系:
波特率数据 | 0001H | 0002H | 0003H | 0004H |
波特率 | 1200BPS | 4800BPS | 9600BPS | 19200BPS |
B设置成功后,模块返回:地址码、功能码、寄存器起始地址高位、寄存器起始地址低位、寄存器数量高位、寄存器数量低位、CRC校验低位,CRC校验高位,如01 10 00 03 00 01 f1 c9
说明 | 字节数 | 数据 | 命令帧 |
地址码 | 8位1字节 | 0x01 | 0x01 |
功能码 | 8位1字节 | 0x10 | 0x10 |
寄存器起始地址高位 | 16位2字节 | 0x0003 | 0x00 |
寄存器起始地址低位 | 0x03 | ||
寄存器个数高位 | 16位2字节 | 0x0001 | 0x00 |
寄存器个数低位 | 0x01 | ||
CRC16低位 | 16位2字节 | 0xf1c9 | 0xf1 |
CRC16高位 | 0xc9 |
4.5.2设置地址:
A主机向模块发送命令(十六进制),命令格式:地址码、功能码、寄存器启始地址高位、寄存器启始地址低位、寄存器个数高位、寄存个数低位、字节数、波特率数据、CRC校验低位、CRC校验高位。如:01 10 00 02 00 01 02 00 02 26 73,表示向0002寄存器,写入数据0x0002,将地址设置为0x02
说明 | 字节数 | 数据 | 命令帧 |
地址码 | 8位1字节 | 0x01 | 0x01 |
功能码 | 8位1字节 | 0x10 | 0x10 |
寄存器起始地址高位 | 16位2字节 | 0x0002 | 0x00 |
寄存器起始地址低位 | 0x02 | ||
寄存器个数高位 | 16位2字节 | 0x0001 | 0x00 |
寄存器个数低位 | 0x01 | ||
字节数 | 8位1字节 | 0x02 | 0x02 |
目标地址高位 | 16位2字节 | 0x0002 | 0x00 |
目标地址低位 | 0x02 | ||
CRC16低位 | 16位2字节 | 0x27a2 | 0x26 |
CRC16高位 | 0x73 |
B设置成功后,模块返回:地址码、功能码、寄存器起始地址高位、寄存器起始地址低位、寄存器数量高位、寄存器数量低位、CRC校验低位,CRC校验高位,如01 10 00 02 00 01 a0 09
说明 | 字节数 | 数据 | 命令帧 |
地址码 | 8位1字节 | 0x01 | 0x01 |
功能码 | 8位1字节 | 0x10 | 0x10 |
寄存器起始地址高位 | 16位2字节 | 0x0003 | 0x00 |
寄存器起始地址低位 | 0x02 | ||
寄存器个数高位 | 16位2字节 | 0x0001 | 0x00 |
寄存器个数低位 | 0x01 | ||
CRC16低位 | 16位2字节 | 0xf1c9 | 0xa0 |
CRC16高位 | 0x09 |
4.6 RS485网络连接说明:
每个探头并没有连接120欧终端电阻。当需要组网连接时,可以在首未端添加匹配电阻。为保证通信质量,组网时应采用总线拓扑结构,不能采用星形或环形拓扑结构,否则会影响通信质量。
4.7 RS485组网拓扑结构示意图
五、产品接线示意图
5.1接线示意图
六、注意事项
- 避免阳光直射
- 谨防静电,不要用手或安装工具等物触碰湿度模块敏感元件。
- 不要安装在尘埃较多的场所,以免影响测量精度。
- 建议连接采用屏蔽双绞线。
七、其他参数设置请参照HG-RS485参数设置工具。(使用方法另附)
附:HG-RS485参数设置工具使用说明:
一、模块与电脑连接:按以下两种接法之一连接好模块。
通过RS485转接口与电脑连接
通过RS485转USB线与电脑连接
二、打开“HG-RS485参数设置工具”选择正确的Com口。
Com口号根据不同的连接器产生的com号不相同。请查看我的电脑à点右键à属性à硬件à设备管理器
选择正确的com口号与正确的波特率后,点击“打开串口”
串口成功打开后,指示部分会变送绿色。
1、将模式设置为测量模式
2、 根据模块说明书设置正确的地址与功能码。本例以地址码=0x01,功能码=03演示。正确设置后点击“开始/暂停读取图标”。如地址与功能码、波特率与模块相同的话,显示窗口会显示模块的温湿度数据,否则显示错误
四、读取温湿度修正值
步骤:
1、选择为测试模式;
2、选择读取的模块地址,点击“读取修正值”。
五、设置地址:说明:此部分仅对没有地址编码器的RS485模块有效
步骤:1、设置为“设置模式”
2、单个设置:指针对某个模块设置。即将指定地址的模块改为新的地址,仅对一个模块起作用。设置方法:
1)先择指定的模块地址,再选择要设置新的地址,再点击“单个设置”按钮,成功设置后,状态显示“地址设置成功”。例如将指定1号地址的模块,设置成2号地址:
3、广播设置:指对连接到总线的所有模块地址进行地址设置。主要用于不知原来地址的模块使用,或批量设置同一地址。设置时忽略检测原地址;
1)选择要设置的新地址,点击“广播式设置”。广播式设置时,无状态返回。
六、设置温湿度修正值
此项设置用来修正测量时的平移误差,将测量值增加或减少,修正平移偏差。
设置方法:1、选择要修正的模块或模块地址
2、在温度或湿度修正框内输入要修正的值。点击“设置温度”或“设置湿度”,成功设备后,状态栏显示“设置修正值成功”
例如:向指定地址为0x01的模块将温度向上修正0.5℃。如要向下修正时,输入-0.5即可。
七、设置波特率与传感器的重置
步骤:1、设置为“设置模式”
2、单个设置:指针对某个模块设置。即将指定地址的模块改为新的波特率,仅对一个模块起作用。设置方法:
1)先择指定的模块地址,再选择要设置新的波特率,再点击“单个设置”按钮,成功设置后,状态显示“波特率设置成功”。例如将指定1号地址的模块,设置成4800BPS:
3、广播设置:指对连接到总线的所有模块地址进行波特率设置。主要用于批量设置同一地址。设置时忽略检测地址;
1)选择要设置的波特率,点击“广播式设置”。广播式设置时,无状态返回
4、当传感器需要重置时
1)重设地址。由于传感器唯独只有4种波特率选择,所以可以轮番使用不同的波特率进行广播地址设定。
2)地址设定后,就通过切换不同波特率进行通讯,从而找到当前波特率。
3)这时再根据波特率,进行想要的波特率设定
通过上三步就可以达到重置的效果。
广州九思科技有限公司致力于传感器行业,以湿度传感器为基础,是一家集研发、生产、销售及传感器应用、方案、服务为一体的科技型企业。主要产品有:甲醛传感器、温湿度传感器、温湿度控制器、温湿度模拟模块、温湿度数字模块、压力传感器、一氧化碳传感器等。
上一篇: 压力传感器的工作原理
下一篇: 智能数显温湿度开关模块
Copyright © 广州九思科技有限公司 工信部备案:粤ICP备17116274号
热线:18148980326 广州科学城南翔一路68号第二栋209 URL:www.jiusikj.com
本站部分图文来源网络,如有侵权问题请通知我们处理!
网站建设维护