※ 本記事はそもそも発熱する事象を扱っているので、排熱に留意し、火傷や火事に十分気を付けてください。
お仕事で大量に充電池を使うので、電池を元気にするために放電器を作ってみました。
- とくにログを取ったりするつもりはない
- 時間もそれなりにかかってもいいので電池にやさしい放電
- なるべく部品がすくなくシンプルに
来ない部品があるのでまだ試作段階ですけど、ちゃんと動いているようです。
ダイソーの充電器が写っていますが、中身は抜いてただの電池ボックスになっています。電池はテスト用にダメ乾電池がはいってます。
アナログ回路部分は:
- 抵抗で電気を消費する
- MOSFETをスイッチにして電流をON/OFFする
基本はこれ。写真ではこれが二つぶんです。最終的には四つにしたい。
R1で電流を熱に変えて消費します。概ね 3Ω 1Wくらいなら電池が1.5vでも電流が0.5A、消費電力が0.75W。電池が1.0vで0.33A、0.33W。十分定格内ですし、そんなに発熱しない。
写真では10Ω 1/2Wを三本並列にして3.3Ω。ほんのり暖かくなります。
R2はArduinoの出力端子を保護するためのもの。500~1kΩあればよいそうな。
MOSFETは、手元にあった2sk4017を使いました。
Arduinoに電源が入っていない時はスイッチOFFにしたいので:
R3 (ありもので2kΩ)でグランドに落しました。R2は要らなくなったので取りました。
スイッチ類もできるだけ省略したい。電池を抜いたらArduinoに「抜いたよ」と知らせるために:
R4を追加しました。電池を抜くと0Vになります。
これでArduinoにリセットの合図を送ることができます。
大きい抵抗(1MΩ)を入れてあんまり電流が漏れないようにしました。
基本これでOKなのですが、さらにR1も省略してやろうバージョン:
耐圧が大きいMOSFETはon抵抗が大きいそうで。2N60がon抵抗 3.8Ωで良さげだったのでためしに入れかえてみました。
R1なし。うん、使える。けど発熱すくないので時間かかるかな。
※他のまっとうな低on抵抗のMOSFETではやらないでください。発熱して危険です。
Arduinoですること:
- 電池電圧を監視し
- 1.0~1.5vで放電(FET ON)
- 1.0vで放電停止(FET OFF)
- 電池を抜いたらリセット 1~1.5vの範囲に入ったら放電開始
FlexiTimer2を使って1秒ごとに電圧を計測してスイッチ制御しつつ、
メインループでは、放電中の電池をビルトインのLEDで簡易的に表示させるようにしました。
Gistに上げました。よろしければどうぞ。
NimH_discharge_2.ino
何かもっといいやりかたとか、逆にまずいこととかあればコメントおねがいします。