《自动控制原理》 实验指导书 壮袁科发大紧 ,1Q UNIVERSITY OE 腐霖 北京科技大学自动化学院控制科学与工程系 2013年4月
《自动控制原理》 实验指导书 实验指导书 北京科技大学自动化学院控制科学与工程系 2013 年 4 月
自动控制原理实验指导书 目 录 实验一典型系统的时域响应和稳定性分析」 2 实验二用MATLAB建立传递函数模型 6 实验三利用MATLAB进行时域分析 14 实验四线性定常控制系统的稳定分析 26 实验五利用MATLAB绘制系统根轨迹 30 实验六线性系统的频域分析 38 实验七基于MATLAB控制系统频域法串联校正设计52 附录1 MATLAB简介 59 附录2 SIMULINK简介 68
自动控制原理实验指导书 I 目 录 实验一 典型系统的时域响应和稳定性分析.................................................... 2 实验二 用MATLAB建立传递函数模型........................................................... 6 实验三 利用MATLAB进行时域分析............................................................. 14 实验四 线性定常控制系统的稳定分析.......................................................... 26 实验五 利用MATLAB绘制系统根轨迹......................................................... 30 实验六 线性系统的频域分析.......................................................................... 38 实验七 基于MATLAB控制系统频域法串联校正设计................................. 52 附录1 MATLAB简介........................................................................................ 59 附录2 SIMULINK简介..................................................................................... 68
自动控制原理实验指导书 实验一典型系统的时域响应和稳定性分析 一、实验目的 1.研究二阶系统的特征参量(5、o)对过渡过程的影响。 2.研究二阶对象的三种阻尼比下的响应曲线及系统的稳定性。 3.熟悉Routh判据,用Routh判据对三阶系统进行稳定性分析。 二、实验设备 PC机一台,TD-ACC教学实验系统一套。 三、实验原理及内容 1.典型的二阶系统稳定性分析 (1)结构框图:如图1-1所示。 R(S)+ E(S) KI as) ToS TS+1 图1-1 (2)对应的模拟电路图:如图1-2所示。 人 0 2D0 g -0 输入 输出 20W 0 偷出测量端。 图1-2 (3)理论分析 系统开环传递函数为:G(S)=? 开环增益: K=? 先算出临界阻尼、欠阻尼、过阻尼时电阻R的理论值,再将理论值应用于模拟
自动控制原理实验指导书 2 实验一 典型系统的时域响应和稳定性分析 一、实验目的 1.研究二阶系统的特征参量 (ξ、ωn) 对过渡过程的影响。 2.研究二阶对象的三种阻尼比下的响应曲线及系统的稳定性。 3.熟悉 Routh 判据,用 Routh 判据对三阶系统进行稳定性分析。 二、实验设备 PC 机一台,TD-ACC+教学实验系统一套。 三、实验原理及内容 1.典型的二阶系统稳定性分析 (1) 结构框图:如图 1-1 所示。 T S+1 R(S) + K1 C(S) _ T S 1 1 0 E(S) 图 1-1 (2) 对应的模拟电路图:如图 1-2 所示。 r(t) _ 20K 20K _ R 200K -C(t) _ 500K 2uF 1uF 20K _ 10K 10K C (t) 输出测量端 输出 输入 图 1-2 (3) 理论分析 系统开环传递函数为:G(s)=? 开环增益: K=? 先算出临界阻尼、欠阻尼、过阻尼时电阻 R 的理论值,再将理论值应用于模拟
自动控制原理实验指导书 电路中,观察二阶系统的动态性能及稳定性,应与理论分析基本吻合。在此实验中 由图1-2,可以确地1-1中的参数。 T=?,I=?,K=?→K=? 系统闭环传递函数为:W(s)=? 其中自然振荡角频率:⊙n=?;阻尼比:5-?。 2.典型的三阶系统稳定性分析 (1)结构框图:如图1-3所示。 R(S) E(S周 Kt K2 CS) ToS T1S+1 TS+1 图1-3 (2)模拟电路图:如图1-4所示。 输出 测量端 图1-4 (3)理论分析 系统的开环传函为:G(s)H(s)=? 系统的特征方程为:1+G(s)H(s)=0。 (4)实验内容 实验前由Routh判断得Routh行列式为: S3 s s So 为了保证系统稳定,第一列各值应为正数,因此可以确定 3
自动控制原理实验指导书 3 电路中,观察二阶系统的动态性能及稳定性,应与理论分析基本吻合。在此实验中 由图 1-2,可以确地 1-1 中的参数。 0 T = ? , 1 T = ?, 1 K = ? = K ? 系统闭环传递函数为: W s( ) ? = 其中自然振荡角频率: ? n = ;阻尼比: = ?。 2.典型的三阶系统稳定性分析 (1) 结构框图:如图 1-3 所示。 T S+1 R(S) + K2 _ T S 1 0 2 E(S) T S+1 K1 C(S) 1 图 1-3 (2) 模拟电路图:如图 1-4 所示。 r(t) _ 20K 20K _ R 100K C(t) _ 100K 1uF 1uF 20K _ 10K 10K 测量端 输入 _ 500K 2uF 输出 500K 图 1-4 (3) 理论分析 系统的开环传函为: G s H s ( ) ( ) ? = 系统的特征方程为: 1 ( ) ( ) 0 + = G s H s 。 (4) 实验内容 实验前由 Routh 判断得 Routh 行列式为: S 3 S 2 S 1 S 0 为了保证系统稳定,第一列各值应为正数,因此可以确定
自动控制原理实验指导书 系统稳定K值的范围 系统临界稳定K 系统不稳定K值的范围 四、实验步骤 1)将信号源单元的“ST”端插针与“S”端插针用“短路块”短接。由于每个运 放单元均设置了锁零场效应管,所以运放具有锁零功能。将开关分别设在“方波”档 和“500ms~12s”档,调节调幅和调频电位器,使得“OUT”端输出的方波幅值为 1V,周期为10s左右。 2)典型二阶系统瞬态性能指标的测试 (1)按模拟电路图1-2接线,将1中的方波信号接至输入端,取R=10KΩ。 (2)用示波器观察系统响应曲线C(),测量并记录超调M、峰值时间t,和调节时 间ts。 (3)分别按R=20K2;40KQ;100K2;改变系统开环增益,观察响应曲线C(0, 测量并记录性能指标M、p和s,及系统的稳定性。并将测量值和计算值进行比较(实 验前必须按公式计算出)。将实验结果填入表1-1中。 3)典型三阶系统的性能 (1)按图1-4接线,将1中的方波信号接至输入端,取R=30KQ。 (2)观察系统的响应曲线,并记录波形。 (3)减小开环增益(R=41.7K2;100K2),观察响应曲线,并将实验结果填入表 1-3中。表1-3中已填入了一组参考测量值,供参照。 五、实验现象分析 1)典型二阶系统瞬态性能指标实验测试值 表1-1 Mr(%) tp(s) ts(s) 响 参数 K On () (c∞) 理 测 理 理 测 项 K2) 论 论 量 应情 值 值 值 值 值 值 况 0<5<1 10 欠阻尼 50 =1 临界 160 阻尼 I 过阻尼 200 4
自动控制原理实验指导书 4 系统稳定 K 值的范围 系统临界稳定 K 系统不稳定 K 值的范围 四、实验步骤 1)将信号源单元的“ST”端插针与“S”端插针用“短路块”短接。由于每个运 放单元均设置了锁零场效应管,所以运放具有锁零功能。将开关分别设在“方波”档 和“500ms~12s”档,调节调幅和调频电位器,使得“OUT”端输出的方波幅值为 1V,周期为 10s 左右。 2.)典型二阶系统瞬态性能指标的测试 (1) 按模拟电路图 1-2 接线,将 1 中的方波信号接至输入端,取 R = 10KΩ。 (2) 用示波器观察系统响应曲线 C(t),测量并记录超调 MP、峰值时间 tp 和调节时 间 tS。 (3) 分别按 R = 20KΩ;40KΩ;100KΩ;改变系统开环增益,观察响应曲线 C(t), 测量并记录性能指标 MP、tp 和 tS,及系统的稳定性。并将测量值和计算值进行比较 (实 验前必须按公式计算出)。将实验结果填入表 1-1 中。 3)典型三阶系统的性能 (1) 按图 1-4 接线,将 1 中的方波信号接至输入端,取 R = 30KΩ。 (2) 观察系统的响应曲线,并记录波形。 (3) 减小开环增益 (R = 41.7KΩ;100KΩ),观察响应曲线,并将实验结果填入表 1-3 中。表 1-3 中已填入了一组参考测量值,供参照。 五、实验现象分析 1)典型二阶系统瞬态性能指标实验测试值 表 1-1 参数 项目 R (KΩ) K ωn ξ C (tp) C (∞) MP (%) tP (s) tS (s) 响 应 情 况 理 论 值 测 量 值 理 论 值 测 量 值 理 论 值 测 量 值 0 1 过阻尼 200
自动控制原理实验指导书 其中Mp=e ,,=。 4,c,)=1+e Co 2)典型三阶系统在不同开环增益下的响应情况 表1-2 R(K2) 开环增益K 稳定性 表1-3 R(K2) 开环增益K 稳定性 30 16.7 不稳定发散 41.7 12 临界稳定等幅振荡 100 5 稳定衰减收敛 注意:在做实验前一定要进行对象整定,否则将会导致理论值和实际测量值相差 较大。 5
自动控制原理实验指导书 5 其中 2 1 Mp e − − = , 2 n p 1 t − = , n s 4 t = , 2 1 p C(t ) 1 e − − = + 2)典型三阶系统在不同开环增益下的响应情况 表 1-2 R(KΩ) 开环增益 K 稳定性 表 1-3 R(KΩ) 开环增益 K 稳定性 30 16.7 不稳定发散 41 .7 12 临界稳定等幅振荡 100 5 稳定衰减收敛 注意:在做实验前一定要进行对象整定,否则将会导致理论值和实际测量值相差 较大
自动控制原理实验指导书 实验二用MATLAB建立传递函数模型 一、实验目的 (1)熟悉MATLAB实验环境,掌握MATLAB命令窗口的基本操作: (2)掌握MATLAB建立控制系统数学模型的命令及模型相互转换的方法: (3)掌握使用MATLAB命令化简模型基本连接的方法: (4)学会使用Simulink模型结构图化简复杂控制系统模型的方法。 二、实验原理及内容 控制系统常用的数学模型有四种:传递函数模型(tf对象)、零极点增益模型(zpk 对象)、结构框图模型和状态空间模型($s对象)。经典控制理论中数学模型一般使用 前三种模型,状态空间模型属于现代控制理论范畴。 1、有理函数棋型 线性连续系统的传递函数模型可一般地表示为: G(s)=bis"tbbs+bm n2m (10) s”+asm-+…+an-1S+an 将系统的分子和分母多项式的系数按降幂的方式以向量的形式输入给两个变量 mm和den,就可以轻易地将传递函数模型输入到MATLAB环境中。命令格式为: num=[b,62;,bm,bm]; (2) den=[1aaz,aa]. (3) 用函数廿()来建立控制系统的传递函数模型,该函数的调用格式为: G=tf(num,den); (4) 例1一个简单的传递函数模型: 5+5 Gs)=g÷+252+3s2+4s+5 可以由下面的命令输入到MATLAB工作空间中去。 >num=[1,2] den=[1,2,3,4,5]; G=tf(num,den) 运行结果: Transfer function: S+2 s4+2s^3+3s^2+4s+5 6
自动控制原理实验指导书 6 实验二 用 MATLAB 建立传递函数模型 一、实验目的 (1)熟悉 MATLAB 实验环境,掌握 MATLAB 命令窗口的基本操作; (2)掌握 MATLAB 建立控制系统数学模型的命令及模型相互转换的方法; (3)掌握使用 MATLAB 命令化简模型基本连接的方法; (4)学会使用 Simulink 模型结构图化简复杂控制系统模型的方法。 二、实验原理及内容 控制系统常用的数学模型有四种:传递函数模型(tf 对象)、零极点增益模型(zpk 对象)、结构框图模型和状态空间模型(ss 对象)。经典控制理论中数学模型一般使用 前三种模型,状态空间模型属于现代控制理论范畴。 1、有理函数模型 线性连续系统的传递函数模型可一般地表示为: n m s a s a s a b s b s b s b G s n n n n m m m m + + + + + + + + = − − + − ( ) 1 1 1 1 1 1 2 (1) 将系统的分子和分母多项式的系数按降幂的方式以向量的形式输入给两个变量 num 和 den ,就可以轻易地将传递函数模型输入到 MATLAB 环境中。命令格式为: [ , , , , ] 1 2 +1 = num b b bm bm ; (2) [1, , , , , ] den a1 a2 an−1 an = ; (3) 用函数 tf ( ) 来建立控制系统的传递函数模型,该函数的调用格式为: G=tf(num,den); (4) 例 1 一个简单的传递函数模型: 2 3 4 5 5 ( ) 4 3 2 + + + + + = s s s s s G s 可以由下面的命令输入到 MATLAB 工作空间中去。 >> num=[1,2]; den=[1,2,3,4,5]; G=tf(num,den) 运行结果: Transfer function: s + 2 ----------------------------- s^4 + 2 s^3 + 3 s^2 + 4 s + 5
自动控制原理实验指导书 这时对象G可以用来描述给定的传递函数模型,作为其它函数调用的变量。 例2一个稍微复杂一些的传递函数模型: 6(s+5) G(s)= (s2+3s+1)2(s+6) >>num=6*[1,5]: den=conv(conv(1,3,1],[1,3,1]),[1,6]) tf(num,den) 运行结果 Transfer function: 6s+30 s^5+12s4+47s3+72s2+37s+6 其中covO函数(标准的MATLAB函数)用来计算两个向量的卷积,多项式乘 法也可以用这个函数来计算。该函数允许任意地多层嵌套,从而表示复杂的计算。 5 【自我实践1】建立控制系统的传递函数模型:G(S)= s(s+1)(s2+4s+4) 2、零极点棋型 线性系统的传递函数还可以写成极点的形式: Gy)=KS+s+32)…s+m) (s+p)(s+p2).(s+P) 将系统增益K、零点-z和极点-p以向量的形式输入给三个变量KGa、Z和P, 命令格式为: KGain =K: (6) Z=[-2-22…-2m3 (7) P=[-P-P2:…;-Pn} (8) 用函数命令z印k()来建立系统的零极点增益模型,其函数调用格式为: G=zpk(Z,P,KGain) (9) 例3某系统的零极点模型为: G(s)=6 (s+1.9294)(s+0.0353±0.9287) (s+0.9567±1.2272j)(s-0.0433±0.6412j) >> KGain=6;
自动控制原理实验指导书 7 这时对象 G 可以用来描述给定的传递函数模型,作为其它函数调用的变量。 例 2 一个稍微复杂一些的传递函数模型: ( 3 1) ( 6) 6( 5) ( ) 2 2 + + + + = s s s s G s >> num=6*[1,5]; den=conv(conv([1,3,1],[1,3,1]),[1,6]); tf(num,den) 运行结果 Transfer function: 6 s + 30 ----------------------------------------- s^5 + 12 s^4 + 47 s^3 + 72 s^2 + 37 s + 6 其中 conv()函数(标准的 MATLAB 函数)用来计算两个向量的卷积,多项式乘 法也可以用这个函数来计算。该函数允许任意地多层嵌套,从而表示复杂的计算。 【自我实践 1】建立控制系统的传递函数模型: 2 5 ( ) ( 1)( 4 4) G s s s s s = + + + 2、零极点模型 线性系统的传递函数还可以写成极点的形式: ( )( ) ( ) ( )( ) ( ) ( ) 1 2 1 2 n m s p s p s p s z s z s z G s K + + + + + + = 将系统增益 K、零点-zi 和极点-pj 以向量的形式输入给三个变量 KGain、Z 和 P, 命令格式为: KGain = K; (6) Z = [−z1;− z2;;− zm ]; (7) P = [−p1;− p2;;− pn ]; (8) 用函数命令 zpk ( ) 来建立系统的零极点增益模型,其函数调用格式为: G=zpk(Z,P,KGain) (9) 例 3 某系统的零极点模型为: ( 0.9567 1.2272 )( 0.0433 0.6412 ) ( 1.9294)( 0.0353 0.9287 ) ( ) 6 s j s j s s j G s + − + + = >> KGain=6;
自动控制原理实验指导书 z=[-1.9294;-0.0353+0.9287j-0.0353-0.9287j p=[-0.9567+1.2272j;-0.9567-12272j:0.0433+0.6412j:0.0433-0.6412j: G=zpk(z,p,KGain) 运行结果 Zero/pole/gain: 6(s+1.929)(s2+0.0706s+0.8637) (s2-0.0866s+0.413)(s^2+1.913s+2.421) 注意:对于单变量系统,其零极点均是用列向量来表示的,故Z、P向量中各项 均用分号(;)隔开。 【自我实践2】建立控制系统的零极点模型:G(S)= 8(s+1-j)(s+1+j) s2(s+5(s+6)s2+1) 3、控制系统棋型间的相互转换 零极点模型转换为传递函数模型:[num,den]=zp2tf(Z,p,k) 传递函数模型转化为零极点模型:[z,p,k]=tf2z印(num,den) 例4给定系统传递函数为: 6.8s2+61.2s+95.2 G(s)=- 4+7.5s3+22s2+19.5 对应的零极点模型可由下面的命令得出 >>num=[6.8,61.2,95.2] den=[1,7.5,22,19.5,0]; G=tf(num,den); Gl=zpk(G) 显示结果: Zero/pole/gain: 6.8(s+7)(s+2) s(s+1.5)(s^2+6s+13) 可见,在系统的零极点模型中若出现复数值,则在显示时将以二阶因子的形式表 示相应的共轭复数对。 例5给定零极点模型: G(s)=6.8 (S+2)(S+7) s(s+3±2)(s+1.5) 可以用下面的MATLAB命令立即得出其等效的传递函数模型。输入程序时要注 意大小写
自动控制原理实验指导书 8 z=[-1.9294;-0.0353+0.9287j;-0.0353-0.9287j]; p=[-0.9567+1.2272j;-0.9567-1.2272j;0.0433+0.6412j;0.0433-0.6412j]; G=zpk(z,p,KGain) 运行结果: Zero/pole/gain: 6 (s+1.929) (s^2 + 0.0706s + 0.8637) --------------------------------------------------------- (s^2 - 0.0866s + 0.413) (s^2 + 1.913s + 2.421) 注意:对于单变量系统,其零极点均是用列向量来表示的,故 z、p 向量中各项 均用分号(;)隔开。 【自我实践 2】建立控制系统的零极点模型: 2 2 8( 1 )( 1 ) ( ) ( 5)( 6)( 1) s j s j G s s s s s + − + + = + + + 3、控制系统模型间的相互转换 零极点模型转换为传递函数模型:[num , den] = zp2tf ( z, p, k ) 传递函数模型转化为零极点模型:[z , p , k] = tf2zp ( num, den ) 例 4 给定系统传递函数为: s s s s s s G s 7.5 22 19.5 6.8 61.2 95.2 ( ) 4 3 2 2 + + + + + = 对应的零极点模型可由下面的命令得出 >> num=[6.8, 61.2, 95.2]; den=[1, 7.5, 22, 19.5, 0]; G=tf(num,den); G1=zpk(G) 显示结果: Zero/pole/gain: 6.8 (s+7) (s+2) ------------------------------ s (s+1.5) (s^2 + 6s + 13) 可见,在系统的零极点模型中若出现复数值,则在显示时将以二阶因子的形式表 示相应的共轭复数对。 例 5 给定零极点模型: ( 3 2)( 1.5) ( 2)( 7)) ( ) 6.8 + + + + = s s j s s s G s 可以用下面的 MATLAB 命令立即得出其等效的传递函数模型。输入程序时要注 意大小写
自动控制原理实验指导书 >> Z=[-2,-7 P=[0,-3-2j,-3+2j,-1.5 K=6.8 G=zpk(Z,P,K); G1=tf(G) 结果显示: Transfer function: 6.8s^2+61.2s+95.2 s^4+7.5s3+22s^2+19.5s s2+5s+6 【自我实践3】已知系统传递函数G(S)= ,求其等效的零极点模型。 53+252+ 【自我实践4】建立控制系统的多项式模型:G(s)= 8(s+1)(s+2) s(s+5)(s+6)(s+3) 4、反馈系统结构图模型 设反馈系统结构图如图所示。 R(s) E(s) C(s) G(s) 图2-1反馈系统结构图 两个环节反馈连接后,其等效传递函数可用feedback()函数求得,其调用格式 为: sys=feedback (G1,G2,sign) 其中sign是反馈极性,sign缺省时,默认为负反馈,sign=-l;正反馈时,sign=1; 单位反馈时,G2=1,且不能省略。 series()函数:实现两个模型的串联;多于两个必须嵌套使用。 parallel()函数:实现两个模型的并联:多于两个必须嵌套使用。 例6若反馈系统如图2-1中的两个传递函数分别为: 1 G(s)= (8+102, G2(s)= +1 9
自动控制原理实验指导书 9 >> Z=[-2,-7]; P=[0,-3-2j,-3+2j,-1.5]; K=6.8; G=zpk(Z,P,K); G1=tf(G) 结果显示: Transfer function: 6.8 s^2 + 61.2 s + 95.2 --------------------------------------- s^4 + 7.5 s^3 + 22 s^2 + 19.5 s 【自我实践 3】已知系统传递函数 2 3 2 5 6 ( ) 2 s s G s s s s + + = + + ,求其等效的零极点模型。 【自我实践 4】建立控制系统的多项式模型: 8( 1)( 2) ( ) ( 5)( 6)( 3) s s G s s s s s + + = + + + 。 4、反馈系统结构图模型 设反馈系统结构图如图所示。 图 2-1 反馈系统结构图 两个环节反馈连接后,其等效传递函数可用 feedback ( ) 函数求得,其调用格式 为: sys = feedback(G1, G2, sign) 其中 sign 是反馈极性,sign 缺省时,默认为负反馈,sign=-1;正反馈时,sign=1; 单位反馈时,G2=1,且不能省略。 series( )函数:实现两个模型的串联;多于两个必须嵌套使用。 parallel( )函数:实现两个模型的并联;多于两个必须嵌套使用。 例 6 若反馈系统如图 2-1 中的两个传递函数分别为: 1 2 ( 1) 1 ( ) + = s G s , 1 1 ( ) 2 + = s G s