自动控制--控制系统建模篇

本博文通过实例对控制系统建模进行介绍,展示使用MATLAB对控制系统进行建模,其每个传递函数这是用作例子展示,其合理性还需完善,但其目的是让同学们学会控制系统的建模方法。

  1. 控制系统的方框图。
    控制系统方框图
    注:控制系统各传递函数如下:
    G 1 ( s ) = 1 s 2 + 2 s G_1(s)=\frac{1}{s^2+2s} G1(s)=s2+2s1 G 2 ( s ) = 1 ( 0.5 s + 1 ) ( s + 6 ) G_2(s)=\frac{1}{(0.5s+1)(s+6)} G2(s)=(0.5s+1)(s+6)1 G 3 ( s ) = s + 1 s ( s + 3 ) G_3(s)=\frac{s+1}{s(s+3)} G3(s)=s(s+3)s+1

    G 4 ( s ) = 1 s + 1 G_4(s)=\frac{1}{s+1} G4(s)=s+11 H 1 ( s ) = s + 2 s + 8 H_1(s)=\frac{s+2}{s+8} H1(s)=s+8s+2 H 2 ( s ) = 1 H_2(s)=1 H2(s)=1。均为负反馈。



  1. 控制系统代码区,求 C ( s ) / R ( s ) C(s)/R(s) C(s)/R(s)
%建立各传递函数的模型
G1=tf([1],[1 2 0]);    %传递函数为一般形式
num2=1;den2=conv([0.5 1],[1 6]);G2=tf(num2,den2);   %传递函数的分子分母是连乘形式
G3=zpk([-1],[0 -3],1); %传递函数零极点形式
G4=tf([1],[1 1]);
H1=zpk([-2],[-8],1);
H2=1;

%将系统模型进行连接
G12=parallel(G1,G2);   %G1和G2并联
G34=series(G3,G4);     %G3和G4串联
G34_H1_feedback=feedback(G34,H1,-1);  %G3和G4,H1构成局部反馈
Gk=series(G12,G34_H1_feedback);       
G=feedback(Gk,H2,-1)                  %闭环传递函数
%结果为:
                          3 (s+8) (s+2)^2 (s+1)
  ---------------------------------------------------------------------
  (s+7.847) (s+5.968) (s+3.182) (s+2)^2 (s+1) (s^2 + 0.002539s + 0.161)
 
Continuous-time zero/pole/gain model.


  1. 建立模型知识点剖析
    ① 传递函数为一般形式时,如 G 1 ( s ) = 1 s 2 + 2 s G_1(s)=\frac{1}{s^2+2s} G1(s)=s2+2s1,模型建立方式如下:
    命令格式: s y s = t f ( n u m , d e n , T s ) sys=tf(num,den,Ts) sys=tf(num,den,Ts);
    其中:
    n u m num num为分子多项式降幂排列的系数向量;
    d e n den den为分母多项式降幂排列的系数向量;
    T s Ts Ts为采样时间,缺省时为连续传递函数;
    G 1 ( s ) = 1 s 2 + 2 s G_1(s)=\frac{1}{s^2+2s} G1(s)=s2+2s1可描述为: G 1 ( s ) G_1(s) G1(s)=tf([1],[1 2 0]);
    ② 传递函数的分子、分母为连乘形式,如 G 2 ( s ) = 1 ( 0.5 s + 1 ) ( s + 6 ) G_2(s)=\frac{1}{(0.5s+1)(s+6)} G2(s)=(0.5s+1)(s+6)1,模型建立方式如下:
    使用 c o n v conv conv命令进行多项式相乘,得到分子、分母多项式降幂排列后的系数向量,再用 t f tf tf命令,命令同上。
    G 2 ( s ) = 1 ( 0.5 s + 1 ) ( s + 6 ) G_2(s)=\frac{1}{(0.5s+1)(s+6)} G2(s)=(0.5s+1)(s+6)1可描述为: n u m 2 = 1 ; num2=1; num2=1;
    d e n 2 = c o n v den2=conv den2=conv([0.5 1],[1 6]); G 2 = t f ( n u m 2 , d e n 2 ) ; G2=tf(num2,den2); G2=tf(num2,den2);
    ③ 传递函数为零极点表示时,如 G 3 ( s ) = s + 1 s ( s + 3 ) G_3(s)=\frac{s+1}{s(s+3)} G3(s)=s(s+3)s+1,模型建立方式如下:
    命令格式: s y s = z p k ( z , p , k , T s ) sys=zpk(z,p,k,Ts) sys=zpk(z,p,k,Ts)
    其中:
    z z z为系统的零点;
    p p p为系统的极点;
    k k k为系统的增益;
    T s Ts Ts为采样时间,缺省表示连续系统。


  1. 系统连接知识点剖析
    各个子控制系统基本连接方式:串联、并联、反馈,三种基本形式如下图标示:
    系统基本连接关系
    ① 系统的并联连接,如 G 1 ( s ) , G 2 ( s ) G_1(s),G_2(s) G1(s)G2(s),其命令如下:
    命令格式: s y s = p a r a l l e l ( s y s 1 , s y s 2 ) sys=parallel(sys1,sys2) sys=parallel(sys1,sys2)
    G 1 , G 2 并 联 : G_1,G_2并联: G1,G2 G 12 ( s ) = p a r a l l e l ( G 1 ( s ) , G 2 ( s ) ) G_{12}(s)=parallel(G_1(s),G_2(s)) G12(s)=parallel(G1(s),G2(s))
    ② 系统的串联连接,如 G 3 ( s ) , G 4 ( s ) G_3(s),G_4(s) G3(s)G4(s),其命令如下:
    命令格式: s y s = s e r i e s ( s y s 1 , s y s 2 ) sys=series(sys1,sys2) sys=series(sys1,sys2)
    G 3 , G 4 串 联 : G_3,G_4串联: G3,G4 G 34 ( s ) = s e r i e s ( G 3 ( s ) , G 4 ( s ) ) G_{34}(s)=series(G_3(s),G_4(s)) G34(s)=series(G3(s),G4(s))
    ③ 系统的反馈连接,如 G 3 ( s ) , G 4 ( s ) , H 1 ( s ) G_3(s),G_4(s),H_1(s) G3(s)G4(s)H1(s)构成局部反馈,其命令如下:
    命令格式: s y s = f e e d b a c k ( s y s 1 , s y s 2 , s i g n ) sys=feedback(sys1,sys2,sign) sys=feedback(sys1,sys2,sign)
    其中: s i g n sign sign用于说明反馈类型(负反馈还是正反馈),缺省时表示负反馈, s i g n = − 1 sign=-1 sign=1
    G 3 , G 4 , H 1 构 成 的 局 部 反 馈 如 下 : G_3,G_4,H_1构成的局部反馈如下: G3,G4,H1
    G H = f e e d b a c k ( s e r i e s ( G 3 ( s ) , G 4 ( s ) ) , H 1 ( s ) , − 1 ) GH=feedback(series(G_3(s),G_4(s)),H_1(s),-1) GH=feedback(series(G3(s),G4(s)),H1(s),1)


  1. 模型转换知识点
    命令格式:
    [ n u m , d e n ] = z p 2 t f ( z , p , k ) [num,den]=zp2tf(z,p,k) [num,den]=zp2tf(z,p,k),用于将零极点模型转换成传递函数模型;
    [ z , p , k ] = t f 2 z p ( n u m , d e n ) [z,p,k]=tf2zp(num,den) [z,p,k]=tf2zp(num,den),用于将传递函数模型转换成零极点模型。


  1. 延伸:传递函数框图变换规则
    ① 框图串联
    框图串联
    ② 框图并联
    框图并联
    ③ 反馈等效
    反馈等效框图
    ④比较点前移
    比较点前移
    ⑤ (可选部分)比较点后移
    比较点后移
    ⑥ 引出点前移
    引出点前移
    ⑦ (可选部分)引出点后移
    引出点后移


  1. 综合训练题
    综合训练题
    已知条件: G 1 ( s ) = 1 s + 10 G_1(s)=\frac{1}{s+10} G1(s)=s+101 G 2 ( s ) = 1 s + 1 G_2(s)=\frac{1}{s+1} G2(s)=s+11 G 3 ( s ) = s 2 + 1 s 2 + 4 s + 4 G_3(s)=\frac{s^2+1}{s^2+4s+4} G3(s)=s2+4s+4s2+1 G 4 ( s ) = s + 1 s + 6 G_4(s)=\frac{s+1}{s+6} G4(s)=s+6s+1 H 1 ( s ) = s + 1 s + 2 H_1(s)=\frac{s+1}{s+2} H1(s)=s+2s+1 H 2 ( s ) = 2 H_2(s)=2 H2(s)=2 H 3 ( s ) = 1 H_3(s)=1 H3(s)=1


  1. 小结
    控制系统建模小结


  1. 综合训练题提示及参考答案
    ① 训练题目
    训练题目
    已知条件: G 1 ( s ) = 1 s + 10 G_1(s)=\frac{1}{s+10} G1(s)=s+101 G 2 ( s ) = 1 s + 1 G_2(s)=\frac{1}{s+1} G2(s)=s+11 G 3 ( s ) = s 2 + 1 s 2 + 4 s + 4 G_3(s)=\frac{s^2+1}{s^2+4s+4} G3(s)=s2+4s+4s2+1 G 4 ( s ) = s + 1 s + 6 G_4(s)=\frac{s+1}{s+6} G4(s)=s+6s+1 H 1 ( s ) = s + 1 s + 2 H_1(s)=\frac{s+1}{s+2} H1(s)=s+2s+1 H 2 ( s ) = 2 H_2(s)=2 H2(s)=2 H 3 ( s ) = 1 H_3(s)=1 H3(s)=1
    ② 训练题目提示
    训练题目提示
    ③ 训练题目代码
%建立各子系统模型
G1=tf([1],[1 10]);
G2=tf([1],[1 1]);
G3=tf([1 0 1],[1 4 4]);
numG4=[1 1];denG4=[1 6];G4=tf(numG4,denG4);   
H1=zpk([-1],[-2],1);
numH2=[2];denH2=[1];H3=1;
nH2=conv(numH2,denG4);dH2=conv(denH2,numG4);
H2=tf(nH2,dH2);  %将H2处引出点移到G4后面

%各个子系统的连接情况
G34=series(G3,G4);
G34_H1=feedback(G34,H1,+1);         %G3,G4,H1组成的子系统模型
G2_34_H1=series(G2,G34_H1);
G2_34_H1_H2=feedback(G2_34_H1,H2);  %H2构成反馈回路的子系统模型
G=series(G1,G2_34_H1_H2);
GH=feedback(G,H3)                   %H3构成反馈回路的闭环传递函数
%代码运行的结果
GH =
 
              0.083333 (s+1)^2 (s+2) (s^2 + 1)
  ---------------------------------------------------------
  (s+10.12) (s+2.44) (s+2.349) (s+1) (s^2 + 1.176s + 1.023)
 
Continuous-time zero/pole/gain model.

猜你喜欢

转载自blog.csdn.net/qq_39032096/article/details/107477580