1、(最新整理)第三章_MATLAB与基本PID控制系仿真2021/7/261MATLABMATLAB与系统仿真与系统仿真第三章 MATLAB与基本PID控制系统仿真 n3.1 线性定常系统的数学模型n3.2 PID控制概述n3.3 PID控制系统仿真2021/7/262MATLABMATLAB与系统仿真与系统仿真 3.1 线性定常系统的数学模型n传递函数模型传递函数模型【调用格式调用格式】sys=tf(num,den)sys=tf(num,den)【说明说明】numnum和和denden分别是传递函数的分子多项式系数和分母多项式系数,按分别是传递函数的分子多项式系数和分母多项式系数,按s s的降
2、的降幂排列。幂排列。tftf函数的返回值是一个对象,称之为函数的返回值是一个对象,称之为TFTF对象,对象,numnum和和denden是是TFTF对象的属性。对象的属性。1.SISO系统的系统的TF数学模型数学模型例:例:已知系统的传递函数为已知系统的传递函数为2()210sG sss试建立系统的试建立系统的TF模型。模型。2021/7/263MATLABMATLAB与系统仿真与系统仿真 零极点模型零极点模型【调用格式调用格式】sys=zpk(z,p,k)【说明说明】z、p、k分别为系统的零点、极点和增益。分别为系统的零点、极点和增益。zpk函数的返回值是一个对象,函数的返回值是一个对象,称
3、之为称之为ZPK对象,对象,z、p和和k是是ZPK对象的属性。对象的属性。如果没有零点,则如果没有零点,则z为空数组。为空数组。例:例:SISO系统的传递函数为系统的传递函数为25(2)()(22)sG ss ss试建立系统的试建立系统的ZPK模型。模型。2021/7/264MATLABMATLAB与系统仿真与系统仿真 离散系统的数学模型离散系统的数学模型 1、脉冲传递函数模型、脉冲传递函数模型【调用格式调用格式】sys=tf(num,den,Ts)%建立离散系统的建立离散系统的TF模型模型sys=zpk(z,p,k,Ts)%建立离散系统的建立离散系统的ZPK模型模型【说明说明】num和和de
4、n是离散系统脉冲传递函数的分子和分母多项式系数。是离散系统脉冲传递函数的分子和分母多项式系数。z,p,k是离散系统脉冲传递函数的零点、极点和增益。是离散系统脉冲传递函数的零点、极点和增益。Ts是离散系统的采样周期。是离散系统的采样周期。2021/7/265MATLABMATLAB与系统仿真与系统仿真 数学模型之间的转换 LTI对象之间的转换对象之间的转换【调用格式调用格式】sys=tf(sys)sys=tf(sys)%将将syssys对象转换为对象转换为TFTF模型模型sys=zpk(sys)sys=zpk(sys)%转换为转换为ZPKZPK模型模型 LTI对象属性之间的转换对象属性之间的转换
5、【调用格式调用格式】z,p,k=tf2zp(num,den)z,p,k=tf2zp(num,den)%将将TFTF对象属性转换为对象属性转换为ZPKZPK对象属性对象属性num,den =zp2tf(z,p,k)num,den =zp2tf(z,p,k)%将将ZPKZPK对象属性转换为对象属性转换为TFTF对象属性对象属性 连续系统和离散系统之间的转换连续系统和离散系统之间的转换 sysd=c2d(sysc,Ts)sysd=c2d(sysc,Ts)%将连续系统转换为采样周期为将连续系统转换为采样周期为TsTs的离散系统的离散系统sysd=c2d(sysc,Ts,method)sysd=c2d(
6、sysc,Ts,method)%指定连续系统的离散化方法指定连续系统的离散化方法【调用格式调用格式】2021/7/266MATLABMATLAB与系统仿真与系统仿真sysc=d2c(sysd)sysc=d2c(sysd)%将离散系统转换为连续系统将离散系统转换为连续系统sysc=d2c(sysd,method)sysc=d2c(sysd,method)%指定离散系统的连续化方法指定离散系统的连续化方法methodmethodsysd1=d2d(sysd,Ts)sysd1=d2d(sysd,Ts)%改变采样周期,生成新的离散系统改变采样周期,生成新的离散系统sysc表示连续系统的数学模型,表示连
7、续系统的数学模型,sysd表示离散系统的数学模型。表示离散系统的数学模型。method为转换方法其取值和含义为:为转换方法其取值和含义为:zoh零阶保持器法,这是默认的转换方法。零阶保持器法,这是默认的转换方法。foh一阶保持器法一阶保持器法【说明说明】2021/7/267MATLABMATLAB与系统仿真与系统仿真例:例:系统的被控对象传递函数为:系统的被控对象传递函数为:)5)(2(10)(sssG采样周期采样周期TsTs0.10.1秒秒,试将其进行离散化处理。试将其进行离散化处理。程序:num=10;den=1,7,10;ts=0.1;sysc=tf(num,den);sysd=c2d(
8、sysc,ts)2021/7/268MATLABMATLAB与系统仿真与系统仿真 PID控制器是一种线性控制器,它根据给定值rin(t)与实际输出值yout(t)构成控制偏差:)()()(tyouttrinterror PID控制规律:其中:kp比例系数;TI积分时间常数;TD微分时间常数tDIpdttderrorTdtterrorTterrorktu0)()(1)()(3.2 PID控制概述2021/7/269MATLABMATLAB与系统仿真与系统仿真1 1、比例控制、比例控制求在不同的求在不同的KpKp(0.1,0.3,0.5,1,2,30.1,0.3,0.5,1,2,3)取值下闭环系统
9、的)取值下闭环系统的单位阶跃响应曲线。单位阶跃响应曲线。例:例:设被控对象的数学模型为设被控对象的数学模型为分析比例、微分、积分控制对系统的影响。分析比例、微分、积分控制对系统的影响。30)1(1)(ssG比例、积分、微分控制作用的分析比例、积分、微分控制作用的分析2021/7/2610MATLABMATLAB与系统仿真与系统仿真G0=tf(1,1,3,3,1);P=0.1 0.3 0.5 1 2 3;figure,hold onfor i=1:length(P)G=feedback(P(i)*G0,1);step(G)end结论:结论:比例系数增大,闭环系统的灵敏度增加,稳态误比例系数增大,
10、闭环系统的灵敏度增加,稳态误差减小,系统振荡增强;比例系数超过某个值时,闭环差减小,系统振荡增强;比例系数超过某个值时,闭环系统可能变得不稳定。系统可能变得不稳定。2021/7/2611MATLABMATLAB与系统仿真与系统仿真结论:结论:可以提高系统的型别,使系统由有差变为无差;积可以提高系统的型别,使系统由有差变为无差;积分作用太强会导致闭环系统不稳定。分作用太强会导致闭环系统不稳定。2 2、积分控制、积分控制(令(令Kp=1Kp=1,研究系统在不同,研究系统在不同TiTi值下的响应)值下的响应)G0=tf(1,1,3,3,1);Kp=1;Ti=0.6:0.2:1.4;t=0:0.1:2
11、0;figure,hold onfor i=1:length(Ti);Gc=tf(Kp*1,1/Ti(i),1,0);G=feedback(G0*Gc,1);step(G,t)endgrid onaxis(0,20,-0.5,2.5)2021/7/2612MATLABMATLAB与系统仿真与系统仿真3 3、微分控制、微分控制(令(令Kp=Ti=1Kp=Ti=1,研究系统在不同,研究系统在不同TdTd值下的值下的响应)响应)结论:结论:微分具有预报作用,会使系统的超调量减小,微分具有预报作用,会使系统的超调量减小,响应时间变快。响应时间变快。G0=tf(1,1,3,3,1);Kp=1;Ti=1;
12、Td=0.2:0.3:1.4;t=0:0.1:20;figure;hold onfor i=1:length(Td)Gc=tf(Kp*Ti*Td(i),Ti,1,Ti,0);G=feedback(G0*Gc,1);step(G,t)endgrid on axis(0,20,0,1.6)2021/7/2613MATLABMATLAB与系统仿真与系统仿真n(1)当阶跃输入作用时,P作用是始终起作用的基本分量;I作用一开始不显著,随着时间逐渐增强;D作用与I作用相反,在前期作用强些,随着时间逐渐减弱。n(2)PI控制器与被控对象串联连接时,可以使系统的型别提高一级,而且还提供了两个负实部的零点。n(
13、3)与PI控制器相比,PID控制器除了同样具有提高系统稳态性能的优点外,还多提供了一个负实部零点,因此在提高系统动态性能方面具有更大的优越性。n(4)PID控制通过积分作用消除误差,而微分控制可缩小超越量,加快反应,是综合了PI控制与PD控制长处并去除其短处的控制。n(5)从频域角度来看,PID控制是通过积分作用于系统的低频段,以提高系统的稳态性能,而微分作用于系统的中频段,以改善系统的动态性能。PID控制的主要特点2021/7/2614MATLABMATLAB与系统仿真与系统仿真PID参数整定规律 几条基本的PID参数整定规律:n(1)增大比例系数一般将加快系统的响应,在有静差的情况下有利于
14、减小静差,但是过大的比例系数会使系统有比较大的超调,并产生振荡,使稳定性变坏。n(2)增大积分时间有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长。n(3)增大微分时间有利于加快系统的响应速度,使系统超调量减小,稳定性增加,但系统对扰动的抑制能力减弱。2021/7/2615MATLABMATLAB与系统仿真与系统仿真PID控制器参数整定PID控制器参数整定的方法很多,概括起来有两大类:n(1)理论计算整定法n主要依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接使用,还必须通过工程实际进行调整和修改。n(2)工程整定方法n主要有Ziegl
15、er-Nichols整定法、临界比例度法、衰减曲线法。这三种方法各有特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行最后调整与完善。n工程整定法的基本特点是:不需要事先知道过程的数学模型,直接在过程控制系统中进行现场整定;方法简单,计算简便,易于掌握。Ziegler-Nichols法根据给定对象的瞬态响应特性来确定PID控制器的参数。Ziegler-Nichols法首先通过实验,获取控制对象单位阶跃响应:2021/7/2616MATLABMATLAB与系统仿真与系统仿真n例:基本PID控制SIMULINK仿真仿
16、真时取kp=60,ki=1,kd=3,输入指令为rin(k)=sin(0.4*pi*t)采用ODE45迭代方法,仿真时间为10s。Transfer Fcn133s +25s2SumSignalGeneratorScopePID ControllerPIDMuxMux3.4 PID控制系统仿真2021/7/2617MATLABMATLAB与系统仿真与系统仿真参数设置2021/7/2618MATLABMATLAB与系统仿真与系统仿真仿真曲线2021/7/2619MATLABMATLAB与系统仿真与系统仿真数字PIDn离散PID控制算法:kjdipTkerrorkerrorkTjerrorkkerr
17、orkku0)1()()()()(n1、离散系统的数字PID控制仿真:2021/7/2620MATLABMATLAB与系统仿真与系统仿真n例:被控对象为:n采样时间为1ms,采用Z变换进行离散化,进过Z变换后的离散化对象为:nyout(k)=-den(2)yout(k-1)-den(3)yout(k-2)-den(4)yout(k-3)n +num(2)u(k-1)+num(3)u(k-2)+num(4)u(k-3)n分别对阶跃信号、正弦信号和方波信号进行位置响应,设计离散PID控制器。其中,S为信号选择变量,S=1时为阶跃跟踪,S=2为方波跟踪,S=3为正弦跟踪。ssssG1046585.86523407)(232021/7/2621MATLABMATLAB与系统仿真与系统仿真2021/7/2622