2005年9月11日 更新
2003年8月24日 作成
ひとり暮らしをしていると、部屋がせまいので、置き場の問題や外出することが多いことから、オーディオ機器などはポータブル型を使うことが多くなります。
それらの機器は、それなりに電気を使いますが、使い捨ての乾電池は、環境問題などを考えると、あまり使いたくないものです。
そこで、私はたくさんの充電式電池を持っています。単3形電池だけでも、これだけの種類を持っています。
ところが、これらの電池は容量が異なっています。左から、500mAh、850mAh、1000mAh、1000mAh、1300mAh、2000mAhとなっています。容量の数字が大きな物ほど、たくさんの電気エネルギーを蓄えられます。左の4本はニッケルカドミウム電池、右の2本はニッケル水素電池です。
ちなみに、ニッケル水素電池の容量表記には、JIS規格などで決められている定格容量よりも、少し大きな値が書かれていることがあります。 充電式電池の容量の書き方には、「少ない物でも、これくらいの容量はきっとある」という意味の定格容量と、「たいていこれくらいの容量になっているだろう」という意味のTyp.値があります。
「標準容量」(Typ.値) | たいていの個体が持っている容量。中にはこの容量よりも少ない物もあるかもしれない。ニッケル水素電池ではこの容量で表示を行う。同じ電池でも、定格容量よりも大きな値になる。 |
---|---|
「定格容量」 | 少なく見積もっても、この程度の容量は保証できるのではないか、という容量。ニッケルカドミウム充電式電池では、この容量で表示を行う。同じ電池でも、「標準容量」(Typ.値)よりも小さな値になる。 |
同じ電池でも、Typ.値のほうが定格容量よりも少し大きい値となります。 電池に表示される公称容量には、ニッケルカドミウム電池の場合は定格容量(「少なくてもこれくらいはある」)が、ニッケル水素電池の場合はTyp.値(「たいていはこれくらいの容量だろう」)が用いられています。 ニッケルカドミウム電池とニッケル水素電池を比べる時は、ニッケル水素電池のほうには、表示に少しだけはったりがあることを意識しておく必要がありそうです。
本来、異なる容量の電池を充電するためには、異なる充電の方法をとる必要があります。従って、充電式電池には、電池の銘柄ごとに専用の充電器が指定されている場合がほとんどです。同じメーカの電池であれば、複数の容量の銘柄を充電できる充電器もありますが、充電器よりも後に発売された新しい電池には対応できないことが多いです。
新しい充電式電池を買うたびに、新しい充電器を買うのは、資源の無駄になりますし、場所をとるのでやりたくありません。
充電式電池には、電池ごとに推奨されている充電電流と充電時間があります。たいてい、電池の表面に書かれています。左から2本めと4本めの電池(両方ともニッケルカドミウム電池)の場合は、このように書かれています。
多くの場合、定格容量の10分の1の電流を、14時間から16時間流すのが、最もよい充電の方法だとされており、標準充電条件と呼ばれています。
そうであれば、標準充電条件を入力して、電池ごとに最適な方法で充電できるような充電器があればよいことになります。
そこで、充電電流と充電時間を液晶画面に表示して、対話的に設定をできるようにした充電器を開発することにしました。意外と、お店では売っていないしろものです。なので、よけいに作りたくなります。
さまざまな容量の充電式電池に対応できる充電器が完成しました。この装置は、液晶画面で充電電流と充電時間などの充電条件を指定できる特長を持っており、電池に記載されている標準充電条件に従った充電を行うことで、多くの種類の充電式電池に対応することができます。
充電時間が終わると、充電が自動的に停止するので、条件を適切に設定すれば、手軽に電池をいたわった充電が可能です。
液晶画面の表示を見ながら操作を行うことで、2本の充電式電池の充電が簡単に行えます。
表示内容の意味は、次のとおりです。
1行めには、充電電流(mA)と充電時間(hr:時間)が表示されています。充電電流は、指令値としての値で、実際にはやや異なった大きさの充電電流が流れます。
2行めの表示の意味は、次のとおりです。
表示 | 意味 |
---|---|
BOOT | 電源を入れた直後、またはリセットボタンを押した直後です。充電電流は停止しています。 |
「13:55:14」など | 充電を行っている間に表示されます。表示されているのは時:分:秒で、これが00:00:00になると充電は終了します。充電電流が流れています。 |
COMPLETE | 充電が、無事に終了すると表示されます。充電電流は停止しています。 |
WERR | 「ウオッチドッグタイマ」が作動して、充電が異常停止しました。マイコンが暴走していますので、故障が疑われます。充電電流は停止しています。 |
操作には、次のボタンを使います。
青いボタンは、充電電流指定ボタンで、上下のボタンで充電電流の大きさを決めます。
黄色いボタンは、充電時間指定ボタンで、上下のボタンで充電を行う時間を指定します。
黒いボタンは、充電開始ボタンです。
赤いボタンは、充電中止ボタンです。
手動で充電電流と充電時間を指定するため、単3形の多くの充電式電池に対応が可能です。
この充電器は、急速充電には対応しません。電池の表面に書かれている「標準充電条件」で充電しましょう。多くの場合、充電式電池の容量(mAh)の数値の10分の1電流(mA)を、14から16時間流すとよいみたいです(銘柄により異なることがあります)。
数十kHzでコイルに流れる電流を断続させることで、比較的少ない発熱で、望みの充電電流を得ることができます。基本的な仕組みは、鉄道のチョッパ制御と同じようなものです。
本体のLEDを観察することで、スイッチング素子(MOS-FET)がオンかオフかを調べることができます。
充電中は、たいてい両方のLEDが光っていますが、充電電流の大きさによって明るさが変わります。
PDF形式のマニュアルを用意しましたので、どうぞご覧ください。
こちらが、作成した充電器の回路図です。
以前は、LCDモジュールのD0,D1,D2,D3ピンをGNDに接続していましたが、これは間違いで、実際には開放します。GNDに接続したままですと、回路が短絡する可能性があります。
回路図が決まると、回路を実際の基板の上で、どのように組むのかを決めます。部品の大きさなどを考えながら、基板のレイアウトを決めていくわけですが、よく考えて作らないと電線が基板の上を行ったり来たりすることになって、たいへんです。とりあえず、このような図を書いてみました。
充電回路を2系統用意して、最大4本まで充電できるようにレイアウトしてみました。現在のところ、1系統だけ製作してあります。
2日がかりで、がんばって回路を作り続けると、結果的に次の装置が完成します。
ちなみに、この装置の大部分は、液晶表示装置とユーザインターフェースに費やされています。アナログのボリュームで充電電流を指定するようになっていたら、ものすごく簡単な回路になっているはずなのですが、あえてややこしく作りたくなってしまうのは、私がコンピュータ世代だからでしょうか。
マイコンのソフトウエアを、以下に示します。アセンブラで書かれており、マイクロチップ社純正の開発環境「MPLAB」のバージョン6系で使えます。
充電の残り時間は少しずつへっていくので、逆方向に進むデジタル時計のようなプログラムになっています。ただし、操作直後や秒針が進んだ時に、I/Oの操作をやり直しています。
充電電流は、A2ピンに出す電圧の大小により決まりますが、この電圧値はレファレンス電圧生成装置から得ています。この装置は、わずか4ビットの指定が可能なD/Aコンバータのようなもので、0ボルトから3ボルト程度までの電圧を、16段階で出力できます。
この出力は、インピーダンスが数kオームから数十kオーム程度あるため、実は、抵抗器で分圧して電圧を変化しようとすると、値がかなりずれてしまいます。
電圧のずれがない場合を仮定して、000mAから300mAまでの範囲を20mAずつ上下するように作ってあります。
この電圧は、充電中も充電中でない時も、液晶に表示されている電流値に従ったものが出ています。
この装置の特長として、充電中でも充電電流を上げ下げできてしまいます。遊びにしか使えない機能かもしれませんけれど。充電器としてではなく、簡易型定電流装置として使う場合には、重宝する機能なのかしら。
充電している/していないは、A3ピンの出力で決めているため、この部分をオンオフタイマーのように使うことで、充電時間の管理を行っています。
充電を開始すると、A3がHi出力となり、充電が終わるとA3がLo出力となる、単純なものです。
A3ピンがつながっている先は抵抗器でプルダウンされているので、マイコンを引っこ抜いても充電は止まります。
さっそくできあがった充電器で遊んでみました。
画面に表示されている充電電流の指定値と、実際の充電電流を比べてみました。
指定した電流値(mA) | 実際の充電電流値(mA) | コンパレータ受信値の電流換算値(mA) |
---|---|---|
000 | 1.20 | 0.900 |
020 | 21.9 | 21.0 |
040 | 41.7 | 40.5 |
060 | 60.9 | 59.7 |
080 | 79.5 | 78.3 |
100 | 97.5 | 96.0 |
120 | 115 | 114 |
140 | 133 | 132 |
160 | 150 | 150 |
180 | 167 | 167 |
200 | 184 | 185 |
220 | 200 | 202 |
240 | 217 | 220 |
260 | 234 | 237 |
280 | 251 | 254 |
300 | 272 | 273 |
なお、この値は充電が必要なニッケル水素電池を差し込んで試したもので、電池の銘柄や状態により、結果は異なります。
電流値があがるほど、誤差が大きくなっていく理由の1つには、出力指令値を出しているマイコンのA2ピンの出力インピーダンスは、出力電圧が高くなるほどあがるため、コンパレータに送られる指令値そのものの誤差が、電流値が大きなものほど大きくなってしまうからです。
コンパレータに届いている基準電圧値を、充電電流に換算したものも書いておきましたが、コンパレータの入力さえ正しくできれば、もっと充電電流を正しい値に近づけられそうな気がします。
充電電流を上げていくと、電池の端子電圧も上がっていきます。電源電圧が5Vの装置ですので、場合によっては必要な充電電流を出しきれない場合も考えられます。そんな場合は、緑のLEDがほとんど完全に消えてしまうので、よく分かります。
とりあえずは、上の表を参考にして使っていこうと考えています。
回路の中で、特に熱くなるところはなく、今のところは良好に動作しています。
8月29日加筆ハードウエア、ソフトウエアともに、改良工事を予定しています!