分布式温度测量与控制系统的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分布式温度测量与控制系统的设计
摘要本文设计了一种采用数字温度传感器结合atmega16芯片和pc机的分布式温度测量和控制系统。系统采用atmega16芯片和多个dsisb20芯片构成分布式温度采集与显示模块,同时atmega16芯片根据pc机的温度设置范围发出报警和控制信号.该系统分为电源模块,测温模块.报警模块、显示模块和控制模块。实验结果表明,本文设计的分布式温度采集与控制系统,可以有效地对多点温度进行测量并分别显示,遇到超出pc机的温度设置范围的情况可以及时发出报警信号并控制功率设备工作。
关键词dsisb20;atmega16;分布式;温度测量
中图分类号tp212 文献标识码a 文章编号i674—
6708(2010)28-0214-02
引言
温度是工业生产中常见的和最基本的参数之一,在生产过程中常需对温度进行检测和监控。近年来,利用单片机和传感器实现对温度的精确测量,提高了生产的自动化程度,且成本低廉,应用十分广泛,因此,研究温度的测量方法和装置具有重要的意义。本文所用温度传感器是美国dallas公司生产的ds18820,它集温度测量和md转换于一体,直接输出数字量,传输距离远,可以很方便地实现多点测量,硬件电路结构简单,与单片机接口几乎不需要外围元件。
本文研究的对象是分布式测温系统,之前关于这方面的研究还存在如下问题:1)单片机的选择过于复杂;2)分布的点不够多,不能反
应环境整体情况;3)多数系统仅有测温显示部分,缺少其他的辅助部件;4)有些模块不简化,系统过于冗杂等。本文在分布式测量的基础上,采用多个数字温度传感器ds18820结合atmega16芯片和pc 机,设计出温度采集和控制系统。该系统不仅能对多点温度进行测量和显示,同时对遇到超出pc机的温度设置范围的情况能及时发出报警信号并控制功率设备工作。
1 数字式沮度传感器ds18820
1.1 ds18820性能特点
ds18820是一款单总线数字式温度传感器。测试温度范围为-55~+125℃.精度为0.5℃,测量的温度值用9-12位数字表示,最大转换时间为750ms。转换分辨率和温度超标报警的上、下限值都可由用户设定。ds18820利用dallas的单总线控制协议和单线控制信号在总路线上来实现数据的读写。它的工作电压为3v~5.5v(将外部电源接在vdd脚),在没有外部电源的情况下,电源由总线为高电平dq 脚上的上拉电阻提供(寄生供电模式),此时vdd脚接地。
1.2 ds18820的工作原理
ds18820的具体测温原理如下。低温度系数晶振的振荡频率受温度的影响很小,用于固定频率的脉冲信号;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为脉冲输入。根据低温度系数晶振和高温度系数晶振的差可以计算出准确温度。
当ds18820处于写存储器操作和温度md转换操作时,总线上必须有很强的上拉,采用寄生电源供电方式时vdd和gnd端需接地。另外,由于单线制只有一根线,因此发送接口必须是三态的。同时,系统对ds18820的各种操作必须按协议进行.其操作协议为:初始化ds18820rom功能命令——发存储器操作命令——处理数据。
2 硬件系统设计
为了达到分布式温度测量与显示功能,系统分为5个模块电源模块、测温模块、报警模块、显示模块和控制模块。该系统的整体结构框图如图1所示
2.1 电源模块
电源电路输出电压+sv的稳压电源,它由电源变压器b,桥式整流电路bridge,滤波电容c1、c3.防止自激电容c2、c4和一只固定式三端稳压器(1.m7805)搭成的。
2.2 测试模块
温度传感器用数字式ds18820,采用单总线模式与单片机相连,逐个测得温度,送到单片机处理,求得平均温度。
2.3 显示模块
显示电路采用7seg-mpx4-cc四位led数码管,pc口输出断码,扫描通过pa.4-pa.7控制。单片机处理后的数据送到显示口。先逐个显示各个ds18820的数据,然后显示平均值,同时在其中加入时间模块,可以显示出每个点的测温时间。
2.4 报警横块
报警电路由一个三极管和蜂鸣器所组成,其控制部分由三极管、二极管、电阻以及继电器所组成,其信号是从单片机的一个准双向口输出到三极管的基极。用键盘可以对报警的上下限进行设置。报警装置后连接一个功率控制单元(如电机、风扇等设备).根据温度与设定值的比较,相应启动该单元。
2.5 控制模块
atmega16单片机通过rs232和rs485的转换接口与pc机相连,通过键盘的人机界面,控制运行的程序和显示结果的处理。
3 软件系统设计
在设计程序时,由于ds18820采用单总线的数据传输方式,所有的输入和输出都是通过一条总线实现的,因此它的时序就显得非常重要。所有的数据传输必须从字节的低位开始,编写程序时必须按照其对应的时序操作,否则不能获得完整正确的数据。本系统程序主要分为主程序和子程序两部分。
3.1 主程序
主程序的主要功能是负责温度的实时显示,读出并处理ds18820的测量温度值。其主要包括4个部分,即初始化部分、读取温度值部分、调用显示子程序以及结束返回部分。
3.2 读出沮度平程序
读出温度子程序是先对单个ds18820进行温度测量,然后用扫描方式,即每隔一秒读取其中一个,这样依次读取各个温度值,用数码管led进行显示。
3.3 报警予程序
报警子程序是当单片机读取完数据后就开始检测温度值是否超过了预设的温度值范围。其程序流程图如图2所示:
本实验(以8个ds18820为例)采用proteus软件进行仿真。若以8个ds18820计算。各点所测温度为25℃。
26℃,24t℃,24.5℃,26.5℃,26℃,25℃,25.5’e,则用数学方法得平均温度为25.3125~c,而显示温度为25.3t:结果如图3所示(见左图)。
5 结论
本文设计的分布式温度测量和控制系统,有效地结合了多个
ds18820芯片进行分布式温度采集,并且实时显示。atmega16芯片可以根据pc机的温度设置范围发出报警和控制信号。实验结果表明,本系统,可以有效地对8个点的温度进行测量并分别显示,遇到超出pc机的温度设置范围的情况能及时发出报警信号并控制风机设备工作。系统可以广泛应用在工农业等温度测量及控制领域。本文设计的系统的各模块采用有线衔接方式,有待集成、简化,并且要向智能化、精简化和无线化发展。atmega16芯片可以最多衔接16路温度测量模块,如果换用更高性能的芯片或采用分层次衔接,可以衔接64路或更多的测温子模块。这些都有待进一步研究。