数据采集 电 子 测 量 技 术 EL ECTRONIC MEASUREM EN T TECHNOLO GY
第 32 卷 第 4 期
2009 年 4 月
基于 DS18B20 的远距离分布式
温度数据采集系统 3
孔庆霞1 朱全银2
(1. 淮阴工学院电子信息工程系 淮安 223003 ;
2. 淮阴工学院计算机工程系 淮安 223001)
摘 要 : 温度是工业生产中重要的物理参数之一 ,对其进行测量与控制是一项非常传统的工艺技术。采用数字温度
传感器 DS18B20 和 A T89C2051 单片机进行温度数据的采集和存储 ,通过 RS485 总线传输。上位计算机对所测得的
每个误差补偿量 ,依据误差回归模型的最小二乘法进行参数估计。做出线性误差补偿模型的数学方程对常温下测量
的数据进行了补偿处理 ,在 - 55 ℃到 + 125 ℃测量范围和测量精度 0. 2 级下 ,实现传输距离达到 500 m ,并根据工程实
践给出提高传输距离与测量精度的关键技术。
关键词 : 分布式 ; 温度测量 ; 数据采集 ; 最小二乘法
中图分类号 : TP732 文献标识码 : A
Temperature data sampling system for distributed
long2distance based on DS18B20
Kong Qingxia1 Zhu Quanyin2
(1. Elect ronic Information Engineering Depart ment of Huaiyin Institute of Technology , Huaipian 223001 ;
2. Computer Engineering Depart ment of Huaiyin Institute of Technology , Huaipian 223003)
Abstract :It is one of important parameters for temperature measurement in indust rial ; itpis a kind of craft s in producing
by measurement and controls it . The DS18B20D as the sensors and the A T89C2051 as the MCU are used to sampling
and processing the temperature , and it is t ransmitted by RS485 bus. The Partial Least Squares ( PL S) is used to
improvement the data precision under the normal temperature. It can approach more than 500 meters under 0. 2 grad
from - 55 ℃to 125 ℃. The key point on how to improve the data precision in the long distance based on practice project
are described.
Keywords : dist ributed ; temperature measurement ; data sampling ; partial least squares
3 基金项目 :江苏省高校自然科学研究
项目 (07 KJD510020)资助。0 引 言温度监控是工业生产中的一个重要环节 ,尤其在环境恶劣和复杂的工业现场 ,温度监控起着不可替代的作用。但是由于目前许多温度监控系统所采用的温度传感器的输出是一个变化的模拟电压量 ,不能与计算机采集系统直接接口 ,需要进行采集、处理与变换 ,才能送入基于计算机的监控系统。这就使得对于多点分布式的温度测量带来了不便。随着计算机、通信、网络控制等技术的发展 ,工业测控系统已成为许多工业企业中非常重要的组成部分。加之现场总线技术的日趋成熟及数字温度传感器的出现 ,使得 现场总线技术和数字温度传感器更多的用于工业监控系统中来 ,从而使得工业监控系统的功能更加强大 ,监控的范围更加的广泛。同时提高温度的测量的精度也是重要的目标之一。本系统的温度测量采用美国 Dallas 半导体公司的数字温度传感器 DS18B20 ,使用 A T89C2051 单片机进行温度数据的采集和存储 ,通过 RS485 总线传输 ,在不增加总线驱动的情况下实现超过 500 m 的传输。1 系统设计系统由 PC 机和 A T89C2051 单片机系统组成 ,构成小型的分散测控系统。其中 ,单片机系统的任务是完成工业现场温度值的采集与存储 ,并通过 RS485 总线与 PC 机相
·451·
孔庆霞 等 :基于 DS18B20 的远距离分布式温度数据采集系统 第 4 期
连。而 PC 机的主要任务是承担集中测控与管理。由于采
用的是 RS485 总线进行通信 ,而 PC 机上只有 RS232 接
口 ,因此需要通过 RS232/ RS485 转接头进行连接。系统结
构如图 1 所示。
系统的单片机所构成的测温点可以添加 ,其中每一个
单片机都有自己的唯一的地址 ,通信时采取主从通信方
法 , 由上位机确定与哪个单片机进行通信 , 图 2 为
DS18B20 与通信接口的硬件设计电路。图 3 为 DS18B20
的数据采集与发送程序流程图。 图 1 系统结构图
图 2 传感器数据采集电路
图 3 数据采集与传输流程图
上位机主要由监控窗口、温度点查询 (下位机) 、温度
报表生成、帮助与退出系统五个功能模块组成 ,其功能模
块如图 4 所示。
图 4 上位机系统软件模块
2 采集数据处理
在温度测量测试中 ,以 0. 1 级
温度计为参考 ,并
在常温常压环境中进行。采取的测量环境分别为室温、体
温、冰水混合物、热水与沸水。
通过实际测量取得测量数据后 ,对所测量的数据进行
计算、分析、处理往往是提高测量精度的重要手段。首先
计算每组测量数据的平均值。如x = ( x1 + x2 + x3 + x4 + x5 ) / 5 = 30. 89
y = ( y1 + y2 + y3 + y4 + y5 ) / 5 = 31. 04
在对测量结果处理中 ,需要对数据对测量数据去求得
变量 x 和 y 之间的最佳
关系 , y = f ( x) 。解决这个问题
最常用的准则是最小二乘原理。对于等精度、独立的测量
来说 ,其基本原则是各个数据点与拟合直线的偏差的平方
和为最小。假定本组实验数据的最佳拟合直线方程为 : y =
A + B x ,式中 A 为直线截距 , B 为其斜率。
φA , B = ∑
n
i = 1
υ1 = ∑
n
i = 1
( y i - Y i ) 2 = ∑
n
i = 1
( y i - A - B x i) 2
根据最小二乘原理 ,按照通常求极值的方法 ,去其对
A , B 的偏导数 ,并令其为 0 ,可以得出两个方程 ,对于两个
未知数 A , B 有唯一解。通过对这个方程组进行求解得出 :
A =
y - B x (1)
·551·
第 32 卷 电 子 测 量 技 术
B =
∑
n
i = 1
( x i - x) ( y i -
y)
∑
n
i = 1
3 ( x i - x) 2 (2)
按照式 (1)和式 (2) 对所测数据数据进行计算 ,如求出
A , B 值分别为 1. 078 ,0. 97 ,从而得出的直线拟合的直线方
程为 y = 1. 078 + 0. 97 x。其数据点在直线拟合图中的分布
如图 5 所示。
图 5 测量数据点在拟合直线周围的分布
根据修正后的直线方程 ,如 y = 1 . 078 + 0 . 97 x , 对测
量点进行测量值进行线形修正 ,这样就可以得到修正表 ,
因为篇幅限制 ,仅给出了室温的修正前后的结果数据 ,如
表 1 所示。
表 1 室温修正表
序号 修正前/ ℃ 修正后/ ℃ 标准温度计/ ℃
1 26. 250 0 25. 950 25. 5
2 26. 187 5 25. 886 25. 6
3 26. 187 5 25. 886 25. 7
4 26. 312 5 26. 015 26. 0
5 26. 375 0 26. 079 26. 1
6 26. 312 5 26. 015 26. 1
7 26. 375 0 26. 079 26. 0
8 26. 437 5 26. 144 26. 2
9 26. 500 0 26. 208 26. 1
10 26. 437 5 26. 144 26. 1
经过修正后的温度平均值为 26. 041 ℃,参考温度计
测量的平均值为 25. 94 ℃, 两者的测量误差减小为
0. 100 ℃,比修正前的误差减小了 0. 39 ℃。
由修正结果明显可以看出 ,测量精度得到了很大的提
高。利用上述介绍的方法 ,作者成功应用于淮安市城建档
案管理信息系统和中国人民解放军 15 分部的弹药库温湿
度自动控制系统中 ,取得了非常好的精度与控制效果。
3 多点远距离传输中精度控制关键技术
由 DS18B20 传感器构成的测温系统 ,虽然系统构成简
单、测温精度高、连接方便、占用口线少等优点 ,但是在实
际应用中也应该注意以下问题 :
1) 较小的硬件开销需要相对复杂的软件进行补偿。
由于 DS18B20 与单片机间采用串行数据传输 ,因此 ,在对
于 DS18B20 进行读写编程时 ,必须严格的保证读写时序 ,
否则将无法读取测试结果。在使用 PL/ M、C 等高级语言
进行系统程序设计时 ,对于 DS18B20 操作部分最好采用汇
编语言。
2) 在 DS18B20 的有关资料中均未提及但总线上所挂
DS18B20 数量问题 , 在实际应用中 , 但总线上所挂的
DS18B20 超过 8 个时 ,就需要增加单片机总线驱动器。
3) 连接 DS18B20 的总线电缆有长度限制。当采用普
通信号电缆传输长度超过 50 m 时 ,读取的测温数据将发
生错误[ 7 ] 。当将总线电缆改为屏蔽双绞线电缆时 ,通信距
离可达到 500 m。因此 ,在用 DS18B20 进行长距离测温系
统设计时要选择多股屏蔽双绞线电缆 ,实验证明 ,在大于
500 m 小于 100 m 距离时 ,可以保证测量精度在 0. 2 级。
4) 当距离超过 500 m 时 ,要充分考虑传输速率可抗干
扰措施。实际工程使用中 ,在远端需要并接 120 欧电阻 (干
扰较强时 ,在近端也需要并接 120 欧的电阻) 以便吸收回
波等干扰。另外 ,降低信号的传输速率是一种非常有效的
措施。实践中 ,采用 9 600 波特率可以使传输距离达
到1 000 m。
4 结 论
详细论述了由 DS18B20 构成的 RS485 总线多点分布
式温度测量系统。系统严格按照计量产品的标定
进
行 ,对多点远距离测量数据进行了分析处理 ,以及对误差
进行了修正 ,使用精度达到了 0. 2 级。通过实验证明 ,该系
统设计可以实现对工业现场多点温度的网络监控 ,并且具
有成本低、功能多、可靠性高的和精度高的特点。
参 考 文 献
[1 ] 胡天明 ,齐建家. 基于 DS18B20 的数字温度计设计及
其应用 [ J ] . 黑龙江工程学院学报 , 2008 , 22 ( 2 ) :
59262.
[2 ] 陈明 ,邱超凡.基于 DS18B20 数字温度传感器的设计
与实现[J ] .现代电子技术 ,2008 ,8 :1882189.
[3 ] 付立东 ,车军.基于 12wire 器件 DS18B20 多点分布式
温度测量应用的研究 [ J ] . 电子技术 , 2007 , Z3 :
1582160.
[4 ] 付浩伟 ,向凤红 ,程加堂 ,等. 基于 DS18B20 传感器的
温度数据采集系统的设计 [J ] . 机械工程与自动化 ,
2007 ,6 :1302134.
[5 ] 雷建龙. 数字温度传感器 DS18B20 读出数据错误分
析[J ] . 电子器件 ,2007 ,30 (6) :218322185.
[6 ] 何忠蛟. 基于 DS18B20 的分布式温度传感系统 [J ] .
邵阳学院学报 :自然科学版 ,2007 ,4 (1) :50253.
(下转第 162 页)
·651·
第 32 卷 电 子 测 量 技 术
图 7 数据波形图
5 结 论
本文介绍了基于 ARM7 的便携式数据采集系统 ,不仅
省去了繁琐的线缆铺设 ,还避免了因传感器距离船体过
近 ,受到船体散热或冷却水影响而导致测量数据不可靠的
情况。多任务操作系统μCLinux 的采用保证了系统的实
时性。更为重要的是本系统不仅能采集水温数据 ,只要稍
加改装或不用改装 ,就能对其他数据进行多点 ,分布式
采集。
参 考 文 献
[1 ] 吴莉莉 ,王惠民 ,吴时强.水库的水温分层及其改善措
施[J ] .水电站设计 ,2007 (9) :972100.
[2 ] 张玉超 ,钱新 ,钱瑜 ,等. 太湖水温分层现象的监测与
分析[J ] . 环境科学与管理 ,2008 (6) :1172121.
[3 ] 叶钢. 基于 DS18B20 的温度控制系统设计 [J ] . 国外
电子测量技术 ,2007 (4) :31233.
[4 ] 丁永红 ,孙运强. 基于 nRF2401 的无线数传系统设计
[J ] . 国外电子测量技术 ,2008 (4) :45247.
[5 ] 周立功 ,陈明计 ,陈渝. ARM 嵌入式 Linux 系统构建
与驱动开发范例 [ M ] . 北京 :北京航空航天大学出版
社 ,2006 :712111.
[6 ] 费业泰 .误差理论与数据处理[ M ] . 北京 :机械工业出
版社 ,2000 :45252.
[7 ] 陈斌 ,高俊 ,李娟. 基于 ARM 的便携式多功能
仪[J ] . 电子测量技术 ,2009 (1) :1202122.
[8 ] 孙永春 ,丁玉慧 ,王小玉. 基于μCLinux 实时远程数
据采集系统[J ] . 信息技术 ,2006 (4) :35237.
作 者 简 介
朱丹 ,男 ,1979 年 3 月出生 ,东南大学自
动化学院硕士研究生 ,主要研究方向为检测
技术与自动化装置、嵌入式系统。
E2mail :zhudan79 @126. com
戴义保 ,男 ,硕士生导师 ,研究方向为检测技术与自动
化装置、智能仪表设计、工业局域网。
陈增万 ,男 ,1985 年 3 月出生 ,东南大学自动化学院硕
士研究生 ,主要研究方向为检测技术与自动化装置、嵌入
式系统。
(上接第 156 页)
[7 ] 刘雨刚 ,洪炳林 ,郝文慧. 基于 DS18B20 的高精度
矿用温度传感器设计[J ] . 国外电子元器件 ,2006 ,
12 :35237.
[8 ] 赵红旗 ,王云景. DS18B20 在 16 路测温系统中的
应用[J ] . 仪表技术 ,2006 ,1 :69271.
[9 ] 肖本贤. 用 VB 实现 PC 机与多个 MCS251 单片机
主从式通讯的实例 [J ] . 制造业自动化 , 2001 , 23
(2) :54256.
[10 ] 李长杰 ,潘天红 ,和卫星. 分布式控制系统主机与
前端机群之间的主从式通信[J ] . 江苏理工大学学
报 :自然科学版 ,2001 ,22 (3) :84288.
[11 ] 刘国林 ,殷贯西. 电子测量[ M ] . 北京 :机械工业出
版社 ,2003 ,1.
[12 ] 李强 ,梁莉 ,刘桢 ,等. 具有温度补偿功能的智能压
力传感器系统 [ J ] . 仪器仪表学报 , 2008 , 29 (9) :
193421938.
[13 ] 李世平 , 戴凡. 虚拟仪器测量信号的自动校准方
法[J ] . 电子测量技术 ,2007 ,30 (2) :1022104.
作 者 简 介
孔庆霞 ,女 ,1976 年出生 ,江苏涟水人 ,淮阴工学院实
验师 ,主要研究方向为计算机应用技术。
朱全银 ,男 ,1966 年出生 ,江苏盱眙人 ,淮阴工学院副
教授 ,主要研究方向为信号与信息系统。
·261·