title0a.gif

Memorandumの小部屋

 

本ページは金銭授受を伴う行為を含むAuctionや商用Web Pageからの無断リンク・無断参照を禁じます。
無断リンク・無断参照が判明した時点で然るべき処置をとらさせて頂きます。


いっこいっこ充放電繰り返し器

1.背景

 電池ボックス電子工作(その13) いつどこGPSロガー4 ( SDメモリ・セパレートタイプ )の外付け電源としてNiーHM電池単4×4個直列で使用していました。 この電池の充放電はUniversal Battery Charger/Discharger Kit / K7300を使用しています。 このUniversal Battery Charger/Discharger Kit / K7300は十分使い切っていない電池を一旦放電してから充電してくれるのでメモリ効果を低減してくれます。 NiーHM電池はメモリ効果が小さいとの事ですが、この機能を使用しても無駄にはならないということで、使用後は毎回放電→充電を繰り返しています。

 ところが最近、電池の消耗が早くなったようです。 早速、ちょっとだけ電圧ロガー(その1)で各電池電圧を測定すると、充電後の電池3の放電時間が短い結果となりました。

 

【 放電特性 】

 やはり、4本直列での放電の繰り返しの蓄積が問題になっているようです。 充電は一定電流で充電していますので直列、並列の相違はないのかなと思っていますが、放電は1個の容量低下が全体に影響を与えているようです。 放電終了電圧検出方式が一般的に使用されていますので、1〜2個でも放電完了すると放電終了電圧に到達するようです。 よって、放電完了検出時点で残容量にばらつきが発生しており、これが電池劣化のばらつきを加速/拡大しているようです。

 この対策として安直に「いっこいっこ充放器」を作ってみようと思ったのですが、Universal Battery Charger/Discharger Kit / K7300と同様の機能を持たすことにした「いっこいっこ充放電器」にすることにしました。 この線で製作していこうと思っていましたが、世の中にはバッテリーリフレッシュと称して充放電を何回は繰り返すと電池が復活するとのことです。 それならばということで、この機能も付加した「いっこいっこ充放電繰り返し器」を製作することにしました。

 なお、初版製作後に時間設定数を追加した改良版に改造しています。 これらの内容について本ページの後半に掲載しています。

 

2.「いっこいっこ充放電繰り返し器」 回路図

 「いっこいっこ充放電繰り返し器」の回路コンセプトを下記のようにしました。 

 単4のNi−HM電池1000mAHと1100mAの2種類を対象にした回路図を下記に掲載します。 下記回路図をクリックすると原寸サイズの回路図にアクセスできます。 (製作例中のコネクタ取り合い部は回路図に記載していません。)

【 回路図 】

 

3. 「いっこいっこ充放電繰り返し器」用 PICマイコン 

 充放電信号の制御だけでしたらPIC16F84Aでも十分使用できます。 実際、当初はPIC16F84Aでプログラム作成していました。 その後の「いっこいっこ充放電繰り返し器」使用見直しで、「いっこいっこ充放電繰り返し器」の動作状態を分かるようにするなどの関係で入出力点数を増やさざるを得なくなりました。 結果として、PIC16F648A−I/Pを採用する事になりました。

 下記の動作で放電モードから充放電サイクル終了までは、各電池毎個別にシーケンス動作します。 なお、下記に時間数値を記載していますが、ソフト的にステップ数が正確になるように調整していませんので±数%の誤差がある事をご了承願います。 

STEP 動  作
STEP1 電源投入直後、シーケンス制御時間設定スイッチSW4状態をLED1とBZ1で識別できるようにする。

SW4オフ時(Highレベル)

 BZ1 : 0.4sピッー、小休みを1秒間隔で繰り返し。
 LED1: 0.4s点灯、、小休みを1秒間隔で繰り返し。

SW4オフ時(Lowレベル)

 BZ1 : ピッ、ピッ、小休みを1秒間隔で繰り返し。
 LED1: 0.1s点滅2回、、小休みを1秒間隔で繰り返し。

STEP2 スタートスイッチ(SW3)が押されるまでSTEP1を繰り返す。

スタートスイッチ(SW3)が押された後には、LED1は1s毎に点滅を繰り返す。 (シーケンスプログラム動作確認のため)

STEP3 スタートスイッチ(SW3)が押された直後に放電モードに移行。

LED1はシーケンスプログラム動作確認のため、シーケンス終了まで1s点灯、1s消灯を繰り返す。

STEP4 電池電圧が放電終了電圧設定に到達していない場合は放電を継続する。 放電終了電圧設定以下になった場合、追加放電モードに移行する。
STEP5 追加放電時間T1の期間放電状態を継続し、その後放電をオフする。
STEP6 終了電圧判定待ち時間T2何もせず待ち、その後、終了電圧判定する。
STEP7 終了電圧に到達していない場合は、再度放電モード(STEP3)に移行する。

終了電圧に到達している場合、次のSTEPステップに移行する。

STEP8 充電時間T3の期間、充電を継続する。 充電時間終了後、充電をオフする。
STEP9 充放電サイクル終了していない場合、放電開始待ち時間T3待って、放電モード(STEP3)に移行する。

充放電サイクル終了した場合、次のステップに移行する。

STEP10 全ての電池の充放電サイクルが終了した場合、下記掲載の終了表示設定に準じた動作をする。

 

 PICマイコンのEEPROMの設定で、シーケンス動作の個別設定ができます。 表中のアドレス、及び、括弧内数値は16進数です。

アドレス SW4 該当電池 内  容 デフォルト
00 オフ 電池1 充放電サイクル回数 0〜255 (01)
01 オフ 電池1 追加放電時間T1 0〜255 (02)
02 オフ 電池1 終了電圧判定待ち時間T2 0〜255 (00)
03 オフ 電池1 充電時間 上位8ビット 0〜65535 (例 1EF0=7920s) (1E)
04 オフ 電池1 充電時間 下位8ビット (F0)
05 オフ 電池1 放電開始待ち時間T3 0〜255 (0A)
06 オフ 電池2 充放電サイクル回数 0〜255 (01)
07 オフ 電池2 追加放電時間T1 0〜255 (02)
08 オフ 電池2 終了電圧判定待ち時間T2 0〜255 (00)
09 オフ 電池2 充電時間 上位8ビット 0〜65535 (例 1EF0=7920s) (1E)
0A オフ 電池2 充電時間 下位8ビット (F0)
0B オフ 電池2 放電開始待ち時間T3 0〜255 (0A)
0C オフ 電池3 充放電サイクル回数 0〜255 (01)
0D オフ 電池3 追加放電時間T1 0〜255 (02)
0E オフ 電池3 終了電圧判定待ち時間T2 0〜255 (00)
0F オフ 電池3 充電時間 上位8ビット 0〜65535 (例 1EF0=7920s) (1E)
10 オフ 電池3 充電時間 下位8ビット  (F0)
11 オフ 電池3 放電開始待ち時間T3 0〜255 (0A)
12 オフ 電池4 充放電サイクル回数 0〜255 (01)
13 オフ 電池4 追加放電時間T1 0〜255 (02)
14 オフ 電池4 終了電圧判定待ち時間T2 0〜255 (00)
15 オフ 電池4 充電時間 上位8ビット 0〜65535 (例 1EF0=7920s) (1E)
16 オフ 電池4 充電時間 下位8ビット (F0)
17 オフ 電池4 放電開始待ち時間T3 0〜255 (0A)
18 オン 電池1 充放電サイクル回数 0〜255 (01)
19 オン 電池1 追加放電時間T1 0〜255 (02)
1A オン 電池1 終了電圧判定待ち時間T2 0〜255 (00)
1B オン 電池1 充電時間 上位8ビット 0〜65535 (例 1C20=7200s) (1C)
1C オン 電池1 充電時間 下位8ビット (20)
1D オン 電池1 放電開始待ち時間T3 0〜255 (0A)
1E オン 電池2 充放電サイクル回数 0〜255 (01)
1F オン 電池2 追加放電時間T1 0〜255 (02)
20 オン 電池2 終了電圧判定待ち時間T2 0〜255 (00)
21 オン 電池2 充電時間 上位8ビット 0〜65535 (例 1C20=7200s) (1C)
22 オン 電池2 充電時間 下位8ビット (20)
23 オン 電池2 放電開始待ち時間T3 0〜255 (0A)
24 オン 電池3 充放電サイクル回数 0〜255 (01)
25 オン 電池3 追加放電時間T1 0〜255 (02)
26 オン 電池3 終了電圧判定待ち時間T2 0〜255 (00)
27 オン 電池3 充電時間 上位8ビット 0〜65535 (例 1C20=7200s) (1C)
28 オン 電池3 充電時間 下位8ビット (20)
29 オン 電池3 放電開始待ち時間T3 0〜255 (0A)
2A オン 電池4 充放電サイクル回数 0〜255 (01)
2B オン 電池4 追加放電時間T1 0〜255 (02)
2C オン 電池4 終了電圧判定待ち時間T2 0〜255 (00)
2D オン 電池4 充電時間 上位8ビット 0〜65535 (例 1C20=7200s) (1C)
2E オン 電池4 充電時間 下位8ビット (20)
2F オン 電池4 放電開始待ち時間T3 0〜255 (0A)
30 終了表示設定

bit7=1の場合 連続動作(電源オフまで継続)

 BZ1/LED1 : ピッ、ピッ、ピッ、小休みを2秒間隔で繰り返し。
 

 bit6=0 LED1のみ点滅

 bit6=1 BZ1発音+LED1点滅

 bit0〜5 未使用

 

bit7=0の場合 終了動作後、停止。

 BZ1/LED1 : ピッ、ピッ、ピッ、小休みを2秒間隔の繰り返しをbit0〜5
           で設定した回数繰り返し。
 

 bit6=0  終了後、LED1消灯・ブザー発音無し

 bit6=1 終了後、LED1を1s点灯/1s消灯を電源オフまで繰り返し。
       ブザー発音無し   

 bit0〜5 ピッ、ピッ、ピッ、小休みの繰り返し回数。

 

(4A)

 申し訳ありませんが、今回のプログラムも非公開とします。 ただし、書込みサービス対応としますのでここを参照願います。

 PICマイコンを使用するのが面倒でしたら、充放電の信号をご自分で作成される事もできます。 PICマイコンの出力は充電信号、放電信号ともに5Vで動作、0Vで停止となります。 (PICマイコン相当のLow:シンク電流/High:ソース電流を流せる信号(8mA以上流すことができでが十分)が必要です。)

 

3. 「いっこいっこ充放電繰り返し器」 製作例

   「いっこいっこ充放電繰り返し器」の製作例を下記に掲載します。

【 基板部品面 】

 

【 基板ハンダ面 】

 

【 ケース、放熱板実装図 】

 

【 操作パネル(裏面) 】

 

【 基板取り付け状態 】

 

【 操作パネルを取り付けた状態 】

 

【 完成時外観(背面) 】

【 完成時外観(平面) 】

 

【 完成時外観(正面) 】

 

調整方法

調整は放電終了電圧設定VR1

 入力インピーダンス1MΩ以上のテスタを使用してV_DIS電圧が1Vになるように調整して下さい。

充電電流設定VR11,VR21,VR31,VR41(各回路個別設定 4箇所) 

 充電電流は電池に直列電流計を入れる方法は電流計の内部抵抗の影響で電流制御がうまくいかない可能性があります。 よって、充電電流はR11,R21,R31,R41の両端電圧を測定して、充電電流=テスタ測定電圧/抵抗値でもとめた方がよいでしょう。

 

5.「いっこいっこ充放電繰り返し器」 使用例  

 現在多用しているNi−HM電池の充放電を4回繰り返してリフレッシュできないか確認をしました。

【 電池実装例 】

 

【 充放電特性 】

 上記結果のように4個の電池ともに−ΔVを検知できています。 この結果から、これらの電池は劣化が進んでおり、約60%の容量に低下しているようです。 −ΔVまでの時間が若干増加していますが、大きく回復する気配はありません。  

注意事項

 上記結果では−ΔVで満充電した後も長時間0.5Cと急速充電に近い大きさの電流で充電しています。 −ΔV検出以降の充電期間は過充電していることを意味しています。 これが定電流充電時間管理の大きな問題点です。 実際にはーΔV制御充電をすることが望ましいです。 

 もし、本ページを参考に同様な充電器を製作されたい場合は、0.1C程度の充電電流に設定することをお勧めします。 但し、この場合の充電時間は10時間程度かかります。 


いっこいっこ充放電繰り返し器  改良版

 NiーHM電池の種類が増えてきて、充電時間2通りでは設定が不足するようになりました。 当初は時間を見ながら手動で調整していましたが、時間的拘束が生じるので時間設定を従来の2通りから16通りに増加するように改良することにしました。  今回、改造を行った回路図を下記に記載します。

上図をクリックすると原寸大の回路図をダウンロードできます。

【 回路図 】

 この改造を行ったあとの「いっこいっこ充放電繰り返し器」を下記に示します。 今回は既存品への改造のため、ディップスイッチSW7、プルアップ抵抗R51,R52,R53,R54は追加の小基板に実装し、LED並列抵抗R17a,E27a,R37a,R47aはLEDのリード線に直接接続しています。

 

【 いっこいっこ充放電繰り返し器改良版 外観】

 

【 追加基板(ディップスイッチ、プルアップ抵抗) 】

 

 この改造に伴い、EEPROMの設定を以下のように変更しました。

 

スイッチ設定による時間設定 (SWの空欄はスイッチoffを示す。)
選択
CH
SW1 SW2 SW3 SW4 EEPROM設定先頭アドレス
(16進)
時間以外の設定(電池1〜4個別設定) 時間の設定アドレス(電池1〜4個別設定) 電池電流容量

[mA]

充電時間

[hr]

EEPROM設定
(10進)
(デフォルト)
EEPROM設定
(16進)
(デフォルト)
00         00 CH00で設定 CH00で設定 500 1.0 3600 0E10
01       on 18 CH01で設定 CH01で設定 700 1.4 5040 13B0
02     on   30 CH02で設定 CH02で設定 850 1.7 6120 17E8
03     on on 48 CH03で設定 CH03で設定 1000 2.0 7200 1C20
04   on     60 CH04で設定 CH04で設定 1100 2.2 7920 1EF0
05   on   on 78 CH05で設定 CH05で設定 1300 2.6 9360 2490
06   on on   90 CH06で設定 CH06で設定 2000 4.0 14400 3840
07   on on on A8 CH06の設定流用 CH07で設定 2050 4.1 14760 39A8
08 on       B0 CH06の設定流用 CH08で設定 2400 4.8 17280 4380
09 on     on B8 CH06の設定流用 CH09で設定 2700 5.4 19440 4BF0
0A on   on   C0 CH06の設定流用 CH0Aで設定 900 1.8 6480 1950
0B on   on on C8 CH06の設定流用 CH0Bで設定 1500 3.0 10800 2A30
0C on on     D0 CH06の設定流用 CH0Cで設定 1800 3.6 12960 32A0
0D on on   on D8 CH06の設定流用 CH0Dで設定 3000 6.0 21600 5460
0E on on on   E0 CH06の設定流用 CH0Eで設定 3500 7.0 25200 6270
0F on on on on E8 CH06の設定流用 CH0Fで設定 4000 8.0 28800 7080

 

選択CH毎のEEPROM設定値 (CH00〜CH06)
先頭アドレスからのオフセットアドレス 該当電池 内  容
00 電池1 充放電サイクル回数 0〜255
01 電池1 追加放電時間T1 0〜255
02 電池1 終了電圧判定待ち時間T2 0〜255
03 電池1 充電時間 上位8ビット 0〜65535 (例 1EF0=7920s)
04 電池1 充電時間 下位8ビット
05 電池1 放電開始待ち時間T3 0〜255
06 電池2 充放電サイクル回数 0〜255
07 電池2 追加放電時間T1 0〜255
08 電池2 終了電圧判定待ち時間T2 0〜255
09 電池2 充電時間 上位8ビット 0〜65535 (例 1EF0=7920s)
0A 電池2 充電時間 下位8ビット
0B 電池2 放電開始待ち時間T3 0〜255
0C 電池3 充放電サイクル回数 0〜255
0D 電池3 追加放電時間T1 0〜255
0E 電池3 終了電圧判定待ち時間T2 0〜255
0F 電池3 充電時間 上位8ビット 0〜65535 (例 1EF0=7920s)
10 電池3 充電時間 下位8ビット 
11 電池3 放電開始待ち時間T3 0〜255
12 電池4 充放電サイクル回数 0〜255
13 電池4 追加放電時間T1 0〜255
14 電池4 終了電圧判定待ち時間T2 0〜255
15 電池4 充電時間 上位8ビット 0〜65535 (例 1EF0=7920s)
16 電池4 充電時間 下位8ビット
17 電池4 放電開始待ち時間T3 0〜255

 

選択CH毎のEEPROM設定値 (CH07〜CH0F)
先頭アドレスからのオフセットアドレス 該当電池 内  容
00 電池1 充電時間 上位8ビット 0〜65535 (例 1EF0=7920s)
01 電池1 充電時間 下位8ビット
02 電池2 充電時間 上位8ビット 0〜65535 (例 1EF0=7920s)
03 電池2 充電時間 下位8ビット
04 電池3 充電時間 上位8ビット 0〜65535 (例 1EF0=7920s)
05 電池3 充電時間 下位8ビット 
06 電池4 充電時間 上位8ビット 0〜65535 (例 1EF0=7920s)
07 電池4 充電時間 下位8ビット

 

その他の設定
アドレス 該当電池 内  容 デフォルト
30 終了表示設定

bit7=1の場合 連続動作(電源オフまで継続)

 BZ1/LED1 : ピッ、ピッ、ピッ、小休みを2秒間隔で繰り返し。
 

 bit6=0 LED1のみ点滅

 bit6=1 BZ1発音+LED1点滅

 bit0〜5 未使用

 

bit7=0の場合 終了動作後、停止。

 BZ1/LED1 : ピッ、ピッ、ピッ、小休みを2秒間隔の繰り返しをbit0〜5
           で設定した回数繰り返し。
 

 bit6=0  終了後、LED1消灯・ブザー発音無し

 bit6=1 終了後、LED1を1s点灯/1s消灯を電源オフまで繰り返し。
       ブザー発音無し   

 bit0〜5 ピッ、ピッ、ピッ、小休みの繰り返し回数。

 

(4A)

 

 


プログラム書き込みサービス

 本ページのPICマイコンのソフトは非公開とします。 但し、本ページで紹介しましたPICマイコンの書き込みサービス は行います。 詳細はプログラム書き込みサービスのページを参照願います。


 Memorandumの小部屋 へ戻る      ホームページへ戻る


End of This Page.