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