基于MATLAB的PID控制器设计.docx
- 文档编号:11825858
- 上传时间:2023-04-03
- 格式:DOCX
- 页数:7
- 大小:72.38KB
基于MATLAB的PID控制器设计.docx
《基于MATLAB的PID控制器设计.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的PID控制器设计.docx(7页珍藏版)》请在冰豆网上搜索。
基于MATLAB的PID控制器设计
基于MATLAB的PID控制器设计
综合课程设计报告第1页共9页题目:
基于AMIGO算法的PID控制器的参数整定之P151绪论
任何闭环的控制系统都有它固有的特性,可以有很多种数学形式来描述它,如微分方程、传递函数、状态空间方程等。
但这样的系统如果不做任何的系统改造很难达到最佳的控制效果,比如快速性稳定性准确性等。
为了达到最佳的控制效果,我们在闭环系统的中间加入PID控制器并通过调整PID参数来改造系统的结构特性,使其达到理想的控制效果。
1(1PID控制简介
当今的自动控制技术都是基于反馈的概念。
反馈理论包括三个基本要素:
测量、比较和执行。
测量关心的变量,与期望值相比较,用这个误差纠正调节控制系统的响应。
反馈理论及其在自动控制中应用的关键是:
做出正确的测量和比较后,如何才能更好地纠正系统。
在过去的几十年里,PID(比例-积分-微分)控制,在工业控制中得到了广泛的应用。
在控制理论和技术飞速发展的今天,在工业过程控制中95%以上的控制回路都具有PID结构,而且许多高级控制都是以PID控制为基础的。
PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。
PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。
其输入e(t)与输出u(t)的关系为式(1-1)
式(1-1)
因此它的传递函数为式(1-2)
Ki式(1-2)()GsKKs,,,cpDs
比例调节作用:
是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。
比例作用大可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。
综合课程设计报告第2页共9页
积分调节作用:
是使系统消除稳态误差,提高无差度。
因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一个常值。
积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强。
反之Ti大则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。
积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。
微分调节作用:
微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。
因此,可以改善系统的动态性能。
在微分时间选择合适情况下,可以减少超调,减少调节时间。
微分作用对噪声干扰有放大作用,因此过强的加微分调节,对系统抗干扰不利。
此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。
微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。
PID控制用途广泛,使用灵活,已有系列化控制器产品,使用中只需设定三
KK,和K个参数()。
在很多情况下,并不一定需要三个单元,可以取其中piD
的一到两个单元,不过比例控制单元是必不可少的。
PID控制具有以下优点:
KK,和K
(1)原理简单,使用方便,PID参数可以根据过程动态特性及piD
时调整。
如果过程的动态特性发生变化,如对负载变化引起的系统动态特性变化,PID参数就可以重新进行调整与设定。
(2)适应性强,按PID控制规律进行工作的控制器早已商品化,即使目前最新式的过程控制计算机,其基本控制功能也仍然是PID控制。
PID应用范围广,虽然很多工业过程是非线性或时变的,但通过适当简化,可以将其变成基本线性和动态特性不随时间变化的系统,就可以进行PID控制了。
(3)鲁棒性强,即其控制品质对被控制对象特性的变化不太敏感。
在一些情况下针对特定的系统设计的PID控制器控制得很好,但它们仍存在一些问题需要解决:
如果自整定要以模型为基础,为了PID参数的重新整定在线寻找和保持好过程模型是较难的。
闭环工作时,要求在过程中插入一个测试信号。
这个方法会引起扰动,所以基于模型的PID参数自整定在工业应用不是太好。
如果自整定是基于控制律的,经常难以把由负载干扰引起的影响和过程动态特性变化引起的影响区分开来,因此受到干扰的影响控制器会产生超调,产生一个不必要的自适应转换。
另外,由于基于控制律的系统没有成熟的稳定性分析方法,参数整定可靠与否存在很多问题。
综合课程设计报告第3页共9页
因此,许多自身整定参数的PID控制器经常工作在自动整定模式而不是连续的自身整定模式。
自动整定通常是指根据开环状态确定的简单过程模型自动计算PID参数。
但仍不可否认PID也有其固有的缺点:
PID在控制非线性、时变、耦合及参数和结构不确定的复杂过程时,效果不是太好。
最重要的是:
如果PID控制器不能控制复杂过程,无论怎么调参数都没用。
在科学技术尤其是计算机技术迅速发展的今天,虽然涌现了许多新的控制方法,但PID仍因其自身的优点而得到了最广泛的应用,PID控制规律仍然是最普遍的控制规律。
PID控制器是最简单且许多时候最好的控制器。
1(2Ziegler-Nichols整定方法
Ziegler-Nichols法是一种基于频域设计PID控制器的方法。
基于频域的参数整定是需要参考模型的,首先需要辨识出一个能较好反映被控对象频域特性的二阶模型,结合给定的性能指标可推导出公式,而后用于PID参数的整定。
基于频域的设计方法在一定程度上回避了精确的系统建模,而且有较为明确的物理意义,比常规的PID控制可适应的场合更多。
目前已经有一些基于频域设计PID控制器的方法,如Ziegler-Nichols法,Cohen-Coon法等。
Ziegler-Nichols
法是最常用的整定PID控制器的方法。
Ziegler-Nichols法是根据给定对象的瞬态响应特性来确定PID控制器的参数。
Ziegler-Nichols法首先通过实验,获取控制对象单位阶跃响应。
如果单位阶跃响应曲线看起来是一条S型曲线,则可用此法,否则不能用。
S型曲线用延时时间L和时间常数T来描述,对象传递函数可近似为:
LsdCsKe(),式(1-3)RsTs()1,
LKK,和,利用延时时间、放大系数K和时间常数T根据如下公式确定的pid
值。
mtytAmtyt,,()()maxmax0maxmaxKyT,,,,?
,L,式(1-4)dmmy?
综合课程设计报告第4页共9页
1TK,,(0.20.45)pKLd
0.40.8LT,d式(1-5)TL,idLT,0.1d
0.5LTdT,d0.3LT,d
2确定被控对象的FOPDT模型并绘制曲线
1在本实验中,PID控制器的传递函数为,被控对象CsKTs,,,()
(1)pdsTi
1,sL1的传递函数为。
FOPDT近似为GseT,,,,,L()L=0.051111,sT
(1)1
K,sLdGse,()。
L,sT
(1)
被控对象的FOPDT模型的实现可以通过MATLAB实现,MATLAB源程
序如下:
%确定被控对象G(s)=e^-0.05s/(1+0.95s)的FOPDT模型,并在一张图上绘
出原系统与近似系统的Nyquist曲线
%给定传递函数
num0=[1];
den0=[0.951];
G0=tf(num0,den0,'inputdelay',0.05);
subplot(223)
nyquist(G0);
grid
title('G(s)Nyquist曲线')
%阶跃响应
t=0:
0.01:
5;
y=step(G0,t);
subplot(221)
plot(t,y)
grid
title('G(s)的阶跃响应')
综合课程设计报告第5页共9页xlabel('时间t')
ylabel('阶跃响应y')
%确定FOPDT模型
%确定ymax
ymax=y
(1);i=2;
whilei<=500
ifymax ymax=y(i); end i=i+1; end %确定曲线y的最大斜率m,以及最大斜率处的时间tmaxm=(y (2)- (1))/0.01;i=2;tmax=0.01; whilei<500 m0=(y(i+1)-y(i))/0.01; ifm m=m0; tmax=i*0.01; end i=i+1; end %确定常数A0 A0=0;i=1; whilei<=500 A=abs(ymax-y(i))*0.01; A0=A0+A; i=i+1; end %确定FOPDT模型的参数K,Ld,T K=ymax; Ld=(m*tmax-y(tmax*100))/m;T=A0/ymax-(m*tmax-y(tmax*100))/m; %构造近似模型G1 num1=[K]; den1=[T1]; G1=tf(num1,den1,'inputdelay',Ld); subplot(224) nyquist(G1) grid title('FOPDT模型的Nyquist曲线') t1=0: 0.01: 5; y1=step(G1,t1); subplot(222) 综合课程设计报告第6页共9页 plot(t1,y1) grid title('FOPDT模型的阶跃响应') xlabel('时间t1') ylabel('阶跃响应y1') 运行以上程序,得如下曲线: 3计算PID控制器 %按AMIGO公式计算PID控制器Kp,Ti,Td Kp=1/K*(0.2+0.45*T/Ld); Ti=(0.4*Ld+0.8*T)/(Ld+0.1*T)*Ld;Td=0.5*Ld*T/(0.3*Ld+T); 按照上述MATLAB源程序,在命令窗口中分别输入以下命令: >> Kp、>>Ti、>>Td,可以求得如下结果: Kp=7.1213、Ti=0.2997、Td=0.0294 综合课程设计报告第7页共9页4仿真所设计系统并绘制曲线 对所设计的闭环系统进行仿真,给出闭环系统的阶跃、脉冲响应曲线。 这一过程可以使用Simulink工具箱来完成。 根据题意,建立如下图所示的Simulink模型。 图中,“Integrator”为积分器,“Derivative”为微分器,“Kp”为比例系数Kp,“1/Ti”为积分时间常数Ti,“tou”为微分时间常数。 Ziegler-Nichols整定的第一步是获取单位阶跃响应,把开关打开在上方即可;然后把开关拨下,即对阶跃响应进行微分作用,即可得到系统的脉冲响应曲线。 仿真运行,运行完毕后,双击“Scope”得到如下结果: 综合课程设计报告第8页共9页 阶跃响应曲线 脉冲响应曲线 综合课程设计报告第9页共9页 参考文献 [1]王正林,郭阳宽.过程控制与Simulink应用.北京: 电子工业出版社, 2006.7 [2]陈晓平,李长杰,毛彦欣.MATLAB在电路与信号及控制理论中的应用.合 肥: 中国科学技术大学出版社,2008.3 [3]王华,李有军,刘建存.MATLAB电子仿真与应用教程.北京: 国防工业 出版社,2007.4 [4]多尔夫等.现代控制系统.北京: 科学出版社,2002.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB PID 控制器 设计