温度控制系统设计.docx
- 文档编号:5731913
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:35
- 大小:288.44KB
温度控制系统设计.docx
《温度控制系统设计.docx》由会员分享,可在线阅读,更多相关《温度控制系统设计.docx(35页珍藏版)》请在冰点文库上搜索。
温度控制系统设计
温度控制系统设计
1被控系统的描述
1.1被控系统简介
被控对象为电炉,采用热阻丝加热,利用大功率可控硅控制器控制热阻丝两端所加的电压大小,来改变流经热阻丝的电流,从而改变电炉炉内的温度。
可控硅控制器输入为0~5伏时对应电炉温度0-300℃,温度传感器测量值对应也为0~5伏,对象的特性为积分加惯性系统,惯性时间常数为40秒。
1.2要求完成的主要任务
1.设计温度控制系统的计算机硬件系统,画出框图;
2.编写积分分离PID算法程序,从键盘接受Kp、Ti、Td、T及β的值;
3.计算机仿真被控对象,编写仿真程序;
4.通过数据分析Ti改变时对系统超调量的影响。
1.3被控系统分析
该系统利用单片机(80C51)可以方便地实现对PID参数的选择与设定,实现工业过程中的PID控制。
它采用温度传感器热电偶将检测到的实际炉温进行A/D转换,送入计算机中,与设定值进行比较,得出偏差后将其按PID规律进行调整,得出对应的控制量来控制驱动电路,调节电炉的加热功率,从而实现对炉温的控制。
利用单片机实现温度智能控制,能自动完成数据采集、处理、转换,并进行PID控制和键盘终端处理(各参数数值的修正)及显示。
2方案比较及认证
我的设计方案主体是通过温度传感器(热电偶)来检测炉的温度,将炉温转变成毫伏级的电压信号后经温度变送器放大并转换成电流信号,随后由电阻网络将电流信号变成电压信号,送入A/D转换器,通过采样和模数转换,所检测到的电压信号和炉温给定值的电压信号送入计算机程序中作比较,得出给定值与实际值之间的偏差,并与β进行比较,从而确定算法。
计算得到的控制量输出给可控硅控制器,改变可控硅的导通角,达到调压的目的,是电阻丝两端的电压增大或较小,进而实现对炉温的控制。
下面对系统设计的关键——微处理器的选择进行论述。
方案一
该方案中我准备采用8031作为系统的微处理器。
如上所述,温度信号首先经热电偶检测,转换成电信号后经过放大处理送到A/D转换器,转换后的数字信号再送到8031内部进行判断或计算,由输出的控制信号来控制锅炉的加热。
但由于8031内部RAM只有128个字节,没有程序存储器,而该系统的程序很多,需要很大的存储空间,因此要完成键盘、显示等功能就必须对8031进行存储器扩展和I/O口扩展,并且需要容量较大的程序存储器,外扩时占用的I/O口较多,使系统的设计复杂化。
方案二
该方案中我准备采用80C51作为系统的微处理器。
80C51片内除了128KB的RAM外,片内又集成了4KB的ROM作为程序存储器,是一个程序不超过4K字节的小系统。
当系统程序较多时,只需外扩一个容量较小的程序存储器,占用的I/O口减少,同时也为键盘、显示等功能的设计提供了硬件资源,简化了设计,降低了成本。
因此80C51可以较好地完成设计要求。
综合考虑以上两种方案的优缺点,我决定采用方案二作为此次课程设计的总方案。
由以上分析控制过程,可以得到如图2.1的设计框图,程序流程图如图2.2所示。
图2.1系统结构框图
热电偶
电炉
控制电路
数据采集
A/D转换
D/A转换
80C51
键盘输入控制
图2.2系统程序流程图
3系统硬件设计
用热电偶来检测炉的温度,将炉温转变成毫伏级的电压信号,经温度变送器放大并转换成电流信号。
由电阻网络将电流信号变成电压信号,送入ADC0809,通过采样和模数转换,将检测到的电压信号和炉温给定值的电压信号都转换成数字量进行比较运算,其差值即为实际炉温和给定炉温的偏差,以80C51为核心的数字PID控制器对偏差按照给定的方法运算,运算结果送DAC0832转换成模拟电压,经功率放大器放大后送入晶闸管调压器,触发晶闸管并改变其导通角的大小,从而控制电阻炉的加温电压,起到炉温调节的作用。
炉温信号T通过温度检测及变送,变成电信号,与温度设定值进行比较,计算温度偏差e和温度的变化率de/dt,再由智能控制算法进行推理,并得控制量u,可控硅输出部分根据调节电加热炉的输出功率,即改变可控硅管的接通时间,使电加热炉输出温度达到理想的设定值。
3.1系统硬件原理
ADC0809的INT0端口所连接的电阻起到给定预定值的作用,通过调节滑动变阻器划片的位置,改变INT0端口的电压,该电压通过0809转换为数字量被计算机读取。
将一个0-5V的电压表连接到可变电阻上,测量其电压,再将其表盘改装为温度表盘,即将原来的0-5V的刻度均匀分为300份,每一份代表1℃,则可以读取预定的温度值。
ADC0809的INT1端口与热电偶相连。
由8051构成的核心控制器按智能控制算法进行推算,得出所需要的控制量。
由单片机的输出通过调节可控硅管的接通时间,改变电炉的输出功率,起到调温的作用。
3.2系统硬件的选择
单片机的选择:
选择8051单片机构成炉温控制系统。
它具有8位CPU,32根I/O线,4kB片内ROM存储器,128kB的RAM存储器。
8051对温度是通过可控硅调节器实现的。
在系统开发过程中修改程序容易,可以大大缩短开发周期。
同时,系统工作过程中能有效地保存一些数据信息,不受系统掉电或断电等突发情况的影响。
8051单片机内部有128B的RAM存储器,不够本系统使用,因此,采用6264(8kB)的RAM作为外部数据存储器。
热电偶的选择:
本设计采用热电偶--镍络-铜硅热电偶(线性度较好,热电势较大,灵敏度较高,稳定性和复现性较好,抗氧化性强,价格便宜)对温度进行检测。
镍铬-铜镍热电偶在300℃时的热点势21.033mV,为满足0-5V的要求,需将其放大238倍,再通过0809将其转换为数字量被计算机读取,通过软件程序对数据进行处理,将处理的结果经0832输出,输出量控制可控硅控制器,从而改变电阻丝两端的电压,使炉温得到控制。
3.3系统硬件连接图
综合以上分析,可以得出系统的硬件连接图如图3.1所示:
图3.1系统的硬件连接图
4系统滤波原理
一般微机应用系统的模拟输入信号中,均含有种种噪音和干扰,它们来自信号源本身、传感器、外界干扰等。
噪音有两大类:
一类为周期性的,另一类为不规则的。
前者可采用双积分A/D转换器,有效地消除其影响。
后者为随机信号,可用数字滤波方法予以消除。
算术平均值法要按输入的N个采样为周期xi(i=1~N),寻找这样一个y,使y与各采样值间的偏差的平方和为最小,使
一元函数求值原理可得
5系统软件设计
5.1PID控制算法简介
在PID调节中,比例控制能迅速反应误差,从而减小误差,但比例控制不能消除稳态误差,Kp的加大,会引起系统的不稳定;积分控制的作用是:
只要系统存在误差,积分控制作用就不断地积累,输出控制量以消除误差,因而,只要有足够的时间,积分控制将能完全消除误差,积分作用太强会使系统超调加大,甚至使系统出现振荡;微分控制可以使减小超调量,克服振荡,提高系统的稳定性,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。
将P、I、D三种调节规律结合在一起,可以使系统既快速敏捷,又平稳准确,只要三者强度配合适当,便可获得满意的调节效果。
模拟PID控制器的控制规律为
式中:
e(t)=r(t)-y(t)称为偏差值,可作为温度调节器的输入信号,其中r(t)为给定值,y(t)为被测变量值;Kp为比例系数;Ti为积分时间常数;Td为微分时间常数;u(t)为调节器的输出控制电压信号。
5.1.1位置型PID控制算法
因为计算机只能处理数字信号,故上述数字方程式必须加以变换。
设采样周期为T,第k次采样得到的输入偏差为e(k),调节器的输出为u(k),作如下近似:
由以上两式可得数字PID控制算式为
其中,u(k)为调节器第k次输出值;e(k)、e(k-1)分别为第k次和第k-1次采样时刻的偏差值。
由式可知:
u(k)是全量值输出,每次的输出值都与执行机构的位置一一对应,所以称之为位置型PID算法。
在这种位置型控制算法中,由于算式中存在累加项,而且输出的控制量不仅与本次偏差有关,还与过去历次采样偏差有关,使得产生大幅度变化,这样会引起系统冲击,甚至造成事故。
所以在实际中当执行机构需要的不是控制量的绝对值,而是其增量时,可采用增量型PID算法。
5.1.2增量型PID控制算法
利用位置型PID控制算法,可得到增量型PID控制算法的递推形式为:
式中,KP为比例增益;KI=KPT/TI为积分系数;KD=KPTD/T为微分系数。
为了编程方便,可将上式整理成如下形式:
式中:
与位置型PID控制算法相比,增量型PID控制算法有如下优点:
(1)位置型算式每次输出与整个过程状态字有关,计算式中要用到过去偏差的累加值,容易产生较大的累积计算误差;而在增量型算式中由于消去了积分项,从而可消除调节器的积分饱和,在精度不足时,计算误差对控制量的影响较小,容易取得较好的控制效果。
(2)为实现手动—自动无忧切换,在切换瞬时,计算机的输出值应设置为原始阀门开度,若采用增量型算法,其输出对应与阀门位置的变化部分,即算式中不出现项,所以易于实现从手动到自动得的无忧动切换。
(3)采用增量型算法时所用的执行器本身都具有寄存作用,所以即使计算机发生故障,执行器仍能保持在原位,不会对生产造成恶劣影响。
5.1.3积分分离PID控制算法
在一般的PID控制中,当有较大的扰动或大幅度改变给定值时,由于此时有较大的偏差,以及系统有惯性和滞后,故在积分项的作用下,往往会产生较大的超调和长时间的波动。
特别对于温度等变化缓慢的过程,这一现象更为严重,为此,可采用积分分离措施,即偏差e(k)较大时,取消积分作用;当偏差较小时才将积分作用投入。
亦即
当
时,采用PD控制;
当
时,采用PID控制。
积分分离阈值
应根据具体对象及控制要求。
若
值过大时,则达不到积分分离的目的;若
值过小,则一旦被控量y(t)无法跳出个积分分离区,只进行PD控制,将会出现残差,为了实现积分分离,编写程序时必须从数字PID差分方程式中分离出积分项,进行特殊处理。
5.2程序控制算法的确定
通过以上分析,本次设计采用的是积分分离PID控制算法,PID调节时连续系统中技术最成熟的,应用广泛的一种调节控制方式。
根据设计要求和使用的控制方法,确定程序的主流程图如图5.1所示,积分分离PID控制算法程序框图如图5.2所示。
图5.1程序主流程图图5.2积分分离PID控制算法程序框图
6系统仿真
6.1simulink仿真
被控对象为:
采用simulink仿真,通过simulink模块实现积分分离PID控制算法。
选择合适的KP,KI,KD是系统的仿真效果趋于理想状态。
MATLAB编写程序如下:
clearall;
closeall;
ts=2;%采样时间2s
sys=tf([1],[40,1,0]);
dsys=c2d(sys,ts,'zoh');%将sys离散化
[num,den]=tfdata(dsys,'v');%求sys多项式模型参数
kp=0.4;
ki=0;
kd=7.5;
图6.1simulink仿真图
6.2KI改变对系统的影响
由KI=KPT/TI可知,当改变TI时即为改变对应KI的数值,仿真如下:
经过凑试,当KI=0时最为合适,此时系统超调最小,仿真图如下图6.2所示:
图6.2KI=0时的仿真图
保持KP、KD不变,改变参数KI=0.01时的仿真图如图6.3,系统超调加大。
图6.3KI=0.01时的仿真图
保持KP、KD不变,改变参数KI=0.1时的仿真图如下图6.4,系统超调进一步加大。
图6.4KI=0.1时的仿真图
6.3调试分析
首先只整定比例部分。
即将比例系数由小变大,并观察相应的系统响应,直到得到反应快,超调小的响应曲线。
如果系统没有静差或者静差已小到允许范围内,并且响应曲线已属满意,那么只须用比例调节器即可。
如果在比例调节的基础上系统的静差不能满足设计要求,则须加入积分环节,整定时首先置积分时间TI为一较大值,并将经第一步整定得到的比例系数略为缩小,然后减小积分时间,使在保持系统良好动态性能的情况下,静差得到消除。
根据响应曲线的好坏反复改变比例系数和积分时间,以期得到满意的控制过程与整定参数。
若使用比例积分调节器消除了静差,但动态过程经反复调整仍不能满意,则可加入微分环节,构成比例积分微分调节器。
在整定时,可先置微分时间TD为零。
在第二步的整定基础上,增大TD,同时相应地改变比例系数和积分时间,逐步凑试,以获得满意的调节效果和控制参数。
7心得与体会
两个星期的计算机控制技术课程设计很快就过去了,而我在这段时间里着实是收获颇多,尤其是感觉自己对这门课有了更加深入的理解。
虽然我自认为对于这门课我花费了足够的时间与精力研究,对于课本中的知识也是涉猎颇深,可真的到了解决实际问题时还是有很多的不足。
在此次设计中需要设计者拥有良好的大局,故一开始我就设计完成了比较完整的流程图,并从流程图着手进行程序的编辑。
随后我选择了合适的硬件电路并在matlab上进行了仿真,了解到不同参数对系统的影响并进行了分析。
通过这次的课程设计,使我认识到要将计算机控制技术这门专业课学好不仅仅是要掌握书上的基本知识,而且还要不断进行实践,将书本知识与实践操作相结合起来才能更好地巩固所学,才能提高自己的实践能力,做到学以致用。
而在实践过程中通过查找资料、分析资料以及请教老师和同学,也可以完善自身的知识体系,将所学加以巩固与提高。
最后感谢学校给予我们这样一次提高自己的机会,感谢老师的悉心指导及同学们的热心帮助。
参考文献
1、郑学坚,周斌微型计算机原理与应用清华大学出版社
2、于海生微型计算机控制技术清华大学出版社
3、沈美明,温冬婵IBM-PC汇编语言程序设计清华大学出版社
4、何立民单片机应用系统设计北京航空航天大学出版社
5、姚燕南,薛钧义微型计算机原理西安电子科技大学出版社
6、沙占友等新编实用数字化测量技术国防工业出版社
7、宋春荣等通用集成电路手册山东科技出版社
附录
芯片资料
8位A/D转换器ADC0809
图2ADC0809管脚图
图1ADC0809原理图
A/D转换器是将模拟电压或电流转换成数字量的器件或装置,它是一种模拟系统和计算机之间的接口,在数据采集和控制系统中,得到了广泛的应用,常用的A/D转换器有ADC0809。
它是一种带有8通道模拟开关的8位逐次逼近式A/D转换器,转换时间为100us左右,线性误差为±1/2LSB,采用28脚双立直插式封装,其逻辑结构如图1所示。
ADC0809由8通道模拟开关、通道选择逻辑、8位A/D转换器及三态输出锁存缓冲器组成。
(1)8通道模拟开关及通道选择逻辑
该部分的功能是实现8选1操作,通道选择信号C、B、A与所选通道的关系如下:
C
B
A
所选通道
0
0
0
VIN0
0
0
1
VIN1
…
…
…
…
1
1
1
VIN7
地址锁存允许信号(ALE、正脉冲)用于通道选择信号C、B、A的锁存。
加至C、B、A上的通道选择信号在ALE的作用下送入通道选择逻辑后,通道i(VINI,i=0,1,…,7)上的模拟输入被送至A/D转换器转换。
(2)8位A/D转换器
8位A/D转换器对选送至输入端的信号VI进行转换,转换结果D(D=0~28-1)存入三态输出所存缓冲器。
它在START上收到一个启动转换命令(正脉冲)后开始转换,100us左右(64个时钟周期)后转换结束(相应的时钟频率为640KHz)。
转换结束后,EOC信号由低电平变为高电平,通知CPU读结果。
启动后,CPU可用查询方式(将转换结束信号接至一条I/O线上)或中断方式(EOC作为中断请求信号引入终端逻辑)了解A/D转换过程是否结束。
ADC0809管脚图如图2所示,各管脚功能如下:
IN0~IN7为模拟信号的8个输入通道。
UREF(+)、UREF(-)为基准电压的正极和负极。
ADDA、ADDB和ADDC为模拟信号输入通道的地址选择线。
ALE为地址锁存信号,由低电平到高电平正跳变时将地址选择线的状态锁存,选通相应的输入通道。
START为启动信号,正脉冲的上升沿使内部寄存器清零,从下降沿开始进行A/D转换。
EOC为转换结束信号,在START信号之后变低,转换结束为高电平,用来申请中断。
OE为输出允许信号,有效时将输出寄存器中的数据放到数据总线上。
D0~D7为数码输出端,D0为最低有效位,D7为最高有效位。
(3)三态输出锁存缓冲器
用于存放转换结果D,输出允许信号OE为高电平时,D由D0~D7上输出;OE为低电平输入时,数据输出线D0~D7为高阻态。
ADC0809的量化单位:
8位D/A转换器DAC0832
D/A转换器的功能是把二进制数字量电信号转换为与其数值成正比的模拟量电信号。
常用D/A转换器为DAC0832芯片。
DAC0832工作在单缓冲寄存器方式,即当
信号来时,D0~D7数据线送来的数据直通进行D/A转换,当
变高时,则此数据便被锁存在寄存器中,因此D/A转换的输出也保持不变。
DAC0832将输入的数字量转换成差动的电流输出(IOUT1和IOUT2),为了将其编程电压输出,必须经过运算放大器,使其输出0~5V(VREF为-5V)或0~10V(VREF为-10V),若要形成负电压输出,则VREF需接正的基准电压。
DAC0832是双列直插式8位D/A转换器。
能完成数字量输入到模拟量(电流)输出的转换。
图3为DAC0832的引脚图。
其主要参数如下:
分辨率为8位,转换时间为1μs,满量程误差为±1LSB,参考电压为(+10/span>-10)V,供电电源为(+5~+15)V,逻辑电平输入与TTL兼容。
在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号
。
图3DAC0832引脚图
8051单片机介绍
8051单片机由以下几部分组成:
1.时钟振荡器
2.8位的CPU
3.128B的RAM是数据存储器
4.4KB的ROM程序存储器
5.4×8位的并行I/O端口
6.一个双全工异步串行通信口(UART)
7.两个16位的定时/计数器
8.5个中断源,两个优先级的中断结构
外部引脚
8051单片机的内部结构十分复杂,但封装之后,只有引脚是面向用户的,所以使用者需要熟悉各引脚的用途。
常用的8051芯片是用双列直插40脚封装,管脚图如图4所示。
图48051管脚图
VSS(20)接电源地端
VCC(40)接电源+5V
XTAL2(18)外接晶体的一个引脚,若为CMOS芯片采用外部信号,此引脚悬空。
XTAL1(19)外接晶体的另一端,若采用外部的时钟信号,此引脚接外部振荡器。
RST/VPD(9)用于输入复位信号,当振荡器工作时,若引脚保持两个周期高电平,就能使单片机复位。
此引脚也可作为备用电源输入端,当VCC失电期间,备用电源通过此引脚向片内的RAM提供电源,保护其中内容。
(29)用于输出外部程序存储器选通信号;在外部程序存储器取址操作时,
置有效(低电平)。
在执行片内程序存储器取指时,
为有效(高电平)。
对外部取指时
每个机器周期有效两次。
ALE/PROG(30)用于输出允许地址锁存信号,8051单片机课寻址64KB,应有16条地址线,其中低8位的地址线与数据线公用P0口,在发出低8位的地址信号时,ALE有效,用它控制外部锁存器锁存地址低8位,然后ALE无效,这时P0输出的是数据。
正常操作时又因能按主振频率的1/6从ALE端发出正脉冲信号,所以有时可以加以利用,但应注意每次访问外部数据存储器时,会少输出一个ALE脉冲,这个引脚另一功能是对片内EPROM编程时,作为脉冲输入端。
/VPP(31)用于输入是从外部程序存储器取指还是从内部程序存储器取指的选择信号。
当
接高电平时,先从片内程序存储器读取指令,读完4KB后,自动改为片外取指,若
接低电平时,则所有指令从片外程序存储器读取。
编程期间由此引脚引入编程用的电源VPP。
P0口(32~39)为双向输入/输出口,如果系统接有外部存储器,则P0口作为数据总线和低8位的地址总线公用口,通用分时操作达到复用的目的。
当CPU对外部存储器操作时,总是先作地址总线,在ALE信号的下降沿,讲地址锁存后,再转为作数据总线。
P1口(1~8)为双向输入/输出口,准双向是指该口内部有上拉电阻,能驱动4个LS/TTL负载。
P2口(21~28)为准双向输入/输出口,能驱动4个LS/TTL负载。
如果系统接有外部存储器,则CPU访问外部存储器时该口成为高8位地址输出口。
P3口(10~17)为准双向输入/输出口,能驱动4个LS/TTL负载。
P3口每一引脚都有两种功能,其第二功能分别是:
P3.0、P3.1作为串行口发送与接收,P3.2、P3.3作为外部中断请求输入,P3.4、P3.4作为定时/计数器外部计数信号输入端,P3.6作为片外数据存储器的写选通信号
,P3.7作为片外数据存储器选通信号
。
程序清单
START:
MOV68H,KP;分别将KP,TI,TD,T,β送入指定的存储单元
MOV54H,TI
MOV55H,TD
MOV56H,T
MOV57H,β
MOVA,68H;计算KI=KP*T/TI
MOVB,56H
MULAB
MOVB,54H
DIVAB
MOV69H,A
MOVA,68H;计算KD=KP*TD/T
MOVB,55H
MULAB
MOVB,56H
DIVAB
MOV6AH,A
LOOP0:
MOVDPTR#7FF0H;读取预定温度值,送ADC0809的IN0口地址
MOV@DPTR,A;启动A/D转换
LOOP1JBP3.3,LOOP1;等待转换数据
MOVXA,@DPTR;读取ADC0809的IN0口转换后的数据
MOV5CH,A;将预定值数据放入指定的存储单元
MOVDPTR,#7FF1H;读取采样温度值,送ADC0809的IN1口地址
MOVX@DPTR,A;启动A/D转换
LOOP2:
JBP3.3,LOOP2;等待转换数据
MOVXA,@DPTR;读取ADC0809的IN1口转换后的数据
MOV49H,A;将采样值数据放入指定的存储单元
MOVA,5CH;计算ei,先取温度给定值
CLRC
SUBBA,50H;温度给定值-采样值
JNCAA0;判断ei的正负,如果为正,跳至AA0
CPLA;ei为负,下两条指令求补
ADDA,#01H
AA0:
MOVR0,57H
SUBBA,57H;|ei|-β
JNCAA1;|ei|>β跳至AA1
SJMPAA2;|ei|<β跳至AA2
AA1:
LCALLPD;调用PD算法
AA2:
LCALLPID;调用PID算法
MOVA,7CH;将△Ui通过DAC0832输出
MOVDPTR,#7FF2H
MOVX@DPTR,A
INCDPTR
MOVX@DPTR,A
LCALLDELAY
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 温度 控制系统 设计