SSブログ

MC9S08SH4 のギャング出力でバックコンバータ (1) [HCS08]このエントリーを含むはてなブックマーク#

いよいよ、ギャング出力でDC-DCコンバータを作ります。 まずは、基本的な構成を考えます。

定電流電源の構成

ここで作ろうとしているMC9S08SH4のギャング出力を使ったDC-DCコンバータは、およそ5.0Vの電源から公称1.2Vのニッケル水素電池を充電しようというものです。 一般には、入力よりも低い電圧の出力を出すので「ダウン・コンバータ」と呼ばれています。 その中で「バック・コンバータ」と呼ばれる回路方式をとります。

BuckConverter1.png

回路は、こんな感じになります。 一連の実験に使用している4本で5.1Vの単三型ニッケル水素電池を電源と使用しています。 ニッケル水素電池でニッケル水素電池の充電?

バック・コンバータの動作は、二つのフェーズで構成されています。 第一のフェーズでコイルにエネルギーを貯めて、第二のフェーズでコイルに貯めたエネルギーを放出します。

第一フェーズ

BuckConverter1Source.png

コイルにエネルギーを貯める第一フェーズの動作状態です。 VDD に接続された PチャネルMOSFET が ON して、マイコンの出力は"HIGH"になります。 ここで言う"HIGH"は、論理的な意味合いしかありません。 実際には、出力電流を取り出したためにPチャネルMOSFETで電圧降下が発生し、出力に現れる電圧は 5.1-0.7=4.4[V] になります。

マイコンの出力ポートから流れ出した電流は、コイルを経て被充電電池に流れ込みます。 そして、被充電電池の負極から3.3Ωの抵抗を経てグランドに達します。 この抵抗は、被充電電池に流れる電流を検出するためのものです。 被充電電池の負極の電圧をA/Dコンバータで検出すると電流値を求めることができるというわけです。 抵抗値は、暫定的なものなので、あとで変更するかもしれません。

図を見るとわかるように、コイルの両端には、 4.4-1.5=2.9[V] の電圧が印加されています。 そのため、コイルを流れる電流は、時間と共に増加していきます。 その割合は、コイルのインダクタンスを L とすると、 2.9/L [A/sec] と計算できます。

第二フェーズ

BuckConverter1Fly.png

コイルに貯めたエネルギーを取り出す第二フェーズの動作状態です。 VSS に接続された NチャンネルMOSFET が ON して、マイコンの出力は、"LOW"となります。 このときのマイコンの出力は、 VSS から出力に向けて電流が流れるため、 VSS よりも低くなります。 そのため、もしかしたら、出力の電圧が最大定格である -0.3V を下回ってしまうかもしれません。

この状態を防ぐのが出力とVSSの間に接続されたショットキー・ダイオードです。 ショットキー・ダイオードで電流を流すことによって、出力電圧の低下を防いでいます。

この図から、コイルの両端には、第一フェーズの時とは逆方向に -0.3-1.5=-1.8 [V] の電圧が印加されています。 そのため、コイルを流れる電流は、時間と共に減少していきます。 その割合は、コイルのインダクタンスを L とすると、 1.8/L [A/sec] と計算できます。

VDDとマイコンの出力の間にもショットキー・ダイオードが付いています。 これは、出力が"LOW"から"HIGH"に切り替わる際に出力端子が高インピーダンス状態になり、瞬間的に高電圧が発生するのを防ぐためのものです。

充電が終わったら、どうする?

ギャング出力は、「出力」にしか設定できません。 充電が終了したときに"HIGH"固定にすると際限なく充電が行われます。 また、"LOW"固定にするとせっかく充電した電池から電流が流れ出してしまいます。 そのため、ギャング出力は「高インピーダンス」にしたいのですが、一度GNGCレジスタでギャング出力設定を指定したら元には戻せないことになっています。

そこで、充電が終了したら、ソフトウェア的にリセットをかけて、ギャング出力ポートを「入力」すなわち「高インピーダンス」に設定します。 ソフトウェア・リセットの方法については、参考文献にいくつか記述されています。 この中で簡単にできそうなのは不正命令リセットか不正アドレス・リセットですね。

PWM周期と電流リップルの関係

BuckConverter2.png

コイルに流れる電流は、 2.9/L の割合で増加し、 -1.8/L の割合で減少します。 充電器の充電電流をなるべく一定にしたいので、増加分と減少分を等しくします。 すると、マイコンの出力が "HIGH" および "LOW" になっている時間 T1 と T2 は、 T1:T2=1.8:2.9 を満たすことになります。 もちろん、 T1+T2 が PWM の周期になることは、いうまでもありません。 現在、考えている PWM の周期は、 25.6µ秒です。

ニッケル水素電池の規格を調べるで調べたニッケル水素電池の規格から、充電電流の最大値を 90mA とします。 一方、平均電流を大きくするためには、充電電流の最小値をできるかぎり大きくしなくてはなりません。 そこで、充電電流の最小値を 85mA とし、リップル幅を 5mA と仮定すると必要なインダクタンスLが求まります。

T1 = 5mA / 2.9V × L
T2 = 5mA / 1.8V × L
T1 + T2 = 4.5mS × L
L = (T1 + T2) / 4.5mS = 5.7mH

インダクタンスが大きくなれば、電流リップルも減ります。 そのため、これよりもインダクタンスを大きい方が効率的になります。

あぁ、コイルを巻くところまでたどり着けなかった。

参考文献

HCS08 Unleashed: Designer's Guide to the HCS08 Microcontrollers

HCS08 Unleashed: Designer's Guide to the HCS08 Microcontrollers

  • 作者: Fabio Pereira
  • 出版社/メーカー: Booksurge Llc
  • 発売日: 2007/11/13
  • メディア: ペーパーバック

nice!(0)  コメント(2)  トラックバック(0)  このエントリーを含むはてなブックマーク#

nice! 0

コメント 2

hamayan

おお凄ーい。本当にONE CHIPで出来ちゃうかもしれませんね。
SHの特徴が凄くよく出ていますよね。

充電回路と言ってもドロッパーによる定電流回路をON/OFFするしか思い付けなかった私としては、凄く面白い。

と言うかトラ技辺りへの投稿ネタとしても良いんじゃないかと思えてきた。

by hamayan (2009-03-21 09:59) 

noritan

まあ、「投稿」は、うまくいった時のお話として。苦労した割りにドロッパーの効率に勝てなかったという結論も面白いかな。

目下の問題は、コイルの磁気飽和と私の頭の飽和です。

by noritan (2009-03-21 10:47) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。