1 內模原理與重複控制

    內模原理的表述:在一個控制系統中,如果控制器的反饋來自被調節的信號,且在反饋迴路中包含被控信號的動力學模型,那麼整個系統是穩定的。內模原理的本質是是把外部信號的動力學模型植入控制器以構成高精度的反饋控制系統,這樣的系統能夠無靜差的跟蹤輸入信號。

    對於階躍信號l(t),其拉斯變換為1/s,所以包含PI控制器可以無靜差的跟蹤階躍信號。對於交流信號,其拉斯變換為

中頻鏡像干擾_控制模塊

所以PI控制器是無法無靜差的跟蹤正弦信號的。PR控制器可以無靜差的跟蹤交流信號,PR控制器的傳遞函數是

中頻鏡像干擾_中頻鏡像干擾_02

對於週期性的重複信號,典型的是帶RCD負載的時候出現的週期性的電流擾動。定型的RCD負載的電流信號波形如下圖:

中頻鏡像干擾_中頻鏡像干擾_03

設重複信號週期為L,則其信號模型可以表示為

中頻鏡像干擾_#逆變器控制_04

其離散傳遞函數表示為

中頻鏡像干擾_#重複控制_05

其中N為一個週期的採樣次數。包含上述內模的控制器就是重複控制器,它可以無靜差的消除週期信號。

2  重複控制器的結構

重複控制的結構如下圖所示

中頻鏡像干擾_中頻鏡像干擾_06

對於上圖框圖中的重複控制器,受控對象是P(z),C(z)是補償器,包括相位補償和幅值補償,為了簡化,可以取C(z)等於

中頻鏡像干擾_中頻鏡像干擾_07

Q(z)是為了增強系統的穩定性,是為了讓系統的閉環極點為了單位圓內,一般去成小於1的常數,取Q(z)=0.95,重複控制器的傳遞函數H(z)等於可以

中頻鏡像干擾_中頻鏡像干擾_08

3 重複控制編程實現

重複控制傳遞函數為

中頻鏡像干擾_中頻鏡像干擾_09

寫成差分方程形式為

中頻鏡像干擾_#重複控制_10

        N:一個週期內的採樣次數

        K:相位補償次數

假設N=192,K=3,Kr=0.4,則用程序實現為:

const int N=384;
float y[N]={0};
float e[N]={0};
float Kr=0.4;
const int K=4;
float err;//控制誤差
float rpt;

//err相當與當前拍誤差,e[0]相當於err的前N拍
//同理rpt相當於當前拍重複控制的輸出量,y[0]相當於rpt的前N拍


//計算誤差err
err=Vref-Vsample;

//計算重複控制輸出
rpt=y[0]*0.95+e[K]*Kr;


for(int i=0;i<N-1;i++)
{
   e[i]=e[i+1];
   y[i]=y[i+1];
}
e[N-1]=err;
y[N-1]=rpt;

err+=rpt;

 

4 逆變器重複控制Matlab建模

 

逆變器系統的Matlab模型如下。逆變器用單相半橋逆變橋拓撲結構,電池組分正負倆個電池組,每個電池組電壓360V。逆變器輸出電壓有效值220V。電阻設置為6M,模擬空載電阻無窮大的情況。開關Breaker在0.5s時閉合,模擬突加RCD滿載的情況。RCD電阻設置為6歐姆,電容設置為4000uF。

中頻鏡像干擾_傳遞函數_11

非線性負載模塊詳情

中頻鏡像干擾_#重複控制_12

控制模塊Control的詳情如下。重複控制器採用嵌入式結構,嵌入在PI電壓環前面。逆變控制採用電壓外環PI控制,電流內環比例控制。1302是50%佔空比,這個佔空比補償是用來是的半橋在無控制輸入時輸出電壓保持為0。

中頻鏡像干擾_控制模塊_13

重複控制模塊的xiangq詳情如下圖。

中頻鏡像干擾_#重複控制_14

 

5 控制仿真

只用PI-P控制不用重複控制時

輸出電壓和參考電壓波形,之前倆個波形基本重合,到0.5s加了RCD負載後輸出電壓就比較糟糕:

中頻鏡像干擾_#逆變器控制_15

輸出電流波形,來看一下情況有多惡劣,電流峯值達到了200V:

中頻鏡像干擾_傳遞函數_16

輸出電壓THD,THD後面維持在10%左右:

中頻鏡像干擾_傳遞函數_17

採用重複控制以後

  輸出電壓和參考電壓波形

 

中頻鏡像干擾_#逆變器控制_18

輸出電壓的THD,穩定在4.5%附近:

中頻鏡像干擾_控制模塊_19

輸出電流波形:

中頻鏡像干擾_傳遞函數_20

總結

    可見重複控制對於抑制RCD負載的效果非常好,帶滿載的時候THD都基本能穩定在4.5%左右。重複控制可調參數主要有幅值補償係數和相位補償係數。幅值補償係數太過小的時候,重複補償強度會很弱,效果不明顯。重複控制係數過大的時候,重複控制會引起震盪。最終效果以在實際機器上調試為準,不過跟仿真基本差不離多少。下次有時間可以做一個用StateFlow編程驅動的更精確的模型出來。