资源描述
自动控制原理课程设计
28
2020年4月19日
文档仅供参考
成绩
课程设计报告
题 目 控制系统的设计与校正
课 程 名 称 自动控制原理课程设计
院 部 名 称 机电工程学院
专 业 自动化
班 级
学 生 姓 名
学 号
课程设计地点
课程设计学时 1周
指 导 教 师
金陵科技学院教务处制
目录
一、课程设计题目及要求………………………………………3
二、课程设计的目的……………………………………………3
三、控制算法选择………………………………………………3
四、控制参数整定………………………………………………3
五、校正前后的特征根…………………………………………4
5.1校正前的特征根………………………………………4
5.2校正后的特征根………………………………………5
六、 校正前后典型脉冲响应……………………………………6
6.1校正前的单位脉冲响应………………………………6
6.2校正后的单位脉冲响应………………………………7
6.3校正前的单位阶跃响应………………………………8
6.4校正后的单位阶跃响应………………………………9
6.5校正前的单位斜坡响应………………………………10
6.6校正后的单位斜坡响应………………………………11
七、校正前后的阶跃响应的性能指标…………………………12
八、校正前后的阶跃响应的根轨迹……………………………15
九、校正前后的Bode图………………………………………17
十、 校正前后的Nyquist图……………………………………19
十一、心得体会…………………………………………………21
十二、参考文献…………………………………………………21
十一、 课程设计题目要求:
已知单位负反馈系统的开环传递函数,试用频率法设计串联滞后校正装置使系统的速度误差系数,相位裕度为,剪切频率。
二、 课程设计应达到的目的:
1、掌握自动控制原理的时域分析法,根轨迹法,频域分析法,以及各种补偿(校正)装置的作用及用法,能够利用不同的分析法对给定系统进行性能分析,能根据不同的系统性能指标要求进行合理的系统设计,并调试满足系统的指标。
2、学会使用MATLAB语言及Simulink动态仿真工具进行系统仿真与调试。
三、控制算法选择
校正前相位裕量:53.5159
校正后要求相位裕量
期望校正角()-53.5159为负角度
因此选择滞后校正
四、控制参数整定
1、因为系统的静态速度误差系数Kv>1,因此可令原传递函数中的K=6.
2、确定滞后装置的传递函数 Gc=(1+bTs)/(1+Ts)根据滞后校正装置的最大幅值和原系统在wc’上的幅值相等条件,求出b值。在wc=wc’处,从未校正的对数幅频特性曲线上求得 :20lg|G0(j wc’)| =20dB
再由20lg 1/b=19.4dB 计算出b=0.1
3、由 1/bT=1/5·wc’ , 因此当wc’≈0.09rad/s , a=0.1时,可求得T=556s 。
4、将所求的a值和T值代入①式得校正装置的传递函数为:
Gc(s)=(1+55.6s)/(1+556s)
5、求出G=[6/(s^3+4s^2+6s)]* Gc(s) 伯德图
由图可知,因为函数中有振荡环节,情况特殊,完全不符合,b偏大,因此自己在图中进行调试,要相位裕度增大,可增大w1,取w1=1/8rad/s,对应w2=1/132rad/s,调试公式:g=tf(conv(6,[8 1]),conv([1 4 6],conv([1 0],[132 1])))对其进行验证,符合,则
Gc(s)=(1+8s)/(1+132s)
五、校正前后的特征根
1、校正前的特征根
由传递函数可求出闭环特征方 。
程序代码如下:
num=[6];
den=[1 4 6 0];
G=tf(num,den);
Gc=feedback(G,1);
[num,den]=tfdata(Gc,'v');
r=roots(den);
disp(r)
输出
-2.5747
-0.7126 + 1.3500i
-0.7126 - 1.3500i
校正前系统闭环传递函数的特征方程的特征根实部皆小于0,因此系统是稳定。
2、校正后的特征根
num=[48,6]
den=[132,529,796,6,0]
G=tf(num,den);
Gc=feedback(G,1);
[num,den]=tfdata(Gc,'v');
r=roots(den);
disp(r)
输出
-1.9710 + 1.3708i
-1.9710 - 1.3708i
-0.0328 + 0.0825i
-0.0328 - 0.0825i
校正后系统闭环传递函数的特征方程的特征根实部也皆小于0,因此校正后系统是稳定。
六、 校正前后典型脉冲响应
1、校正前的单位脉冲响应
程序代码如下:
>> clear
num=[6];
den=[1 4 6 0];
G=tf(num,den);closys=feedback(G,1);
impulse(closys);
>>
校正前的单位脉冲响应曲线图:
2、校正后的单位脉冲响应
程序代码如下:
>> num=[48,6];
den=[132,529,796,6,0];
sys=tf(num,den);
closys=feedback(sys,1);
impulse(closys)
>>
校正后的单位脉冲响应曲线图:
3、校正前的单位阶跃响应:
程序代码如下:
>> clear
num=[6];
den=[1 4 6 0];
G=tf(num,den);closys=feedback(G,1);
step(closys);
>>
校正前的单位阶跃响应曲线:
4、校正后的单位阶跃响应:
程序代码如下:
>> num=[48,6];
den=[132,529,796,6,0];
sys=tf(num,den);
closys=feedback(sys,1);
step(closys)
>>
校正后的单位阶跃响应曲线:
5、校正前的单位斜坡响应:
程序代码如下:
>> s=tf('s') ;
num=[6];
den=[1 4 6 0];
G=tf(num,den);closys=feedback(G,1);
g1=closys/s^2;
impulse(g1),grid;
输出:
Transfer function:
6
---------------------
s^3 + 4 s^2 + 6 s + 6
校正前的单位斜坡响应曲线:
6、校正后的单位斜坡响应:
程序代码如下:
>> s=tf('s') ;
num=[48,6];
den=[132,529,796,6,0];
sys=tf(num,den);
closys=feedback(sys,1);
G1=closys/s^2;
impulse(G1);
>>
校正后的单位斜坡响应曲线:
七、 校正前后的阶跃响应的性能指标
1、校正前的阶跃响应的性能指标
程序代码如下:
num=[6];
den=[1 4 6 0];
G1=tf(num,den);
G2=feedback(G1,1);
[y,t]=step(G2);
C=dcgain(G2);
[max_y,k]=max(y);
tp=t(k)
输出 tp =2.7981
求超调量
>> max_overshoot=100*(max_y-C)/C
输出
max_overshoot =15.2767
>> r1=1;
while(y(r1)<0.1*C)
r1=r1+1;
end
r2=1;
while(y(r2)<0.9*C)
r2=r2+1;
end
tr=t(r2)-t(r1)
输出 tr =1.2242
>> s=length(t);
while y(s)>0.98*C&&y(s)<1.02*C
s=s-1;
end
ts=t(s)
输出 ts =5.7129
校正前的稳态误差
s=tf('s')
G=6/s/(s*s+4*s+6);
Gc=feedback(G,1)
输出校正前的闭环传递函数:
6
---------------------
s^3 + 4 s^2 + 6 s + 6
求稳态误差的程序代码:
ess=1-dcgain(Gc)
输出稳态误差:ess = 0。
2、校正后的阶跃响应的性能指标
num=[48,6]
den=[132,529,796,6,0]
G1=tf(num,den);
G2=feedback(G1,1);
[y,t]=step(G2);
C=dcgain(G2);
[max_y,k]=max(y);
tp=t(k)
输出 tp =29.8233
求超调量
max_overshoot=100*(max_y-C)/C
输出max_overshoot = 37.9559
r1=1;
while(y(r1)<0.1*C)
r1=r1+1;
end
r2=1;
while(y(r2)<0.9*C)
r2=r2+1;
end
tr=t(r2)-t(r1)
输出tr =11.5108
s=length(t);
while y(s)>0.98*C&&y(s)<1.02*C
s=s-1;
end
ts=t(s)
输出ts = 116.6772
校正后的稳态误差
num=[48,6]
den=[132,529,796,6,0]
G1=tf(num,den);
Gc=feedback(G1,1)
Transfer function:
48 s + 6
--------------------------------------
132 s^4 + 529 s^3 + 796 s^2 + 54 s + 6
稳态误差的程序代码如下:
ess=1-dcgain(Gc)
输出ess = 0
从经过滞后网络校正前后的系统动态性能指标中可看出,校正后的峰值时间tp、超调量%σ、上升时间tr、调节时间t等均有变化,反应出滞后校正是以牺牲快速性来换取稳定性和振荡性。
八、校前正后的根轨迹
1、校正前的根轨迹
num=[1];
den=[1 4 6 0];
rlocus(num,den);
[k,p]=rlocfind(n,d)
Select a point in the graphics window
输出选中的与虚轴交点的坐标及与其相对应的增益K:
selected_point =0.0059 + 2.5155i
k =4.2330
p =-4.0621
0.0311 + 2.5003i
0.0311 - 2.5003i
2、校正后的根轨迹
num=[48,6]
den=[132,529,796,6,0]
rlocus(num,den);
num =48 6
den =132 529 796 6 0
[k,p]=rlocfind(num,den)
Select a point in the graphics window
输出选中的与虚轴交点的坐标及与其相对应的增益K:
selected_point = -0.0201 + 2.3478i
k =60.0254
p =-3.8645
-0.0071 + 2.3400i
-0.0071 - 2.3400i
-0.1289
九、校正前后的Bode图
1、校正前bode图
G=tf([6],[1,4,6,0])
margin(G)
[Gm,Pm,Wcg,Wcp]=margin(G)
Gm =4.0000
Pm =53.5159
Wcg=2.4495
Wcp=0.9444
幅值裕量:4,相位裕量:53.5159,幅值穿越频率:0.9444 相位穿越频率: 2.4495。
2、校正后bode图
num=[48,6]
den=[132,529,796,6,0]
G=tf(num,den)
margin(G)
[Gm,Pm,Wcg,Wcp]=margin(G)
Gm =60.8243
Pm =38.7585
Wcg=2.3517
Wcp=0.0979
幅值裕量:60.8243,相位裕量:38.7585,幅值穿越频率:0.0979 相位穿越频率:2.3517
十、校正前后的Nyquist图
1、系统校正前的Nyquist图
num=[6];
den=[1 4 6 0];
sys=tf(num,den);
nyquist(sys)
系统校正前的Nyquist曲线图如下:
2、系统校正后的Nyquist图
num=[48,6]
den=[132,529,796,6,0]
sys=tf(num,den);
nyquist(sys)
系统校正后的Nyquist曲线图如下:
十二、 心得体会
经过这次课程设计我对所学的知识有了更深刻的理解,学会并熟练掌握了matlab软件的知识,以及一些重要的编程函数。提高了自己分析问题、解决问题的能力,并应用知识的能力,课程设计是比较接近于生产实际的,从中对自己未来的工作情况也有了一定的了解。经过查阅各种资料,了解了许多课外的知识,拓宽了自己的知识面。虽然在本次的设计中遇到的不少困难,经过查询资料和请教同学和老师,我还是能按时的完成了课程设计。
十二、主要参考文献
1、程 鹏 .自动控制原理[M] .北京:高等教育出版社,
2、徐薇莉. 自动控制理论与设计[M] 上海:上海交通大学出版社,
3、欧阳黎明. MATLAB控制系统设计[M]. 北京: 国防工业出版社,
展开阅读全文