トップページ     電子回路のページのトップ

 7素子ニッケル水素006P用充電器(2)

 画像をクリックすると拡大表示されます。
 拡大画像からはブラウザの「←戻る」ボタンで戻ってください。


006P用充電器を作り直す

 以前、秋月のキットを改造して7セルのニッケル水素006P用充電器を製作し、使用していました。
 充電出来ない事は無いのですが、多少、気になる点がありました。
・ 長く放置した電池では、起動出来ない場合がある。
・ 起動後、すぐ完了し、停止してしまう場合がある。
・ 充電が浅いような気がする。
 秋月のキットは制御にマキシムの専用ICを使っています。
 制御がブラックボックス化され、細かい調整が出来ません。
 そこで、マイコンを使って、充電器を作り直す事にしました。

充電器外観 制御回路 回路図
充電器外観制御回路回路図

充電器外観

 電源スイッチは背面に付いています。
 前面にはスタートスイッチと電源表示灯(赤)、充電表示灯(緑)があります。
 充電表示灯は充電中は点滅し、充電が完了すると連続点灯となります。
 RS232Cコネクタは使用しなくても構いません。
 必要なら電源投入時に前回の充電状態をターミナルに送ることが出来ます。(たれ流し)

ハードウエア

 CPUにはPIC18F1320を使用しています。
 PIC16F84Aと同じ18PINのパッケージですが、格段に使い易くなっています。
 この充電器は7セルの006P専用ですが、ハードウエアは6セルでも使えます。
 ただし、ソフトウエアは作り直す必要があります。
 CPUは電池電圧を計測しながら充電完了の判断をしていますが、判断の基準電圧が異なります。
 このま6セルの電池を充電した場合、電池の電圧が基準値まで上がらなくなるので充電が止まらなくなります。
 (停止要因がタイムリミットだけとなります。)
 個人的には、今のところ、7セルのものしか使っていません。
 充電電流は60〜120mA程度に調整出来るようにしてあります。
 充電完了後はトリクル電流を流すようにしています。
 RS232Cは送信だけ実装しています。
 電源は12V350mAの市販スイッチング電源を使用しています。

ソフトウエア

 ソフトウエアは暫定版を評価中です。
 入出力が単純ですので制御は簡単ですが、充電停止のポイントを決定するのは面倒です。
 このソフトは充電器制御として実際に使用するのが目的ですが、今後製作を予定している、単三6本を1本単位で充電する 充電器の、たたき台としての意味を持っています。
 単三用の充電器は6本の制御ブロックが平行して動作するので、かなり面倒になると予想しています。
 ここでは、現在、評価中のソフトの動作を説明します。

・ 前回のデータを送信
 電源投入後、CPUの初期化が終了すると電源表示のLEDを点灯します。
 前回の充電時のパラメータをシリアルポートにたれ流します。
 これらのパラメータは前回の充電時にEEPROMに書き込んであります。
 現状は、最低限のパラメータしか記録していませんが、これでも充電の様子が判ります。

ターミナル画面 ターミナルに送られたパラメータ

 パラメータは
・ 充電開始時の電池電圧
・ 充電中の最大電圧
・ 充電を終了したときの電圧
・ 充電時間(分)

・ 充電開始
 スタート釦を長押しすると、まず、前回のパラメータをクリアします。
 次に電池の接続をチェックし、電池が正常に接続に接続されていれば充電を開始します。
 充電開始電圧をEEPROMに書き込み、緑LEDを点滅します。
 電池の接続チェックの時、短時間の予備充電をするのですが、これだけで一気に電池電圧が上がってしまいます。
 従って、充電開始時の電圧は、結構、高く記録されています。

・ 充電終了のチェック
 充電終了のタイミングを見つけるのは結構、大変です。
 要素としては
・ 充電時間
・ 電池温度
・ 電池電圧
 があります。
 充電時間は容量の判った新しい電池を完全に放電し、定電流で充電すれば、大体、計算出来ます。
 しかし、電池の種類や状態によっては、時間を予測するのが困難な場合があります。
 今回は時間の上限値として値を入れてありますが、時間を停止のタイミングとしては使用していません。
 万が一、他の検出方法が正常で無かった時の安全装置(タイムリミット)として使用しています。

 電池温度は充電末期になると上昇すると言われています。
 しかし、100mA程度で充電しても、思った程、温度は上がらず、計測も面倒な為、今回は使用していません。

 結局、電池電圧の上昇具合で終了を判断する事になります。
 しかし、これが簡単ではありません。
 まず、充電中に電圧を計測すると電圧が高めに計測されるので、電圧を測る時は充電を停止します。
 電圧を計測するとき充電を停止することは特許になっているようですが、個人的な用途ですので 使わせてもらっています。
 今回は、1秒に1回、約80mSだけ充電を止め、この間、10mS間隔で8回、電圧計測をして平均をとっています。
 10mSの待ち時間の間は、メインルーチンに処理を返して、他の作業が出来るようにしています。
 充電を停止して電圧を計測しても、計測電圧は直前の充電電流の値で変わってきます。
 充電電流が多いほど、計測電圧は高くなります。
 1時間とか、長い時間、放置すれば、それなりの電圧に落ち着きますが、時間が掛かって話になりません。
 電池の種類や、状態によっても電圧は変わって来ます。
 したがって、電圧の絶対値で終了のタイミングを決定する訳にはいきません。
 電圧の増減傾向を捉えて、終了のタイミングを決定します。
 電池電圧は最初、急速に上昇し、その後、ほぼ横這いで推移し、終了間際に再び上昇し、最後に若干、低下します。
 従って、この低下を捉えるロジックを組み込んであります。
 ただし、充電電流が極端に多くない場合、低下が検出出来ず、横這いのまま推移する事があります。
 したがって、最終的に横這いになった事を検出するロジックも組み込みました。
 この装置では、多くの場合、このロジックで停止しているようです。
 さらに、安全装置として、瞬時に停止させる為の絶対最大電圧も設定してあります。
 結局、最大時間、最大電圧、2種類の傾向判別、合計4つの停止手段を用意しています。

・ 終了処理
 終了判別後、充電を停止し、トリクル充電に移ります。
 緑LEDを連続点灯にします。
 充電中の最大電池電圧、充電終了時の電池電圧、充電時間をEEPROMに書き込みます。

現時点での結果

充電特性

 充電特性
 (グラフをクリックすると拡大されます。)
 (拡大画像からはブラウザの戻る釦で戻ってください。)

 上のグラフは充電中の電池電圧の推移を自作のデータロガーでプロットしたものです。
 10秒間隔で1000件の電圧を計測しています。
 このデータロガーの計測タイミングは充電器自身の電圧計測(充電停止のタイミング)とは非同期です。
 従って、殆どの場合、充電中の電圧を計測してしまいます。
 細かく見ると、電圧の落ち込んだ部分が点々としています。
 これは、計測タイミングが充電停止時に一致した部分です。
 最後に、なだらかに電圧が低下した部分が充電停止のタイミングです。
 注意する点は、電圧が低下したから充電を停止したのでは無く、充電を停止したから電圧が低下したということです。
 停止の原因は直前に電圧が横這いになったことです。

 手持ちの何本かの電池を充電した結果、200mAHの電池を完全に放電した後で100mAの定電流で充電した場合、  約2時間半で充電が完了する様です。
 ただし、最大電圧は電池により10.4V〜10.6Vとなり、少し幅があります。
 充電器から取り外して電圧を測ると、この時点で10.2V位になっています。
 さらに、1日位、放置すると9.5V〜9.8V位に落ち着いています。
 尚、定格電圧は1.2V×7セルですので8.4Vです。

 何とか、充電は出来ているようですが、適正充電かどうかは自信有りません。
 以前、製作したものより調子は良さそうですが、もう少し様子を見る必要がありそうです。

暫定版HEXファイル

 この充電器を、そのまま作ろうという人は、まず、いないと思いますが、一応、暫定版のHEXファイルをアップ しておきます。
   暫定版HEXファイルのダウンロード
 ただし、
・ 事故やトラブルに関しては責任を持ちません。
・ アフターフォローやメンテナンスは行いません。
・ ソフトウエアが7セルの006P専用です。(6セルのものを充電すると危険です。)
 数十回の充電試験では特別、問題ありませんでしたが、1個の電池に対しては、せいぜい数回の充電ですので、 電池にストレスを与えて寿命が短くなる等の不具合は評価できていません。
 この記事を参考にして、さらに良い物を製作されることを希望します。

 <追補>R12の可変抵抗(10KΩ)でA/Dのリファレンス電圧を調整します。
 10回転のトリマーを使用し、TL431のカソードが3072mVになるように調整します。
 A/D変換は1bitあたり3mVで計算しています。
 R4の可変抵抗(50Ω)で充電電流を設定します。
 こちらは1回転のもので十分です。
 60〜120mA程度に調整出来ますが、現状は約100mAになっています。
 Q3は軽く放熱します。

2号機の製作

充電器外観 制御回路 回路図
充電器外観制御回路回路図

 一度に006P電池を2本充電したいことが何度かありましたので2号機を作りました。
 基本的には同じものですが若干、異なる部分があります。
・ 停止後のトリクル充電を廃止しました。
・ 充電電流は約130mA固定としました。
・ 手持ちの関係で使用部品が一部、異なっています。
・ 6セルと7セルの判別を試みています。
・ コネクタの割付が変わっています。
 充電完了後、そのまま長時間放置しておく事は無いのでトリクル充電は無駄だと判断しました。
 充電電流が1号機より若干増えていますので、パワー素子の放熱を若干、強くしました。
 充電電流は1C(150mA〜200mA)以下にしておくのが安全です。
 パワー素子がトランジスタからMOSに変わっていますが手持ちの関係で、他の理由はありません。
 3端子レギュレータは手元に腐るほどあるLM2931を使いました。
 このレギュレータは起動時に瞬間的に数十mA流れます。
 入力側でこの電流が流せない場合、立ち上がる事が出来ません。
 例えばコンデンサーで電圧を降下させるトランスレス電源では使えません。
 さらに最小入力電圧以下になると数十mAの消費電流が発生します。

 1号機で6セルの電池を充電した場合、終了判断が出来ないのでタイムアップまで充電を続けます。
 今回、6セルか7セルかを判別するソフトを組み込みました。
 ただし、私のところに6セルの電池が無いため、ソフトの評価が出来ていません。
 7セルの電池をを7セルと判断し、充電する事は出来ているようです。
 当面、6セルの電池を購入する予定は無いのでデバッグは未完成のままです。
 7セルの時は表示ランプが点灯するようにした為、コネクタの割付が変わっています。
 1号機では余ったアナログ入力を抵抗で接地してありますが、2号機では出力ポートとして解放してあります。

調整のポイント

 2号機の回路図ではジャンパーが記されていますが、これは調整の為のものです。
 調整時は回路図のレギュレータ(YS512)は使わず、別途用意した定電圧定電流電源に接続します。(J2を外す)
 回路図でQ1、Q2は定電流回路となっていますが、これが動作して何mAの電流が流れるかを事前に確認しておきます。
 結線を間違え、定電流回路になっていない場合、短絡電流が流れてしまう場合があります。
 このチェックはCPU装着前に行います。
 方法としてはジャンパーJ3を外し、D4の出力を仮に接地します。
 次にQ4のコレクタを仮に接地します。(コレクタを接地してもトランジスタは壊れません。)
 これで130mA程度の電流が流れるはずです。
 この時MOSトランジスタのドレイン損失は1.5W程度になりますので軽く放熱し、発熱を確認しておきます。
 実際の使用では充電が進めば電池電圧が上昇し、MOSの負担する電圧が減ってくるので損失は減っていきます。
 結線間違いで短絡電流が流れる可能性があるので、仮電源の電流値は150mA程度に予め絞って置きます。
 3端子レギュレータの手前のダイオード(1S955)は仮電源を逆接続した場合の保護用に入れましたが本来は不要です。
 (LM2931には逆接続の保護機能があったことを思い出したのですが、C4の保護にはなっています。)
 この電源に限らず、製作してそのまま電源を入れることは危険です。
 最初に回路図と製作したもの比較することから始めますが、多くの場合、この時点で誤りが発見されます。
 尚、調整の為のジャンパー類は1号機でもあったのですが、回路図に反映させていませんでした。
 用心深くしないと作ったものを破損させる場合があり、この場合、作り直すには多大な精神力を必要とします。

製作される場合

 2号機は6セルのデバッグを行っていないのでHexファイルの公開は出来ません。
 1号機を製作してください。
 電池はメーカーにより特性が異なります。
 また、長期間放置した場合、劣化している場合もあります。
 全ての状況で適正に充電出来るとは限りません。
 過電流で充電した場合、発火等の危険があります。
 多少の危険が伴います。
 結果に対する責任は負いません。


トップページ  「電子回路」のトップ