在Simulink下实现PID控制器的设计与仿真.ppt
上传人:天马****23 上传时间:2024-09-11 格式:PPT 页数:34 大小:1.8MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

在Simulink下实现PID控制器的设计与仿真.ppt

在Simulink下实现PID控制器的设计与仿真.ppt

预览

免费试读已结束,剩余 24 页请下载文档后查看

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

二、实验内容1控制对象建模1.1PID控制系统的建模PID(Proportional,IntegralandDifferemial)控制器是一种基于“过去”,“现在”和“未来”信息估计的简单算法。常规PID控制系统原理框图如下图所示,系统主要由PID控制器和被控对象组成。作为一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制偏差e(t),将偏差按比例、积分、和微分通过线性组合构成控制量u(t),对被控对象进行控制。二、实验内容PID控制器各校正环节的作用如下:1.比例环节:成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差。2.积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数Ti,Ti越大,积分作用越弱,反之越强。3.微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。从根本上讲,设计PID控制器也就是确定其比例系数Kp、积分系数Ti和微分系数Td,这三个系数取值的不同,决定了比例、积分和微分作用的强弱。控制系统的整定就是在控制系统的结构已经确定、控制仪表和控制对象等处在正常状态的情况下,适当选择控制器的参数使控制仪表的特性和控制对象的特性相配合,从而使控制系统的运行达到最佳状态,取得最好的控制效果。本文介绍基于Ziegler-Nichols整定方法的PID控制器设计。二、实验内容1.2被控对象的建模在实际的过程控制系统中,有大量的对象模型可以近似地由带有延迟的一阶传递函数模型来表示,该对象的模型可以表示如下:二、实验内容2PID控制系统的设计Ziegler-Nichols法是一种基于频域设计PID控制器的方法。此法首先通过实验获取控制对象单位阶跃响应,获得K、L和T参数。令a=KL/T,我们可以通过下表给出的Ziegler-Nichols经验公式确定P、PI和PID控制器的参数。二、实验内容3PID控制系统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;iflength(vars)==4,K=vars(1);L=vars(2);T=vars(3);N=vars(4);%接收系统传递函数Gp=K/(Ts+1)*exp(-L*s)中的系数a=K*L/T;%令a=K*L/T(表示ziegler-Nichols法中比例环节系数的倒数)ifkey==1,Kp=1/a;%key=1表示系统P校正elseifkey==2,Kp=0.9/a;Ti=3.33*L;%key=2表示系统PI校正elseifkey==3|key==4,Kp=1.2/a;Ti=2.2*L;Td=L/2;%key=3,4表示系统PID校正end二、实验内容3PID控制系统MATLAB/Simulink仿真分析3.1在MATLAB下实现PID控制器的设计与仿真elseiflength(vars)==3,K=vars(1);Tc=vars(2);N=vars(3);ifkey==1,Kp=0.5*K;elseifkey==2,Kp=0.4*K;Ti=0.8*Tc;elseifkey==3|key==4,Kp=0.6*K;Ti=0.5*Tc;Td=0.12*Tc;endelseiflength(vars)==5,K=vars(1);Tc=vars(2);rb=vars(3);N=vars(5);pb=pi*vars(4)/180;Kp=K*rb*cos(pb);ifkey==2,Ti=-Tc/(2*pi*tan(pb));elseifkey==3|key==4,Ti=Tc*(1+sin(pb))/(pi*cos(pb));Td=Ti/4;endend二、实验内容3PID控制系统MATLAB/Simulink仿真分析3.1在MATLAB下实现PID控制器的设计与仿真switchkeycase1,Gc=Kp;%表示P传递函数:Gc=Kpcase2,Gc=tf(Kp*[Ti,1],[Ti,0]);%表示PI传递函数:Gc=Kp(Ti*s+1)/(Ti*s)=Kp(1+1/(Ti*s))case3,nn=[Kp*Ti*Td