本文介紹太陽能電池對鉛酸蓄電池充放電過程中,用單片機對充放電電壓進行數據采集、數字控制等電路設計制作。該電路具有結構簡單、數字顯示電壓值和無觸點充放電控制等功能。
一、硬件電路.
太陽能電池數顯充放電控制器原理電路見附圖所示。該電路主要由單片機89C52與ADC0809模數轉換器組成。ADC0809具有①~⑤腳和(26)~(28)腳8路模擬輸入端口,(23)~(25)腳地址線可決定對哪一路模擬輸入作A/D轉換。(22)腳是地址鎖存控制端,當輸入高電平時,對地址信號進行鎖存;(6)腳是測試控制端,當輸入一個2μs寬的高電平脈沖時,就開始A/D轉換;(7)腳是A/D轉換結束標志控制端,當A/D轉換結束時,(7)腳輸出高電平;(9)腳是A/D轉換數據輸出允許控制端,當(9)腳為高電平時,A/D轉換數據從端口輸出;(10)腳是時鐘輸入端,在精度要求不高的條件下,可將單片機(30)腳直接接該端。
單片機的P1、P3端口作三位數碼管的顯示控制,Po端口作A/D轉換數據讀入,P2.0~P2.5端口作A/D轉換控制,P2.6和P2.7端口作輸出信號控制。R13、R19、R20、C6和ADC0809的IN0端口組成單路電壓數據采集輸入電路。功率場效應管Q10作蓄電池無觸點放電開關,Q11作蓄電池無觸點充電開關。
二、工作原理
為了使軟件編程簡單、不用作運算,根據ADC0809能將0~5V電壓轉換成數字量0~255的原理。假設太陽能電池對鉛酸蓄電池充電和鉛酸蓄電池對負載放電過程中,鉛酸蓄電池的端電壓變化范圍是0~25.5V,經過電阻R19、R20串聯分壓后,在R20的兩端得到≤5.0V的電莊,又經過A/D轉換變為數字量0~255,送到89C52控制處理后,并轉由1ED數碼管顯示數字量0~25.5,剛好能使電壓變化范圍值與數字變化量相對應。顯示的數字量就是實際電壓值。例如顯示12.0,就可以讀作12.0V。
根據鉛酸蓄電池性能,在充電過程中通過軟件設置停止充電電壓為14.5V、恢復充電電壓為13.5V;同樣在放電過程中設置停止放電電壓為11.5V、恢復放電電壓為12.5V。鉛酸蓄電池的端電壓被電阻分壓后送入A/D變換成數字量,89C52一方面將數字量送給1ED數碼管顯示,另一方面對數字量進行比較判斷,如果比較結果超過14.5V時,P2.6口輸出高電平,Q6截止、1ED2熄滅、Q11也截止,使太陽能電池停止對鉛酸蓄電池充電;如果比較結果低于11.5V時,P2.7口輸出高電平、Q4截止、1ED1熄滅、Q10也截止,使鉛酸蓄電池停止對負載放電。
這樣就達到對鉛酸蓄電池過充電、過放電的保護目的。
三、源程序
整個源程序需設有電壓采集、顯示程序以及比較判斷、控制程序等。為了簡化硬件設計,程序中還要注意提高控制器的抗干擾能力,需設置軟件陷阱和軟件看門狗等。
-
太陽能電池
+關注
關注
22文章
1192瀏覽量
69499 -
AT89C52
+關注
關注
10文章
197瀏覽量
69558
發布評論請先 登錄
相關推薦
評論