基于单片机的多点温度监测系统设计.docx
- 文档编号:12514021
- 上传时间:2023-04-19
- 格式:DOCX
- 页数:41
- 大小:274.62KB
基于单片机的多点温度监测系统设计.docx
《基于单片机的多点温度监测系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的多点温度监测系统设计.docx(41页珍藏版)》请在冰豆网上搜索。
基于单片机的多点温度监测系统设计
基于单片机的多点温度监测系统设计
摘要:
DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。
PL2303是Prolific公司生产的一种高度集成的RS232-USB接口转换器,可提供一个RS232全双工异步窜行通信装置与USB功能接口便利连接的解决方案。
该系统由上位机和下位机两大部分组成。
下位机实现温度的检测并提供标准RS232通信接口,芯片使用了ATMEL公司的AT89S52单片机和DALLAS公司的DS18B20数字温度传感器。
上位机部分使用了通用PC。
该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域。
关键字:
温度测量;单总线;数字温度传感器;单片机;转换器
BasedonSCMmoretemperaturemonitoringsystemdesign
Abstract:
DS18B20isanetworkofhighprecisiondigitaltemperaturesensor,sinceithastheuniqueadvantagessinglebus,userscaneasilysetupsensornetwork,andcanmakemoretemperaturemeasurementcircuitbeesimpleandreliable.PL2303ProlificpanyistheproductionofahighlyintegratedRS232-USBinterfaceconverter,canprovideaRS232full-duplexasynchronouschannelinglineofmunicationequipmentandtheUSBinterfaceconvenientconnectionfunctionofthesolution.
ThesystemconsistsofPCandamachineundertwomainponents.AmachinetoimplementthetemperaturedetectionandprovidestandardRS232municationinterface,ATMELpanyusedchipAT89S52SCMandDALLASpanyDS18B20digitaltemperaturesensor.PCpartsusedthegeneralPC.Thissystemcanbeusedinstoragetemperaturemeasurement,buildingtheairconditioningcontrolandproductionprocessmonitoring,etc。
Keywords:
temperaturemeasurement;Singlebus;Digitaltemperaturesensors;Singlechipmicroputer;converter
第一章绪论
1.1系统概述
在工、农业生产和日常生活中,对温度的测量及控制占据着极其重要地位。
首先让我们了解一下多点温度检测系统在各个方面的应用领域:
消防电气的非破坏性温度检测,电力、电讯设备之过热故障预知检测,空调系统的温度检测,各类运输工具之组件的过热检测,保全与监视系统之应用,医疗与健诊的温度测试,化工、机械…等设备温度过热检测。
温度检测系统应用十分广阔。
温度检测系统有则共同的特点:
测量点多、环境复杂、布线分散、现场离监控室远等。
若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。
这样,由于各种因素会造成检测系统较大的偏差;又因为检测环境复杂、测量点多、信号传输距离远及各种干扰的影响,会使检测系统的稳定性和可靠性下降。
所以多点温度检测系统的设计的关键在于两部分:
温度传感器的选择和主控单元的设计。
温度传感器应用围广泛、使用数量庞大,也高居各类传感器之首。
本设计运用主从分布式思想,由一台上位机(PC微型计算机),下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统。
该系统采用RS-232串行通讯标准,通过上位机(PC)控制下位机(单片机)进行现场温度采集。
温度值既可以送回主控PC进行数据处理,由显示器显示。
也可以由下位机单独工作,实时显示当前各点的温度值,对各点进行控制。
下位机采用的是单片机基于数字温度传感器DS18B20的系统。
DS18B20利用单总线的特点可以方便的实现多点温度的测量,轻松的组建传感器网络,系统的抗干扰性好、设计灵活、方便,而且适合于在恶劣的环境下进行现场温度测量。
本系统可以应用在大型工业及民用常温多点监测场合。
如粮食仓储系统、楼宇自动化系统、温控制程生产线之温度影像检测、医疗与健诊的温度测试、空调系统的温度检测、石化、机械…等。
第二章系统总体设计
2.1设计要求
①多点温度检测,制作3点温度检测系统,检测围为10℃——20℃。
②将三点检测的温度采集并通过PC机界面显示出来,LED数码管显示出当前环境温度及三点的平均温度。
③在PC机驱动界面上分别设定三点的温度报警阈值,当任一被测点得温度不在其设定的检测围时,蜂鸣器报警,同时在PC机界面上显示出相应的报警符号(当被测点温度超出设定的检测围时显示红色报警符,当被测点温度低于设定的检测围时显示白色报警符)
④被测点温度误差≤±0.5℃。
本设计中采用数字式温度传感器DS18B20来采集温度值并用AT89S52单片机来进行数据处理并控制相关电路的工作,PL2303控制器与PC级相连显示当前测定的温度,具有检测方便、灵活性大、精度高等优点。
当温度超过预设温度上下限时,系统将发出警报并记录相应警报的类型和时间。
2.2系统组成方框图
图1系统方框图
第三章系统硬件设计
3.1总体思路
在设计这个温度检测系统之前,先了解系统所要实现的各个功能情况。
在设计的过程中,除了要让硬件电路简洁外,还要兼顾软件不能过于复杂。
这样才能达到设计的实际要求,硬件支持软件,软件带动硬件。
本电路设计的主要思路是:
对设置的三个温控点进行实时的温度监控,并且把采集的温度通过电脑界面显示出来。
最基本的程序是温度采样程序,之后的设定的数码管显示和PL2303控制都是在基本程序上扩展而得到的。
主要目的是将三点检测的温度采集并通过PC机界面显示出来,LED数码管显示出当前环境温度及三点的平均温度。
在PC机驱动界面上分别设定三点的温度报警阈值,当任一被测点得温度不在其设定的检测围时,蜂鸣器报警,同时在PC机界面上显示出相应的报警符号
3.1.1系统总体设计图
图2系统总原理图
3.2各模块电路图
3.2.1温度测试电路设计
这里我们用到温度芯片DS18B20。
DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式。
测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出。
其工作电源既可在远端引入,也可采用寄生电源方式产生。
CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
DS18B20支持“一线总线”接口,测量温度围为-55°C~+125°C,在-10~+85°C围,精度为±0.5°C。
现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。
适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等。
DS18B20部结构
(1)DS18B20的部结构如图所示
(2)
DS18B20部结构图
DS18B20有4个主要的数据部件:
①64位激光ROM。
64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)组成。
②温度灵敏元件。
③非易失性温度报警触发器TH和TL。
可通过软件写入用户报警上下限值。
④配置寄存器。
配置寄存器为高速暂存存储器中的第五个字节。
DS18B20在0工作时按此寄存器中的分辨率将温度转换成相应精度的数值,其各位定义如图所示。
TM
R1
R0
1
1
1
1
1
MSB
DS18B20配置寄存器结构图
LSB
其中,TM:
测试模式标志位,出厂时被写入0,不能改变;R0、R1:
温度计分辨率设置位,其对应四种分辨率如下表所列,出厂时R0、R1置为缺省值:
R0=1,R1=1(即12位分辨率),用户可根据需要改写配置寄存器以获得合适的分辨率。
配置寄存器与分辨率关系表:
R0
R1
温度计分辨率/bit
最大转换时间/us
0
0
9
93.75
0
1
10
187.5
1
0
11
375
1
1
12
750
(2)高速暂存存储器
高速暂存存储器由9个字节组成,其分配如下图所示。
当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。
单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如图所示。
对应的温度计算:
当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。
温度低位
温度高位
TH
TL
配置
保留
保留
保留
8位CRC
LSB
DS18B20存储器映像图
MSB
温度值格式图DS18B20温度数据表:
23
22
21
20
2-1
2-2
2-3
2-4
MSB
LSB
S
S
S
S
S
26
25
24
典型对应的温度值表:
温度/℃
二进制表示
十六进制表示
+125
+25.0625
+10.125
+0.5
0
-0.5
-10.125
-25.0625
-55
0000011111010000
0000000110010001
0000000010100010
0000000000001000
0000000000000000
1111111111111000
1111111101011110
1111111001101111
1111110010010000
07D0H
0191H
00A2H
0008H
0000H
FFF8H
FF5EH
FE6FH
FC90H
DS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成。
硬件连接电路如下图:
VCC=5V
4.7K
本系统为多点温度测试。
DS18B20采用外部供电方式,理论上可以在一根数据总线上挂256个DS18B20,但时间应用中发现,如果挂接25个以上的DS18B20仍旧有可能产生功耗问题。
另外单总线长度也不宜超过80M,否则也会影响到数据的传输。
在这种情况下我们可以采用分组的方式,用单片机的多个I/O来驱动多路DS18B20。
在实际应用中还可以使用一个MOSFET将I/O口线直接和电源相连,起到上拉的作用。
对DS18B20的设计,需要注意以下问题
(1)对硬件结构简单的单线数字温度传感器DS18B20进行操作,需要用较为复杂的程序完成。
编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。
尤其在使用DS18B20的高测温分辨力时,对时序及电气特性参数要求更高。
(2)有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20序列号和自动排序,以减少调试和维护工作量。
(3)测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。
DS18B20在三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND接在一起,焊接牢固。
若VCC脱开未接,传感器只送85.0℃的温度值。
(4)实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离。
另外还应根据实际情况选择其接线拓扑结构。
3.2.2主控模块电路设计
本系统选用ATMEL公司的AT89系列单片机中的AT89S52,AT89S52单片机是一种新型的低功耗、高性能且含8K字节闪电的8位CMOS微控制器,与工业标准MCS一51指令系列和引脚完全兼容。
有超强的加密功能,其片闪电存储器的编程与擦除完全用电实现,数据不易挥发,编程/擦除速度快。
AT89S52芯片部有6个中断源:
两个外部中断INTO和INT1.三个定时器中断(定时器0,1,2)和一个串行口中断。
在本系统中涉及到AT89S52芯片的中断源有五个:
分别是外部中断INT1,定时/计数器T0,T1和T2以及串行口中断。
本测控系统采用电平激活方式,也即是INT1=0;一旦INT1引脚的采样值为低电平,则TCON寄对于定时器TO和Tl,通过寄存器TMOD,TCON来控制和选择定时/计数器的功能和操作模式。
AT89S52的芯片管脚图如图5示。
图5AT89S52芯片管脚
3.2.3联机模块电路设计
整个模块通过PL2303转换器驱动与PC机连接,其模块电路如下图所示。
通过一个USB接口与PC机连接,实现对温度的实时监控,并可通过控制界面对温度检测围进行调整控制,当温度不在检测围时显示报警符号。
图6联机模块电路
图7联机控制界面截图
PL2303介绍及工作原理详见附录二
3.2.4显示模块电路设计
(1)数码管显示电路设计
设计中采用一个四位数码管来显示当前环境温度,通过单片机的P1口控制数码管的工作,并在P1口与数码管间接上拉电阻对数码管进行保护,同时也增加了数码管的亮度,电路如图7所示。
图8数码管显示电路
(2)发光二极管显示电路设计
设计中采用了3个发光二极管作为预警显示灯,采用下拉示串电阻是为了保护发光二极管,如图8所示。
Led1L1
Led2L2
Led3L3
图9发光二极管预警电路
第四章系统软件设计
4.1主程序设计
Y
N
Y
N
图10主程序流程图
本软件设计的程序设计包括采集各个点的温度进行数据处理,判断当前测定温度是否在设定的阈值围,若不在则发出报警。
主程序调用了4个子程序,分别是数码管显示程序、LED预警显示程序、温度测试程序、单片机与PC机串口通讯程序。
LED预警显示程序:
实现对温度控制的预警功能。
温度测试程序:
对温度芯片送过来的数据进行处理,进行判断和显示。
数码管显示程序:
向数码的显示送数,控制系统的显示部分。
串口通讯程序:
实现PC机与单片机通讯,将温度数据传送给PC机。
图11程序结构框图
4.2串行口通讯程序
本次通讯中,测控系统分位上位机和下位机之间的通信,系统中单片机负责数据采集、处理和控制,上位机进行现场可视化检测,通信协议采用半双工异步串行通信方式,通过RS232的RTS信号进行收发转换,传输数据采用二进制数据,上位机与下位机之间采用主从式通讯。
本人采用的VB环境下PC机与单片机之间实现串行通讯的软硬件方案。
VB是Microsoft公司推出的Windows应用程序开发工具,因其具有界面友好,编程简便等优点而受到广泛的使用,而且VisualBasic6.0版本带有专门实现串行通讯的MSM控件。
MSm控件串口具有完善的串口数据的发送和接收功能。
通过此控件,PC机可以利用串行口与其它设备实现轻松连接,简单高效地实现设备之间的通讯。
此控件的事件响应有两种处理方式。
事件驱动方式:
由MSm控件的Onm事件捕获并处理通讯错误及事件;查询方式:
通过检查mEvent属性的值来判断事件和错误。
1)MSm控件的主要属性和方法
a.mPort:
设置或返回串行端口号,其取值围为1—99,缺省为1
b.Setting:
设置或返回串行端口的波特率、奇偶校验位、数据位数、停止位。
c.PortOpen:
打开或关闭串行端口。
d.RThreshold:
该属性为一阀值,它确定当接收缓冲区字节个数达到或超过该值后就产生MSml-Onm事件。
e.Input:
从接收缓冲区移走一串字符。
f.Output:
向发送缓冲区传送一字符串。
软件流程图如下:
图12PC通讯程序流程图图13单片机程序流程图
参数设定:
通信端口选择1,波特率设定为1200B/S
MSm.mPort=1
MSm.Setting=“1200,n,8,1”。
START:
MOVSP,#60H
MOVTMOD,#20H
MOVTH1,#0E6H
MOVTL1,#0E6H;1200B/S,晶振为12MHZ
MOVPCON,#00H
MOVSCON,#50H
SETBTR1
第五章系统调试
5.1软件调试
5.1.1分步调试
1、测试环境及工具
测试温度:
10~20摄氏度。
(模拟多点不同温度值环境)
测试仪器及软件:
数字万用表,温度计0~100摄氏度,串口调试助手。
测试方法:
目测。
2、测试方法
使系统运行,观察系统硬件检测是否正常(包括单片机最小系统,显示电路,温度测试电路等)。
系统自带测试表格数据,观察显示数据是否相符合即可。
采用温度传感器和温度计同时测量多温度变化情况(取温度值不同的多点),目测显示电路是否正常。
并记录各点温度值,与实际温度值比较,得出系统的温度指标。
使用串口调试助手与单片机通讯,观察单片机与串口之间传输数据正确否。
3、测试结果分析
自检正常,各点温度显示正常,串口传输数据正确。
因为芯片是塑料封装,所以对温度的感应灵敏度不是相当高,需要一个很短的时间才能达到稳定。
§5.2统一调试
将硬件及软件结合起来进行系统的统一调试。
实现PC机与单片机通讯,两者可以实时更新显示各点温度值。
第六章结束语
为期一个多月的毕业设计即将结束了,在这一个月里我在同学和老师的帮助下完成了路灯控制系统的设计。
毕业设计作为综合性的设计,它不同于以前教学中的实验、课程设计等实践环节。
以前的所做的一些设计主要是根据相关的课本及老师所给资料去完成的,有一定的参照性,所以相对而言比较简单,不能完全达到锻炼自己动手能力的目的。
而毕业设计则是对我们大学四年所学知识的一个综合的训练及考核,是对所学知识的应用能力和大学所学理论知识对实践技能相结合的全面的检验。
并对我们如何根据要做的课题对现有的资料进行理解和运用的能力的考核。
真正做到了理论联系实际,把以前所学的知识综合贯通进行实践,并在实践中不断学习和自我完善。
从刚确定毕业设计课题以来,我首先是查找一些相关的书籍及资料,然后分析设计,并根据实际情况拟定设计方案,从而达到优化方案。
在研究设计电路时,我优化了电路设计,这就省去了一部分时间,最难的是调试了,但在老师和同学的帮助下,完成的设计达到了预定的要求。
同时,通过这次毕业设计,我们在各个方面都有了很大的提高,特别是在理论和实践结合方面使我们受益匪浅,使大学里学习的理论知识在根本上得到一次最完整的实践和提高。
也为我即将面临的工作奠定了很好的基础。
同时,在本次毕业设计中深深认识到自己的各个方面的不足之处,本着提高动手能力以及检测四年所学知识的目的,我严格要求自己,每一环节都认真对待,定期向知道老师报告进展情况和请教不懂的地方,得以完成任务。
在以后的工作中,我们必须进一步深化在实践中去丰富理论,完善知识结构。
由于环境条件的影响,理论与实践还是有一定的差距,这也要求我们在实践中注意检验的积累。
参考文献:
[1].贾振国.DS1820及高精度温度测量的实现[J].电子技术应用,2000
(1):
58-59.
[2].贾正松.单片机系统复位电路设计[J].中国期刊全文数据库,2007/36
[3].邦田.电子电路实用抗干扰技术.:
人民邮电,1994
[4].涛.新型单片机AT89C2051及其应用举例[J]1996年04期
[5].曲喜贵.电子元件材料手册[M].:
电子工业,1989.422-430.
[6].黄贤武,筱霞,曲波等.传感器实际应用电路设计[M].:
电子科技大学,1997.4-10.
[7].君华.智能传感器系统[M].:
电子科技大学,1999.
[8].余永权.Flash单片机原理及应用[M].:
电子工业,1997.
[9].邦田.电子电路实用抗干扰技术[M].:
人民邮电,1994.
[10].周云波.由DS18B20单线数字温度计构成的单线多点温度测量系统.电子技术应用,1996
(2):
15-20.
[11].吉鹏,马云峰等.微机原理与接口技术[M].:
高等教育,2001.
[12].振国.DS1820及高精度温度测量的实现[J].电子技术应用,2000
(1).
[13].东耀,汪仁煌.数字温度传感器在仓库温度检测系统的应用[J].传感器世界,2001(12):
30-33.
[14].月霞,传友.DS18B20硬件连接及软件编程[J].传感器世界,2001(12):
25-29.
[15].一线数字温度传感器资料[M].:
力源电子,1996.
[16].贤武,霞,曲波.传感器实际应用电路设计[M].:
电子科技大学,1997.
[17].伟正.单线数字温度传感器的原理与应用[1].电子技术应用,2000,6.66-68
[18].DALLAS公司.DS18B20数据手册[Z]
[19].周月霞,传友.DS18B20硬件连接及软件编程[J].传感器世界,2001,(12).
[20].单线数字温度传感器资料[M].:
力源电子,1996.
[21].贾东耀,汪仁煌.数字温度传感器在仓库温度检测系统的应用[J].传感器世界,2001(12).
[22].余永权.ATMEL89系列单片机应用技术[M].:
航空航天大学2002.
[23].胡汉才.单片机原理及系统设计[M].:
清华大学,2002
[24].谭浩强.C程序设计(第三版)[M].清华大学.2005/
附录一:
元器件清单
器件名称
器件型号
数量
单片机
AT89S52
1
RS232-USB接口转换器
PL2303
1
四联数码管
共阴型
1
三极管
S8050
4
晶振
12M
2
稳压芯片
7805
1
蜂鸣器
1
发光二极管
6
温度传感器
DS18B20
3
按键
4个引脚
1
磁片电容
0.1uf
30pf
6
4
极性电容
47
33
10
1
1
2
电阻
1K
14
30欧
2
1.5K
1
100欧
4
电源
5V
1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 多点 温度 监测 系统 设计