最近看了論壇的發帖獎勵,安耐不住內心想拿獎品的沖動;不管丟不丟臉了,只求各位看官,噴清點!!!
主要內容只要分兩大塊:
一、硬件參數設計:
1、MPPT以及INV電路設計;
2、結緣阻抗檢測電路設計;
3、GFCI漏電流檢測電路設計;
二、軟件系統搭建;
1、MPPT軟件算法實現;
2、并網鎖相算法實現;
3、MPPT追蹤并網算法實現;
4、防孤島算法檢測實現;
最近看了論壇的發帖獎勵,安耐不住內心想拿獎品的沖動;不管丟不丟臉了,只求各位看官,噴清點!!!
主要內容只要分兩大塊:
一、硬件參數設計:
1、MPPT以及INV電路設計;
2、結緣阻抗檢測電路設計;
3、GFCI漏電流檢測電路設計;
二、軟件系統搭建;
1、MPPT軟件算法實現;
2、并網鎖相算法實現;
3、MPPT追蹤并網算法實現;
4、防孤島算法檢測實現;
逆變器參數需求如下:
1、MPPT以及INV電路設計
直流側:單路MPPT輸入范圍為120-500V,最大支流輸入為12A;
我們直接選取BOOST拓撲作為MPPT電路;
交流側:并網電壓為220V,最大輸出功率3KW,最大交流輸出電壓15A;
我們直接選取H4拓撲作為INV電路;
整體電路框架如下圖:
參數計算:BOOST跟INV開關管頻率設計為20KHz,BUS母線最低電壓350V
BOOST電感計算如下:
INV電感計算如下:
開關管選型:BOOST管跟H4開關開關管都用同一型號的IGBT管子:FGA40N65SMD
BOOST續流二極管:APT30DQ60BG
二、軟件系統搭建;
1、MPPT軟件算法實現;
對于3KW的逆變器前級一般用的是Boost拓撲,BOOST是最基本的升壓拓撲,具體工作原理就不在贅述;
比較常見的用法都是控制BOOST的輸出電壓;如下圖:
但是對于光伏應用來說,由于光伏面板的電壓是動態的曲線,要找最大的功率點必須要控制住面板的電壓(也就是BOOST的輸入電壓);
我們對此提出疑問,BOOST電路能否穩住輸入側的電壓???
答案是肯定的我們下面進行驗證,先搭下控制環路,如圖一:
根據控制環路搭建仿真模型,如圖二:
仿真結果如圖(輸入電壓被控制在給定電壓70V):
上面我們已經實現了BOOST控制輸入電壓,那怎么去尋找光伏面板的最大功率點呢?
我們做這樣的假設,先給定電壓Uref=Uo,然后計算光伏面板的功率P1;接著給定電壓Uref=Uo+△U,然后計算光伏面板的功率P2;接著給定電壓Uref=Uo-△U,然后計算光伏面板的功率P3;通過比較P1、P2、P3,找出最大的功率點,然后將給定值Uref=Upmax;如此反復循環最終是否就能找到了光伏面板的最大功率點呢?
下面通過仿真驗證:系統仿真如下圖:
光伏面板參數設置如下:
MPPT仿真波形如下:(通過仿真可以看出BOOST已經實現了MPPT功能)
二、軟件系統搭建;
2、并網鎖相算法實現;
為什么并網逆變器要鎖相?這是一個比較重要的一個問題;首先我們的光伏并網逆變器,主要作用是最大效率的將太陽能轉化為電能并輸送到電網上;但是由于我們的電網類似等效于一個50Hz的交流電壓源,這樣就決定了我們的光伏逆變器必須是控制電流輸出的(因為如果我們的逆變器也是電壓輸出,兩個電壓源是不能并聯的);為了將我們的電能100%輸送給電網,那我們逆變器的電流角度就必須要跟市電的角度一樣,這樣才能保證輸送給電網的電能100% 是有功功率;
知道了為什么要鎖相,那接下來的問題是怎么去鎖相?要實現鎖相就必須得到關于市電的一對正交因子;
我們假設市電Va=Vmax*sin(100π*t);要實現鎖相就要設法得到一個跟Va正交的要個信號
Vb=Vmax*sin(100π*t-90°)=Vmax*cos(100π*t);我們在進一步推算,如果這兩個正交因子進行向量積和×乘,是不是可以得出一個固定的值;也就是Park變換;
Ud(Θ-Θ0)=cos(Θ-Θ0)*Vmax(Θ-Θ0)+sin(Θ-Θ0)*Vmax(Θ-Θ0-90°);
Uq(Θ-Θ0)=-sin(Θ-Θ0)*Vmax(Θ-Θ0)+cos(Θ-Θ0)*Vmax(Θ-Θ0-90°);
在進一步分析,如果對Uq進行PI控制,使得Uq=0;那么Θ=Θ0 ,系統角度是不是就被時刻跟蹤住了;
也就是要實現鎖相,最主要的就是如何通過對市電采樣,然后分離出一對正交因子;下面我們主要介紹三種方法去求解正交因子:(下面的計算都是基于DSP采樣頻率為20KHz的計算)
方法一(求導法);
假設我們市電的信號是A(t)=310*(sin(100π*t))
那對應的正交因子應該是B(t)=310*(cos(100π*t))
在實際DSP采樣中我們是不知道我們的信號實際是怎樣的,只能知道輸入信號是一個正弦信號;
但是我們知道一個正玄信號求導剛好變成一個余弦信號,這正好就是我們要求得正交因子呀;
我們知道對A函數的求導A`(t)=[A(t+△t)-A(t)]/△t
這時候我們直接看A(t)=310*(sin(100π*t))----->A`(t)=310*100π*(cos(100π*t))
也就是我們所要求的B(t)=A`(t)/100π;
明白這里,在回去看代碼
U[2]=[A(t+△t)-A(t)],△t=1/20000, B(t)=Ube=[A(t+△t)-A(t)]/△t/100π=63.694*U[2];
考慮這樣計算出來的B(t)是滯后于A(t)一個采樣周期的,
所以加了補償B(t)=63.694*(U[2]*05+U[3]*0.5)(具體補償效果根據實際修改參數);
方法二(數組移項法):
我們定義另個數組Ua[400],Ub[400], 然后將數組Ua、Ub對市電一個周期進行采樣存儲,接著我們對數組Ub進行右移100的數據點,這時候也實現了一市電的一組正交因子;如下圖:
方法三(廣義積分法):
廣義積分法也就是經常論文看到的SOGI算法;說白了就是設計兩個傳遞函數,這兩個傳遞函數分別對我們的輸入信號也就是市電的采樣信息,進行運算,得到兩個正交信號;
下面通過搭建三種求正交因子的仿真如下:
仿真數據如下:(三種方法都能準確鎖相)
到此為止,我們鎖相已經實現了;
二、軟件系統搭建;
3、MPPT追蹤并網算法實現;
前面已經講過MPPT功能以及實現了市電的鎖相了,接下來就是如何將前級MPPT跟后級逆變串聯起來:
如上圖:就是整個光伏逆變器的系統;前級BOOST通過MPPT功能將最大的太陽能能量輸送給中間母線,而后級逆變則是在母線上獲取能量輸送到電網上;那這樣如果我后級逆變的主要功能是穩住母線,這樣的話前級BOOST輸送的能量通過母線就跟后級逆變串聯起來了,而且實現了能量的平衡,前級往母線輸送多少能量,后級逆變就從母線上吸收多少能量;
系統仿真波形如下:
二、軟件系統搭建;
4、防孤島算法檢測實現;
隨著分布式發電的迅速發展,越來越多的太陽能被轉化為電能并通過并網逆變器輸送到電網,對電網的安全與穩定運行提出了挑戰 ,隨之而來的一個必須要解決的問題就是并網逆變器的孤島檢測。光伏并網發電系統中的孤島效應是指當電網停止供電時,由于光伏電站未能及時檢測出電網狀態的變化而未能將自身切離電網,和周圍負載形成一個電網無法掌控的孤立供電區域 。孤島效應可能會對電路檢修人員和用電設備造成嚴重危害,所以研究孤島檢測具有重要的意義。
正常逆變器的鎖相環如下:
為什么加入角度正反饋,就能識別出孤島效應呢?
在正常并網的情況下,由于電網是個電壓源,我們往電網注入電流,并不會改變電網的相位,所以由市電鎖相出來的角速度一直是一個固定的值;所以正常并網情況下,由于加入了角度正反饋,注入電網的電流其實是跟市電有一個微小的相位差的,如下圖:
在孤島情況下,鎖相環輸入的電壓,不再是一個電壓源了,這時候這個輸入電壓跟我們注入的電流息息相關,也就是如果我們的注入電流頻率越來越大,鎖相環出來的角速度也是越來越大,這樣的話,我們通過判斷鎖相環出來的角速度,就能夠識別出孤島效應了;
下面通過搭建仿真驗證算法可行性:
不加角度擾動,仿真波形如下:逆變器脫離電網后,繼續一直在正常工作;
加入角度擾動后,逆變器迅速識別到孤島效應,關閉逆變器:
知道了為什么要鎖相,那接下來的問題是怎么去鎖相?要實現鎖相就必須得到關于市電的一對正交因子;
我們假設市電Va=Vmax*sin(100π*t);要實現鎖相就要設法得到一個跟Va正交的要個信號
請教一下,為什么要得到這個正交信號