原文地址:https://donghao2nanjing.github.io/2018/06/22/PR_Controller/
1. 比例諧振控制器簡介
首先,我們來看看比例諧振控制器的傳遞函數和伯德圖:
\(\omega_{r}\) 是.諧振頻率。
如上圖所示,在50Hz(314 rad/s)處,幅頻曲線的增益為無窮大,這就是為什么比例諧振控制器能夠無靜差跟蹤特定頻率信號的奧妙所在。但是,在實際應用中,參考給定的頻率往往並不是一個常數,比如電網頻率可能會在49.5Hz到50.5Hz之間變化,所以往往會采用准比例諧振控制。
准比例諧振控制器傳遞函數如下:
增加了\(2\omega_{r}\) 之后,減小了諧振頻率處的增益,但是卻在諧振頻率附近形成了一個具有較大增益的頻帶,由此減小頻率偏移帶來的影響。
你可以改變 \(\omega_{r}\),通過在MATLAB中運行如下代碼來親自感受一下:
s = tf([1, 0], 1) ;
Kp = 15 ;
Kr = 2000 ;
wr = 50 * 2 * pi ;
wi = pi ;
G_PR = Kp + Kr * s / (s^2 + wr^2)
figure
bode(G_PR)
G_QPR = Kp + 2 * wi * Kr * s / (s^2 + 2 * wi * s + wr^2)
figure
bode(G_QPR)
2. C語言實現
話不多說, 代碼在此。
代碼中實現的比例諧振控制器結構如下:
論文 Effects of Discretization Methods on the Performance of Resonant Controllers中使用了兩個積分器實現了比例諧振控制器,我們采用這樣的結構,並做相應的改進(忘記出處在哪里了,如知曉請補充)。
這種實現具備兩個好處:
- 結構簡單,易於實現
- 可以實時地改變諧振頻率,可用於存在鎖相環的場合,對於頻偏地適應性更強。
你可以運行這里地 **Simulink仿真模型 **來感受一下。
- Kp 設為0 而 Kr 設為10
- \(\omega_{i}\) 設為 \(0.01\omega_{r}\)
仿真結果如下:
3.參考
1.Effects of Discretization Methods on the Performance of Resonant Controllers"
2.百度文庫文檔