控制系统校正课程设计自动控制课程设计.docx
《控制系统校正课程设计自动控制课程设计.docx》由会员分享,可在线阅读,更多相关《控制系统校正课程设计自动控制课程设计.docx(22页珍藏版)》请在冰豆网上搜索。
控制系统校正课程设计自动控制课程设计
控制系统校正课程设计
第一章设计目的
1、了解控制系统设计的一般方法和步骤
2、掌握对系统进行稳定性分析、稳态误差分析及动态特性分析的方法
3、掌握利用MATLAB对控制理论内容进行分析和研究的技能
4、提高分析问题解决问题的能力
第二章设计内容和要求
设计内容:
1、阅读有关资料
2、对系统进行稳定性分析、稳态误差分析及动态特性分析
3、绘制根轨迹图、bode图、nyquist图
4、设计校正系统,满足工作要求
设计条件:
1、被控制对象的传递函数是
G(s)=b0sm+b1sm-1+b2sm-2+…+bm
a0sn+a1sn-1+a2sn-2+…+an(n>=m)
2、参数a0,a1,a2,...an和b0,b1,b2,...bm因小组而异。
设计要求:
1.能用MATLAB解复杂自动控制理论题目。
2.能用MATLAB设计控制系统以满足具体性能指标。
3.能灵活应用MATLAB的CONTROL SYSTEM工具箱和SIMUINK仿真软件,分析系统的性能。
设计题目:
已知单位负反馈系统的开环传递函数:
试用频率法设计串联滞后——超前校正装置,使系统的相角裕量,静态速度误差系数。
第三章校正函数的分析与设计
1,根据稳态误差系数的要求:
用MATLAB求极限:
Clear;
symsk0s;
y=(s*k0)/(s*(s+2)*(s+40));
kv=limit(y,s,0)
得到系统的开环增益为:
。
即该系统的开环传递函数为:
2,利用已经确定的开环增益k,画出未校正的系统的Bode图,求出相位裕度和幅值裕度。
在MATLAB中输入:
G=tf([0002000],[142800]);
[kg,r]=margin(G);figure
(1);
margin(G);holdon;figure
(2);
sys=feedback(G,1);step(sys)
该程序执行后,得系统的Bode图及性能指标
r=6.45
即模稳定裕度:
=穿越频率:
=
相稳定裕度:
剪切频率:
=
由于计算的相稳定裕度:
,达不到题目中系统的相角裕量的要求,这样系统工作不能稳定,系统需要校正。
这也能从阶跃响应曲线中可以看出,系统需要校正。
3,具体设计及相关参数值确定
根据题意,选择校正装置:
串联滞后——超前校正装置。
滞后校正装置的传递函数:
根据题目要求,取校正后系统的剪切频率:
=不变,一般,这时取。
并编写求滞后校正装置传递函数的MATLAB程序:
wc=6.88;
beta=9;T=1/(0.1*wc);
betat=beta*T;Gc1=tf([T1],[betat1])
运行得到:
Transferfunction:
1.453s+1
-----------
13.08s+1
即滞后校正装置传递函数为:
超前校正装置的传递函数:
,并编写求超前校正装置传递函数的MATLAB程序:
n1=conv([02000],[1.4531]);
d1=conv(conv(conv([10],[12]),[140]),[13.081]);
sope=tf([n1],[d1]);wc=6.88;
num=sope.num{1};
den=sope.den{1};
na=polyval(num,j*wc);
da=polyval(den,j*wc);
g=na/da;
g1=abs(g);
h=20*log10(g1);
a=10^(h/10);
wm=wc;
T=1/(wm*(a)^(1/2));
alphat=a*T;
Gc2=tf([T1],[alphat1])
运行得到:
Transferfunction:
1.302s+1
-------------
0.01622s+1
超前校正装置的传递函数:
校验系统校正后频域性能是否满足要求
包含滞后校正装置和超前校正装置的系统传递函数为:
在MATLAB中输入:
n1=2000;d1=conv(conv([10],[12]),[140]);s1=tf(n1,d1);
s2=tf([1.4531],[13.081]);s3=tf([1.3021],[0.016221]);
sope=s1*s2*s3;
margin(sope)
在校正之后:
即模稳定裕度:
=穿越频率:
=
相稳定裕度:
剪切频率:
=
用频率法设计串联滞后——超前校正装置校正后,系统的相角裕量满足了系统的要求。
第四章传递函数特征根的计算
要求:
利用MATLAB函数求出校正前与校正后系统的特征根,并判断其系统是否稳定,为什么?
1校正前系统的特征根并判断系统的稳定性
输入MATLAB程序:
num=[2000];
den=conv([10],conv([12],[140]));
g=tf(num,den);
sys=feedback(g,1);
pzmap(g);
den=conv([10],conv([12],[140]));
t=tf(num,den);
pzmap(t);
[p,z]=pzmap(g);
den=sys.den{1};
r=roots(den);
disp(r)
运行后得到:
特征根为
-41.2361
-0.3819+6.9538i
-0.3819-6.9538i
有在右半平面的根,所以系统不稳定。
校正后:
程序为num=conv(conv([1.4531],[1.3021]),[02000]);
d3=conv([13.081],conv([0.016221],[10]));
d2=conv([12],[140]);
den=conv([0d3],[0d2]);
g=tf(num,den);
sys=feedback(g,1);
pzmap(g);
conv([13.081],conv([0.016221],[10]));
d2=conv([12],[140]);
den=conv([0d3],[0d2]);
t=tf(num,den);
pzmap(t);
[p,z]=pzmap(g);
den=sys.den{1};
r=roots(den);
disp(r)
运行后得到:
特征根为
-70.1584
-16.1464+4.4315i
-16.1464-4.4315i
-0.6388+0.2669i
-0.6388-0.2669i可以看出都是左半平面,系统稳定。
第五章系统动态性能的分析
要求:
利用MATLAB作出系统校正前与校正后的单位脉冲响应曲线,单位阶跃响应曲线,单位斜坡响应曲线,分析这三种曲线的关系?
求出系统校正前与校正后的动态性能指标σ%、tr、tp、ts以及稳态误差的值,并分析其有何变化。
校正前
阶跃响应:
>>%MATLABPROGRAMj005.m
>>%
>>k=2000;n1=1;d1=conv([10],conv([12],[140]));
>>s1=tf(k*n1,d1);
figure
(2);sys=feedback(s1,1);step(sys)
求Ϭ%,tr,tp,ts,ess:
由图知,是发散的,所以不稳定,无法求出Ϭ%,tr,tp,ts,ess
校正后的阶跃
>>k=conv([1.4531],[1.3021]);n1=2000;
d3=conv([13.081],conv([0.016221],[10]));d2=conv([12],[140]);d1=conv([0d3],[0d2]);
s1=tf(k*n1,d1);
>>figure
(2);sys=feedback(s1,1);step(sys)
求Ϭ%,tr,tp,ts,ess:
超调量Ϭ%=(1.03-1)/1=3%
上升Tr=0.997
峰值tp=2.35
调节ts=4.81稳态误差ess=1-1=0
校正前
冲激响应
>>%MATLABPROGRAMj005.m
>>%
>>k=2000;n1=1;d1=conv([10],conv([12],[140]));
>>s1=tf(k*n1,d1);
sys=feedback(s1,1);
impulse(sys)
校正后
冲激响应
>>%MATLABPROGRAMj005.m
>>%
>>k=conv([1.4531],[1.3021]);n1=2000;
d3=conv([13.081],conv([0.016221],[10]));d2=conv([12],[140]);d1=conv([0d3],[0d2]);
s1=tf(k*n1,d1);
sys=feedback(s1,1);impulse(sys)
校正前
斜坡响应
>>%MATLABPROGRAMj005.m
>>%
>>k=2000;n1=1;d1=conv([10],conv([12],[140]));
>>s1=tf(k*n1,d1);
sys=feedback(s1,1);
n=1;d2=[10];s2=tf(n,d2);
sys2=[syss2];
step(sys2)
校正后
斜坡响应:
k=conv([1.4531],[1.3021]);n1=2000;
d3=conv([13.081],conv([0.016221],[10]));d2=conv([12],[140]);d1=conv([0d3],[0d2]);
s1=tf(k*n1,d1);
sys=feedback(s1,1);
n=1;dd=[10];s2=tf(n,dd);
sys2=[syss2];
step(sys2)
三条曲线关系:
斜坡响应曲线的导数是阶跃,阶跃响应曲线的导数是冲激响应曲线。
第六章绘制根轨迹图及Nyquist图
要求:
绘制系统校正前与校正后的根轨迹图,并求其分离点,汇合点及虚轴交点的坐标和相应点的增益K*值,得出系统稳定时增益K*的变化范围。
绘制系统校正前与校正后的Nyquist图,判断系统的稳定性,并说明理由。
校正前
>>%MATLABPROGRAMj005.m
>>%
>>num=1;
>>d1=conv([10],conv([12],[140]));
>>g0=tf(num,d1);
rlocus(g0)
校正后
>>%MATLABPROGRAMj005.m
>>%
>>d3=conv([13.081],conv([0.016221],[10]));d2=conv([12],[140]);d1=conv([0d3],[0d2]);
>>g0=tf(num,d1);
rlocus(g0)
校正前
>>%MATLABPROGRAMj005.m
>>%
>>k=2000;n1=1;d1=conv([10],conv([12],[140]));
>>s1=tf(k*n1,d1);
nyquist(s1)
判断稳定性:
已知,开