自控课设 用 MATLAB 进行控制系统的滞后超前校正设计资料Word格式.docx
《自控课设 用 MATLAB 进行控制系统的滞后超前校正设计资料Word格式.docx》由会员分享,可在线阅读,更多相关《自控课设 用 MATLAB 进行控制系统的滞后超前校正设计资料Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
楼旭阳
题目:
用MATLAB进行控制系统的滞后-超前校正设计
已知:
已知一单位反馈系统的开环传递函数是
要求系统的静态速度误差系数K≥100,γ≥45º
w≥8。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1、分析超前网络或滞后网络是可行,如果不可行,说明原因。
2、MATLAB作出满足初始条件的最小K值的系统伯德图,计算系统的幅值裕量和相位裕量。
3、前向通路中加入滞后-超前校正,确定校正网络的传递函数。
4、用MATLAB画出校正前、后系统的根轨迹。
5、用Matlab对校正前后的系统进行仿真分析,画出阶跃响应曲线,并分析动态性能。
6、课程设计说明书中要求写清楚计算分析的过程,列出MATLAB程序和MATLAB输出。
Ⅰ.设计原理
滞后-超前校正设计原理
滞后-超前校正RC网络电路图如图所示。
下面推导它的传递函数:
令
,则
其中
为超前部分的参数,
为滞后部分。
对控制系统进行串联滞后-超前校正的基本原理是利用滞后-超前校正装置的滞后部分改善控制系统的稳态性能,同时利用其超前部分改善控制系统的动态性能。
滞后-超前校正的频域设计实际是超前校正和滞后校正频域法设计的综合,基本方法是利用滞后校正将系统校正后的穿越频率调整到超前部分的最大相角处的频率。
应用频率法确定滞后超前校正参数的步骤:
1、根据稳态性能指标,绘制未校正系统的伯德图;
2、选择校正后的截止频率Wc;
3、确定校正参数α;
4、求出超前参数T1;
5、确定滞后参数β,T2;
6、将滞后部分和超前部分的传递函数组合在一起,即得滞后-超前校正的传递函数;
7、绘制校正后的伯德图,检验性能指。
Ⅱ.设计过程
一、校正前系统的参数分析
当系统的静态速度误差系数时K
≥100,
,
则
≥100,K≥5000
设计中取K=5000,原函数变为:
二、用MATLAB绘制校正前系统的伯德图并求校正前系统的幅值裕量和相位裕量
a.绘制伯德图可用命令bode(num,den)
代码:
num=[100];
den=[0.020.310];
G0=tf(num,den)
bode(G0)
[h,r,Wx,Wc]=margin(G0)
b.得到的伯德图如图所示。
c.用MATLAB求校正前系统的幅值裕量和相位裕量
从matlab运行界面可以得到
h=0.1500,γ=-40.4367º
,Wx=7.0711,Wc=15.9227
a.若单独采用超前校正,则φ=γ'
-γ+Δ≥85º
在实际中难以实现;
b.若单独采用滞后校正,取γ'
≥45º
令滞后校正系统Wc’处产生的滞后相角Δ=10︒在原系统相频特性曲线上找出与γ’+Δ=45º
+10º
=55º
所对应的频率Wc’=2.12,小于要求的最小值8,所以单独采用滞后校正也不可行。
所以采用滞后-超前校正对该系统进行校正。
三、校正装置的传递函数
根据设计指标要求,取校正后系统的Wc’=10,γ'
=45º
我求出一个
用matlab进行验证:
显然Wc不符合条件,故再调整Wc’=12:
αT=0.93
超前校正部分的传递函数为:
超前校正后系统的传递函数为
T=0.833
滞后校正部分传递函数为:
校正传函:
校正过的传递函数为:
用matlab验证
代码如下:
num1=[0.931];
num2=[0.8331];
den0=conv([0.210],[0.11]);
den1=[0.0071];
den2=[32.271];
num=100*conv(num1,num2);
den=conv(conv(den0,den1),den2);
G=tf(num,den)
[h,r,Wx,Wc]=margin(G)
bode(G)
γ与Wc均符合指标,设计成功!
其Bode图如下
Ⅲ.校正前后性能指标对比分析
一、根轨迹:
MATLAB中专门提供了绘制根轨迹的有关函数[r,k]=rlocus(num,den)
校正前根轨迹:
代码:
rlocus(num,den)
校正后系统的根轨迹:
num=[77.47176.3100];
den=[0.0045180.71339.92932.5810];
rlocus(num,den)
二、用MATLAB对校正前后的系统进行仿真分析
Simulink是可以用于连续、离散以及混合的线性、非线性控制系统建模、仿真和分析的软件包,并为用户提供了用方框图进行建模的图形接口,很适合于控制系统的仿真。
校正前系统的仿真图
系统仿真的阶跃响应曲线
系统明显不稳定。
校正后的系统进行仿真分析
图像可以看到与校正前系统仿真的阶跃响应曲线有明显区别,其超调量以及响应速度,调节时间都有明显的改善。
还有串联此校正装置得到的性能指标满足题目的要求。
用MATLAB编程绘出系统校正前后阶跃响应曲线
程序:
k1=100;
num1=conv([0.93,1],[0.833,1]);
den1=conv(conv(conv(conv([1,0],[0.2,1]),[0.1,1]),[0.0.007,1]),[32.27,1]);
sys1=tf(k1*num1,den1);
Lsys1=feedback(sys1,1,-1);
[y1,t1,x1]=step(Lsys1);
k2=100;
num2=conv([0,1],[0,1]);
den2=conv(conv([1,0],[0.2,1]),[0.1,1]);
sys2=tf(k2*num2,den2);
Lsys2=feedback(sys2,1,-1);
[y2,t2,x2]=step(Lsys2);
plot(t1,y1,'
-r'
t2,y2,'
-'
);
grid
系统校正前后阶跃响应曲线
如图所示,红线表示系统校正后的阶跃响应,蓝线表示未校正前的阶跃响应曲线。
(不是彩打,见谅)很明显串联滞后-超前校正装置以后起动态性能有了明显的改善。
从图中可以看出校正后的超调量
有了明显的改善,调节时间
有了较大的改善。
因此此滞后-超前校正装置起到了系统改善的作用。
Ⅳ.心得体会
在整个实践的过程中,有过不少的麻烦事,不过还是我请教了同学,上网搜集了资料,最后问题得到了解决。
老师和助教都给予了我们很大的帮助。
2.编程方面也遇到了不少麻烦,我问了同学,在网上搜索了不少源程序,问题终于得到了解决。
这次的课程设计使我了解了一味的自己单干是不会出结果的,虚心的向别人请教也很重要,同时将理论联系了实际。
总而言之,这次的课程设计的确让我受益匪浅,感触颇丰。