数字温度控制系统软件设计 论文.docx
《数字温度控制系统软件设计 论文.docx》由会员分享,可在线阅读,更多相关《数字温度控制系统软件设计 论文.docx(35页珍藏版)》请在冰豆网上搜索。
数字温度控制系统软件设计论文
摘要
现今,自动控制技术尤其是温度控制技术在国内外得到广泛的应用和发展。
随着国民经济的发展,人们需要对各中加热炉,热处理炉,生化温室中温度进行监测和控制。
采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。
本系统利用单片机设计一个温控系统,采用80C51单片机为中央处理器,结合高精度数字温度传感器DS18B20,DS18B20在-55~+125°C范围内,固有测温分辨率为0.5°。
采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。
数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。
由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。
更能串接多个数字温度传感器DS18B20进行范围的温度检测。
当实际温度低于设定的温度时,采用继电器控制电热丝进行加温;当实际温度高于设定的温度时,关闭继电器,停止加温,进行自然降温。
本系统能完成升温和降温控制。
关键字:
80C51,DS18B20,温度控制
ABSTRACT
Today,automationtechnology,especiallythetemperaturecontroltechnologytobeathomeandabroadawiderangeofapplicationsanddevelopment.Withthedevelopmentofthenationaleconomy,peopleneedtoallinthefurnace,heattreatmentfurnace,chemicalandbiologicalmonitoringofthetemperatureofthegreenhouseandcontrol.single-chipcomputertocontrolnotonlyhascontroloftheirconvenience,simplicityandflexibilityadvantages,butalsosubstantialincreaseintemperaturewaschargedwithtechnicalindicators,whichcangreatlyimprovethequalityandquantityofproducts.Thesystemusessingle-chipdesignofatemperaturecontrolsystemusing80C51single-chipfortheCPU,combinedwithhigh-accuracydigitaltemperaturesensorDS18B20,DS18B20in-55~+125°Crange,theinherentresolutionof0.5°temperature.DigitaltemperaturesensorDS18B20,becauseoftheirinternalintegrationoftheA/Dconverter,allowsamoresimplecircuitstructure,andadecreaseoftemperaturemeasurementaccuracyatthetimeofconversionloss,themoreaccuratetemperaturemeasurement.DigitaltemperaturesensorDS18B20canuseonlyonepintocommunicatewiththesinglechip,greatlyreducingthewiringtrouble,makingamorescalablesingle-chipmicrocomputer.DS18B20chipasaresultofthesmaller,morejumpingthroughasingledatalineandthemaincircuitcanbeconnected,itcanbemadeDS18B20digitaltemperaturesensorprobe,explorationintothesmallplace,increasetheusefulness.BetterthanseriesDS18B20digitaltemperaturesensorfordetectingthetemperaturerange.Controlcircuitusingthedigitaldisplayshowsthemeasuredtemperaturevaluesdirectly,Whentheactualtemperatureislowerthansettemperature,theuseofrelaystocontroltheelectricheatingwire;whentheactualtemperatureishigherthansettemperature,turnofftherelay,andstopheating,naturalcooling.Thesystemcancompletetheelevationoftemperatureandthetemperaturedecreasecontrol.
KEYWORDS:
80C51,DS18B20,temperaturecontrol
第1章概述
1.1控制温度系统简介及原理
目前,温度控制系统的应用十分广泛.对人们的生活影响很大,基于此要求,本设计利用单片机在温度测量与控制方面的优点对温度的进行控制。
控制技术在现代生活和生产中扮演着越来越重要的角色。
为了实现较高精度的温度控制,该设计运用单片机89C51为控制核心、开关控制以及利用组态软件相结合的方法来实现温度控制。
该系统以温度作为被控制对象,运用热电阻测量温度,经放大后送入ADC0809将测量得到的模拟量转化为数字量送入到单片机89C51中,利用89C51进行处理。
同时该系统将测量结果送显示屏显示。
该系统再根据处理后的结果来控制继电器的通断以此来控制电炉加热和电磁阀的开断,既而达到控制锅炉的温度。
控制过程中出现异常情况,声光报警器发出报警信号。
该系统的通信是利用组态软件将单片机与上位机相连,达到远程控制水温的目的。
该系统的特点是电路简单、程序简短、系统可靠性高。
温度控制的原理:
温度的控制方法,最常用的方法就是反馈控制。
所谓反馈控制就是将输入量与被控量相比较产生偏差信号,并据此产生控制信号来控制系统下一步的动作,从而减少甚至消除系统的偏差。
因比,对于水温控制而言,控制信号的产生方式就是其主要的差异所在。
1.2国内外温度控制系统的发展情况
由于工业过程控制的需要,特别是在微电子技术和计算机技术的迅猛发展以及自动控制理论和设计方法发展的推动下,国外温度控制系统发展迅速,并在智能化、自适应、参数自整定等方面取得成果,在这方面,以日本、美国、德国、瑞典等国技术领先,都生产出了一批商品化的、性能优异的温度控制器及仪器仪表,并在各行业广泛应用。
它们主要具有如下的特点:
(1)适应于大惯性、大滞后等复杂温度控制系统的控制。
(2)能够适应于受控系统数学模型难以建立的温度控制系统的控制。
(3)能够适应于受控系统过程复杂、参数时变的温度控制系统的控制。
(4)这些温度控制系统普遍采用自适应控制、自校正控制、模糊控制、人工智能等理论及计算机技术,运用先进的算法,适应的范围广泛。
(5)普遍温控器具有参数自整定功能。
借助计算机软件技术,温控器具有对控制对象控制参数及特性进行自动整定的功能。
有的还具有自学习功能,它能够根据历史经验及控制对象的变化情况,自动调整相关控制参数,以保证控制效果的最优化。
(6)温度控制系统具有控制精度高、抗干扰力强、鲁棒性好的特点。
目前,国外温度控制系统及仪表正朝着高精度、智能化、小型化等方面快速发展。
温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同国外的日本、美国、德国等先进国家相比,仍然有着较大的差距。
目前,我国在这方面总体技术水平处于20世纪80年代中后期水平,成熟产品主要以“点位”控制及常规的PID控制器为主,它只能适应一般温度系统控制,难于控制滞后、复杂、时变温度系统控制。
而适应于较高控制场合的智能化、自适应控制仪表,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。
目前,我国在温度等控制仪表业与国外的差距主要表现在如下几个方面:
(1)行业内企业规模小,且较为分散,造成技术力量不集中,导致研发能力不强,制约技术发展。
(2)商品化产品以PID控制器为主,智能化仪表少,这方面同国外差距较大。
目前,国内企业复杂的及精度要求高的温度控制系统大多采用进口温度控制仪表。
(3)仪表控制用关键技术、相关算法及控制软件方面的研究较国外滞后。
例如:
在仪表控制参数的自整定方面,国外已有较多的成熟产品,但由于国外技术保密及我国开发工作的滞后,还没有开发出性能可靠的自整定软件。
控制参数大多靠人工经验及现场调试来确定。
这些差距,是我们必须努力克服的。
随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家、企业的研发中心,并通过合资、技术合作等方式,组建了一批合资、合作及独资企业,使我国温度等仪表工业得到迅速的发展。
1.3单片机简述
1.3.1多个外部中断源系统设计
定时器中断作为外部中断使用
把MCS-51的两个定时器/计数器(T0和T1)选择为计数器方式,每当T0或T1引脚上发生负跳变时,T0和T1的计数器加1。
利用这个特性,可以把T0和T1引脚作为外部中断请求标志。
而定时器的益出中断作为外部中断请求标志。
应用举例如下:
设T0为方式2外部计数方式,时间常数为0FFH,允许中断,并CPU开放中断。
其初始化程序为:
MOVTM0D,#06H;
MOVTL0,#0FFH;
MOVTH0,#0FFH
SETBTR0,
MOVIE,#82H;
当接在T0引脚上的外部中断请求输入线发生负跳变时,TL0加1益出,TF0被置“1”向CPU发出中断请求。
同时TH0的内容自动送入TL0,使TL0恢复初始值0FFH。
这样,每当T0引脚上有一次负跳变时都置“1”与TF0,向CPU发中断请求,T0引脚就相当于边沿触发的外部中断请求源输入线。
同理,也可以把T1引脚作类似的处理。
8051单片机的时钟信号通常用两种电路形式得到:
内部振荡方式和外部振荡方式。
在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
内部振荡方式的外部电路如图所示。
图中,电容器Col,C02起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。
晶振频率的典型值为12MH2,采用6MHz的情况也比较多。
内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。
外部振荡方式是把外部已有的时钟信号引入单片机内。
这种方式适宜用来使单片机的时钟与外部信号保持同步。
外部振荡信号由XTAL2引入,XTAL1接地。
为了提高输入电路的驱劝能力,通常使外部信号经过一个带有上拉电阻的TTL反相门后接入XTAL2。
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位操作通常有两种基本形式:
上电复位和上电或开关复位。
上电复位要求接通电源后,自动实现复位操作。
上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用电阻,也能达到上电复位的操作功能。
上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。
常用的上电或开关复位电路。
上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。
当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
8051单片机有4个存储器空间,分别用来安排4种不同功用的存储器:
①内部数据存储器;
②特殊功能寄存器;
③程序存储器;
④外部数据存储器。
内部数据存储器和特殊功能寄存器集成于片内,程序存储器和外部数据存储器则安排在片外,用接口电路与单片机连接。
4种存储器中,除内部数据存储器和特殊功能寄存器是统一编址的除外,各存储器均分开编址,并用不完全相同的寻址方式来访问它们。
MCS-51单片机设有四个双向I/O端口(P0,P1,P2,P3),每一条I/O线都能独立地用作输入或输出。
P0口为三态双向口,能带8个LSTTL电路。
P1,P2,P3口为准双向口,负载能力为4个LSTTL电路。
MCS-51有两个中断源,但在实际的应用系统中,外部中断请求源往往比较多。
把MCS-51的两个定时器/计数器(T0和T1)选择为计数器方式,每当T0或T1引脚上发生负跳变时,T0和T1的计数器加1。
利用这个特性,可以把T0和T1引脚作为外部中断请求标志。
而定时器的益出中断作为外部中断请求标志。
举例如下:
设T0为方式2外部计数方式,时间常数为0FFH,允许中断,并CPU开放中断。
当接在T0引脚上的外部中断请求输入线发生负跳变时,TL0加1益出,TF0被置“1”向CPU发出中断请求。
同时TH0的内容自动送入TL0,使TL0恢复初始值0FFH。
这样,每当T0引脚上有一次负跳变时都置“1”与TF0,向CPU发中断请求,T0引脚就相当于边沿触发的外部中断请求源输入线。
同理,也可以把T1引脚作类似的处理。
1.3.2DSl8B20温度传感器
DSl8B20温度传感器的内部存储器包括9KB高速暂存RAM和1KB非易失性的可电擦除的E2PROM,后者存放高温度和低温度触发器TH,TL和结构寄存器,该字节第7位(TM)为0,低5位一直都是1,第6,5位(R1,R0)用来设置分辨率,如表1-1所示。
表1-1DS18B20温度测量分辨率表
R1R0分表率/b测量温度最大
精度转换时间/ms
0090.593.75
01100.25187.5
10110.125375
11120.0625750
根据DSl8820的通信协议,主机控制DSl8820完成温度转换必须经过3个步骤:
每一次读写之前都要对其进行复位,复位成功后发送1条ROM指令,最后发送RAM指令,这样才能对DSl8820进行预定的操作。
复位要求主CPU将数据线下拉500μs,然后释放,DSl8820收到信号后等待16~60μs左右,后发出60~240μs的存在低脉冲,主CPU收到此信号表示复位成功。
由于DSl8820采用的是单线进行控制与读取数据,因此对操作的时序要求非常严格,否则由于时序不匹配,将无法完成对器件的正确操作。
1.3.3继电器
其在控制电路中的作用来讲,它是以一定的输入信号(如电流、电压或其它热、光非电信号)实现自动切换电路的“开关”。
所以,它是一种自动、远动电器元件。
另外,继电器也不单是作为一个简单的“开关”来用,它还有其它的“控制”作用。
例如电车的快、慢、起、停控制;汽车转弯的指示等都是继电器在工作。
继电器作为一个控制电器来讲,它有两个主要部分:
一个是控制系统(又叫输入回路);另一个是被控制系统(又叫输出回路)。
继电器之所以能起自动控制作用,是因为当它的控制系统中输入的某信号(输入量),如电、磁、光、热等物理量,达到某一定值时,能使输出回路的被控制量(输出量)跳跃式的由零变化到一定值(或由一定位突跳到零)。
我们把这种能自动使被控制量发生跳跃变化的控制元件称为继电器。
「继电器(relay)」也是一种电门,但与一般开关不同,继电器并非以机械方式控制,而是一种以电磁力来控制切换方向的电门。
当线圈通电后,会使中心的软铁核心产生磁性,将横向的摆臂吸下,而臂的右侧则迫使电门接点相接,使两接点形成通路。
简单的单轴单切式继电器,一颗继电器也可以同时切换多组电门,一个双轴双切的继电器,它有八支接脚,排列方式如图上接脚编号。
另外继电器规格除了电门接点数目不同,还要注意线圈的工作电压是直流或是交流电,使用的电压电流大小,切换电门耐电压程度等,继电器的规格有6v、9v、12v、24v、48v、100v、110v、200v、220v…等,例如一般工业界常用的继电器接点可以耐电压电流110vac-10a,线圈使用电压为24vdc,共有二组或三组接点。
低电压的直流继电器可以直接用电晶体推动,使用极为方便。
一般继电器规格中它并不会说明继电器需要多少电流可以驱动线圈,在使用时可以量测线圈内的电阻值,就可以利用欧姆定律换算出耗电流,如果我们量测阻值为150w,线圈驱动电压24vdc,耗电流为24v/150w=0.16a,这样就可以知道电源供应器需要供应多大的电流,才能使继电器作动。
继电器是相当重要且常见的电子元件,在许多机械控制上都相当有用。
继电器是一种基本的电气设备,它用来打开或关闭一定数量互相独立的电路。
这种操作是利用由电压控制的线圈绕组所产生的电磁场来实现的。
继电器的种类繁多,各种强电弱电,低压高压的电气控制和保护都离不开继电器,随着科技的发展,出现了很多新型继电器。
都是一般生产领域的继电器变化没有那么快,传统的继电器控制操作还是必不可少的。
1.3.4模块简介
1、控制器模块
根据题目要求,控制器主要用于对温度测量信号的接受和处理、控制电热丝使控制对象满足设计要求、控制显示电路对温度值实时显示以及控制键盘实现对温度值的设定等。
系统基本模块框图如图1-1所示:
图1-1系统基本模块方框图
采用模拟运算放大器组成PID控制系统。
对于水温控制是足够的。
但要附加显示、温度设定等功能,要附加许多电路,稍显麻烦。
采用80C51作为系统控制器。
单片机算术运算功能强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且其功耗低、体积小、技术成熟和成本低等优点。
由80C51作为控制核心,对温度采集和实时显示以及加热装置进行控制。
2、加热装置有效功率控制模块
根据题目,可以使用电热炉进行加热,控制电热炉的功率即可以控制加热的速度。
当水温过高时,关掉电热炉进行降温处理,让其自然冷却。
在制作中,当水温超高时关闭电炉,当需要加热时开启电炉。
由于加热的功率较大,考虑到简化电路的设计,我们直接采用220V电源。
对加热装置控制模块有如下方案:
采用继电器控制。
使用继电器可以很容易实现地通过较高的电压和电流,在正常条件下,工作十分可靠。
继电器无需外加光耦,自身即可实现电气隔离。
这种电路无法精确实现电热丝功率控制,电热丝只能工作在最大功率或零功率,对控制精度将造成影响。
但可以由多路加热丝组成功率控制,由单片机对温差的处理实现分级功率控制提高系统动态性能。
基于以上分析以及现有器件限制选择,采用继电器控制省去光耦和交流过零检测电路,在软件上选用适当的控制算法,同样可以达到较好的效果。
3、温度采集模块
由采用数字温度传感器DS18B20。
DS18B20为数字式温度传感器,无需其他外加电路,直接输出数字量。
可直接与单片机通信,读取测温数据,电路简单。
DS18B20测温电路如图1-2所示。
图1-2DS18B20测温电路
1.4系统各模块的确立方案
根据以上分析,结合器件和设备等因素,确定如下方案:
1.采用AT89C52单片机作为控制器,分别对温度采集、LED显示、温度设定、加热装置功率控制。
2.温度测量模块采用数字温度传感器DS18B20。
此器件经软件设置可以实现高分辨率测量。
3.电热丝有效功率控制采用继电器控制,实现电路简单实用,加上温度变化缓慢可以满足设计要求。
4.显示用LED数码管显示实时温度值,用ENTER、UP、DOWN三个单键实现温度值的设定。
第2章温度控制系统总体设计
2.1各个模块的功能
CPU(80C51)首先写入命令给DS18B20,然后DS18B20开始转换数据,转换后通过80C51来处理数据。
数据处理后的结果就显示到数码管上。
另外由键盘设定温度值送到单片机,单片机通过数据处理发出温度控制信息到继电器。
DS18B20可以被编程。
各模块关系图如图2-1所示,图2-2所示为DS18B20的连线图。
图2-1各模块关系图
图2-2DS18B20测温电路
2.2各个模块的确定
1、控制器模块
主要用于对温度测量信号的接受和处理、控制电热丝使控制对象满足设计要求、控制显示电路对温度值实时显示以及控制键盘实现对温度值的设定等。
2、加热装置控制模块
控制电热炉的功率即可以控制加热的速度。
当水温过高时,关掉电热炉进行降温处理,让其自然冷却。
当水温超高时关闭电炉,当需要加热时开启电炉。
3、温度采集模块
题目要求温度静态误差小于等于0.2℃,温度信号为模拟信号,本设计要对温度进行控制和显示,由于模拟量难以直观反映出来,所以要把模拟量转换为数字量。
4、键盘与显示模块
温度由人工设定,并能实时显示温度值。
即通过键盘显示出变动的温度,从而可以看到当前温度是否等于预设温度。
2.3设计的控制算法
温度控制的算法和程序框图如图2-3所示。
图2-3温度控制程序框图
主程序包括8051本身的初始化、并行接口8155初始化等等。
大体说来,本程序包括设置有关标志、暂存单元和显示缓冲区清零、T0初始化、CPU开中断、温度显示和键盘扫描等程序。
不同的控制对象,所采用的算法有所不同。
例如对于热惯性大、时间滞后明显、耦合强、难于建立精确数学模型,可以采用人工控制算法,通过对电热元件通断比的调节,实现对温度的自动控制,也可以采用仿人智能控制(SHIC)算法和PID控制算法的联合控制方案,实际应用时应灵活运用。
PID算法是本程序中的核心部分。
采用PID模糊控制技术,通过Pvar、Ivar、Dvar(比例、积分、微分)三方面的结合调整形成一个模糊控制来解决惯性温度误差问题。
其原理如下:
本系统的温度控制器的电热元件之一是发热丝。
发热丝通过电流加热时,内部温度都很高。
当容器内温度升高至设定温度时,温度控制器会发出信号停止加热。
但这时发热丝的温度会高于设定温度,发热丝还将会对被加热的器件进行加热,即使温度控制器发出信号停止加热,被加热器件的温度还往往继续上升几度,然后才开始下降。
当下降到设定温度的下限时,温度控制器又开始发出加热的信号,开始加热,但发热丝要把温度传递到被加热器件需要一定的时候,这就要视发热丝与被加热器件之间的介质情况而定。
通常开始重新加热时,