いまさら聞けないデジタル電源超入門
第6回 デジタル制御 ①
デジタル電源超入門 第5回では、デジタルフィルタについて解説しました。
第6回では、デジタル制御について解説させて頂きます。
フィードバック制御とは
市販されているDCDCコンバータでは負荷変動に対して、一定の電圧が出力されます。
これは一般的に出力電圧を監視して制御を行っているからです。
このように、ある観測点の値を制御系の入力に戻して、制御対象となる出力を制御することをフィードバック制御といいます。
この章では、フィードバック制御について勉強していきましょう。
【図1】では車の例を挙げています。高速道路を時速100km/hで走行しているとします。
上り坂にさしかかると車の速度は落ちますが、逆に下り坂だと速度が上がります。
このように、一定の力でアクセルを踏んでいても、外部の負荷によって速度は変わります。
しかし、クルーズコントロール機能は、上り坂でも下り坂でも同じ速度になるように制御してくれます。
それでは、クルーズコントロールがどのようになっているか、簡単に図で説明します。
【図2】のように、クルーズコントロールが補償器(ECU)と制御対象(車)で構成されているとします。説明の都合上、細かい部分はすべて省き簡略化しています。
車の速度はフィードバックされて補償器に入ります。この時に指令された速度と比較して同じ速度になるようにECUはアクセルの開度を調整して速度を制御します。
例えば、坂道や風などの影響で、目標速度100km/hから下がってしまった場合、それを補う分だけアクセルの開度を調整して速度を上げて、100km/hになるようにします。
さて、【図3】のように、フィードバック制御では目標値ydとしたときに出力y(t)が目標値ydと一致するように制御します。
クルーズコントロールの例では、目標値ydが速度100km/h、出力y(t)が車の実際の速度であり、この目標値と実際の速度の差分が0になれば、制御が期待通り動いていると考えて良いでしょう。
そして、このためにydとy(t)の偏差e(t)をどうにかして、0にするにすることができる制御出力u(t)を与える補償器を用意します。
これがフィードバック制御の基本的な考えです。
ここで、この補償器をコントローラ、制御対象をプラントと呼びます。
制御対象解析
フィードバック制御を実現するためには、まずは制御対象であるプラントがどのようなものなのか知る必要があります。
そこで役に立つのが、周波数特性解析です。
FRA : Frequency Response Analysisと呼ばれます。
周波数特性とは、横軸周波数、縦軸にゲインと位相をとり、分析対象が、ある入力に対してどのような出力を返すのか周波数に対して表現したものです。
電源回路において周波数特性を求めるためには、シミュレータで解析するか計算から求めることができます。
例えば、図4の電源主回路のLC部分の周波数特性は、図5の様になります。
共振周波数は約1. 5kHzであり、位相は140度遅れていることが確認できます。ゲインは周波数が高くなると減衰して行きます。又、1.5kHzを超えると位相遅れが生じてきます。
これはどう言うことでしょうか?
例えば、10kHzのサイン波電圧をこのLC回路に入力したとすると、出力では、およそ-27dB, 位相が-120度遅れている波形が出力されるということです。
Scideamを使った補償器の設計
それでは補償器を設計してみましょう。今回はPID制御を使って補償器を設計します。
PID制御は、制御工学では非常にポピュラーなフィードバック制御の一種で、入力値の制御を出力値と目標値との偏差、その積分および微分の3つの要素によって行うものです。
PID制御のs領域での式は下記となります。
$$G_c(s)=K_p+\frac{K_i}{s}+K_ds$$
PID制御そのものについては、制御工学の教科書を開けば記載がありますので、そちらに譲るとして、ここでは、大まかに以下だけわかっていればOKです。
PID制御は、$K_p$:比例部分、$\frac{K_i}{s}$:積分部分、$K_ds$:微分部分を持っており、その足し算で構成されています。
本記事では、これらをどのようにデジタル制御で実現するかを見ていきます。
PID制御のうち、P制御、PI制御、PID制御の順で、だんだんと制御を追加していきます。
それではScideamを使って補償器のシミュレーションをしてみましょう。主回路は【図6】のようになります。
P制御
P制御は、比例制御です。
フィードバックして、差分をとった値に対して、Kだけを掛け算してプラントに与えます。
それでは定常状態(制御が落ち着いた状態)で、出力電圧目標3V、精度2%以内を目指してデジタル電源を設計してみましょう。
Scideamを立ち上げ、FileからDCDC_P_beginners_guide.sを開きます。Scideamでは補償器は全てプログラムで記述されています。
画面上部のScriptアイコンをクリックすると画面右側にスクリプトエクスプローラが表示されますので、PID_GAINをダブルクリックします。
本モデルは、パワエレ向け高速回路シミュレータScideam(サイディーム)で動作可能です。
本記事のモデルは以下からダウンロードしてください。
そうすると【図8】のプログラムが表示されます。
プログラムの中でAMP_pだけ数値が入っています。これはP制御のゲインを10にしていることを意味します。
それではプログラムを実行してみましょう。
画面上のTransientを選択して実行アイコンをクリックします。
チャートが表示されますのでVo:V:AVEとP:V:V:AVEだけを表示するように選択すると【図9】の結果が得られます。
出力電圧Vo:V:AVEの値は2.942Vになっており、ぎりぎり2%以内の精度になっています。
デジタルフィードバックの周波数特性解析
制御系ができたら、この制御がいいか悪いか評価したくなります。
評価の一つとして使用できるのが、位相余裕という制御の安定性の尺度です。
位相余裕を見るためには、プラントとコントローラを接続した状態で、コントローラへの入力から、プラントの出力までをぐるっと一周周波数特性をとります。
これを、一巡伝達関数の周波数特性といいます。
一巡の伝達関数、一巡の伝達関数の定常状態で位相余裕を判別する理由については、制御工学の教科書に譲るようにして、ここでは、周波数特性をとって、どんどん解析していきましょう。
周波数特性をとるためには、
画面上部のBodeアイコンをクリックし、下記のパラメータを設定します。
ここで、FRA開始時間:0.006はシステムの系が定常状態になるまでの時間です。
あらかじめ、定常状態になるまでの時間をシミュレーション結果より求めておき、ここに入力します。
その他、設定項目は以下の通りです。
AC Sweepを選択 | 交流信号源を選択します。周波数特性解析を行うためには、交流信号源を回路上に接続する必要があります。 接続場所についてはヘルプページをご覧ください。 https://www.smartenergy.co.jp/support/ScideamArticles/help/scideam_help/simulation/frequency_response_analysis/frequency_response_analysis/ |
From | 周波数特性を観測する系の入力 |
To | 周波数特性を観測する系の出力 |
今回は、このようにFromとToを設定することで一巡伝達関数の周波数特性をとることが可能です。
右下のRunアイコンをクリックすると【図10】のようなボード線図が表示されます。
周波数特性を解析することができました。
この図はボード線図と呼ばれます。
さて、位相余裕とは、Gainが0dBの時の位相のことです。
位相が0度よりも小さくなると発振で、制御系は安定しません。
カーソルをゲイン0dBのところに持ってゆくとその時の位相余裕が読み取れます。チャートでは下記の様に36度だということが分かります。
したがって、この系は位相余裕が36度あることが分かります。
一般的に、位相余裕は40度以上あると電源は安定していると言われています。
だいたい良い値ではありますが、例ですので次回以降さらに良い値を目指してPID制御まで行います。
演習
P制御で出力電圧をを目標電圧に近づけるために、ゲインを10から20に上げてシミュレーションしてみましょう。
さて、電圧仕様でもっと高い精度を要求されたとします。1%以下の要求に収まるようにゲインを上げてみましょう。先ほどシミュレーションしたプログラムでAMP_p=20; に変更してシミュレーションしてみましょう。
画面上部のTransientを選択して実行アイコンをクリックしますと、【図10】の結果が得られます。出力電圧は2.96Vと目標値に近づきましたが発振してしまいました。
まとめ
今回のシミュレーションではP制御についてシミュレーションを行いました。P制御で目標電圧に近づけようとしてゲインを上げると発振していまい、P制御の限界を感じます。又、位相余裕も40度以下で安定性が少し足りていません。
次回はP制御に積分や微分成分を加えたPI制御、PID制御のシミュレーションを行いたいと思います。
お楽しみに。
本文監修:中村創一郎
▼関連投稿 -デジタル電源超入門ー