自动控制原理 matlab编程

自动控制原理 matlab编程,第1张

几点小问题

1、既然是单位反馈,反馈通道就没必要放一个H(s)方框了;

2、第1题只说到kp,应该是单独的P控制,但表达不清楚。

3、第2、3题所谓“积分时间”、“微分时间”都显得很不专业,容易引起歧义,应加上“常数”二字为宜。

第1题

(1)求阶跃响应

G=zpk([],[-1 -1 -1],1)

for kp=1:0.5:4, step(feedback(kp*G,1)) hold on, end

(2)从阶跃响应曲线可以看到,系统存在稳态误差,kp增大,对于减小稳态误差有利,但振荡加剧,超调量增大。

(3)根据终值定理来求:

>> syms s kp

>> G=1/(s+1)^3

>> limit(kp*G/(1+kp*G),0)

ans =

1/(1+kp)*kp

第2题

(1)阶跃响应:

G=zpk([],[-1 -1 -1],1)

s=tf('s')

kp=0.5

clf

for Ti=0.6:0.2:2,

    Gc=kp*(1+1/(Ti*s))

    step(feedback(Gc*G,1))

    hold on

end

(2)从阶跃响应曲线可以看到,加入积分控制之后,系统无静差。随着积分时间常数增大,系统超调减小。

(3)用终值定理:

>> syms s kp Ti

>> G=1/(s+1)^3

>> Gc=kp*(1+1/(Ti*s))

>> limit(Gc*G/(1+Gc*G),0)

ans =

1

第3题

求阶跃响应:

G=zpk([],[-1 -1 -1],1)

s=tf('s')

kp=0.5

clf

for Td=0:0.4:2,

    Gc=kp*(1+Td*s)

    step(feedback(Gc*G,1))

    hold on

end

从阶跃响应曲线可见,微分时间常数的增大有利于提高系统快速性。

第4题

阶跃响应:

G=zpk([],[-1 -1 -1],1)

s=tf('s')

kp=0.5

Ti=1

clf

for Td=0:0.4:2,

    Gc=kp*(1+Td*s+1/(Ti*s))

    step(feedback(Gc*G,1))

    hold on

end

这个题直接把传递函数表示出来然后调用相应的函数即可。

参考代码:

G1=tf([1 2],[1 31 229 198])

s=tf('s')

G=feedback(G1,1)/s

bode(1000*G)

figure,margin(1000*G)

figure,rlocus(G)

(1)从margin的绘图结果可知幅值裕度为14.1dB,相角裕度为40.6度。

(2)从根轨迹图可见,闭环系统稳定的条件是K<=4890(近似值)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11545129.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存