微處理器控制的充電器

June 5  '07 by   楓華人

在偶然狀況下買了 [白熊的店] 四位數顯示器, 以及12F675。。又因為自己時常在用充電電池。 在充電時很想同時看到電池的電壓, 以及充電的總時間。 碰巧12F675 有10bits的ADC, 又內建振盪器。 將12F675配上白熊的四位數顯示器, 再加上定電流源。 就成了可顯示電壓, 時間, 以及控制充電截止的充電器。  此充電器目前適用於鎳氫或鎳鎘電池。

此充電器的電路圖如附1程式碼為附2。  LM317Z同時是提供微處理器的ADC參考電壓。 所以必須微調其電壓輸出為5.0V。 否則電壓顯示有誤差。 12F675的Gpio0, 1, 2是控制四位顯示的En, data, clock。 Gpio3可選擇兩個電池或三個電池。 Gpio4是ADC的輸入。Gpio5是輸出, 用於控制電流源。

程式先測試 Gpio3來決定是用於兩個電池串接充電用, 或三個串接用。 再檢查有沒有接電池。 若無電池就顯示 "no b" 。 確定有電池後將依 Gpio,3 的狀況顯示 " 2c " 或者是" 3c " 並且開動定電流源。同時每 5秒切換電壓顯示或時間顯示。 計時標準是利用有校正值的內建4Mhz振盪器。 在充電過程中一旦電池電 壓達到設定截止電壓  ( 2c是3.1V, 3c是4.6V)即切斷電流源。此時繼續顯示電壓但計時停止。一旦電池電壓低於再啟動設定值。(2c 是2.7V, 3c是4.1v)。 又再開動電流源, 再重新計時。 計時的顯示方式是 "時。分分。十秒"計時超過10小時後, 時位的顯示是16進位 循環式, 即是a,b,c,d,e,F。 在燒錄微處理器時,必須設watchdog off, internal osc_no out, internal MCLR, POR_on。

回到電路圖上。NPN電晶體可用任何手邊有的。 PNP 只要能耐1A電流皆可。 LED相當於 一個定電壓。 大約在 2.0V。 因此定電流的大小就是LED的電壓減掉PNP的E-B電壓降, 再除以射極電阻。 也就是    Ic=(Vled-0.7)/Re。 使用綠色LED, RE為7.5ohm 得到  Ic 約0.2Amp。有些人要求鎳鎘或鎳氫電池必須用0.1C 的電流來充電。 就須自行改RE。 PNP在0.2A的定電流時,有些熱度, 必須有散熱片。 電源電壓不必高, 大於9V 即可。 過高(>15V)會燒壞IC, 也提高PNP的熱度。 ADC輸入端的分壓電阻, 最好用 1%的規格。 倆支電阻的比值必須是 2 比1。

絕對值則不重要。成品照片如 附3(充電電壓),  附4(充電時間),  附5(開機)

 

回DIY首頁