《自动控制控制系统应用设计与仿真实例.ppt》由会员分享,可在线阅读,更多相关《自动控制控制系统应用设计与仿真实例.ppt(107页珍藏版)》请在三一办公上搜索。
1、第8章 控制系统应用设计与仿真实例,8.1 汽车运动控制系统的设计 8.2 跷跷板控制系统的设计8.3 直流(DC)电机调速系统的计算机辅助设计8.4 电磁驱动水压伺服机构的根轨迹设计,8.1 汽车运动控制系统的设计,8.1.1 问题提出 考虑图8.1所示的汽车运动控制系统。如果忽略车轮的转动惯量,并且假定汽车受到的摩擦阻力大小与运动速度成正比,方向与汽车运动方向相反,则该系统可以简化成简单的质量阻尼系统。,图 8.1,其中,u为汽车的驱动力。假定m=1000 kg,b=50 Ns/m,u=500 N。,(8.1),根据牛顿运动定律,该系统的模型表示为,8.1.2 模型描述 为了得到系统的传递
2、函数,对式(8.1)进行Laplace变换。假定系统的初始条件为零,则动态系统的Laplace变换式为 msV(s)+bV(s)=U(s)Y(s)=V(s)(8.2)既然系统输出是汽车的运动速度,用Y(s)替代V(s),得到 msY(s)+bY(s)=U(s)(8.3),相应的程序代码为 m=1000;b=50;u=500;num=1;den=m b;我们也可以建立方程(8.1)的状态方程模型,相应的程序代码为 m=1000;b=50;u=500;A=-b/m;B=1/m;C=1;D=0;,该系统的传递函数为,(8.4),图 8.2 汽车运动控制系统的开环阶跃响应曲线,8.1.3 PID控制器
3、设计 PID控制器的传递函数为,(8.5),其中,KP、KI和KD分别称为比例系数、积分系数和微分系数。首先我们来看看比例控制器的设计。闭环系统的传递函数为,(8.6),比例控制器可以减小系统的上升时间。现在假定KP=100,我们来观察系统的响应:kp=100;m=1000;b=50;u=10;num=kp;den=m b+kp;t=0:0.1:20;step(u*num,den,t)axis(0 20 0 10)得到图8.3所示的系统阶跃响应。,图 8.3 比例控制器作用下的汽车阶跃响应,从图8.3中可以看到,所设计的比例控制器不满足稳态误差和上升时间的设计要求。当然,也可以通过提高控制器的
4、比例增益系数来改善系统的输出。下面将KP提高到10 000,重新计算系统的阶跃响应,如图8.4所示。,图 8.4 KP=10 000时的系统阶跃响应,这时的系统稳态误差接近零并且系统上升时间也降到0.5 s以下,虽然满足了系统的性能要求,但实际上上述控制过程是不现实的,因为一个实际的汽车控制系统不可能在0.5 s以内将速度从0加速到10 m/s。解决上述问题的方法是改用比例积分控制器。比例积分控制系统的闭环传递函数为,(8.7),在控制器中增加积分环节的目的是减小系统的稳态误差。假设KI=1,KP=600,相应的程序代码为 kp=600;ki=1;m=1000;b=50;u=10;num=kp
5、 ki;den=m b+kp ki;t=0:0.1:20;step(u*num,den,t)axis(0 20 0 10),如果选择直接从开环传递函数计算系统的闭环传递函数,则可以输入 kp=600;ki=1;m=1000;b=50;u=10;num=1;den=m b;num1=kp ki;den1=1 0;num2=conv(num,num1);den2=conv(den,den1);numc,denc=cloop(num2,den2,-1);t=0:0.1:20;step(u*numc,denc,t)axis(0 20 0 10),运行上述程序,可以得到如图8.4所示的系统阶跃响应曲线。
6、调节控制器的比例和积分系数,以满足系统的性能要求。当调节积分增益的大小时,最好将比例增益设置成较小的值,因为过大的比例增益又可能会导致系统不稳定。当KI=40,KP=800时,得到的阶跃响应曲线如图8.5所示。可以看出,这时的系统已经满足系统设计要求。,图 8.5 KI=40,KP=800时比例积分 控制系统的阶跃响应曲线,在这个例子中,控制器没有包含微分项,然而对于有些实际系统,往往需要设计完整的PID控制器。PID控制系统的闭环传递函数为,(8.8),假设KI=1,KP=1,KD=1,输入下面的程序 kp=1;ki=1;kd=1;m=1000;b=50;u=10;num=kd kp ki;
7、den=m+kd b+kp ki;t=0:0.1:20;step(u*num,den,t)axis(0 20 0 10),8.1.4 根轨迹设计方法 前面我们针对系统的设计要求利用试凑的方法设计了PID控制器。然而这种方法需要设计人员对PID控制系统的性能变化非常熟悉,并且具备参数调节的丰富经验,该方法多用于控制系统简单的现场设备调试中。设计SISO系统控制器更为有效的方法是采用根轨迹方法来确定所需要的控制器参数。下面首先利用根轨迹方法重新设计该系统的比例控制器。,比例控制器的闭环传递函数见式(8.6)。根据经典控制理论,SISO系统的性能指标之间的关系满足,(8.9),其中,n、MP和Tr分
8、别为系统的自然频率、阻尼系数、最大超调量和上升时间。根据要求的上升时间小于5秒,可以知道系统的自然频率应大于0.36。而10%的最大超调量使得系统的阻尼系数应大于0.6。根据上面的分析,输入相应的程序如下:holdoff;m=1000;b=50;u=10;numo=1;deno=mb;figure hold;axis(-0.60-0.60.6);,rlocus(numo,deno),sgrid(0.6,0.36)Kp,poles=rlocfind(numo,deno)figurehold;numc=Kp;denc=m(b+Kp);t=0:0.1:20;step(u*numc,denc,t),a
9、xis(020010),运行上述程序,得到的系统根轨迹图如图8.6所示。两条虚直线代表的是阻尼系数为0.6时的极点位置。虚直线内部的区域表示阻尼系数大于0.6;而虚直线外部的区域表示阻尼系数小于0.6。图中的半椭圆代表0.36的自然频率。在椭圆内部,自然频率小于0.36;而在椭圆外部,系统的自然频率则大于0.36。,图8.6 系统的根轨迹图,在程序执行过程中可以发现MATLAB提示用户在根轨迹图中选择需要的闭环极点位置。基于以上分析,我们在两条虚直线之间(满足阻尼系数大于0.6)和半椭圆的外部(满足自然频率大于0.36)区域选择闭环极点,得到的闭环系统阶跃响应如图8.7所示(根据闭环极点所选位
10、置不同而有所变化)。仿真曲线显示,虽然系统的最大超调量和上升时间满足系统性能指标的设计要求,但是系统的稳态误差超过了系统的设计要求。因此,需要改变控制器的结构。,图8.7 根据根轨迹图设计得到的闭环系统阶跃响应曲线,为了减小系统的稳态误差,加入相位滞后控制器。它的传递函数为,这样,整个系统的闭环传递函数就变成,滞后控制器的零极点应设计成紧靠在一起,这样闭环系统的稳态误差将减小Z0/P0倍。根据上面的分析,将Z0设计成-0.3,而P0等于-0.03。相应的程序代码如下:holdoff;m=1000;b=50;u=10;Zo=0.3;Po=0.03;numo=1Zo;deno=mb+m*Pob*P
11、o;figure,hold;axis(-0.60-0.40.4),rlocus(numo,deno),sgrid(0.6,0.36)Kp,poles=rlocfind(numo,deno),figure,t=0:0.1:20;numc=KpKp*Zo;denc=mb+m*Po+Kpb*Po+Kp*Zo;axis(020012),step(u*numc,denc,t)运行该程序,得到如图8.8所示的根轨迹图。,图8.8 加入滞后控制器后的系统根轨迹图,8.2 跷跷板控制系统的设计,8.2.1 系统模型 跷跷板系统的结构如图8.10所示,它主要由放置在横梁上的小球和驱动转盘组成。随着转盘的转动,横
12、梁的倾斜角度也随之变化。小球在重力的作用下将沿横梁自由滚动。控制的目的是使小球可以停留在横梁的任意位置上。,图8.9 加入滞后控制器后的闭环阶跃响应曲线,图8.10 跷跷板系统的结构示意图,忽略横梁与小球之间的滚动摩擦,系统各部分符号的含义和取值分别为 M:小球的质量(0.11kg)R:小球的半径(0.015m)d:杠杆臂的偏移(0.03m)g:重力加速度(9.8m/s2)L:横梁的长度(1.0m)J:小球的瞬时惯量(9.99e-6kgm2)R:小球的位置坐标:横梁的倾斜角度:侍服齿轮的角度,系统设计要求:稳定时间小于3秒。超调量不超过5%。,(8.10),将上式在=0处线性化,得到小球的线性
13、化运动方程,(8.11),横梁的倾斜角度与侍服齿轮的角度具有如下的近似线性关系,(8.12),将上式代入式(8.11)得到,(8.13),1)传递函数 假设系统的初始条件为零,将上式进行Laplace变换,得到下面的方程,(8.14),从而得到系统的传递函数描述,(8.15),注意到该系统属于双积分器系统,属于临界稳定系统。下面的程序用于在MATLAB环境中创建该系统的传递函数模型:m=0.111;R=0.015;g=-9.8;L=1.0;d=0.03;J=9.99e-6;K=(m*g*d)/(L*(J/R2+m);%传递函数的增益 num=-K;den=100;printsys(num,de
14、n),2)状态空间描述 该系统的线性化模型也可以使用状态空间模型进行描述。将小球的位置坐标(r)和小球运动的速度(rdot)作为系统的状态变量。于是,系统的状态方程可以写成,在这个例子中,将通过控制的二阶导数而不是侍服齿轮的角度来达到控制小球位置的目的。从而得到如下的系统方程:,(8.16),在这个例子中,没有用到侍服齿轮和杠杆臂,而是通过安装在横梁中心的电机对横梁施加适当的力矩,来控制小球的位置。相对于系统的原始模型,我们将该模型称为力矩控制模型。下面的程序在MATLAB中创建式(8.16)所示的状态方程模型:m=0.111;R=0.015;g=-9.8;J=9.99e-6;H=-m*g/(
15、J/(R2)+m);A=0 1 0 0 0 0 H 0 0 0 0 1 0 0 0 0;B=0;0;0;1;C=1000;D=0;,8.2.2 全状态反馈控制器的设计 下面我们为系统设计全状态反馈控制器。控制系统示意图如图8.11所示。全状态反馈控制系统的闭环特征多项式为(sI-(A-BK),在本例中,A和B*K都是44矩阵,因此系统应该具有4个极点。设计全状态反馈控制器的目标就是将这些极点移动到期望的位置。根据系统的设计要求,计算出期望的主导极点位置位于-2+2i和-2-2i处,其它的极点应该远离主导极点,我们假设它们分别位于-20和-80处。随后通过MATLAB的place命令可以计算出控
16、制器的增益矩阵。以下是相应的程序代码:,图 8.11,p1=-2+2i;p2=-2-2i;p3=-20;p4=-80;K=place(A,B,p1,p2,p3,p4)得到的计算结果为 place:ndigits=15 K=1.0e+03*1.8286 1.0286 2.0080 0.1040,将计算得到的增益矩阵 K代入状态方程,最终的闭环系统状态方程为,接下来可以仿真闭环系统在0.25m输入信号下的阶跃响应。在M文件后加入下面的指令:T=0:0.01:5;U=0.25*ones(size(T);Y,X=lsim(A-B*K,B,C,D,U,T);plot(T,Y)运行M文件,得到的系统响应曲
17、线如图8.12所示。,图8.12 全状态反馈控制器作用下的阶跃响应曲线,从图中可以看出,系统的超调量和稳定时间均已满足要求,但系统具有较大的稳态误差。如果想进一步减小系统的超调量,可以将主导极点的虚部设置成比实部更小。如果要减小系统的稳定时间,可以进一步将主导极点向左半平面移动。读者可以改变系统的期望极点位置,观察系统主导极点对系统动态特性的影响。,下面我们采取措施来进一步减小系统的稳态误差。通常的方法是将系统的输出反馈到输入端,利用它与参考输入的误差来驱动控制器。由于这里采用的是状态反馈控制器,因此需要计算系统稳态时的状态值,并乘以选择的增益值K,而系统新的参考输入可以通过乘以某个增益 来实
18、现。图8.13反映了这种关系。,图8.13 参考输入下的状态反馈控制框图,增益矩阵 通过自定义函数rscale计算得到。将下面的程序代码加入到前面的M文件中:Nbar=rscale(A,B,C,D,K)T=0:0.01:5;U=0.25*ones(size(T);Y,X=lsim(A-B*K,B*Nbar,C,D,U,T);plot(T,Y),rscale.m文件的源代码如下:functionNbar=rscale(A,B,C,D,K)s=size(A,1);Z=zeros(1,s)1;N=inv(A,B;C,D)*Z;Nx=N(1:s);Nu=N(1+s);Nbar=Nu+K*Nx;,图8.
19、14 改进后的控制系统阶跃响应曲线,8.2.3 数字控制器的设计和实现 随着计算机的发展,计算机在控制系统中的应用越来越广泛。许多控制算法都是利用计算机实现的。由于计算机处理的是数字信号,因此需要为计算机设计数字控制器。这一节我们讨论图8.10所示的跷跷板系统的数字PID控制器的设计步骤。与连续PID控制器类似,数字控制器的传递函数为,(8.17),设计数字控制器的第一步是将连续系统传递函数转换成离散传递函数形式。我们可以使用MATLAB中的c2dm命令实现。该命令可以指定离散系统的采样时间和离散方法。本例中我们采用零阶保持的离散方法(zoh),同时假定闭环系统的带宽频率在1rad/s附近,因
20、此将采样时间设置为1/50s。以下是具体的程序:,m=0.111;R=0.015;g=-9.8;L=1.0;d=0.03;J=9.99e-6;K=(m*g*d)/(L*(J/R2+m);num=-K;den=100;Ts=1/50;numDz,denDz=c2dm(num,den,Ts,zoh)%将连续系统转换成离散系统 得到的离散系统传递函数为,下面我们将观察系统在0.25m输入信号下的阶跃响应,为此,在M文件中加入下面的程序代码:numDz=0.0001*0.420.42;denDz=1-21;x=dstep(0.25*numDz,denDz,251);t=0:0.02:5;stairs(
21、t,x)得到的系统响应如图8.15所示。仿真显示该系统是不稳定系统。,图8.15 离散系统的阶跃响应曲线,下面为系统设计比例-微分控制器。设置控制器参数Kp=100,Kd=10。将下面的代码加入到M文件中,观测这时的闭环系统响应(如图8.16所示)。numDz=0.0001*0.420.42;denDz=1-21;Kp=1000;Kd=10;numpd=Kp+Kd-(Kp+2*Kd)Kd;denpd=110;numDnew=conv(numDz,numpd);denDnew=conv(denDz,denpd);numDnewC,denDnewC=cloop(numDnew,denDnew);%
22、得到闭环系统的传递函数,图8.16 数字PI控制系统的阶跃响应,正如图8.16中显示的那样,所设计的数字控制系统满足所有的设计要求。注意,本例的控制器中没有使用积分环节。实际上对于一个控制系统而言,即使在同样的设计要求下,其控制方案也很可能是多种多样的。读者不妨按照上面的步骤重新设计该系统的PID数字控制器,并通过调节控制器的参数观察数字PID控制器不同控制参数对系统动态性能的影响。,8.3 直流(DC)电机调速系统的计算机辅助设计,8.3.1 问题描述 这一节将通过一个常见的例子直流电机的调速控制问题来演示如何使用SISODesignTool设计SISOLTI控制系统。读者学习完这一节后,可
23、以发现采用LTI系统的辅助设计工具将给我们的系统设计带来很大的方便。,典型的DC电机结构示意图如图8.17所示。控制系统的输入变量为输入电压Uapp(t),系统输出是电机在负载条件下的转动角速度(t)。设计补偿器的目的是通过对系统输入一定的电压,使电机带动负载以期望的角速度转动,并要求整个系统具有一定的稳定裕度。DC电机的动态模型本质上可以视作典型的二阶惯性系统,其具体模型在前面已经详细讨论过,这里直接给出系统的模型描述。,图8.17 直流电机调速系统结构示意图,设直流电机的传递函数为,系统的设计指标为:上升时间20dB;相位稳定裕度40。,8.3.2 系统设计 1调整补偿器的增益 如果对该系
24、统进行时域仿真,可以发现其闭环阶跃响应时间很大。提高系统相应速度的最简单方法是增加补偿器的增益大小。在SISO的设计工具中可以很方便地实现补偿器增益的调节:(1)鼠标移动到Bode幅值线上,这时鼠标指针变成手的形状。(2)按下鼠标左键抓取Bode幅值线。,(3)将Bode幅值线向上拖动。(4)释放鼠标,系统自动计算改变的系统增益和极点。SISO设计工具将计算补偿器的增益,计算结果显示在C(s)栏中。当然,用户也可以直接在C(s)栏中输入期望的补偿器增益值。整个过程可以用图8.18表示。,2调整系统带宽 既然系统设计要求上升时间在0.5s以内,应该调整系统增益,使得系统的穿越(crossover
25、)频率位于3rad/s附近。这是因为3rad/s的频率位置近似对应于0.33s的时间常数。为了更清楚地查找系统的穿越频率,点击鼠标右键,在快捷菜单中选择【Grid】命令。该命令将在Bode图中绘制网格线。使用上面介绍的方法,通过鼠标拖动Bode幅频曲线来调整系统的增益大小,使得该曲线在3rad/s的位置穿越0dB线(如图8.18所示)。,图8.18 DC电机的根轨迹图和Bode图,对于3rad/s的穿越频率,相应的补偿器增益应该在38左右。SISODesignTool将在Bode图的左下角显示系统当前的增益和相位裕度,同时也告诉我们当前系统是否是稳定的。如果通过LTIViewer观察系统的阶跃
26、响应,可以发现系统的稳态误差和上升时间已经得到一定的改善,但是要满足系统所有的设计指标,还应该设计更复杂的控制器。,3.加入积分器 减小系统稳态误差的一种方法是加入积分器。首先,点击鼠标右键,在弹出的快捷菜单中选择【AddPole/Zero】下的【Integrator】菜单。这时系统将加入一个积分器,该积分器的加入会改变系统的穿越频率,因此应该同时调整补偿器增益的大小并将穿越频率调整回3dB的位置,这时的增益大约为100。一旦加入积分器并重新调整补偿器的增益,SISO Design Tool就会在其中的根轨迹图中显示红色的极点,如图8.19所示。,图8.19 在补偿器中加入积分器,图8.20
27、加入积分器后DC电机的阶跃响应,从图8.20中的阶跃响应曲线中可以看出,系统的稳态误差已经满足设计要求。然而最大超调量和上升时间还没有达到所要设计的指标,这表明仅由积分器和增益项构成的补偿器并不能满足系统的设计要求,因此需要设计更为复杂的补偿器结构。,4.加入超前校正网络 系统的设计指标要求系统具有20dB以上的幅值裕度和40以上的相位裕度。在当前的补偿器设计中,增益裕度大约是11.5dB,而相位裕度在38.1附近,二者都不符合系统设计的条件。因此,下一步设计的目标是进一步缩短系统的上升时间同时提高系统的稳定裕度。一种方法是提高系统增益来加快系统的响应过程,但系统此时已经是欠阻尼状态,提高系统
28、增益将会减小系统的稳定裕度,读者可以在Bode图中进行尝试。接下来只有在补偿器中加入新的动态结构。,解决以上问题的一种方法是在补偿器中加入超前校正网络。为了方便我们的设计,首先将x轴进行放大,方法是点击鼠标右键,从快捷菜单中选择【ZoomIn-X】,然后用鼠标框出需要放大显示的区域。在这个例子中我们感兴趣的是从1rad/s到50rad/s的区域范围。,为了加入超前校正网络,在开环Bode图中点击鼠标右键,选择【AddPole/Zero】下的【Lead】菜单,该命令将在控制器中添加一个超前校正网络。这时鼠标光标将变成“x”形状,将鼠标移动到Bode图的幅频曲线上接近最右端极点的位置,然后在该极点
29、的右端靠近极点的某个位置按下鼠标。最终的设计结果如图8.21所示。,图8.21 加入超前环节后系统的Bode图和阶跃响应曲线,5.移动补偿器的零极点 为了提高系统响应速度,我们将超前网络的零点移动到靠近DC电机最左边(最慢)的极点位置。这可以直接通过鼠标拖动来实现。接下来,将超前网络的极点向右移动,并注意移动过程中幅值裕度的增长。当然也可以通过调节增益来增加系统的幅值裕度,用鼠标抓取Bode图的幅频曲线,然后向上拖动,观察增益和幅值裕度的增长情况。,按照上述方法调整超前网络参数的同时,可以打开LTIViewer观察系统的阶跃响应变化,观察阶跃响应的所有动态特征是否已经满足系统的设计要求。最终系
30、统的设计参数为(如图8.22所示):极点位置0和-28,零点位置-4.3,增益为84。,我们也可以使用【EditCompensator】对话框直接设置补偿器的上述参数值。只需双击CurrentCompensator区域即可打开该对话框。图8.22还显示系统的幅值裕度为22dB,相位裕度为66。为了观察上升时间和最大超调量是否满足设计要求,将鼠标移动到系统闭环阶跃响应曲线处,右击阶跃响应图的空白区域,在弹出的快捷菜单中选择【Characteristics】中的【RiseTime】和【PeakOvershoot】菜单,系统将自动在阶跃曲线上标示出相应的信息,如图8.23所示。从图中可以看出,系统的
31、上升时间为0.45秒,最大超调量大约在3%附近。至此,系统的所有动态性能均已满足当初的设计要求。,图8.22 DC电机补偿器的最终设计参数,图8.23 补偿器设计完成后的系统闭环阶跃响应曲线,8.4 电磁驱动水压伺服机构的根轨迹设计,8.4.1 问题描述 上一节介绍了如何借助LTI系统设计工具进行LTI控制系统的Bode图设计,这种方法属于典型的频域设计方法。除了频域方法外,利用闭环系统的根轨迹图进行LTI系统的时域设计也是工程实践中经常采用的方法。该方法在设计效果上与Bode图的频域设计方法是完全等价的。,由于MATLAB中的LTIDesignTool可以同时显示系统的Bode图和根轨迹图,
32、因此用户可以根据自己的喜好选择任何一种设计方法。这一节我们将通过MATLAB自带的一个工程示例来介绍LTI系统的根轨迹设计过程。,图8.24是一种电磁驱动的水压伺服机构(Electrohydraulic Servomechanism,简称EHSM)的结构示意图。该系统的组成包括电磁线圈构成的驱动器、存储有高压液体的导管中的滑动轴、导管中用以控制液体流动的阀门、将压力传送给负载的具有活塞驱动压力泵的主导管以及对称的液体回流管等等。,图8.24 电磁驱动水压伺服机构的结构示意图,仔细研究了图8.24所示的电磁驱动伺服机构的动态模型,并建立了整个系统的线性化模型。对具体的建模过程感兴趣的读者可以参考
33、具体文献,本书不再赘述。为了得到该系统的线性化模型,输入 load ltiexamples,图8.25 电磁驱动水压伺服机构的反馈闭环结构框图,该命令将MATLAB中所有LTI演示示例的系统对象载入工作空间。为了观察本例中的系统模型,输入 Gservo Zero/pole/gainfrominputVoltagetooutputRamposition:40000000-s(s+250)(s2+40s+9e004),可见,电磁驱动水压伺服机构的线性化模型可以表示成,系统设计的目标是确定控制器C(s),使闭环系统阶跃响应满足下面的性能指标:系统的稳定时间小于0.05秒(以小于2%的相对误差作为稳定
34、条件)。最大超调量不大于5%。,8.4.2 打开SISO设计工具 在MATLAB中的命令窗口中输入 sisotool(Gservo)上述命令将打开SISODesignTool,同时载入电磁驱动水压伺服机构的示例系统对象(如图8.26所示)。单击鼠标右键,借助快捷菜单中的【Zoom】命令,可以将根轨迹图中的任意区域(用鼠标框选)放大或缩小显示。,首先让我们来观察系统的单位闭环响应曲线。选择【LoopResponses】菜单下的【Tools】命令,SISO设计工具将打开LTIViewer,并显示当前闭环系统(单位反馈)的阶跃响应曲线,如图8.27所示。仿真曲线显示:系统的稳定时间大约为2秒左右,这
35、比系统的设计要求慢得多。,8.4.3 增大系统的增益 提高系统响应速度的最简单方法是增加控制器的增益大小。因此,只要用鼠标抓取根轨迹图中的红色小方块,并沿着曲线移动,控制器中的增益就可以随之改变,当然,也可以在【Current Compensator】栏中直接设置控制器增益的大小。图8.28是当控制器增益增加到20时系统的闭环响应曲线。图中显示,闭环系统的阶跃响应无法满足系统的稳定时间设计要求,并且响应过程出现了不期望的抖动,这时需要考虑增加控制器零极点的个数。,图8.26 显示EHSM系统的根轨迹图和Bode图,图8.27 EHSM系统的阶跃响应曲线,8.4.4 增加控制器的零极点 从上面的
36、分析可以看出,增加系统的增益使得系统进入欠阻尼状态,进一步增加系统增益将会使系统失去稳定,因此,仅靠单纯地增加控制器的增益无法满足系统的设计要求。我们知道,控制器的结构是由零极点位置和增益大小决定的。既然纯粹地增加控制器的增益无法达到理想的设计要求,接下来应该考虑为控制器增加零极点。,增加极点的方法在上一节中已经介绍过,只要单击鼠标右键,在快捷菜单中选择【AddPole/Zero】下的【ComplexPole】命令,然后在根轨迹图中需要加入极点的位置处点击鼠标左键,就可以在该位置添加一对极点。,图8.28 C(s)=20时的系统阶跃响应曲线,一旦我们在控制器中加入新的极点,系统Bode图和阶跃
37、响应曲线将根据新的控制器结构重新绘制。增加控制器零点的过程与上述增加极点的过程完全类似。同样,这里增加的实际上是一对共轭的零点。图8.29显示了对控制器加入一对极点和一对零点的情况。,图8.29 分别增加一对控制器零点和极点,增加新的控制器零极点后,如果系统的阶跃响应变得不稳定,则表示当前的控制器增益过大,同时可以观察到部分闭环极点(红色小方块)位于根轨迹图的右半平面,可以通过将根轨迹图右半平面中的红色小方块移到左半平面来降低控制器的增益,这通过拖动鼠标就可以轻松实现。在这个例子中,增加控制器零极点后的系统响应仍然保持稳定,但是系统的稳定时间仍然不满足设计要求。,读者大概已经了解到,采用Bod
38、e图或者根轨迹图进行控制器(补偿器)的设计过程实际上是一个反复试凑的过程。我们可以通过调整增益大小,拖动改变控制器零极点的位置来进行控制器参数的调整,直到闭环系统的动态特性满足系统的设计要求。当然,为了减少控制器参数调整的盲目性,事先我们可以通过系统性能指标的经验公式以及极点配置方法大致确定控制器的零极点位置和增益的大小。,在这个例子中,如果选取-110140i处的一对极点和-70270i处的零点,同时将控制器的增益设置为23.3,所设计的控制器可以满足系统的设计要求。闭环系统的阶跃响应曲线如图8.30所示。,图8.30 满足设计要求的系统闭环响应曲线,8.4.5 系统的阻尼比约束 SISODesignTool提供了约束设计功能,来加快针对系统性能指标的设计过程。例如,如果我们想在根轨迹图中具有指定阻尼比的位置放置一对复数极点,则可以选择快捷菜单中【New】下的【DesignConstrains】命令,系统将弹出NewConstraint设置对话框(如图8.31所示)。,图8.31 New Constraint设置对话框,图8.32 显示0.707阻尼比的根轨迹图,