ニッケル水素電池の充放電器を製作しました。
まだまだ未完成、不満足な部分は多いのですが、
一応使えるようになったし、興味を持ってくれる方も
いらっしゃるようなので報告します。
概要
定電流充放電回路をAtmelの1チップマイコンAT90S8535でコントロールする
ニッケル水素用の充放電器です。 次の機能を持っています。
- 0.5C(800mA)の高速充電/放電
- 0.1C(160mA)の低速充電/放電
- 電圧、電流、経過時間、積算充放電量のLCDへの表示
- RS-232Cインターフェースを経由してのコントロール、
電圧/電流の測定
充電プログラムは 1600mAのニッケル水素蓄電池用です。
電池の本数はは1本〜6本の範囲で設定可能です。
以下の機能は未実装ですが、プログラムの追加だけでできるはずです。
- いったん放電し、そのあと充電
- これは、早く実装しないとまずいのだが...
-ΔVを検出しての充電停止
- 高速充電後の補充電、トリクル充電
- 充放電中の電圧変化をメモリに記憶、まとめてPCに転送
- 電池の内部抵抗測定
- プリセットされた以外の充電設定のパネルでの変更
動機
購入したデジカメNikon CoolPix-990用に秋月電子から
1660mAHのNiMH電池と高速充電器(キットじゃないほう)を購入し
使用したのですが、10分程度で充電が終了し、使用するとすぐに
電池切れになってまともに使えませんでした。
充電されないのも困りますが、充電の様子がまったくわからない
というのも面白くありません。
そこでかねて使ってみたかったAVRマイコンで、
充放電器を作ってみることにしました。
開発課程
開発の経過を以下に示します。
日記を書いていると、こういう時に良いなぁ。
こうやって振り返ってみると 案外時間がかかってない(!?)です。
最初は部品の調達と設計を並行してやっています。
12月まででハードが大体できあがります。
1月ずっとAVRのプログラムをやっていた感じですが、
始めてのAVR、ひさしぶりのアセンブラプログラミングで
ブランチ毎に間違うというような状況で、
時間がかかりました。
最後の方で、ライブラリが揃って来ると随分楽になりました。
回路図
回路図のPDFファイル (27Kbyte)
中心になるのは定電流回路で、
参考文献[1]からそのまま持ってきました。
この回路にAVRからDA経由で電圧をかけてやって
電流をコントロールします。
次に考えるのはのは、
充放電の切り替えをどうするかということです。
2つの方法が考えられます。
1つは充電回路と放電回路を別々に準備する方法ですが、
電流値を設定できるようにしようとすると回路が複雑になります。
もうひとつの方法は1つの定電流回路をリレーで切り替えて
充電と放電に使用する方法です。
手持ち部品に小型の使いやすいリレーがあったので、
今回はリレーを使うことにしました。
また、リレーをもう1つ使い、充放電を行わないときには
充電池を完全に回路から切り離すことにしました。
電源を落としたり、リセットしたりすると このリレーにより
完全に切り離されますので 安心感がありますし、
充放電終了時に カチッと音がするのも楽しいです。
AVRの書きこみ用の回路兼RS232Cインターフェースの回路を
内蔵しました。 この回路はChaNさんのホームページ[2]にある回路
をそのまま使用させていただきました。
電流検出部の差動アンプで、調整用に半固定抵抗が2つ
入っていますが、結局面倒で調整していません。
ああ、いいかげん
部品の入手
回路図には書いてありませんが、
電源は昔秋月電子で買った5V1A,12V1Aのスイッチングレギュレータを
使用しています。 コンパクトで便利です。今でも600円位で
売っているようです。
リレーは、なんでもいいのですが、松下のAG2327-9Vというものを
使いました。16PIN DIPサイズですし 値段も150円/個で藤商から
昔購入していたものです。パワートランジスタ 2SA1940やOPアンプ
TLC274CNその他細かい部品はサトー電気から購入しました。
OPアンプは片電源用のものを使用してください。
ケース
この充放電器は実際に使って行く予定のものですし、
AC100Vも使用しているので、ちゃんとケースに収めることに
しました。
しかし まだうまくいっていません。
原因の1つは、基板を作る際になにも考えていなかったため、
でかくなりすぎたこと。
原因その2は、配置案が何度も変わってしまったことです。
充放電器は日常的に使用するので、
できるだけコンパクトにまとめないと目障りです。
しかし、基板上で配置を決めるときにはまったく
そんなことは考えておらず、いつもの実験用基板を
作るのりで、配置を決めてしまいました。
そのため、けっこう大きいYM-200にすらはいらず、
YM-250を使用する羽目になってしまいました。
ケースへの実装方法は、最初 上面に LCDディスプレイ、
スイッチ、電池ボックスなどを配置する方法を考えていました。
しかし、上面を使ってしまうと 場所をとりすぎて
収納に不便と考えるようになりました。
そういうわけで、LCDは上を向いているのに
いまだに、LCD用の穴を明けきらずにいます。
うーむ、どうなるのだろう。
ソフトウェア
ソフトウェアはAVRのアセンブラで記述され、1500行ほどです。
まだ、未完成だし、汚いままなので
公開するのはちょっと恥ずかしいなぁ。
ということで、まだ未公開です。
反省(良かった点)
- 全体の動作としては割とよくできていると思う。
自画自賛!
- リレー使ったのはヒット! つかってて安心。
- 電池との接続は ACアダプターのソケット+電池ボックスが便利。
ターミナルもあまり使わないけれど、見た目は良い。
- バックライト付LCDディスプレイは見やすい。
反省(悪かった点)
- D/Aコンバータは5bitで、 50mA/LSBぐらいになっています。
もうすこし分解能があっても良かったと思うので、
PortDを使用して8bitにするのが良いでしょう。
- 74HCT125を利用したRS232Cはお手軽といえばそうなのですが、
RS232Cを接続しないときに入力が不安定になり、
pull-up/down用の抵抗を追加することになってしまいました。
ここは素直にMAX232の類のレベルコンバータをいれるのが
いいでしょう。但しそうなると、論理が反転するので
ChaNさんのAVR書きこみプログラムや、通信ルーチンは
書きなおす必要があります。
- 現在の回路ではA/Dコンバータの読み出しで5LSB程度の
ノイズが載っています。 この辺はきちんと対策して
無理かもしらないけれど
1LSBぐらいまでに落とし込みたいものですね。
- R30,R11の半固定抵抗は不要。
精度1%程度の固定抵抗で組んだほうが良かったかも。
回路全体として10%程度の精度が達成できればいいのでは?
- 手持ち部品の トランジスタアレー μPA2003を使ったが、
7回路中2回路しか使っていない。2SC1815あたりで組んだ方が、
コンパクトになりそう。
- 12V2Aぐらいの電源をつかえば 1.6A 1時間の高速充電ができる?
今後?
最大の問題は、ケースへの組み込み。
しかしこれを行うには基板から作りなおす必要がある。
もういちど手配線をやるのはつらすぎるので、
こんどやるとしたら感光基板でやるだろう。
その前に目標のケースを決めて、部品配置も決めてやらなければ
ならない。電源は秋月の12V2Aのやつをばらしてつかうかな、
とか言って本当に作るかどうかは不明。
とりあえず、充放電特性をとって -ΔV検出機能を実装しないと
やばいかなぁ。
-
参考文献/URL
- トラ技 2000年1月号
渡辺 明禎 『0〜10V, 0〜2AのCVCC電源の設計』
- ChaN氏のホームページページ
http://elm-chan.org/reports/avrx/report.html