基于MATLAB的PID恒温控制器.docx
- 文档编号:11246394
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:20
- 大小:500.70KB
基于MATLAB的PID恒温控制器.docx
《基于MATLAB的PID恒温控制器.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的PID恒温控制器.docx(20页珍藏版)》请在冰豆网上搜索。
基于MATLAB的PID恒温控制器
成绩
课程设计报告
题目基于MATLAB的PID恒温控制器
院部名称智能科学与控制工程学院
专业自动化
班级14自动化
组长姓名陈玉荣
学号1417102009
同组学生范淑君、钱涛
设计地点工科楼C208
设计学时1周
指导教师翟力欣
金陵科技学院教务处制
目录
绪论3
一、选题的目的和意义3
1.1、课题研究的内容3
二、系统方案对比4
三、控制对象建模4
3.1、PID控制建模4
3.1.1温控系统阶跃响应曲线的获得4
3.1.2温度系统数学模型选择与参数确定5
3.2、被控对象建模6
四、MATLAB的Ziegler-Nichols算法PID控制器设计7
4.1、Ziegler-Nichols算法简介7
4.2、Ziegler-Nichols算法参数确定8
五、P、PI、PID调节器控制比较10
5.1、未加PID调节系统10
5.2、加入P调节系统11
5.3、PI调节系统12
5.4PID调节系统13
5.5系统调节总体分析15
六、PID调节的Simulink仿真16
6.1、PID控制仿真16
6.2、抗干扰能力测试16
七、总结18
八、参考文献19
基于MATLAB的PID恒温控制器
绪论
一、选题的目的和意义
任何闭环的控制系统都有它固有的特性,可以有很多种数学形式来描述它,如微分方程、传递函数、状态空间方程等。
但这样的系统如果不做任何的系统改造很难达到最佳的控制效果,比如快速性稳定性准确性等。
为了达到最佳的控制效果,我们在闭环系统的中间加入PID控制器并通过调整PID参数来改造系统的结构特性,使其达到理想的控制效果。
1.1、课题研究的内容
工业生产中温度控制具有单向性、时滞性、大惯性和时变性的特征,要实现温度控制的快速性和准确性,对于提高产品质量具有很重要的现实意义。
本论文以温度控制系统为研究对象设计一个PID控制器。
通过将普通的系统控制与PID控制做对比突出PID控制在系统控制中的优越性。
PID控制是迄今为止最通用的控制方法,大多数反馈回路用该方法或其较小的变形来控制。
PID控制器(亦称调节器)及其改进型因此成为工业过程控制中最常见的控制器 (至今在全世界过程控制中用的84%仍是纯PID调节器,若改进型包含在内则超过90%)。
在PID控制器的设计中,参数整定是最为重要的,随着计算机技术的迅速发展,对PID参数的整定大多借助于一些先进的软件,例如目前得到广泛应用的MATLAB仿真系统。
本设计就是借助此软件主要运用Relay-feedback法,线上综合法和系统辨识法来研究PID控制器的设计方法,设计一个温控系统的PID控制器,并通过MATLAB中的虚拟示波器观察系统完善后在阶跃信号下的输出波形。
二、系统方案对比
电加热温度控制具有升温单向性、时滞性、大惯性和时变性的特点。
例如:
其升温单向性是由于电加热的升温、保温主要是通过电阻加热;降温则通常是依靠自然冷却,当温度一旦超调,就无法用控制手段使其降温,因而很难用数学方法建立精确的模型,并确定参数。
应用传统的建模电路控制方法,由于电路复杂,器件太多,往往很难达到理想的控制效果。
由于无法用精确的数学方法建立模型并确立参数,本设计采用PID控制。
三、控制对象建模
3.1、PID控制建模
在MATLAB环境下,通过Simulink提供的模块,对电炉温控系统的PID控制器进行设计和仿真。
由于常规PID控制器结构简单、鲁棒性强,被广泛应用于过程设计控制中。
开展数字PID控制的电弧炉控制系统模型使应用实际生产的系统的稳定性与安全性得到迅速改善。
3.1.1温控系统阶跃响应曲线的获得
在高校微机控制技术实验仪器按以下步骤测得温度系统的阶跃响应曲线:
1)给温度控制系统75%的控制量,即每个控制周期通过X0=255*75%=191个周期,温度系统处于开环状态。
2)ATMECA32L内部A/D每隔0.8s采集一次温度传感器输出的电压值,换算成实际温度。
3)在采集数据过程中,不时的将已经得到的数据通过“MicrosoftExcel”文档画图,查看温度是否已经进入了稳态区。
3.1.2温度系统数学模型选择与参数确定
PID控制是最早发展起来的经典控制策略, 是用于过程控制最有效的策略之一。
由于其原理简单、技术成功,在实际应用中较易于整定, 在工业控制中得到了广泛的应用。
它最大的优点是不需了解被控对象精确的数学模型,只需在线根据系统误差及误差的变化率等简单参数, 经过经验进行调节器参数在线整定, 即可取得满意的结果, 具有很大的适应性和灵活性。
比例调节作用:
是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。
比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统不稳定。
积分调节作用:
是使系统消除稳态误差,提高无差度。
因为有误差,积分调节就进行,直至无差,
积分调节停止,积分调节输出一个常值。
作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强。
反之Ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。
积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。
微分作用:
可提高系统的响应速度, 但其对高频干扰特别敏感, 甚至会导致系统失稳。
所以, 正确计算控制器的参数, 有效合理地实现PID控制器的设计,对于PID 控制器在过程控制中的广泛应用具有重要的理论和现实意义。
在PID控制系统中, PID控制器分别对误差信号e(t)进行比例、积分与微分运算, 其结果的加权和构成系统的控制信号u(t),送给对象模型加以制。
PID控制器由于用途广泛、使用灵活,已有系列化产品,使用中只需设定三个参数(Kp ,Ki和Kd)即可。
在很多情况下,并不一定需要全部三个单元,可以取其中的一到两个单元,但比例控制单元是必不可少的。
PID控制器的数学描述为:
其传递函数表示为:
由此可以给出PID的控制系统眼里框图,如图3.1.2:
图3.1.2PID控制系统原理结构图
从根本上讲, 设计PID控制器也就是确定其比例系数Kp、积分系数T i和微分系数T d, 这三个系数取值的不同, 决定了比例、积分和微分作用的强弱。
控制系统的整定就是在控制系统的结构已经确定、控制仪表和控制对象等处在正常状态的情况下, 适当选择控制器参数使控仪表的特性和控制对象的特性相配合, 从而使控制系统的运行达到最佳状态, 取得最好的控制效果。
3.2、被控对象建模
(1)、制热系统建模
使用最大信号去控制系统,知道稳定后,是温度无法再上升时,此时系统就会出现如下图的特性曲线,如图3.2:
图3.2系统制热曲线图
由图
(1)所示的曲线,我们可以构建其近似的传递函数模型,可以表示为一阶线性系统
加一个传递
来近似的控制,其近似的传递公式如图所示:
根据温控系统在这里我们设K=2,L=3,T=13。
由此,可以构建其传递函数,如下图所示:
(1)、系统运行期望
对输入值能够达到预期的温度值,并且使其最大百分比超调量不能高于60%,同时也要满足稳态误差不能高于5%。
四、MATLAB的Ziegler-Nichols算法PID控制器设计
4.1、Ziegler-Nichols算法简介
(1)、传统PID参数的调节
在实际应用中,我们尽量避免使用高深复杂的数学公式,希望能使经验法更多的发挥能力,这样既可以节省很多时间,也可以通过经验的传授使更多的工程师或工人可以掌握一种简单有效的方法来进行PID控制器的调节。
传统的PID经验调节大体分为以下几步:
1.关闭控制器的I和D元件,加大P元件,使产生振荡。
2.减小P,使系统找到临界振荡点。
3.加大I,使系统达到设定值。
4.重新上电,观察超调、振荡和稳定时间是否符合系统要求。
5.针对超调和振荡的情况适当增加微分项。
以上5个步骤可能是大家在调节PID控制器时的普遍步骤,但是在寻找合时的I和D参数时,并非易事。
如果能够根据经典的Ziegler-Nichols(ZN法)公式来初步确定I和D元件的参数,会对我们的调试起到很大帮助。
(1)、Ziegler-Nichols算法PID参数调节
Ziegler-Nichols算法是由JohnZiegler和NathanielNichols发明的,是著名的回路整定技术使得PID算法在所有应用在工业领域内的反馈控制策略中是最常用的。
Ziegler-Nichols整定技术是1942年第一次发表出来,直到现在还被广泛地应用着。
经过多年的发展,Ziegler-Nichols方法已经发展成为一种在参数设定中,处于经验和计算法之间的中间方法。
这种方法可以为控制器确定非常精确的参数,在此之后也可进行微调。
Ziegler-Nichols方法分为两步:
1.构建闭环控制回路,确定稳定极限。
(稳定极限是由P元件决定的。
当出现稳态振荡时就达到了这个极限。
产生了临界系数Kpcrit和临界振荡周期Tcrit。
)
2.根据公式计算控制器参数。
4.2、Ziegler-Nichols算法参数确定
(1)、获取Ziegler-Nichols频域参数
由于我们的实验是从阶跃响应角度分析的,所以使用此方法发时,首先我们要通过实验获取实验对象的阶跃响应,同时获得K,L和T参数值,我们可以通过下表的Ziegler-Nichols经验公式表来确定P,PI,PID控制的参数。
表格如表1所示:
表1Ziegler-Nichols经验公式表
控制器类型
由阶跃响应整定
Kp
Ti
Td
P
无
无
PI
无
PID
所谓的对PID回路的“整定”就是指调整控制器对实际值与设定值之间的误差产生的反作用的积极程度。
如果正巧控制过程是相对缓慢的话,那么PID算法可以设置成只要有一个随机的干扰改变了过程变量或者一个操作改变了设定值时,就能采取快速和显著的动作。
相反地,如果控制过程对执行器是特别地灵敏而控制器是用来操作过程变量的话,那么PID算法必须在比较长的一段时间内应用更为保守的校正力。
回路整定的本质就是确定对控制器作用产生的过程反作用的积极程度和PID算法对消除误差可以提供多大的帮助。
经过多年的发展,Ziegler-Nichols方法已经发展成为一种在参数设定中,处于经验和计算法之间的中间方法。
这种方法可以为控制器确定非常精确的参数,在此之后也可进行微调。
对于参数K,L和T可以由系统的阶跃响应函数图像确定的,具体细节如图4.2所示:
图4.2一阶系统带有延迟特性图
由于本试验我们已经构建了一个阶跃响应的函数可以直接确定K,L和T的值K=2,T=13,L=3。
(2)、Ziegler-Nichols整定公式计算设计
在确定了K,L和T的值后,我们就要开始设计函数来实现PID控制参数的计算。
于是我们使用MATLAB设计了一个函数来实现这个功能。
源代码如下:
function[Gc,Kp,Ti,Td]=zn01(PID,vars)
K=vars
(1);
T=vars
(2);
tau=vars(3);
Kp=[];
Ti=[];
Td=[];
ifPID==1,
Kp=T/(K*tau);
elseifPID==2,
Kp=0.9*T/(K*tau);
Ti=3.33*tau;
elseifPID==3,
Kp=1.2*T/(K*tau);
Ti=2*tau;
Td=tau/2;
End
switchPID
case1,
Gc=Kp;
case2,
Gc=tf([Kp*TiKp],[Ti0]);
case3,
nn=[Kp*Ti*TdKp*TiKp];
dd=[Ti0];
Gc=tf(nn,dd);
End
函数的调用格式为:
[Gc,Kp,Ti,Td]=zn01(PID,vars)
其中PID是矫正类型,当PID=1是,为计算P调节器的参数;当PID=2时,为计算PI调节器的参数;当PID=3时,为计算PID调节器的参数。
输入量vars为带延迟—惯性环节模型的KTL,已知三参数:
K=vars
(1);T=vars
(2);tau=vars(3)。
输出量Gc为矫正器的传递函数,Kp为矫正器的比较系数;Ti为矫正器积分时间常数;Td为矫正器的微分时间常数。
五、P、PI、PID调节器控制比较
利用上面编写的zn01函数,在输入参数后可实现PID参数输出。
为了直观的看出PID不同调节形式下的效果,我们通过MATLAB编写代码仿真出各种调节下的效果。
5.1、未加PID调节系统
运行代码如下:
>>clear
>>K=2;
>>T=13;
>>tau=3;
>>n1=[k];
>>n1=[K];
>>d1=[T1];
>>G1=tf(n1,d1);
>>[np,dp]=pade(tau,2);
>>%纯时间延迟环节可以由有理函数来近似,MATLAB中提供了pade()函数来计算(法国数学家提出的一种著名的有理近似方法)近似的函数,它的调用格式为:
>>Gp=tf(npdp);
>>G=feedback(G1,Gp);
>>step(G)
运行结果如图5.1所示:
图5.1系统未加PID调节曲线
从图5.1中我们明显可以看出系统的稳态误差远远大于5%,所以未加PID调节的系统明显是不符合我们期望的要求的。
5.2、加入P调节系统
运行代码如下:
>>[Gc1,Kp1]=zn01(1,[K,T,tau])
Gc1=
2.1667
Kp1=
2.1667
>>Gcc1=feedback(G1*Gc1,Gp);
>>set(Gcc1,'Td',tau);
>>step(Gcc1);
代码运行后输出的PID传递函数Gc1=2.1667,其中的比例调节参数Kp1=2.1667。
仿真的系统曲线图像如图5.2所示:
图5.2P调节系统曲线图像
从图像5.2中我们我们看到较之未调节的曲线,P调节系统能很快达到峰值并稳定下来,虽然稳条误差减少了但依然不满住要求。
5.3、PI调节系统
运行代码如下:
>>[Gc2,Kp2,Ti2]=zn01(2,[K,T,tau])
Gc2=
19.48s+1.95
--------------
9.99s
Continuous-timetransferfunction.
Kp2=
1.9500
Ti2=
9.9900
代码运行后输出的PID传递函数Gc2=(19.48s+1.95)/9.99s,其中的比例调节参数Kp2=1.9500;积分调节参数Ti2=9.9900仿真的系统曲线图像如图5.3所示:
图5.3PI调节系统曲线
从图5.3中我们可以看到经过PI调节后系统已经满足了我们的最初的要求,稳态误差几乎为零,而且反应很快。
5.4PID调节系统
运行代码如下:
>>[Gc3,Kp3,Ti3,Td3]=zn01(3,[K,T,tau])
Gc3=
23.4s^2+15.6s+2.6
-----------------------
6s
Continuous-timetransferfunction.
Kp3=
2.6000
Ti3=
6
Td3=
1.5000
代码运行后输出的PID传递函数Gc3=(23.4s^2+15.6s+2.6)/6s,其中的比例调节参数Kp3=2.6000;积分调节参数Ti3=6,微分调节参数Td3=1.5000。
仿真的系统曲线图像如图5.4所示:
图5.4PID调节系统曲线
从图中可以看到经过PID调节后的系统能够很快的响应,并且很快的达到稳态,但最大百分比超调量较大。
5.5系统调节总体分析
现在我们将这三个图像整合一起进行分析,图像如图5.5所示:
图5.5四个曲线图的整合
从图中我们可以看到四种曲线,随着调节不断的加深系统的除了PI和P调节峰值时间一样,峰值时间是逐渐减少的。
稳态误差也不断减小,但是最大百分比超调量不断加大,这也反应了PID调节的一个巨大的缺陷。
六、PID调节的Simulink仿真
6.1、PID控制仿真
控制流程图6.1如下:
图6.1仿真图
示波器结果显示:
6.2、抗干扰能力测试
在PID控制系统稳定后,我们在信号源处加一个脉冲干扰信号来检测系统的稳定性是否达到要求。
干扰信号如下图6.2:
图6.2干扰信号图
在控制流程图表现如下:
示波器显示如下:
从示波器的显示来看,通过PID调节的恒温控制系统具有良好的抗干扰能力,能够从干扰中快速回复过来,满足我们的要求。
七、总结
通过添加PID模块使系统达输出达到稳定,超调量和稳态误差都满足设计的指标,到了预期的要求,完成了使温度能够通过PID调节后达到稳定,稳态误差
较小,对温度控制严格的某些方面的应用能够有所提高,对以后的温度方面的应用都会有一个很大的提高。
通过此次为期一周的MATLAB课程设计,我们小组成员对自己所选的课题进行了方案的设计,筛选,实施,在这期间我们对MATLAB这个仿真软件有了进一步的了解和认识。
我们小组通过讨论,查阅资料,了解了如何用MATLAB进行基本的程序的设计,了解了PID相关性能与应用,学会了如何在不知道参数的情况下,采用Ziegler-Nichols(ZN法)这种介于经验法与理论法之间的方法。
最后,通过这次课程设计,也培养了我们如何去把握一件事情,如何去做一件事情,又如何完成一件事情。
在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。
学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。
其实课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程。
而且我们也发现了自身的很多不足之处,有些MATLAB方面的知识掌握的还不够扎实,不能灵活的将学到的知识应用于实践中,在我们不知道如何做的时候,老师悉心的指导我们,让我们深受启发。
总之感谢老师的指导和同学的互相帮助让我们完成了此次课程设计。
在以后的学习中,我们会不断的完善自我,不断进取,使自己能够在计算机产品设计方面取得更进一步的成就。
八、参考文献
1. 姚东.MATLAB及在电子信息课程中的应用[M].第二版.北京:
北京电子工业出版社,2000
2. 张智星.MATLAB程序设计与应用.北京:
清华大学出版社,2002
3. 陈怀琛.MATLAB及其在理工课程中的应用指南.西安:
西安电子科技大学出版社,1999.10
4. 肖伟、刘忠. MATLAB程序设计与应用[M].北京:
清华大学出版社 2005
5.宋子巍,陈思忠,杨林 《模糊PID控制的MATlAB仿真分析》,北京:
北京理工大学
6. 李正军 《计算机控制系统》,北京:
机械工业出版社,2005.1
7.愈瑞钊,史济建 《人工智能原理与技术》,浙江:
浙江大学出版社,1993
8.张志杰 《燃煤锅炉模糊PID控制算法研究与引用》,大庆石油学院
9. 杨红,陈颖 《基于模糊PID控制算法的温控系统设计》,2004.8
10. 李洪兴,王加银,苗志宏 《模糊控制系统的建模》,中国科学,A辑,2002
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB PID 恒温 控制器
![提示](https://static.bdocx.com/images/bang_tan.gif)