SHT10,SHT11,SHT71,SHT75这一系列的温湿度传感器都是采用CAN总线的通讯方式,对于新手工程师来说,如何通过现有的CAN总线系统获取这些传感器的数据是一个难点。小编以SHT10为例,为大家介绍一下获取数据的方法。
工具/原料
USBCAN-II Pro
电脑
双绞线
USB方口线
工具说明
1、SHT10是一个标准的CANopen从站设备,我们要想读出传感器的数据,劐聂赞陶根据CANopen协议规范,我们必须使用CANopen主站设备。USBCAN-II Pro分析仪是一个标准的潮贾篡绐CAN总线调试分析设备,配合ECANTools软件的CANopen主站功能可对CANopen从站(温湿度传感器)进行管理、参数读取、调试及数据分析等工作,并根据读取上来的PDO数据,按照传感器的使用手册来进行温度、湿度的解析。
基础接线
1、CAN总线在实际接线时只需要将CAN_H琶敷佤庐连CAN_H,CAN_L连CAN_L即可建立通信。CAN总线网络采用直线拓扑结构,总线梓脶阗擗最远的2个终端需要安装120Ω的终端电阻;如果节点数目大于2,中间节点不需要安装120Ω的终端电阻。对于分支连接,其长度不应超过3米。
数据解析
1、在连接好物理层之后,CANopen从站上电后,会主动向总线上发出一帧CAN数据表示设备已经启动。我们这里收到的数据ID是703,说明该从站节点号为3
2、收到启动信息之后,我们点击ECANTools软件的CanOpenMaster选项卡,在上方ID号中填入节点号3,点击添加从站
3、之后我们展开节点3,在NMT功能中选择“Start Remote Node”点击“NMT”启动CANopen从站。从站启动后会向总线发送数据
4、此时ECANTools软件会收到由从站实时上传的PDO数据 。然后根据从站的对象字典解析具体收到的PDO数据,具体公式由从站对象字典决定,以图中的数据为例,解析一下,仅供参考。
5、解析举例:我们使用的温湿度传感器发出的数倌栗受绽据中,PDO3的前两个字节代表温度,换算方法是:先将数据的前两个字节转换成10进制是a锾攒揉敫a bb,之后使用手册中的换算公式(aa+bb*255)/100计算出温度的具体数值。以图11中红框中的PDO3数据为例,数据的前两个字节是39 3A,转换成10进制数是57 58,根据解析公式可知传感器温度为(57+58*255)/100=148.47℃。以上例子仅供参考,具体数据和解析公式需要查询您设备的对象字典。