PIC 32:小形バッテリ充電器


[タイミング]

小形バッテリ充電器

 前回の発振を応用してバッテリ充電器を作って見ました。精度は必要ないのとコントロールピンも少ないので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

inserted by FC2 system