基于单片机的温度采集与控制系统的设计.docx
- 文档编号:13141926
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:39
- 大小:1.04MB
基于单片机的温度采集与控制系统的设计.docx
《基于单片机的温度采集与控制系统的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度采集与控制系统的设计.docx(39页珍藏版)》请在冰点文库上搜索。
基于单片机的温度采集与控制系统的设计
基于单片机的温度采集与控制系统的设计
摘要
温度是一个很重要的物理量在工农业生产中经常遇到温度的测量和控制因此对温度检测和控制具有非常重要的意义。
近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,同时带动传统控制检测的不断更新。
本系统是以AT89C51单片机为检测控制中心的智能控制系统。
其总体设计是围绕低成本、高精度、高可靠性的特点展开的。
在硬件选择方面,选择性价比高的AT89C51系列单片机、DS18B20数字式温度传感器、LED显示器。
DALLAS公司的单总线数字温度传感器DS18B20以其线路简单、硬件开销少、成本低廉等一系列优点,有着无可比拟的应用前景。
为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。
文章详细介绍AT89C51对DS18B20的操作流程,及使用DS18B20时的注意事项。
该温度测量系统具有结构简单、价格低廉、扩展方便和应用广泛等一系列优点。
关键词:
温度控制;AT89C51;DS18B20
TheDesignofTemperatureAcquisitionControlSystem
BasedonSingle-chip
Abstract
Temperatureisaveryimportantparameter.Wefrequentlyusethemeasurementandcontroloftemperatureinindustryandagriculture.Therefore,themeasurementandcontroloftemperatureisextremelyimportant.
Inrecentyearsalongwithcomputerpenetrationinthesocialsphere,SCMapplicationsareconstantlydeepeningledthetraditionalcontroltestatthesametimeeverupdated.Inthispaper,thedevelopmentofanintelligentcontrolsystembasedonAT89C51single-chipispresented.Lowcost,accurate,andreliablepossibilityoftheintelligenttemperaturecontrolsystemaretakenintoconsiderationfordesign.Inthehardwareaspect,theAT89C51withhighcapabilitypriceratio,DS18B20temperaturesensor,LEDmonitorarechosen.DALLASCorporation’s1-wirebusdigitaltemperaturesensorhasincomparableapplicationprospectbecauseitscircuitissimple,andwithfewerhardwareexpenses.Inordertofacilitatetheexpansionandthechange,thesoftwaredesignusesthemodularstructure;makethelogicrelationofdesigningprogrammoreconcise,makinghardwaretocoordinatetheoperationunderthesoftwarecontrol.
ThispaperexplainstransactionsequenceofDS18B20andpointsforattention.Thisdevicehassomeadvantagessuchas:
simplestructure,lowprice.Italsocanbeeasilyextendedandhasimportantapplicationperspectives.
Keywords:
temperaturecontrol;AT89C51;DS18B20
插图清单
表格清单
引言
温度是一种最基本的环境参数,日常生活和工农业生产中经常要检测温度。
传统的方式是采用热电偶或热电阻,但是由于模拟温度传感器输出为模拟信号,必须经过A/D转换环节获得数字信号后才能与单片机等微处理器接口,使得硬件电路结构复杂,制作成本较高。
传统的继电器调温电路简单实用,但由于继电器动作频繁,可能会因触点不良而影响正常工作。
控制领域还大量采用传统的PID控制方式,但PID控制对象的模型难以建立,并且当扰动因素不明确时,参数调整不便仍是普遍存在的问题。
美国DALLAS公司生产的DS18B20为代表的新型单总线数字式温度传感器以其突出优点广泛使用于仓储管理、工农业生产制造、气象观测、科学研究以及日常生活中。
DS18B20集温度测量和A/D转换于一体,直接输出数字量,传输距离远,可以很方便地实现多点测量,硬件电路结构简单,与单片机接口几乎不需要外围元件,使得测量温度更加精确。
数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。
由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。
第1章绪论
1.1本课题研究的实际意义
随着单片机和传感技术的迅速发展,自动检测领域发生了巨大变化,温室环境自动监测控制方面的研究有了明显的进展,并且必将以其优异的性能价格比,逐步取代传统的温度控制措施。
本文参考了一种基于单片机并采用数字化单总线技术的温度测控系统的设计方案,利用DALLAS公司生产的新型器件实现的。
本文介绍的温度测控系统就是基于单总线技术及其器件组建的。
该系统能够对温度进行采集,利用温度传感器将温度的变化,变换成电流的变化,再转换为电压变化输入模数转换器,其值由单片机处理,最后由单片机去控制数字显示器,显示实际温度,同时通过比较,对温度是否超过温度限制进行分析。
该系统抗干扰能力强,具有较高的测量精度,不需要任何固定网络的支持,安装简单方便,性价比高,可维护性好。
这种单片机温度测控系统可实现对温度的实时控制,是一种比较智能、经济的方案,适于大力推广,将会带来很好的经济效益和社会效益。
[]
1.2国内外发展概况
近年来,温度的检测在理论上发展比较成熟,但在实际测量和控制中,如何保证快速实时地对温度进行采样,确保数据的正确传输,并能对所测温度场进行较精确的控制,仍然是目前需要解决的问题。
温度测控技术包括温度测量技术和温度控制技术两个方面。
在温度的测量技术中,接触式测温发展较早,这种测量方法的优点是:
简单、可靠、低廉、测量精度较高,一般能够测得真实温度,但由于检测元件热惯性的影响,响应时间较长,对热容量小的物体难以实现精确的测量,并且该方法不适宜于对腐蚀性介质测温,不能用于超高温测量,难于测量运动物体的温度。
另外的非接触式测温方法是通过对辐射能量的检测来实现温度测量的方法,其优点是:
不破坏被测温场,可以测量热容量小的物体,适于测量运动物体的温度,还可以测量区域的温度分布,响应速度较快。
但也存在测量误差较大,仪表指示值一般仅代表物体表观温度,测温装置结构复杂,价格昂贵等缺点。
因此,在实际的温度测量中,要根据具体的测量对象选择合适的测量方法,在满足测量精度要求的前提下尽量减少投入。
目前,国内已研制出利用计算机、单片机和PLC的集群温室集中控制系统和单栋温室集中控制系统,实现对温室内的空气温湿度、光照、地温、土壤湿度等参数进行测量和控制。
智能化温室代表着温室的发展方向,将智能控制系统运用到温室环境因子的控制中,正是目前智能温室发展的趋势。
在各个方面与欧美等发达国家相比,存在较大差距,尚需深入研究。
[]
1.3本课题研究的主要内容
随着电子技术和单片机的迅速发展,单片机测量和控制技术也得到了迅速的发展和广泛的应用。
利用单片机对温度进行测控得到日益发展和完善,且越来越显示出其优越性。
单片机在工业控制、尖端武器、通信设备、信息处理、家用电器等各测控领域的应用中独占鳌头。
采用单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大的作用。
因此,单片机对温度的控制问题是一个经常会遇到的问题。
基于此,本课题围绕基于单片机的温度测控系统展开应用研究。
[]
第2章本系统的总体设计
2.1本系统的构成与设计目标
本温度控制系统用于选定区域内的温度的检测与控制,系统功能由AT89C51单片机及其外围器件协同完成。
由于在系统中所有的电压均为+5V,故单片机通过LM7805电源供电;独立键盘作为人机接口,通过单片机1/0口输入,从而实现手动控制与人工调节功能;DS18B20将检测到的温度值转化为数字量输入到单片机中,通过单片机处理而实现相应温度控制功能;强电控制与驱动电路用来控制加热器和通风机的启停;报警电路在温室温度超出设定范围时发出报警声;LED显示模块主要是起到显示功能,把当前温度信息很醒目的显示在屏面上,使人们能比较直观进行温度设置,了解受控环境目前的温度信息。
系统的结构框图如图2-1所示,系统由AT89C51单片机、电源模块、键盘及显示模块、报警及指示模块、控制模块和传感器模块组成。
传感器模块由多个DS18B20传感器共同连接与单片机P3.0口构成多点温度检测;控制模块由SSR固态继电器、电机和电热器组成;报警指示模块由蜂鸣器和多个发光二极管组成;键盘及显示模块由五个独立按键和4个LED数码管构成。
本系统的开发设计具有以下功能:
1.实时采集与显示所检测环境内的温度参数。
本装置可以通过数字单总线温度传感器对温室内的温度进行多点实时温度采集并显示。
2.根据用户需要在一定范围内自动调节温室内的温度参数。
本系统能够通过控制温度调节模块,将温室内的温度参数调节到用户所设定的数值附近。
3.可以根据用户不同季节和地区以及不同的实际需要,设置相应不同的温度控制范围。
系统设置及控制应具备一定的灵活性。
4.温度超限报警。
当温室内的温度超出所允许的范围时,本系统装置能够发出声光报警,并准确提示出超限报警区域所在。
图2-1系统结构框图
2.2本系统的工作原理
该温度测控系统的工作原理就是用户通过键盘输入系统设定温度的上限值与下限值,温度信息由集温度测量和A/D转换于一体的DS18B20温度传感器测量并转换成数字信号输入主机(单片机AT89C51),此信号经过标度转换后,一方面通过LED将温度显示出来;当测得的温度越限时,蜂鸣器报警;另一方面,将该温度值与设定的温度值进行比较,如果温度过高则控制SSR固态继电器启动降温设备,如果温度过低则控制SSR固态继电器启动加温设备,如果温度在正常范围之内则继续进行温度检测。
这样就可以控制输出设备,实时调节温度的变化,使其逐渐趋于给定值且达到控制的目的。
[]
2.3本系统的性能设计指标
(1)温度控制范围:
-20℃~+100℃;
(2)温度测量精度:
±0.5℃;
(3)显示分辨率:
±0.5℃;
(4)工作电压:
AC220V/50HZ±10%。
第3章系统的硬件设计
3.1系统单片机AT89C51
3.1.1简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
[]
AT89C51提供以下标准功能:
4k字节Flash闪速存储器,128字节8位内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
单片机AT89C51的引脚图如图3-1所示:
图3-1AT89C51引脚图
管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流,当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口同时为闪烁编程和编程校验接收一些控制信号。
P3口也可作为AT89C51的一些特殊功能口,如表3-1所示:
表3-1P3口的特殊功能口表
口管脚
备选功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.0
RXD(串行输入口)
P3.2
INT0(外部中断0)
P3.3
INT1(外部中断1)
P3.4
T0(记时器0外部输入)
P3.5
T1(记时器1外部输入)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
其中XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
[]
3.1.2单片机最小系统
单片机工作的时间基准是由时钟电路提供的,在单片机的XTAL1和XTAL2两个管脚接一只晶振及两只电容就构成了单片机的时钟电路,电路中电容器C1和C2对振荡器频率有微调作用,通常取(30±10)pF石英晶体选择6MHz或12MHz都可以。
单片机的RST管脚为主机提供了一个外部复位信号输入口。
复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。
单片机的复位方式可由手动复位方式完成。
电阻、电容器的参考值R1=10kΩ、C1=100μF、C2=0.010μF。
最小系统由时钟电路、复位开关和电源部分组成。
如下图3-2:
图3-2单片机最小系统
3.2单总线温度传感器DS18B20
3.2.1简介
DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。
主要根据应用场合的不同而改变其外观。
封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。
耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
技术性能描述:
独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.0~5.5V;零待机功耗;温度以9至12位显示;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图3-3所示:
图3-3DS18B20内部结构
64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。
温度报警触发器TH和TL,可通过软件写入户报警上下限。
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。
高速暂存RAM的结构为8字节的存储器,结构如图3-3所示。
头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
该字节各位的定义如表3-1所示。
低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。
因此,在实际应用中要将分辨率和转换时间权衡考虑。
[]
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。
转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。
单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。
若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。
因此,可用多只DS18B20同时测量温度并进行报警搜索。
在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。
主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。
DS18B20的测温原理如图3-4所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生的信号作为减法计数器1;高温度系数晶振随温度变化其振荡频率明显变,所以产生的信号作为减法计数器2的脉冲输入。
图中还隐含着计数门,当计数门打开时,DS18B20对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。
计数门的开启时间由高温度系数振荡器决定,每次测量前,首先将温度所对应的一个基数分别置入减法计数器1、温度寄存器中,减法计数器1和温度寄存器被预置在温度所对应的一个基数值。
图3-4DS18B20测温原理图
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。
其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程。
典型对应的温度值如下表3-2:
表3-2典型对应的温度值表
温度/℃
二进制表示
十六进制表示
+125
0000011111010000
07D0H
+85
0000010101010000
0550H
+25.0625
0000000110010000
0191H
+10.125
0000000010100001
00A2H
+0.5
0000000000000010
0008H
0
0000000000001000
0000H
-0.5
1111111111110000
FFF8H
-10.125
1111111101011110
FF5EH
-25.0625
1111111001101111
FE6FH
-55
1111110010010000
FC90H
另外,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 温度 采集 控制系统 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)