自动控制课程设计基于自动控制原理的性能分析设计与校正.doc_第1页
自动控制课程设计基于自动控制原理的性能分析设计与校正.doc_第2页
自动控制课程设计基于自动控制原理的性能分析设计与校正.doc_第3页
自动控制课程设计基于自动控制原理的性能分析设计与校正.doc_第4页
自动控制课程设计基于自动控制原理的性能分析设计与校正.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南城建学院 课程设计报告河南城建学院课程设计报告( 2011 - 2012学年第2学期)名 称:自动控制原理课程设计 题 目:基于自动控制原理的性能分析设计与校正院 系: 班 级 学 号: 学生姓名: 指导教师: 目录1、 课程设计的目的与要求-32、 设计正文-4 2.1控制系统的数学建模-4 2.2控制系统的时域分析-7 2.3控制系统的频域分析-9 2.4控制系统的根轨迹分析-12 2.5控制系统的校正-153、 课程设计总结-204、 参考文献-21 1、 课程设计的目的与要求(1)基于自动控制原理的性能分析设计与校正(2)目的与要求本课程为自动控制原理的课程设计,是课堂的深化。设置自动控制原理课程设计的目的是使MATLAB成为学生的基本技能,熟悉MATLAB这一解决具体工程问题的标准软件,能熟练地应用MATLAB软件解决控制理论中的复杂和工程实际问题,并给以后的模糊控制理论、最优控制理论和多变量控制理论等奠定基础。使相关专业的本科学生学会应用这一强大的工具,并掌握利用MATLAB对控制理论内容进行分析和研究的技能,以达到加深对课堂上所讲内容理解的目的。通过使用这一软件工具把学生从繁琐枯燥的计算负担中解脱出来,而把更多的精力用到思考本质问题和研究解决实际生产问题上去。通过此次计算机辅助设计,学生应达到以下的基本要求:1.能用MATLAB软件分析复杂和实际的控制系统。2.能用MATLAB软件设计控制系统以满足具体的性能指标要求。3.能灵活应用MATLAB的CONTROL SYSTEM 工具箱和SIMULINK仿真软件,分析系统的性能。二、设计正文1控制系统的数学建模控制系统的分析是以控制系统的数学模型为基础的。数学模型的定义:数学模型是描述系统动态特性及其变量之间关系的数学表达式或其他形式的表达。描述系统变量的各阶导数之间关系的微分方程称为系统的动态模型。在静态条件(描述系统变量的各阶导数为零)下,描述变量之间关系的代数方程称为静态模型。数学模型的特点:相似化和抽象化,尽管组成系统模型参数的物理含义各不相同,但它们数学模型的形式很可能是相同的,从数学观点来看,只要数学模型是相同的,那么它们就应该有相同的运动规律,而不论它们的具体参数含义是什么,具有相同数学模型的不同的具体系数称为相似系统。简化性和精确性,在建模的时候,要再简化和精确之间作折衷选择,其原则是简化后的数学方程的解的结果必须满足工程实际的要求并留有一定的余地。数学模型的种类:数学模型有多种形式,究竟选用哪一种模型,一般要视采用的分析方法和系统的类型而定,比如:连续系统的单输入/单输出系统的时域分析法可采用微分方程,连续多输入多输出系统的时域分析法可以采用状态方程,离散系统可以采用差分方程等。常用的数学模型有微分方程、传递函数、差分方程、状态方程、结构图、频率特性等。在MATLAB中,常用的控制系统数学模型主要包括TF模型(多项式模型)、ZPK模型(零极点模型)和SS模型(状态空间模型)。在MATLAB中,为了使用方便,控制系统数学模型的创建使用了句柄数据结构,创建为LTI对象(Linear Time Invariant Object)。控制系统数学模型的对象函数如下表所示:对象名称属性名称意 义属性值的变量类型tf对象(传递函数)den传递函数分母系数由行数组组成的单元阵列num传递函数分子系数由行数组组成的单元阵列variable传递函数变量s、z、p、k、z-1中之一zpk对象(零极点增益)k增益二维矩阵p极点由行数组组成的单元阵列variable零极点增益模型变量s、z、p、k、z-1中之一z零点由行数组组成的单元阵列ss对象(状态空间)a系数矩阵二维矩阵b系数矩阵二维矩阵c系数矩阵二维矩阵d系数矩阵二维矩阵e系数矩阵二维矩阵StateName状态变量名字符串单元向量对于传递函数的分母或分子为多项式相乘的情况,可通过两个向量的卷积函数conv()函数求多项式相乘来解决分母或分子多项式的输入。conv()函数允许任意地多层嵌套,从而可表示复杂的计算。1有理函数模型线性系统的传递函数模型可一般地表示为: 将系统的分子和分母多项式的系数按降幂的方式以向量的形式输入给两个变量和,就可以轻易地将传递函数模型输入到MATLAB环境中。命令格式为:; ;在MATLAB控制系统工具箱中,定义了tf() 函数,它可由传递函数分子分母给出的变量构造出单个的传递函数对象。从而使得系统模型的输入和处理更加方便。该函数的调用格式为:Gtf(num,den)2.零极点模型线性系统的传递函数还可以写成极点的形式: 将系统增益、零点和极点以向量的形式输入给三个变量、Z和P,就可以将系统的零极点模型输入到MATLAB工作空间中,命令格式为:在MATLAB控制工具箱中,定义了zpk()函数,由它可通过以上三个MATLAB变量构造出零极点对象,用于简单地表述零极点模型。该函数的调用格式为:G=zpk(Z,P,KGain)例10-5已知系统的传递函数为:,在 MATLAB环境下获得其连续传递函数形式模型。已知系统的脉冲传递函数为:,在 MATLAB环境下获得其采样时间为7秒的传递函数形式模型。解:在MATLAB中输入以下命令并按回车键:z=-1 -2; %开环零点 p=-3;-4;-5; %开环极点 k=8; %系统的开环增益 G1=zpk(z,p,k) %定义G1,zpk()表示用开环零极点级增益表示的传递函数模型则结果显示为:Zero/pole/gain: %零极点模型(ZPK模型) 8 (s+1) (s+2)-(s+3) (s+4) (s+5)z,p,k=zpkdata(G1,v)%获取系统的零点z,极点p,增益k等参数信息z = -1 -2p = -3 -4 -5k = 8 tf(G1) %多项式模型Transfer function: 8 s2 + 24 s + 16-s3 + 12 s2 + 47 s + 602. 控制系统的时域分析时域分析法就是根据输入、输出微分方程或传递函数数学模型,在时间域中分析控制系统的稳定性、稳态性能、动态性能。时域分析法是一种直接准确的分析方法,易为人么所接受,它可以接受系统时域内的全部信息。时域分析法包括稳定性分析、稳态性能分析(稳态误差)、动态性能分析三大方面。在MATLAB软件中稳定性能的分析可以直接求出特征根或用古尔维茨判据判定稳定性,而稳态误差的求取可根据静态误差系数,利用求极限的方法求取(与手算类似不再考虑),也可以输出中直接看出。第三方面动态性能主要是根据系统的各种响应来分析的,所以要学习一下在MATLAB软件中如何获取各种响应的命令函数。常用的响应命令函数如下图所示:step(num,den),step(G)绘制系统阶跃响应曲线step(num,den,t),step(G,t)绘制系统阶跃响应曲线。由用户指定时间范围,如t是标量,则指定了终止时间;如t是向量,则指定了步距和起止时间y=step(num,den,t) y=step(G,t)返回系统阶跃响应曲线y值,不绘制图形。用户可用plot函数绘制y,t=step(num,den,t)y,t=step(G,t)返回系统阶跃响应曲线y值和t值,不绘制图形。可用plot函数绘制Step(A,B,C,D,iu)绘制系统阶跃响应曲线。Iu指定输入和输出Step(A,B,C,D,iu,t)绘制系统的阶跃响应曲线。Iu指定输入,t指定时间范围y,x,t=step(A,B,C,D,iu)返回系统阶跃响应曲线参数,不绘制图形。X为系统状态轨迹,t由系统模型特性决定y,x,t=step(A,B,C,D,iu,t)返回系统阶跃响应曲线参数,不绘制图形。X为系统状态轨迹,t指定时间范围impulse(G)impulse(G,t)impulse(G1,G2,.,Gn)y,t=impulse(G),y=impulse(G,t)求取系统单位脉冲响应,其用法基本同step函数。如带返回参数列表使用则不输出响应曲线,不带返回参数列表则直接打印响应曲线Lsim(G,u,t)y,t=lsim(G,u,t)求取系统对任意输入u的响应。如带返回参数列表使用则不输出响应曲线,不带返回参数列表则直接答应响应曲线1. 古尔维茨判据 设线性定常系统特征方程: ()则 系统稳定的必要充分条件是:特征方程的各项系数均大于0,且如下hurwitz行列式全部大于0: . 古尔维茨判据为:系统稳定的充分必要条件是古尔维茨行列式的各阶主子行列式均大于零,即(i=1,2,,n)。例10-10系统闭环特征方程分别如下,试确定特征根在s平面的位置,并判断系统闭环稳定性。 (1)s4+2s3+3s2+4s+5=0 (2)s3+20s2+9s+100=0试用古尔维茨判据判别系统的稳定性。解:(1)在MATLAB中输入以下命令:d1=2;%一阶行列式的值a=2 4;1 3;%建立二阶矩阵ad2=det(a);%求矩阵a所对应的行列式的值b=2 4 0;1 3 5;0 2 4;%建立三阶矩阵bd3=det(b);%求矩阵b所对应的行列式的值c=2 4 0 0;1 3 5 0;0 2 4 0;0 1 3 5;%建立四阶矩阵cd4=det(c);%求矩阵c所对应的行列式的值if(d10)&(d20)&(d30)&(d40)%给出条件:如果d1,d2,d3,d4同时大于0,则出现如下结果 WARNDLG(The system is stable, Stability Analysis);else%如果d1,d2,d3,d4不全大于0,则出现如下对话框 WARNDLG(The system is unstable,Stability Analysis);end 则结果显示为:所以,该系统不稳定。(2)在MATLAB中输入以下命令:d=1 20 9 100;%描述系统特征方程的系数矩阵,系数中间用空格隔开。r=roots(d)%求解方程的根则结果显示为:r = -19.8005 -0.0997 + 2.2451i -0.0997 - 2.2451i有上述结果可知,系统的三个根全在左半平面,右半平面没有根,所以该系统稳定。3. 控制系统的频域分析频域分析法是应用频率特性研究控制系统的一种经典方法。采用这种方法可直观地表达出系统的频率特性,分析方法比较简单,物理概念比较明确,对于诸如防止结构谐振,抑制噪声、改善系统稳定性和暂态性能等问题,都可以从系统的频率特性上明确的看出其物理实质和解决途径。频率分析法主要包括三种方法:Bode图(幅频/相频特性曲线)、Nyquist曲线、Nichols图。频域分析时常用的函数如下所示:函数名功能格式bodeBode图绘制bode(sys)nicholsNichols图绘制nichols(sys)nyquistNyquist图绘制Nyquist(sys)sigma系统奇异值Bode图绘制Sigma(sys)evalfr计算系统单个复频率点的频率响应fresp = evalfr(sys,x)dbode绘制离散系统的Bode图dbode(a,b,c,d,Ts,iu)dnichols绘制离散系统的Nichols图dnichols(num,den,ts)dnyquist绘制离散系统的Nyquist图dnyquist(num,den,ts)ngridNichols网格图绘制ngridmargin绘制离散系统的Bode图gm,pm,wcg,wcp=margin(sys)freqresp计算系统在给定实频率区间的频率响应h = freqresp(sys,w)(1)用MATLAB作奈奎斯特图控制系统工具箱中提供了一个MATLAB函数nyquist( ),该函数可以用来直接求解Nyquist阵列或绘制奈氏图。当命令中不包含左端返回变量时,nyquist()函数仅在屏幕上产生奈氏图,命令调用格式为:nyquist(num,den) nyquist(num,den,w)nyquist(G) nyquist(G,w)该命令将画出下列开环系统传递函数的奈氏曲线: (2)用MATLAB作伯德图控制系统工具箱里提供的bode()函数可以直接求取、绘制给定线性系统的伯德图。当命令不包含左端返回变量时,函数运行后会在屏幕上直接画出伯德图。如果命令表达式的左端含有返回变量,bode()函数计算出的幅值和相角将返回到相应的矩阵中,这时屏幕上不显示频率响应图。命令的调用格式为: mag,phase,w=bode(num,den) mag,phase,w=bode(num,den,w)或 mag,phase,w=bode(G) mag,phase,w=bode(G,w)10-32题已知一单位负反馈系统,其开环传递函数为,试绘制时的奈氏曲线,并观察对于系统稳定性的影响。解:方法一:den=conv(2 1,conv(5 1,conv(7 1,10 1);%分母多项式系数for %for循环语句 k=1 2 4 6 8 10;%列举出k值nyquist(k,den);%输出奈氏曲线s=num2str(k);%把k转换为字符gtext(s);%以文本形式将k值输出pause; hold onend方法二:den=conv(2 1,conv(5 1,conv(7 1,10 1);%分母多项式系数k=1 2 4 6 8 10;%列举出k值for %for循环语句i=1:1:length(k)%定义inyquist(k(i),den);%输出奈氏曲线s=num2str(k(i);%把k转换为字符gtext(s);%以文本形式将s值输出pause;hold onend可以看出随着k的增大,该系统的Nyquist曲线向外扩展,影响系统的稳定性:当k=1、2、4时,因曲线闭合且没有包围(-1,j0)点,且右半平面没有开环极点,根据奈奎斯特判据,右半平面的闭环极点数z=p-N=0-0=0,所以闭环系统稳定;当k=6、8、10时,曲线顺时针包围(-1,j0)点两次,根据奈奎斯特判据,右半平面的闭环极点数z=p-N=0-(-2)=2,所以闭环系统不稳定。4. 控制系统的根轨迹分析在控制系统分析中,为了避开直接求解高阶多项式的根时遇到的困难,在实践中提出了一种图解求根法,即根轨迹法。所谓根轨迹是指当系统的某一个(或几个)参数从到时,闭环特征方程的根在复平面上描绘的一些曲线。应用这些曲线,可以根据某个参数确定相应的特征根。在根轨迹法中,一般取系统的开环放大倍数K作为可变参数,利用它来反映出开环系统零极点与闭环系统极点(特征根)之间的关系。 根轨迹可以分析系统参数和结构已定的系统的时域响应特性,以及参数变化对时域响应特性的影响,而且还可以根据对时域响应特性的要求确定可变参数及调整开环系统零极点的位置,并改变它们的个数,也就是说根轨迹法可用于解决线性系统的分析与综合问题。 MATLAB提供了专门绘制根轨迹的函数命令,如下表所示,使绘制根轨迹变得轻松自如。 函数名功能格式pzmap绘制系统的零极点图pzmap(sys)tzero求系统的传输零点z = tzero(sys)rlocfind计算给定根轨迹增益K,poles= rlocfind(sys)rloccus求系统根轨迹K,poles= rlocfind(sys)damp求系统极点的固有频率和阻尼系统Wn,Z = damp(sys)ploe求系统的极点p = pole(sys)dcgain求系统的直流(稳态)增益k = dcgain(sys)dsort离散系统极点按幅值降序排列s = dsort(p)esort连续系统极点按实部降序排列s = esort(p)假设闭环系统中的开环传递函数可以表示为: 则闭环特征方程为:特征方程的根随参数K的变化而变化,即为闭环根轨迹。控制系统工具箱中提供了rlocus()函数,可以用来绘制给定系统的根轨迹,它的调用格式有以下几种: rlocus(num,den) rlocus(num,den,K)或者 rlocus(G) rlocus(G,K)以上给定命令可以在屏幕上画出根轨迹图,其中G为开环系统G0(s)的对象模型,K为用户自己选择的增益向量。如果用户不给出K向量,则该命令函数会自动选择K向量。如果在函数调用中需要返回参数,则调用格式将引入左端变量。如:R,K=rlocus(G)此时屏幕上不显示图形,而生成变量R和K。R为根轨迹各分支线上的点构成的复数矩阵,K向量的每一个元素对应于R矩阵中的一行。若需要画出根轨迹,则需要采用以下命令:plot(R,)plot()函数里引号内的部分用于选择所绘制曲线的类型,详细内容见表1。控制系统工具箱中还有一个rlocfind()函数,该函数允许用户求取根轨迹上指定点处的开环增益值,并将该增益下所有的闭环极点显示出来。这个函数的调用格式为:K,P=rlocfind(G)这个函数运行后,图形窗口中会出现要求用户使用鼠标定位的提示,用户可以用鼠标左键点击所关心的根轨迹上的点。这样将返回一个K变量,该变量为所选择点对应的开环增益,同时返回的P变量则为该增益下所有的闭环极点位置。此外,该函数还将自动地将该增益下所有的闭环极点直接在根轨迹曲线上显示出来。10-26题负反馈系统开环传递函数如下:(3)试绘制K从0+变化时的根轨迹并求出单位阶跃响应为衰减、等幅振荡、增幅振荡、单调增幅时的K值。 解:在MATLAB中输入以下命令并按回车键:num1,den1=pade(5,5);%将纯延迟环节化成有理函数的形式(即传递函数类的分子分母多项式形式)num=conv(num1,1);%分子多项式系数den2=conv(1 0,1 4);den=conv(den1,den2);%分母多项式系数rlocus(num,den);%绘制系统根轨迹得到如下结果axis(-10 10 -100 100)%定义图形的范围,横轴范围是-10-10,纵轴范围是-100-100则结果显示为:k,p=rlocfind (num,den)%此命令将产生一个光标用来选择希望的闭环极点,k为对应选择点处根轨迹开环增益Select a point in the graphics window显示如下结果:selected_point = -0.0000 + 4.9331ik = 31.3302p = -11.5917 -0.0030 + 4.9387i -0.0030 - 4.9387i 0.3262 + 1.5447i 0.3262 - 1.5447i 0.4726 + 0.4548i 0.4726 - 0.4548i 5.控制系统的校正一个完整的自动控制系统的设计包括静态设计和动态设计两个部分,亦称系统的综合。静态设计包括选择执行元件、测量元件、比较元件和放大元件等,即把系统不可变部分确定下来。而由不可变部分组成的控制系统往往不能满足性能指标的要求,甚至不能正常工作。动态设计则是根据性能指标的要求选择校正装置的形式和参数,使校正后系统的性能指标完全满足给定的性能指标的要求,即控制系统的校正。1、根轨迹法串联之后校正基本思路控制系统的设计与校正的任务首先是使系统满足动态性能指标。此时,系统的结构与参数已经全部确定。根据系统型别和开环增益K,可以确定此时系统的静态性能指标。当系统的 型别满足设计要求,但开环增益太小时,可以通过滞后校正网络,进行零极点配置。其校正思路是:在实轴靠近原点的附近构成一对偶极子。它可以在不改变动态性能指标的前提下,减小系统的静态误差。静态校正的原理为:取滞后校正装置,其中。选择零点和极点的位置非常接近且数值也非常小(靠近虚轴)。假设满足系统动态性能指标的开环传递函数为,显然,系统额开环增益为,若K值太小,则会导致系统有差时静态误差过大。此时,若在开环传递函数上串联一个滞后网络,则开环传递函数变为。若滞后网络的零极点非常接近,则对开环传递函数的幅值和幅角的影响可以忽略不计,因此不会影响原系统的闭环 零极点分布,所以也就不会影响系统原有的动态性能指标。但是,此时系统的开环增益则由原来的变成,即扩大了倍()。假设在原点附近取则会使系统在不改变动态性能的前提条件下,开环增益扩大10倍,即系统的稳态误差缩小了10倍。从而达到了改善系统静态性能的目的。滞后校正网络零极点位置的选择显然是非唯一的。只要比值等于所需增益扩大的倍数,就可以满足静态指标要求。所以如何使校正装置的零极点位置既能满足设计要求,又使得计算过程简单,而且便于工程实现。滞后网络零极点的确定:从宏观上讲,零极点越靠近虚轴,对系统静态指标的校正能力越强。但从工程实现的角度出发,极点离虚轴太近,由于实际系统和数学模型之间多少会存在差异,因此对系统的稳定性可能造成威胁,另外,考虑到系统存在的饱和非线性,一阶微分环节的时间根据实际经验,可以采用下列几种几何作图方法,确定滞后网络的零极点位置。2、确定零极点位置的具体步骤如下:(1)已知被校正系统的开环增益为K,依据系统静态性能指标要求,计算系统开环增益的希望值。(2)加入滞后校正网络后,。显然,确定了校正装置的零点,极点也会随之确定。因此,在希望主导极点处,主导极点对应的矢量向外取角引一射线与实轴的交点坐标,取为零点位置,零点坐标的计算过程如下:利用三角形的正弦定理的 (3)计算极点坐标,由得进而得到滞后校正网络为(4)校验滞后校正网络的可实用性。一般以零极点对主导极点的两直线夹角为可使用准则。若大于3,则由于零极点之间的距离过大,可能会影响系统的动态性能。利用三角形的余弦定理,求上述夹角,即,若,则适当缩小初设的10角,重复上述计算过程,再次确定零极点分布,直至满足的要求为止。3、应用举例例题:已知单位负反馈系统被控对象的传递函数为:,试用根轨迹解析方法对系统进行串联滞后校正设计,使之满足:(1)阶跃响应的超调量;(2)阶跃响应的调节时间t0.3s;(3)单位斜坡响应稳态误差e0.01.解:n1=0 2500;%分子多项式系数d1= 1 25 0;%分母多项式系数s1=tf(n1,d1);%定义s1,建立开环传递函数的多形式数学模型sys=feedback(s1,1);%定义负反馈系统sys,及其闭环传递函数的数学模型step(sys)%绘制负反馈系统闭环传递函数单位阶跃的响应曲线sigma=0.15;zeta=(log(1/sigma)2/(pi)2+(log(1/sigma)2)(1/2)zeta =0.5169n1=0 2500;%分子多项式系数d1=1 25 0;%分母多项式系数s1=tf(2500,d1);%建立传递函数的多项式模型rlocus(s1)%绘制系统根轨迹essv=0.01;x=-12.5;z1=0;p1=0;p2=25;zeta=0.54;acos(zeta);ta=tan(acos(zeta);y1=x*ta;y=abs(y1);s1=x+y*i;Kr=abs(s1+p1)*abs(s1+p2);K=Kr/(p1+p2);K0=1/essv;beta=K0/K;T=1/(1/20)*abs(x);betat=beta*T;gc=tf(1/beta)*1 1/T,1 1/betat)%程序运行后可得校正器传递函数 Transfer function:0.2143 s + 0.134- s + 0.134 s1=tf(2500,conv(1 0,1 25);s2=tf(0.2143 0.134,1 0.134);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论