(彭水苗族土家族自治縣職業教育中心,重慶 彭水 409600)
本系統設計是基于光伏供電的場合,系統整體可滿足小功率負載在離線情況下連續供電的需求;設計應有足夠的帶載能力,能夠滿足一般電壓等級的用電器使用,自身功耗低,有一定的硬件資源冗余以方便產品迭代等特點。基于上述要求,系統至少應該具有一定的智能性,具備可靠的功率變換電路,能夠實現較為友好的人機交互等功能[1]。
基于智能設計和人機交互的需求,設計時就必須使用微控制器或嵌入式芯片。根據系統功能需求的分析,現設計兩種方案。
1.1.1 ADC0809 和AT89C51 組合實現電路參數測量
ADC0809 是51 單片機中經典的模數裝換芯片,硬件資源最大可提供分時8 路8 位精度的AD 轉換功能,8 位AD數據并行傳輸,可滿足一般場合AD 要求。其典型應用電路如圖1 所示,從圖中可以看到該芯片在工作的時候需要額外的時鐘,同時數據的傳輸是8 位并行,所以在一定程度上會較多占用MCU 的硬件資源,且實際使用時需要用到高精度參考電壓源,實際的硬件電路會有更多的開銷,因此對于此方案,在本次項目中不予采用。
1.1.2 STC12CA60S2 增強型單片機測量電路參數
STC12C5A60S 為國產單片機,對于本次的系統設計更為實用,該單片機是采用51 內核的8 位單片機,但STC12 C5A60S2 有8 路10 位AD,帶PWM 功能,具有SPI 接口可在線編程,內部ROM 為64K。這里的兩個關鍵功能本次系統設計都可以直接使用,一個是自帶的AD,另一個就是超大的程序空間。在硬件電路上該單片只需要少量的外圍器件即可工作,在最小系統的設計上,外部時鐘都可以直接省略,因為其內部自帶了RC 時鐘源在頻率精度要求不高的場合可以完全適用。本次設計時還是參照了傳統51 單片機的外圍電路設計,其最小系統如圖2 所示。
此外除了上述的兩種方案之外,還可以使用ST(STM32)的單片機,功能上也能夠兼容,但綜合功能開發的難易程度、市場存量、價格、工藝等問題,此次的系統設計采用STC12C5A60S2 單片機作為信號采集、處理芯片。并且在市場上STC 的產品存量大,成本有優勢,對于工程開發來說,這也是一種最優化的選擇。
本次系統設計的重點是對太陽能電池所發電能的存儲,由于電池輸出的電壓與當前環境下的光照強度有直接關系,而超級電容器在充電時是不能夠超過其上限電壓的,因此就需要設計一個電源變換電路將太陽能電池輸出的電能轉換成相對固定的電壓再對電容器進行充電。本次設計試驗所采用的超級電容器模組的充電上限是12V,因此對應的功率變換電路可以在太陽能電池輸出電壓高于或者低于12V時將電容器的充電電壓穩定到12V 的上限值。該電路在設計時既要可以對直流電源進行升壓也要可以降壓才行。根據文獻資料可以知道,經典的電路拓撲結構中有BOOST—BUCK 電路和SEPIC 電路可以滿足要求。
1.2.1 Boost buck 拓撲電路結構分析
Boost buck 拓撲電路是開關電源三大基本拓撲結構(Boost、Buck、Boost—buck)中的一種,前兩者只能升壓或者降壓,這種既可以升壓也可以降壓。其電路結構如圖3所示,Multisim 仿真升降壓效果如圖4、圖5 所示。
從圖4 和圖5 中可以看出,Boost buck 拓撲電路功能上確實可以完成電壓的升降,但卻有一個嚴重的缺陷,輸出的電壓與輸入側電壓極性相反。而本次的系統設計在這種情況下難以使用單片機對其電壓進行測量,因為參考點的選取不好處理。但該電路可以應用在需要負壓的場合。
1.2.2 SEPIC 拓撲電路結構分析
SEPIC 拓撲電路是在三種基本拓撲電路結構的基礎上演變的另外三種(Cuk、Zeta、Sepic)之一,其電路的基本拓撲結構如圖6 所示,Multisim 仿真升降壓效果如圖7、圖8 所示。

圖1 ADC0809 與單片機典型電路連接

圖2 STC12C5A60S2 單片機最小系統
從圖7、圖8 中可以知道SEPIC 拓撲電路可以完成直流電壓的升降,同時不改變電壓的極性,功能上可以達到系統設計的要求。而且該電路在搭建的時候可以適用的電源IC 種類很多,可以說只要支持Boost 拓撲結構(只升壓)的IC 基本都可以搭建此電路。市場上常用的電源芯片有芯龍半導體的XL60XX 系列、TI 公司的LM25XX 系列等。這種芯片的最大輸出電流可以達到3A,內置MOS,只需要少量的外圍器件即可工作,電路的搭建上要相對容易一些。
由以上兩種方案中對比可知,此次的系統設計,SEPIC拓撲結構更適合。
在系統方案里,確定了STC12C5A60S2 為系統MCU,負責系統中幾個關鍵點的AD 轉換工作,同時通過特定的算法將其解算成當前電路的實際電壓值,并在顯示模塊上顯示出來。基于XL6009 的三路SEPIC 功率拓撲電路,將太陽能電池產生的電能經過變換后給超級電容器充電;將超級電容器存儲的電能經過變換輸出,使之可以匹配外接用電器的工作電壓;將超級電容器存儲的電能經過變換后供給測量電路,由于超級電容存儲電量有限,對此電路獨立控制,以查詢的方式可以實時了解當前系統的工作情況。這里對關鍵的計算點進行分析。

圖3 boost—buck 電路拓撲結構

圖4 boost—buck 電路升壓效果

圖5 boost—buck 電路降壓效果

圖6 SEPIC 拓撲電路結構

圖7 SEPIC 拓撲電路降壓效果

圖8 SEPIC 拓撲電路升壓效果
STC12C5A60S2 單片機內置8 路10 位AD,這里只需要選擇三個通道即可。該單片機的AD 工作的時候沒有單獨參考電壓,它直接使用電源作為測量參考。因此在電路設計的時候需要注意單片機供電電路的穩定性。單片機的AD 采集之后,得到的是二進制數據,這里如果測量電壓是5V,那么從AD 返回的值就為二進制“1111111111”,如果是0V,那么AD 返回的值就為二進制“0000000000”,對應十進制數就為1023 和0。這里涉及到將0 到1023 和0 到5進行一個線性的對應操作,設計時使用一個一元一次的函數表達式就可以計算出當前的電壓值V。
V=(AD_value*500)/1023(這里AD_value為AD返回值)
基于C 語言處理數據的特點,這里在解算的時候就預先將值擴大了100 倍(所以看到的是500 而不是5),這樣在顯示的時候只要將得到的值逐個分離出來顯示即可,然后人為的除以100 保證數據的準確性。
在進行超級電容器電量計算的時候,需要先對電路中常用的公式做一個了解,然后推算得出超級電容電量的計算公式。

聯立式1 到式5 即可將容量、電壓轉為等效電量表達式如下:
電量=電壓(V)x 電荷量(C)
這里以本次系統設計為例,選用的是100F、2.5V 的單體超級電容6 個串聯組成的模組。根據計算,這里的實際電容量應該為100/6 ≈16.7F,由于電容的實際容量差別很大,所以這里在計算的時候只取整數16。由于模組自身有均壓電路存在,因此充電上限電壓只有12V。SEPIC 功率變換部分的最低輸入電壓實測為3.5V。因此這里超級電容器的有效電壓為12V-3.5V=8.5V,所以電量(能量)=8.5*16=136A·S,也就是如果以136A 的電流放電,那么可以維持1 秒鐘。當然實際應用的時候,由于電路的效率問題,肯定不會有這么多的能量被使用到。
對于功率變換電路,因為是參考成熟的方案設計,對于電子元件的參數就沒有做詳細的計算。而對XL6009 來說,輸出電壓由反饋電阻調節,根據反饋引腳的電壓始終為1.25V,來配置反饋電路的電阻即可[2]。
3.1.1 系統總體框圖
本次系統設計由功率變換、MCU、顯示等模塊構成,詳細組成及連接關系如圖9 所示。
3.1.2 功率拓撲電路原理圖
本次的系統設計根據需要基于XL6009 搭建了三組SEPIC 功率變換電路以滿足,超級電容器充電、電能輸出、系統自供電三部分的需求。電容充電電路中為避免太陽能電池接線極性接反,在輸入側加裝了二極管(M7)防止反接,在電能輸出部分和系統自供電部分,考慮到節能需求加裝了獨立開關控制電路的啟閉,總體電路結構如圖10 所示。
3.1.3 單片機最小系統及顯示電路原理圖
本次系統設計采用STC12C5A60S2 單片機,雖然在功能上相對于傳統51 強勁了很多,但其外圍電路基本上沿用傳統51 單片機的電路即可,基本上就是復位和時鐘電路,這里由于單片機內置RC 振蕩器,在要求不高的地方可以直接使用,而不需要外部的時鐘電路。顯示電路,使用的是12864 液晶屏。本次設計采用并口的方式傳輸數據,電路沿用標準的設計方案。單片機最小系統及顯示電路原理圖如圖11 所示。

圖9 系統總框圖

圖10 SEPIC 拓撲電路(充電電路)

圖11 單片機最小系統及顯示電路原理圖
3.2.1 程序功能描述與設計思路
本次系統設計的程序編寫是基于STC12C5A60S2 單片機進行的,功能上使用了內部AD,這樣在程序代碼上需要對特定寄存器進行配置才可以。
功能上,程序完成指定的3 個AD 通道進行AD 采集。同時對得到的AD 值進行解算得到當前電路的實際電壓值,進一步計算可得到超級電容器存儲的電量值。除此之外,系統對外輸出采用12864 液晶屏,這里單片機與屏的通信方式為并行,數據口在P0,同樣程序需要配置相應的引腳,來控制液晶屏正常顯示字符信息。
思路上,根據程序功能需求,完成AD 采集函數代碼的編寫,這樣在使用時可以直接調用。在液晶屏顯示數據的處理上,也采用單獨函數的方式進行,液晶屏的寫命令和寫數據函數分開,在主函數中可以直接調用。主函數中,由于本人的能力有限,字符的顯示采用一個字符一個字符的方式發送給液晶屏顯示,大循環中直接調用各個功能函數,來執行相應的功能,對于計算的處理直接在主函數中以數學表達式的方式完成。
3.2.2 程序流程圖
程序流程圖如上圖12 所示。

圖12 系統程序流程圖
本次系統設計在測試時分為兩部分進行,一個是以XL6009 構成SEPIC 功率電路進行測試,其中包括電壓調節、帶載能力和穩定性。另一個是以STC12C5A60S2 構成的電壓測量電路的準確性的測試。
本次系統設計針對硬件測試時,主要是對功率電路部分進行測試,測試時使用萬用表測試輸出電壓的穩定性和輸出電流的大小。硬件軟件聯調時主要測試,測量電路測量數據的準確性。
4.1.1 硬件測試
在測試電路輸出帶載能力的時候,根據日常低壓用電設備的情況,大多數為5V 的用電,因此在實物搭建時特別增加了USB 接口,方便USB 設備使用,USB 設備使用時大多需要滿足1A 以上的電流負載能力。因此測試時調節電位器將輸出電壓調至5V,將4Ω 的電阻接到輸出端口,使用萬用表測量電路輸出電壓依舊為5V,這時根據歐姆定律電流(I)=電壓(U)/電阻(R),可知此時的輸出電流為1.25A。由于模組存儲電量有限,因此重載時間不應過長。(詳細測試效果如圖13、圖14 所示)

圖13 系統萬用表測試5V 輸出

圖14 系統在5V 輸出時電流超過1A
這里的電流測量值不為1.25A,也不是標準的5V,其原因可能是重載情況下,反饋端到電源芯片處產生的壓降所引起,但其負載能力也達到了將近6W,所以這樣的設計結果是可以接受的。
4.1.2 硬件軟件聯調
硬件軟件聯調時,將萬用表接到系統輸出端口,調整輸出電壓看液晶屏顯示的數據和萬用表的測數據是否一致。反復調節變送電路,直至測量電路顯示的數據和萬用表的測試讀數大體相同(實測效果如圖15、圖16)。

圖15 系統15V 電壓對比測試

圖16 系統4V 電壓對比測試
從圖15 和圖16 中可以看出,系統測量電壓可以達到±0.05 的范圍,而且測試可以輸出4-15V 的直流電壓。滿足更多電壓等級用電設備的用電需求。
本次系統設計的環境使用要求不高,普通場合即可。因此在普通的測試場地即可完成測試。當然,在太陽能電池充電測試的時候最好是選擇晴朗的天氣,保持太陽能電池板在陽光的直射狀態,同時匹配的太陽能電池板功率應該滿足設計要求。儀器選擇普通的三位半萬用表即可完成所有測試。
4.3.1 測試結果(數據)
測試結果在前文的硬件和軟件調試的附圖中均由體現,現對測量時系統輸出的幾次不同的電壓列表對比,詳細如表1 所示。

表1 系統輸出電壓測量對比
4.3.2 測試分析與結論
通過表1可以看出,系統測得誤差是可以達到0.2V 的設計要求。而且在硬件調試的時候實測輸出電壓范圍可以是3V-30V,該技術指標也是完全可以達到常規用電設備的需求。在系統充電電壓上,只要保證發電功率,也完全可以在5V-22V 這個供電區間對超級電容完成充電,當然這里如果是光照條件不好的情況下,太陽能電池的電壓會被直接拉低至3V 以下,這個時候是不能完成充電的。同時如果在陽光充足時,該系統在不掛接超級電容的情況下也是可以直接驅動小功率負載。
從本次的系統設計可以知道,超級電容和光伏發電這兩者的結合是完全可行的。同時較傳統的光伏項目來說該系統具有充電快、短時負載能力強的優點,特別適合在功率負載轉移時的過渡使用。超級電容作為新的儲能方式其具有充電速度快、負載能力強的優點,而且由于其充電過程是物理變化,所以電容的性能衰減速度慢,這也是超級電容儲能的優勢所在。最后,系統在布局設計時就考慮了硬件上的冗余,其它的功能需求完全可以基于此進行二次開發[3]。