欢迎光临散文网 会员登陆 & 注册

SISO Tool

2022-08-02 01:33 作者:永远的修伊  | 我要投稿

这是matlab一个系统设计的GUI工具箱,简要介绍并重新回顾一下根轨迹设计和频域设计

先进行RootLocus设计

它的本质是设计校正器,进行主导极点配置

首先输入性能指标要求,然后先添加零点(相当于PD校正),我们为你一般设计正则系统,所以添加一个极点,且对系统几乎动态响应几乎无影响

记住,一定要将两个主导极点拖到交点处

如果在频域里进行设计,要进行指标转化

Pm = 45°,wc = 7.06

Options = pidtuneOptions('PhaseMargin',45);

>> Cs = pidtune(Gs,'pdf',10,Options)


Cs =

 

               s    

  Kp + Kd * --------

             Tf*s+1 


  with Kp = 31.7, Kd = 9.41, Tf = 0.00435

 

Continuous-time PDF controller in parallel form.


>> Ws = feedback(Cs*Gs,1)


Ws =

 

          2195 s + 7301

  -----------------------------

  s^3 + 231 s^2 + 2425 s + 7301

 

Continuous-time transfer function.


>> step(Ws)

同样,我们可以用状态空间表达式来配置极点

>> A = [0 1;0 -1];

>> B = [0;1];

>> C = [1 0];

>> D = 0;

>> Gs = ss(A,B,C,D)


Gs =

 

  A = 

       x1  x2

   x1   0   1

   x2   0  -1

 

  B = 

       u1

   x1   0

   x2   1

 

  C = 

       x1  x2

   y1   1   0

 

  D = 

       u1

   y1   0

 

Continuous-time state-space model.

>> zpk(Gs)


ans =

 

     1

  -------

  s (s+1)

 

Continuous-time zero/pole/gain model.

zeta = 0.707

wn = 4.2/zeta

p1 = -zeta*wn+j*wn*sqrt(1-zeta^2)

p2 = -zeta*wn-j*wn*sqrt(1-zeta^2)

P = [p1;p2];

K = acker(A,B,P)

Ws = ss(A-B*K,B,C,D)

Kd = 1/dcgain(Ws)

step(Kd*Ws)


SISO Tool的评论 (共 条)

分享到微博请遵守国家法律