劉佐濂,何清平,江建鈞
(廣州大學(xué) 物理與材料科學(xué)學(xué)院,廣東 廣州 510006)
可再生能源混合發(fā)電系統(tǒng)通常是由儲(chǔ)能器件、發(fā)電設(shè)備和控制器組成。混合發(fā)電系統(tǒng)可以彌補(bǔ)傳統(tǒng)單獨(dú)發(fā)電系統(tǒng)不夠靈活、能源單一、日晝發(fā)電不均衡等不足。在太陽(yáng)能、風(fēng)能及水能蘊(yùn)藏量豐富且地處偏遠(yuǎn)的地區(qū),混合能源發(fā)電系統(tǒng)可以為用電設(shè)施提供穩(wěn)定的能源供給,解決能源不足的問(wèn)題。現(xiàn)有的可再生能源混合發(fā)電系統(tǒng)主要存在以下問(wèn)題:第一,發(fā)電系統(tǒng)沒(méi)有對(duì)整個(gè)發(fā)電通道的電氣參數(shù)進(jìn)行監(jiān)測(cè)和控制,只監(jiān)測(cè)儲(chǔ)能器件的充電、放電參數(shù);然而對(duì)發(fā)電通道的電氣參數(shù)監(jiān)測(cè)時(shí)既能了解發(fā)電通道的工作狀態(tài),還能在發(fā)電通道參數(shù)出現(xiàn)異常時(shí)幫助排查硬件故障,利于系統(tǒng)的維護(hù)。第二,系統(tǒng)缺少對(duì)蓄電池的過(guò)充保護(hù)、欠壓保護(hù)及充電電流的實(shí)時(shí)控制。第三,多數(shù)能源混合發(fā)電系統(tǒng)的人機(jī)交互僅局限于板載顯示屏和操作按鈕,操作起來(lái)不夠直觀、方便。針對(duì)以上問(wèn)題,設(shè)計(jì)了一種可以兼容不同發(fā)電設(shè)備的可再生能源混合發(fā)電系統(tǒng)。本系統(tǒng)可實(shí)際應(yīng)用也可以用于實(shí)驗(yàn)教學(xué)和科普宣傳。
系統(tǒng)由上位機(jī)平板電腦、控制器、發(fā)電設(shè)備以及蓄電池組成,控制器分別與上位機(jī)平板電腦、發(fā)電設(shè)備、蓄電池連接。控制器以STM32F103RCT6為主控芯片,包括升壓電路組、發(fā)電檢測(cè)電路組、充電控制電路、輸出控制電路、LDO穩(wěn)壓電源電路、充電電流檢測(cè)電路、輸出電流檢測(cè)電路、LED指示電路組、蜂鳴提示電路、電池電壓監(jiān)測(cè)電路。整個(gè)系統(tǒng)的控制軟件包括兩部分:一部份通過(guò)編寫程序安裝在微處理器中;另一部分人機(jī)交互界面和安卓系統(tǒng)驅(qū)動(dòng)程序安裝在上位機(jī)平板電腦里。兩部分通過(guò)USB口轉(zhuǎn)串口進(jìn)行通信,完成對(duì)能源混合發(fā)電系統(tǒng)的完善控制。可再生能源混合發(fā)電系統(tǒng)具有四路能源選擇輸入口,上位機(jī)能實(shí)現(xiàn)對(duì)蓄電池、發(fā)電通道、能源輸出通道的電氣參數(shù)進(jìn)行管理。可再生能源混合發(fā)電系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)硬件結(jié)構(gòu)
從硬件結(jié)構(gòu)框圖可知,系統(tǒng)設(shè)計(jì)了四路發(fā)電通道,可以連接太陽(yáng)能電池板(100 W)、風(fēng)力發(fā)電機(jī)(100 W)、水力發(fā)電機(jī)(50 W)和手搖發(fā)電機(jī)(50 W),每路發(fā)電通道都能把輸入電壓從最低的直流5 V升高到直流20 V,再通過(guò)受微處理器輸出PWM(脈沖調(diào)寬)信號(hào)控制的充電控制電路給蓄電池充電,PWM的占空比受總發(fā)電功率和電池儲(chǔ)存能量?jī)蓚€(gè)參數(shù)控制,以決定平均充電電流的大小。控制器的工作電壓由蓄電池提供。發(fā)電通道里的電流、電壓檢測(cè)電路將發(fā)電設(shè)備的輸入電流、電壓取樣放大后發(fā)送給微處理器,同時(shí)微處理器實(shí)時(shí)監(jiān)測(cè)蓄電池狀態(tài),控制充放電電流,防止電池的過(guò)充、過(guò)放。系統(tǒng)可輸出直流12 V,也可以外接逆變器把直流12 V逆變成交流220 V輸出。上位機(jī)平板電腦安裝人機(jī)交互程序,通過(guò)控制界面選擇不同的發(fā)電通道和打開(kāi)或切斷蓄電池的輸出,也可以顯示系統(tǒng)主要電氣參數(shù)。控制器上四個(gè)LED用于指示系統(tǒng)的狀態(tài),蜂鳴器對(duì)系統(tǒng)異常發(fā)出報(bào)警聲。
微處理器采用單片機(jī)STM32F103RCT6,其引腳分配如圖2所示。PC13、PC15、PB4、PB5用于檢測(cè)發(fā)電設(shè)備是否接入,低電平時(shí)表示接入發(fā)電設(shè)備;PA15、PC10、PC11、PC12連接LED指示燈,用于顯示四個(gè)功能狀態(tài);PB6、PB7、PB8、PB9、PD2用于通道選通;PC0、PC1、PC2、PC3、PC5、PA6用于電流采樣;PA0、PA1、PA2、PA3用于電壓采樣;PB10、PB11用于串口通信;PA13、PA14用于SWD下載程序;PB0用于蜂鳴器報(bào)警。微處理器連接外圍電路構(gòu)成一個(gè)完善的控制器,實(shí)現(xiàn)與上位機(jī)通信、讀取各路發(fā)電參數(shù)、控制系統(tǒng)運(yùn)行狀態(tài)及聲光報(bào)警等核心功能。

圖2 單片機(jī)主要I/O口分配
LDO(Low Dropout Regulator)低壓降線性穩(wěn)壓器是常用的穩(wěn)壓器,用于較低壓差的電壓轉(zhuǎn)換。相比于DC/DC電路而言,LDO所需的外圍器件少、成本低、噪音小。本系統(tǒng)中的LDO穩(wěn)壓電路如圖3所示。

圖3 LDO穩(wěn)壓電路
控制器中主要使用了兩塊LDO芯片:E6210A50PG和ME6210A33PG。前者把12 V的蓄電池電壓降低到5 V,主要為電流檢測(cè)放大的運(yùn)放電路提供工作電壓;后者把5 V輸入降為3.3 V給微處理器提供工作電壓并為ADC提供參考電壓源。ME6210A50PG的封裝只有三個(gè)引腳,分別是V、V、V,并分別對(duì)應(yīng)地、輸入和輸出,在使用的時(shí)候非常簡(jiǎn)單方便。為了讓電路的可用性更高,還需要在輸出電壓和地之間加入電容,用于過(guò)濾噪聲和濾除交流成分。
控制器升壓、電流和電壓檢測(cè)電路如圖4所示。
在設(shè)計(jì)中使用XL6019E1作為升壓電路的主控芯片,其能夠工作在5~40 V的輸入電壓范圍,以輸入電壓作為工作電源。XL6019E1內(nèi)置振蕩器和頻率補(bǔ)償電路,可以簡(jiǎn)化外圍電路的設(shè)計(jì)。XL6019E1轉(zhuǎn)換效率達(dá)到94%以上,支持TTL電壓控制使能,可配合微處理器使用。XL6019E1的主要引腳:V為電源輸入引腳,可以支持5~40 V的電壓輸入,一般會(huì)在V與GND之間接入電容進(jìn)行濾波;EN為使能引腳,高電平使能芯片工作,低電平關(guān)閉芯片,使用微處理器控制此引腳可選通或關(guān)閉發(fā)電通道;SW為輸出開(kāi)關(guān)引腳,起過(guò)壓保護(hù)作用;FB為輸出電壓采樣引腳,輸出電壓V=采樣引腳電壓×(1+/)。本設(shè)計(jì)中XL6019E1的輸出電壓采樣引腳電壓設(shè)為1.25 V。當(dāng)發(fā)電設(shè)備接入升壓電路,升壓到直流20 V后經(jīng)R18輸出到Power_IN引腳再經(jīng)充電控制電路給蓄電池充電。
圖4中INA199A1DCKR為電流采樣放大芯片,輸入電流通過(guò)R9采樣被運(yùn)算放大器放大50倍后送到微處理器I/O口CURR_CH2,在微處理器內(nèi)部進(jìn)行ADC轉(zhuǎn)換;同時(shí)輸入電壓通過(guò)R21、R28組成的電壓采樣電路把輸入電壓送到微處理器I/O口Voltage_CH2,在微處理器內(nèi)部進(jìn)行ADC轉(zhuǎn)換。控制器中共有4路相似的升壓、電流和電壓檢測(cè)電路。

圖4 控制裝置升壓、電流和電壓檢測(cè)電路
電池充放電模塊電路的硬件設(shè)計(jì)如圖5所示。四路發(fā)電通道的再生電流從Power_IN流入,給蓄電池充電,開(kāi)關(guān)管的驅(qū)動(dòng)脈沖從單片機(jī)Charge_ON腳輸出,脈沖寬度受電池電壓和發(fā)電設(shè)備輸出能量大小的控制,以便于在電池低電壓的狀態(tài)進(jìn)行大電流充電,通過(guò)檢測(cè)流過(guò)兩端電壓就可以得到充電電流的大小,BAT12連接電阻分壓電路把電池電壓參數(shù)送到微處理器處理,得到電池兩端電壓。通過(guò)微處理器BAT_ON引腳控制Q、Q兩個(gè)MOS管的開(kāi)關(guān)來(lái)控制電池輸出電流,防止電池過(guò)放。

圖5 電池充放電電路的硬件設(shè)計(jì)
小功率可再生能源混合發(fā)電系統(tǒng)軟件設(shè)計(jì)分為兩部分:一部分為基于STM32F103RCT6的主控程序;另一部分為基于上位機(jī)平板電腦的Android Studio程序。在上位機(jī)程序設(shè)計(jì)中,使用Android Studio集成開(kāi)發(fā)IDE工具,開(kāi)發(fā)了一個(gè)安卓應(yīng)用軟件,提供一個(gè)生動(dòng)有趣的人機(jī)交互界面,實(shí)時(shí)地對(duì)整個(gè)可再生能源綜合應(yīng)用系統(tǒng)進(jìn)行數(shù)據(jù)監(jiān)測(cè)可控制。此外,使用應(yīng)用軟件與微處理器STM32F103RCT6進(jìn)行通信。用戶只須下載開(kāi)發(fā)好的程序,連接系統(tǒng)的OTG線,即可使用。近年來(lái),物聯(lián)網(wǎng)技術(shù)飛速發(fā)展,安卓生態(tài)用戶的數(shù)量不斷上升,利用應(yīng)用軟件來(lái)控制系統(tǒng)是一個(gè)發(fā)展趨勢(shì)。
主控程序的程序流程如圖6所示。可以看到,微處理器不斷輪詢串口數(shù)據(jù)寄存器和微處理器狀態(tài)數(shù)組,如果有數(shù)據(jù)從上位機(jī)發(fā)送到單片機(jī),單片機(jī)會(huì)根據(jù)規(guī)定好的通信協(xié)議解析數(shù)據(jù)包,獲取上位機(jī)的操作指令,從而設(shè)置微處理器狀態(tài)數(shù)組。微處理器會(huì)根據(jù)狀態(tài)數(shù)組,對(duì)外圍電路進(jìn)行管理、控制和監(jiān)測(cè)。STM32F103RCT6的UART模塊可以讓用戶非常方便地配置串口通信的波特率、數(shù)據(jù)位等。微處理器提供了專門的寄存器用于串口通信數(shù)據(jù)的讀寫,而且利用串口中斷機(jī)制可以讓微處理器第一時(shí)間對(duì)接收到的數(shù)據(jù)進(jìn)行處理,縮短系統(tǒng)的響應(yīng)時(shí)間。為了讓通信更加高效合理,系統(tǒng)設(shè)計(jì)了一個(gè)簡(jiǎn)單的通信協(xié)議。接收端將根據(jù)通信協(xié)議解析數(shù)據(jù)包,當(dāng)接收到不符合通信協(xié)議的數(shù)據(jù)時(shí)把它丟棄。發(fā)送端也需要按照通信協(xié)議的要求,把數(shù)據(jù)打包成數(shù)據(jù)包后再發(fā)送出去。通信協(xié)議還加入了簡(jiǎn)單校驗(yàn),提高通信的穩(wěn)定度,降低通信出錯(cuò)的風(fēng)險(xiǎn)。簡(jiǎn)單的通信協(xié)議結(jié)構(gòu)見(jiàn)表1所列。

圖6 主控程序的程序流程

表1 通信協(xié)議結(jié)構(gòu)
單次通信將發(fā)送一幀數(shù)據(jù)包,一幀數(shù)據(jù)包由2+1+1+2++1+2個(gè)字節(jié)組成,其內(nèi)容依次為數(shù)據(jù)包頭、數(shù)據(jù)長(zhǎng)度、數(shù)據(jù)包類型標(biāo)識(shí)、命令字、數(shù)據(jù)、校驗(yàn)、數(shù)據(jù)包尾。數(shù)據(jù)包頭為固定的兩個(gè)字節(jié)(0xAA,0x55),負(fù)責(zé)判斷收到數(shù)據(jù)包是本系統(tǒng)中有效的數(shù)據(jù)包。數(shù)據(jù)長(zhǎng)度為一個(gè)字節(jié),以十六進(jìn)制表示,表示在數(shù)據(jù)包中包含多少字節(jié)的數(shù)據(jù)。數(shù)據(jù)包類型標(biāo)識(shí)用來(lái)表示數(shù)據(jù)包的類型,0x01表示數(shù)據(jù)包類型為“命令”,0x02表示數(shù)據(jù)包類型為“數(shù)據(jù)”,0x03表示數(shù)據(jù)包類型為“校準(zhǔn)”。命令字為兩個(gè)字節(jié),分為B1和B2。B1表示命令,具體命令對(duì)應(yīng)見(jiàn)表2所列;B2表示通道,分別從0x00到0x0C(本系統(tǒng)只用到了0x00~0x04,0x0B和0x0C)。數(shù)據(jù)為個(gè)字節(jié),表示微處理器要發(fā)送給應(yīng)用軟件的數(shù)據(jù)。校驗(yàn)為1個(gè)字節(jié),在一幀數(shù)據(jù)包中除了包頭以外所有字節(jié)的累加,取其低8位作為校驗(yàn)值,用于判斷數(shù)據(jù)在傳輸過(guò)程中是否發(fā)生錯(cuò)誤。包尾為固定的兩個(gè)字節(jié)(0x0D,0x0A)。

表2 命令字B1的具體命令
2.2.1 UI程序的程序執(zhí)行流程
UI程序的程序流程如圖7所示。程序一開(kāi)始創(chuàng)建CH340驅(qū)動(dòng)對(duì)象(CH340為USB口轉(zhuǎn)串口模塊芯片),接著初始化各種布局、控件,得到布局、控件等的資源;然后等待上位機(jī)平板電腦接入系統(tǒng),當(dāng)應(yīng)用軟件檢測(cè)到CH340芯片時(shí)將會(huì)向系統(tǒng)申請(qǐng)USB權(quán)限,當(dāng)用戶接受后軟件正式啟動(dòng)。程序在啟動(dòng)后會(huì)等待用戶打開(kāi)串口并配置,接著開(kāi)啟一個(gè)讀串口的線程,不斷輪詢是否有數(shù)據(jù)從單片機(jī)發(fā)送到安卓設(shè)備,當(dāng)接收到有效數(shù)據(jù)或命令時(shí),會(huì)根據(jù)通信協(xié)議分析數(shù)據(jù)包,得到有效的數(shù)據(jù)和指令。應(yīng)用軟件還會(huì)監(jiān)聽(tīng)按鈕事件,不同的按鈕對(duì)應(yīng)不同的指令,當(dāng)發(fā)生點(diǎn)擊按鈕的事件時(shí)平板電腦將會(huì)根據(jù)通信協(xié)議向微處理器發(fā)送數(shù)據(jù),實(shí)現(xiàn)平板電腦對(duì)微處理器的控制。

圖7 UI程序的程序流程
2.2.2 布局XML文件
在基于Android Studio的開(kāi)發(fā)平臺(tái)中有非常重要的布局文件,它控制著Activity控件的布局,是決定UI是否美觀的重要因素。其中RelativeLayout為相對(duì)布局,能夠設(shè)置組件的相對(duì)位置;LinearLaypout為線性布局,能夠讓組件水平或垂直排布,使Activity布局看起來(lái)更加工整有序;GridLayout為網(wǎng)格布局,讓組件呈網(wǎng)格型分布,與線性布局類似;FrameLayout為幀布局,幀布局可以覆蓋在其他布局之上,合理地運(yùn)用幀布局可以做出翻頁(yè)的效果。在本文的應(yīng)用軟件UI設(shè)計(jì)中,使用較多的是線性布局和幀布局。
2.2.3 控件
控件是UI設(shè)計(jì)中最基本的部件,精美的UI界面是由一個(gè)個(gè)基本控件組成。Android Studio提供的控件有很多,本文列出本應(yīng)用程序中使用到的基本控件。TextView為文本控件,用于顯示文本,可設(shè)置文本的大小、字體、顏色、加粗等;Button為按鈕控件,創(chuàng)建一個(gè)按鈕供用戶點(diǎn)擊,可以在程序中編寫按鈕監(jiān)聽(tīng)函數(shù),當(dāng)用戶點(diǎn)擊按鈕時(shí)將運(yùn)行監(jiān)聽(tīng)函數(shù),Button控件是UI交互中最重要的控件之一;EditText為編輯文本控件,用戶可以在編輯文本控件上進(jìn)行文本編輯,可以在程序中獲取用戶輸入的文本;ImageView為圖片控件,用于顯示圖片或設(shè)置圖標(biāo),可以配合按鈕,做出圖標(biāo)變化的特效。應(yīng)用程序用到的控件雖然不多,但發(fā)揮個(gè)人的想象力也可以做出生動(dòng)有趣的UI。圖8為本系統(tǒng)的UI界面,分兩頁(yè)顯示。

圖8 系統(tǒng)UI界面
根據(jù)實(shí)際情況對(duì)可再生能源進(jìn)行利用、調(diào)配在工業(yè)生產(chǎn)上是有重要意義的。可再生能源的利用能有效實(shí)現(xiàn)國(guó)家碳排放和碳中和的戰(zhàn)略目標(biāo)。本系統(tǒng)能實(shí)現(xiàn)小功率四路可再生能源發(fā)電設(shè)備輸出能源的調(diào)配和吸收。用工業(yè)平板電腦作為上位機(jī)顯示發(fā)電參數(shù),同時(shí)實(shí)現(xiàn)對(duì)系統(tǒng)的監(jiān)測(cè)和調(diào)控。系統(tǒng)成本較低,控制軟件設(shè)計(jì)合理,用戶界面友好。小功率可再生能源混合發(fā)電系統(tǒng)無(wú)論在工業(yè)應(yīng)用、科普教學(xué)或?qū)W生實(shí)驗(yàn)等方面都具有很好的意義。由于時(shí)間關(guān)系,系統(tǒng)在感知發(fā)電設(shè)備輸出能量和電池狀態(tài)、得到充電控制(PWM)脈沖寬度的算法方面還需要進(jìn)一步的實(shí)踐修正,同時(shí)轉(zhuǎn)換效率也有待提高。