控制系统仿真综合实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(二)实验要求 1. 使用 Matlab 进行仿真; 2. 分析不同 K 值的情况下,系统的单位阶跃响应曲线,并绘图进行比较; 3. 列表对系统响应各性能进行比较,并确定你认为合适的参数值。 (三)实验内容及步骤 1.运行 MATLAB,进行仿真实验。
图 1-1
运行 MATLAB
2.编写遥控车速度控制系统在单位阶跃响应下的曲线程序。
控制系统仿真综合实验 设计与报告
班级:自动化四班 姓名:王经纬 学号:201200171162
实验一
遥控侦查车速度控制
(一)实验背景 此遥控车曾用于联合国维和任务。考虑其速度控制系统如下图所示,参考 速度 R(s)通过无线通讯发送给小车,小车运动过程受到石块、凹凸地形等的扰 动为 Td(s),控制目标是实现较低的稳态误差和低超调的单位阶跃响应。
0.015 CartPos CartSpd PendAng PendSpd
0.01
0.005
0
-0.005
-0.01
0
0.5
1
1.5
2
2.5
3
图 4-1
状态反馈后时间响应曲线
2.按照状态变量图做出 Simulink 仿真模型如下图所示:
图 4-2 状态反馈闭环系统 Simulink 结构图
3.设置仿真参数,启动仿真过程,得到的响应波形如下图所示:
0 x1 0 x 0 2 1 u 1 x3 0 0 x 3 4
x x 1 0 0 0 x 0 y 0 u 0 0 1 0
图 1-2 用 MATLAB 编写程序
程序如下: k=6; z=-2; p=[-1;-1-1.732j;-1+1.732j]; G=zpk(z,p,k); H=feedback(G,1); t=0:0.05:7; C=step(H,t); plot(t,C,'-'); grid on;
3.取不同 K 值,观察系统的单位阶跃响应曲线,绘图进行比较。
3. 设置仿真参数,启动仿真过程,得到的响应波形如下图所示:
图 3-4
Simulink 仿真响应波形
(四)实验分析 系统的特征方程:
s 1 0 0 0 s 0 0 sI A s 4 29.4 s 2 0 0 s 1 0 0 29.4 s
系统的四个特征根为[0 0 -5.42 5.42],由于有一个特征根在 s 的右半 平面,所以系统是不稳定的。从图 3-2 和图 3-4 中可以看出,系统在单位阶跃响 应输入下,不能稳定在平衡位置,系统几乎没有任何调节作用。
G s
5 400 (1 0.12 s ) s s 30 s 200 1 0.048s
2
用 MATLAB 画出校正后系统的伯德图,并计算相角裕度,程序如下: sys2=tf(10*[0.12,1],conv([0.005,0.15,1,0],[0.048,1])); bode(sys2); grid; [gm2,pm2,wc2,wp2]=margin(sys2) 伯德图如下,计算出相角裕度为 47°。
图 4-3 状态反馈闭环系统时间响应波形
(四)实验分析 从图 4-3 中可以看出, 引入状态反馈改变系统的极点后,系统状态响应波形 明显得到改善, 状态变量的过渡过程均变得平稳且快速。由于状态反馈改变了极 点,从而影响了系统的静态增益值,要恢复原系统的静态增益值,需要在输出端 补偿一个倍数。 静态补偿状态反馈的闭环系统结构图以及其时间响应波形如下图所示:
K s 2 ,容易推知,在 s 1 s 2 2s 4
单位阶跃输入下, 系统稳态误差会随着 K 值的增大而减小,超调量和调节时间都 随着 K 值的增大而增大,这和仿真实验的结果是相吻合的。从图 1-3 和 1-4 中可 以看见,当 K 值取 6 到 11 时,系统的性能是比较好的,加上表 1 的参数分析, 当 K 值取 9 时,系统的调节时间和超调量都比较适中,稳态误差相对较小。
K Ess Overshoot(%) Ts(s) 5 0.2857 34.6099 4.7766
表1
8 0.20000 43.5125 5.6730
9 0.1818 45.7812 5.5325
12 0.1429 51.6704 5.7655
不同 K 值下系统响应的参数
(四)实验结果与分析 从理论上分析,系统的传递函数为 G s
图 1-3
不同 K 值时系统曲线图 1
图 1-4
不同 K 值时系统曲线图 2
4.编写程序得到不同 K 值下的系统参数,并列表进行比较。 程序如下: k=8; z=-2; p=[-1;-1-1.732j;-1+1.732j]; G=zpk(z,p,k); H=feedback(G,1); C=dcgain(H); Ess=1-C [c,t]=step(H); [Y,k]=max(c); Overshoot=100*(Y-C)/C n=1; while c(n)<C n=n+1; end risetime=t(n); i=length(t); while(c(i)>0.98*C)&&(c(i)<1.02*C) i=i-1; end Ts=t(i)
I = 0.0034;g = 9.8; G = tf(m*l,[I+m*l^2,0,-m*g*l]); t = 0:0.1:5; c = step(G,t); plot(t,c); grid;
图 3-2
直线一级倒立摆单位阶跃响应曲线
பைடு நூலகம்
2. 按照状态变量图做出 Simulink 仿真模型如下图所示:
图 3-3 Simulink 仿真模型
实际系统摆杆转动轴心到杆质心的长度为 l=0.25m,则系统的状态方程为:
1 0 0 0 0 0 0 29 .4
1 y 0
0 0
0 1
x1 0 x2 0 u 0 x3 0 x4
编写程序观察系统的单位阶跃响应曲线,程序如下: m = 0.109;M = 1.096; b = 0.1;l = 0.25;
实验四
一级倒立摆状态反馈设计及时间响应
(一)实验题目 设计状态反馈阵 K (1)直线一级倒立摆系统稳定性分析; (2)检验系统可控性; (3)根据调整时间和超调量的要求,并留有一定的裕量,选取期望的闭 环极点;写出希望的闭环特征多项式。 (4)状态反馈设计
u r Kx
式中 r — r × 1 参考输入; K — r × n 状态反馈阵。 状态反馈闭环系统希望的极点:
(一)实验题目 用现代控制理论对直线一级倒立摆系统进行分析, 并用 Simulink 对系统进 行仿真。
图 3-1 直线一级倒立摆
(二)实验要求 1. 用解析法求出系统的单位阶跃响应表达式,分析系统的响应性能; 2. 使用 Simulink 实现系统的仿真模型,观察系统的单位阶跃响应波形; 3. 整理实验数据和波形记录,比较仿真结果与解析结果的区别。 (三)实验步骤与内容 1. 用解析法建立倒立摆数学模型如下:
图 2-2 校正前后系统的阶跃响应曲线
(四)实验分析 从图 2-2 中可以看出,采用串联超前校正后,系统单位阶跃响应的调节时 间大大减小,大大提升了系统的响应速度,明显地提升了系统的动态性能指标, 增强了系统的稳定性,同时,系统也有一点点超调,但是整体上看,系统性能还 是得到了很大的改善。
实验三
直线一级倒立摆控制
图 2-2
校正前系统阶跃响应曲线
3.编写程序观察校正前后系统的阶跃响应曲线及性能指标 程序如下: sys1=tf(2,[0.005,0.15,1,0]); sys2=tf(10*[0.12,1],conv([0.005,0.15,1,0],[0.048,1])); H1=feedback(sys1,1); H2=feedback(sys2,1); step(H1); hold; step(H2,'r'); grid;
0 x x 0 0 0
0 1 x x 0 2 x3 0 0 x4
1 0 0
0
0 0 3g 0 4l
0 x 0 x 0 1 1 0 u 3 0 4l
Pj=poly(J); M=[B A*B A^2*B A^3*B]; W=[Pa(4) Pa(3) Pa(2) 1;Pa(3) Pa(2) 1 0;Pa(2) 1 0 0;1 0 0 0]; T=M*W; K=[Pj(5)-Pa(5) Pj(4)-Pa(4) Pj(3)-Pa(3) Pj(2)-Pa(2)]*inv(T) Ac=[(A-B*K)]; Bc=[B]; Cc=[C]; Dc=[D]; T=0:0.005:5; U=0.2*ones(size(T)); Cn=[1 0 0 0]; [Y X]=lsim(Ac,Bc,Cc,Dc,U,T); plot(T,X(:,1),'-'); hold on; plot(T,X(:,2),'- .'); hold on; plot(T,X(:,3),'.'); hold on; plot(T,X(:,4),'-') legend('CartPos','CartSpd','PendAng','PendSpd') 计算得 K= -95.2381 -46.2585 137.5460 24.7528 状态反馈后时间响应曲线如下:
5 400 ,用 MATLAB 计算得相角裕量为 32.6°,由于采 s s 30 s 200
2
用串联超前校正能够增大系统的相角裕量,所以综合考虑,采用串联超前校正。 2. 经过第一步的分析,采用串联校正,可以计算出串联校正装置传递函数为 5 (1 0.12 s ) ,因此校正后的开环传递函数为: 1 0.048s
实验二
(一)实验题目 被控对象传函为 G s (1)速度误差系数为 10 (2)相角裕量为 45 度
连续系统的频率法校正
400 ,要求: s s 30 s 200
2
(二)实验要求 1. 描述你的校正方法,并利用 MATLAB 编程计算; 2. 写出校正后系统的开环传递函数,并画出伯德图,计算相角裕度等; 3. 比较校正前后系统的阶跃响应曲线及性能指标,说明校正装置的作用。 (三)实验步骤与内容 1. 选取校正方法,进行理论计算 首先,观察一下原系统的阶跃响应曲线,程序如下: sys1=tf(2,[0.005,0.15,1,0]); H1=feedback(sys1,1); step(H1); grid; 曲线如下:
s1,2 10, s3,4 4 j 2 3
x ( A BK ) x Br y Cx
(二)实验要求 1. 使用 MATLAB\Simulink 完善实验步骤; 2. 整理实验记录波形; 3. 分析状态反馈对系统动态和静态的影响,归纳静态增益的补偿原则。 (三)实验步骤与内容 1. 用 MATLAB 编程计算反馈矩阵 K,并画出相应的响应波形 程序如下: A=[0 1 0 0;0 0 0 0;0 0 0 1;0 0 29.4 0]; B=[0 1 0 3]'; C=[1 0 0 0;0 0 1 0]; D=[0 0]'; J=[-10 0 0 0 ;0 -10 0 0;0 0 -4-2*sqrt(3)*i 0;0 0 0 -4+2*sqrt(3)*i]; Pa=poly(A);
图 2-1
校正前系统阶跃响应曲线
可以看出原系统的响应速度非常慢, 所以要通过校正来改善系统的动态性能, 可以采用串联超前校正。 原系统为Ⅰ型系统,容易求出系统的速度误差系数为
K lim
s 0
s 400 2 s ( s 30 s 200)
2
根据实验要求速度误差系数为 10 ,那么 KV 10 / 2 5 ,此时系统的开环 传函为: G s