用MATLAB进行控制系统的.docx
《用MATLAB进行控制系统的.docx》由会员分享,可在线阅读,更多相关《用MATLAB进行控制系统的.docx(20页珍藏版)》请在冰豆网上搜索。
用MATLAB进行控制系统的
目录
1.技术要求1
2.基本原理1
2.1、校正概念1
2.2、超前校正的原理及方法2
2.2.1、超前校正的原理2
2.2.2、超前校正的方法4
3.建立模型描述5
3.1、未校正系统分析5
3.1.1、伯德图5
3.1.2、根轨迹7
3.1.3、simulink仿真7
3.2、超前校正分析8
3.2.1、校正装置参数的选择与计算8
3.3、校正后的验证9
3.3.1、伯德图9
3.3.2、根轨迹10
3.3.3、simulink仿真11
4.模块功能分析或源程序代码12
4.1校正前各程序12
Title13
4.1校正后各程序13
伯德图13
5.调试过程及结论14
5.1稳定性14
5.2暂态性能14
6.心得体会16
7.参考文献17
课程设计任务书
学生姓名:
吕伟专业班级:
电气1002
指导教师:
刘教喻工作单位:
自动化学院
题目:
用MATLAB进行控制系统的超前校正设计。
初始条件:
已知一单位反馈系统的开环传递函数是
要求系统跟随2r/min的斜坡输入产生的最大稳态误差为2°,
。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1、用MATLAB作出满足初始条件的最小K值的系统伯德图,计算系统的幅值裕量和相位裕量。
2、在系统前向通路中插入一相位超前校正,确定校正网络的传递函数。
3、用MATLAB画出未校正和已校正系统的根轨迹。
4、课程设计说明书中要求写清楚计算分析的过程,列出MATLAB程序和MATLAB输出。
说明书的格式按照教务处标准书写。
时间安排:
任务
时间(天)
审题、查阅相关资料
分析、计算
编写程序
撰写报告
论文答辩
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
用MATLAB进行控制系统的
超前校正设计
1.技术要求
初始条件:
已知一单位反馈系统的开环传递函数是
要求系统跟随2r/min的斜坡输入产生的最大稳态误差为2°,
。
要求完成的主要任务:
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
2、用MATLAB作出满足初始条件的最小K值的系统伯德图,计算系统的幅值裕量和相位裕量。
2、在系统前向通路中插入一相位超前校正,确定校正网络的传递函数。
3、用MATLAB画出未校正和已校正系统的根轨迹。
4、课程设计说明书中要求写清楚计算分析的过程,列出MATLAB程序和MATLAB输出。
说明书的格式按照教务处标准书写。
2.基本原理
2.1、校正概念
校正,就是在系统中加入一些其参数可以根据需要而改变的机构或装置,使系统整个特性发生变化,从而满足给定的各项性能指标。
校正的目的就是为了当我们在调整放大器增益后仍然不能满足设计所要求的性能指标的情况下,通过加入合适的校正装置,使系统的性能全面满足设计要求。
按照校正装置在控制系统中的连接方式,可以将校正方式分为串联校正和并联校正两种。
在用分析法进行串联校正时,校正环节的结构通常采用超前校正、滞后校正、滞后——超前校正这三种类型,也就是工程上常用的PID调节器。
在实际的分析设计中,具体采用哪种校正方式,取决于系统的校正要求、信号的性质、系统各点的功率、可选元件和经济条件等。
本次课程设计的要求为用MATLAB进行控制系统的超前校正设计,已知一单位反馈系统的开环传递函数是:
要求系统跟随2r/min的斜坡输入产生的最大稳态误差为2°,
。
所以接下来将对超前校正进行相应的介绍。
2.2、超前校正的原理及方法
2.2.1、超前校正的原理
无源超前网络的电路如图1所示。
如果输入信号源的内阻为零,输出端的负载阻抗视为无穷大,那么超前网络的传递函数可以表示为:
(1-1)
上式中,
,
通常情况下,a为分度系数,T为时间常数,根据式(1-1),当我们采用无源超前网络进行串联校正的时候,整个系统的开环增益会下降a倍,所以需要提高放大器的增益来进行补偿。
图1无源超前网络电路图
同时,根据式(1-1),我们可以得到无源超前网络
的对数频率特性。
超前网络对频率在1/aT至1/T之间的信号有这明显的微分作用,在该频率段内,输出信号相角比输入信号相角超前,这也即是超前校正网络名称的由来。
在最大超前角频率
处,具有最大超前角
。
超前网络(1-1)的相角为:
(1-2)
将上式对
求导并且令其为零,得到最大超前角频率:
(1-3)
将上式代入(1-2),得最大超前角:
(1-4)
同时还容易得到
。
图2超前校正的伯德图
最大超前角
仅仅与衰减因子a有关,a值越大,超前网络的微分效果越强。
但是a的最大值还受到超前网络物理结构的制约,通常情况下,a取为20左右,这也就意味着超前网络可以产生的最大相位超前约为65°,如果所需要的大于65°的相位超前角,那么就可以采用两个超前校正网络串联实现,并且在串联的两个网络之间加入隔离放大器,借以消除它们之间的负载效应。
利用超前网络进行串联校正的基本原理,是利用超前网络的相角超前特性。
只要正确的将超前网络的交接频率1/aT或1/T选在待校正系统截止频率的两旁,并适当的选择参数a和T,就可以使已校正系统的截止频率和相角裕度满足性能指标的要求,从而改善系统的动态性能,使校正后的系统具有以下特点:
1、低频段的增益满足稳态精度的要求;
2、中频段对数幅频特性的斜率为-20db/dec,并且具有较宽频带,使系统具有满足的动态性能;
3、高频段要求幅值迅速衰减,以减少噪声的影响。
2.2.2、超前校正的方法
系统的闭环稳态性能要求,可通过选择已校正系统的开环增益来保证。
用频域法设计无源超前网络的步骤如下:
1、根据稳态误差要求,确定开环增益K;
2、利用已确定的开环增益,计算待校正系统的相角裕度;
3、根据截止频率
的要求,计算a和T。
令
,以保证系统的响应速度,并充分利用网络的相角超前特性。
显然,
成立的条件是:
(
为补偿角)(1-5)
(1-6)
根据上式不难求出a值,然后由式(1-3)确定参数T。
4、验算已校正系统的相角裕度
。
验算时,得到新的开环传递函数后,画出伯德图或根据以上公式验算。
如果验算结果不满足指标要求,说明需要重新选择
,一般情况下是使
增大,然后重复上述步骤。
3.建立模型描述
3.1、未校正系统分析
对于2r/min的斜坡输入:
R=4
≈12,稳态速度误差系数
稳态误差
,选取K=6(rad)-1,则待校正的系统开环传递函数为:
3.1.1、伯德图
上式为最小相位系统,用MATLAB画出系统的伯德图,相应程序为:
num=[6]
den=[0.025,0.55,1,0]
bode(num,den)
grid
得到的图形如图3所示:
图3校正前的系统伯德图
然后应用MATLAB求校正前的相角裕度和幅值裕度,相应程序为:
num=[6]
den=[0.025,0.55,1,0]
sys=tf(num,den)
margin(sys)
[gm,pm,wg,wp]=margin(sys)
得到的图形如图4所示,
图4校正前系统的裕度图
由上图可得:
相角裕度
=23.3deg
截止频率
=3.17rad/sec
幅值裕度
=11.3dB
3.1.2、根轨迹
用MATLAB画出其根轨迹,相应的程序段为:
num=[6]
den=[0.025,0.55,1,0]
rlocus(num,den)
Title(
)
得到如图5所示根轨迹,
图5校正前的系统根轨迹图
3.1.3、simulink仿真
用simulink对系统进行仿真:
图6校正前系统的simulink仿真图
得到如图7所示系统阶跃响应:
图7校正前系统阶跃响应曲线
3.2、超前校正分析
3.2.1、校正装置参数的选择与计算
最大超前角:
(取
=15)
参数a:
最大超前角频率:
代入
得
参数T:
得
所以
确定参数后,已校正系统的开环传递函数为:
3.3、校正后的验证
3.3.1、伯德图
MATLAB程序为:
num=[2.676,6]
den=[0.003,0.086,0.66,1,0]
bode(num,den)
grid
得到如图8所示图形,
图8校正后系统的伯德图
用MATLAB验证校正后的相角裕度和幅值裕度,相应程序为:
num=[2.676,6];
den=[0.003,0.086,0.66,1,0];
sys=tf(num,den);
margin(sys)
[gm,pm,wg,wp]=margin(sys)
得到的图形如图9所示,
图9校正后系统的裕度图
相角裕度:
=46.3deg;
截止频率:
=4.74rad/sec;
幅值裕度:
=13.6dB
46.3大于45,满足要求。
3.3.2、根轨迹
用MATLAB画出校正后的根轨迹,
程序为:
num=[2.676,6];
den=[0.003,0.086,0.66,1,0];
rlocus(num,den);
Title(‘校正后系统根轨迹’)
所得图形如图10所示,
图10校正后系统的根轨迹图
3.3.3、simulink仿真
用simulink对校正后系统进行仿真:
图11校正后系统的simulink仿真图
得到如图12所示系统阶跃响应:
图12校正后系统阶跃响应曲线
4.模块功能分析或源程序代码
4.1校正前各程序
用MATLAB画出系统的伯德图,相应程序为:
num=[6]
den=[0.025,0.55,1,0]
bode(num,den)
grid
MATLAB求校正前的相角裕度和幅值裕度,相应程序为:
num=[6]
den=[0.025,0.55,1,0]
sys=tf(num,den)
margin(sys)
[gm,pm,wg,wp]=margin(sys)
MATLAB画出其根轨迹,相应的程序段为:
num=[6]
den=[0.025,0.55,1,0]
rlocus(num,den)
Title
4.1校正后各程序
伯德图
MATLAB程序为:
num=[2.676,6]
den=[0.003,0.086,0.66,1,0]
bode(num,den)
Grid
用MATLAB验证校正后的相角裕度和幅值裕度,相应程序为:
num=[2.676,6];
den=[0.003,0.086,0.66,1,0];
sys=tf(num,den);
margin(sys)
[gm,pm,wg,wp]=margin(sys)
用MATLAB画出校正后的根轨迹,
程序为:
num=[2.676,6];
den=[0.003,0.086,0.66,1,0];
rlocus(num,den);
Title
5.调试过程及结论
5.1稳定性
相角裕度明显改善,根轨迹在复平面负半平面分布更广,系统抗扰动增强更加稳定。
5.2暂态性能
用MATLAB画出校正前后系统的单位阶跃响应曲线,如图13。
程序为:
num1=[6];
den1=[0.025,0.55,1,0];
num3=[2.676,6];
den3=[0.003,0.086,0.66,1,0];
t=[0;0.25;5]
[num1,den1]=cloop(num1,den1)
y1=step(num1,den1,t)
[num3,den3]=cloop(num3,den3)
y3=step(num3,den3,t)
plot(t,[y1,y3])
grid
gtext(
)
gtext(
)
图13系统校正前后的单位阶跃响应图
由上图可以明显的得出以下结论:
1、加入超前校正装置后,校正后系统的调节时间大大减小,这在一定程度上提升了系统的响应速度;
2、校正后系统的超调量明显减少,阻尼比增大,动态性能得到改善。
3、校正后系统的上升时间减少很多,从而也在一定程度上提升了系统的响应速度。
所以,综合以上,可见串联超前校正装置后,明显的提升了系统的动态性能指标,增加了系统的稳定性。
6.心得体会
这学期所学专业课程,《自动控制原理》可谓是其中难度相对较大的一门,因为它与本专业领域契合最紧,而且相应的理论知识较为丰富,这无疑是在考验我们的掌握能力以及知识整合能力,而且还在一定程度上慢慢的锻炼着我们的专业分析、解决问题能力。
同时,在学期末安排的本次《自动控制原理》课程设计,更是为我们提供了一个回顾知识,巩固知识的机会,让我们得以独立的完成专业知识的实际应用,进而更好的掌握。
下面我将分几个方面对自己的本次体验做一下小结。
收获一:
锻炼了自己做研究不厌其烦的耐心。
在参数计算时,第一次补偿角取的偏小,导致相角裕量不足,所以增大补偿角后又计算了一遍,直至满足相角裕量。
收获二:
对《自动控制原理》基础理论知识的深层次认知。
如果没有机会将知识应用于实际,那么我们所学的知识必然只能是纸上谈兵,本次课设,我们得以有机会将课堂的知识拿来自己运用,这样,抽象的知识也会变得具体,自然对知识的领悟就会上一层次。
收获三:
工欲善其事,必先利其器。
本次课设中,要想处理问题有效率,就必须提高自己的综合能力。
除了需要一定的知识理论外,本次课设,如果想要出色的完成,就必须具备其他诸如信息整合能力、MATLAB软件应用能力、办公软件操作能力等。
收获四:
学无止境。
通过本次课设,不仅学习到了《自动控制原理》的相关知识,而且对还增长了不少其他领域的见闻,这在一定程度上激发了自己的学习兴趣。
当然,本次课设要求题目为控制系统的超前校正,通过不断的更正与校验,基本完成了要求的内容,达到了本次课程设计的目标。
7.参考文献
[1]胡寿松《自动控制原理(第四版)》科学出版社2006
[2]王万良《自动控制原理》高等教育出版社2008
[3]王晓燕/冯江《自动控制理论实验与仿真》华南理工大学出版社,2006
[4]郑勇/徐继宁/胡敦利/李艳杰《自动控制原理实验教程》国防工业出版社2010
[5]何衍庆《MATLAB语言的运用》化学工业出版社2003
[6]刘叔军《MATLAB7.0控制系统应用与实例》机械工业出版社2006