R8Cマイコン充放電器の製作
<きっかけ>
トランジスタ技術2005年4月号にR8マイコン基板が付いたので、再び急速充電器を製作してみることにしました。
電動ラジコンカーのバッテリー充電を秋月の急速充電器キット(1A充電)とH8マイコン充電器(3.4A充電)で行っていましたが、ニッケル水素電池は充電に1本70分かかるので、午前中に充電して午後から走行するにはもう1台必要でした。
今回は放電機能や充電電流と充電時間を変えられるようにすることと、小型化を考えて製作しました。
<2014年6月 PWMを使用した電流可変プログラムに変更>
現状は放電専用機になっているので、2014年6月にリポ対応に改造しました。リポバッテリー電圧8.4Vで充電停止し、1分後に7.44V以下だと自動的にリポ充電モードに入るようにしています。関東地方ではリチウム電池がリフェからリポバッテリーに主流が変わっているようで中国地方にも影響が出始めています。今日現在リポバッテリーは持っていません。買う準備のためのプログラム修正です。
今回はDspic充電器のPWMによる電流可変プログラムを参考に、電池電圧が8.3Vを超えたらPWMデューティ比40%として電流を少なくして充電を継続し、8.4Vで充電停止としました。
Li−feストレートパック充電中
上部に充電容量、充電電圧、充電時間、充電電流を表示する液晶ディスプレイを取り付け、正面左よりリセットスイッチ、充電時間+10分の加算スイッチ、電流調整ボリューム、放電表示ランプ、リポ充電スイッチ、充電表示ランプ、充電・放電切り替えスイッチ、充電用タミヤコネクターを取り付けています。
急速充電器後側
後側は左より電源入力端子、電動ファン開口部、RS232C入力、ACアダプタ入力端子となっています。
<充電器の仕様>
充電できる電池 |
7.2Vストレートパックを1本:ニッカド2400mAh及びニッケル水素3800mAh程度 Lipoバッテリー 7.4V5000mAh程度 |
急速充電電流 |
0A〜4.0A程度 |
トリクル充電電流 |
8mA程度 |
充電完了検出方法 |
デルタピーク電圧検出:ニッカド-70mV、ニッケル水素-50mV Lipo 8.4V電圧制御 |
充電停止タイマー |
初期40分、スイッチを押すごとに+10分ずつ加算 |
使用マイコン |
ルネサステクノロジ R8C/15 |
ディスプレイ表示 |
充電容量、充電電圧、充電時間、充電電流 |
電源 |
4.0A以上のACアダプタ又は車のシガーライターソケット |
放電電流 |
0.85A程度固定、放電停止電圧6.9V |
マイコン開発ソフト |
トランジスタ技術付録ルネサステクノロジHEW4 C言語使用 |
<設計方針>
液晶ディスプレイの下にマイコンを配置して基板と本体を小型化する。
放電の時は電源不要にする。(バッテリーの電圧チェックも可能になって良いがバッテリーを電源にすると、放電停止電圧は三端子レギュレーターの電圧が落ちてマイコンが動作しなくなる直前の6.9Vにしなければなりませんでした)
充電電流と充電時間を可変式にする。(少電流で長時間充電や4A以上の急速充電、単セルだけの充電等用途に応じた充電コントロールが可能になると思います)
<回路>
R8Cマイコンは入出力ポートが少ないので、液晶表示やADコンバーターにポートを割り当てるのが大変でした。使用できるポートは全て利用しています。
トランジスタ技術2005年4月号、5月号の実験基板には液晶ディスプレイが付いていないので、液晶表示機能は9月号の正弦波DDSの製作を参考にしています。はじめから液晶表示のあるH8マイコンに比べると製作は困難でした。
液晶表示に4チャンネルのADコンバーターの内2ポートを使用しているので、電圧測定と電流測定に各1ポートずつ使用して、バッテリーの電圧は電流検出抵抗の電圧を差し引いて出しています。ADコンバーターは10ビット単発モードにして、電圧用入力は抵抗で分圧して5Vを超えないようにしています。
ADコンバーターの空きがないので、放電は電圧測定のみで電流の測定は無しです。
充電・放電の切り替えは、バッテリーを充電回路と放電回路にスイッチSW1で切り替え、放電回路に接続された入出力ポート(P3_3)の電圧レベルでマイコンの制御を行っています。
充電回路は定電圧電源をヒントにした回路で抵抗0.22Ωの電流帰還で定電流化しています。
トリクル充電はマイコンで制御すると複雑になるので、バッテリーが接続してあれば2SK117の定電流回路から常時8mA流れるようにしています。
ブートモード用スイッチSW4はマイコンにソフトを書き込むとき使用し、リセットスイッチSW5はスタートボタン又はマイコンのリセットに使用します。
ブートモードのスイッチは普段使用しないので充電器内部の基板上に取り付け、リセットスイッチは押したときのみONになるスイッチにします。
充電時間切り替えはINT0割り込みを使用しています。HEWデバッガ用シリアルRS232C入力と兼用なのでブートモードの時は使えません。ブートモードでは1秒ごとに10分ずつ時間が加算されてしまいます。マイコン基板内部でRS232C出力と4番INT0端子は接続されているので4番端子への配線は不要です。実行モードでスイッチSW3を時間追加スイッチSW2側に接続して使用します。
急速充電器回路
リポ充電スイッチはP3−7端子をマイコン内部でプルアップして、スイッチでアースラインに接続するとリポ充電モードに入るようにしました。
充電開始から1分を過ぎても電圧が7.44Vを超えないと自動的にリポ充電モードに入り、Lipo充電スイッチを押し忘れても安全にしています。
<製作>
ケースはタカチのアルミケース15x10x4cmを使用し、電源はパソコン電源を改造したDC12V15Aの容量のものです。
今回はケースが小さく小型の放熱器しか付かないので小型の電動ファンを付けています。結果的にはややうるさく感じます。最初はかなり音が大きかったので、ファンにシリコンゴムのスペーサーを付けて振動を押さえています。
キャラクタ液晶は基板スペーサーの高さを調節してアルミケースの開口部に合わせています。
急速充電器内部
右側放熱器は左が充電用、右が放電用トランジスターです。
液晶の下にマイコン基板
液晶ディスプレイをケース高さに合わせて高い位置にしているので、下部にマイコン基板を組み込んでプリント基板を小型化した。
放電機能を組み込んだためか、H8マイコン充電器より配線はかなり複雑になっています。
<マイコンプログラムの作成>
マイコンと液晶の接続はトランジスタ技術2005年9月号の正弦波DDS回路図の液晶配線と同じにしています。
理由はADコンバーター用ポートを2ヶ所使用していないためです。電圧と電流を測定するのに最低2ヶ所必要です。
最初はマイコンと液晶ディスプレイのみ配線し、正弦波DDSのプログラムをロードして液晶表示が出来ることを確認して、充電器用にプログラムを少しずつ変更して行きました。
正弦波DDSプログラムをベースにトランジスタ技術2005年5月号のタイマX、ADコンバーターのプログラムを参考に作成しています。
HEW4の作業画面
プログラムの作成はHEW4を利用し、変更を加えるごとにプログラムをビルドしてモニター・プログラムで正常に機能することを確認し、ビルドを繰り返しながら少しずつ作成しました。
<プログラムの概要>
タイマXのLED点灯プログラムの変更点は1秒49カウントを60倍して1分とし、変数Timerに1分ごとに1を加えて充電時間を作り出すこと及び1分ごとに充電容量を計算して変数mahに加えて延べ充電容量を1分ごとに更新することです。
タイマXのベクタテーブルvect=22はコンパイルオプション-fMVTを使用して自動的に割り当てないと正常に動作しませんでした。HEWのメニューバーから、「ビルド」→「Renesas M16C Standard Toolchain」→「C」の「Category」欄から「Code Modification」を選択し、「Miscellaneous Options」欄にある「-fMVT」Generates Variable Vector Tableのチェックボックスにチェックを入れます。
ADコンバーターのプログラムは、AN8チャンネルのAD変換が終わったら、チャンネルAN11に切り替えてAD変換を行い、AN8にチャンネルに戻して終了することで、1サイクルに2箇所のAD変換が可能になりました。
バッテリー電圧は抵抗込みの電圧から電流検出抵抗の電圧を差し引いて出しているため、定電流回路の電流変化が電圧変化となり、デルタピーク電圧の変動が大きくなって早期充電停止になってしまいました。電流可変式にしたため定電流回路の安定性が悪いのかもしれません。対策としてAD変換9回の移動平均値を使用するプログラムにしています。移動平均回数を増やすと可変抵抗の回転と電流変化のタイムラグが大きくなる現象が有りましたが、メインクロックを分周無しにしたら解決しました。最初は電流検出部のみ採用しましたが、やはり早期終了するので、2つのADコンバーター両方に採用して早期終了は無くなりました。
しかし最初の電圧の立上りが遅いためにすぐ放電が停止になるので、放電停止電圧の変数を1分まで7.45Vとして1分間放電停止電圧の検出を行わないプログラムに変更しました。
R8Cマイコン用統合開発環境HEW4は試用期限のないフリーソフトで前回のH8マイコン用HEW3は試用期限が有りFDHという書き込みソフトを必要としていた欠点があったが、HEW4はデバッグモードで電源を切った後、実行モードにスイッチを切り替えればそのままプログラムを実行できるところが便利である。
作成したメインプログラム
メーカー製リポ充電器は電圧が8.3Vに近くなると電流を段々下げていく定電流定電圧方式となっていますが、この充電器は定電流のみなので、8.3VまでPWMデューティ比100%で直流充電、8.3Vを超えるとPWMデューティ比40%のパルス充電で電流を少なくして充電を継続し、8.4VでP3-4出力のレベルをLとして充電停止します。
液晶表示プログラム
<製作しての感想>
R8Cマイコンは試用できるポート数が少ないので、H8マイコンに比べると設計が難しく感じられました。
ポート数が少ない分コンパクトなサイズでICソケットが使用できるのは良いと思います。
マイコンには液晶表示が必要と思っているので、トランジスタ技術2005年4月・5月のR8Cマイコンの特集で液晶表示についての解説が無かったのは残念であり、液晶表示プログラム作成に思った以上に時間がかかってしまいました。