一、产品阐述 深圳星科创公司设计生产的超声波液位探测传感器,采用超声波穿透技术,实现对容器内的液体高度非接触探测,把液体高度值转化成RS485信号输出。
产品实物图 产品应用示意图
二、 产品特点 ·••非接触式测量液位,安全
·••10V-36V工作电压宽
••全量程实时跟踪,空容器进液不需重启
·••安装调试大幅简便
·••RS485输出
·••传感器中心频率为2MHz
·••工作温度-15℃到+60℃
·••存储温度-25℃到+80℃
·••测量分辨力1mm
·••静电防护设计,连接引线加入静电防护器件,符合IEC61000-4-2标准
三、适用范围 •钢、玻璃、铁、陶瓷、不发泡塑料等密实材料容器内液体有无探测报警
•无严重沉积纯净单一液体或相溶性混合液体的液位界位实时探测
四、 基本参数 参数项 | DS1603DA | 单位 | 备注 |
工作电压 | 10-36 | V | DC |
平均工作电流 | <30 | mA | (1) |
盲区距离 | ≤50 | mm | (2) |
探测液位高度 | 50-2000 | mm | (2) |
工作周期 | 1 | S | |
输出方式 | RS485 | | |
分辨力 | 1 | mm | |
常温精度 | ±(5+S*1%) | mm | (3) |
探头中心频率 | 2 | MHz | |
ESD | ±4/±8 | KV | (4) |
备注:(1)12V供电,1S工作周期测试所得数据。
(2)常温下10mm厚度钢板容器,容器直径400mm测试水所得数据。
(3)常温下10mm厚度钢板容器测试水所得数据,S表示当前液位高度。
(4)探头外壳、端子引线符合IEC61000-4-2标准。
五、机械特性 六、引脚定义 引脚标识 | 引脚名称 | 引脚描述 | 备注 |
红色引线 | VCC | 10V-36V电源输入引线 | |
黑色引线 | GND | 地线引线 | |
黄色引线 | A | DATA﹢引线 | |
白色引线 | B | DATA﹣引线 | |
七、品质参数 1额定环境条件 项目 | 最小值 | 典型值 | 值 | 单位 | 备注 |
存贮温度 | -25 | 25 | 80 | ℃ | |
存贮湿度 | | 65% | 90% | RH | (1) |
工作温度 | -15 | 25 | 60 | ℃ | |
工作湿度 | | 65% | 80% | RH | (1) |
备注:(1) a、环境温度在0-39℃时,湿度值为90%(不凝露)
b、环境温度在40-50℃时,湿度为当前温度下自然界湿度(不凝露)
2 额定电气条件 参数项 | 规格 | 单位 | 备注 |
最小值 | 典型值 | 值 |
输入电压 | 10 | 12 | 36 | V | |
峰值电流 | | | 60 | mA | 12V供电时 |
输入纹波 | | | 50 | mV | 峰峰值 |
输入噪声 | | | 100 | mV | 峰峰值 |
ESD | | | ±4K/±8K | V | (1) |
备注:(1)输出引线符合IEC61000-4-2标准
3 指示灯工作说明 传感器探测到液体时指示灯慢闪,传感器没有探测到液体时指示灯常亮。
八、通讯协议 1概述 传感器内置两种可控的通讯协议,XKC协议和modbus协议,且为从机设备。两种协议可自动判断接收到的数据为哪一种协议的数据帧,并使用对应协议的数据帧进行回应。
2通讯参数 通讯接口:RS485
默认通信格式:9600,n,8,1(波特率为9600,无校验位,8 位数据位, 1 位停止位)。
3适用范围 本产品可与任何带RS485通讯接口且支持Modbus协议(需支持0x03功能码和0x06功能码)或支持DYP协议的主机设备进行通讯。
4协议说明 4.1 Modbus协议 4.1.1 Modbus寄存器地址 协议:Modbus 模式: RTU 液位数据传感器为从机 从机地址0X01(默认)
Modbus读功能地址规划,功能码: 0X03 |
状态 | 寄存器地址 | 寄存器信息 | 说明 |
只读 | 0x00 | 处理值 | 测量值经过处理后的值,单位1mm |
只读 | 0x01 | 实时值 | 实时的测量值,单位1mm |
保留 | 0x02 | 保留 | 保留 |
Modbus写功能地址规划,功能码: 0X06 |
保留 | 0x03 | 保留 | 保留 |
读写 | 0x04 | 从机地址 | Modbus从机地址,默认为0X01,范围0X01~0XF7, 掉电保存 |
读写 | 0x05 | 设置测量介质 | 0x01:水 0x02:油,其他值无效 ,默认值0x01 |
读写 | 0x06 | 工作周期设置 | 设置探头工作的速度为N秒工作一次,N的取值为0x01~0x3C,单位秒,默认值 0x02 |
备注:处理值为传感器对液位值进行多次采样后并经过处理的数值,实时值为传感器每次采样的液位值。
4.1.2 Modbus协议通讯例子 1、读取地址0X01地址的寄存器的值(实时值),返回数值为0x00D2
主机发送:01 03 00 01 00 01 D5 CA
从机回复:01 03 02 00 D2 38 19
2、从地址0X00开始读取两个数据,处理值和实时值,返回数据处理值为0x00DC,实时值为0x00DD
主机发送:01 03 00 00 00 02 C4 0B
从机回复:01 03 04 00 DC 00 DD FB 90
3、向地址0x05写数据0x02,将测量介质为油。
主机发送:01 06 00 05 00 02 18 0A
从机回复:01 06 00 05 00 02 18 0A
4、向地址0x06写数据0x0A,将工作周期改为10秒。
主机发送:01 06 00 06 00 0A E9 CC
从机回复:01 06 00 06 00 0A E9 CC
5、向地址0X04写数据0X02,把从机地址设置成0x02
主机发送:01 06 00 04 00 02 49 CA
从机回复:01 06 00 04 00 02 49 CA
6、在更改从机地址后,读取地址0X01地址的寄存器的值(实时值),0x0082
主机发送:02 03 00 01 00 01 D5 F9
从机回复:02 03 02 00 82 7C 25
7、在更改从机地址后,向地址0x06写数据0x01,将工作周期改为1秒。
主机发送:02 06 00 06 00 01 A8 38
从机回复:02 06 00 06 00 01 A8 38 备注:以上数值均为十六进制数
4.2 XKC协议 4.2.1 数据格式 (1)控制指令特征码 控制行为 | 控制指令特征码 |
读取处理值 | 0x01 |
读取实时值 | 0x02 |
更改传感器地址 | 0x03 |
介质速度设置 | 0x04 |
工作周期设置 | 0x05 |
(2)数据帧格式 帧数据 | 说明 | 字节 |
帧头标识 | 固定为0x55 | 1字节 |
帧头标识 | 固定为0xaa | 1字节 |
地址 | 默认为0x01 | 1字节 |
指令 | 控制指令特征码 | 1字节 |
Data_H | 数据的高八位 | 1字节 |
Data_L | 数据的低八位 | 1字节 |
校验和 | SUM通讯校验 | 1字节 |
4.2.2 和校验的计算 校验和 = (帧头+地址+指令+数据)&0x00ff
4.2.3 XKC协议通讯例子 4.2.3.1 读取液位值 读取液位值的指令特征码有两个
(1)读处理值指令特征码: 0x01
(2)读实时值指令特征码: 0x02
备注:处理值为传感器对液位值进行多次采样后并经过处理的数值,实时值为传感器每次采样的液位值。
两个指令特征码的操作方式相同,下面以读取处理值为例介绍读取液位值的方式
| 帧头 | 地址 | 指令 | 数据 | 校验和 |
主机发 | 0x55 | 0xaa | 0x01 | 0x01 | 无 | 无 | checksum |
从机回 | 0x55 | 0xaa | 0x01 | 0x01 | Data_H | Data_L | checksum |
例子:读取地址0x01设备的处理值
传感器地址 | 0x01 |
主机发送 | 0x55 0xaa 0x01 0x01 checksum |
checksum | (0x55+0xaa+0x01+0x01) &0x00ff = 0x01 |
传感器返回 | 0x55 0xaa 0x01 0x01 0x02 0x33 checksum |
checksum | (0x55+0xaa+0x01+0x01+0x02+0x33) &0x00ff = 0x36 |
说明 | 0x02 为距离的高位数据,0x33 为距离的低位数据; 距离值为 0x0233; 转换成十进制为563; 单位为: 毫米 |
4.2.3.2 修改传感器地址 修改传感器地址指令特征码:0x03 (ADD:为要更改的地址)
| 帧头 | 地址 | 指令 | 数据 | 校验和 |
主机发 | 0x55 | 0xaa | ADD | 0x03 | 无 | 无 | checksum |
从机回 | 0x55 | 0xaa | ADD | 0x03 | 无 | 无 | checksum |
例子:将地址0x01改为0x05
传感器原地址 | 0x01 | 修改地址为 | 0x05 |
主机发送 | 0x55 0xaa 0x05 0x03 checksum |
checksum | (0x55+0xaa+0x05+0x03) &0x00ff = 0x07 |
传感器返回 | 0x55 0xaa 0x05 0x03 checksum |
checksum | (0x55+0xaa+0x05+0x03) &0x00ff = 0x07 |
说明 | 返回的数据帧和发送的数据帧一样,则设置成功。否则失败 |
修改地址后读取处理值例子
传感器地址 | 0x05 |
主机发送 | 0x55 0xaa 0x05 0x01 checksum |
checksum | (0x55+0xaa+0x05+0x01) &0x00ff = 0x05 |
传感器返回 | 0x55 0xaa 0x05 0x01 0x02 0x33 checksum |
checksum | (0x55+0xaa+0x05+0x01+0x02+0x33) &0x00ff = 0x3a |
说明 | 0x02 为距离的高位数据,0x33 为距离的低位数据; 距离值为 0x0233; 转换成十进制为563; 单位为: 毫米 |
修改地址后修改测量介质例子
传感器地址 | 0x05 |
主机发送 | 0x55 0xaa 0x05 0x04 0x00 0x02 checksum |
checksum | (0x55+0xaa+0x05+0x04+0x00+0x02) &0x00ff = 0x0a |
传感器返回 | 0x55 0xaa 0x05 0x04 0x00 0x02 checksum |
checksum | (0x55+0xaa+0x05+0x04+0x00+0x02) &0x00ff = 0x0a |
说明 | 返回的数据帧和发送的数据帧一样,则设置成功。否则失败 |
4.2.3.3 修改测量的介质 修改传感器测量的介质指令特征码:0x04
| 帧头 | 地址 | 指令 | 数据 | 校验和 |
主机发 | 0x55 | 0xaa | ADD | 0x04 | 数据 | 数据 | checksum |
从机回 | 0x55 | 0xaa | ADD | 0x04 | 数据 | 数据 | checksum |
例子:将测量介质改为柴油,0x01为水,0x02为柴油,其他值无效。默认值0x01
传感器地址 | 0x01 |
主机发送 | 0x55 0xaa 0x01 0x04 0x00 0x02 checksum |
checksum | (0x55+0xaa+0x01+0x04+0x00+0x02) &0x00ff = 0x06 |
传感器返回 | 0x55 0xaa 0x01 0x04 0x00 0x02 checksum |
checksum | (0x55+0xaa+0x01+0x04+0x00+0x02) &0x00ff = 0x06 |
说明 | 返回的数据帧和发送的数据帧一样,则设置成功。否则失败 |
4.2.3.4 工作周期设置 修改传感器工作周期指令特征码:0x05
| 帧头 | 地址 | 指令 | 数据 | 校验和 |
主机发 | 0x55 | 0xaa | ADD | 0x05 | 数据 | 数据 | checksum |
从机回 | 0x55 | 0xaa | ADD | 0x05 | 数据 | 数据 | checksum |
例子:将传感器工作周期设置成10秒,则在数据为填入0x000a,取值范围0x01~0x3C。默认值0x02
传感器地址 | 0x01 |
主机发送 | 0x55 0xaa 0x01 0x05 0x00 0x0a checksum |
checksum | (0x55+0xaa+0x01+0x04+0x00+0x0a) &0x00ff = 0x0f |
传感器返回 | 0x55 0xaa 0x01 0x05 0x00 0x0a checksum |
checksum | (0x55+0xaa+0x01+0x05+0x00+0x0a) &0x00ff = 0x0f |
说明 | 返回的数据帧和发送的数据帧一样,则设置成功。否则失败 |
4.2.3.5 广播地址 广播地址:0xFF
| 帧头 | 地址 | 指令 | 数据 | 校验和 |
主机发 | 0x55 | 0xaa | 0xff | 0x01 | 无 | 无 | checksum |
从机回 | 0x55 | 0xaa | 0xff | 0x01 | Data_H | Data_L | checksum |
例子:通过0xFF广播地址使用0x01指令读取其处理值
传感器地址 | 0x01 |
主机发送 | 0x55 0xaa 0xff 0x01 checksum |
checksum | (0x55+0xaa+0xff+0x01) &0x00ff = 0xff |
传感器返回 | 0x55 0xaa 0x01 0x01 0x02 0x45 checksum |
checksum | (0x55+0xaa+0x01+0x01+0x02+0x45) &0x00ff = 0x48 |
说明 | 0x02 为距离的高位数据; 0x45 为距离的低位数据; 距离值为 0x0245; 转换成十进制为581; 单位为: 毫米 |
例子:通过0xff广播地址使用0x03指令读取其当前地址值
传感器地址 | 0x01 |
主机发送 | 0x55 0xaa 0xff 0x03 checksum |
checksum | (0x55+0xaa+0xff+0x03) &0x00ff = 0x01 |
传感器返回 | 0x55 0xaa 0x01 0x03 checksum |
checksum | (0x55+0xaa+0x01+0x03) &0x00ff = 0x03 |
说明 | 地址值为0x01 |
例子:通过0xff广播地址使用0x04指令读取当前设置的测量介质
传感器地址 | 0x01 |
主机发送 | 0x55 0xaa 0xff 0x04 checksum |
checksum | (0x55+0xaa+0xff+0x04) &0x00ff = 0x02 |
传感器返回 | 0x55 0xaa 0x01 0x04 0x00 0x02 checksum |
checksum | (0x55+0xaa+0x01+0x04+0x00+0x02) &0x00ff = 0x06 |
说明 | 数据值为0x0002,当前设置的测量介质为柴油 |
例子:通过0xff广播地址使用0x05指令读取当前设置的工作周期
传感器地址 | 0x01 |
主机发送 | 0x55 0xaa 0xff 0x05 checksum |
checksum | (0x55+0xaa+0xff+0x05) &0x00ff = 0x03 |
传感器返回 | 0x55 0xaa 0x01 0x05 0x00 0x0a checksum |
checksum | (0x55+0xaa+0x01+0x05+0x00+0x0a) &0x00ff = 0x0f |
说明 | 数据值为0x000a,则工作周期为10秒 |
注意: (1)不管传感器的地址是什么值,一旦收到地址值为0xff的数据帧即会根据数据帧的
指令特征码作出回应,且回应的地址值为本机地址值,而非0xff。
(2)当使用广播地址的时候使用0x03指令,不会将0xff设置为传感器地址,只会返回传感器当前的地址值。
(3)在无法获取传感器的地址时可使用广播地址,根据回复的数据帧地址位获取当前
传感器的地址。
(4)不能在一条挂载有多个传感器的总线上使用广播地址,否则会多个模块同时响应
造成总线通讯失败,只能在一个主机对一个传感器的情况下使用。
九、 注意事项 1、常温下不同材质容器,钢、玻璃、铁、陶瓷、不发泡塑料等密实材料,其探测盲区和
探测极限高度也有不同。
2、常温下相同材质容器,容器厚度不同其探测盲区和探测极限高度也有不同。
3、探测液位超出模组有效探测值,以及被测液体的液面出现较大晃动或倾斜时,检测液体高度值不稳定。
4、设计时请注意电磁兼容性评估,不合理的系统设计有可能引起模组功能异常。
5、涉及产品极限参数边界应用时,可联系本司FAE确认相关注意事项。
6、请务必确保产品二维码可辨识性,否则发生功能或品质异常时无法追溯出厂数据。
7、本公司保留对此文档更改的权利,功能更新,恕不另行通。