
自动控制理论_课程设计讲解.doc
28页课程设计报告( 2013 -- 2014 年度第1 学期)名 称: 《自动控制理论》课程设计 题 目:基于自动控制理论的性能分析与校正院 系: 动力系 班 级: 学 号: 学生姓名: 指导教师: 设计周数: 1周 成 绩: 日期: 2014 年 1 月 16 日一、课程设计的目的与要求本课程为《自动控制理论A》的课程设计,是课堂的深化设置《自动控制理论A》课程设计的目的是使MATLAB成为学生的基本技能,熟悉MATLAB这一解决具体工程问题的标准软件,能熟练地应用MATLAB软件解决控制理论中的复杂和工程实际问题,并给以后的模糊控制理论、最优控制理论和多变量控制理论等奠定基础作为自动化专业的学生很有必要学会应用这一强大的工具,并掌握利用MATLAB对控制理论内容进行分析和研究的技能,以达到加深对课堂上所讲内容理解的目的。
通过使用这一软件工具把学生从繁琐枯燥的计算负担中解脱出来,而把更多的精力用到思考本质问题和研究解决实际生产问题上去通过此次计算机辅助设计,学生应达到以下的基本要求:1.能用MATLAB软件分析复杂和实际的控制系统2.能用MATLAB软件设计控制系统以满足具体的性能指标要求二、设计正文 1.控制系统的数学建模(1). 已知系统的脉冲传递函数为求其等效的传递函数模型解:MATLAB程序如下:num=[1 2 3];den=[1 2 3 4];Ts=4;G1=tf(num,den,Ts)程序运行结果为:Transfer function: z^2 + 2 z + 3---------------------z^3 + 2 z^2 + 3 z + 4 (2)已知系统的脉冲传递函数为,在MATLAB环境下获得其采样时间为10S的传递函数形式模型解:MATLAB程序如下z=[-1 -2];p=[-1 -2 -3];k=4;Ts=10;G1=zpk(z,p,k,Ts)程序运行结果为:Zero/pole/gain: 4 (z+1) (z+2)-----------------(z+1) (z+2) (z+3) Sampling time: 102.控制系统的时域分析(1) (1) 假设系统开环传递函数为求系统的单位负反馈下的阶跃响应曲线。
解:程序为:num0=10;den0=[1 5 10 15];[numc,denc]=cloop(num0,den0)t=0:0.1:20;[y,x,t]=step(numc,denc,t);plot(t,y)程序运行结果如下;numc = 0 0 0 10denc = 1 5 10 25根据程序得到以下响应曲线:(2)已知二阶系统传递函数为 )求动态性能曲线和峰值时间,超调量,稳定幅值等性能指标>> G=zpk([ ],[-1,-2],3); C=dcgain(G) [y,t]=step(G);plot(t,y)grid[Y,k]=max(y);timetopeak=t(k)percentovershoot=100*(Y-C)/Cn=1;while y(n)
解:num=[1 2 4];den=[1 2 3];nyquist(num,den);titlt('nyquist plot')系统nyquist曲线:(2)有一系统:,绘制出系统的bode图解:执行如下程序:k=50;z=[-1];p=[0 -5 -10 -10];[num,den]=zp2tf(z,p,k);bode(num,den);title('Bode Plot');得到bode图:4. 控制系统的根轨迹分析 (1) 已知一个单位负反馈系统开环传递函数为: 试绘制系统闭环的根轨迹图;解:执行以下程序:n1=1,d1=conv([1 0],conv([1 1],[2 1]));s1=tf(n1,d1);rlocus(s1)[k,poles]=rlocfind(s1)得到根轨迹图:(2)设系统的开环传递函数如下:绘制出闭环系统的根轨迹.解:执行如下程序:num=[2 6];den=[1 2 3];rlocus(num,den)title('Root Locus');[k.p]=rlocfind(num,den)gtext('k=0.5')得到如下根轨迹图:5.根轨迹校正(1)根轨迹超前校正设单位反馈系统开环传递函数为要求超调量小于等于16.3%,调整时间小于等于1.5s。
K=4 闭环极点p=-1+j3^0.5,-1-j3^0.5 阻尼比为0.5,无阻尼自振频率为2rad/s,静态误差系数为2求的满足条件的闭环极点为s=-2+j3^0.5,-2-j3^0.5相位裕度为45° 校正前根轨迹如下num=[4]; den=conv([0 1],[1 2]); rlocus(num,den); grid校正装置函数为校正后根轨迹如下num1=4*[1 2.9];den1=conv([1 5.4],conv([0 1],[1 2]));rlocus(num1,den1)grid以校正和未校正系统的单位阶跃响应曲线如下numg=4;deng=[1,2,0];[num,den]=cloop(numg,deng);numc=18.7*[1,2.9];denc=conv([1,0],conv([1,2],[1,5.4]));[num1,den1]=cloop(numc,denc);t=0:0.01:10;[c1,x1,t]=step(num,den,t);[c2,x2,t]=step(num1,den1,t);plot(t,c1,'--',t,c2,'-');grid (2).根轨迹滞后校正系统校正前传递函数为:由传递函数可知其根轨迹有3条分支,其极点为(0,0),(-10,0),(-5,0),没有零点,其实轴上的主要根轨迹为,渐近线交点为(-5,0)渐近线与实轴夹角,将代入系统特征方程得:令其实部为零,解得:,K=15,故与虚轴交点为(0,7.07),(0,-7.07)和(0,0)解得:(舍去)在matlab的命令窗口中输入的程序为:n=1;d=[0.02,0.3,1,0];rlocus(n,d)校正后系统传递函数为由传递函数可知其根轨迹有3条分支,其极点为(0,0),(-10,0),(-5,0),(-0.012,0)零点为(-0.43,0),其实轴上的主要根轨迹为,渐近线交点为(-4.86,0)渐近线与实轴夹角,将代入系统特征方程得:令其实部虚部都为零,解得:,故与虚轴交点为(0,7.06),(0,-7.06)和(0,0)解得:在matlab的命令窗口中输入的程序为:n=[2.31,1];d=[1.65,24.82,82.97,1,0];rlocus(n,d)系统以校正和未校正的单位阶跃响应曲线如下校正前校正后6.频域校正(1)频域法超前校正单位负反馈系统的开环传递函数为: , 设计系统使相角裕量 ,幅值裕量。
根据自动控制理论与题意,系统传递函数已经给出,现检查原系统的频域性能指标是否满足题目要求在程序文件方式下执行如下MATLAB程序 n1=20;d1=conv(conv([1 0],[0.001 1]),[0.5 1]);s1=tf(n1,d1);figure(1);margin(s1);hold onfigure(2);sys=feedback(s1,1);step(sys);程序运行后,可得到如下图所示未校正的系统的Bode图及其性能指标,还有如图2所示未校正系统的单位阶跃响应由图1可知系统的频域性能指标幅值稳定裕度:h=34dB 穿越频率:wg=44.7rad/s相角稳定裕度:r=17.6 剪切频率:wc=3.08rad/s未校正系统的Bode图及频域性能图2 未校正系统的单位阶跃响应系统校正前,相角稳定裕度r=17.6<65 ,未满足要求;幅值稳定裕度:h=34db ,满足要求故原系统需要进行校正由于系统校正前,相角稳定裕度r=17.6< 65 所以必须对系统进行超前校正设超前校正装置的校正函数为:用MATLB求超前校正装置的传递函数。
执行如下MATLAB程序n1=20;d1=conv(conv([1 0],[0.001 1]),[0.5 1]);so=tf(n1,d1);gama=80;gm=17.6;e=7;fm=(3.14/180)*(gama-gm+e);a=[1+sin(fm)]/[1-sin(fm)];wc=[(400*a)^(0.25)];t=1/[wc*a^(0.5)];s2=tf([t*a 1],[t 1])运行结果(Transfer function) :既对于校正后系统的相角裕量的超前校正装置传递函数为MATLAB程序运行如下,检验校正后系统的性能指标:%MATLAB PROGRAM w3.m n1=[20];d1=conv(conv([1 0],[0.001 1]),[0.5 1]);s1=tf(n1,d1);figure(1);margin(s1); n2=[0.5241 1];d2=[0.01737 1]; s2=tf(n2,d2); sys=s1*s2; figure(3);mar。
