SM1911B温湿度传感器,配合美国瑞士X温湿度传感器及RS485总线技术,基于工业用MODBUS-RTU协议,实现低成本温湿度状态在线监测的实用型一体化传感器。
本传感器可应用于(1)SMT行业温湿度数据监控 (2) 电子设备厂温湿度数据监控(3) 冷藏库温湿度监测(4) 仓库温湿度监测 (5) 药厂GMP监测系统(6) 环境温湿度监控(7) 电信机房温湿监控 (8)宾馆温湿度监控(9)档案室温湿度监控(10)智能家居温湿度监控(11) 其它需要监测温湿度的各种场合等。
为便于工程组网及工业应用,本传感器采用工业广泛使用的MODBUS-RTU通讯协议,支持二次开发。用户只需根据我们的通讯协议即可使用任何串口通讯软件实现传感器数据的查询和设置。
本产品包含防护型模块及一个防护型温湿度传感器。
1.采用进口传感器,精度高
2.RS485远距离通信接口,zui远可达1.2千米
3.指令简单
4.防护等X高达IP65
5.宽电压范围供电
6.组网方案,每个传感器都有一个地址,可任设意设置地址
7.高性价比
任何错误接线均有可能对产品造成不可逆的损坏。请在断电的情况下认真按如下方式接线,接好线确认无误后再通电使用。
RS485接口接口其引脚定义如下:
标号 | 引脚 | 说明 |
1 | V+ | DC 6-24V电源正 |
2 | V- | DC 6-24V电源负 |
3 | B- | RS485 B- |
4 | A+ | RS485 A |
SM1910B传感器内置RS485接口转换器,通过RS485总线的组网方式,可以将通讯距离延长到zui长1200米,可以X解决zui简连接的距离过短问题。
下图是基于SM1910B传感器典型温湿度监测与控制的RS485组网结构图,每个SM1910B传感器都有一个节点编号,一个小系统,可以放置1-35个SM1910B传感器。 因每个传感器采用宽电池供电,所以整个系统都可以采用总线供电的方案。
设备所有操作或回复命令都为16进制数据。默认通讯波特率:9600,8,n,1。
1. 基本命令格式:
[设备地址][功能码][起始地址:2字节][数据长度:2字节][CRC16校验]
意义如下:
A、设备地址:设备地址范围为1-249, 250即0xFA为通用查询地址,当不知道设备地址时,可用此通用查询地址进行查询。
B、功能码:不同的应用需求功能码不同,比如3为查询输入寄存器数据。
C、起始地址:查询或操作寄存器起始地址。
D、数据长度:读取的长度。
E、CRC校验:CRC16校验,低位在前,高位在后。
2.读取数据
读取数据.
命令说明 | 设备地址 | 功能码 | 起始地址 | 数据长度 | 校验码 |
使命格式 | 01 | 03 | 00 00 | 00 02 | C4 0B |
发送举例 | 01 03 00 00 00 02 C4 0B |
响应格式及举例:
响应说明 | 设备地址 | 功能码 | 数据长度 | 温度数据 | 湿度数据 | 校验码 |
响应格式 | 01 | 03 | 04 | 06 BE | 1D F4 | 92 48 |
响应举例 | 01 03 04 06 BE 1D F4 92 48 |
上例响应数据中:由于测点数据长度占两个字节,比如温度数据为06 BE, 折成10进制即为:1726,因模块分辨率为0.01,该值需除以100,即实际值为17.26度,同理:1D F4为湿度数据,十进制数据为:7668,湿度值为76.68%RH.
用户也可以根据寄存器地址,根据上述协议格式读取相应数据。产品可用寄存器列表如下:
组态软件中地址 | 寄存器地址 (十六进制) | 寄存器说明 | 数据类型 | 值范围 |
40001 | 00 01 | 温度 | 无符号整形 | 0-65535 |
40002 | 00 02 | 湿度 | 无符号整形 | 0-65535 |
40100 | 00 64 | 型号编码 | 无符号整形 | 1000-65535 |
40101 | 00 65 | 测点总数 | 无符号整形 | 1000-65535 |
40102 | 00 66 | 设备地址 | 无符号整形 | 1000-65535 |
40103 | 00 67 | 波特率 | 无符号整形 | 1-6 |
40104 | 00 68 | 通讯模式 | 无符号整形 | 1-2 |
40105 | 00 69 | 协议类型 | 无符号整形 | 1-3 |
40106 | 00 6A | 上传时间间隔 | 无符号整形 | 0-36000 |
40107 | 00 6B | 温度校正值 | 无符号整形 | 0-1000,64535-65535 |
40108 | 00 6C | 湿度校正值 | 无符号整形 | 0-1000,64535-65535 |
3.读取与修改设备地址
读取设备地址。若不知道当前设备地址、且总线上只有一个设备时,可以通过此命令查询当前设备地址。
命令说明 | 设备地址 | 功能码 | 起始地址 | 数据长度 | 校验码 |
使命格式 | 01 | 03 | 00 00 | 00 64 | D0 5E |
发送举例 | FA 03 00 64 00 01 D0 5E |
响应格式及举例:
响应说明 | 设备地址 | 功能码 | 数据长度 | 数据 | 校验码 |
响应格式 | 01 | 03 | 02 | 07 12 | 3A 79 |
响应举例 | 01 03 02 07 12 3A 79 |
更改设备地址
命令说明 | 设备地址 | 功能码 | 起始地址 | 目标地址 | 校验码 |
使命格式 | 01 | 03 | 00 66 | 00 02 | E8 14 |
发送举例 | 01 06 00 66 00 02 E8 14 |
上述举例将设备地址1更改为2。
响应格式及举例。成功更改后,设备会响应。
响应说明 | 设备地址 | 功能码 | 寄存器地址 | 目标地址 | 校验码 |
响应格式 | 02 | 06 | 00 66 | 00 02 | E8 27 |
响应举例 | 02 06 00 66 00 02 E8 27 |
4. 读取与修改波特率
读取波特率。设备默认出厂波特率为9600,若需要更改,可根据下表及相应通讯协议进行更改操作。
波特率 | 代码 | 备注 |
2400 | 1 | |
4800 | 2 | |
9600 | 3 | 默认 |
19200 | 4 | |
38400 | 5 | |
115200 | 6 |
读取波特率发送命令说明:
命令说明 | 设备地址 | 功能码 | 起始地址 | 数据长度 | 校验码 |
使命格式 | 01 | 03 | 00 67 | 00 01 | 35 D5 |
发送举例 | 01 03 00 67 00 01 35 D5 |
响应格式及举例:
响应说明 | 设备地址 | 功能码 | 数据长度 | 波特率代码 | 校验码 |
响应格式 | 01 | 03 | 02 | 00 03 | 3A 79 |
响应举例 | 01 03 02 00 03 F8 45 |
更改波特率
命令说明 | 设备地址 | 功能码 | 起始地址 | 目标地址 | 校验码 |
使命格式 | 01 | 03 | 00 66 | 00 02 | E8 14 |
发送举例 | 01 06 00 67 00 05 F8 16 |
上述举例将波特率从9600更改为38400,即将代码从3更改为5。
响应说明。成功更改后,新的波特率会即时生效,此时设备会失去响应,或响应不正确。
5. 修改通讯模式
本功能暂不支持用户修改操作。
6. 修改协议类型
本功能暂不支持用户修改操作。
7. 修改上传时间间隔
本功能暂不支持用户修改操作。
8. 温湿度校正值
当数据与参照标准有误差时,我们可以通过调整“温度校正值”来减小显示误差。 校正差值可修改范围为正负10度,即值范围为0-1000或64535-65535。
比如当温度显示值偏小1度时,我们通过增加1度来校正。因产品分辨率为0.01,实际通讯中,值1在命令中用100即十六进制0x64来表示;如果需要减小,则可以设置负值,比如-1度,对应十六制制值为FF 9C,其计算方式为100-65535=65435,再转为十六进制则为0x FF 9C。
我们以温度为例:
命令说明 | 设备地址 | 功能码 | 寄存器地址 | 校正参数 | 校验码 |
使命格式 | 01 | 03 | 00 6B | 00 64 | F9 FD |
发送举例 | 01 06 00 6B 00 64 F9 FD |
成功更改后,设备会响应。
响应说明 | 设备地址 | 功能码 | 寄存器地址 | 校正参数 | 校验码 |
响应格式 | 01 | 06 | 00 6B | 00 64 | F9 FD |
响应举例 | 01 06 00 6B 00 64 F9 FD |
湿度的校正值修改方法一样,只是寄存器地址为00 6C。
序号 | 名称 | 型号 | 数量 | 备注 |
1 | 智能温湿度传感器 | SM1911B | 1台 | |
2 | 说明书与合格证 | 1份 |
一.接线检查
1使用前请认真阅读接线说明,确保接线正确,因接线错误导致产品损坏不在免费质保范围内。
2 本产品禁止在大于85度或有化学物质环境下使用。
3 产品若发生故障不得自行拆卸。
二.故障分析与排除
1 没有通讯。
可能原因:
1) 检查接线是否正确:如果RS485信号线接反或供电小于DC5.5V都有可能造成无通讯;
2) 用户是否使用了USB转换线? 如果使用,驱动是否正确安装? 对应的串口号是否正确?
3) 是否更改过波特率,如果更改过,建议使用2400,4800,9600,19200,38400,115200挨个发送查询命令:FA 03 00 64 00 01 D0 5E,直到有数据。
2. 测温数据显示为0。
可能原因:
1) 若用户使用自己的调试工具或软件,检查寄存器地址是否正确;
4) 检查传感器接线是否有断线现象。
5) 传感器是否有浸水现象,若有,去掉结水烘干后再试。