基于51单片机的智能温控仪.docx
《基于51单片机的智能温控仪.docx》由会员分享,可在线阅读,更多相关《基于51单片机的智能温控仪.docx(58页珍藏版)》请在冰点文库上搜索。
基于51单片机的智能温控仪
哈尔滨理工大学
毕业设计
题目:
多回路智能温控仪
院系:
电气与电子工程学院
姓名:
指导教师:
系主任:
2014年6月19日
多回路智能温控仪
摘要
随着单片机技术的飞速发展,单片机在各个领域得到了广泛的应用。
本设计的多回路温控仪是应用于对粮库的温度控制,粮食是人类生存的必需品,而温度是保存好粮食的先决条件。
粮库一般较大,测量点会很多。
因此需要对多点的温度进行巡回检测,鉴于此目的,本论文针对粮仓设计了多回路温控仪。
本设计采用AT89C51为主控制芯片,以AD590为温度传感器,通过ADC0809采集了各个温度点的温度,利用LCD1602液晶显示器形象直观的显示出测量的温度值,再通过单片机对于电机及加热丝的控制将粮仓温度控制在保存粮食最佳的温度5到15℃,以实现多路温度显示、报警、控制等功能。
本文在确定法设计方案基础上,着重论述了系统的软硬件设计,并且描述了系统电路设计、硬件设计框图及所使用各种芯片功能和特性且通过PROTEUS软件仿真出了该系统,本设计设计简单,抗干扰能力强,可广泛的应用于各种温度控制系统。
关键词:
AT89C51;AD590;ADC0809;温度控制
BasedOn51Single-ChipMulti-loopTemperatureController
Abstract
Withtherapiddevelopmentofchiptechnology,themicrocontrollerinvariousfieldshasbeenwidelyused.Thedesignofthemulti-looptemperaturecontrollerisusedintemperaturecontrolapplicationsforgrainstorage,foodisanecessityforhumansurvival,andthetemperatureisaprerequisiteforsavinggoodfood.Graingenerallylarger,measuringanumberofpointswillbe.Hencetheneedformulti-pointtemperaturetourdetection,inviewofthis,thethesisgranarymulti-looptemperaturecontrollerisdesigned.
ThisdesignusesAT89C51maincontrolchiptoAD590temperaturesensor,temperaturecollectedbyADC0809eachtemperaturepoint,theuseofvisualimageLCD1602LCDdisplayshowsthemeasuredtemperature,andthenthroughthemicrocontrollerformotorcontroloftheheatingwireGranaryoptimumtemperaturecontrolinstoredgraintemperature,inordertoachievemulti-channeltemperaturedisplay,alarmandcontrolfunctions.Inthispaper,thedesignisdeterminedonthebasisoflaw,focusesonthehardwaredesignofthesystem,anddescribesthesystemcircuitdesign,hardwaredesigndiagramandtheuseofvariousfunctionsandfeaturesofthechip,andbyPROTEUSsoftwaresimulationofthesystem.
Keywords:
AT89C51;AD590;ADC0809;temperaturecontrol
附录B.................................................................................................................32
附录C.................................................................................................................40
附录D.................................................................................................................53
第一章绪论
1.1课题背景
温度的测量和控制在日常生活和工业领域中具有广泛的应用,随着人们生活水平的大幅提高,对温度测量控制的精度和范围也有着更高的要求。
传统的测温方法是针对单个温度点的单点检测、单点控制。
如果需要对多个点进行检测和控制,一般的方法是在每一个测温点安放一个温度敏感元件,如铂电阻(或者是采用集成温度传感器如AD590)和相应的外围电路,最后通过A/D转换器将采集到的温度值送入单片机等控制单元,经过运算后再通过电机改变现场的温度,近年来,越来越多的场合需要对多点的温度进行巡回检测和控制。
1.2设计的目的和意义
温度控制系统在国内各行各业的应用虽然已经十分广泛,但从生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比有着较大差距。
目前,我国在这方面总体技术水平处于20世纪80年代中后期水平,成熟产品主要以“点位”控制及常规的PID控制器为主。
它只能适应一般温度系统控制,难于控制滞后、复杂、时变温度系统控制。
而适应于较高控制场合的智能化、自适应控制仪表,国内技术还不十分成熟,形成商品化并在仪表控制参数的自整定方面,国外已有较多的成熟产品。
但由于国外技术保密及我国开发工作的滞后,还没有开发出性能可靠的自整定软件。
控制参数大多靠人工经验及现场调试确定。
国外温度控制系统发展迅速,并在智能化、自适应、参数自整定等方面取得成果。
日本、美国、德国、瑞典等技术领先,都生产出了一批商品化的、性能优异的温度控制器及仪器仪表,并在各行业广泛应用。
它们主要具有如下的特点:
一是适应于大惯性、大滞后等复杂温度控制系统的控制;二是能够适应于受控系统数学模型难以建立的温度控制系统的控制;三是能够适应于受控系统过程复杂、参数时变的温度控制系统的控制;四是温度控制系统普遍采用自适应控制、自校正控制、模糊控制、人工智能等理论及计算机技术,运用先进的算法,适应的范围广泛;五是温控器普遍具有参数自整定功能。
借助计算机软件技术,温控器具有对控制对象控制参数及特性进行自动整定的功能。
有的还具有自学习功能,能够根据历史经验及控制对象的变化情况,自动调整相关控制参数,以保证控制效果的最优化;六是具有控制精度高、抗干扰力强、鲁棒性好的特点。
目前,国内外温度控制系统及仪表正朝着高精度、智能化、小型化等方面快速发展。
本课题设计的系统符合当代科学发展的趋势,能够满足现代生产生活的需要,其测温效率高,具有较强的稳定性和灵活性。
方便快捷的实现了多路温度采集并显示,该系统用液晶显示器节省了空间且显示效果好,报警电路同时包含了蜂鸣器和提示灯,能更好的引起操作者的警觉,在实际生产中能够降低由于温度超过额定范围引发的事故,有良好的实用性,在国内外都具备良好的应用前景。
第二章系统硬件设计
2.1设计要求
由以上背景和研究目的,总结出以下设计内容:
1.能够实时的测量温度并显示;
2.温度控制范围5-15℃;
3.测温精度±0.5℃;
4.精确地控制电机和加热丝控制温度。
2.2方案设计
方案:
该方案由单片机、模拟温度传感器AD590、运算放大器、AD转换器ADC0808、LCD显示电路、报警器、控制电路组成。
该方案采用模拟温度传感器AD590作为测温元件,传感器测量的温度变化转换成电流的变化,再通过电路转换成电压的变化,使用运算放大器交给信号进行适当的放大(由于PROTEUS中没有AD590,本设计中用滑动变阻器模拟AD590和放大器),最后通过模数转换器将模拟模拟信号转换成数据信号,传给单片机,单片机将温度值进行处理之后用LCD显示,当温度值超过设定值时开始报警,再通过单片机对温度控制系统进行控制是温度控制在规定的范围。
系统框图如下图2-1:
图2-1系统总体框图
2.3温度采集模块设计
2.3.1温度传感器的选择
要进行一个具体的测量工作,首先要考虑用何种原理的传感器,这需要分析多方面的因素之后才能确定。
因为,即使是测量同一物理量,也有多种原理的传感器可以选用,哪一种原理的传感器更为适合,则需要根据被测量的特点和传感器的使用条件考虑以下具体问题:
量程的大小,被测位置对传感器体积的要求,测量方式是接触式的还是非接触式的,信号的引出方法,传感器的来源,国产还是进口,价格是否能承受。
在考虑上述问题之后就能确定选用何种类型的传感器,然后再考虑传感器的具体性能指标。
传感器的具体指标有灵敏度,频率响应特性,线性范围,稳定性,精度等。
这些参数并不是要求越高越好,因为要求越高不仅会带来成本的提高,也会带来信号处理的难度,噪音等问题。
在满足检测系统要求的前提下我们一般选择价格便宜和简单的传感器。
由于DS18B20在价格上较AD590较贵,本设计要用到八个所以在性价比上不高且本设计较简单(AD590须被用于150℃以下的温度传感应用中,这是目前常规电子温度传感器的工作范围。
单片集成电路的天生低成本,加上无需外围支持电路,使得AD590成为许多温度测量场合最具吸引力的选择方案)且线性电路,热阻测量电路以及冷接点补偿等等,在AD590应用中都不再需要。
除了温度测量以外,AD590的应用还包括温度补偿﹑分立器件校正﹑恒定误差的绝对温度比例﹑流速测量﹑液体水平检测和风速测定。
AD590提供可选的芯片封装,适用于混合电路以及受保护环境中的快速温度测量。
AD590在遥感应用中尤其有效。
因其高阻抗电流输出,器件对远程传输的压降并不敏感。
任何良好绝缘的双绞线都足以应付距离接收电路数百英尺以外的操作。
AD590的输出特性也让其轻松实现复用:
电流可由CMOS多路复用器选择,而供压则可被逻辑门输出任意切换,所以我们选择AD590做温度传感器。
2.3.2AD590简介
AD590温度传感器是一种已经IC化的温度传感器,它会将温度转换为电流。
其规格介绍如下:
温度每增加1℃,它会增加1μA输出电流。
可量测范围-55℃至150℃。
供应电压范围+4V至30V[1]。
AD590的输出电流值说明如下:
其输出电流是以绝对温度零度(-273℃)为基准,每增加1℃,它会增加1μA输出电流,因此在室温25℃时,其输出电流Io=(273+25)=298μA[1]。
由于PROTEUS中没有AD590,故在仿真时用滑动变阻器模拟AD590和放大器。
由于AD590输出的电流过小,因此需要放大电路对电压进行放大,还需在放大电路与AD590间添加电压跟随器起缓冲、隔离、提高带载能力的作用。
温度采集模块电路连接图如下图2-2:
图2-2温度采集电路
2.4AD转换模块设计
2.4.1AD模数转换电路芯的选择
尽管ADC芯片的品种、型号很多,其内部功能强弱、转换速度快慢、转换精度高低有很大差别,但从用户最关心的外特性看,无论哪种芯片,都必不可少地要包括以下四种基本信号引脚端:
模拟信号输入端(单极性或双极性);数字量输出端(并行或串行);转换启动信号输入端;转换结束信号输出端。
本次课程设计选用的是ADC0808或ADC0809芯片。
ADC0808和ADC0809除精度略有差别外(前者精度为8位、后者精度为7位),其余各方面完全相同。
它们都是CMOS器件,不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。
利用它可直接输入8个单端的模拟信号分时进行A/D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。
2.4.2ADC0809简介
ADC0809外部引脚图如下图2-3所示:
外部引脚定义分述如下:
1.IN0~IN7——8路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。
2.D7~D0——A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。
8位排列顺序是D7为最高位,D0为最低位。
图2-3ADC0809引脚
3.ADDA、ADDB、ADDC——模拟通道选择地址信号,ADDA为低位,ADDC为高位。
4. VR(+)、VR(-)——正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。
在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。
5. ALE——地址锁存允许信号,高电平有效。
当此信号有效时,A、B、C三位地址信号被锁存,译码选通对应模拟通道。
在使用时,该信号常和START信号连在一起,以便同时锁存通道地址和启动A/D转换。
6. START——A/D转换启动信号,正脉冲有效。
加于该端的脉冲的上升沿使逐次逼近寄存器清零,下降沿开始A/D转换。
如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中止,重新从头开始转换。
7. EOC——转换结束信号,高电平有效。
该信号在A/D转换过程中为低电平,其余时间为高电平。
该信号可作为被CPU查询的状态信号,也可作为对CPU的中断请求信号。
在需要对某个模拟量不断采样、转换的情况下,EOC也可作为启动信号反馈接到START端,但在刚加电时需由外电路第一次启动。
8. OE——输出允许信号,高电平有效。
当微处理器送出该信号时,ADC0808/0809的输出三态门被打开,使转换结果通过数据总线被读走。
在中断工作方式下,该信号往往是CPU发出的中断请求响应信号[2]。
ADC0809与单片机接口电路如图2-4所示。
图2-4ADC0809与单片机接口电路
2.5单片机部分设计
2.5.1单片机AT89C51简介
AT89C51是美国ATMEL公司生产的低电压、高性能CMOS8位单片,内含4Kbytes的可反复擦写的只读程序存储器(EPROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域,该芯片外形结构及引脚如图2-5所示[4]。
AT89C51提供4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。
图2-5AT89C51外部引脚
AT89C51单片机主要性能参数为:
1. 与MCS-51产品指令系统完全兼容;
2. 4K字节可重擦写Flash闪速存储器;
3. 1000次擦写周期;
4. 全静态操作:
0Hz—24Hz;
2. 三级加密程序存储器;
6. 128×8字节内部RAM;
7. 32个可编程I/O口
8. 2个16位定时/计数器;
9. 6个中断源;
10. 可编程串行UART通道;
11. 低功耗空闲和掉电模式。
AT9C51外部引脚说明:
1.Vcc:
电源电压。
2.GND:
地。
3.P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问
期间激活内部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
4.P1口:
P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉倒高电平,此时可做输入口。
做输入口输入时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流IIL。
Flash编程和程序校验期间,P1接收低8位地址。
5.P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口写“1”,通过内部的上拉电阻把端口拉倒高电平,此时可做输入口,做输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输入一个电流IIL。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8为地址的外部数据存储器(如执行MOVX@R1指令)时,P2口线上的内容(也即特殊功能寄存器SFR区中R2寄存器的内容),在整个访问期间不改变。
Flash编程或校验时,P2亦接受高位地址和其它控制信号。
6.P3口:
P3口是一个带有内部上拉电阻的8位双向I/O口,P3口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”时,它们被内部上拉电阻拉高并可作为输入端。
作输入端时,被外部拉低的P3口将用上拉电阻输出电流IIL。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表2-1所示。
7.RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
8.ALE:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲可用于锁存地址的低八位字节。
即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置置位后,只有一条MOVX和MOVC指令ALE才会被激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
9.PSEN:
程序储存允许输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。
在此期间,当访问外部数据存储器时,这两次有效的信号不出现。
表2-1P3口第二功能
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4
T0(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号
10.EA/VPP:
外部访问允许。
欲使CPU仅访问外部数据存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编成,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件使用12V编程电压Vpp。
11.XTAL1:
振荡器反相放大器及内部时钟发生器的输入端。
12.XTAL2:
振荡器反相放大器的输入端[5]。
2.5.2单片机最小系统
AT89C51是一种低损耗、高性能、CMOS八位微处理器,片内有4K字节的在线可重复编程快擦写程序存储器,能重复写入/擦除100次,数据保存时间为十年。
它与MCS-51系列单片机在引脚和指令系统上完全兼容,不仅可以完全代替MCS-51系列单片机,而且能使系统具备许多MCS-51系列产品没有的功能。
AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低了系统成本。
只要程序长度小于4K,四个I/O口全部提供给用户。
可用5V电压编程,而且擦写时间仅需10ms,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不必拔下芯片,适合许多嵌入式控制领域。
工作电压范围宽(2.7V-6V),全静态工作,工作频率宽,在0Hz-24Hz内,工作频率比8751/87C51等51系列的6MHz-12MHz更具灵活性,系统能快能慢。
AT89C51提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。
51系列单片机片内含有一个的反向放大器,通过XTAL1、XTAL2外接反馈元件的晶体便成为自激振荡器,晶体成感性,与C1、C2构成并联震荡电路,振荡器的振荡频率主要取决于晶体;电容的值则是微调作用,通常取30pF左右。
振荡器输出的震荡脉冲经2分频成为内部时钟信号,用作单片机内部各功能不见按时序协调工作的控制信号。
其周期也成为时钟周期(或则状态周期)。
6个时钟周期构成一个机器周期。
指令周期以机器周期为单位。
若采用6MHz晶振,则单指令周期和双指令周期执行时间分别为2μs和4μs,ALE引脚输出的脉冲周期为1μs。
为确保系统中电路稳定可靠的运行,复位电路是必不可少的一部分。
复位电路的第一功能是上电复位。
一般微机电路工作需要供电电源为5V±5%,即4.75-5.25V。
由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V以及晶休振荡器稳定工作时,复位信号撤除,微机电路开始工作。
微机电路在运行中受到干扰后,容易出现CPU程序“跑飞”盲目运行甚至出现死机现象。
此时复位信号有效,使微机系统重新恢复正常运行。
这种监视CPU运行的电路称为Watchdog电路。
51系列单片机的复位(RST)引脚只要出现10ms以上的高电平,单片机就会实现复位,复位后程序的入口地址为0000H,单片机工作在寄存器0组,堆栈在片内RAM的08H单元建立,P0~P3口输出全为1,中断系统禁止工作。
51系列单片机系统常常有上电复位和操作复位两种方法。
所谓上电复位,是指计算机上电瞬间,要在RST引脚上出现宽度大于10ms三万正脉冲,使计算机进入复位状态,复位靠外部电路实现,上电时+5V电源经R对C3充电,C3上电压建立的过程就是负脉冲的宽度,经倒相后,RST上出现正脉冲使单片机实现上电复位。
按钮按下同样使RST实现高电平,实现了操作复位。
对MCS-51系列的单片机