メディア

デジタル制御電源を学ぶ(3) バックコンバータでデジタル制御を実践するDesign Hands-on(3/3 ページ)

» 2012年03月09日 16時27分 公開
[増田浩一,新日本無線]
前のページへ 1|2|3       

ソフトウェア記述の「べからず」2つ

 デジタル制御を実装する際に、「スイッチング周波数を下げれば動作するのだが……」という言葉をよく耳にする。スイッチング周期に対してソフトウェア処理時間が長過ぎるという場面で、つい口にしてしまう。しかし、ソフトウェア処理を所定時間内に収められれば、どんな手を使ってもよいというわけではない。ソフトウェア記述の際に避けるべき、「べからず」を2つ紹介しよう。

【その1】浮動小数点型演算器を持たないCPUで浮動小数点型の数値データを扱うべからず

 C言語記述では「double」や「float」の型宣言に相当する。こうしたCPUでは、整数型から浮動少数型への変換と逆変換で約130サイクルを消費する。浮動少数型の数値データで数値演算すると、有効数字を確保する点で都合がよい。ただし、所定時間内にソフトウェア処理を完了させることが本来の目的なので、整数型(または固定小数点型)で数値演算し、ソフトウェア設計者が有効数字を管理すべきだ。

【その2】除算器を持たないCPUで除算するべからず

 こうしたCPUでは、16ビット幅の数値データの除算で約300サイクル、32ビット幅の除算では約660サイクルを消費する。固定値で除算する場合は逆数を乗算するなど、除算を使用しない演算方法を検討すべきだ。また、ソフトウェア開発ツールに標準で添付されるソフトウェア群(いわゆるライブラリ)では、除算器を備えているにもかかわらず使用していない場合があるので、確認するようにしてほしい。

 なお、ここまで挙げたCPU所要サイクル数は、全て新日本無線の電源制御用DSC「NJU20011」で確認した結果だ。このICは除算器を搭載しているので、それを使用した場合の除算は29サイクルで済むことを付け加えておく。

最後にフィルタ係数を調整する

 最後はフィルタ係数の調整である。PI制御フィルタの比例係数と積分係数(メモリ上に配置された数値データ)を調整する。この作業は、次の2つのステップに分けて進めていく。

 まずは比例係数だ。積分係数をゼロに設定し、比例係数を大きくしながらVOが発振する限界を確認する。そして、全動作範囲(VIやIOの全範囲)で発振しない値まで比例係数を小さくする。比例係数の調整は比例ゲインを調整する作業なので、通常、調整が終わった段階でもVO目標値からの誤差は大きい。この誤差を小さくするのが次のステップで、積分係数を調整する。これは積分ゲインの調整に相当し、比例係数の調整と同じ工程で調整する。

 図4に、今回設計したバックコンバータの特性を数値演算ツールでシミュレーションした結果を示す。フィルタ係数を調整したデジタルフィルタを適用した。図4(a)はPI制御フィルタのみを特性確認したもので、図4(b)は不連続補正を追加して特性確認したものである。このようにPI制御フィルタ単体の特性を確認する理由は、PI制御フィルタのソフトウェア処理と不連続補正のソフトウェア処理を独立に動作確認するためだ。

図4 図4 負荷変動時のステップ応答 負荷を1Aから10Aに切り替えたときのステップ応答を、数値演算ツールによるシミュレーションで求めた結果である(クリックで拡大)。

 この結果から、負荷一定の定常誤差と負荷急変時のリップル電圧いずれについても、冒頭に掲げた電源の要求仕様を満たすことが確認できた。

 次回は、「実践編その2」をお届けする。今回のソフウェア設計手法を、AC-DCコンバータのデジタル制御に適用する。

エネルギーコントロール(Energy Control)特選コーナー

環境発電から、電子機器の省エネ設計やバッテリーマネジメント、電気自動車、スマートグリッドまで、広範囲にわたるアプリケーションをカバー。パワーエレクトロニクスの最新情報を集約してお届けする!

>>コーナーTOPはこちらから


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.