【自动控制原理仿真实验】 稳定性及稳态误差实验(实验三)

本文详细探讨了控制系统中稳定性与稳态误差的关系,包括原理性误差和实际性误差的分类。实验通过分析0型、I型、II型二阶系统在不同输入信号下的稳态误差,揭示了系统开环增益和无差度对误差的影响。此外,还讨论了扰动对稳态误差的贡献,并提出了通过给定输入补偿和扰动输入补偿来减少误差的方法。MATLAB代码示例展示了这些理论在实际系统中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实验要求

自行设计控制系统,研究以下几个问题:

1.控制系统特征方程与稳定性的关系;

2.分析给定输入的系统稳态误差影响;

3.分析扰动情况下的稳态误差影响;

4.稳态误差减小与消除措施。

二、实验简介

稳态误差的分类

稳态误差按照产生的原因分为原理性误差和实际性误差两类。通常,伺服系统为无静差系统,而自动调节系统为有静差系统。

1.原理性误差

对于无静差系统,无静差性是相对于某种特定形式的输入信号或扰动作用而言的。一个控制系统对于单位阶跃函数(见拉普拉斯变换)的输入信号或扰动作用是无静差的,并不表示它对单位斜坡函数的输入或扰扰动也是无静差的。

对于同时有输入r(t)和扰动n(t)作用的控制系统在系统为渐近稳定(见稳定性)的前提下,原理性误差ess规定为t→∞时控制误差e(t)的值。ess由两部分组成,一部分是由输入信号引起的稳态误差esr,另一部分是由扰动作用引起的稳态误差esn,即ess=esr+esn。用G1(s)、G2(s)、H(s)分别表示系统各部分的传递函数,并令G(s)=G1(s)G2(s)为系统前馈通道的传递函数,则系统稳态误差与系统传递函数间的关系为: τ y x = μ ( ∂ u x ∂ y + ∂ u y ∂ x ) \tau_{y x}=\mu\left(\frac{\partial u_{x}}{\partial y}+\frac{\partial u_{y}}{\partial x}\right) τyx=μ(yux+xuy)

2.实际性误差

系统的组成部件中的不完善因素(如摩擦、间隙、不灵敏区等)所造成的稳态误差。

系统的结构类型 在控制系统的研究中,常常按系统组成中所包含的积分环节的个数对系统进行分类,这对研究不同典型输入作用下系统的稳态误差是很方便的。
系统前馈通道中不包含积分环节时称为0型系统,包含一个积分环节时称为Ⅰ型系统,包含两个积分环节时称为Ⅱ型系统。高于Ⅱ型的系统一般没有实际意义,这种结构的控制系统很难具有满意的过渡过程性能,在工程上几乎不采用。

下图为各型控制系统在三种典型输入信号
(单位阶跃函数1(t)、单位斜坡函数t、单位加速度函数t2)作用下的稳态误差ess,其中K 表示系统的开环增益。
**加粗样式
**

三、实验过程

1.控制系统特征方程与稳定性的关系

对于线性定常系统,在脉冲扰动的作用下,系统的运动随着时间的增长,可以逐渐趋于零态,则称该系统是稳定的。否则系统是不稳定的。

线性系统只有唯一的平衡点,就是系统运动的各阶导数全部为零,包括零阶导数也为零。由于线性定常系统自由运动的微分方程为
d n   d t n [ c ( t ) ] + a n − 1 d n − 1   d t n − 1 [ c ( t ) ] + ⋯ + a 1 d   d t [ c ( t ) ] + a 0 c ( t ) = 0 \frac{\mathrm{d}^{n}}{\mathrm{~d} t^{n}}[c(t)]+a_{n-1} \frac{\mathrm{d}^{n-1}}{\mathrm{~d} t^{n-1}}[c(t)]+\cdots+a_{1} \frac{d}{\mathrm{~d} t}[c(t)]+a_{0} c(t)=0  dtndn[c(t)]+an1 dtn1dn1[c(t)]++a1 dtd[c(t)]+a0c(t)=0
依照平衡点的条件,当 c ( t ) c(t) c(t) 的各阶导数为零时有 a 0 c ( t ) = 0 a_{0} c(t)=0 a0c(t)=0, 故而有
c ( t ) = 0 c(t)=0 c(t)=0
所以,在平衡点邻域, 随着时间的增加,系统的运动 c ( t ) c(t) c(t) 是收敛于该点,还是发散,就是要讨论的线性系统的稳定性分析问题。
在分析控制系统时, 判断一个线性定常系统是否稳定经常使用的方法是求出闭环系统特征方程式所有的根, 然后根据闭环特征根的分布情况来确定系统的稳定性。
对线性系统来说,如果一个线性定常系统的所有闭环特征根都位于复平面左半平面,则该系统是稳定的。线性定常的特征方程式可以表示
a n s n + a n − 1 s n − 1 + ⋯ + a 1 s + a 0 = 0 a_{n} s^{n}+a_{n-1} s^{n-1}+\cdots+a_{1} s+a_{0}=0 ansn+an1sn1++a1s+a0=0

我们可以调用MATLAB 中根据特征多项式求特征根的函数为 **roots( )**来求取特征多项式的根。

2.分析给定输入的系统稳态误差影响

在这里插入图片描述

由: E ( s ) = R ( s ) − C ( s ) = R ( s ) − G e ( s ) R ( s ) = [ 1 − G e ( s ) ] R ( s ) \begin{aligned} E(s) &=R(s)-C(s) \\ &=R(s)-G_{\mathrm{e}}(s) R(s) \\ &=\left[1-G_{\mathrm{e}}(s)\right] R(s) \end{aligned} E(s)=R(s)C(s)=R(s)Ge(s)R(s)=[1Ge(s)]R(s)
所以,误差传递函数为
G E ( s ) = E ( s ) R ( s ) = [ 1 − G c ( s ) ] = 1 − G 0 ( s ) 1 + G o ( s ) = 1 1 + G o ( s ) \begin{aligned} G_{\mathrm{E}}(s) &=\frac{E(s)}{R(s)}=\left[1-G_{\mathrm{c}}(s)\right] \\ &=1-\frac{G_{0}(s)}{1+G_{\mathrm{o}}(s)} \\ &=\frac{1}{1+G_{\mathrm{o}}(s)} \end{aligned} GE(s)=R(s)E(s)=[1Gc(s)]=11+Go(s)G0(s)=1+Go(s)1
式中, G o ( s ) G_{\mathrm{o}}(s) Go(s) 为系统的开环传递函数。
开环传递函数 G 0 ( s ) G_{0}(s) G0(s) 表示为
G o ( s ) = K 0 s ν ⋅ G n ( s ) G_{\mathrm{o}}(s)=\frac{K_{0}}{s^{\nu}} \cdot G_{\mathrm{n}}(s) Go(s)=sνK0Gn(s)
该式由三部分组成: K o K_{\mathrm{o}} Ko 一称为系统的开环增益; 1 s ν \frac{1}{s^{\nu}} sν1 业前向通道积分环节的个数,如图 3 − 54 3-54 354 所示; G n ( s ) G_{n}(s) Gn(s) 零、极点因子的环节增益归一表达式。 开环增益 K o K_{\mathrm{o}} Ko 可以由下式求得
K o = lims ⁡ s → 0 s ν G o ( s ) K_{\mathrm{o}}=\operatorname{lims}_{s \rightarrow 0} s^{\nu} G_{\mathrm{o}}(s) Ko=limss0sνGo(s)
因为
G o ( s ) = K o s ν G n ( s ) G_{\mathrm{o}}(s)=\frac{K_{\mathrm{o}}}{s^{\nu}} G_{\mathrm{n}}(s) Go(s)=sνKoGn(s)
所以
K a G n ( s ) = s ν G 0 ( s ) K_{a} G_{n}(s)=s^{\nu} G_{0}(s) KaGn(s)=sνG0(s)
两边取极限
lim ⁡ s → 0 K 0 G n ( s ) = lims ⁡ s → 0 ν G o ( s ) \lim _{s \rightarrow 0} K_{0} G_{n}(s)=\operatorname{lims}_{s \rightarrow 0}{ }^{\nu} G_{\mathrm{o}}(s) s0limK0Gn(s)=limss0νGo(s)
因为
lim ⁡ s → 0 G n ( s ) = 1 \lim _{s \rightarrow 0} G_{n}(s)=1 s0limGn(s)=1
所以有
K o = lims ⁡ s → 0 ν G o ( s ) K_{\mathrm{o}}=\operatorname{lims}_{s \rightarrow 0}{ }^{\nu} \boldsymbol{G}_{\mathrm{o}}(s) Ko=limss0νGo(s)
对于系统的数学模型作如上的分解,完全是为了系统稳态误差的表达简捷明了与推导计算 方便。所以.一般情况下,先要将系统变换成如上所述的表达形式。 综上所述,控制系统的稳态误差主要由三方面确定:
(1) 输人信号的类型, 即所需跟踪的基准信号,如 δ ( t ) 、 1 ( t ) 、 , 1 2 t 2 \delta(t) 、 1(t) 、, \frac{1}{2} t^{2} δ(t)1(t),21t2 等;
(2) 系统的开环增益 K 0 K_{0} K0, 它可以确定有差系统稳态误差的大小;
(3) 系统的无差度 ν \nu ν,它可以确定能够无差跟踪的信号的阶数。 上述三项因素也称为稳态误差的三要素。

0型二阶系统

在这里插入图片描述
根据终值定理,可以计算出该系统对阶跃、斜坡以及抛物线的稳态误差为:
阶跃响应稳态误差:e0=0.75
斜坡响应稳态误差:e1=∞
抛物线响应稳态误差:e2=∞
在这里插入图片描述

Ⅰ型二阶系统

在这里插入图片描述
设 I型系统的方框图如图所示。根据终值定理,可以计算出该系统对阶跃、斜坡以及抛物线的稳态误差为:
阶跃响应稳态误差: 0
斜坡响应稳态误差: 3
抛物线响应稳态误差:∞
在这里插入图片描述

II 型二阶系统

在这里插入图片描述
设 I型系统的方框图如图2-2-1所示。根据终值定理,可以计算出该系统对阶跃、斜坡以及抛物线的稳态误差为:
阶跃响应稳态误差: 0
斜坡响应稳态误差: 0
抛物线响应稳态误差:0.5

在这里插入图片描述

3.扰动情况下对系统稳态误差的影响

通常控制系统的方框图如图所示。
其中 G1(S),G2(S)为系统前向通道的传递函数,H(S)为其反馈通道的传递函数。N(S)是扰动信号
在这里插入图片描述
可得误差传递函数
在这里插入图片描述
当系统为稳定系统时,由上式可知,系统的误差E(S)不仅与其结构和参数有关,而且也与输入信号N(S)的形式和大小有关。 如果系统稳定, 且误差的终值存在,则可用下列的终值定理求取系统的稳态误差
在这里插入图片描述
逐渐增加G1(s)放大系数,逐渐增加G1(s)中积分环节个数。分别得到所示曲线在这里插入图片描述在这里插入图片描述

4.稳态误差减小与消除措施

通过上述实验我们可以得知,为了减小稳态误差,可增加积分环节个数或提高开环增益。但是系统找中积分换届个数和开环增益过大会破坏系统稳定。参考资料,我们得知通常采用复合控制来对误差进行补偿。我们通过实验来验证两种复合控制的补偿作用。

给输入补偿

在这里插入图片描述
如果要求对误差实行全补偿:
C ( s ) = [ G 1 ( s ) + G r ( s ) ] ⋅ G 2 ( s ) 1 + G 1 ( s ) G 2 ( s ) ⋅ R ( s ) E ( s ) = R ( s ) − C ( s ) = 0 ∴ R ( s ) = C ( s ) ∴ G r ( s ) = 1 G 2 ( s ) \begin{aligned} &C(s)=\left[G_{1}(s)+G_{r}(s)\right] \cdot \frac{G_{2}(s)}{1+G_{1}(s) G_{2}(s)} \cdot R(s) \\ &E(s)=R(s)-C(s)=0 \\ &\therefore R(s)=C(s) \therefore G_{r}(s)=\frac{1}{G_{2}(s)} \end{aligned} C(s)=[G1(s)+Gr(s)]1+G1(s)G2(s)G2(s)R(s)E(s)=R(s)C(s)=0R(s)=C(s)Gr(s)=G2(s)1
采用图3-2中的控制系统,由于实现(s+1)较为困难,因此令。
通过图4-2可知,加入给输入补偿后,系统的稳态误差大幅度减小。
在这里插入图片描述

按扰动输入补偿

如果加于系统的干扰是能测量的,同时干扰 对系统的影响是明确的,则可按干扰补偿的办法办法提高稳态精度。
在这里插入图片描述
在扰动作用下的输出为:
C ( s ) = G 2 ( s ) + G n ( s ) G 1 ( s ) G 2 ( s ) 1 + G 1 ( s ) G 2 ( s ) ⋅ N ( s )  若  G n ( s ) = − 1 / G 1 ( s ) ,  则  C ( s ) = 0 , \begin{aligned} &C(s)=\frac{G_{2}(s)+G_{n}(s) G_{1}(s) G_{2}(s)}{1+G_{1}(s) G_{2}(s)} \cdot N(s) \\ &\text { 若 } G_{n}(s)=-1 / G_{1}(s), \text { 则 } C(s)=0, \end{aligned} C(s)=1+G1(s)G2(s)G2(s)+Gn(s)G1(s)G2(s)N(s)  Gn(s)=1/G1(s),  C(s)=0,
采用图3-2中的控制系统,由于实现较为困难,因此令
在这里插入图片描述

在这里插入图片描述
此时可得图4-4的误差图像,由此图我们可以看出增加扰动补偿后,系统的稳态误差最终减小为0.

附matlab代码:
1.给定输入的系统稳态误差影响

sys1=zpk([],[-3.-1],1);%0型系统
num3=[1];den3=[1];
sys3=tf(num3,den3);
sys=feedback(sys1,sys3);
t=0:0.5:10;
y1=step(sys1,t);
alaph1=1;alaph2=0.5;
ramp1=alaph1*t;ramp2=alaph2*t.^2;
y11=step(sys3,t);
[y2,t]=lsim(sys,ramp1,t);
[y22,t]=lsim(sys3,ramp1,t);
[y3,t]=lsim(sys,ramp2,t);
[y33,t]=lsim(sys3,ramp2,t);
plot(t,y1-y11,t,y22-y2,t,y33-y3)
legend('阶跃输入','斜坡输入','抛物线输入')
grid on

sys1=zpk([],[-3.-1,0],1);%1型系统
num3=[1];den3=[1];
sys3=tf(num3,den3);
sys=feedback(sys1,sys3);
t=0:0.5:10;
y1=step(sys1,t);
alaph1=1;alaph2=0.5;
ramp1=alaph1*t;ramp2=alaph2*t.^2;
y11=step(sys3,t);
[y2,t]=lsim(sys,ramp1,t);
[y22,t]=lsim(sys3,ramp1,t);
[y3,t]=lsim(sys,ramp2,t);
[y33,t]=lsim(sys3,ramp2,t);
plot(t,y1-y11,t,y22-y2,t,y33-y3)
legend('阶跃输入','斜坡输入','抛物线输入')
grid on

sys1=zpk([-2],[0,0],1);%2型系统
num3=[1];den3=[1];
sys3=tf(num3,den3);
sys=feedback(sys1,sys3);
t=0:0.5:10;
y1=step(sys1,t);
alaph1=1;alaph2=0.5;
ramp1=alaph1*t;ramp2=alaph2*t.^2;
y11=step(sys3,t);
[y2,t]=lsim(sys,ramp1,t);
[y22,t]=lsim(sys3,ramp1,t);
[y3,t]=lsim(sys,ramp2,t);
[y33,t]=lsim(sys3,ramp2,t);
plot(t,y1-y11,t,y22-y2,t,y33-y3)
legend('阶跃输入','斜坡输入','抛物线输入')
grid on

num1=[1];den1=[1 1];
num2=[-1];%可取-1-3-5
den2=[1 5];
num3=[1];den3=[1];
sys1=tf(num1,den1) ;
sys2=tf(num2,den2);
sys3=tf(num3,den3);
sys=feedback(sys1,sys2,1)
t=0:0.1:10;
y1=step(sys,t);
y2=step(sys3,t);
plot(t,y1)
hold on
grid on

num1=[1];den1=[1 1];
num2=[-1];
den2=[1 5 ];%可变为012型系统
num3=[1];den3=[1];
sys1=tf(num1,den1) ;
sys2=tf(num2,den2);
sys3=tf(num3,den3);
sys=feedback(sys1,sys2,1)
t=0:0.1:30;
y1=step(sys,t);
y2=step(sys3,t);
plot(t,y1)
hold on
grid on

2.扰动情况下对系统稳态误差的影响

sys1=zpk([],[-2],1);
num3=[1];den3=[1];
num5=[2];den5=[1];
sys5=tf(num5,den5);
sys3=tf(num3,den3);
sys4=feedback(sys1,sys3);
sys=feedback(sys4,sys5,1);
t=0:0.1:10;
y1=step(sys,t);
y2=step(sys4,t);
y11=step(sys3,t);
plot(t,y11-y2,t,y11-y1)
legend('初始','给定输入后')
grid on
### 自动控制原理中二阶系统的稳态误差计算与分析 #### 3.7 稳态误差的概念及其重要性 在自动控制系统中,稳态误差是指当时间趋于无穷大时,系统输出量的实际值与期望值之间的差异。对于线性定常系统,在特定输入信号作用下,如果存在有限的稳态误差,则该误差可以通过调整控制器参数来减小或消除。 #### 3.8 影响因素及分类 影响稳态误差的因素主要包括系统的结构特性、外部扰动以及给定量的变化等。按照引起原因的不同可以分为静态位置误差、速度误差和加速度误差种基本形式[^2]。 #### 3.9 计算方法概述 为了求解二阶系统的稳态误差,通常采用终值定理来进行理论推导: \[ e_{ss}=\lim _{s \rightarrow 0}\left[s E(s)\right]=\frac{\sum b_i}{a_0+\sum a_j s^{j}}|_{s=0}=L^{-1}[E(s)] |_{t=\infty } \] 其中 \(E(s)=R(s)-C(s)\),\( R(s) \) 表示输入拉普拉斯变换后的表达式;而 \( C(s) \) 则代表输出经过相同转换的结果。此公式适用于所有类型的稳定反馈控制系统,并且能够帮助工程师们快速评估不同条件下可能产生的偏差大小。 #### 3.10 实际案例解析 假设有一个典型的欠阻尼二阶系统,其传递函数如下所示: ```matlab G(s)=(ω_n)^2 / ((s^2)+2ζ*ω_n*s+(ω_n)^2) ``` 这里,\( ω_n \) 是自然频率,\( ζ \) 称作相对阻尼系数。针对单位阶跃响应情况下的稳态误差计算过程可简化为: - 对于零型系统 (\( v=0 \)) 和 I 型系统 (\( v=1 \)): 如果是单位斜坡输入,则会有恒定的速度误差; 而对于更高阶次(II 型及以上)的系统来说,即使面对加速变化的目标也能保持无静差运行状态。 因此,在具体应用过程中需要根据不同应用场景选择合适的设计方案以满足精度需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值