軟件程序設計
以單片機為核心的控制軟件具有實時性、靈活性、通用性及運行可靠性的特點。風光互補發電系統控制是實時控制系統,這就對軟件的執行速度有一定的要求,在軟件程序設計中,為節約內存和保證較強的適應能力,通常要求程序要有一定的靈活性和通用性。因此,軟件開發一般采用結構化程序設計方法,盡量將共用的程序編寫成子程序(如系統參數設置程序、A/D轉換計算程序、MPPT運算程序、減小功率子程序等),然后把子程序按一定的規則進行組合就得到完成特定任務的應用程序。本系統軟件主程序流程圖,見圖3。
其中系統參數設置是針對風光互補當時的最佳條件設定初始參數,如光伏最佳功率點電壓、風電機組卸荷電壓、蓄電池充電限制電壓、蓄電池充電限制電流、浮充電壓、涓流電流等;A/D采樣環節是把傳感器獲得的模擬信號轉換為數字信號以送給單片機進行運算;PI調節則是通過軟件把檢測獲得的實際參數與設置參數進行比較,其誤差經運算后通過單片機輸出相應的PWM進行控制調節;過壓、欠壓報警子程序是系統實測參數達到報警上下限時進行報警提示??刂葡到y中蓄電池充放電主要設定參數,如表1所示。
其控制過程如下:開機后,系統自動進行初始化,初始化完畢后系統自動進行參數設置子程序,然后進入采樣環節,采樣不是一直采樣的,而是有一定的時間間隔,到了一定的時間間隔才進行系統關鍵點的參數采樣。采樣得到的數據給A/D變換后傳送到單片機,與設定的參數進行比較,判斷目前蓄電池充電處于第幾階段,判斷出結果后進入下一環節,系統進行MPPT增加輸入功率子程序或進入減小功率子程序。程序反復則系統進入智能控制狀態。系統最大功率跟蹤控制MPPT算法流程圖如下圖4所示。
具體結合前述各種硬件電路及功能,對程序實現從以下幾個方面考慮:
用軟件來產生PWM信號,驅動IGBT工作。蓄電池電壓與充放電電流檢測處理程序設計思想為:若蓄電池電壓高于它的上限額定電壓,且充電電流低于某一個值持續了一段時間,則產生信號控制光伏系統充電控制電路,啟動風電機組泄荷電路,避免蓄電池過充電。泄荷電路的驅動脈沖是PWM脈沖,蓄電池電壓越高,驅動脈沖的脈寬也越寬,直到全泄荷,隔斷太陽能電池為止。在軟件設計的時候對A/D轉換的結果進行分類計數統計平均,過壓在某一段時間連續出現且充電電流低于某一個值持續了一段時間時才能全泄荷,隔斷風光互補供電電路。這樣有效地防止了因為干擾引起的誤動作,提高了充電效率,同時保證了PWM的實時跟蹤能力。