
自动控制理论课程设计.docx
31页一、课程设计的目的与要求本课程为《自动控制原理》的课程设计,是课堂的深化设置《自动控制原理》课程设计的目的是使MATLAB成为学生的基本技能,熟 悉MATLAB这一解决具体工程问题的标准软件,能熟练地应用MATLAB软件解 决控制理论中的复杂和工程实际问题,并给以后的模糊控制理论、最优控制理论 和多变量控制理论等奠定基础使相关专业的本科学生学会应用这一强大的工 具,并掌握利用MATLAB对控制理论内容进行分析和研究的技能,以达到加深对 课堂上所讲内容理解的目的通过使用这一软件工具把学生从繁琐枯燥的计算负 担中解脱出来,而把更多的精力用到思考本质问题和研究解决实际生产问题上 去通过此次计算机辅助设计,学生应达到以下的基本要求:1•能用MATLAB软件分析复杂和实际的控制系统2•能用MATLAB软件设计控制系统以满足具体的性能指标要求3•能灵活应用MATLAB的CONTROL SYSTEM工具箱和SIMULINK仿真软 件,分析系统的性能二、设计正文1.控制系统的数学建模相关知识:研究一个自动控制系统,单是分析系统的作用原理及其大致的运动过程是不够 的,必须同时进行定量的分析,才能作到深入地研究并将其有效地应用到实际工 程上去。
这就需要把输出输入之间的数学表达式找到,然后把它们归类,这样就 可以定量地研究和分析控制系统了1.有理函数模型线性系统的传递函数模型可一般地表示为:(1)—、 b sm + b sm-i h f b s + bG ( S)= —1 2 m m+1sn + a sn-i + + a s + a1 n -1 n将系统的分子和分母多项式的系数按降幂的方式以向量的形式输入给两个变 量num和den,就可以轻易地将传递函数模型输入到MATLAB环境中命令格式 为:num = [b , b,…,b , b ] ; (2)1 2 m m +1den = [1, a , a,…,a , a ]; (3)1 2 n -1 n在MATLAB控制系统工具箱中,定义了tf()函数,它可由传递函数分子分母给 出的变量构造出单个的传递函数对象从而使得系统模型的输入和处理更加方 便该函数的调用格式为:G = tf(num , den); ( 4 )2. 零极点模型线性系统的传递函数还可以写成极点的形式:G(s) = K5)(s + z )(s + z )…(s + z )12 m(s + p )(s + p )…(s + p )1 2 n将系统增益、零点和极点以向量的形式输入给三个变量 KGain 、 Z和P,就可以将系统的零极点模型输入到MATLAB工作空间中,命令格式为:KGain = K; (6)Z = [—z ; — z ;••• ; — z ]; (7)1 2 mP = [—p ; — p ;…;—p ]; (8)1 2 n在MATLAB控制工具箱中,定义了zpk()函数,由它可通过以上三个MATLAB 变量构造出零极点对象,用于简单地表述零极点模型。
该函数的调用格式为:G=zpk(Z,P,KGain) (9)3. 反馈系统结构图模型设反馈系统结构图如图1所示图1 反馈系统结构图控制系统工具箱中提供了feedback)函数,用来求取反馈连接下总的系统模型,该函数调用格式如下:G=feedback(G1,G2,sign); (10)其中变量sign用来表示正反馈或负反馈结构,若sign = -1表示负反馈系统的模 型,若省略sign变量,则仍将表示负反馈结构G1和G2分别表示前向模型和反 馈模型的LTI (线性时不变)对象4. 有理分式模型与零极点模型的转换 有了传递函数的有理分式模型之后,求取零极点模型就不是一件困难的事情 了在控制系统工具箱中,可以由zpk()函数立即将给定的LTI对象G转换成等效 的零极点对象G1该函数的调用格式为:G1=zpk(G) (11)[例题10-6]生成一个§=0.5,wn = 1的标准二阶系统,随机生成一个五阶稳定的系统,并实现两个模型的串联,并联和反馈连接解:生成一个§=0.5 , wn = 1的标准二阶系统,随机生成一个五阶稳定的系统,并 实现两个模型的串联的程序如下:[num1,den1]=ord2(1,0.5);G1=tf(num1,den1);[num2,den2]=rmodel(5); G2=tf(num2,den2);Gs=series(G1,G2)运行结果如下:Transfer function:-1.336 sA4 - 0.09719 sA3 - 1.028 sA2 - 0.1628 s - 0.08916sA7 + 7.559 sA6 + 61.58 sA5 + 266.3 sA4 + 529.3 Z + 586.4 Z +380.7 s + 111.1生成一个§=0.5 , wn = 1的标准二阶系统,随机生成一个五阶稳定的系统,并实现两个模型的并联的程序如下:[num1,den1]=ord2(1,0.5);G1=tf(num1,den1);[num2,den2]=rmodel(5);G2=tf(num2,den2);Gp=parallel(G1,G2)运行结果如下:Transfer function:sA5 + 6.309 sA4 + 96.76 sA3 + 330.1 sA2 + 2154 s + 1883sA7 + 7.309 sA6 + 105.7 sA5 + 436.6 sA4 + 2587 sA3 + 4371 sA2 +4039 s + 1883生成一个§=0.5 , wn = 1的标准二阶系统,随机生成一个五阶稳定的系统,并实现两个模型的负反馈的程序如下:[num1,den1]=ord2(1,0.5);G1=tf(num1,den1);[num2,den2]=rmodel(5);G2=tf(num2,den2);Gf=feedback(G1,G2,-1)运行结果如下:Transfer function:sA5 + 7.902 sA4 + 20.31 sA3 + 21.67 sA2 + 9.436 s +1.404sA7 + 8.902 sA6 + 29.21 sA5 + 49.88 sA4 + 51.41 sA3 + 32.51 sA2 +9.918 s + 1.6072. 控制系统的时域分析相关知识:时域分析法是一种直接准确的分析方法,易为人们所接受,它可以 接受系统时域内的全部信息。
时域分析法包括稳定性分析、稳态性能分析、动态 性能分析三大方面在MATLAB软件中稳定性能的分析可以直接求出特征根或用 古尔维茨判据判定稳定性,而稳态误差的求取可根据静态误差系数,利用求极限 的方法求取,还可以直接从响应曲线中读取对控制系统性能的分析,主要方法是从稳定性、稳态性能、动态性三个方面着 手,即通常所说的“快”、“稳”、“准”时域分析法,就是根据输入、输出 微分方程或传递函数数学模型,在时间域中分析控制系统的稳定性、稳态性能、 动态性能稳定性的概念:设控制系统处于某一起始的平衡状态,在外作用的影响下,它 离开了平衡状态,当外作用消失后,如果经过足够长的时间它能恢复到起始的平衡状态,则称这样的系统为稳定的系统,否则为不稳定的系统线性定常系统稳定的充要条件是:闭环系统特征方程式的所有根全部为负实数 或具有负实部的共轭复数,也就是所有闭环特征根全部位于复平面的左平面如 果至少有一个闭环特征根分布在右半平面上,则系统就是不稳定的;如果没有右 半平面的根,但在虚轴上有根,则系统是临界稳定的代数稳定判据:(1)劳斯判据:若劳斯表中第一列所有元素都大于零,则系 统是稳定的;如劳斯表第一列出现负元素,则系统不稳定。
2)古尔维茨判据: 将特征方程的系数按下列规则组成一个n阶行列式,叫古尔维茨行列式古尔维 茨行列式构造的规则是:主对角线元素自左上向右下依次为an-1,an-2,..., a1,a2, aO在主对角线以下的各行中各项系数的下标逐次增加,而在主对角 线以上的各行中各项系数的下标逐次减小,当系数的下标小于零或大于n时,行 列式中的各项取零系统稳定的充分必要条件是古尔维茨行列式的各阶主子行列式均大于零,即Di>O(i=1,2,...,n)单位阶跃响应的求法:控制系统工具箱中给出了一个函数step()来直接求取线性系统的阶跃响应,如果已知传递函数为:G(s)numden则该函数可有以下几种调用格式:step(num,den)(13)step(num,den,t)(14)step(G)step(G,t) (15)该函数将绘制出系统在单位阶跃输入条件下的动态响应图,同时给出稳态值对于式13和15 , t为图像显示的时间长度,是用户指定的时间向量式12和14 的显示时间由系统根据输出曲线的形状自行设定如果需要将输出结果返回到MATLAB工作空间中,则采用以下调用格式:c=step(G) (16)此时,屏上不会显示响应曲线,必须利用plot()命令去查看响应曲线。
[10-24]已知二阶系统的传递函数为:①⑸二 竺 ,求当£=0.3 ,S2 + 2® s + 32 nn叫=1,2,3,4, 5..., 10时的阶跃响应和脉冲响应曲线求当叫=2 ,£=0,0.5,0.7,1,2,3,10时的阶跃响应和脉冲响应曲线解:获得当£=0.3 ,wn=1, 2,3,4, 5..., 10时的阶跃响应和脉冲响应曲线编程 如下:for ks=1:2:10 %定义ks从1到10取值wn=ks;w2=wn*wn;num=w2;den=[1 2*0.3*ks w2];figure(1);step(num,den); hold on; figure(2); impulse(num,den); hold onend图2为系统的单位阶跃响应曲线,图3为系统的单位脉冲响应曲线[OT 6 8 Z. 9 S 17 E 乙 I OO GO Ol=s>|^/v\=ujnu :u/v\¥u/v\=^/v\^=u/v\:丄皿寻斷窮叩型砂呻他阳也叫曲呦図讯0讥ZTOO ' 丁0 ' 0=5 '乙二咕宗劃算S0WiKWe £■(98S)8LUI1OS 81- 91- izL St OL 8 9 iz 2 0v^aJnBssuodssy 8S|ndiu|乙 IBos8L9LSL(09S)9LUJ1OL8SOvualnna9'0for i=1:7定义i从1到7den=[1 2*wn*ks(i) w2]; figure(1); step(num,den); hold on; figure(2); impulse(num,den);hold onend运行结果为:ks =Columns 1 through 120 0.5000 0.7000 1.0000 2.0000 3.00004.0000 5.0000 6.0000 7.0000 8.0000 9.0000Column 1310.0000 得到图4为系统的单位阶跃响应曲线,图5为系统的单位脉冲响应曲线0510152025Time (sec)Step Response2864280642000edutilpmA1.50.5。












