自动控制原理实验

这实验挺神秘的其实,有好多地方我都感觉不太对劲,但是鉴于成绩还可以,还是放出来给大家参考一下。

实验一:一、二阶系统的电子模拟及时域响应的动态测试

实验目的

  1. 了解一、二阶系统阶跃响应及其性能指标与系统参数之间的关系。

  2. 学习单位阶跃响应性能指标的测试方法。

实验内容

  1. 建立一阶系统的模型,观测并记录时间常数T不同时的单位阶跃响应曲线,测定其调整时间(即过渡过程时间) ts
  2. 建立二阶系统的数学模型,观测并记录不同阻尼比ζ时的单位阶跃响应曲线,测定其超调量Mp及过渡过程时间ts

实验原理

  1. 一阶系统系统传递函数为:。在实验当中始终取,取不同的时间常数分别为:。记录不同时间常数下单位阶跃响应曲线,测量并纪录其过渡过程时间,给出在时间常数不同时理论计算和实测的以及相应的阶跃响应曲线。

  2. 二阶系统系统传递函数为:

    在实验中始终取弧度/秒,取不同的值、分别为:,观察并画出相应的单位阶跃响应曲线,测量超调量,计算过渡过程时间

实验结果和代码

一阶系统

T Ts理论 Ts实测 误差
0.25 0.75 0.749 0.13%
0.5 0.15 0.15 0
1 3 3 0

误差产生的原因可能有A/D、D/A转换可能会有分辨力约束及量化精度引入的误差。一阶系统的阶跃输入响应是时间的单调函数,其理论的稳态误差为0。而瞬态响应的主要参数是其时间常数越小,上升过程越快,调节时间越短,系统稳定就越迅速。仿真实验的结果与理论分析基本吻合。

实验代码为:

1
2
3
4
5
6
7
8
K=1;
t=0:0.1:10;
Tss=[0.25,0.5,1];
for Ts = xis
sys=tf(K,[Ts,1]);
u=stepfun(t,0);
step(sys);hold on;
end
MATLAB

二阶系统

图中蓝色-橙色-黄色-紫色线条依次是时的单位阶跃响应。

理论(%) 实测(%) 理论 实测
0.25 44.4 44.3 12 10.8
0.5 16.3 16.3 6 5.29
0.707 4.32 4.33 4.24 2.93
1 0 0 3 4.74

对于二阶系统,其阶跃响应主要由阻尼比及无阻尼自然频率决定。随着阻尼比增大,阶跃响应由欠阻尼过渡到临界阻尼再到过阻尼。欠阻尼状态下,阻尼比越大,超调量越小,平稳性越好,而调整时间也随之减短。在阻尼比时,超调量和调整时间都较小,可以认为是比较理想的瞬态响应,称为准最佳系统。当阻尼比增大到1时,阶跃响应成为单调的上升过程,类似于一阶系统。

实验代码:

1
2
3
4
5
6
7
8
omega=1;
t=0:0.1:10;
xis=[0.25,0.5,0.707,1];
for xi = xis
sys=tf(omega*omega,[1,2*xi*omega,omega*omega]);
u=stepfun(t,0);
step(sys);hold on;
end
MATLAB

实验二:频率响应测试

实验目的

  1. 掌握频率特性的测试原理及方法

  2. 学习根据所测定出的系统的频率特性,确定系统传递函数的方法。

实验内容

  1. 测定给定环节的频率特性。

  2. 系统传递函数为: 若正弦输入信号为,则当输出达到稳态时,其输出信号为 。改变输入信号频率值,便可测得二组和(或)变化的数值,这个变化规律就是系统的幅频特性和相频特性。

实验原理

  1. 幅频特性即测量输入与输出信号幅值,并计算比值

  2. 实验采用“李沙育图形” 法进行相频特性的测试。以下简单介绍一下这种测试方法的原 理。设有两个正弦信号 , 若以 为横轴, 为纵轴, 而以 作为参变量, 则随着 的变化, 所确定的点的轨迹, 将在 平面上描绘 出一条封闭的曲线, 这个图形在物理学上称为“李沙育图形”(或李萨如图形), 如下图所示。

  3. 相位差角 的求法: 对于 , 当 时, 有 ; 。即 , 显然仅当 时, 该式才是成立的。

提示1:根据实验内容,自行安排实验步骤,根据需要可以对表2.1适当修改。

提示2:简单起见,可以将某次测试结果作为参考完成报告,见下表

1 2 3 4 5 6 7 8 9 10
(Hz) 0.477 0.796 1.114 1.432 1.751 2.069 2.387 2.865 3.979 4.775
(rad/s) 3.000 5.000 7.000 9.000 11.000 13.000 15.000 18.000 25.000 30.000
1.035 1.108 1.216 1.362 1.453 1.428 1.421 1.211 0.820 0.369
0.198 0.300 0.466 0.663 0.894 0.999 0.996 0.976 0.741 0.370
-11.430 -17.436 -27.761 -41.546 -63.382 -86.967 -94.808 -102.564 -132.177 -158.256

实验结果

绘制李萨如图像

取传递函数为 分别取,绘制李萨如图像:

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
t=0:0.001:1000;
f=3;
x=sin(f.*t);
sys = tf(200, [1 10 200]);
y = lsim(sys, x, t);
subplot(2,2,1);
plot(x,y);

f=9;
x=sin(f.*t);
sys = tf(200, [1 10 200]);
y = lsim(sys, x, t);
subplot(2,2,2);
plot(x,y);

f=15;
x=sin(f.*t);
sys = tf(200, [1 10 200]);
y = lsim(sys, x, t);
subplot(2,2,3);
plot(x,y);

f=30;
x=sin(f.*t);
sys = tf(200, [1 10 200]);
y = lsim(sys, x, t);
subplot(2,2,4);
plot(x,y);
MATLAB

利用表格确定传递函数

设传递函数为 假设传递函数是,理论上时相移恰为-90°,实验测得的结果与理论基本一致。现在把代入,对于十个数据点计算,有:

1 2 3 4 5 6 7 8 9 10
0.355701 0.323482 0.337327 0.343293 0.364031 0.369706 0.321067 0.196532049 / /

有效数据的平均值为0.326,因此,计算出的传递函数为: 实验测的的结果与理论基本吻合,但仍存在一定的误差,可能由下面的因素引起:

  1. A/D、D/A转换时存在转换及量化误差;

  2. 在Matlab输出的李沙育图形上读取时存在读数误差。附近的正椭圆一定程度上依靠主观判断。

  3. 测量数据时有读数偏差

实验三:控制系统串联校正

实验目的

  1. 了解和掌握串联校正的分析和设计方法。

  2. 研究串联校正环节对系统稳定性及过渡过程的影响。

实验内容

  1. 设计串联超前校正,验证和分析校正装置对系统稳定性及过渡过程的影响。

  2. 设计串联滞后校正,验证和分析校正装置对系统稳定性及过渡过程的影响。

实验原理

  1. 系统结构图如上图所示, 校正装置 (环节) (传递函数为 ) 串联在系统的 前向通道中, 为末加矫正时原系统前向通道传递函数, 在本次实验中设定 , 实验应用 Matlab 软件实现。
  2. 末加矫正时,
  3. 加串联超前校正时, 。在实验中, 给定 , 则 , 计算系统性能指标参量, 分析校正环节对系统稳定性及过渡 过程的影响。
  4. 加串联滞后校正时, 。在实验中, 给定 , 则 , 计算系统性能指标参量, 分析校正环节对系统稳定性及过渡过程的影响。

实验结果

阶跃响应图:

有:

超调量Mp/% 建立时间/s
原系统 44% 5.48
超前校正 23% 1.90
滞后校正 20% 13.37

波特图:

经计算,有:

截止频率/rad 稳定裕度/°
原系统 1.88 28
超前校正 2.38 47.4
滞后校正 0.45 54.8

由上述数据可以看出,进行了串联超前校正后,系统的调整时间减小,系统响应的快速性改善;超调量降低,系统阻尼较大;系统的裕度增大,系统稳定性增强。进行了串联滞后校正后,系统的调整时间增大,快速性减弱;但是系统超调量减小;提高了稳定裕量,稳定性增强,抑制高频干扰的能力改善。

实验代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
clear;close all;

G0 = tf(4,[1,1,0]);
G_lead = tf([0.63,1],[0.26,1]); %超前校正
G_lag = tf([10,1],[83.33,1]); %滞后校正

%计算闭环传递函数
sys1_cl = G0/(1+G0);
sys_lead_cl = (G0 * G_lead)/(1+G0 * G_lead);
sys_lag_cl = (G0 * G_lag)/(1+G0 * G_lag);

figure(1);
step(sys1_cl);hold on;
step(sys_lead_cl);hold on;
step(sys_lag_cl);hold on;
legend('原系统','超前校正','滞后校正');

%计算开环传递函数
sys1_ol = G0;
sys_lead_ol= G0 * G_lead;
sys_lag_ol = G0 * G_lag;

figure(2);
bode(sys1_ol);hold on;
bode(sys_lead_ol);hold on;
bode(sys_lag_ol);hold on;
legend('原系统','超前校正','滞后校正');
MATLAB

实验四:采样控制系统研究

实验目的

  1. 了解信号的采样与恢复的原理及其过程,并验证香农定理。

  2. 掌握采样系统的瞬态响应与极点分布的对应关系。

实验原理

  1. 采样:把连续信号转换成离散信号的过程叫采样。

  2. 采样定理:如果选择的采样角频率 , 满足 条件 ( 为连续信号频谱的上限频率), 那 么经采样所获得的脉冲序列可以通过理想的低通滤波器无失真地恢复原连续信号。

  3. 信号的复现: 零阶保持器是将采样信号转换成连续信号的元件, 是一个低通滤波器。其传递函数: ;

  4. 采样系统的极点分布对瞬态响应的影响: Z 平面内的极点分布在单位圆的不同位置, 其对应的瞬态分量是不同的。

实验内容

在下图中, , 系统被控对象脉冲传递函数为: 系统闭环脉冲传递函数为: 1. 改变采频率 , 用 Matlab 画出系统在阶跃信号作用下的过渡过程。

  1. 在Z平面内讨论,当采样周期T变化时对系统稳定性的影响。

实验结果

采样周期时对应的响应图如下:

可以看出,当时,阶跃响应单调收敛,系统稳定。

时,阶跃响应震荡收敛,系统稳定。

时,阶跃响应震荡发散,系统不稳定。

系统闭环脉冲传递函数为: 特征根为 系统稳定的条件为,即。故当时,系统是稳定的,而时,系统是不稳定的。

根据分析可得:当闭环特征根位于单位圆内的正半轴上时,阶跃响应单调收敛,系统稳定;当闭环特征根位于单位圆内的负半轴上时,阶跃响应振荡收敛,系统稳定;当闭环特征根位于单位圆外时,阶跃响应发散,系统不稳定

在这个实验中,通过对具有开环传递函数的离散系统进行阶跃响应的分析,我得到了以下几点收获:

  1. 离散系统稳定性条件:通过分析域稳定条件,我们可以确定系统的稳定性范围。

  2. 采样时间对系统稳定性的影响:实验中使用了不同的采样时间T,观察到对应的阶跃响应特性。通过实验结果,我们发现只有当T满足一定条件时,系统才是稳定的。这进一步强调了合适的采样时间选择对系统稳定性的重要性。

这个实验让我深入理解了离散控制系统的稳定性条件和阶跃响应特性。通过对离散系统的实验验证,加深了我对离散控制理论的理解和应用,同时也学习了Matlab的使用技巧。

实验代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
% 采样时间T分别为0.01秒,0.2秒,0.5秒,0.6秒
Ts = [0.01, 0.2, 0.5, 0.6];
i=1;
for T = Ts
syms z
G = (4*(1-exp(-T))/(z-exp(-T)) );
Phi = G/(1+G);
U = z/(z-1);
Y = U*Phi;
y = iztrans(Y);
fy = MatlabFunction(y);
t = 0:T:10;
n = t./T;
y1=fy(n);
y2=ones(size(n));
subplot(2,2,i);
plot(t,y1,t,y2);
legend('响应','激励');
xlabel('时间/s');ylabel('响应');
title("采样频率为T="+num2str(T)+"s时的响应");
i=i+1;
end
MATLAB

实验五:状态反馈与状态观测器

实验目的

  1. 掌握用状态反馈进行极点配置的方法。

  2. 了解带有状态观测器的状态反馈系统。

实验原理

闭环系统的动态性能与系统的特征根密切相关,在状态空间的分析中可利用状态反馈来配置系统的闭环极点。这种校正手段能提供更多的校正信息,在形成最优控制率、抑制或消除扰动影响、实现系统解耦等方面获得广泛应用。在改善与提高系统性能时不增加系统零、极点,所以不改变系统阶数,实现方便。

考虑如下图所示的磁悬浮控制系统。

根据牛顿力学定律和回路电压定律, 可列写系统微分方程为: 其中 是小球的垂直位置和质量, 为重力加速度, 为反映磁力大小的常数, 分别是回路电流、电压、电阻和电感。

式 (1) 为非线性微分方程, 需要对其进行线性化处理。假设小球的期望平衡点为 , 在 平衡点上小球保持静止, 其位置 的各阶导数为零, 由式 (1) 可得对应的平衡电流为 , 其对应的平衡电压为 。在 处对式 (1) 进行泰勒线性近似, 即: 其中 。进一步定义 , 可由式 (2) 和 (3) 得到: 由此, 我们可以在期望平衡点 附近, 采用线性控制方法进行系统设计, 其中控制变量 是在 基础上的电压调节量 , 输出变量是实际位置偏离期望平衡点 的距离

实验内容

仿真中的参数取值如下表所示。

变量 参数
0.01 m
0.15 kg
9.81
0.0001
1
1

建立状态模型

针对式 (4) 和 (5), 选择状态变量为 , 输入变量为 , 输出变量为 , 列写状态方程和输出方程。

状态方程: 输出方程: 由题中所给的,且

得:

编程计算:

1
2
3
4
5
6
7
8
9
10
11
12
13
y0=0.01;
M=0.15;
g=9.81;
K=0.0001;
R=1;
L=1;
i0=sqrt(M*g*y0/K);
A=[ 0 1 0;
K*i0^2/(M*y0^2) 0 -2*K*i0/(M*y0);
0 0 -R/L]
B=[0;0;1/L];
C=[1 0 0];
D=0;
MATLAB

得:

1
2
3
4
5
A =

0 1.0000 0
981.0000 0 -1.6174
0 0 -1.0000
APACHE

绘制输出曲线

将系统控制电压设为(即初值为0)、用手将小球置于偏离预设位置0.01米处(即初值为0.01),绘制系统输出曲线(即松手后小球相对预设位置的偏移量),并根据曲线说明系统稳定性?(提示:可使用lsim命令绘制输出曲线)

初值设为零,初值设为,绘制系统输出曲线:

代码为:

1
2
3
4
5
6
7
8
9
10
11
%上一部分的代码
x0 = [0.01;0;0]; %初始状态
t = 0:0.001:1;
u = zeros(size(t)); %零输入
sys = ss(A,B,C,D);
[y,t,x] = lsim(sys,u,t,x0);
figure(1);
plot(t,y);
xlabel('t(s)');
ylabel('y(m)');
title('原系统输出曲线');
MATLAB

可控性分析

可以利用ctrb函数求解可控矩阵,有:

1
rank(ctrb(A,B))
MATLAB

输出

1
2
3
ans =

3
ABNF

系统可控。

极点配置

如果系统可控,假设所有状态变量可测定(即可测出小球的位置、速度和电流),参考输入为,采用状态反馈方法进行系统设计,如下图所示,给出状态反馈向量?系统要求:调节时间小于0.5秒、超调小于5%。(提示:可使用place或acker进行极点配置)。考虑与实验内容2相同的初始状态,绘制系统输出曲线,并验证:

  1. 是否满足设计要求?
  2. 小球能否稳定在参考位置处,测定稳态误差并分析原因?

对于该三阶系统,设置一个极点远离虚轴,将系统简化为一个二阶系统。由于要求调节时间小于0.5s,超调量小于5%,故将超调量设为4%,由 可求得。设置,则

进行状态反馈后,用place函数进行极点配置,得到 并在参考输入为得到新的偏移量输出曲线如下:

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
%上一部分的代码
damp = 1/sqrt(2);
wn = 35*sqrt(2);
p1 = -damp*wn+wn*sqrt(1-damp^2)*1i;
p2 = -damp*wn-wn*sqrt(1-damp^2)*1i;
p3 = -1000;
K = place(A,B,[p1 p2 p3]); %状态反馈向量
r = 0.001*ones(size(t));
sys_c = ss(A-B*K,B,C,0);
figure(2);
lsim(sys_c,r,t,x0);
title('极点配置后系统输出曲线');
MATLAB

本站的运行成本约为每个月5元人民币,如果您觉得本站有用,欢迎打赏:


自动控制原理实验
https://suzumiyaakizuki.github.io/2023/07/03/自动控制原理实验/
作者
SuzumiyaAkizuki
发布于
2023年7月3日
许可协议