dsPIC急速充電器の製作
<きっかけ>
トランジスタ技術2007年8月号付録のdsPICマイコンと9月号付録基板で液晶表示のディジタル時計の試作を行い、いずれ充電器を作ろうと思っていました。
電動ラジコンカー用にLi-feバッテリーがタミヤから発売され、Li-fe専用の充電器の必要性を感じて付録基板を利用して製作することにしました。
dsPIC急速充電器
上部に充電時間、充電容量、デルタピーク電圧、充電電圧、充電電流、LFまたはMHを表示する液晶ディスプレイを取り付け、正面左よりリセットスイッチ、充電電流ボリューム、追い充電用10分スイッチ、充電表示ランプ、+10分スイッチ、40分・70分切り替えスイッチ、充電用2ピンコネクターを取り付けています。
<充電器の仕様>
充電できる電池 |
6.0〜7.2Vニッカド、ニッケル水素または6.6V Li-fe |
急速充電電流 |
0.9A〜4.0Aボリューム可変 |
トリクル充電電流 |
トリクル充電無し |
充電完了検出方法 |
デルタピーク電圧検出:50分まで-70mV、50分から-50mV、Li-fe 7.25V |
充電停止タイマー |
追い充電10分、10分単位可変 |
使用マイコン |
マイクロチップテクノロジー dsPIC30F2012 |
ディスプレイ表示 |
充電容量、充電電圧、充電時間、充電電流、デルタピーク電圧、LF・MH表示 |
電源 |
4.0A以上のACアダプタ又は車のシガーライターソケット |
マイコン開発ソフト |
トランジスタ技術付録マイクロチップテクノロジーMPLAB IDE、C言語使用 |
<設計方針>
H8マイコン充電器の充電電流マイコン制御とR8Cマイコン充電器の充電電流ボリューム連続手動制御、両方の充電制御があると便利なのでPWM機能を使った充電電流制御に挑戦する。
今回は付録トレーニングボードを使用したため、基盤が大きくスペースが取れないため、放電機能は無しにしました。
付録基盤には液晶モニタとRS232C用ADM3202ANのみ組込み、液晶表示のディジタル時計の時計機能と液晶表示機能をそのまま使うことにする。
<回路>
充電制御部の回路はR8Cマイコン充電器の出力トランジスターをFET(2SJ554)に置き換え、電流制御は2回路のマイコン出力にFET定電流回路を接続し、制御トランジスターのバイアス電圧を得ています。
2回路マイコン出力のFET定電流回路は1つはボリューム可変、もう一つをPWMによるマイコン可変としています。
パワーFETがどのような電流変化をするか不明なため、PWM側の定電流回路も半固定VRで電流調整ができるようにして、2つの定電流回路の微妙な調整が可能な仕様としています。
充電部回路図
丸数字はトランジスタ技術付録dsPIC基盤のピン番号です。付録トレーニング・ボード基盤上で接続しています。
2SC1815のエミッタの抵抗100Ωがないとゲインが高すぎてボリュームコントロールの調整が難しくなります。
8番の電圧検出部はマイコン入力にスイッチングダイオードを入れて過電圧対策をしています。
<製作>
ケースは他の充電器と同じタカチのアルミケース18x13x4cmを使用しています。
充電回路の放熱器が小さいのでアルミケースの表面も利用して放熱するように考えています。ケースは放熱器の上下に放熱用の穴を開けています。
充電してみると放熱器とケースはかなり熱くなっているので、小型の放熱器では電源電圧を12V以上にすると危険です。
右側の茶色の基盤に2SK30Aの定電流回路2回路、ドライバーTRと充電制御の2SC1815を2石、電流検出用抵抗0.22Ω5W、パワーFET2SJ554のソース抵抗0.1Ω2Wを組み込んでいます。
急速充電器内部
dsPICマイコンはかなり熱くなるため、各部の温度を測定してみました。
室温24℃でDsPICマイコン73℃、0.22Ω抵抗111℃、7805レギュレーター76℃、ケース外部57℃と高くなっています。
<マイコンプログラムの作成>
dsPIC充電器のプログラムは液晶表示のディジタル時計のプログラムに充電器の機能をプラスする方法で作成しました。
充電器制御のプログラムは過去の充電器のプログラムをそのまま使用しています。
苦労した点はA/D変換器で2回路分のA/D変換を行うことです。dsPIC30F2012マイコンは12ビットA/D変換器を搭載しており、サンプルホールドアンプは1回路となっています。
dsPIC マイコンは10ビットA/D変換器のタイプもあり、サンプルホールドアンプは4回路となっており、12ビットA/D変換器とは2回路以上のA/D変換をする場合のプログラム内容が異なっています。
10ビットA/D変換器の2回路以上のA/D変換のプログラムサンプルはWeb上にあったのですが、12ビットA/D変換器のプログラムサンプルがなかったので試行錯誤が必要でした。
<プログラムの概要>
ディジタル時計のプログラムの変更点は分単位のみ使用し、充電器のタイマーとします。
バッテリー電圧は抵抗込みの電圧から電流検出抵抗の電圧を差し引いて出しています。
リフェバッテリーはLF、ニッカド・ニッケル水素はMHと表示するようにしました。
+10分、10分モードはプルアップしたマイコン端子の電圧を0Vにすることで動作します。1秒ごとに動作するためチャッタリングの影響を受けません。
R8Cマイコンは割り込みを使用したためチャッタリングに悩まされましたが、+10分ボタンを押すと1秒ごとに10分ずつ加算されるため、充電時間調整が簡単です。
作成したメインプログラム
<使用しての感想>
12ビットA/D変換器を使用しているため1mV単位で電圧が変化します。電圧精度も良く、A/D変換の速度も早いようです。
ニッカド電池もニッケル水素電池もデルタピーク電圧を検出しての自動停止は問題なく作動しています。
リフェバッテリーも瞬時にLFと認識され、7.2V以上でPWMモードに入って小電流充電に切り替わり7.25Vで充電を停止します。
リフェバッテリーは電圧が低いため電圧降下が大きく充電器の消費電力が大きく熱くなるため、4Aを超える大電流で充電するためにはファンの取り付けが必要と思われます。