基于DS18B20的远距离分布式温度数据采集系统设计


目录

1.系统设计2.采集数据处理3.多点远距离传输中精度控制关键技术结论

  温度监控是工业生产中的一个重要环节,尤其在环境 恶劣和复杂的工业现场,温度监控起着不可替代的作用。但是由于目前许多温度监控系统所采用的温度传感器的输出是一个变化的模拟电压量,不能与计算机采集系统直 接接口,需要进行采集、处理与变换,才能送入基于计算机 的监控系统。这就使得对于多点分布式的温度测量带来 了不便。随着计算机、通信、网络控制等技术的发展,工业测控系统已成为许多工业企业中非常重要的组成部分。加之现场总线技术的日趋成熟及数字温度传感器的出现,使得现场总线技术和数字温度传感器更多的用于工业监控系统中来,从而使得工业监控系统的功能更加强大,监控的范围更加的广泛。同时提高温度的测量的精度也是重要的目标之一。

  因此本文设计的系统采用数字温度传感器DS18B20和AT89C2051单片机进行温度数据的采集和存储,通过RS485总线传输。上位计算机对所测得的每个误差补偿量,依据误差回归模型的最小二乘法进行参数估计。做出线性误差补偿模型的数学方程对常温下测量的数据进行了补偿处理,在-55e到+125e测量范围和测量精度0.2级下,实现传输距离达到500m,并根据工程实践给出提高传输距离与测量精度的关键技术。

  1.系统设计

  系统由PC机和AT89C2051单片机系统组成,构成小型的分散测控系统。其中,单片机系统的任务是完成工业现场温度值的采集与存储,并通过RS485总线与PC机相连。而PC机的主要任务是承担集中测控与管理。由于采用的是RS485总线进行通信,而PC机上只有RS232接 口,因此需要通过RS232/RS485转接头进行连接。系统结构如图1所示。

系统结构图

  图1 系统结构图

  系统的单片机所构成的测温点可以添加,其中每一个单片机都有自己的唯一的地址,通信时采取主从通信方法,由上位机确定与哪个单片机进行信, 图2为DS18B20与通信接口的硬件设计电路。图3为DS18B20的数据采集与发送程序流程图。

传感器数据采集电路

  图2 传感器数据采集电路

数据采集与传输流程图

  图3 数据采集与传输流程图

  上位机主要由监控窗口、温度点查询(下位机)、温度报表生成、帮助与退出系统五个功能模块组成,其功能模 块如图4所示。

上位机系统软件模块

  图4 上位机系统软件模块

  2.采集数据处理

  在温度测量测试中,以0.1级标准温度计为参考,并 在常温常压环境中进行。采取的测量环境分别为室温、体温、冰水混合物、热水与沸水。

  通过实际测量取得测量数据后,对所测量的数据进行计算、分析、处理往往是提高测量精度的重要手段。首先计算每组测量数据的平均值。如:

数据的平均值

  在对测量结果处理中,需要对数据对测量数据去求得变量x和y之间的最佳函数关系,y = f(x)。解决这个问题最常用的准则是最小二乘原理。对于等精度、独立的测量来说,其基本原则是各个数据点与拟合直线的偏差的平方和为最小。假定本组实验数据的最佳拟合直线方程为:y = A+ Bx,式中A为直线截距,B为其斜率。

最小二乘原理

  根据最小二乘原理,按照通常求极值的方法,去其对A,B的偏导数,并令其为0,可以得出两个方程,对于两个未知数A,B有唯一解。通过对这个方程组进行求解得出:

方程组(1)

方程组(2)

  按照式(1)和式(2)对所测数据数据进行计算,如求出A,B值分别为1.078,0.97,从而得出的直线拟合的直线方程为y=1.078+ 0.97x。其数据点在直线拟合图中的分布如图5所示。

测量数据点在拟合直线周围的分布

  图5 测量数据点在拟合直线周围的分布

  根据修正后的直线方程,如y=1.078+0.97x,对测量点进行测量值进行线形修正,这样就可以得到修正表,因为篇幅限制,仅给出了室温的修正前后的结果数据,如表1所示。

室温修正表

  经过修正后的温度平均值为26.041e,参考温度计测量的平均值为25.94e,两者的测量误差减小为0.100e,比修正前的误差减小了0.39e。

  由修正结果明显可以看出,测量精度得到了很大的提高。利用上述介绍的方法,作者成功应用于淮安市城建档案管理信息系统和中国人民解放军15分部的弹药库温湿度自动控制系统中,取得了非常好的精度与控制效果。

  3.多点远距离传输中精度控制关键技术

  由DS18B20传感器构成的测温系统,虽然系统构成简单、测温精度高、连接方便、占用口线少等优点,但是在实际应用中也应该注意以下问题:

  (1)较小的硬件开销需要相对复杂的软件进行补偿。由于DS18B20与单片机间采用串行数据传输,因此,在对于DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测试结果。在使用PL/M、C等高级语言进行系统程序设计时,对于DS18B20操作部分最好采用汇编语言。

  (2)在DS18B20的有关资料中均未提及但总线上所挂DS18B20数量问题,在实际应用中,但总线上所挂的DS18B20超过8个时,就需要增加单片机总线驱动器。

  (3)连接DS18B20的总线电缆有长度限制。当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为屏蔽双绞线电时, 通信距离可达到500m。因此,在用DS18B20进行长距离测温系统设计时要选择多股屏蔽双绞线电缆,实验证明,在大于500m小于100m距离时,可以保证测量精度在0.2级。

  (4)当距离超过500m时,要充分考虑传输速率可抗干扰措施。实际工程使用中,在远端需要并接120欧电阻(干扰较强时,在近端也需要并接120欧的电阻)以便吸收回波等干扰。另外,降低信号的传输速率是一种非常有效的措施。实践中,采用9600波特率可以使传输距离达到1000m。

  结论

  详细论述了由DS18B20构成的RS485总线多点分布式温度测量系统。系统严格按照计量产品的标定规范进行,对多点远距离测量数据进行了分析处理,以及对误差进行了修正,使用精度达到了0.2级。通过实验证明,该系统设计可以实现对工业现场多点温度的网络监控,并且具有成本低、功能多、可靠性高的和精度高的特点。

热门标签