基于單片機的太陽能手機充電器方案
在尋找最大功率點時,我們采用比較方式來實現,具體的做法是:首先采集太陽能電池板的輸出電壓和電流,計算出此時的功率,然后繼續采集。如圖4 所示。在圖4 中,C 點與B 點比較,如比B 點大或相等時,就給一個正號權位;如比B 點小時,就給一個負號權位。而A 點如比B 點大或相等時,就給一個負號權位;如A 點比B 點小時,就給一個正號權位。當三點比較完之后,如有兩個正號權位則屬正斜率,應當增大輸出電壓,提高輸出功率;如有兩個負號權位則屬負斜率,應當減小輸出電壓,提高輸出功率;如權位為零即為一正一負表示達到頂點,不做任何變動。在A、B、C 三點的功率值的取法為先取B點的功率為立足點,那么先讀取C 點功率,再從C 點返回讀取A 點功率。連續檢測三點的功率值并比較其大小再計算出權位值,經由權位值來判定立足點要往C 點移動、A 點移動、或不移動。此種方法雖然運算時間比傳統的擾動觀察法較慢達到最大功率點以及在日照量快速變化下無法達到最大功率點,但可以降低傳統擾動觀察法中不明的干擾及判斷錯誤而造成的功率損失,就整個控制效果而言是可以接受。

圖4 三點權位比較法中最大功率點附近數據狀態
5 程序總體設計及說明
我們采用的太陽能電池板的輸出電壓是9V,而充電電池的最高輸入電壓要求不能高于4.2V,為了保護電池起見,我們先把輸出的電壓從低到高逐漸增加。

圖5 控制邏輯電路流程圖
產生PWM波:通過初始化定時器使定時器工作在方式1,其中定時器1GATE 端無效,定時器0GATE 端有效,在定時器1 的服務程序中使P1.0 置1,并用該信號作為定時器0 的門控端。當P1.0 為1 時,定時器0 開始計數,當計數溢出時,進入中斷服務程序,在服務程序中將P1.0 清零,使定時器0 的定時周期小于定時器1 的定時周期,這樣,固定定時器1 的周期,改變定時器0 的周期,就會產生不同占空比的方波。
6 結語
該充電器使用閉環控制,控制精度高、具有自我調節能力,可以自動尋找太陽能電池板的最大輸出功率點提高手機電池使用效率,延長使用壽命。
評論