图6
图7
3)使用超前环节进行控制 设Kp=
G0(s)?50, Bode图如图9所示。由图可知,校正前
(0.5s?1)(5s?1)1??TS,???1?。
1?TS系统相位域量??27.9o,控制器选用超前环节Gc?s??Kp 6
Step Response1.41.21Amplitude0.80.60.40.2000.20.40.60.81Time (sec)1.21.41.61.82
图8超前环节控制阶跃输入响应曲线
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 27.9 deg (at 4.25 rad/sec)4020Magnitude (dB)Phase (deg)0-20-40-600-45-90-135-18010-210-1100101102Frequency (rad/sec)
图9
?m??要-?0????50o-27.9o?70?29.1o
7
??1?sin?m?2.89
1-sin?m距横轴?20lg???4.61?20log???4.36处的原L???线上做垂线与横轴的交点为?m。由图7可知,?m?6rad/sec?m?5.3rad/sec。
T?1?m??16?2.89?0.098
Gc(s)?50?1?0.283s
1?0.098sGs?GC(s)G0(s)?50?1?0.283s
(1?0.098s)(1?0.5s)(1?5s)超前校正后的Bode图如图10所示:
由图10可知,相位域量??50.9o,误差系数KP?50,满足条件。
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 50.9 deg (at 5.54 rad/sec)4020Magnitude (dB)Phase (deg)0-20-40-60-800-45-90-135-18010-210-1100101102103Frequency (rad/sec)图10
4) 使用滞后环节进行控制
设KP?50
8
校正前系统相位域量??27.9o,控制器选用滞后环节Gc?s??Kp1?TS,
1??TS???1?。
?180???要?10?=-180??50??10?=-120?,在相频曲线上找出?120?出的频率
?c??1.55rad/sec。
11???c?0.155rad/sec T10 T?6.45s
?1?系统在?c?处降至0B所需的衰减幅值为13dB,即20log??13,??4.47。
1?Ts1?6.45s?50?
1??Ts1?28.81s校正后系统的开环传递函数为:
所以GC(s)?KPG(s)?GC(s)G0(s)?50(1?6.45s)(1?28.81s)(1?0.5s)(1?5s)。
Bode DiagramGm = Inf dB (at Inf rad/sec) , Pm = 52.3 deg (at 1.7 rad/sec)4020Magnitude (dB)Phase (deg)0-20-40-60-800-45-90-135-18010-310-210-1100101102Frequency (rad/sec)图11
由图11可知,相位域量??52.3o,误差系数KP?50,满足条件。
9
Step Response1.41.21Amplitude0.80.60.40.20024681012141618Time (sec)
图12
四、实验结果分析
通过对响应曲线及其伯德图,PID控制、超前控制、滞后控制的Kp和相位裕量均能满足要求,存在不同的是其响应曲线,就稳态误差而言超前环节和滞后环节要优于PID控制器;就响应速度而言,PID控制器和超前环节控制的响应速度要快于滞后环节,综上所述,该控制选用超前环节控制较好。
附录:
1、部分作图程序 >> s=tf('s');
>> sys=20/(1+0.05*s)/(1+0.5*s)/(1+5*s); >> margin(sys) >> rlocus(sys) >> s=tf('s');
>> sys=(4.5+0.53*s+12.73/s)/(1+0.5*s)/(1+5*s); >> margin(sys)
>> sys=50*(1+0.283*s)/((1+0.5*s)*(1+5*s)*(1+0.098*s)+50*(1+0.283*s)); >>sys1=50*(1+0.283*s)/((1+0.5*s)*(1+5*s)*(1+0.098*s)+50*(1+0.283*s)); >> step(sys1)
>> sys2=50*(1+6.45*s)/((1+0.5*s)*(1+5*s)*(1+28.81*s)+50*(1+6.45*s)); >> step(sys2)
10
发电机励磁控制系统MATLAB仿真
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)