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

本文详细探讨了控制系统中稳定性与稳态误差的关系,包括原理性误差和实际性误差的分类。实验通过分析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
### 计算机控制系统中的稳态误差分析 #### 稳态误差的概念及其重要性 稳态误差是指当系统达到稳定状态后,实际输出与期望输出之间的差异。对于计算机控制系统而言,这种误差不仅取决于系统的结构和参数,还受到外部输入以及内部量化等因素的影响[^2]。 #### 影响因素 - **系统构造**:包括放大系数、积分环节等在内的系统组件决定了固有的原理误差。 - **外界输入作用**:不同的输入信号模式会对最终的稳态表现造成影响。 - **元件精度限制**:特别是在涉及模拟到数字转换(A/D)及反向过程(D/A),有限的字长可能导致额外的量化误差。 #### 分析前提条件 为了有效开展稳态误差分析,首要前提是确认目标控制系统已经进入了一个稳定的运行状况之下。这意味着所有的瞬态响应都已经衰减完毕,而剩下的仅仅是长期存在的偏差部分[^1]。 #### MATLAB/Simulink的应用实例 利用MATLAB/Simulink平台可以方便地构建各种类型的控制回路,并对其进行仿真实验以评估不同条件下可能出现的稳态误差情况。例如,在处理线性定常系统时,可以通过设定特定的阶跃输入来观察输出随时间变化的趋势直至趋于平稳;此时记录下来的末端偏离程度即代表了所谓的“稳态误差”。 ```matlab % 创建一个简单的PI控制器用于减少稳态误差的例子 s = tf('s'); Gp = 1/(s*(s+1)); % 被控对象传递函数 Cpi = pidstd(1, 5); % PI 控制器设置 T = feedback(Cpi*Gp, 1); step(T) title('Step Response with PI Controller') ``` 此代码片段展示了如何创建一个具有PI(比例积分)特性的控制器并与给定的过程模型组合起来形成闭环体系。通过执行`step()`命令可直观看到加入补偿机制前后响应曲线的变化趋势,进而帮助理解PI调节是如何改善甚至消除静态偏移现象的[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值