0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于DS18B20和AT89C2051设计的分布式温度测量系统

h1654155282.3538 来源:Chip37 作者:Chip37 2021-02-15 17:09 次阅读

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

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

1.系统设计

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

pIYBAGAXxVSANj8PAAERh1BTo1s728.png

图1 系统结构图

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

o4YBAGAXxVuAEedzAAGkBXu1TIM366.png

图2 传感器数据采集电路

o4YBAGAXxWOAW4FzAAIAlRIYN4o282.png

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

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

o4YBAGAXxWqAARnCAAB0DO8TRzY326.png

图4 上位机系统软件模块

2.采集数据处理

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

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

o4YBAGAXxXGADUi5AABt9xFKib4389.png

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

o4YBAGAXxXiAcqKQAABXyZYqfdo405.png

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

o4YBAGAXxX-AMIOSAABzTImGInA555.png

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

pIYBAGAXxYiAZpsKAACAhDC8VPs835.png

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

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

o4YBAGAXxY-AWZ4rAAI5yGeXbpM263.png

经过修正后的温度平均值为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级。通过实验证明,该系统设计可以实现对工业现场多点温度的网络监控,并且具有成本低、功能多、可靠性高的和精度高的特点。
责任编辑人:CC

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AT89C2051
    +关注

    关注

    7

    文章

    170

    浏览量

    66324
  • DS18B20
    +关注

    关注

    10

    文章

    779

    浏览量

    80824
  • 温度测量系统

    关注

    0

    文章

    25

    浏览量

    21154
收藏 人收藏

    评论

    相关推荐

    基于DS18B20和LabVIEW的多点温度测量系统

    今天我们一起完成一个比较完整的作品,基于DS18B20和LabVIEW的多点温度测量系统。我重点介绍实现多点DS18B20
    发表于 09-26 10:28 1764次阅读

    基于DS18B20的家用温度测量器设计

    本制作采用USB口作为供电端口,用DS18B20温度传感器进行温度信息采集,用AT89C2051单片机进行控制,采用四位共阳数码管显示,从而实现对
    发表于 10-03 13:10 2651次阅读

    基于AT89C51和DS18B20的最简温度测量系统

    与单片机沟通,完成温度采集和数据处理。DS18B20与AT89C51结合实现最简温度检测系统,该系统
    发表于 10-25 17:11

    基于DS18B20的MOA温度远程监控系统设计

    MOA的运行状态。以MOA阀片温度作为故障特征量, 设计了基于DS18B20和AT89S52单片机的实时温度监测系统。研究表明, 该
    发表于 12-04 15:57

    新型温度传感器DS18B20高精度测温的实现

    介绍了一种数字温度传感器DS18B20, 提出了一种基于89C2051 的测温电路及软件框图在内的实现方法。关键词 数字
    发表于 07-03 10:14 62次下载

    基于DS18B2089C2051组成的温度显示电路

    由单总线数字温度传感器DS18B2089C2051组成的经济型家庭用测温系统。其温度显示为“-XXC”,精度±0.5℃,测温范围-55℃~
    的头像 发表于 01-23 10:47 9911次阅读
    基于<b class='flag-5'>DS18B20</b>和<b class='flag-5'>89C2051</b>组成的<b class='flag-5'>温度</b>显示电路

    DS18B20温度显示报警控制设计

    本文设计了一种基于AT89C51 单片机与DS18B20温度控制系统。该设计通过AT89S52 单片机驱动数字
    发表于 12-17 00:24 696次下载
    <b class='flag-5'>DS18B20</b><b class='flag-5'>温度</b>显示报警控制设计

    基于DS18B20AT89C2051的家用温度测量器设计研究

    本制作采用USB口作为供电端口,用DS18B20温度传感器进行温度信息采集,用AT89C2051单片机进行控制,采用四位共阳数码管显示,从而实现对
    发表于 04-24 10:14 1743次阅读
    基于<b class='flag-5'>DS18B20</b>和<b class='flag-5'>AT89C2051</b>的家用<b class='flag-5'>温度</b><b class='flag-5'>测量</b>器设计研究

    基于DS18B20的多点温度测量系统的设计_毕业设计

    本文介绍了基于DS18B20和STC89C52RC的多点温度测量的方法和原理,利用DSI8B20单总线
    发表于 11-26 15:10 89次下载

    DS18B20温度测试实验

    基于单片机STC89C52的DS18B20数字温度计,测量实时温度
    发表于 12-31 14:36 10次下载

    显示12864,时钟1302,传感器18b20

    基于AT89C2051单片机的一种温度测量,采用DS18B20作为温度监测元件。
    发表于 05-25 10:26 19次下载

    基于DS18B20温度测量系统_杜海龙

    基于DS18B20温度测量系统_杜海龙
    发表于 03-19 11:45 15次下载

    利用AT89C2051单片机对系统协调控制设计的大气温度采集和记录系统

    系统结构如图1所示。系统主要由AT89C2051单片机和外围电路构成。其基本思想是由串行时钟芯片DS1306 提供时间基准, 由温度传感器
    发表于 08-01 11:29 1501次阅读
    利用<b class='flag-5'>AT89C2051</b>单片机对<b class='flag-5'>系统</b>协调控制设计的大气<b class='flag-5'>温度</b>采集和记录<b class='flag-5'>系统</b>

    基于DS18B20AT89C2051的家用温度测量器设计[图]

    本制作采用USB口作为供电端口,用DS18B20温度传感器进行温度信息采集,用AT89C2051单片机进行控制,采用四位共阳数码管显示,从而实现对
    发表于 01-18 01:10 416次阅读

    ds18b20的特性_ds18b20温度传感器应用

    本文首先介绍了ds18b20的特性,其次介绍了DS18B20工作原理,最后介绍了ds18b20温度传感器应用。
    发表于 04-24 09:10 1.1w次阅读
    <b class='flag-5'>ds18b20</b>的特性_<b class='flag-5'>ds18b20</b><b class='flag-5'>温度</b>传感器应用