_在Simulink_下实现PID_控制器的设计与仿真课件.ppt

上传人:牧羊曲112 文档编号:1290651 上传时间:2022-11-04 格式:PPT 页数:37 大小:1.16MB
返回 下载 相关 举报
_在Simulink_下实现PID_控制器的设计与仿真课件.ppt_第1页
第1页 / 共37页
_在Simulink_下实现PID_控制器的设计与仿真课件.ppt_第2页
第2页 / 共37页
_在Simulink_下实现PID_控制器的设计与仿真课件.ppt_第3页
第3页 / 共37页
_在Simulink_下实现PID_控制器的设计与仿真课件.ppt_第4页
第4页 / 共37页
_在Simulink_下实现PID_控制器的设计与仿真课件.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《_在Simulink_下实现PID_控制器的设计与仿真课件.ppt》由会员分享,可在线阅读,更多相关《_在Simulink_下实现PID_控制器的设计与仿真课件.ppt(37页珍藏版)》请在三一办公上搜索。

1、基于MATLAB_Simulink的机电一体化系统的仿真分析,一、实验目的二、实验内容三、实验报告四、实验过程五、实验操作,基于MATLAB_Simulink的机电一体化系统的仿真分,一、实验目的和要求目的: 机电一体化系统建模是进行机电一体化系统分析与设计的基础,通过对系统的简化分析建立描述系统的数学模型,进而研究系统的稳态特性和动态特性,为机电一体化系统的物理实现和后续的系统调试工作提供数据支持,而仿真研究是进行系统分析和设计的有利方法。本实验目的在于通过实验使同学对机电一体化系统建模方法和仿真方法有初步的了解,初步掌握在MATLAB/ SIMULINK环境下对机电一体化系统数学模型进行仿

2、真的方法。(1)掌握机电一体化系统数学建模的基本方法;(2)掌握对机电一体化系统进行数学仿真的基本方法和步骤;(3)在初步掌握在MATLAB/ SIMULINK环境下对机电一体化系统数学模型进行仿真的方法。要求:每个同学能独立完成本仿真实验(多次练习),一、实验目的和要求,二、实验内容1 控制对象建模1.1 PID 控制系统的建模 PID(Proportional,Integral and Differemial)控制器是一种基于“过去”,“现在”和“未来”信息估计的简单算法。常规PID控制系统原理框图如下图所示,系统主要由PID控制器和被控对象组成。作为一种线性控制器,它根据给定值rin(t

3、)与实际输出值yout(t)构成控制偏差e(t),将偏差按比例、积分、和微分通过线性组合构成控制量u(t),对被控对象进行控制。,二、实验内容,二、实验内容 PID控制器各校正环节的作用如下:1比例环节:成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差。2积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数Ti,Ti越大,积分作用越弱,反之越强。3微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。 从根本上讲,设计 PID 控制器也

4、就是确定其比例系数K p、积分系数Ti 和微分系数Td , 这三个系数取值的不同,决定了比例、积分和微分作用的强弱。控制系统的整定就是在控制系统的结构已经确定、控制仪表和控制对象等处在正常状态的情况下, 适当选择控制器的参数使控制仪表的特性和控制对象的特性相配合, 从而使控制系统的运行达到最佳状态, 取得最好的控制效果。本文介绍基于Ziegler- Nichols整定方法的 PID 控制器设计。,二、实验内容,二、实验内容1.2 被控对象的建模在实际的过程控制系统中,有大量的对象模型可以近似地由带有延迟的一阶传递函数模型来表示,该对象的模型可以表示如下:,如果不能建立起系统的物理模型,可通过试

5、验测取对象模型的阶跃响应,从而得到模型参数。当然, 我们也可在已知对象模型的情况下, 由 MATLAB 通过 STEP( ) 函数得到对象模型的开环阶跃响应曲线。在被控对象的阶跃响应输出信号图(如图所示)中, 可获取 K、L 和 T 参数。,二、实验内容 如果不能建立起系统的物理模型,可,二、实验内容2 PID控制系统的设计 Ziegler- Nichols法是一种基于频域设计 PID 控制器的方法。此法首先通过实验获取控制对象单位阶跃响应,获得K、L 和 T 参数。令a=KL/T,我们可以通过下表给出的Ziegler- Nichols经验公式确定P、PI 和 PID 控制器的参数。,二、实验

6、内容,二、实验内容3 PID 控制系统MATLAB/Simulink仿真分析3.1 在MATLAB 下实现PID 控制器的设计与仿真根据Ziegler- Nichols法,这里编写一个MATLAB函数ziegler,该函数的功能实现由Ziegler- Nichols公式设计PID 控制器,在设计过程中可以直接调用。其源程序如下:function Gc,Kp,Ti,Td,H=ziegler(key,vars)Ti=; %PID控制器积分时间常数Td=; %PID控制器微分时间常数H=1;if length(vars)=4, K=vars(1); L=vars(2); T=vars(3); N=v

7、ars(4); %接收系统传递函数Gp=K/(Ts+1)*exp(-L*s)中的系数 a=K*L/T; %令a=K*L/T(表示ziegler-Nichols法中比例环节系数的倒数) if key=1, Kp=1/a; %key=1表示系统P校正 elseif key=2, Kp=0.9/a; Ti=3.33*L; %key=2表示系统PI校正 elseif key=3 | key=4, Kp=1.2/a; Ti=2.2*L; Td=L/2; %key=3,4表示系统PID校正 end,二、实验内容,二、实验内容3 PID 控制系统MATLAB/Simulink仿真分析3.1 在MATLAB

8、下实现PID 控制器的设计与仿真elseif length(vars)=3, K=vars(1); Tc=vars(2); N=vars(3); if key=1, Kp=0.5*K; elseif key=2, Kp=0.4*K; Ti=0.8*Tc; elseif key=3 | key=4, Kp=0.6*K; Ti=0.5*Tc; Td=0.12*Tc; endelseif length(vars)=5, K=vars(1); Tc=vars(2); rb=vars(3); N=vars(5);pb=pi*vars(4)/180; Kp=K*rb*cos(pb); if key=2,

9、Ti=-Tc/(2*pi*tan(pb); elseif key=3|key=4, Ti=Tc*(1+sin(pb)/(pi*cos(pb); Td=Ti/4; endend,二、实验内容,二、实验内容3 PID 控制系统MATLAB/Simulink仿真分析3.1 在MATLAB 下实现PID 控制器的设计与仿真switch key case 1, Gc=Kp; %表示P传递函数:Gc=Kp case 2, Gc=tf(Kp*Ti,1,Ti,0); %表示PI传递函数:Gc=Kp(Ti*s+1)/(Ti*s)= Kp(1+1/(Ti*s) case 3, nn=Kp*Ti*Td*(N+1)/

10、N,Kp*(Ti+Td/N),Kp; dd=Ti*Td/N,1,0; Gc=tf(nn,dd); %表示PID传递函数:Gc= Kp(1+1/(Ti*s)+Td*s)end该函数的 调用格式为:Gc,Kp,Ti,Td=Ziegler(key,vars)其中,key为选择控制器类型的变量:当key=1,2,3时分别表示设计P、PI、PID控制器;若给出的是阶跃响应数据,则变量vars=K,L,T,N;若给出的是频域响应数据,则变量vars=Kc,Tc,N。,二、实验内容,二、实验内容 在实际的过程控制系统中,有大量的对象模型可以近似地由带有延迟的一阶传递函数模型来表示,该对象的模型可以表示如下:

11、,这里我们不妨设K=8,T=360,L=180,则对象模型可以表示为:,利用ziegler()函数计算系统P、PI、PID控制器的参数,并给出校正后系统阶跃响应曲线。程序如下:K=8;T=360;L=180;num=K;den=T 1;,二、实验内容这里我们不妨设K=8,T=360,L=180,则,二、实验内容,G1=tf(num,den) %表示输入延迟的阶跃传递函数:G1=K/(Ts+1)=8/(360*s+1),结尾无分号表示输出计算结果np,dp=pade(L,2)%用有理函数近似传递函数中exp(-L*s)=exp(-180*s)后的分子分母的系数Gp=tf(np,dp)figure

12、,step(G1*Gp);%绘制传递函数Gp=K/(Ts+1)*exp(-L*s)=8/(360*s+1)*exp(-180*s)的阶跃响应。title(未校正前系统阶跃响应曲线曲线);grid;Gc1,Kp1=ziegler(1,K,L,T,1);%利用ziegler-Nichols法计算P校正后的系统传递函数Gc1以及PID控制器的比列系数Kp1Gc1Gc2,Kp2,Ti2=ziegler(2,K,L,T,1);%利用ziegler-Nichols法计算PI校正后的系统传递函数Gc2以及PID控制器的比列系数Kp2、积分系数Ti2,二、实验内容G1=tf(num,den) %表示输入延迟的

13、阶,二、实验内容,Gc2Gc3,Kp3,Ti3,Td3=ziegler(3,K,L,T,1);%利用ziegler-Nichols法计算PID校正后的系统传递函数Gc3以及PID控制器的比列系数Kp3、积分时间常数Ti3和微分时间常数Td3Gc3G_c1=feedback(G1*Gc1,Gp);%feedback(G,H),G,H需事先设定,其中G为传递函数,H为反馈函数表示一个控制系统G,对其进行负反馈H(要求正反馈用-H)figure,step(G_c1); %绘制只有P环节校正的系统对阶跃响应曲线title(P控制器校正后的系统阶跃响应曲线)grid;G_c2=feedback(G1*G

14、c2,Gp);figure,step(G_c2); %绘制有PI环节校正的系统对阶跃响应曲线title(PI 控制器校正后的系统阶跃响应曲线);grid;,二、实验内容Gc2,二、实验内容,G_c3=feedback(G1*Gc3,Gp);figure,step(G_c3); %绘制PID环节校正的系统对阶跃响应曲线title(PID控制器校正后的系统阶跃响应曲线);grid;figure,step(G_c1);hold on;step(G_c2);hold on;step(G_c3);%绘制P环节、PI环节和PID环节校正的系统对阶跃响应曲线对比图title(P、PI、PID控制器校正后的系

15、统阶跃响应曲线);grid;gtext(P)gtext(PI)gtext(PID),二、实验内容G_c3=feedback(G1*Gc3,Gp),二、实验内容,运行程序,输出如下:Gc1 = 0.2500Transfer function:134.9 s + 0.225- 599.4 s (PI控制器的传递函数)Transfer function:2.138e004 s2 + 145.8 s + 0.3- 3.564e004 s2 + 396 s(PID控制器的传递函数),二、实验内容运行程序,输出如下:,二、实验内容,二、实验内容,二、实验内容,二、实验内容,二、实验内容,二、实验内容,二、

16、实验内容,二、实验内容,二、实验内容,二、实验内容,二、实验内容 由上图可知,用Ziegler- Nichols公式计算P、PI、PID控制器对系统校正后,其阶跃响应曲线中的P、PI控制二者的响应速度基本相同,因为两种控制的比例系数不同,因此系统稳定的输出值不同。PI控制超调量比P控制的要小一些。PID控制比前者的响应速度都快,但超调量最大。 3.2 在Simulink 下实现PID 控制器的设计与仿真 这里仍然设被控对象的传递函数是,二、实验内容,二、实验内容建立Simulink模型:,二、实验内容,二、实验内容 图中,“Integrator”为积分器,“Derivative”为微分器,“K

17、p”为比例系数,“Ti”为积分时间常数,“Td”为微分时间常数。进行P控制器参数整定时,微分器和积分器的输出不连到系统中,在Simulink中,把微分器和积分器的输出连线断开即可。同理,进行PI控制器参数整定时,微分器的输出连线断开。 Ziegler- Nichols整定的第一步是获取开环系统的单位阶跃响应,在Simulink中,把反馈连线、微分器的输出连线、积分器的输出连线都断开,“Kp”的值置为1,连线得:,二、实验内容,二、实验内容选定仿真时间,仿真运行,运行完毕后,双击“Scope”得到结果:,二、实验内容,二、实验内容根据Ziegler- Nichols经验公式,可知P控制整定时,比

18、例放大系数Kp=0.25,将“Kp”的值置为0.25,并连上反馈连线,得:,二、实验内容,二、实验内容选定仿真时间,仿真运行,运行完毕后,双击“Scope”得到结果:,二、实验内容,二、实验内容根据Ziegler- Nichols经验公式,可知PI控制整定时,比例放大系数Kp=0.225,积分时间常数Ti=594,将“Kp”的值置为0.225,“1/Ti”的值为1/594,将积分器的输出连线连上,得:,二、实验内容,二、实验内容选定仿真时间,仿真运行,运行完毕后,双击“Scope”得到结果:,二、实验内容,二、实验内容 根据Ziegler- Nichols经验公式,可知PID控制整定时,比例放

19、大系数Kp=0.3,积分时间常数Ti=396,微分时间常数Td=90,将“Kp”的值置为0.3,“1/Ti”的值为1/396,“Td”的值置为90,将微分器的输出连线连上,得:,二、实验内容,二、实验内容选定仿真时间,仿真运行,运行完毕后,双击“Scope”得到结果:,二、实验内容,二、实验内容 由以上三图同样可以看出,P、PI控制二者的响应速度基本相同,但系统稳定的输出值不同。PI控制超调量比P控制的要小一些。PID控制比前者的响应速度都快,但超调量最大。 针对该PID 控制器,我们可以通过外加扰动信号来测试其控制效果。如下图,我们在t=4000s时,外加一个幅值为15的扰动信号:,二、实验

20、内容,二、实验内容将该扰动信号加到带延迟一阶系统输入端,如下图:,二、实验内容,二、实验内容 选定仿真时间,仿真运行,运行完毕后,双击“Scope”得到结果:,二、实验内容,二、实验内容 当系统稳定后,若加一个扰动信号,PID控制器可以很快对被控对象的响应进行校正,使其尽快稳定。由上图可以看出,该PID 控制器效果良好。 从系统接入PID 控制器前后的阶跃响应曲线中, 我们可以明显地看到系统性能的改善。利用MATLAB/Simulink可以实现PID 控制器的离线设计和整定, 并可实现实验室仿真。但是这种常规的PID 控制不具有自适应性, 在长期工作时对象参数会产生偏移, 系统具有时变不确定性

21、, 也存在非线性, 工况点附近小范围的线性化假设在整个工作范围中不能成立时, 就难以达到理想的控制效果。为此, 我们可以考虑自适应的PID 控制算法。,二、实验内容,三、实验报告根据已知参数建立数学模型,并在MATLAB/ SIMULINK环境下对机电一体化系统数学模型进行仿真的实验,得出系统的动态特性和稳态特性。PID控制器的参数由实验者调整,并按照仿真结果填写实验报告。,三、实验报告,四、实验过程(1)对如图所给的机电一体化系统,分析系统的工作原理。(2)对该系统,根据分析的结果建立系统的数学模型。(3)对所建立的系统数学模型进行计算机仿真,获得该系统的动态特性和稳态特性(设PID调节器的

22、初值为比例系数为1,无积分和微分环节)(4)对PID控制器的参数(比例,积分和微分)进行整定,使系统具有合理的稳态响应和动态响应特性。并给出该机电一体化系统的阶跃响应动态特性曲线图,分析系统的响应性能。,四、实验过程,五、实验操作1、打开MATLAB进入SIMULINK模块。2、按照实验内容建立系统框图。3、按照实验内容,调用Ziegler- Nichols经验公式 程序计算各P、PI和PID校正经验系数。4、修改系统框图中各系数,进行无校正、P、PI和PID条件下以及PID校正时有干扰情况下,带延迟的一阶系统对单位阶跃的输出响应。5、分析仿真结果。,五、实验操作,知识回顾Knowledge Review,知识回顾Knowledge Review,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号