华科电气大四matlab大作业w
《MATLAB课程设计》
班 级 学 号 姓 名 时 间 2016年12月30日
目录
一.设计目的 ............................................................................................................... 2
二.设计要求 ............................................................................................................... 2
三.设计分析 ............................................................................................................... 2
四.基于根轨迹法的相位滞后校正设计 ................................................................... 5
五.相位超前校正设计 ............................................................................................... 8
六.相位滞后校正设计 ............................................................................................. 12
七.总结 ..................................................................................................................... 16
参考文献 ....................................................................................... 错误!未定义书签。
反馈控制系统设计—铣床控制
一、设计目的
铣床是用铣刀对工件进行铣削加工的机床。铣床除能铣削平面、沟槽、轮齿、螺纹和花键轴外,还能加工比较复杂的型面,效率较刨床高,在机械制造和修理部门得到广泛应用。
很多情况下,铣床被用来进行高精度加工,由于对其具有较高的精度要求,那么一个可靠的反馈控制系统也不可缺少。本次课程设计,我将通过利用MATLAB软件设计铣床反馈控制系统,使其具有良好的反馈校正,保证一个较高的精度。
二、设计要求
1、单位斜坡输入R(s)11下的速度误差小于。 28s2、阶跃输入响应下的超调量小于20%。
三、设计分析
传递函数简化表示下的铣床闭环控制方框图如下图所示:
D(s)R(s)Desired depth-of-cut+Contoller-Gc(s)++PlantG(s)Y(s)Actual depth-of-cut++N(s)
图1. 铣床闭环控制系统
其中:Gc(s)为开环控制系统函数,G(s)为铣床本身传递函数,D(s)为外部扰动函数,N(s)为测量噪声干扰。
铣床的传递函数为:
G(s)2s(s1)(s5)
系统的开环稳态误差
E(s)R(s)Y(s)R(s)2s(s1)(s5)G(s)1R(s)R(s)1G(s)1G(s)代入G(s),R(s)s1可求得系统的单位斜坡响应稳态误差:
2esslime(t)limsE(s)limsts0s0121s(s1)(s5)1s(s1)(s5)151lims>s2s0s(s1)(s5)2s228
此时的速度误差不满足要求,需要加入反馈控制系统。 首先在Matlab中画出校正前的闭环传递函数:
图2 未加校正的铣床闭环传递函数模型
所得仿真波形如下:
图3 未校正系统斜坡输入与输出波形
可以看出,稳态时的误差大概有2.5左右,与理论计算值一致,需要加入控制系统。
阶跃响应下的仿真:
图4 校正前系统的阶跃输入传递函数
图5 校正前的阶跃输入与输出仿真结果
可以看出,此时系统的超调量是小于20%的,符合设计要求。只需对斜坡输入下的稳态误差进行控制器调节。
系统的传递函数:
G(s)221s(s1)(s5)5s(s1)(s1)5
1,其中Kv可知该模型为Ⅰ 型系统,单位斜坡响应下的稳态误差essKv2为速度误差系数。所以,为减小系统的斜坡响应稳态误差,需要适当5增大Kv的值。
1为满足要求使稳态误差小于,则需Kv8,此时增益为K5Kv40。
8查阅资料,在Matlab中编程绘制传递函数根轨迹如下图(单位增益):
图6 未加校正的传递函数根轨迹
其中代码截图如下:
根轨迹过虚轴时的根轨迹增益约为32,而满足要求的增益至少为40,此时系统失稳。即简单的增大系统增益,速度误差满足要求的情况下会使得系统稳定性丧失。需要采用超前/滞后/超前滞后等有效措施来满足要求。
四.基于根轨迹法的相位滞后环节校正
设Kv10>8满足,滞后环节的传递函数为
GzcsKssp
此时稳态误差:
Eslimsas0s211sG)G(s)11lims0sGs)G(s)8
c(sc(即
lims0sGc(s)G(s)8 将Gc(s),G(s)代入易得
Kv2Kz5p108
G(s)2s(s1)(s5)的根轨迹如下图:
图
轨迹图
根轨迹代码如下:
7 系统传递函数根
num=[2];
den=conv(conv([1, 0],[1,1]),[1,5]); G=tf(num,den); rlocus(G); grid on
超调量低于20%,查表得阻尼比ξ应大于0.45。考虑一定的裕度,取阻尼比ξ=0.65。
当阻尼比为0.651时:
图8 阻尼比为0.651时的
增益截图
系统的增益为1.19,即K/α=1.19。 根据Kv2Kz10有: 5pz21.01p
取z=0.05,则p=0.00238。 于是滞后环节的传递函数为
GcsKszs0.051.19sps0.00238
于是,整个系统的传递函数为
GG(s)Gcs1.192s0.052.38(s0.05)ss1s5s0.00238ss1s5(s0.00238)加入滞后环节后的Matlab传函如下:
图9. 加入滞后环节后的阶跃响应
最大值不超过1.2,即超调量小于20%,符合设计要求。又因为是按照斜坡输入下的速度误差小于1/8进行的设计,故该要求也满足。设计完成
五.相位超前校正设计
仍取Kv=10,即根轨迹增益K50后,依据伯德图绘制代码 : num=[50];
den=conv(conv([1, 0],[1,1]),[1,5]); G=tf(num,den); bode(G) grid on;
从图中可以看出,幅值为0时对应的相位为-193°>-180°,系统不稳定。需引入超前校正环节。
超前校正环节的传递函数:
Gcs1αTs 1Ts要求系统的阶跃响应超调量小于20%,此时对应的阻尼比ξ=0.45,对应的相位角:
PM=100ξ=45°
考虑留有一定的裕度,系统相位需上移大约70°。 由
sin1 1得到
α=33
M10lg15.19dB
初始系统的伯德特中可以看出,M=-15.19dB时的频率为m6.01rad/s,即新系统的穿越频率为6.01rad/s。
由T1m可以得到:T=0.03
所以超前校正环节的传递函数为
Gc(s)1+αTs10.957s =1Ts10.03s加入校正后系统的传递函数为
G(s)50(10.957s)
s(s1)(s5)(10.03s)
加入校正后系统的伯德图与根轨迹仿真:
伯德图代码如下:
num=50*[0.957,1];
den=conv(conv(conv([1, 0],[1,1]),[1,5]),[0.03,1]); G=tf(num,den); bode(G) grid on;
图11 加入超前校正后系统的伯德图
可以看出,校正后系统穿越点对应的相位约-151°>-180°,系统是稳定
的。
画出系统的根轨迹:
num=50*[0.957,1];
den=conv(conv(conv([1, 0],[1,1]),[1,5]),[0.03,1]); G=tf(num,den); rlocus(G) grid on;
图12 加入超前校正后系统的根轨迹图
此时系统虚轴穿越点的增益不到20,小于系统增益50,系统是稳定的。
在Matlab中搭建仿真如下:
图14 超前校正后系统的阶跃输入及其响应
对于阶跃输入下的仿真可以看出,此时系统的超调量接近40%,大
于要求
20%。所以系统的校正失败,超前校正无法兼顾超调量和稳态误差两个参数。
六、相位滞后校正设计
要求系统的阶跃响应超调量小于20%,此时对应的阻尼比ξ=0.45,对应的相位角:
PM=100ξ=45°。
考虑留有一定的裕度,系统相位需下移大约70°以越过-135°相位点。
滞后校正环节的传递函数为Gcs1s 1s
校正后系统的穿越相位大概为当相位为-123°。
可以看出,对应-123°下的频率为0.506rad/s,即新系统的穿越频率大约
为0.506rad/s。
此时对应的增益约为25dB。 所以有:
M20lg=26,Β≈19.7
10.1m0.0506,19.76即滞后校正环节的传递函数为
G1s1cs1s19.76s13.2s 校正后系统带的传递函数为
G50(1+19.76s)s(s1)(s5)(13.2s)
画出校正后系统的伯德图:
num=50*[19.76,1]; den=conv(conv(conv([1, 0],[1,1]),[1,5]),[3.2,1]); G=tf(num,den); bode(G) grid on;
图15 加入滞后校正后系统的伯德图
校正后系统的穿越频率为0.39rad/s,对应的相位为-122°,保证系统稳定的同时还留有13°左右的裕度。
在Matlab中搭建仿真模型如下:
阶跃响应下的输出仿真:
图16 加入滞后校正后系统的阶跃输入及其响应
可以看出,此时系统单位阶跃输入下的超调量是<20%的,符合设计要求。 至此,系统单位阶跃输入下的超调量和单位斜坡输入下的速度误差均满足设计要求,相位滞后校正设计成功。
课程设计总结
初次接触Matlab软件是在大三学年的电力电子课程中,主要用Matlab进行电力电子模块的仿真。当时就发现Matlab是一个功能强大,身为电气学子必不可少的一款软件,不仅可以用于应用电子方面的仿真,还可以与自动控制理论等课程结合,甚至现在想来,电机方面的设计也可以应用到这款软件,更重要的是,Matlab还具备编程功能,让我们的学习变的多元灵活且方便。
于是,在大四学年的任选课选择中,出于兴趣和实用性,我选择了Matlab语言与系统仿真这门课程。并在课程上收获了很多知识。
通过本次仿真设计,也算是我第一次用Matlab进行传递函数方面的仿真,我主要学到了:
1、如何用Matlab编程语言绘制系统伯德图、根轨迹。 2、如何在Simlink库中搭建传递函数模型并进行仿真。
3、如何把自动控制理论、Matlab语言及仿真和实际问题(如本次的铣床反馈控制设计)结合起来,解决实际工程问题。
参考文献:
【1】Robert,H,Bishop,Modern Control System Analysis and Design Using MATLAB and Simulink.,清华大学出版社 【2】网络文献:Matlab编程语言
【3】网络文献:Matlab在自动控制中的应用