1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,.,*,1,课程设计的目的,课程设计进度安排,求位置随动系统的数学模型,一阶直线倒立摆问题,第,2,章 连续系统的数学模型,第,3,章,用求取时域响应,第,4,章,用,MATLAB,绘制系统的根轨迹,第,5,章 用,MATLAB,进行系统的频域分析,仿真工具,Simulink,简介,课程设计说明书与图纸要求,2,课程设计的目的,自动控制原理课程设计目的是使学生通过学习本课程后,能初步理论联系实际,应用控制理论初步解决实际控制问题,能对系统进行校正和提出改善系统性能的途径和方法。能熟练应用,MATLAB,工具来分
2、析和设计控制系统。,3,课程设计进度安排,序号,阶 段 内 容,所需时间(天),1,布置题目、熟悉题目,收集资料,熟悉,MATLAB,软件,2,2,方案设计与论证、理论分析,与计算,3,3,系统,仿真,2,4,撰写,课程设计报告,2,5,课程设计答辩,1,合 计,10,4,课程设计说明书与图纸要求,设计完成后,按学校“课程设计工作规范”中的“统一书写格式”,撰写课程设计报告一份,包括:设计题目、设计要求、设计方案、设计原理、设计分析与计算、仿真程序、仿真波形、结果分析、心得体会(不少于,800,字)、参考文献(不少于,5,篇)。课程设计报告用,A4,纸打印(不少于,12,页)。,5,求位置随动
3、系统的数学模型,任务是控制机械负载,使其位置与输入手柄的位置相协调。,6,位置随动系统,的方框图,7,各元件微分方程,:,8,零初始条件下的拉氏变换,:,9,各元件传递函数,:,10,由各元部件传递函数,消去中间变量,得系,统的传递函数为:,为转矩系数(牛,米,/,安),是反电势系数(伏,/,(弧度,/,秒),(La,很小,可以忽略不计,),11,例,:,一长度为,l,,质量为,m,的单倒立摆,用铰,链安装在质量为,M,的小车上,小车受电机操纵,在水平方向施加控制力,u,,相对参考坐标系产生位移,x,。要求建立该系统的线性数学模型传递函数(以,u,为输入,为输出)。,一阶直线倒立摆问题,12,
4、设小车瞬时位置为,摆心瞬时位置为,在水平方向,由牛顿第二定律,即:,在垂直方向:惯性力矩与重力矩平衡,13,即,:,则有:,联立求解:,14,其等效动态结构图为,:,15,第,2,章 连续系统的数学模型,2.1,连续系统常用的数学模型及其转换,1,微分方程及传递函数的有理分式模型,在,MATLAB,语言中,可以利用分别定义的传递函数分子、分母多项式系数向量方便地加以描述。例如对于(,2-2,)式,系统可以分别定义传递函数的分子、分母多项式系数向量为:,.,16,例,2-1,已知系统传递函数为,利用,MATLAB,将上述模型表示出来,并将其建立在工作空间中。,解,:,17,例,2-2,已知系统传
5、递函数为,利用,MATLAB,将上述模型表示出来。,解:其,MATLAB,命令为:,num=7*2,3;,den=conv(conv(conv(conv(1,0,0,3,1),1,2),1,2),5,0,3,8);,sys=tf(num,den),运行结果:,Transfer function:,14 s+21,15 s8+65 s7+89 s6+83 s5+152 s4+140 s3+32 s2,Conv:,多项式乘法函数,18,19,2,传递函数的零极点增益模型,在,MATLAB,里,用函数命令,zpk(),来建立控制系统的零极点增益模型,或者将传递函数模型转换为零极点增益模型。,zpk(
6、),函数的调用格式为:,sys=,zpk(z,p,k),函数返回的变量,sys,为连续系统的零极点增益模型。,.,20,例,2-3,已知系统传递函数为 ,,利用,MATLAB,将上述模型表示出来。,k=5;,z=-20;,p=0,-4.6,-1;,sys=zpk(z,p,k),结果:,Zero/pole/gain:,5(s+20),-,s(s+4.6)(s+1),解:,21,3.,零极点增益模型转换为传递函数模型,用法举例:,z=-3;p=-1,-2,-5;k=6;,num,den=zp2tf(z,p,k);,g=tf(num,den),Transfer function:,6 s+18,-,
7、s3+8 s2+17 s+10,结果:,22,1.,反馈连接:,feedback,格式:,num,den=feedback(num1,den1,num2,den2,sign),反馈连接,将系统,1,的指定输出,out1,连接到系统,2,的输入,系统,2,的输出连接到系统,1,的,指定输入,inp1,,以此构成 闭环系统。,sign,缺省时,默认为负反馈,即,sign=-1,。,2.,闭环单位反馈连接:,cloop,格式:,numc,denc=cloop(num,den,sign),表示由传递函数表示的开环系统构成闭环系统,,sign,意义与上述相同。,2.2,求,闭环,系统的传递函数,23,用
8、法举例:,【,例,】,已知反馈系统框图如图所示,,试求系统的传递函数,C(s)/R(s),。,.,24,n1=1;d1=1,0;g1=tf(n1,d1);,n2=0.4;d2=0.5,1;g2=tf(n2,d2);,n3=1;d3=4,1;g3=tf(n3,d3);,n4=12,1;d4=6,1;h=tf(n4,d4);,g=g1*g2*g3;,sys=feedback(g,h,-1),Transfer function:,2.4 s+0.4,-,12 s4+29 s3+10.5 s2+5.8 s+0.4,结果:,25,3.1,中连续系统模型表示方法,3.2,求连续系统的单位脉冲响应,3.3,
9、求连续系统的单位阶跃响应,3.7,控制系统稳定性分析的,MATLAB,实现,第,3,章,用,求取,时域,响应,3.4,求,系统,单位阶跃响应,动态性能指标,3.5,求,系统,单位,斜坡响应,3.6,求,系统,单位,抛物线输入响应,26,3.1,中连续系统模型表示方法,、连续系统多项式模型,表示方法,分子多项式,num=b,0,b,1,b,m-1,b,m,分母多项式,den=a,0,a,1,a,n-1,a,n,建立传递函数,模型,:,sys=tf(num,den),27,、连续系统零极点模型,表示方法,:,比例系数,:,k,k,分子,:,z=-z,1,-z,2,-z,m,分母,:,p=-p,1,
10、p,2,-p,n,建立,零极点,传递函数,模型,:,sys=zpk(z,p,k),模型转换,:,num,den=zp2tf(z,p,k),28,3.2,连续系统的单位脉冲响应,例,1,:求如下系统的单位脉冲响应,num=1.9691,5.0395,den=1,0.5572,0.6106,impulse(num,den),在的,ditor/Debugger,输入程序,在菜单中选择得到结果,29,30,3.3,连续系统的单位阶跃响应,num=1.9691,5.0395,den=1,0.5572,0.6106,step(num,den),例,2,:求如下系统的单位阶跃响应,在的,ditor/Deb
11、ugger,输入程序,在菜单中选择得到结果,31,32,3.4,求,系统,单位阶跃响应,动态性能指标,例,3,:求如下系统的单位阶跃响应,动态性能指标,在的,ditor/Debugger,输入程序,3.4.1,求系统,单位,阶跃响应的性能指标,程序,33,num=22.68,den=1,9.2,7.36,5.376,t=0:0.01:20,step(num,den,t),y,x,t=step(num,den,t),maxy=max(y),yss=y(length(t),pos=100*(maxy-yss)/yss,for i=1:2001,if y(i)=maxy,n=i;end,end,tp
12、n-1)*0.01,y1=1.05*yss,y2=0.95*yss,i=2001,while i0,i=i-1,if y(i)=y1|y(i)=y2;m=i;break,end,end,34,ts=(m-1)*0.01,title(step response),grid,maxy=4.9032 yss=4.2174,pos=16.2616,%,tp=4.6600,y1=4.4283 y2=4.0065,ts=6.7300,在,Debug,菜单中选择得到结果,35,3.4.2,用,MATLAB,中的,LTI Viewer,图形工具,求系统,单位,阶跃响应的性能指标,【,例,4】,已知一个单位
13、反馈系统框图如图所示,其中,求系统的单位阶跃响应,;,并计算其性能指标。,-,36,以,【,例,4】,系统为例来说明怎样使用,MATLAB,中,LTI Viewer,求系统的各种性能指标。,在,MATLAB,命令框输入以下命令:,37,或运行,【,例,4】,中的,M,文件,38,系统的阶跃响应曲线,39,在,MATLAB,提示符,后,输入,ltiview,,即可启动该图形软件,显示窗口如图所示。,40,从,File,的下拉菜单中选中,import,选项选择需要仿真的系统。,选择窗口中的,Lsys,系统,并用鼠标点击,OK,41,在画面中点击鼠标右键,选择,“,Characteristics,”
14、选项,再选择,“,Peak Time,”,项可得阶跃响应曲线中的,峰值时间为,11.3,。,42,43,System,:,Lsys,Peak amplitued,:,1.35,Overshoot(%),:,34.9,At time,:,11.3,44,在画面中点击鼠标右键,选择,“,Characteristics”,选项,再选择,“,Settling Time”,、,“,Rise Time”,、,“,Steady State”,选项可得阶跃响应曲线中的调节时间为,36.3,,上升时间为,4.4,稳态值为,1,(稳态误差为,0,)。,45,本例中,通过点击“,Edit”,菜单,在弹出的下拉菜单
15、中选择“,Viewer Preferences”,项,设定阶跃响应的上升时间范围为最终稳态值的,090%,,调,节,时间的误差带为,2%,。,46,3.5,求,系统,单位,斜坡响应,例,5,:求如下系统的单位,斜坡,响应,在的,ditor/Debugger,输入程序,47,num=10,den=1,4,8,10,t=0:0.1:20,subplot(2,1,1),u=t,plot(t,u),hold on,lsim(num,den,u,t),在,Debug,菜单中选择得到结果,48,3.6,求,系统,单位,抛物线输入响应,例,6,:求如下系统的单位,抛物线输入,响应,在的,ditor/Debu
16、gger,输入程序,49,num=8,8,den=1,5,12,16,8,0,0,t=0:0.1:20,y=step(num,den,t),subplot(2,1,1),y1=0.5*power(t,2),plot(t,y,t,y1),grid,在,Debug,菜单中选择得到结果,50,3.7,控制系统稳定性分析的,MATLAB,实现,直接求根判定系统稳定性,求解控制系统闭环特征方程的根并判断所有根的实部是否小于零,在,MATLAB,里这是很容易用函数,roots(),实现的。,【,例,7】,已知系统开环传递函数为:,试判别系统的稳定性。,【,解,】,根据题意,利用,roots(),函数给出以
17、下,MATLAB,程序段:,k=100;z=-2;p=0,-1,-20;,n1,d1=zp2tf(z,p,k),;,G=tf(n1,d1),;,p=n1+d1,;,roots(p),%,运行结果:,n1=0 0 100 200,,,d1=1 21 20 0,;,%,运行结果:,Transfer function:,100 s+200,-,s3+21 s2+20 s,%,运行结果:,p=1 21 120 200,ans=,-12.8990,-5.0000,-3.1010,51,主要的根轨迹函数表,第,4,章,用,MATLAB,绘制系统的根轨迹,52,4.1,求开环传递函数的零极点,例,1,:,已
18、知系统的开环传递函数,求系统开环零、极点的位置,num=2 5 1;,den=1 2 3;,pzmap(num,den);,title(pole-zero Map),分子多项式,分母多项式,求零极点函数,打印标题,53,4.2,绘制常规根轨迹,例,2,:,已知系统的开环传递函数,绘制该系统的根轨迹图,k=1,z=-0.5,p=0,-1,-2,n,d=zp2tf(z,p,k),rlocus(n,d),绘制根轨迹函数,54,55,例,3,:,已知系统的开环传递函数,绘制系统的根轨迹图。,num=1,den=conv(conv(1,0,1,2.73),1,2,2),rlocus(num,den),t
19、itle(,控制系统根轨迹图,),56,57,4.3,绘制带阻尼比和自然振荡频率栅格,例,4,:,已知系统的开环传递函数,绘制系统的根轨迹图及带阻尼比和自然振荡频率栅格。,k=1,z=-0.5,p=0,-1,-2,n,d=zp2tf(z,p,k),rlocus(n,d),sgrid,title(,控制系统根轨迹图和栅格,),绘制栅格,58,59,4.4,系统性能分析,例,5,:,已知系统的开环传递函数,绘制系统的根轨迹图并分析系统性能。,k=1,z=,p=0,-1,-2,n,d=zp2tf(z,p,k),rlocus(n,d),sgrid,k,p=rlocfind(n,d),求十字光标处的闭环
20、极点,60,Select a point in the graphics window,selected_point=-0.3223+0.5342i,k=0.9479,p=,-2.3123,-0.3438+0.5401i,-0.3438-0.5401i,61,4.5,用根轨迹法判断系统稳定性及其举例,【,例,6】,已知一个单位负反馈系统开环传递函数为,G(s),,试在系统闭环的根轨迹图上选择一点,求出该点的增益,k,及其系统的闭环极点位置,并判断在该点系统闭环的稳定性。,【,解,】,根据题目要求,调用函数命令,rlocfind(),的程序如下:,num=1 3;den=conv(conv(co
21、nv(1 0,1 5),1 6),1 2 2),;,sys=tf(num,den),;,rlocus(sys),%,运行结果:,den=,1 13 54 82 60 0,%,运行结果:,Transfer function:,s+3,-,s5+13 s4+54 s3+82 s2+60 s,图,4.5.-1,62,k,poles=rlocfind(sys),selected_point=,-0.6498-0.0585i,k=,7.2349,poles=,-5.8248,-5.2067,-0.6585+0.8155i,-0.6585-0.8155i,-0.6514,Select a point in
22、 the graphics window,求给定一组根的系统根轨迹增益函数,rlocfind(),函数命令调用格式:,k,poles=rlocfind(sys),函数命令使用说明:,63,【,例,7】,续,【,例,6】,,试计算当,k,在,3337,范围内时系统的闭环极点位置,并判断系统闭环的稳定性。,【,解,】,根据题目要求,用函数命令编写,MATLAB,程序如下:,num=1 3;den=conv(conv(conv(1 0,1 5),1 6),1 2 2);,cpole=rlocus(num,den,33:1:37);,%,运行结果:,cpole=,Columns 1 through 4
23、5.5745+0.6697i -5.5745-0.6697i -1.7990 -0.0260+1.3210i,-5.5768+0.6850i -5.5768-0.6850i -1.8154 -0.0155+1.3340i,-5.5791+0.7001i -5.5791-0.7001i -1.8313 -0.0052+1.3467i,-5.5815+0.7147i -5.5815-0.7147i -1.8466 0.0048+1.3591i,-5.5838+0.7291i -5.5838-0.7291i -1.8615 0.0146+1.3712i,Column 5,-0.0260-1.32
24、10i,-0.0155-1.3340i,-0.0052-1.3467i,0.0048-1.3591i,0.0146-1.3712i,64,range=33:1:37;,range,cpole,ans=,Columns 1 through 4,33.0000 -5.5745+0.6697i -5.5745-0.6697i -1.7990,34.0000 -5.5768+0.6850i -5.5768-0.6850i -1.8154,35.0000 -5.5791+0.7001i -5.5791-0.7001i -1.8313,36.0000 -5.5815+0.7147i -5.5815-0.7
25、147i -1.8466,37.0000 -5.5838+0.7291i -5.5838-0.7291i -1.8615,Columns 5 through 6,-0.0260+1.3210i -0.0260-1.3210i,-0.0155+1.3340i -0.0155-1.3340i,-0.0052+1.3467i -0.0052-1.3467i,0.0048+1.3591i 0.0048-1.3591i,0.0146+1.3712i 0.0146-1.3712i,65,求系统根轨迹的函数,rlocus(),函数命令调用格式:,r,k=rlocus(a,b,c,d),r,k=rlocus(
26、sys),函数命令使用说明:,rlocus(),函数命令用来绘制,SISO,系统的根轨迹图。给定前向通道传递函数,G(s),,反馈补偿为,k*F(s),的受控对象,其闭环传递函数为:,可以用以下程序来校核当,k=35,与,k=36,时闭环系统的阶跃给定响应曲线:,n1=1 3;d1=conv(conv(conv(1 0,1 5),1 6),1 2 2);,for k=35:36,n=k*n1;,s1=tf(n,d1);,G1=feedback(s1,1);,step(G1);hold on,end,gtext(k=35),gtext(k=36),图,4.5-.3,66,主要频域响应函数表,第,
27、5,章 用,MATLAB,进行系统的频域分析,67,5.1,绘制,Bode,图,例,5-1,已知系统的传递函数,绘制系统的,Bode,图。,num=2.5,den=0.01,0.25,1,0,bode(num,den),grid,68,69,sys=tf(1,6,1,0,inputdely,1.5),bode(sys),grid,hold on,例,5-2,已知系统的传递函数,绘制系统的,Bode,图。,70,71,例,5-3,已知系统的传递函数,绘制系统的,Bode,图,;,并求系统的相角裕度和,幅值,裕度。,sys=tf(1,6,1,0,inputdely,1.5),mag,phase,w
28、bode(sys),margin(sys),5.2,绘制,Bode,图并求相应系统的相角裕度和,幅值,裕度,72,73,例,5-4,已知系统的传递函数,绘制系统的,Bode,图,;,并求系统的相角裕度和,幅值,裕度。,n=2.5,d=0.01,0.25,1,0,g1=tf(n,d),mag,phase,w=bode(g1),margin(g1),74,75,5.3,绘制,Nyquist,图,例,5-5,已知系统的传递函数,绘制系统的奈奎斯特图(,Nyquist,图)。,n=2.5,d=0.01,0.25,1,0,nyquist(n,d),76,77,5.4 MATLAB,在线性系统校正中的应
29、用,用,MATLAB,分析,PID,校正系统,PID,控制器的传递函数,例,:,单位反馈系统被控对象的传递函数为,PID,调节器的传递函数,比较校正前后系统的频率特性和单位阶跃响应,78,1,、绘制未校正系统的伯德图,num1=35,den1=conv(conv(0.2,1,0,0.01,1),0.005,1),g0=tf(num1,den1),figure(1),margin(g0),2,、分析校正后的频率特性,79,n2=0.2,3,10,d2=1,0,gc=tf(n2,d2),gk=g0*gc,figure(2),margin(gk),3,、求校正前后的单位阶跃响应,t=0:0.02:5
30、gb0=feedback(g0,1),gb=feedback(gk,1),y1=step(gb0,t),y2=step(gb,t),figure(3),plot(t,y1,y2),grid,80,81,82,83,5.5,控制系统,Bode,图设计方法,一,.Bode,图超前校正设计,超前校正设计是指利用校正器对数幅频曲线具有正斜率的区段及其相频曲线具有正相移区段的系统校正设计。,这种校正设计方法的突出特点是校正后系统的剪切频率比校正前的大,系统的快速性能得到提高。,相位超前校正主要用于改善闭环系统的动态特性,对于系统的稳态精度影响较小。,.,84,【,例,】,已知单位负反馈系统被控对象的传
31、递函数为:,试,用,Bode,图设计方法对系统进行超前串联校正设计,使之满足:,(,1,),在斜坡信号 作用下,系统的稳态误差,(,2,),系统校正后,相角裕度,有:,43,o,48,o,。,【,解,】,(1),求,K,0,即被控对象的传递函数为:,85,(2),做原系统的,Bode,图与阶跃响应曲线,检查是否满足题目要求,86,图,5.1,未,校正,系统的,Bode,图,87,图,5.2,单闭环系统的单位阶跃响应,由图,5.1,和图,5.2,可知系统的:,幅值裕度,G,m,0.1dB,;,-,穿越频率,cg,100.0s,-1,;,相角裕度,P,m,0.1deg,;截止频率,cp,99.5s
32、1,88,(3),求超前校正器的传递函数,根据要求的相角裕度,=45,o,并附加,10,o,,即取,=55,o,。,根据超前校正的原理,可知,,取,设超前校正器的传递函数为:,为了不改变校正后系统的稳态性能,中的,已经,包含在 中,89,计算系统开环对数幅频值。,因为增加超前校正装置后,使,截止,频率向右方移动,并且减小了相位裕量,所以要求额外增加相位超前角,5,0,12,0,。参见后图,1,。为什么?,由,得,Spline,立方插值函数,由:,得:,90,计算结果为:,91,(,4,)校验系统校正后系统是否满足题目要求,92,由,Bode,图可知系统的:,幅值裕度,G,m,=17.614
33、dB,;,-,穿越频率,cg,=689.45s,-1,;,相,角裕度,P,m,=48.148deg,;,截止,频率,cp,=176.57s,-1,计算出的相,角裕度,P,m,=48.148deg,,已经满足题目,43,o,48,o,的要求。,93,(,5,)计算系统校正后阶跃给定响应曲线及其性能指标,94,从,File,的下拉菜单中选中,import,选项选择需要仿真的系统。,选择窗口中的,sys,系统,并用鼠标点击,OK,95,即可得如图画面。若求响应曲线的性能指标,只需在画面中点击鼠标右键,选择“,Characteristics”,选项,再选择后面的选项得:,超调量:,sigma=25.6
34、峰值时间:,tp=0.0158s,调节时间:,ts=0.0443s,96,97,98,图,1,校正后相角裕度,P,m,=48.148,0,校正后,幅值裕度,G,m,=17.614 dB,99,仿真工具,Simulink,简介,(,一),Simulink,界面,Simulink,图标,.,100,连续系统模块组,离散系统模块组,函数和表模块组,数学运算模块组,非线性模块组,信号与系统模块组,输出模块组,信号源模块组,101,(二)模型窗口的建立,打开“,untitled”,窗口有三种方法:,在,MATLAB,的命令窗口中选择,FileNewModel,菜单项;,单击,Simulink,工具栏
35、中的“新建模型”图标;,如果,Simulink,动态结构图已经存在,那么在,MATLAB,指令窗口下直接键入模型文件名字,便会直接打开该模型动态结构图的模型窗口。,.,102,(三)框图模型建立举例,【,例,】,已知一个单位反馈系统框图如图所示,其中,:,试绘制其系统结构图模型,标注模块标题“三阶系统的阶跃响应”,并以文件名“,Zhang4sys1”,存盘。,.,103,绘制该系统结构图步骤如下:,按以下步骤创建一个新的“,untitled”,模型窗口。,104,点击,Sources,,选中信号源模块组中的,Step,模块,并拖拽到“,untitled”,模型窗口。,105,106,在各模块库
36、中,选中需要的标准功能模块并拖拽到,“,untitled,”,模型窗口。双击,“,Transfer Fcn,”,模块,在得出的对话框中,分别输入系统的分子和分母参数,即可得到修改后的系统模型。,107,108,仿真参数的设置,仿真参数设置,启动仿真,109,仿真参数对话框及默认值,110,从仿真曲线看,系统按默认参数仿真,其结果不完整(过渡过程没有结束)。需要修改仿真用参数后再仿真。,解算器,工作空间,诊断,111,用鼠标左键选中并单击,I,积分环节模块标题“,ntegrator,”,,将原标题字符删除重新输入汉字“积分环节”;并可依次修改其他模块标题。最后,再在窗口空白处,双击鼠标左键,输入
37、文字“三阶系统的阶跃响应”。,对建好的系统结构图模型按“,zhang4sys1.mdl”,命名并存盘,112,(,四,).,在,simulink,里绘制单位阶跃响应曲线,例,已知一个单位反馈系统框图如图所示,其中,:,试绘制出该系统的单位给定阶跃响应曲线并计算其性能指标。,用,SIMULINK,提供的,linmod(),和,linmod2(),两个函数,,从连续系统中提取线性模型。,及计算性能指标,1,5,.,0,4,.,0,+,s,.,113,【,解,】,:,114,(1),根据题目要求,用,step(),函数命令编写求单位阶跃响应的,MATLAB,程序段如下:,a,b,c,d=linmod2(t401);,sys=ss(a,b,c,d);,step(sys),SIMULINK,动态结构图,t401.mdl,文件存放在,MATLAB,中,存放路径为,MATLABR11work,中。,115,(,2,)用,LTI Viewer,图形工具求系统阶跃响应的性能指标。,116,






