PID控制及其MATLAB仿真详细

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

先进PID控制及其MATLAB仿真控制工程与控制理论课程设计讲座主讲人付冬梅自动化系第1章数字PID控制1.1PID控制原理1.2连续系统的模拟PID仿真1.3数字PID控制1.1PID控制原理模拟PID控制系统原理框图1.1PID控制原理PID是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制方案:PID的控制规律为:()()()inoutetrtyt011()()()()tpDdetutketetdtTTdtsTsTksEsUsGDp111)()()(1.1PID控制原理PID控制器各校正环节的作用如下:比例环节:成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减小偏差。积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数T,T越大,积分作用越弱,反之则越强。微分环节:反映偏差信号的变化趋势,并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。1.2连续系统的基本PID仿真1.2.1基本的PID控制1.2.2线性时变系统的PID控制以二阶线性传递函数为被控对象,进行模拟PID控制。在信号发生器中选择正弦信号,仿真时取Kp=60,Ki=1,Kd=3,输入指令为其中,A=1.0,f=0.20Hz被控对象模型选定为:()sin(2)inrtAft1.2连续系统的基本PID仿真2133()25Gsss连续系统PID的Simulink仿真程序1.2连续系统的基本PID仿真连续系统的模拟PID控制正弦响应1.2连续系统的基本PID仿真1.3数字PID控制1.3.1位置式PID控制算法1.3.2连续系统的数字PID控制仿真1.3.3离散系统的数字PID控制仿真1.3.4增量式PID控制算法及仿真1.3.5积分分离PID控制算法及仿真1.3.6抗积分饱和PID控制算法及仿真1.3.7梯形积分PID控制算法1.3.8变速积分PID算法及仿真1.3数字PID控制1.3.9不完全微分PID控制算法及仿真1.3.10微分先行PID控制算法及仿真1.3.11带死区的PID控制算法及仿真1.3.1位置式PID控制算法按模拟PID控制算法,以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分近似代替积分,以一阶后向差分近似代替微分,即:000(0,1,2,3)()()()()()((1))()(1)kktjjtkTketdtTejTejdetekTekTekekdtTT1.3.1位置式PID控制算法可得离散表达式:式中,Ki=Kp/Ti,Kd=KpTd,T为采样周期,K为采样序号,k=1,2,……,e(k-1)和e(k)分别为第(k-1)和第k时刻所得的偏差信号。010()(()()(()(1)))()(1)()()kDpjkpidjTTukkekejekekTTekekkekkejTkT1.3.1位置式PID控制算法位置式PID控制系统根据位置式PID控制算法得到其程序框图。在仿真过程中,可根据实际情况,对控制器的输出进行限幅:[-10,10]。1.3.1位置式PID控制算法1.3.2连续系统的数字PID控制仿真本方法可实现D/A及A/D的功能,符合数字实时控制的真实情况,计算机及DSP的实时PID控制都属于这种情况。采用MATLAB语句形式进行仿真。被控对象为一个电机模型传递函数:式中,J=0.0067,B=0.10BsJssG21)(1.3.2连续系统的数字PID控制仿真PID正弦跟踪1.3.2连续系统的数字PID控制仿真采用Simulink进行仿真。被控对象为三阶传递函数,采用Simulink模块与M函数相结合的形式,利用ODE45的方法求解连续对象方程,主程序由Simulink模块实现,控制器由M函数实现。输入指令信号为一个采样周期1ms的正弦信号。采用PID方法设计控制器,其中,Kp=1.5,Ki=2.0,Kd=0.05。误差的初始化是通过时钟功能实现的,从而在M函数中实现了误差的积分和微分。1.3.2连续系统的数字PID控制仿真Simulink仿真程序图1.3.2连续系统的数字PID控制仿真PID正弦跟踪结果1.3.3离散系统的数字PID控制仿真仿真实例设被控制对象为:采样时间为1ms,采用Z变换进行离散化,经过Z变换后的离散化对象为:ssSsG1047035.87523500)(23()(2)(1)(3)(2)(4)(3)(2)(1)(3)(2)(4)(3)outoutoutoutykaykaykaykbukbukbuk1.3.3离散系统的数字PID控制仿真离散PID控制的Simulink主程序1.3.3离散系统的数字PID控制仿真阶跃响应结果1.3.4增量式PID控制算法及仿真当执行机构需要的是控制量的增量(例如驱动步进电机)时,应采用增量式PID控制。根据递推原理可得:增量式PID的算法:10(1)((1)()((1)(2)))kpidjukkekkejkekek()(()(1))()(()2(1)(2))pidukkekekkekkekekek)1()()(kukuku1.3.4增量式PID控制算法及仿真根据增量式PID控制算法,设计了仿真程序。设被控对象如下:PID控制参数为:Kp=8,Ki=0.10,Kd=10sssG50400)(21.3.4增量式PID控制算法及仿真增量式PID阶跃跟踪结果1.3.5积分分离PID控制算法及仿真在普通PID控制中,引入积分环节的目的主要是为了消除静差,提高控制精度。但在过程的启动、结束或大幅度增减设定时,短时间内系统输出有很大的偏差,会造成PID运算的积分积累,致使控制量超过执行机构可能允许的最大动作范围对应的极限控制量,引起系统较大的振荡,这在生产中是绝对不允许的。积分分离控制基本思路是,当被控量与设定值偏差较大时,取消积分作用,以免由于积分作用使系统稳定性降低,超调量增大;当被控量接近给定量时,引入积分控制,以便消除静差,提高控制精度。具体实现的步骤是:1、根据实际情况,人为设定阈值ε>0;2、当∣e(k)∣>ε时,采用PD控制,可避免产生过大的超调,又使系统有较快的响应;3、当∣e(k)∣≤ε时,采用PID控制,以保证系统的控制精度。1.3.5积分分离PID控制算法及仿真1.3.5积分分离PID控制算法及仿真积分分离控制算法可表示为:式中,T为采样时间,β项为积分项的开关系数0()()()(()(1))/kpidjukkekkejTkekekT01()ek()ek1.3.5积分分离PID控制算法及仿真根据积分分离式PID控制算法得到其程序框图如右图。1.3.5积分分离PID控制算法及仿真设被控对象为一个延迟对象:采样时间为20s,延迟时间为4个采样时间,即80s,被控对象离散化为:160)(80sesGs)5()2()1()2()(kunumkydenky1.3.5积分分离PID控制算法及仿真积分分离式PID阶跃跟采用普通PID阶跃跟踪1.3.5积分分离PID控制算法及仿真Simulink主程序1.3.5积分分离PID控制算法及仿真阶跃响应结果1.3.5积分分离PID控制算法及仿真需要说明的是,为保证引入积分作用后系统的稳定性不变,在输入积分作用时比例系数Kp可进行相应变化。此外,β值应根据具体对象及要求而定,若β过大,则达不到积分分离的目的;β过小,则会导致无法进入积分区。如果只进行PD控制,会使控制出现余差。(为什么是β?)1.3.6抗积分饱和PID控制算法及仿真积分饱和现象所谓积分饱和现象是指若系统存在一个方向的偏差,PID控制器的输出由于积分作用的不断累加而加大,从而导致u(k)达到极限位置。此后若控制器输出继续增大,u(k)也不会再增大,即系统输出超出正常运行范围而进入了饱和区。一旦出现反向偏差,u(k)逐渐从饱和区退出。进入饱和区愈深则退饱和时间愈长。此段时间内,系统就像失去控制。这种现象称为积分饱和现象或积分失控现象。1.3.6抗积分饱和PID控制算法及仿真执行机构饱和特性1.3.6抗积分饱和PID控制算法及仿真抗积分饱和算法在计算u(k)时,首先判断上一时刻的控制量u(k-1)是否己超出限制范围。若超出,则只累加负偏差;若未超出,则按普通PID算法进行调节。这种算法可以避免控制量长时间停留在饱和区。仿真实例设被控制对象为:采样时间为1ms,取指令信号Rin(k)=30,M=1,采用抗积分饱和算法进行离散系统阶跃响应。ssssG1047035.875235000)(231.3.6抗积分饱和PID控制算法及仿真1.3.6抗积分饱和PID控制算法及仿真抗积分饱和阶跃响应仿真普通PID阶跃响应仿真1.3.7梯形积分PID控制算法在PID控制律中积分项的作用是消除余差,为了减小余差,应提高积分项的运算精度,为此,可将矩形积分改为梯形积分。梯形积分的计算公式为:tkiTieiedtte002)1()()(1.3.8变速积分算法及仿真变速积分的基本思想是,设法改变积分项的累加速度,使其与偏差大小相对应:偏差越大,积分越慢;反之则越快,有利于提高系统品质。设置系数f(e(k)),它是e(k)的函数。当∣e(k)∣增大时,f减小,反之增大。变速积分的PID积分项表达式为:10()()()()kiiiukkeifekekT1.3.8变速积分算法及仿真系数f与偏差当前值∣e(k)∣的关系可以是线性的或是非线性的,例如,可设为0)(1)(ABkeAkefBAkeBAkeBBke)()()(1.3.8变速积分算法及仿真变速积分PID算法为:这种算法对A、B两参数的要求不精确,参数整定较容易。)1()()()()()()(10kekekTkekefiekkekkudkiip1.3.8变速积分算法及仿真设被控对象为一延迟对象:采样时间为20s,延迟时间为4个采样时间,即80s,取Kp=0.45,Kd=12,Ki=0.0048,A=0.4,B=0.6。160)(80sesGs1.3.8变速积分算法及仿真变速积分阶跃响应普通PID控制阶跃响应1.3.9不完全微分PID算法及仿真在PID控制中,微分信号的引入可改善系统的动态特性,但也易引进高频干扰,在误差扰动突变时尤其显出微分项的不足。若在控制算法中加入低通滤波器,则可使系统性能得到改善。不完全微分PID的结构如下图。左图将低通滤波器直接加在微分环节上,右图是将低通滤波器加在整个PID控制器之后。不完全微分算法结构图1.3.9不完全微分PID算法及仿真不完全微分算法:其中Ts为采样时间,Ti和Td为积分时间常数和微分时间常数,Tf为滤波器系数。()(1)(()(1))(1)DDDukKaekekuksDpDTTkK/fsfTTT1.3.9不完全微分PID算法及仿真被控对象为时滞系统传递函数:在对象的输出端加幅值为0.01的随机信号。采样时间为20ms。低通滤波器为:160)(80sesGs11801)(ssQ1.3.9不完全微分PID算法及仿真不完全微分控制阶跃响应普通PID控制阶跃响应1.3.9不完全微分PID算法及仿真1.3.10微分先行PID控制算法及仿真微分先行PID控制的特点是只对输出量yout(k)进行微分,而对给定值rin(k)不进行微分。这样,在改变给定值时,输出不会改变,而被控量的变化通常是比较缓和的。这种输出量先行微分控制适用于给定值r

1 / 60
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功