智能式温度传感器SD5020和DS18B20在沿海城市物流仓库中的应用比对
黄晓桃 朱齐媛*
(岭南师范学院信息工程学院 广东 湛江 542048)
摘要:本文针对粤西沿海地区物流仓库的特点,针对主要指标温度,应用温度传感器SD5020和温度传感器DS18B20完成多次温度测量,并与精准仪器测量数据比对,通过数据分析,说明这两个智能型温度传感器均具有结构简单,测温精度高,稳定性好等优点,可广泛在工业现场和普通家庭使用。
关键字:仓库 测温 SD5020 DS18B20
Application comparison of intelligent temperature sensors SD5020 and DS18B20 in logistics warehouses of coastal areas
Abstract:In the first,this paper instruction the characteristics of logistics warehouse in the coastal areas. Temperature as we known is a very important index in this system. Using the temperature sensor SD5020 and DS18B20 in temperature collecting system, we can collect the datas, comparatively analysis by the precision instruments. It shows that these two intelligent temperature sensors have advantages of simple structure, high temperature measurement accuracy and good stability, which can be widely used in industrial field and ordinary household.
Keywords: Warehouse Temperature measurement SD5020 DS18B20
1.引言
随着中国经济的快速增长与电子信息技术、互联网技术的不断发展,互联网已经进入“互联网+”时代,人们对工作环境和生活质量的要求高。目前,电子商务已经成为中国经济发展的新兴增长引擎,而支撑着电子商务发展的物流仓储行业也呈现出爆发性增长。随着现代仓储业及物流业的发展,对货品在仓储及流通过程中质量的保障提出了更高的要求,对货品在仓储及流通过程中对环境参数进行监测和控制,以保证货品的质量,保障货主的经济利益,避免和降低安全隐患具有非常现实的意义。笔者地处祖国南部沿海地区,高温季节性多雨是这个地区的主要特点,对于仓库温度的控制显得尤为必要。仓库中温度的测量和精度要求越来越高,传统的温度检测大多以热敏电阻为传感器不能满足某些场合对精度的要求[1]。数字温度传感器与传统的热敏电阻有所不同的是把温度传感器集成在芯片中,同时它可以直接将被测温度转化成串行数字信号,SD5020采用TO-92 封装形式,具有体积小,使用方便等特点,同时抗干扰能力强,测温精度高[2]。
SD5020采用单总线通信,过温报警阈值和报警恢复迟滞阈值可通过寄存器设定。每颗芯片可设置一个长达40位的地址,适用于多从机通信。管脚兼容DS18B20。
DS18B20是常用的数字温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点[3]。
2.硬件电路
单片机选用AT89C52芯片,AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,完全可以满足系统的对数据采集处理等要求[3],温度传感器依次选用SD5020和DS18B20。硬件结构框图如图1所示。
3. 温度传感器SD5020和DS18B20简介
3.1温度传感器SD5020内部结构
SD5020内部有温度结果寄存器、配置寄存器、迟滞阈值寄存器、过温阈值寄存器、CRC 寄存器、单次测温命令、从机地址、地址CRC等,可以通过设置相关的寄存器来确定过温报警的温度。SD5020具有单次测温工作模式功率小, 可以减少发热提高温度的测量精度。SD5020引脚如图2所示, DIO引脚为数据的输入/输出; 开漏端口; 单总线数据接口。NC引脚为悬空。GND引脚为接地。VDD为电源,电压范围为2.7V~5.5V。测温时功耗只有170μA; 测量精度高, 在-40℃到85℃范围内测温精度可以做到小于±0.5℃, 温度分辨率0.0625℃; 测温范围广, 测温范围-55℃~+125℃。SD5020采用单总线通信, 过温报警阈值和报警恢复迟滞阈值可通过寄存器设定。
3.2温度传感器DS18B20内部结构以及操作命令
DS18B20的内部结构主要由4部分组成,包括温度传感器、配置寄存器、温度报警触发器(TH、TL)和64位ROM。除主要构成部分外,8位CRC(循环冗余码生成器)、电源检测、寄生电源、存储控制逻辑等是DS18B20内部的其它组成部分。每片DS18B20的64位序列号都不一样。64位地址码的前8位表示产品家族码,之后的48位表示DS18B20的序列号,剩余的8位表示前面56位的循环冗余校验码CRC。由于每个DS18B20都有唯一的64位序列号,这样就可以在一根总线挂接若干个DS18B20。
DS18B20只有3个引脚,VDD、GND为电源输入端,DQ为数据输入/输出端。芯片有3脚、6脚及16脚等多种封装方式,满足不同的设计需要。
高速暂存存储器由9个字节组成,如表1所示,当得到温度转换命令,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0、1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值[4]。
表1 :DS18B20的存储器构成
字节位置 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
功能 |
温度低位 |
温度高位 |
TH |
TL |
配置 |
保留 |
保留 |
保留 |
8位CRC |
DS18B20中有5条对ROM的操作命令,如表2所示。
表2 :DS18B20的ROM操作命令
操作命令 |
33H |
55H |
CCH |
FOH |
ECH |
含义 |
读ROM |
匹配ROM |
跳过ROM |
搜索ROM |
报警搜索ROM |
主机执行ROM操作指令之后,就能使用操作指令对DS18B20内部的存储器进行操作。
4.软件设计
4.1误差补偿算法
DS18B20的测量分辨率可通过程序设定9~12位,具体分辨率为0.004~0.0005,所以基本满足输出温度和环境温度无干扰因素。SD5020 数字温度传感器芯片具有0.0625的分辨率,所以只要用0.05级的温度表对其进行标定,然后通过软件补偿就可以实现SD5020在-20℃~120℃内测量误差在±0.1℃[5]。采用线性插值方法即可完成相应的转化。
插值公式 (公式1)
(公式3)
其中,为实测值,Y为校正后值。
为标定点的温度值,
为校正点的温度补偿值,
为在温度测量范围内任一点的温度补偿值。
4.2测温流程图
具体测温流程如图3所示,软件设计是该测温装置进行温度精确测量的保证,其主要任务是配置SD5020/DS18B20数字温度芯片,在初始化之后设置数字温度传感器芯片进入测温模式,提高温度测量的动态扫描的方式将SD5020/DS18B20数字温度传感器芯显示在数码管上。
5.测温效果分析比较
分别采用SD5020/DS18B20对系统进行温度采集并显示,针对特定仓库的实际要求,温度建议5 oC~35 oC,多次采集后,将各温度点的温度和利用精准仪器测得的温度列表如表3所示。
表3 SD5020/DS18B20测量数据表(单位:oC)
精密测温仪 |
5.21 |
15.32 |
10.05 |
17.3 |
24.26 |
28.06 |
SD5020温度读数 |
5.32 |
15.54 |
10.16 |
16.88 |
23.99 |
27.53 |
DS18B20温度读数 |
4.96 |
15.23 |
10.55 |
16.89 |
24.63 |
27.43 |
|
|
|
|
|
|
|
精密测温仪 |
22.17 |
24.04 |
17.26 |
21.39 |
28.15 |
28.01 |
SD5020温度读数 |
23.56 |
24.21 |
18.34 |
22.01 |
28.53 |
28.34 |
DS18B20温度读数 |
21.42 |
24.54 |
17.3 |
21.33 |
28.87 |
27.68 |
温测结果如图4所示,从图中可以看出,SD5020的数据基本都会偏高,DS18B20的数据较为精准,但是SD5020的测温结果也在允许的误差范围内,不影响工程应用。
6.结语
仓库温度对于仓库智能化控制是一项非常重要的数据参数之一,可以准确的获取到有效温度数据是智能仓库系统的重要环节,选择可靠的温度传感器,有效提升温度采集的功率并且可以在速度、鲁棒性得到必要的保证。采用SD5020/DS18B20分别结合单片机,构成了温度采集系统,从多次数据测量分析,可以得到,两种传感器均具有结构简单,测温精度高,稳定性好等优点,可广泛在工业现场和普通家庭使用。
参考文献:
[1] 陆晶晶.基于PLC控制的仓库温度调节系统优化设计[J].电力与能源,2015,36(04):593-596.
[2] 王安敏,孔令布,孟海彦.基于SD5020温度传感器的数字温度计[J].计算机与数字工程,2018,46(02):387-390+418.
[3]胡娜,田小明.基于DS18B20的单片机控制测温电路的设计及仿真[J].天津中德职业技术学院学报,2015(03):93-95.
[4]刘金魁.基于DS18B20的数字测温系统[J].焦作大学学报,2014,28(02):99-100.
[5]王婷.基于能量换测法的热电偶与DS18B20测温系统[J].大学物理实验,2013,26(04):27-29.