资源描述
实验一系统动态特性分析
一.实验目的
1.研究系统的特征参数对系统动态特性的影响;
2.确定系统传递函数
3.在matlab中仿真
二.实验原理
1.在simulink中绘制如图1的结构框图;
2.设置参数,得系统传递函数;
3. 仿真并在示波器中观察实验结果;
4.改变ζ和ωn的值,比较分析ζ和ωn对系统性能的影响;
实验结果:
1.在simulink中绘制如图1的结构框图;
图1
2.设置参数,得系统传递函数;
,
4. 仿真并在示波器中观察实验结果;
图2
4.改变ζ和ωn的值,比较分析ζ和ωn对系统性能的影响;
当ωn=10,ζ=1时,单调上升
当增大ωn时,出现收敛振荡,此时,ωn=100
当减小ζ减小时,会出现发散振荡,此时,ζ=-1.
当ζ=0时,等幅振荡
实验分析:
由以上实验结果表明,二阶系统特征根的性质取决于ζ值的大小。当ζ<0时,二阶系统具有两个正实部的特征根。由于阻力比为负,指数因子具有正幕指数,因此,系统是发散的。如果ζ=0,则其特征根有一对纯虚根,故阶跃响应是等幅振荡。当ζ>0时,由于特征根位于左半平面,故系统函数是衰减的,是稳定的系统。
实验二 离散系统串联校正
一.实验目的
1.通过实验掌握用频率分析法分析系统的动态特性;
2.研究串联校正装置对系统的校正作用,学习调试参数的方法;
3.在matlab中仿真;
二.实验原理
三.实验步骤
⑴超前校正
1. 新建例6.6simulink模型图2(a),设置参数,在command窗口下用改变输入为阶跃信号,输出为示波器,观察阶跃响应曲线和根轨迹
2. 在command窗口下用命令c2d(注意设置采样时间)将被控对象离散化,得到被控对象脉冲传递函数G(z)
3. 在command窗口下用命令c2d(注意设置采样时间)将被控对象离散化,得到被控对象脉冲传递函数G(z)
实验结果:
⑴超前校正
4. 新建例6.6simulink模型图2(a),设置参数,在command窗口下用改变输入为阶跃信号,输出为示波器,观察阶跃响应曲线和根轨迹
图2.1
阶跃响应曲线:
图2.2
根轨迹:
num=[1];
den=[1 1 0];
sys=tf(num,den)
Transfer function:
1
-------
s^2 + s
根轨迹结果:
图2.3
5. 在command窗口下用命令c2d(注意设置采样时间)将被控对象离散化,得到被控对象脉冲传递函数G(z)
[SYSD] = C2D(sys,0.1,'zoh' )
Transfer function:
0.004837 z + 0.004679
----------------------
z^2 - 1.905 z + 0.9048
Sampling time: 0.1
图2.4
3.加入超前校正器 ,得到图2(b)模型,改变控制器极点和增益,观察阶跃响应曲线和根轨迹的变化
图2.5
结果:
没改变G时
当增益增大时,G=100
当增益减小时,G=0.1时,
⑵迟后校正
1. 新建例6.5simulink模型图3(a),设置参数,观察阶跃响应曲线
2.加入迟后校正器 ,得到图3(b)模型,改变放大系数,观察阶跃响应曲线的变化
根轨迹绘制:rlocus(sys)
[A,B,C,D]=dlinmod(‘模型名‘)
sys=ss(A,B,C,D)
图3
当增大时,
当减小时,
实验三 数字PID控制器的设计
一.实验目的
1.研究PID控制器的参数对系统稳定性和过渡过程的影响
2.研究采样周期T对系统特性的影响
3.在matlab中对系统进行仿真
二.实验原理
三.实验步骤
1.在matlab中新建文档,原系统的开环传递函数:
绘制如图1的原系统框图
图1 原系统结构图
2.给入阶跃信号,开始仿真,双击示波器观察仿真结果,绘制阶跃响应曲线,记录调节时间和超调量
3.如图2为PID控制器
图2 PID控制器
得到如图3的模型图
图3 加入控制器后的系统
.放大环节中的kp(ki、kd)为自己选择的某一个实数,如设置初始值kp=4(ki=0、kd=0)不是直接输入字母kp(ki、kd)
4.修改kp(ki、kd),按照如下步骤观察不同参数值下系统阶跃响应曲线的变化,当系统具有较理想的阶跃响应时,绘制阶跃响应曲线,并记录各参数值和时域性能指标
a. Ki=0、Kd=0时,改变Kp的值;
b. 固定Kp,Kd=0,改变Ki的值;
c. 固定Kp、Ki的值,改变Kd的值;
5.保持参数值不变,修改采样时间,观察系统阶跃响应曲线的变化,并
记录
实验结果:
1.在matlab中新建文档,原系统的开环传递函数:
2. 求取响应的参数
num=[2]; den=[1 1 0];
G=tf(num,den);
sys=feedback(G,1);
[y,t]=step(sys);
[Y,k]=max(y);
timetopeak=t(k %峰值时间
C=dcgain(sys);
[Y,k]=max(y);
percentovershoot=100*(Y-C)/C %超调量
C=dcgain(sys);
n=1;
while y(n)<C;
n=n+1;
end;
risetime=t(n) %上升时间
C=dcgain(sys);
i=length(t);
while(y(i)>0.98*C&y(i)<1.02*C);
i=i-1;
end;
settlingtime=t(i) %调节时间
运行结果如下:
timetopeak =4.9972
percentovershoot =-0.4103
risetime = 0
settlingtime =3.5764
3. 实验结果
A
Kp=1
Kp=10
Kp=50
B
Kp=10;ki=1
Kp=10;ki=10
C
Kp=10;ki=1;kd=1
Kp=10;ki=1;kd=10
Kp=10;ki=1;kd=50
实验四 状态反馈与状态观测器实验
一.实验目的
1.研究现代控制理论中用状态反馈配置极点的方法
2.在matlab中仿真
二.实验原理
三.实验步骤
1.根据被控对象的传递函数建立模型图4和状态结构图5,观察系统阶跃响应曲线
图4 被控对象结构图
2.通过调用命令[A,B,C,D]=tf2ss(100,[1,-1,0.16])得到系统的状态空间模型动态方程,记录A,B,C,D,建立状态结构图5(增益2的为0.16)
图5系统状态结构图
3.仿真得到未进行极点配置前的阶跃响应曲线如图6,观察其响应,记录时域指标
开环 闭环
图6 原系统的阶跃响应曲线
4.如果希望将极点配置在P=[z1 z2],调用函数K=place(A,B,P),求得状态反馈矩阵K=[K1 K2]。如z1=0.6+j0.4,z2=0.6-j0.4,则可得K1=-0.2,K2=0.36
5.可通过状态反馈矩阵得到极点配置后的系统状态图7(上面部分为状态反馈,增益3为0.36,增益4为0.2,下面部分为被控对象不变);
图7 加入状态反馈后的系统状态结构图
6.仿真后可得极点配置后的阶跃响应曲线图8,记录时域指标
图8 加入极点配置后的阶跃响应曲线
7.修改期望配置的极点值,重复上述步骤进行仿真。
实验结果:
1.根据被控对象的传递函数建立模型图4和状态结构图5,观察系统阶跃响应曲线
6. 可通过状态反馈矩阵得到极点配置后的系统状态图7(上面部分为状态反馈,增益3为0.36,增益4为0.2,下面部分为被控对象不变);
展开阅读全文