基于單片機的太陽能路燈控制器(圖)
摘要: 太陽能路燈以太陽光為能源,白天充電、晚上使用,無需鋪設復雜、昂貴的管線,可任意調整燈具的布局,安全節能無污染,充電及開/關過程采用光控自動控制,無需人工操作,工作穩定可靠,節省電費,免維護,太陽能路燈的實用性已充分得到人們的認可。
編者按:太陽能路燈以太陽光為能源,白天充電、晚上使用,無需鋪設復雜、昂貴的管線,可任意調整燈具的布局,安全節能無污染,充電及開/關過程采用光控自動控制,無需人工操作,工作穩定可靠,節省電費,免維護,太陽能路燈的實用性已充分得到人們的認可。本文介紹的基于單片機的太陽能路燈控制器的設計,對12V和24V蓄電池可以自動識別,能實現對蓄電池的科學管理,能指示蓄電池過壓、欠壓等運行狀態,具有兩路負載輸出,每路負載額定電流可以達到5A,兩路負載可以隨意設置為同時點亮、分時點亮,單獨定時等工作模式,同時對負載的過流、短路具有保護功能;具有較高的自動化和智能化程度。
硬件電路組成及工作原理系統硬件結構框圖太陽能路燈智能控制器以STC12C5410AD單片機為核心,外圍電路主要由電壓采集電路、負載輸出控制與檢測電路、LED顯示電路及鍵盤電路等幾部分組成的,結構框圖如圖1所示。電壓采集電路包括:太陽能電池板和蓄電池電壓采集,用于太陽光線強弱的識別以及蓄電池電壓的獲取。單片機的P3口的兩位作為鍵盤輸入口,用于工作模式等參數的設置。
下面詳細介紹系統中STC12C5410AD、電壓采集與電池管理、負載輸出控制與檢測電路的設計與實現。
STC12C5410AD單片機STC12C5410AD是STC12系列的單片機,采用RISC型CPU內核,兼容普通8051指令集,而且還有新的特點:片內含有Flash程序存儲器10k,Data Flash數據存儲器2k,RAM數據存儲器512字節,同時內部還有看門狗(WDT);片內集成MAX810專用復位電路,集成了8通道10位分辨率的ADC以及4通道的PWM;具有可編程的8級中斷源4種優先級,具有系統可編程(ISP)和應用可編程(IAP)等特點,片內資源豐富、集成度高、使用方便。STC12C5410AD對系統的工作進行實施調度,實現外部輸入參數的設置、對蓄電池及負載進行管理,工作狀態的指示等。為充分使用片內資源,本文所設置的參數寫入Data Flash數據存儲器內。鍵盤電路P3.4(T0)接F1鍵,該鍵用
于設置狀態的識別及參數設置;P3.5(T1)接F2鍵,該鍵用于自檢及加1功能,根據程序流程,分別實現不同功能。電壓采集與電池管理太陽能電池板電壓采集,用于太陽光線強弱的判斷,因而可以作為白天、黃昏的識別信號。同時本系統支持太陽能板反接、反充保護。
蓄電池電壓采集,用于蓄電池工作電壓的識別。利用微控制器的PWM功能,對蓄電池進行充電管理。蓄電池開路保護:萬一蓄電池開路,若在太陽能電池正常充電時,控制器將關斷負載,以保證負載不被損傷,若在夜間或太陽能電池不充電時,控制器由于自身得不到電力,不會有任何動作。
過充保護:充電電壓高于保護電壓(15V)時,自動關斷對蓄電池的充電;此后當電壓掉至維護電壓(13.2V)時,蓄電池進入浮充狀態,當低于維護電壓(13.2V)后浮充關閉,進入均充狀態。當蓄電池電壓低于保護電壓(11V)時,控制器自動關閉負載開關以保護蓄電池不受損壞。通過PWM充電電路(智能三階段充電),可使太陽能電池板發揮最大功效,提高系統充電效率。本系統支持蓄電池的反接、過充、過放。照明工程師社區s}:f3w5V P:VDM
負載輸出控制與檢測電路本系統設計了兩路負載輸出,每路的輸出均有獨立的控制和檢測,具有完善的過流、短路保護措施。負載輸出控制與檢測電路如圖2所示。
負載過流及短路保護:設計了兩級保護。第一級采用了R7(0.01Ω康銅絲)以及運放LM358、比較器LM393等器件組成的過流、短路檢測電路配合單片機的A/D轉換及外部中斷響應來實現,這里使用了硬件+軟件的方式,LM358的輸出送P1.7(A/D轉換)口,用作過流信號識別,當電流超過額定電流20%并維持30s以上時,確認為過流;短路電流整定為10A,響應時間為毫秒數量級。第二級采用了電子保險絲保護,當流經電子保險絲的電流驟然增加時,溫度隨之上升,其電阻大大增加,工作電流大幅降低,達到保護電路目的,響應時間為秒數量級,過流撤消或短路恢復后電子保險絲恢復成低阻抗導體,無須任何人為更換或維修。系統采用了兩級保護措施后,在長達數小時時間負載短路實驗后,控制器仍沒出現電路燒毀現象。解決了用傳統保險絲只能對電路進行一次性保護,一旦燒毀必須人為更換的問題,同短路后需手動復位或斷電后重新開啟的系統相比,也具有明顯的優點,簡化了維護,提高了系統的安全性能。
硬件設計中的注意點
(1)感應雷保護電路應設計在太陽能電池板引線入口處,保護電路周圍4mm內不要布置其他器件。
(2)防止太陽能電池板反接用的二極管必須采用快恢復二極管,這種管子導通內阻小,充電時發熱量小,不用散熱器也可以連續充電,充電效果好。
(3)充電、負載放電電路的印刷線路寬度至少要4~5mm,線路上用搪錫處理以增加過電流能力,大電流導線在一層過渡到另一層時,要放置3~5個過孔。
(4)過流、短路保護電路選用的電流取樣電阻要綜合考慮電流、功率及熱穩定性三個因素。電阻增大則電路效率下降,本系統選用電阻為0.01Ω,過電流能力在10A以上的康銅絲作為電流取樣電阻,來產生取樣電壓,取樣電壓最多不超過0.2V,故采用運放LM358對它進行放大。
(5)器件的布局和PCB圖的布線采用模塊化,大電流信號與小電流信號要分離,對放大電路的線路猶其要精心布置。數字地和模擬地分開,注意電源線和地線的布局。
系統軟件設計
與本設計方案的硬件電路對應的軟件程序包括:主程序、定時中斷程序、A/D轉換子程序、外部中斷子程序及鍵盤處理子程序、充電管理子程序、負載管理子程序。單片機的軟件編程上,以KeilC編譯器的Windows集成開發環境μvision2作為軟件開發平臺,采用C51高級語言編寫。按鍵處理流程如圖3所示,電壓檢測子程序如圖4所示。
單片機軟件編程注意點
(1)本系統用較少的按鍵實現了諸多功能,如負載工作模式的設置,雙燈同時工作還是分時工作、負載工作時間的設定,還有自檢功能等,為防止誤操作采取了一些措施。這種方法實際上是一鍵多用的一種嘗試,還可以推廣到更復雜的人機對話的設計,其思路可參見按鍵處理流程圖。
(2)鍵盤在定時中斷服務程序中讀取,用中斷間隔時間實現鍵盤的去抖動,不必編寫另外的延時程序,提高了CPU的利用效率。鍵盤值存入數據緩沖區,在主程序中讀數據緩沖區的內容,執行鍵盤功能散轉子程序。
(3)環境光線(閃電、禮花燃放)對太陽能電池板的采樣電壓有明顯影響,故在白天、黃昏的識別時,要進行軟件延時,一般控制在2~3分鐘。
(4)外部中斷為高優先級中斷,編制子程序實現負載過流、短路保護時,要充分考慮到負載啟動瞬間時會產生數倍于額定電流的沖擊電流,沖擊電流維持時間在3~5ms左右,應在軟件上采取措施,避免短路與負載開啟的誤判。確定負載過流、短路后,切斷負載輸出。負載切斷后,每隔一段時間,如20s,應試接通負載開關,當發現過流、短路信號已消除,則恢復負載的輸出,否則負載開關仍然保持斷開。
(5)為保護負載(燈具),蓄電池過放保護恢復時,應用軟件設置一個回差電壓,這樣負載開關不會出現顫抖現象,有利于延長燈具的使用壽命。
(6)根據STC12C5410AD的Data Flash的特點,數據寫入時必須啟動ISP/IAP命令,CPU等待IAP動作定時后,才繼續執行程序,要先關斷中斷(EA)。還應注意數據寫入Data Flash存儲器,不能跨越扇區。
部分軟件編程
ADC子程序
INT8U ADC (INT8U number)using 2{number=number&0x07;// 通道號不超過7
ADC_CONTR= ADC_CONTR&0xe0;//清ADC_FLAG、AD不啟動
ADC_CONTR=ADC_CONTR|number;//選擇通道
ADC_CONTR=ADC_CONTR|0x08;//啟動AD
while ((ADC_CONTR&0x10)!=0x10);//等待AD轉換結束
return (ADC_DATA);// 結果
返回
}
外部0中斷響應子程序
void Service_INT0 ()
interrupt 0 using 1
{ if(P3_2)//高電平,認為是干擾信
號觸發中斷
return;
delay1(5000);//10ms延時if(P3_2==0)
{load_switch_1=LSTOP;// 負載開關1關
LOOP1_DL=1;//置負載短路標志
}
}
本文所設計的太陽能路燈控制器,可適用12V或24V工作的光伏系統,可以直接驅動直流節能燈或通過逆變器驅動無極燈等燈具作為照明光源使用,也可以驅動一些直流低壓負載供城市亮化使用。控制器的兩路負載輸出,可以用于機動車道和人行道的照明,照明時間和工作模式可以靈活設置。著重解決了如何對蓄電池及負載進行有效管理的問題,既提高了太陽能電池板的使用效率,又延長了蓄電池的使用壽命,防止了工程上因線路問題而造成意外事件的發生。本文所設計的控制器已在江蘇S238省道得到應用,具有設計可靠、成本低廉的特點,具有較大的實用價值。
凡注明為其它來源的信息,均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點及對其真實性負責。
用戶名: 密碼: