前言:
一直有在用比例諧振控制器,是在matlab里面用C2D函數(shù)離散好了后直接使用參數(shù),對于不同的電網(wǎng)頻率還需要修改一下參數(shù)。而且在運(yùn)行過程中發(fā)現(xiàn)網(wǎng)側(cè)頻率改變也不能實時修改PR的控制參數(shù)來達(dá)到最佳的控制效果,因此我需要能在MCU里面實時進(jìn)行PR多個系數(shù)的計算,提取,更新的操作。
QPR因為緩解PR在諧振點的增益以及有更好的適應(yīng)性,而被廣泛使用。傳遞函數(shù)中的wc用來調(diào)節(jié)QPR控制器在諧振點的增益帶寬,wc越小則QPR在諧振的增益峰值越接近PR。kr是QPR控制器在諧振點的增益值,wr則是QPR控制器的設(shè)定諧振頻率。參考文獻(xiàn)1中展示了一張不同的kr和wc的QPR的bode圖,可見:
所以我們要在MCU中運(yùn)行這個傳遞函數(shù),第一步是需要將其進(jìn)行Z變換離散化后得到Z域傳遞函數(shù)的系數(shù),第二步是運(yùn)行這個傳遞函數(shù)。
我們先來看第一步:使用雙線性變換來得到Z域傳遞函數(shù)。根據(jù)雙線性變換的公式,可以計算到這個QPR的s域傳遞函數(shù)到Z域的傳遞函數(shù)。
從上圖來看,是一個典型的二階Z域傳遞函數(shù),但是有點麻煩的地方是分母的Z^2的系數(shù)不是1,因此還需要對其進(jìn)行改寫一下,我把分子和分母都同時除以分母Z^2項的系數(shù),從而使得這個傳遞函數(shù)可以提取標(biāo)準(zhǔn)化系數(shù):B0,B1,B2,A1,A2,可見:
ts_x_ts = ts * ts;
wr_x_wr = wr * wr;
div_x = ts * ts * wr * wr + 4.0 * wc * ts + 4.0;
coeff_B0 = (4.0 * kr * wc * ts)/div_x;
coeff_B1 = 0;
coeff_B2 = -1*coeff_B0;
coeff_A1 = (2.0 * ts_x_ts * wr_x_wr - 8.0)/div_x;
coeff_A2 = (ts_x_ts * wr_x_wr - 4.0 * ts * wc + 4)/div_x;
經(jīng)過上面的處理后,即可得到標(biāo)準(zhǔn)的2階Z域傳遞函數(shù)的系數(shù),可見Matlab的輸出:
pr_1st_z = c2d(pr_1st, ts, 'tustin')%Matlab自帶函數(shù)
pr_1st_Z = tf([coeff_B0 coeff_B1 coeff_B2], [1 coeff_A1 coeff_A2], ts)%自己手動
兩者輸出一致,驗證了正確性。
pr_1st_z =
0.03912 z^2 - 0.03912
----------------------
z^2 - 1.992 z + 0.9922
Sample time: 2.5e-05 seconds
Discrete-time transfer function.
pr_1st_Z =
0.03912 z^2 - 0.03912
----------------------
z^2 - 1.992 z + 0.9922
Sample time: 2.5e-05 seconds
Discrete-time transfer function.
第二步就是使用IIR濾波器來根據(jù)上面提取的系數(shù)來得到所需的輸出了,其代碼為:
w(1) = inputl(i) - w(2) * a_coff(2) - w(3) * a_coff(3);
yout(i) = (w(1) * b_coff(1) + w(2) * b_coff(2) +w(3) * b_coff(3));
w(3) = w(2);
w(2) = w(1);
第三步打包封裝
我們的目的是使用QPR對1,3,5,7,9,11次諧波進(jìn)行抑制,如果各個傳遞函數(shù)的kr和wc一致,則只需要調(diào)整wr到各個頻率即可。可以編寫一個IIR二階系統(tǒng)提取函數(shù),根據(jù)所需的頻率進(jìn)行計算即可。 最后在把KP和低通濾波器引入,LPF能提供一個在高頻的增益衰減功能,用于提升多個PR組合后的傳遞函數(shù)的穩(wěn)定性。
可見閉環(huán)控制器的傳遞函數(shù)最終為:
lpf = (flpf*2*pi/(s + flpf*2*pi));
sys_pr = kp + lpf * (pr_1st + pr_3st + pr_5st + pr_7st + pr_9st + pr_11st);
運(yùn)行測試:
(3KHZ后 LPF開始起到作用)
編寫QPR代碼并運(yùn)行測試,發(fā)現(xiàn)對3~5次諧波有抑制效果。
小結(jié):根據(jù)s域傳遞函數(shù)計算出z域傳遞函數(shù)公式,并測試驗證了準(zhǔn)確性。
關(guān)于本人:
我是楊帥,目前從事逆變器儲能行業(yè),專注在雙向AC/DC變換器領(lǐng)域,對雙向DC/DC的研究較多。數(shù)年來一直從事電力電子仿真技術(shù)研究與應(yīng)用推廣,致力于實現(xiàn)讓天下沒有難搞的電源而努力。
-
mcu
+關(guān)注
關(guān)注
146文章
16988瀏覽量
350302 -
matlab
+關(guān)注
關(guān)注
182文章
2963瀏覽量
230152 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4304瀏覽量
62429 -
諧振控制器
+關(guān)注
關(guān)注
1文章
29瀏覽量
9138
發(fā)布評論請先 登錄
相關(guān)推薦
評論