自动控制试验与matlab讲义

更新时间:2024-01-28 00:23:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验一 线性定常系统动态性能分析

一、实验目的

1. 掌握线性定常系统动态性能指标的测试方法;

2. 研究线性定常系统的参数?(阻尼比)、?n(阻尼自然频率)的变化对其动态性能的影响。 二、实验设备 自动控制试验台 三、实验内容

1. 观测二阶系统的阻尼比分别在01三种情况下的单位阶跃响应曲线,并测量出其超调量和调整时间;

2. 调节二阶系统的开环增益K,使系统的阻尼比??1,测量此时系统的超调量?p、调节时间ts(Δ= ±

20.05);

3. 研究三阶系统的开环增益K,或一惯性环节的时间常数T的变化,对系统动态性能的影响; 4.由实验确定三阶系统稳定的临界K值。 四、实验步骤

1. 二阶系统的瞬态响应

用二阶常微分方程描述的系统,称为二阶系统,其标准形式的闭环传递函数为

C(S)R(S)2闭环特征方程:S?2????n222S?2??nS??n (2-1)

n??n?0

22其解 S1,2????n??n??1,

针对不同的?值,特征根会出现下列三种情况: 1)0

此时,系统的单位阶跃响应呈振荡衰减形式,其曲线如图2-1的(a)所示。它的数学表达式为:

C(t)?1?12e???nt式中?d1????n1??2Sin(?dt??)1??,??tg?1?2。

2)??1(临界阻尼)S1,2???n

此时,系统的单位阶跃响应是一条单调上升的指数曲线,如图2-1中的(b)所示。 3)??1(过阻尼),S1,2????n??n?2?1

此时系统有二个相异实根,它的单位阶跃响应曲线如图2-1的(c)所示。

(a) 欠阻尼(0

图2-1 二阶系统的动态响应曲线

虽然当?=1或?>1时,系统的阶跃响应无超调产生,但这种响应的动态过程太缓慢,故控制工程上常采用欠阻尼的二阶系统,一般取?=0.6~0.7,此时系统的动态响应过程不仅快速,而且超调量也小。

2. 二阶系统的典型结构

典型的二阶系统结构方框图和模拟电路图如2-2、如2-3所示。

图2-2 二阶系统的方框图

已知传递函数为:

G(s)?25s?4s?252

利用以下MATLAB命令可得阶跃响应曲线如图14所示。

图14 MATLAB绘制的响应曲线

>> num=[0,0,25]; den=[1,4,25];

step(num,den)

grid % 绘制网格线。

title(1Unit-Step Response of G(s)=25/(s^2+4s+25) 1) % 图像标题 我们还可以用下面的语句来得出阶跃响应曲线 >> G=tf([0,0,25],[1,4,25]);

t=0:0.1:5; % 从0到5每隔0.1取一个值。 c=step(G,t); % 动态响应的幅值赋给变量c

plot(t,c) % 绘二维图形,横坐标取t,纵坐标取c。 Css=dcgain(G) % 求取稳态值。

系统显示的图形类似于上一个例子,在命令窗口中显示了如下结果

Css= 1

(3)求阶跃响应的性能指标

MATLAB提供了强大的绘图计算功能,可以用多种方法求取系统的动态响应指标。我们首先介绍一种最简单的方法――游动鼠标法。对于例16,在程序运行完毕后,用鼠标左键点击时域响应图线任意一点,系统会自动跳出一个小方框,小方框显示了这一点的横坐标(时间)和纵坐标(幅值)。按住鼠标左键在曲线上移动,可以找到曲线幅值最大的一点――即曲线最大峰值,此时小方框中显示的时间就是此二阶系统的峰值时间,根据观察到的稳态值和峰值可以计算出系统的超调量。系统的上升时间和稳态响应时间可以依此类推。这种方法简单易用,但同时应注意它不适用于用plot()命令画出的图形。

另一种比较常用的方法就是用编程方式求取时域响应的各项性能指标。与上一段介绍的游动鼠标法相比,编程方法稍微复杂,但通过下面的学习,读者可以掌握一定的编程技巧,能够将控制原理知识和编程方法相结合,自己编写一些程序,获取一些较为复杂的性能指标。

通过前面的学习,我们已经可以用阶跃响应函数step( )获得系统输出量,若将输出量返回到变量y中,可以调用如下格式

[y,t]=step(G) (27)

该函数还同时返回了自动生成的时间变量t,对返回的这一对变量y和t的值进行计算,可以得到时域性能指标。

① 峰值时间(timetopeak)可由以下命令获得:

[Y,k]=max(y); (28) timetopeak=t(k) (29)

应用取最大值函数max()求出y的峰值及相应的时间,并存于变量Y和k中。然后在变量t中取出峰值时间,并将它赋给变量timetopeak。

② 最大(百分比)超调量(percentovershoot)可由以下命令得到:

C=dcgain(G);

[Y,k]=max(y); (30) percentovershoot=100*(Y-C)/C (31)

dcgain( )函数用于求取系统的终值,将终值赋给变量C,然后依据超调量的定义,由Y和C计算出百分比超调量。

③ 上升时间(risetime)可利用MATLAB中控制语句编制M文件来获得。首先简单介绍一下循环语句while的使用。

while循环语句的一般格式为:

while<循环判断语句> 循环体 end

其中,循环判断语句为某种形式的逻辑判断表达式。

当表达式的逻辑值为真时,就执行循环体内的语句;当表达式的逻辑值为假时,就退出当前的循环体。如果循环判断语句为矩阵时,当且仅当所有的矩阵元素非零时,逻辑表达式的值为真。为避免循环语句陷入死循环,在语句内必须有可以自动修改循环控制变量的命令。

要求出上升时间,可以用while语句编写以下程序得到: C=dcgain(G); n=1;

while y(n)

risetime=t(n)

在阶跃输入条件下,y 的值由零逐渐增大,当以上循环满足y=C时,退出循环,此时对应的时刻,即为上升时间。

对于输出无超调的系统响应,上升时间定义为输出从稳态值的10%上升到90%所需时间,则计算程序如下: C=dcgain(G); n=1;

while y(n)<0.1*C n=n+1; end m=1;

while y(n)<0.9*C m=m+1; end

risetime=t(m)-t(n)

④ 调节时间(setllingtime)可由while语句编程得到: C=dcgain(G);

i=length(t);

while(y(i)>0.98*C)&(y(i)<1.02*C) i=i-1; end

setllingtime=t(i)

实验二 系统频率特性测量实验目的

一、实验目的

掌握如何使用 Matlab 进行系统的稳定性分析实验原理

根据Matlab控制系统常用函数编写出仿真程序,也可以根据SIMULINK完成实验 二、实验设备 同实验一。 三、实验内容

1.代数法稳定性判据:(用求分母多项式的根和 Routh 函数两种方法)

已知系统的开环传递函数为:

试对系统闭环判别其稳定性

2.Nyquist、Bode 图法判断系统稳定性:

已知两个单位负反馈系统的开环传递函数分别为:

用 nyquist,Bode 图法判断系统闭环的稳定性。

3.求出(2)中G1的穿越频率,设为f1。选择用不同的采样率将其离散化,f=f1,2*f1,5*f1绘制出不同情况下系统的频率响应曲线,包括 Bode 图和 Nyquist 图,并求出幅值裕度和相角裕度。观察不同采样率的影响。

四、实验步骤

1. 线性系统稳定性分析

线性系统稳定的充要条件是系统的特征根均位于S平面的左半部分。系统的零极点模型可以直接被用来判断系统的稳定性。另外,MATLAB语言中提供了有关多项式的操作函数,也可以用于系统的分析和计算。 (1)直接求特征多项式的根

设p为特征多项式的系数向量,则MATLAB函数roots()可以直接求出方程p=0在复数范围内的解v,该函数的调用格式为:

v=roots(p) (13)

例10 已知系统的特征多项式为: x5?3x3?2x2?x?1 特征方程的解可由下面的MATLAB命令得出。 >> p=[1,0,3,2,1,1]; v=roots(p) 结果显示: v = 0.3202 + 1.7042i 0.3202 - 1.7042i -0.7209 0.0402 + 0.6780i 0.0402 - 0.6780i

利用多项式求根函数roots(),可以很方便的求出系统的零点和极点,然后根据零极点分析系统稳定性和其它性能。

(2)由根创建多项式

如果已知多项式的因式分解式或特征根,可由MATLAB函数poly()直接得出特征多项式系数向量,其调用格式为:

p=poly(v) (14)

如上例中:

v=[0.3202+1.7042i;0.3202-1.7042i;

-0.7209;0.0402+0.6780i; 0.0402-0.6780i];

>> p=poly(v)

结果显示

p =

1.0000 -0.0000 3.0000 2.0000 1.0000 1.0000 由此可见,函数roots()与函数poly()是互为逆运算的。 (3)多项式求值

在MATLAB 中通过函数polyval()可以求得多项式在给定点的值,该函数的调用格式为: polyval(p,v) (15) 对于上例中的p值,求取多项式在x点的值,可输入如下命令:

>> p=[1,0,3,2,1,1];

x=1

polyval(p,x) 结果显示 ans =

8

(4)部分分式展开 考虑下列传递函数:

M(s)N(s)?numden?b0s?b1sa0s?a1snnn?1n?1?????bn?????an

式中a0?0,但是ai和bj中某些量可能为零。 MATLAB函数可将

M(s)N(s)展开成部分分式,直接求出展开式中的留数、极点和余项。该函数的调用格式为:

?r,p,k??residue(num,den) (16) M(s)N(s)则的部分分式展开由下式给出:

M(s)N(s)?r(1)s?p(1)?r(2)s?p(2)?????r(n)s?p(n)?k(s)

式中p(1)??p1,p(2)??p2,?, p(n)??pn,为极点,

r(1)??r1,r(2)??r2,?, r(n)??rn为各极点的留数,k(s)为余项。

例11 设传递函数为: G(s)?2s?5s?3s?6s?6s?11s?63232

该传递函数的部分分式展开由以下命令获得:

>> num=[2,5,3,6];

den=[1,6,11,6];

[r,p,k]=residue(num,den) 命令窗口中显示如下结果

r= p= k= -6.0000 -3.0000 2 -4.0000 -2.0000

3.0000 -1.0000

中留数为列向量r,极点为列向量p,余项为行向量k。

由此可得出部分分式展开式:

G(s)??6s?3??4s?2?3s?1?2

该函数也可以逆向调用,把部分分式展开转变回多项式

M(s)N(s)之比的形式,命令格式为:

[num,den]=residue(r,p,k) (17) 对上例有:

>> [num,den]=residue(r,p,k) 结果显示 num=

2.0000 5.0000 3.0000 6.0000

den=

1.0000 6.0000 11.0000 6.0000

应当指出,如果p(j)=p(j+1)=?=p(j+m-1),则极点p(j)是一个m重极点。在这种情况下,部分分式展开式将包括下列诸项:

r(j)s?p(j)?r(j?1)?????r(j?m?1)?s?2p(j)?2?s?2p(j)?m

例12 设传递函数为: G(s)?s?2s?3(s?1)3?s?2s?3s?3s?3s?132

则部分分式展开由以下命令获得: >> v=[-1,-1,-1] num=[0,1,2,3];

den=poly(v);

[r,p,k]=residue(num,den) 结果显示

r=

1.0000 0.0000

2.0000 p=

-1.0000 -1.0000 -1.0000 k=

[ ]

其中由poly()命令将分母化为标准降幂排列多项式系数向量den, k=[]为空矩阵。 由上可得展开式为: G(s)?1s?1?0(s?1)2?2(s?1)3?0

(5)由传递函数求零点和极点。

在MATLAB控制系统工具箱中,给出了由传递函数对象G求出系统零点和极点的函数,其调用格式分别为:

Z=tzero(G) (18)

P=G.P{1} (19)

注意:式19中要求的G必须是零极点模型对象,且出现了矩阵的点运算“.”和大括号{}表示的矩阵元素,详细内容参阅后面章节。

例13 已知传递函数为: G(s)?6.8s?61.2s?95.2s?7.5s?22s?19.5s4322

输入如下命令:

num=[6.8,61.2,95.2]; den=[1,7.5,22,19.5,0]; G=tf(num,den); G1=zpk(G);

Z=tzero(G) P=G1.P{1}

结果显示 Z =

-7

-2 P =

0

-3.0000 + 2.0000i

-3.0000 - 2.0000i -1.5000

其结果与例8完全一致。

(6)零极点分布图。

在MATLAB中,可利用pzmap()函数绘制连续系统的零、极点图,从而分析系统的稳定性,该函数调用

格式为:

pzmap(num,den) (20) 例 14 给定传递函数:

G(s)?3s?2s?5s?4s?6s?3s?4s?2s?7s?25432432

利用下列命令可自动打开一个图形窗口,显示该系统的零、极点分布图,如图13所示。 >> num=[3,2,5,4,6]; den=[1,3,4,2,7,2];

pzmap(num,den)

title(1Pole-Zero Map1) % 图形标题。

2. 系统动态特性分析。

(1)时域响应解析算法――部分分式展开法。

用拉氏变换法求系统的单位阶跃响应,可直接得出输出c(t)随时间t变化的规律,对于高阶系统,输出的拉氏变换

图13 MATLAB函数零、极点分布图

(21)

对函数c(s)进行部分分式展开,我们可以用num,[den,0]来表示c(s)的分子和分母。 例 15 给定系统的传递函数: G(s)?G(s)s 象函数为:

C(s)?Gs?7s?24s?24s?10s?35s?50s?2443232

用以下命令对进行部分分式展开。

>> num=[1,7,24,24]

den=[1,10,35,50,24]

[r,p,k]=residue(num,[den,0])

输出结果为

r= p= k=

-1.0000 -4.0000 [ ]

2.0000 -3.0000 -1.0000 -2.0000

-1.0000 -1.0000

1.0000 0

输出函数c(s)为: C(s)??1s?4?2s?3?1s?2?1s?1?1s?0

拉氏变换得:

c(t)??e?4t?2e?3t?e?2t?e?t?1

3、用MATLAB作奈魁斯特图。

控制系统工具箱中提供了一个MATLAB函数nyquist( ),该函数可以用来直接求解Nyquist 阵列或绘制奈氏图。当命令中不包含左端返回变量时,nyquist()函数仅在屏幕上产生奈氏图,若开环系统的奈氏图不包含(-1,0),则系统稳定,命令调用格式为:

nyquist(num,den) (51) nyquist(num,den,w) (52)

或者

nyquist(G) (53) nyquist(G,w) (54) 该命令将画出下列开环系统传递函数的奈氏曲线: G(s)?num(s)den(s)

如果用户给出频率向量w,则w包含了要分析的以弧度/秒表示的诸频率点。在这些频率点上,将对系统的频率响应进行计算,若没有指定的w向量,则该函数自动选择频率向量进行计算。

对于式43和45用户不必给定频率向量,系统会自动选择频率向量进行计算。式44和46需要用户给出率向量w。w包含了用户要分析的以弧度/秒表示的诸频率点,MATLAB会自动计算这些点的频率响应。

当命令中包含了左端的返回变量时,即:

[re,im,w]=nyquist(G) (55) 或

[re,im,w]=nyquist(G,w) (56)

函数运行后不在屏幕上产生图形,而是将计算结果返回到矩阵re、im和w中。矩阵re和im分别表示频率响应的实部和虚部,它们都是由向量w中指定的频率点计算得到的。

在运行结果中,w数列的每一个值分别对应re、im数列的每一个值。 例20 考虑二阶典型环节: G(s)?1s?0.8s?12

试利用MATLAB画出奈氏图。

利用下面的命令,可以得出系统的奈氏图,如图19所示。

>> num=[0,0,1];

den=[1,0.8,1]; nyquist(num,den) % 设置坐标显示范围 v=[-2,2,-2,2]; axis(v) grid

title(′Nyquist Plot of G(s)=1/(s^2+0.8s+1) ′)

(3)用MATLAB作伯德图

控制系统工具箱里提供的bode()函数可以直接求取、绘制给定线性系统的伯德图。

当命令不包含左端返回变量时,函数运行后会在屏幕上直接画出伯德图。如果命令表达式的左端含有返回变量,bode()函数计算出的幅值和相角

图19 二阶环节奈氏图

将返回到相应的矩阵中,这时屏幕上不显示频率响应图。命令的调用格式为:

[mag,phase,w]=bode(num,den) (57)

[mag,phase,w]=bode(num,den,w) (58) 或

[mag,phase,w]=bode(G) (59)

[mag,phase,w]=bode(G,w) (60)

矩阵mag、phase包含系统频率响应的幅值和相角,这些幅值和相角是在用户指定的频率点上计算得到的。用户如果不指定频率w,MATLAB会自动产生w向量,并根据w向量上各点计算幅值和相角。这时的相角是以度来表示的,幅值为增益值,在画伯德图时要转换成分贝值,因为分贝是作幅频图时常用单位。可以由以下命令把幅值转变成分贝:

magdb=20﹡log10(mag) (61)

绘图时的横坐标是以对数分度的。为了指定频率的范围,可采用以下命令格式:

logspace(d1,d2) (62) 或

logspace(d1,d2,n) (63) 公式(62)是在指定频率范围内按对数距离分成50等分的,即在两个十进制数?1?10d1和 ?2?10d2之间产生一个由50个点组成的分量,向量中的点数50是一个默认值。例如要在?1?0.1弧度/秒与?2?100弧度/秒之间的频区画伯德图,则输入命令时,d1?log成50个频率点,返回到工作空间中,即

w=logspace(-1,2)

要对计算点数进行人工设定,则采用公式(63)。例如,要在?1?1与?2?1000之间产生100个对数等分点,可输入以下命令:

w=logspace(0,3,100)

在画伯德图时,利用以上各式产生的频率向量w,可以很方便地画出希望频率的伯德图。

10(?1),d2?log10(?2)在此频区自动按对数距离等分

由于伯德图是半对数坐标图且幅频图和相频图要同时在一个绘图窗口中绘制,因此,要用到半对数坐标绘图函数和子图命令。

(1) 对数坐标绘图函数

利用工作空间中的向量x,y绘图,要调用plot函数,若要绘制对数或半对数坐标图,只需要用相应函数名取代plot即可,其余参数应用与plot完全一致。命令公式有:

semilogx(x,y,s) (64)

上式表示只对x轴进行对数变换,y轴仍为线性坐标。

semilogy(x,y,s) (65) 上式是y轴取对数变换的半对数坐标图。

Loglog(x,y,s) (66)

上式是全对数坐标图,即x轴和y 轴均取对数变换。 (2) 子图命令

MATLAB允许将一个图形窗口分成多个子窗口,分别显示多个图形,这就要用到subplot()函数,其调用格式为:

subplot(m,n,k)

该函数将把一个图形窗口分割成m×n个子绘图区域,m为行数,n为列数,用户可以通过参数k调用各子绘图区域进行操作,子图区域编号为按行从左至右编号。对一个子图进行的图形设置不会影响到其它子图,而且允许各子图具有不同的坐标系。例如,subplot(4,3,6)则表示将窗口分割成4×3个部分。在第6部分上绘制图形。 MATLAB最多允许9×9的分割。

例21 给定单位负反馈系统的开环传递函数为: G(s)?试画出伯德图。

利用以下MATLAB程序,可以直接在屏幕上绘出伯德图如图20。 >> num=10*[1,1];

den=[1,7,0]; bode(num,den)

grid

title(′Bode Diagram of G(s)=10*(s+1)/[s(s+7)] ′)

10(s?1)s(s?7)

该程序绘图时的频率范围是自动确定的,从0.01弧度/秒到30弧度/秒,且幅值取分贝值,?轴取对数,图形分成2个子图,均是自动完成的。

图20 自动产生频率点画出的伯德图

值转化为分贝值。

% 第一个图画伯德图幅频部分。 subplot(2,1,1);

semilogx(w,magdB, ′-r′) % 用红线画 grid

title(′Bode Diagram of G(s)= 10*(s+1)/[s(s+7)] ′) xlabel(1Frequency(rad/s)1) ylabel(1Gain(dB)1)

% 第二个图画伯德图相频部分。 subplot(2,1,2);

semilogx(w,phase, 1-r1); grid

xlabel(1Frequency(rad/s)1) ylabel(′Phase(deg) ′)

如果希望显示的频率范围窄一点,则程序修改为:

>>

num=10*[1,1];

den=[1,7,0];

w=logspace

(-1,2,50); % 从0.1至100,取50个点。

[mag, phase,

w]=bode(num, den, w);

magdB=20*l

og10(mag) % 增益

修改程序后画出的伯德图如21所示。

4. 用MATLEB求取稳定裕量

同前面介绍的求时域响应性能指标类似,由MATLAB里bode()函数绘制的伯德图也可以采用游动鼠标法求取系统的幅值裕量和相位裕量。例如,我们可以在图20的幅频曲线上按住鼠标左键游动鼠标,找出纵坐标(Magnitude)趋近于零的点,从提

图21 用户指定的频率点画出的伯德图

示框图中读出其频率约为7.25dB。然后在相频曲线上用同样的方法找到横

坐标(Frequence)最接近7.25dB的点,可读出其相角为-53.9度,由此可得,此系统的相角裕量为126.1度。幅值裕量的计算方法与此类似。

此外,控制系统工具箱中提供了margin()函数来求取给定线性系统幅值裕量和相位裕量,该函数可以由下面格式来调用:

[Gm, Pm, Wcg, Wcp]=margin(G); (67)

可以看出,幅值裕量与相位裕量可以由LTI对象G求出,返回的变量对(Gm, Wcg)为幅值裕量的值与相应的相角穿越频率,而(Pm, Wcp)则为相位裕量的值与相应的幅值穿越频率。若得出的裕量为无穷大,则其值为Inf,这时相应的频率值为NaN(表示非数值),Inf和NaN均为MATLAB软件保留的常数。

如果已知系统的频率响应数据,我们还可以由下面的格式调用此函数。 [Gm, Pm, Wcg, Wcp]=margin(mag, phase, w);

其中(mag, phase, w)分别为频率响应的幅值、相位与频率向量。

实验三 连续系统的频率法串联校正

频率法串联校正,主要是根据工程上提出的频率指标?,?c ,Kg等,在频率特性曲线上进行计算测量,最终得出欲增加的校正装置的功能,然后验证校正后的实际结果,经过反复调整,直至满意为止。

本实验的校正原理已在前面章节介绍,理论计算过程可以由读者自己完成。本节只通过对校正前后系统性能的测量,来进一步体会串联校正的实际效果。

1. 实验目的

(1)加深理解串联校正装置对系统动态性能的校正作用。

(2)对给定系统进行串联校正设计,并通过模拟实验检验设计的正确性。 2. 试验设备

自动控制系统试验台

3. 实验内容

对于给定的单位反馈闭环系统如图52 ,其对应的开环传递函数为:

Gk?Ks(Ts?1)

其中 K?K1K2K3

(1) 串联超前校正 系统的模拟电路图如图53 所示,图中开关S断开时对应校正前的系统,当S接通时串入超前校正环节。

图52 原闭环系统结构图

取原系统电路元件数

为:

R1?100K,C1?1?f,

R2?R3?200K,,

C3?0.1?f 图53 模拟电路图

R?300K5K1?1R1C1?10,有

,

K2?R2?R3R1?4,K3?R5R1?3,T?R5C3?0.03

则当S断开时,原系统开环传递函数为: Gk(s)?120s(0.03s?1)

由下列MATLAB命令给出校正前系统的频域指标。 4. 实验步骤

>> G=tf (120, [0.03,1,0]) ;

[Gm,Pm,Wcg,Wcp]=margin(G) 结果显示

Gm = Pm = Wcg = Wcp = Inf 29.4646 Inf 59.0015 由显示结果得,前校正系统的频域指标为:?=29.5?,?c=59.0rad/sec。 当S开关闭合时,串入有源超前校正装置Gc(s),对应结构图如图54。

Gc(s)?K2TT 其

图54 串联超前校正系统结构图

K2?中R2?R3R1:

,T1?R4C2,T2?(R2R3R2?R3?R4)C2

选取R4?100K,C2?0.1?f

由以下MATLAB命令绘出校正前后开环系统Bode图如图55,在串联超前校正作用下,将超前角叠加在原系统?c附近,使校正后的系统?'=44.3,?c=71.8 rad/sec 。

>> G=tf (120,[0.03,1,0]); %校正前模型。

Gc=tf ([0.02,1], [0.01,1]);

G_0=Gc*G; %校正后模型。

bode(G) %校正前伯德图采用默认画法。 grid hold

bode(G_0, ':' ) %校正后伯德图用虚线画。 [Gm,Pm,Wcg,Wcp]=margin(G_0)

结果显示

Gm = Pm = Wcg = Wcp =

Inf 44.3717 Inf 71.8021

可见,系统的相角裕量由29.5增加到44.3,幅值穿越频率由59.0 rad/sec增加到71.8rad/sec,系统的性能有了明显的提高。

?oo'

(2)串联滞后校正

仍对上述图53系统进行串联滞后校正,校

图55 串联超前校正前后系统的伯德图

开关闭合后,串入滞后校正装置Gc(s),对应模拟电路图如图56所示。

Gc(s)?K2T2s?1T1s?1?4?0.75s?13s?1正前原系统不变。当S

其中:K2?R2?R3R1,T1?R3C2,T2?R2R3R2?R3C2

取 R2?100K,R3?300K,C2?10?f

利用下列MATLAB命令将系统校正前后的Bode图绘于图57 。 >> G=tf (120, [0.03, 1, 0]); %校正前模型。 Gc=tf ([0.75, 1], [3, 1]);

G_0=Gc*G; %校正后模型。

bode (G) %校正前伯德图采用默认画法。 grid hold

bode(G_0, ':' ) %校正后伯德图用虚线画。 [Gm,Pm,Wcg,Wcp]=margin(G_0)

结果显示

Gm = Pm = Wcg = Wcp =

Inf 51.5713 Inf 24.2824

可见,系统的相角裕度增加到51.6,幅值穿越频率却减小到?c=24.3 rad/dec,这种技术导致系统响应

?'速度有所降低。

图57 串联滞后校正前后系统的伯德图

2. 实验步骤:

(1) 在电子模拟学习机上按实验线路连接好模拟电路。

(2) 按实验一图33 的方法,连接好信号源和测试仪器。

(3) 输入阶跃信号,测量校正前系统阶跃响应,在表4中记录所测的指标?%,tp,ts及阶跃响应

波形。

(4) 闭合开关S,将超前(或滞后)校正装置串入系统,重复上面(3)的测量步骤并记录。 3. 实验报告

(1) 画出原系统及各校正环节的模拟线路图及校正前后系统的闭环结构图,记录测试数据及响应波

形。

(2) 写出校正后系统的开环传递函数,并画出渐近线形式的伯德图,计算?,?c(3) 比较校正前后系统的阶跃响应曲线及性能指标,说明校正装置的作用。

''。

附: 采用Simulink仿真工具得出的校正前后的仿真模块图及输出波形分别如图58、59、60所示。

(a) 仿真模块 (b) 阶跃响应曲线

(a) 仿真模块 图 58

校正前实验系统 (b) 阶跃响应曲线 图59 超前校正实验图

(a) 仿真模块 (b)阶跃响应曲线

图60 滞后校正实验图

表4校正测试记录 系 指 统 校正前 超前校正后 滞后校正后 标 阶跃响应曲线 串联

?% tp ts

5、结果仿真

1 比例(P)校正(Proportion Compensation) 图6-1为一随动系统框图,图中

为随动系统的固有部分。

其开环传递函数为:

若其中K1=35,T1=0.2s,T2=0.01s。设KC=0.5,图6-2为比例校正对系统性能的影响。

图6-1 具有比例校正的系统框图

图6-2 比例校正对系统性能的影响

若采用SIMULINK软件对系统进行仿真分析,结果如下图所示:

对应

位阶跃响应曲线

的单对应

阶跃相响应曲线

的单位

降低系统增益后:

①使系统的相对稳定性改善,超调量下降,振荡次数减少。 ②增益降低为原来的1/2,系统的稳态精度变差。

综上所述:降低增益,将使系统的稳定性改善,但使系统的稳态精度变差。当然,若增加增

益,系统性能变化与上述相反。调节系统的增益,在系统的相对稳定性和稳态精度之间作某种折衷的选择,以满足(或兼顾)实际系统的要求,是最常用的调整方法之一

2 比例-微分(PD)校正(Proportional-Derivative Compensation)(相位超前校正)

图6-4 具有比例微分(PD)校正的系统框图

设Kc=1(为避开增益改变对系统性能的影响),同样为简化起见,这里的微分时间常数取τ=T1=0.2s,这样,系统的开环传递函数变为:

其对数频率特性曲线(伯德图)如图6-5所示。

图6-5 比例微分校正对系统性能的影响

同理,可以应用MATLAB软件,求取校正后系统的单位阶跃响应曲线,如图6-6所示。

图6-6 对应的开环传递函数为:的单位负反馈系统的单位阶跃响应曲线

结论:增设PD校正装置后:

①比例微分环节使相位超前的作用,可以抵消惯性环节使相位滞后的不良后果,使系统的稳定性显著改善。

②使穿越频率ωc提高(由13.5rad/s提高到35rad/s),从而改善了系统的快速性,使调整时间减少(因ωc↑→ts↓)。调整时间ts由2.5秒→0.1秒。 ③比例微分调节器使系统的高频增益增大,而很多干扰信号都是高频信号,因此比例微分校正容易引入高频干扰,这是它的缺点。

④比例微分校正对系统的稳态误差不产生直接的影响。

综上所述,比例微分校正将使系统的稳定性和快速性改善,但抗高频干扰能力明显下降。由于PD校正使系统的相位

前移,所以又称它为相位超前校正。

3 比例-积分(PI)校正(Proportional Integral Compensation)(相位滞后校正)

图6-7 具有比例积分(PI)校正的系统框图

现设K1=3.2,T1=0.33s,T2=0.036s,系统固有部分的传递函数为:

如今为实现无静差,可在系统前向通路中,功率放大环节前,增设速度调节器,其传递函数为:

为了使分析简明起见,今取Tc=T1=0.33s。为了简明起见,取Kc接近于1,今取Kc=1.3。

校正后的传递函数为:

结论:

由以上分析可见,PI校正使系统稳态性能改善,但稳定性变差。增设PI校正装置后: ① 在低频段,系统的稳态误差将显著减小,从而改善了系统的稳态性能。

② 在中频段,相位稳定裕量减小,系统的超调量将增加,降低了系统的稳定性。 ③ 在高频段,校正前后的影响不大。

综上所述,比例积分校正将使系统的稳态性能得到明显的改善,但使系统的稳定性变差。 由于PI校正使系统的相位

后移,所以又称它为相位滞后校正。

【例6-1】 应用MATLAB软件,分析采用PI调节器对上列系统性能的影响。

a)校正前

b)校正后

图6-9 比例积分(PI)校正对系统性能的影响

【例6-2】在如图6-7所示的系统中,若固有部分的传递函数(对应随动系统)为:

如今要求对斜坡信号输入为无静差,希望将系统校正成Ⅱ型系统(前向通路含两个积分环节),欲采用PI校正,并设PI调节器传递函数Gc(s)为:

试分析PI校正对系统性能的影响。 解:校正后,系统的开环传递函数为:

应用MATLAB软件分析,得到校正前后系统的单位阶跃响应曲线如图6-10a、b所示。a为Ⅰ型系统,b为Ⅱ型系统,它们对阶跃响应均为无静差。

b) 校正后

a) 校正前

结论:

比例微分校正能改善系统的动态性能,但使高频抗干扰能力下降;比例积分校正能改善系统的稳态性能,但使动态性能变差;为了能兼得二者的优点,又尽可能减少两者的副作用,常采用比例-积分-微分(PID)校正。

4 比例-积分-微分(PID)校正(ProportionalIntegralDerivative Compensation)(相位滞后-超前校正)

将此随动系统中固有部分合并后如下图所示:

图6-11 具有比例积分微分(PID)校正的系统框图 常用的办法就是采用PID校正,今设PID调节器的传递函数为:

于是校正后的系统的开环传递函数为:

设T1=Tm=0.2s,并且为了使校正后的系统有足够的相位裕量,今取T2=10Tx=10×0.01s=0.1s,Kc=2。现将以上参数代入各传递函数式,并画出对应的对数频率特性曲线(伯德图)如图6-12所示。

图6-12 比例积分微分(PID)校正对系统性能的影响

(1) 系统固有部分的伯德图 图中曲线Ⅰ为系统的固有部分的伯德图,固有部分的传递函数为:

(2) 校正装置的伯德图 图中曲线Ⅱ为PID调节器的伯德图。PID调节器的传递函数为:

+Ⅱ。

校正后的系统的传递函数为:

(3) 校正后系统的伯德图 图中曲线Ⅲ为校正后系统的伯德图。图中曲线Ⅲ为曲线Ⅰ和Ⅱ的叠加,即Ⅲ=Ⅰ

结论:

增设PID校正装置后:

① 在低频段,改善了系统的稳态性能。使对输入等速信号由有静差变为无静差)。

② 在中频段 由于PID调节器微分部分的作用,(进行相位超前校正),使系统的相位裕量增加,这意味着超调量减小,振荡次数减少,从而〖HTH〗改善了系统的动态性能(相对稳定性和快速性均有改善)。

③ 在高频段,会降低系统的抗高频干扰的能力。

同理,可应用MATLAB软件对系统性能进行分析,图6-13a、b、c、d为应用SIMULINK模块进行仿真分析得到的校正前、后系统的单位阶跃响应曲线和单位斜坡响应曲线。

b)

a)校正前(阶跃响应)

(注意:横轴为a图1/5)

校正后(阶跃响应)

c)校正前(斜坡响应)

d)校正前(斜坡响应)

(注意:纵、横轴均为c图1/3) 图6-13 PID校正对系统性能的影响

综上所述,比例积分微分(PID)校正兼顾了系统稳态性能和动态性能的改善,由于PID校正使系统在低频段相位后移,而在中、高频段相位前移,因此又称它为相位滞后—超前校正。

本文来源:https://www.bwwdw.com/article/thnw.html

Top