《PID控制及其MATLAB仿真详细.ppt》由会员分享,可在线阅读,更多相关《PID控制及其MATLAB仿真详细.ppt(61页珍藏版)》请在三一办公上搜索。
1、先进PID控制及其MATLAB仿真,控制工程与控制理论课程设计讲座,主讲人 付冬梅自动化系,第1章 数字PID控制,1.1PID控制原理1.2连续系统的模拟PID仿真1.3数字PID控制,1.1PID控制原理,模拟PID控制系统原理框图,1.1PID控制原理,PID是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制方案:PID的控制规律为:,1.1PID控制原理,PID控制器各校正环节的作用如下:比例环节:成比例地反映控制系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减小偏差。积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间
2、常数T,T越大,积分作用越弱,反之则越强。微分环节:反映偏差信号的变化趋势,并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。,1.2 连续系统的基本PID仿真,1.2.1 基本的PID控制1.2.2 线性时变系统的PID控制,以二阶线性传递函数为被控对象,进行模拟PID控制。在信号发生器中选择正弦信号,仿真时取Kp60,Ki1,Kd3,输入指令为 其中,A1.0,f0.20Hz 被控对象模型选定为:,1.2 连续系统的基本PID仿真,连续系统PID的Simulink仿真程序,1.2 连续系统的基本PID仿真,连续系统的模拟PID控制正弦响应
3、,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,以矩形法
4、数值积分近似代替积分,以一阶后向差分近似代替微分,即:,1.3.1位置式PID控制算法,可得离散表达式:式中,Ki=Kp/Ti,Kd=KpTd,T为采样周期,K为采样序号,k=1,2,e(k-1)和e(k)分别为第(k-1)和第k时刻所得的偏差信号。,1.3.1位置式PID控制算法,位置式PID控制系统,根据位置式PID控制算法得到其程序框图。在仿真过程中,可根据实际情况,对控制器的输出进行限幅:-10,10。,1.3.1位置式PID控制算法,1.3.2连续系统的数字PID控制仿真,本方法可实现D/A及A/D的功能,符合数字实时控制的真实情况,计算机及DSP的实时PID控制都属于这种情况。采用
5、MATLAB语句形式进行仿真。被控对象为一个电机模型传递函数:式中,J=0.0067,B=0.10,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连续系统
6、的数字PID控制仿真,Simulink仿真程序图,1.3.2连续系统的数字PID控制仿真,PID正弦跟踪结果,1.3.3离散系统的数字PID控制仿真,仿真实例 设被控制对象为:采样时间为1ms,采用Z变换进行离散化,经过Z变换后的离散化对象为:,1.3.3离散系统的数字PID控制仿真,离散PID控制的Simulink主程序,1.3.3离散系统的数字PID控制仿真,阶跃响应结果,1.3.4增量式PID控制算法及仿真,当执行机构需要的是控制量的增量(例如驱动步进电机)时,应采用增量式PID控制。根据递推原理可得:增量式PID的算法:,1.3.4增量式PID控制算法及仿真,根据增量式PID控制算法,
7、设计了仿真程序。设被控对象如下:PID控制参数为:Kp=8,Ki=0.10,Kd=10,1.3.4增量式PID控制算法及仿真,增量式PID阶跃跟踪结果,1.3.5积分分离PID控制算法及仿真,在普通PID控制中,引入积分环节的目的主要是为了消除静差,提高控制精度。但在过程的启动、结束或大幅度增减设定时,短时间内系统输出有很大的偏差,会造成PID运算的积分积累,致使控制量超过执行机构可能允许的最大动作范围对应的极限控制量,引起系统较大的振荡,这在生产中是绝对不允许的。积分分离控制基本思路是,当被控量与设定值偏差较大时,取消积分作用,以免由于积分作用使系统稳定性降低,超调量增大;当被控量接近给定量
8、时,引入积分控制,以便消除静差,提高控制精度。,具体实现的步骤是:1、根据实际情况,人为设定阈值0;2、当e(k)时,采用PD控制,可避免产生过大的超调,又使系统有较快的响应;3、当e(k)时,采用PID控制,以保证系统的控制精度。,1.3.5积分分离PID控制算法及仿真,1.3.5积分分离PID控制算法及仿真,积分分离控制算法可表示为:式中,T为采样时间,项为积分项的开关系数,1.3.5积分分离PID控制算法及仿真,根据积分分离式PID控制算法得到其程序框图如右图。,1.3.5积分分离PID控制算法及仿真,设被控对象为一个延迟对象:采样时间为20s,延迟时间为4个采样时间,即80s,被控对象
9、离散化为:,1.3.5积分分离PID控制算法及仿真,积分分离式PID阶跃跟,采用普通PID阶跃跟踪,1.3.5积分分离PID控制算法及仿真,Simulink主程序,1.3.5积分分离PID控制算法及仿真,阶跃响应结果,1.3.5积分分离PID控制算法及仿真,需要说明的是,为保证引入积分作用后系统的稳定性不变,在输入积分作用时比例系数Kp可进行相应变化。此外,值应根据具体对象及要求而定,若过大,则达不到积分分离的目的;过小,则会导致无法进入积分区。如果只进行PD控制,会使控制出现余差。(为什么是?),1.3.6抗积分饱和PID控制算法及仿真,积分饱和现象所谓积分饱和现象是指若系统存在一个方向的偏
10、差,PID控制器的输出由于积分作用的不断累加而加大,从而导致u(k)达到极限位置。此后若控制器输出继续增大,u(k)也不会再增大,即系统输出超出正常运行范围而进入了饱和区。一旦出现反向偏差,u(k)逐渐从饱和区退出。进入饱和区愈深则退饱和时间愈长。此段时间内,系统就像失去控制。这种现象称为积分饱和现象或积分失控现象。,1.3.6抗积分饱和PID控制算法及仿真,执行机构饱和特性,1.3.6抗积分饱和PID控制算法及仿真,抗积分饱和算法在计算u(k)时,首先判断上一时刻的控制量u(k-1)是否己超出限制范围。若超出,则只累加负偏差;若未超出,则按普通PID算法进行调节。这种算法可以避免控制量长时间
11、停留在饱和区。,仿真实例设被控制对象为:采样时间为1ms,取指令信号Rin(k)30,M1,采用抗积分饱和算法进行离散系统阶跃响应。,1.3.6抗积分饱和PID控制算法及仿真,1.3.6抗积分饱和PID控制算法及仿真,抗积分饱和阶跃响应仿真,普通PID阶跃响应仿真,1.3.7梯形积分PID控制算法,在PID控制律中积分项的作用是消除余差,为了减小余差,应提高积分项的运算精度,为此,可将矩形积分改为梯形积分。梯形积分的计算公式为:,1.3.8 变速积分算法及仿真,变速积分的基本思想是,设法改变积分项的累加速度,使其与偏差大小相对应:偏差越大,积分越慢;反之则越快,有利于提高系统品质。设置系数f(
12、e(k),它是e(k)的函数。当e(k)增大时,f减小,反之增大。变速积分的PID积分项表达式为:,1.3.8 变速积分算法及仿真,系数f与偏差当前值e(k)的关系可以是线性的或是非线性的,例如,可设为,1.3.8 变速积分算法及仿真,变速积分PID算法为:这种算法对A、B两参数的要求不精确,参数整定较容易。,1.3.8 变速积分算法及仿真,设被控对象为一延迟对象:采样时间为20s,延迟时间为4个采样时间,即80s,取Kp=0.45,Kd=12,Ki=0.0048,A0.4,B0.6。,1.3.8 变速积分算法及仿真,变速积分阶跃响应,普通PID控制阶跃响应,1.3.9不完全微分PID算法及仿
13、真,在PID控制中,微分信号的引入可改善系统的动态特性,但也易引进高频干扰,在误差扰动突变时尤其显出微分项的不足。若在控制算法中加入低通滤波器,则可使系统性能得到改善。不完全微分PID的结构如下图。左图将低通滤波器直接加在微分环节上,右图是将低通滤波器加在整个PID控制器之后。,不完全微分算法结构图,1.3.9不完全微分PID算法及仿真,不完全微分算法:其中 Ts为采样时间,Ti和Td为积分时间常数和微分时间常数,Tf为滤波器系数。,1.3.9不完全微分PID算法及仿真,被控对象为时滞系统传递函数:在对象的输出端加幅值为0.01的随机信号。采样时间为20ms。低通滤波器为:,1.3.9不完全微
14、分PID算法及仿真,不完全微分控制阶跃响应,普通PID控制阶跃响应,1.3.9不完全微分PID算法及仿真,1.3.10微分先行PID控制算法及仿真,微分先行PID控制的特点是只对输出量yout(k)进行微分,而对给定值rin(k)不进行微分。这样,在改变给定值时,输出不会改变,而被控量的变化通常是比较缓和的。这种输出量先行微分控制适用于给定值rin(k)频繁升降的场合,可以避免给定值升降时引起系统振荡,从而明显地改善了系统的动态特性。,微分先行PID控制结构图,1.3.10微分先行PID控制算法及仿真,微分部分的传递函数为:式中,相当于低通滤波器。设被控对象为一个延迟对象:采样时间T=20s,
15、延迟时间为4T。输入信号为带有高频干扰的方波信号:,1.3.10微分先行PID控制算法及仿真,微分先行PID控制方波响应,普通PID控制方波响应,1.3.10微分先行PID控制算法及仿真,微分先行PID控制方波响应控制器输出,普通PID控制方波响应控制器输出,1.3.10微分先行PID控制算法及仿真,在计算机控制系统中,某些系统为了避免控制作用过于频繁,消除由于频繁动作所引起的振荡,可采用带死区的PID控制算法,控制算式为:式中,e(k)为位置跟踪偏差,e0是一个可调参数,其具体数值可根据实际控制对象由实验确定。若e0值太小,会使控制动作过于频繁,达不到稳定被控对象的目的;若e0太大,则系统将产生较大的滞后。,1.3.11带死区的PID控制算法及仿真,1.3.11带死区的PID控制算法及仿真,带死区的PID控制算法程序框图,设被控制对象为:采样时间为1ms,对象输出上有一个幅值为0.5的正态分布的随机干扰信号。采用积分分离式PID控制算法进行阶跃响应,取=0.20,死区参数e0=0.10,采用低通滤波器对对象输出信号进行滤波,滤波器为:,1.3.11带死区的PID控制算法及仿真,不带死区PID控制,带死区PID控制,1.3.11带死区的PID控制算法及仿真,本章结束,谢谢同学们。,
链接地址:https://www.31ppt.com/p-5345182.html