小形バッテリ充電器
前回の発振を応用してバッテリ充電器を作って見ました。精度は必要ないのとコントロールピンも少ないので8ピンの[12F629]を使い内蔵発振の4MHzを利用しました。
この充電器が完璧とは思いませんが、それなりに充電出来ますので使えると思います。充電実験をしていると、どうも「放電をたまにする」とより深く充電する感じを受けたので充電休み期間中に軽く放電時間を入れました。
せっかく充電したのに放電をするというのは少し矛盾しますが、放電は全体の割合として少ないので充電はされます。
全体は8等分し、その内5が充電時間でタイミングは図の通りです。電池端子電圧をオシロで監視すると、加える電圧と抵抗で充電中の電圧が決り、無負荷になる電圧が分かり、また負荷を加えると電圧が低下します。図では大幅に電圧が下がっていますが、充電が進むとこの電圧低下は少なくなり0.7V以下まで進みます。
どの程度が良いのか分かりませんが古いバッテリでは1Vを切る頃からなかなか進みません。充電がしにくいのが分かります。「交換時期」かもしれません!また、充電電圧も低下し「バッテリの活きの良さ!」を感じます。草臥(くたび)れたものは内部抵抗が高く電流を流そうと思ってもなかなか思うように流れません。まあ寿命でしかたありませんが使える内は使ってみようと思います。
「"草臥"て 宿かる頃や 藤の花」この字は芭蕉の俳句です、始め読めませんでした!
回路に付いて
当所FETでコントロールしようか、と思っていましたが手持ちにトランジスタがたくさんあるので使っています。2SC1815はMax150mA程度なので75Ω負荷には持たないかも知れない、そこで2本パラレルで使う事にしました。
メインの2SB1375は電流が流れるのですが、最大0.5Aと想定しコントロール電流は50mAと思っていました。これだとトランジスタ1本で何とか平気と思いますが念のため2本パラで使う事にしました。少し運用して分かったことは「2SB1375は0.4A程度の電流では殆ど熱くならなかった」ことです、当所放熱を考えていましたがその必要性は無かったのにはびっくりでした。
ベース抵抗1.3KΩは2.7KΩパラで使っていますがここは発熱するので5.6KΩの4本パラレルにしたい所です、または1W程度の抵抗を購入する必要がある。プッシュSWはStop用のスイッチで現在は使っていません。他2つのI/Oがあまっているので何かに使えます。
2SB1375の所に入っているダイオードは逆流防止用です、0.4Aでは過熱しません。22Ωは直接バッテリに接続され電流を流すとかなり発熱します。供給電圧を下げるか10Wの物に交換したい所です、ただ小さなバッテリでは過熱しないので5Wを使っていますが、小さなバッテリではこの程度でも十分です。
負荷の75Ωは3Wを使っていますがこれも発熱します。12V程度なので触れない程加熱することはありません、作動している時間が短いためです。スタートで点灯するLEDはスイッチオンで1秒間点滅して動作を始めます、この間点灯を続けSTOP SW(使ってないが!)を押すと消えて停止します。「正常にPICが動作を始めた!」というのを知ることは大事です。
動 作
電源は22Vを加えました。古いバッテリはなかなか充電しませんが段々と回復するようで、特に古い物は無負荷で10.5Vほどでした。ラジオに使っみると7Vほどに電圧が低下してしまいます。これ以上回復しそうに無いのでこれで止めました。
それでもラジオ用としては暫く使えるようなので006Pの変わりに使っています。比較的新しいバッテリは75Ω負荷で11V近くあり、こちらは色々な用途に使えそうです。バッテリは一度放電をさせてしまうとダメージを受けて完全には戻りません。という事で何個も駄目にした経験のある菊地さんでした。使ったら充電する癖をつけないと駄目ですね。
以前バッテリ再生というのをTVで見たことがあるのですが、実態は分かりません。興味はあるのですがどうゆう手を使っているのでしょうか・・・。
今 後
使ってみて、タイミングはもう少し変更したいと思います。例えば待ち時間は半分以下にしても良いと思いますし、2SB1375に付けた放熱板は0.4A程度なら不要でした。
他にも色々実験をして順次改良をしたいと思います。2007/JUL/16
;2007/7/3 充電器の制作を始める ;7/6 ;the internal oscillator provides a fixed 4 MHz system clock. ;begin to LED ON-OFF and start of a battery charge. ;SW is stop over. ;------------------------------------------------------ LIST P=PIC12F629 INCLUDE "P12F629.INC" ; __CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT ; & _MCLRE_OFF & _BODEN_ON ; __CONFIG 0x31c4 ; ERRORLEVEL -302 ;------------------------------------------------------- TEMP EQU 20H ; TEMP2 EQU 21H ; P_CNT EQU 22H ;Counter LED1 equ 0x0 ;GP0-Output TR1 equ 0x1 ;GP1-Out charge TR2 equ 0x2 ;GP2-Out discharge with 75 ohm SW1 equ 0x3 ;GP3-Input SW shut off org 0 ;------------------------------------------------------- BEGIN call INT_IO ;I/O set call LED_TEST ;ON-OFF MAIN bsf GPIO,LED1 ;ON bsf GPIO,TR2 ;Discharge call PWAIT ; 1mSec bcf GPIO,TR2 ; OFF call PWAIT ;Wait bsf GPIO,TR1 ;Charge call PWAIT ; 1mSec call PWAIT ; 1mSec call PWAIT ; 1mSec call PWAIT ; 1mSec call PWAIT ; 1mSec bcf GPIO,TR1 ; OFF call PWAIT ;Wait bcf GPIO,LED1 ;OFF call SW_CK ;SW ON to EXIT(LED/TR=OFF) goto MAIN ;LOOP ;------------------------------------------------------- PWAIT movlw D'248' ;1mSec(997uSec) movwf P_CNT PW1 nop decfsz P_CNT,F goto PW1 return ;------------------------------------------------------- SW_CK btfsc GPIO,SW1 ;Stop SW return bcf GPIO,LED1 ;LED OFF goto $-1 ;------------------------------------------------------- ;LED ON-OFF LED_TEST movlw D'5' ;1Sec movwf TEMP LT0 ; bsf GPIO,LED1 ;ON movlw D'100' ;100mSec movwf TEMP2 LT2 call PWAIT ;1mS decfsz TEMP2,F goto LT2 bcf GPIO,LED1 ;OFF movlw D'100' movwf TEMP2 LT3 call PWAIT decfsz TEMP2,F goto LT3 ; decfsz TEMP,F goto LT0 bsf GPIO,LED1 ;start of charge return ;------------------------------------------------------- INT_IO bcf STATUS,RP0 ;Bank 0 clrf GPIO ;Init GPIO movlw 0x07 ;Set GP<2:0> to movwf CMCON ;digital IO bsf STATUS,RP0 ;Bank 1 movlw B'00001000' ;Set GP(3) as inputs movwf TRISIO ;and set GP(5,4:2,1,0) as outputs ;OSC Calibrate :戻ってこないので2行消すこと。 ; call 0x3FF ;Get the cal value ; movwf OSCCAL ;Calibrate ; bcf STATUS,RP0 ;Bank 0 return end
もどる [MAIN MENU]