金陵科技学院自动控制原理课程设计.docx
《金陵科技学院自动控制原理课程设计.docx》由会员分享,可在线阅读,更多相关《金陵科技学院自动控制原理课程设计.docx(34页珍藏版)》请在冰豆网上搜索。
金陵科技学院自动控制原理课程设计
绪论
在控制工程中用得最广的是电气校正装置,它不但可应用于电的控制系统,而且通过将非电量信号转换成电量信号,还可应用于非电的控制系统。
控制系统的设计问题常常可以归结为设计适当类型和适当参数值的校正装置。
校正装置可以补偿系统不可变动部分(由控制对象、执行机构和量测部件组成的部分)在特性上的缺陷,使校正后的控制系统能满足事先要求的性能指标。
常用的性能指标形式可以是时间域的指标,如上升时间、超调量、过渡过程时间等(见过渡过程),也可以是频率域的指标,如相角裕量、增益裕量(见相对稳定性)、谐振峰值、带宽(见频率响应)等。
常用的串联校正装置有超前校正、滞后校正、滞后-超前校正三种类型。
在许多情况下,它们都是由电阻、电容按不同方式连接成的一些四端网络。
各类校正装置的特性可用它们的传递函数来表示,此外也常采用频率响应的波德图来表示。
不同类型的校正装置对信号产生不同的校正作用,以满足不同要求的控制系统在改善特性上的需要。
在工业控制系统如温度控制系统、流量控制系统中,串联校正装置采用有源网络的形式,并且制成通用性的调节器,称为PID(比例-积分-微分)调节器,它的校正作用与滞后-超前校正装置类同。
一课程设计的目的及题目
1.1课程设计的目的
1、掌握自动控制原理的时域分析法,根轨迹法,频域分析法,以及各种补偿(校正)装置的作用及用法,能够利用不同的分析法对给定系统进行性能分析,能根据不同的系统性能指标要求进行合理的系统设计,并调试满足系统的指标。
2、学会使用MATLAB语言及Simulink动态仿真工具进行系统仿真与调试。
1.2课程设计的题目
试用频率法设计串联滞后校正装置,要求校正后系统的开环增益
,相角裕量
,幅值裕量
二课程设计的任务及要求
2.1课程设计的任务
设计报告中,根据给定的性能指标选择合适的校正方式对原系统进行校正(须写清楚校正过程),使其满足工作要求。
然后利用MATLAB对未校正系统和校正后系统的性能进行比较分析,针对每一问题分析时应写出程序,输出结果图和结论。
最后还应写出心得体会与参考文献等。
2.2课程设计的要求
1、首先,根据给定的性能指标选择合适的校正方式对原系统进行校正,使其满足工作要求。
要求程序执行的结果中有校正装置传递函数和校正后系统开环传递函数,校正装置的参数T,b等的值。
2、利用MATLAB函数求出校正前与校正后系统的特征根,并判断其系统是否稳定,为什么?
3、利用MATLAB作出系统校正前与校正后的单位脉冲响应曲线,单位阶跃响应曲线,单位斜坡响应曲线,分析这三种曲线的关系?
求出系统校正前与校正后的动态性能指标σ%、tr、tp、ts以及稳态误差的值,并分析其有何变化?
4、绘制系统校正前与校正后的根轨迹图,并求其分离点、汇合点及与虚轴交点的坐标和相应点的增益
值,得出系统稳定时增益
的变化范围。
绘制系统校正前与校正后的Nyquist图,判断系统的稳定性,并说明理由?
5、绘制系统校正前与校正后的Bode图,计算系统的幅值裕量,相位裕量,幅
值穿越频率和相位穿越频率。
判断系统的稳定性,并说明理由?
三校正函数的设计
要求:
首先,根据给定的性能指标选择合适的校正方式对原系统进行校正,使其满足工作要求。
要求程序执行的结果中有校正装置传递函数和校正后系统开环传递函数,校正装置的参数T,a等的值。
3.1校正步骤
应用频率特性法设计串联滞后校正装置的步骤如下:
(1)根据稳态误差要求,确定开环增益K0。
(2)利用已确定的开环增益,画出未校正系统的对数频率特性,确定未校正系统的剪切频率
,相角裕度
和幅值裕度
以检验性能指标是否满足要求。
若不满足要求,则执行下一步。
(3)确定滞后校正器传递函数的参数
式中
要距
较远为好。
工程上常选择
(4)画出校正后的系统的Bode图,并验算已校正系统相角裕量和幅值裕量。
3.2设计部分
已知单位负反馈系统的开环传递函数
试用频率法设计串联滞后校正装置,要求校正后系统的开环增益
,相角裕量
,幅值裕量
.
(1)由静态误差系数
可知。
所以,该系统的开环传递函数为
。
(2)利用已经确定的开环增益
,画出未校正的系统的Bode图,确定未校正系统的剪切频率
,相稳定裕度
。
输入MATLAB程序如下:
>>d1=[0.51];
>>d2=[08];
>>num=conv(d1,d2);
>>d3=[11];
>>d4=[10];
>>den1=conv(d3,d4);
>>d5=[0.21];
>>d6=[0.11];
>>den2=conv(d5,d6);
>>den=conv(den1,den2);
>>bode(num,den);
>>[h,R,Wg,Wc]=margin(num,den);
>>margin(num,den);
校正前的Bode图为:
幅值裕度:
=8.34dB
相角裕度:
=22.4deg
穿越频率:
=5.98rad/sec
截止频率:
=3.45rad/sec
(3)计算出滞后校正器的传递函数。
由于
,取
,相角裕量
,幅值裕量
则取相角裕量
,由MATLAB语言计算出串联滞后校正后的传递函数。
输入MATLAB程序如下:
>>d1=[0.51];
>>d2=[08];
>>num=conv(d1,d2);
>>d3=[11];
>>d4=[10];
>>den1=conv(d3,d4);
>>d5=[0.21];
>>d6=[0.11];
>>den2=conv(d5,d6);
>>den=conv(den1,den2);
>>v=40;
>>b=0.5;
>>phi=-180+v+b;
>>[mag,phase,w]=bode(num,den);
>>wc=spline(phase,w,phi);
>>mag1=spline(w,mag,wc);
>>magdB=20*log10(mag1);
>>b=10^(-magdB/20);
>>T=1/(b*(wc/10));
用MATLAB语言计算出T=14.139,b=0.38427。
得到串联滞后校正装置的传递函数为
。
(4)校验系统校正后系统是否满足题目要求。
校正后的传递函数为
用MATLAB语言校正如下:
>>k=8;
>>d1=[0.51];
>>d2=[5.4331];
>>num1=conv(d1,d2);
>>num=k*num1;
>>d3=[10];
>>d4=[11];
>>d5=[0.21];
>>d6=[0.11];
>>d7=[14.1391];
>>den1=conv(d3,d4);
>>den2=conv(d5,d6);
>>den3=conv(den1,den2);
>>den=conv(den3,d7);
>>margin(num,den);
校正后BODE图为:
幅值裕度:
=16.2dB
相角裕度:
=36.9deg,满足题目要求
截止频率:
rad/sec
穿越频率:
=5.84rad/sec
四传递函数特征根的计算
要求:
利用MATLAB函数求出校正前与校正后系统的特征根,并判断其系统是否稳定,为什么?
4.1校正前系统的传递函数的特征根
校正前的开环传递函数为:
MATLAB程序如下:
d1=[08];
>>d2=[0.51];
>>num=conv(d1,d2);
>>d3=[11];
>>d4=[11];
>>den1=conv(d3,d4);
>>d5=[0.21];
>>d6=[0.11];
>>den2=conv(d5,d6);
>>den=conv(den1,den2);
>>g=tf(num,den);
>>sys=feedback(g,1);
>>pzmap(g);
>>[p,z]=pzmap(g);
>>den=sys.den{1};
>>r=roots(den);
>>disp(r);
运行后得特征根结果为:
-12.2393
-1.3066+3.9260i
-1.3066-3.9260i
-2.1475
由于校正前系统单位负反馈的特征方程没有右半平面的根,故校正前的闭环系统稳定。
4.2校正后系统的传递函数的特征根
校正后的开环传递函数为:
MATLAB程序如下:
>>d1=[08];
>>d2=[0.51];
>>d3=[5.4331];
>>d0=conv(d1,d2);
>>num=conv(d0,d3);
>>d4=[10];
>>d5=[11];
>>d6=[0.21];
>>d7=[0.11];
>>d8=[14.1391];
>>den1=conv(d4,d5);
>>den2=conv(d6,d7);
>>den3=conv(den1,den2);
>>den=conv(den3,d8);
>>g=tf(num,den);
>>sys=feedback(g,1);
>>pzmap(g);
>>[p,z]=pzmap(g);
>>den=sys.den{1};
>>r=roots(den);
>>disp(r);
运行后得特征根结果为:
-11.0296
-3.1604
-0.8452+1.8842i
-0.8452-1.8842i
-0.1903
由于校正后系统单位负反馈的特征方程没有右半平面的根,故校正后的闭环系统稳定。
五系统动态性能的分析
要求:
利用MATLAB作出系统校正前与校正后的单位脉冲响应曲线,单位阶跃响应曲线,单位斜坡响应曲线,分析这三种曲线的关系?
求出系统校正前与校正后的动态性能指标σ%、
、
、
以及稳态误差的值,并分析其有何变化?
5.1校正前系统的动态性能分析
校正前的开环传递函数为:
(1)单位脉冲响应
MATLAB程序为:
>>d1=[08];
>>d2=[0.51];
>>num=conv(d1,d2);
>>d3=[11];
>>d4=[11];
>>den1=conv(d3,d4);
>>d5=[0.21];
>>d6=[0.11];
>>den2=conv(d5,d6);
>>den=conv(den1,den2);
>>G1=tf(num,den);
>>sys1=feedback(G1,1)
Transferfunction:
4s+8
------------------------------------------
0.02s^4+0.34s^3+1.62s^2+6.3s+9
>>impulse(sys1);
校正前单位脉冲响应曲线
(2)单位阶跃响应
MATLAB程序为:
>>d1=[08];
>>d2=[0.51];
>>num=conv(d1,d2);
>>d3=[11];
>>d4=[11];
>>den1=conv(d3,d4);
>>d5=[0.21];
>>d6=[0.11];
>>den2=conv(d5,d6);
>>den=conv(den1,den2);
>>G1=tf(num,den);
>>sys1=feedback(G1,1)
Transferfunction:
4s+8
------------------------------------------
0.02s^4+0.34s^3+1.62s^2+6.3s+9
>>step(sys1);
校正前单位阶跃响应曲线
由图可知:
,
,
,
,
(3)单位斜坡响应
MATLAB程序为:
>>d1=[08];
>>d2=[0.51];
>>num=conv(d1,d2);
>>d3=[11];
>>d4=[11];
>>den1=conv(d3,d4);
>>d5=[0.21];
>>d6=[0.11];
>>den2=conv(d5,d6);
>>den=conv(den1,den2);
>>sope1=tf(num,den);
>>sys1=feedback(sope1,1);
>>n2=1;
>>d2=conv([10],[11]);
>>rs=tf(n2,d2);
>>sys2=sys1*rs;
>>step(sys2);
校正前单位斜坡响应曲线
5.2校正后系统的动态性能分析
校正后的开环传递函数为:
(1)单位脉冲响应
MATLAB程序为:
>>d1=[08];
>>d2=[0.51];
>>d3=[5.4331];
>>d0=conv(d1,d2);
>>num=conv(d0,d3);
>>d4=[10];
>>d5=[11];
>>d6=[0.21];
>>d7=[0.11];
>>d8=[14.1391];
>>den1=conv(d4,d5);
>>den2=conv(d6,d7);
>>den3=conv(den1,den2);
>>den=conv(den3,d8);
>>g=tf(num,den);
>>sys=feedback(g,1);
>>impulse(sys);
校正后单位脉冲响应曲线
(2)单位阶跃响应
MATLAB程序为:
>>d1=[08];
>>d2=[0.51];
>>d3=[5.4331];
>>d0=conv(d1,d2);
>>num=conv(d0,d3);
>>d4=[10];
>>d5=[11];
>>d6=[0.21];
>>d7=[0.11];
>>d8=[14.1391];
>>den1=conv(d4,d5);
>>den2=conv(d6,d7);
>>den3=conv(den1,den2);
>>den=conv(den3,d8);
>>g=tf(num,den);
>>sys=feedback(g,1);
>>step(sys);
校正后单位阶跃响应曲线
由图可知:
,
,
,
,
(3)单位斜坡响应
MATLAB程序为:
>>d1=[08];
>>d2=[0.51];
>>d3=[5.4331];
>>d0=conv(d1,d2);
>>num=conv(d0,d3);
>>d4=[10];
>>d5=[11];
>>d6=[0.21];
>>d7=[0.11];
>>d8=[14.1391];
>>den1=conv(d4,d5);
>>den2=conv(d6,d7);
>>den3=conv(den1,den2);
>>den=conv(den3,d8);
>>g=tf(num,den);
>>sys1=feedback(g,1);
>>n2=1;
>>d2=conv([10],[11]);
>>rs=tf(n2,d2);
>>sys2=sys1*rs;
>>step(sys2);
校正后单位斜坡响应曲线
三条曲线关系:
斜坡响应曲线的导数是阶跃,阶跃响应曲线的导数是脉冲响应曲线。
校正后的
、
、
、
与校正前均变大,
不变,都是0。
六系统的根轨迹分析
要求:
绘制系统校正前与校正后的根轨迹图,并求其分离点、汇合点及与虚轴交点的坐标和相应点的增益
值,得出系统稳定时增益
的变化范围。
6.1校正前系统的根轨迹分析
校正前的开环传递函数为:
MATLAB程序如下:
>>d1=[08];
>>d2=[0.51];
>>num=conv(d1,d2);
>>d3=[11];
>>d4=[11];
>>den1=conv(d3,d4);
>>d5=[0.21];
>>d6=[0.11];
>>den2=conv(d5,d6);
>>den=conv(den1,den2);
>>g=tf(num,den);
>>rlocus(g);
>>[k,poles]=rlocfind(num,den);
Selectapointinthegraphicswindow
得到校正前系统的根轨迹:
selected_point=-0.0948+7.0186i
-1-1.43e-0.08i
k=3.5791
poles=
-14.8601
-0.0523+6.9989i
-0.0523-6.9989i
-2.0354
分离点:
-1-1.43e-0.08i
与虚轴交点:
6.2校正后系统的根轨迹分析
校正后的开环传递函数为:
MATLAB程序如下:
>>d1=[08];
>>d2=[0.51];
>>d3=[5.4331];
>>d0=conv(d1,d2);
>>num=conv(d0,d3);
>>d4=[10];
>>d5=[11];
>>d6=[0.21];
>>d7=[0.11];
>>d8=[14.1391];
>>den1=conv(d4,d5);
>>den2=conv(d6,d7);
>>den3=conv(den1,den2);
>>den=conv(den3,d8);
>>g=tf(num,den);
Transferfunction:
21.73s^2+47.46s+8
-------------------------------------------------
0.2828s^5+4.544s^4+18.7s^3+15.44s^2+s
>>rlocus(g)
>>[k,poles]=rlocfind(g)
得到校正后系统的根轨迹:
Selectapointinthegraphicswindow
selected_point=
0+5.6522i
k=6.1007
poles=
-13.6358
-0.0640+5.6778i
-0.0640-5.6778i
-2.1219
-0.1850
分离点:
与虚轴交点:
七系统的奈奎斯特曲线图
要求:
绘制系统校正前与校正后的Nyquist图,判断系统的稳定性,并说明理由。
7.1校正前系统的奈奎斯特曲线图
校正前的开环传递函数为:
MATLAB程序如下:
>>d1=[08];
>>d2=[0.51];
>>num=conv(d1,d2);
>>d3=[11];
>>d4=[11];
>>den1=conv(d3,d4);
>>d5=[0.21];
>>d6=[0.11];
>>den2=conv(d5,d6);
>>den=conv(den1,den2);
>>g=tf(num,den);
>>nyquist(g)
由于校正前奈奎斯特曲线不绕过(-1,j0)点,故系统校正前稳定。
7.2校正后系统的奈奎斯特曲线图
校正后的开环传递函数为:
MATLAB程序如下:
>>d1=[08];
>>d2=[0.51];
>>d3=[5.4331];
>>d0=conv(d1,d2);
>>num=conv(d0,d3);
>>d4=[10];
>>d5=[11];
>>d6=[0.21];
>>d7=[0.11];
>>d8=[14.1391];
>>den1=conv(d4,d5);
>>den2=conv(d6,d7);
>>den3=conv(den1,den2);
>>den=conv(den3,d8);
>>g=tf(num,den);
>>nyquist(g)
由图可知N=0,Z=P-2N,所以Z=0,从而校正后的系统稳定。
第八章系统的对数幅频特性及对数相频特性
要求:
绘制系统校正前与校正后的Bode图,计算系统的幅值裕量,相位裕量,幅值穿越频率和相位穿越频率。
判断系统的稳定性,并说明理由。
8.1校正前系统的对数幅频特性及对数相频特性
校正前的开环传递函数为:
MATLAB程序如下:
>>d1=[0.51];
>>d2=[08];
>>num=conv(d1,d2);
>>d3=[11];
>>d4=[10];
>>den1=conv(d3,d4);
>>d5=[0.21];
>>d6=[0.11];
>>den2=conv(d5,d6);
>>den=conv(den1,den2);
>>bode(num,den);
>>[h,R,Wg,Wc]=margin(num,den);
>>margin(num,den);
校正前的Bode图为:
幅值裕度:
=8.34dB
相角裕度:
=22.4deg
穿越频率:
=5.98rad/sec
截止频率:
=3.45rad/sec
8.2校正后系统的对数幅频特性及对数相频特性
校正后的开环传递函数为:
用MATLAB语言校正如下:
>>k=8;
>>d1=[0.51];
>>d2=[5.4331];
>>num1=conv(d1,d2);
>>num=k*num1;
>>d3=[10];
>>d4=[11];
>>d5=[0.21];
>>d6=[0.11];
>>d7=[14.1391];
>>den1=conv(d3,d4);
>>den2=conv(d5,d6);
>>den3=conv(den1,den2);
>>den=conv(den3,d7);
>>margin(num,den);
校正后BODE图为:
幅值裕度:
=16.2dB
相角裕度:
=36.9deg,满足题目要求
截止频率:
rad/sec
穿越频率:
=5.84rad/sec
由此可以看出校正后的系统符合题目对相角稳定裕量的要求,从而此次设计正确。
根据奈奎斯特曲线可得N=0,Z=P-2N,所以Z=0,从而校正后的系统稳定。
总结
短短2周的时间,紧张忙碌的自控课程设计就这样过去了。
从一开始的确定题目,到查资料,到自学MATLAB,这一系列的环节都是对我的极大的考验。
开始看到题目之后,我先按照上课所讲的知识,简单的算了下该如何校正。
然后就是找资料以及自学MATLA