PID温度控制系统1.docx
- 文档编号:4322129
- 上传时间:2022-11-29
- 格式:DOCX
- 页数:46
- 大小:454.48KB
PID温度控制系统1.docx
《PID温度控制系统1.docx》由会员分享,可在线阅读,更多相关《PID温度控制系统1.docx(46页珍藏版)》请在冰豆网上搜索。
PID温度控制系统1
目录
摘要:
3
Abstract3
第一章绪论4
1.1课题的背景与意义4
1.2课题的应用与展望4
1.3课题举例简介5
第二章总体方案6
2.1系统结构6
2.2具体设计考虑6
第三章元器件简介7
3.1AT89C51单片机7
3.1.1概述7
3.1.2主要特性8
3.1.3引脚功能8
3.2AD590温度传感器10
3.2.1概述10
3.2.2主要特性11
3.2.3AD590工作原理11
3.3ADC0809模数转换器13
3.3.1主要特性13
3.3.2ADC0809工作原理13
第四章硬件设计14
4.1扩展外围接口14
4.2温度控制电路15
4.3温度检测电路设计15
4.3.1设计目标15
4.3.2设计的出发点16
4.3.3设计原理16
4.3.4转换电路16
4.3.5信号处理电路17
4.3.6主电路18
4.4光电隔离电路19
4.5过零检测电路19
4.6PID控制算法20
4.6.1PID控制作用20
4.6.2PID算法的微机实现20
4.6.3PID算法的程序设计21
第五章软件设计22
5.1设计步骤23
5.1.1画出系统的程序框图23
5.1.2内存分配24
第六章系统调试26
6.1硬件调试方法26
6.1.1常见的硬件故障26
6.1.2联机调试27
6.1.3脱机调试28
6.2软件调试方法28
6.3误差分析29
第七章结论29
参考文献30
致谢31
附录A32
外文原文32
中文翻译39
附录B45
附录C55
摘要:
本文主要从硬件和软件两方面介绍了MCS-51单片机温度控制系统的设计思路,简单说明如何实现对温度的控制,并对硬件原理图和程序框图作了简洁的描述。
还介绍了在单片机温度控制系统的软硬件设计中的一些主要技术关键环节,该系统主要以8031单片机为核心,由温度检测电路,模/数转换电路,过零检测电路,报警与指示电路,光电隔离与功率放大电路等构成。
但用AT89C51单片机设计的温度检测电路是本次设计的主要内容,是整个单片机温度控制系统设计中不可缺少的一部分,该系统对温度进行了实时采集与检测。
本设计介绍的单片机温度自动控制系统的主要内容包括:
系统方案、元器件选择、系统理论分析、硬件设计、软件设计、系统调试及主要技术性能参数。
第一章绪论
1.1课题的背景与意义
在近四十年的时间里,电子计算机的发展经历了从电子管、晶体管、中小规模集成电路到大规模集成电路这样四个阶段,尤其是随着半导体集成技术的飞跃发展,七十年代初诞生了一代新型的电子计算机——微型计算机,使得计算机应用日益广泛;而单片微型计算机的问世,则更进一步推动了这一发展趋势,使计算机应用渗透到各行各业,达到了前所未有的普及程度。
一个由微电子技术为先导,计算机技术为标志,包括新材料、宇航、生物工程、海洋工程等多种学科在内的新技术革命正在兴起。
在国内,由于单片机具有功能强、体积小、可靠性好、和价格低廉等独特优点,因此,在智能仪器仪表、工业自动控制、计算机智能终端、家用电器、儿童玩具等许多方面,都已得到了很好的应用,因而受到人们高度重视,取得了一系列科研成果,成为传统工业技术改造和新产品更新换代的理想机种,具有广阔的发展前景。
1.2课题的应用与展望
随着电子技术以及应用需求的发展,单片机技术得到了迅速的发展,在高集成度,高速度,低功耗以及高性能方面取得了很大的进展。
伴随着科学技术的发展,电子技术有了更高的飞跃,我们现在完全可以运用单片机和电子温度传感器对某处进行温度检测,而且我们可以很容易地做到多点的温度检测,如果对此原理图稍加改进,我们还可以进行不同地点的实时温度检测和控制。
温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械等工业中,具有举足重轻的作用,因此,温度控制系统是典型的控制系统。
对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。
随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。
利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。
目前,单片微机已普遍地作用于生产过程的自动控制领域中。
单片机以其体积小、价格低廉、可用其构成计算机控制系统中的智能控制单元和可靠性高等特点,受到广大工程技术人员的重视。
温度是生产过程中最常见的物理量,许多生产过程是以温度作为其被控参数的。
因此,温度控制系统是典型的控制系统。
1.3课题举例简介
在现代化的工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。
例如:
在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。
采用MCS-51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。
因此,单片机对温度的控制问题是一个工业生产中经常会遇到的问题。
下面介绍一种功能简化后的温度控制系统的设计过程。
假设某烘干道采用过热蒸汽为热源,蒸汽管道经热交换器加热空气并通过风机向烘箱送热风实现对胶布(带)的循环加热,烘箱的温度变化范围为0~120℃。
根据工艺要求,系统需实现如下功能和指标:
①温度给定值在85℃左右且现场可调;
②温度控制误差≤±2℃;
③实时显示温度值,保留1位小数;
④温度超过给定值±10℃时声光报警;
⑤控制参数可在线修改。
第二章总体方案
根据功能和指标要求,本系统可以从元件级开始设计,选用MCS-51单片机为主控机。
通过扩展必要的外围接口电路,实现对烘箱温度的测量和控制。
2.1系统结构
该系统以89C51单片机为核心,由温度测量变换、测量放大、大功率运放、A/D与D/A转换器、输入光电隔离、驱动电路、键盘显示、存储器共同组成。
在系统中,温度和时间的设置、温度值及误差显示、控制参数得设置、运行、暂停及复位等功能由键盘及显示电路完成。
图2-1单片机温度控制系统方案原理示意图
传感器把测量的烘箱温度信号转换成弱电压信号,经过信号放大电路,送入低通滤波电路,以消除噪音和干扰,滤波后的信号输入到A/D转换器(ADC0809)转换成数字信号输入主机(单片机8031)。
2.2具体设计考虑
1、由于温度测量范围为0~120℃,控制精度也不高,可选用8路8位ADC0809作A/D转换器,分辨率可达0.5℃;为了方便操作,系统可不扩展专用键盘,温度给定输入可用2位BCD码拨盘开关置数;温度显示可用4位LED;为了实现通过调节蒸汽流量控温,可扩展8位DAC0832作D/A转换器。
于是,单片机基本系统应为:
8031+2764+8255+ADC0809+DAC0832+4位LED。
2、温度测量可以选用半导体集成温度传感器AD590,它的响应速度快,与单片机接口简单。
其测温范围为-55~+150℃,工作电压4~30V,输出电流与绝对温度成正比,即为1µA/K。
执行机构可选用ZKZP-Ⅱ型线性电动单座调节阀,用它来调节通入烘箱的蒸汽流量。
调节阀用D/A转换器输出的可调电流控制,0mA对应阀门完全关闭,10mA对应阀门全打开。
3、可采用带死区的比例积分(PI)控制算法实现对温度的控制。
烘箱温度与给定值的偏差小时,调节阀不动作,以减少阀的机械磨损;偏差较大时,经PI算法运算后,单片机通过D/A输出控制信号控制阀门的开度,为了使控制参数现场可调,可用3个电位器产生3路可调电压经过A/D转换实现对A/D转换,实现对PI算法的3个参数(比例系数Kp、积分系数KI、控制周期Tc)在线整定。
这种方法不仅可使参数调整方便,而且具有掉电保护功能。
4、为了提高系统的抗干扰能力,D/A转换器与单片机之间进行光电隔离。
使电动阀和单片机之间不共地。
第三章元器件简介
3.1AT89C51单片机
3.1.1概述
AT89C51是一个低电压,高性能CMOS8位单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口。
片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),可以按照常规方法进行编程,也可以在线编程。
器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。
3.1.2主要特性
AT89C51的主要特性如下:
•寿命达1000写/擦循环
•数据保留时间:
10年
•全静态工作:
0Hz-24MHz
•三级程序存储器锁定
•128×8位内部RAM
•32可编程I/O线
•2个16位定时器/计数器
•6个中断源
•可编程串行通道
•低功耗闲置和掉电模式
•片内振荡器和时钟电路
3.1.3引脚功能
AT89C51引脚排列如图3-1所示,引脚功能如下:
图3-1AT89C51的引脚排列
VCC(40):
+5V
GND(20):
接地
P0口(39-32):
P0口为8位漏极开路双向I/O口,每个引脚可吸收8个TTL门电流。
P1口(1-8):
P1口是从内部提供上拉电阻器的8位双向I/O口,P1口缓冲器能接收和输出4个TTL门电流。
P2口(21-28):
P2口为内部上拉电阻器的8位双向I/O口,P2口缓冲器可接收和输出4个TTL门电流。
P3口(10-17):
P3口是8个带有内部上拉电阻器的双向I/O口,可接收和输出4个TTL门电流,P3口也可作为AT89C51的特殊功能口。
RST(9):
复位输入。
当振荡器复位时,要保持RST引脚2个机器周期的高电平时间。
ALE/PROG(30):
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每当访问外部数据存储器时,将跳过1个ALE脉冲。
PSEN(29):
外部程序存储器的选通信号。
在由外部程序存储器取值期间,每个机器周期2次PSEN有效,但在访问外部数据存储器时,这2次有效的PSEN信号将不出现。
EA/VPP(31):
当EA保持低电平时,外部程序存储器地址为(0000H-FFFFH)不管是否有内部程序存储器。
FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1(19):
反向振荡器放大器的输入及内部时钟工作电路的输入。
XTAL2(18):
来自反向振荡器的输出。
3.2AD590温度传感器
3.2.1概述
AD590是AD公司利用PN结正向电流与温度的关系制成的电流输出型两端温度传感器。
实际上,中国也开发出了同类型的产品SG590。
这种器件在被测温度一定时,相当于一个恒流源。
该器件具有良好的线性和互换性,测量精度高,并具有消除电源波动的特性。
即使电源在5-15V之间变化,其电流只是在1µA以下作微小变化。
AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。
根据特性分档,AD590后缀以I、J、K、L、M表示。
AD590L、AD590M一般用于精密温度测量电路,其电路外形如图所示,它采用金属壳3脚封装,其中1脚为电源正端V+,2脚为电流输出端I0,3脚为管壳,一般不用。
集成温度传感器的电路符号如图3-2所示。
图3-2AD590的外形电路图及电路符号
3.2.2主要特性
AD590的主要特性参数如下:
•工作电压:
4~30V
•工作温度:
-55~+150℃
•保存温度:
-65~+175℃
•正向电压:
+44V
•反向电压:
-20V
•焊接温度(10秒):
300℃
•灵敏度:
1µA/K
3.2.3AD590工作原理
在被测温度一定时,AD590相当于一个恒流源,把它和5-30V的直流电源相连,并在输出端串接一个1KΩ的恒值电阻,此电阻上流过的电流与被测温度成正比,此时电阻两端将会有1mV/K的电压信号。
其基本电路如图3-3所示。
图3-3感温部分的核心电路
图3是利用ΔURE特性的集成PN结传感器的感温部分核心电路。
其中T1、T2起恒流作用,可用于使左右两支路的集电极电流I1和I2相等;T3、T4是感温用的晶体管,两个管的材质和工艺完全相同,但T3实质上是由n个晶体管并联而成,因而其结面积是T4的n倍。
T3和T4的发射结电压URE3和URE4经反极性串联后加在电阻R上,所以R上端电压为ΔURE。
因此,电流II为:
II=ΔURE/R=(KT/q)(Inn)/R
对于AD590,n=8,这样,电路的总电流将与热力学温度T成正比,将此电流引至负载电阻RL上便可得到与T成正比的输出电压。
由于利用了恒流特性,所以输出信号不受电源电压和导线电阻的影响。
图3中的电阻R是在硅板上形成的薄膜电阻,该电阻已用激光修正了其电阻值,因而在基准温度下可得到1µA/K的I值。
AD590的内部结构电路如图3-4所示。
图3-4AD590的内部结构
3.3ADC0809模数转换器
3.3.1主要特性
•ADC0809的主要特性指标:
•分辨率:
n=8
•时钟频率:
小于640KHZ
•转换时间:
大于等于100微秒
•不可调误差:
1LSB
•电源:
单电源正5V
•模拟输入量:
8路
•模拟输入范围:
0~5V
•参考电压:
Uref(+)—Uref(-)=5V
3.3.2ADC0809工作原理
ADC0809为逐次逼近式A/D转换器,具有8个模拟量输入通道。
它能与微型计算机的大部分总线兼容,可在程序的控制下选择8个模入通道之一进行A/D转换,然后把得到的8位二进制数据送到微机的数据总线,供CPU处理。
转换器是ADC0809的核心部分,它由D/A转换、逐次逼近寄存器(SAR)、比较器等组成。
其中,D/A转换电路采用了256RT型电阻网络(即2n个电阻分压器,此处n=8),它在启动脉冲的上升沿来到时被复位,在启动脉冲的下降沿A/D开始转换。
如果在转换过程中接收到新的启动转换脉冲,则终止转换。
转换结束信号EOC在A/D转换完成时为“1”。
ADC0809的内部结构如图3-5所示。
图3-5ADC0809的内部结构
第四章硬件设计
4.1扩展外围接口
根据总体方案,采用8031外扩2764作程序存储器;外扩8255用于4位LED显示温度、声光报警和扩展光电隔型DAC产生0~10mA可调电流控制电动阀;外扩8路8位ADC0809作温度测量和通过3个电位器产生3个可调控制参数;2位BCD码给定拨盘则和8031的P1口相连。
完整的硬件电路组成如图4-1所示(附录B)。
图4-1中,通过8255的PA口和PC0~PC3口扩展4位LED;通过PB口和PC5扩展光电隔型D/A,DAC0832设置为单缓冲方式,VREF=-5V,于是经运算放大器A1后产生0~5V可调直流电压,再经运算放大器A2在复合三极管T的集电极和+12V电源之间产生0~10mA可调电流,以便控制电动阀的动作(图4-1中,RW1于调整满量程值,D1用于保护三极管T);通过总线直接扩展ADC0809,由于仅使用4路,故选择通道的C端直接接地,由于温度传感器是输出电流信号且与绝对温度成正比,故采用电平移动电路及放大电路使运算放大器A3输出电压值与摄氏温度成正比(图4-1中RW2,RW3分别用语温度测量电路的零点调节和满量程调节);声音报警电路中,蜂鸣器采用长鸣形式,由门电路构成1s振荡器产生的响音;2位BCD码给定拨盘则和8031的P1口直接接口,各位又通过2kΩ电阻接地。
由于各扩展芯片用线选发产生片选信号,故他们的接口地址分别为:
2764:
0000H~1FFFH
8255:
7000H~7003H
ADC0809:
B000H~B003H
4.2温度控制电路
8031对温度的控制是通过双向可控硅实现的。
如单片机温度控制系统电路原理图所示,双向可控硅管和加热丝串接在交流220V、50Hz是电回路。
在给定周期T内,8031只要改变可控硅管的接通时间即可改变加热丝的功率,以达到调节温度的目的。
可控硅接通时间可以通过可控硅控制极上触发脉冲控制。
该触发脉冲由8031用软件在P3.1引脚上产生,在过零同步脉冲同步后经光电耦合管和驱动器输出送到可控硅的控制极上。
4.3温度检测电路设计
4.3.1设计目标
用单片机对温度进行实时检测和控制,以解决工业及日常生活中对温度的及时自动控制问题;用十进制数码显示实际温度值,方便人工监视;用键盘输入温度控制范围值,便于在不同应用场所设置不同温度范围值。
当实际温度值不在该范围时,系统能自动调节温度,以保持设定的温度基本不变,达到自动控制的目的。
系统的温度最小区分度为1℃。
在环境温度变化时,温度控制的静态误差小于等于0.5℃。
4.3.2设计的出发点
在达到对温度的检测和控制的基础上,达到一定的测控精度,并尽量使系统的可靠性高、稳定性好、性价比高、速度快、使用灵活、实现容易、便于扩充。
4.3.3设计原理
本设计采用89C51单片机应用系统来实现设计要求,因89C51在片内含4KB的EEPROM,不需外扩展存储器,可使系统整体结构简单。
利用89C51串行口输出工作方式,使89C51的利用率大大提高,外部电路得以简化。
89C51可直接对键盘进行扫描读数,可直接用串/并转换模块驱动LED显示温度值。
因其利用率高,负载重,后相电路只需加一块同相驱动器即可正常工作。
在串行传输数据时,频率可达到1MHz,对温度的显示完全达到测控精度要求。
4.3.4转换电路
在设计测温电路时,首先应将电流转换成电压。
由于AD590为电流输出元件,它的温度每升高1K,电流就增加1µA。
当AD590的电流通过一个10K的电阻时,这个电阻上的压降为10mV即转换成10mV/K,为了使此电阻精确(0.1%),可用一个9.6K的电阻与一个1K电位器串联,然后通过调节电位器来获得精确的10KΩ。
图所示是一个电流/电压和绝对/摄氏温标的转换电路,其中运算放大器A1被接成电压跟随器形式,以增加信号的输入阻抗。
而运放A2的作用是把绝对温标转换成摄氏温标,给A2的同相输入端输入一个恒定的电压(如1.235V),然后将此电压放
图4-2电流/电压和绝对/摄氏温标的转换电路
大到2.73V。
这样,A1与A2输出端之间的电压即为转换成的摄氏温标。
将AD590放入0℃的冰水混合溶液中,A1同相输入端的电压应为2.73V,同样使A2的输出电压也为2.73V,因此A1与A2两输出端之间的电压:
2.73-2.73=0℃即对应于0℃。
4.3.5信号处理电路
温度检测的小信号放大与绝对/摄氏温度转换采用图电路,其中RW用来完成绝对/摄氏温度转换及调零功能,运放要求采用一片集成普通四运放LM324来完成图的信号处理功能,其工作电源取单电源VCC=9V。
设计中电阻元件可参考下列取值:
R1=R2=10K、R3=R4=20K、R5=R6=20K、RG=5K、RW=10K;高频滤波电容可取C=0.01µF。
图4-3信号处理电路
4.3.6主电路
主电路如图4-4所示,温度检测信号输入ADC0809的IN3引脚,经过模数转换结果输入AT89C51,结果从P1口输出驱动2个LED实现数据显示功能。
图4-4温度检测主电路
4.4光电隔离电路
这部分电路是单片机与电阻丝加热器的接口。
由于电阻丝的加热电压大于单片机的工作电压,为了避免烧坏单片机系统,采用光电隔离电路如图4-5所示。
图4-5光电隔离及放大电路
4.5过零检测电路
过零检测电路在每一个电源周期开始时产生一个脉冲,作为触发器的同步信号,计数器T0对其进行计数。
其电路如图4-6所示。
220V交流电压经电阻限流后直接加到2个反相并联的光电偶器的输入端。
在交流电源的正负半周,分别导通,输出低电平,在交流电源正弦波过零的瞬间,两个光电耦合器均不导通,输出高电平。
该脉冲信号经非门整形后作为单片机的中断请求信号和可控硅的过零同步信号。
图4-6过零检测电路
4.6PID控制算法
前面提到,大多数的温度控制系统可以看作一阶纯滞后环节,由于本系统纯滞后时间较小,故可采用PID(比例、积分、微分)控制算法实施控制。
4.6.1PID控制作用
PID是比例(P)、积分(I)和微分(D)3个控制作用的组合。
连续系统PID控制器的微分方程为:
y(t)=KPP[e(t)+
](4-1)
式中y(t)为控制器的输出;e(t)为控制器的输入;KP比例放大系数;TI为控制器的积分时间常数;TD为控制器的微分时间常数。
显然,KP越大,控制器的控制作用越强;只要e(t)不为0,积分项会因积分而使控制器的输出变化;只要e(t)有变化的趋势,控制器就会在微分作用下,在偏差出现且偏差不大时提前给输出一个较强的控制作用。
4.6.2PID算法的微机实现
由于微机控制系统是一种时间离散控制系统,故必须把微分方程离散化为差分方程,最终写出递推公式才能直接应用。
显然:
(4-2)
(4-3)
于是,
KP{e(n)+
+
[e(n)-e(n-1)]}(4-4)
式中Δt=T,为采样周期;e(t)为第n次采样的偏差值;e(n-1)为第(n-1)次采样时的偏差值;n为采样序列,n=0,1,2,…。
由式(4-4)可以看出:
计算一次Y(n),不仅需要的存储器空间大,而且计算量也很大,于是进一步写出递推公式:
由Y(n-1)=KP{e(n-1)+
+
[e(n-1)-e(n-2)]}(4-5)
由式(4)减去式(5)得:
ΔY(n)=Y(n)-Y(n-1)
=KP{[e(n)-e(n-1)]+
[e(n)-2e(n-1)+e(n-2)]}
=KP[e(n)-e(n-1)]+KIe(n)+KD[e(n)-2e(n-1)+e(n-2)](4-6)
或Y(n)=Y(n-1)+KP[e(n)-e(n-1)]+KIe(n)+KD[e(n)-2e(n-1)+e(n-2)](4-7)
式中KI=KP
,称为积分常数;KD=KP
,称为微分常数。
4.6.3PID算法的程序设计
在本控制系统中,烘箱温度与给定值的偏差经过单片机PI算法运算后从DAC0832输出0~10mA控制电流去控制电动阀的开度,所以应采用式(7)的位置式算法(且KD=0即为PI),即:
YPI(n)=Y(n-1)+KP[e(n)-e(n-1)]+KIe(n)(4-8)
如果设KP,KI为纯小数,KP,KI,e(n),e(n-1)分别放在8031片内RAM的25H,26H,29H,2AH中,PI结果YPI(n)放在R3R4中,则PI控制程序如下:
PI:
MOVA,29
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PID 温度 控制系统