制御理論に「インバータ」を組込む方法

インバータはどこ?

一般的な制御工学の教科書では、フィードバック制御系の古典制御理論は下図のようなブロック線図で解説されます。

一般的な制御ブロック線図

フィードバック制御系のブロック線図

図のように、通常のフィードバック制御系は、「制御器(Controller):伝達関数=\(C(s)\)」および「制御対象(Plant):伝達関数=\(P(s)\)]で構成され、
この制御ループ全体の伝達関数(閉ループ伝達関数)\(W(s)\)は

\[\displaystyle W(s)=\frac{制御量}{指令値}=\frac{C(s)P(s)}{1+C(s)P(s)}\]

となり、ブロック線図では次のように表されます。閉ループ伝達関数

閉ループ伝達関数で表したブロック線図

制御工学の教科書では、フィードバック制御の理論は以上のような伝達関数やブロック線図をベースにして解説されますが、パワエレ装置における「インバータ」や「チョッパ」を制御理論に組込むにはどのようにすればよいのでしょうか?
もし、あなたがこの質問に答えられないとしたら、せっかく勉強した制御理論の知識をパワエレ制御の設計・解析に役立てられていないはずです。

実は、ほとんどのパワエレの教科書が制御理論にインバータを組込む方法について明確に解説していないため、この質問に回答できないパワエレ技術者は少なくありません。
その一方で、パワエレ制御を理論的に設計できている企業の技術者は常識として答えることができる質問であり、これを知らずにパワエレ制御を理論的に扱うことはできません。

今回の解説記事は、私のパワエレ制御講座の最初にお伝えしている最も重要な内容であって、パワエレ制御理論の基本中の基本と言えます。
また、過去の技術解説「パワエレ制御は『強電』と『弱電』だから難しいのか?」にも制御系におけるインバータの位置づけについて書いていますが、今回は制御理論という違った観点から解説しますので、両方の解説を読んで頂くと理解が深まるはずです。

1.理論式に無関係な操作機器(アクチュエータ)

(1) 操作量を生成する操作機器

一般的な制御工学の教科書では、フィードバック制御系は制御器と制御対象で構成されると説明しましたが、実際の装置には「制御器」と「制御対象」との間に「操作機器(Actuator):伝達関数=\(A(s)\)」があります。
この操作機器は、制御器または制御対象のどちらかに含まれていると考えても良いのですが、ここでは独立した要素として下図のようなブロック線図で制御系を考えてみます。

操作機器ありのブロック線図

操作機器(アクチュエータ)を含むフィードバック制御系のブロック線図

この制御ループ全体の伝達関数(閉ループ伝達関数)\(W(s)\)は次式となります。

\[\displaystyle W(s)=\frac{制御量}{指令値}=\frac{C(s)A(s)P(s)}{1+C(s)A(s)P(s)}\]

操作機器とは、制御器が決めた操作量指令と一致する操作量を生成し、その操作量を制御対象へ与えるものです。

例えば、電気自動車の速度制御系における操作機器は「モータ」に相当し、操作量は「トルク」になります。この速度制御系の制御器はトルク指令値を出力し、モータはその指令値と一致するトルクを生成して電気自動車の速度を変化させます。

その他の例として、操作機器には温度制御の「ヒータ」や流体の水位や流量の制御で用いられる「バルブ」などがあり、制御器が出力した操作量の指令値と一致する操作量を発生するという作用はすべて同じです。
各制御系の操作機器と操作量まとめると下の表のようになります。

様々な制御系における操作機器と操作量の例

対象の制御系操作機器操作機器が出力する操作量
速度制御系モータトルク
温度制御系ヒータ発熱量
水位・流量制御系バルブバルブ開度

(2) 操作機器の伝達関数は1

操作機器は入力された操作量指令と一致する操作量を出力するため、操作機器の伝達関数\(A(s)\)は1となります。
\[\displaystyle A(s)=\frac{操作量}{操作量指令}=1\]
従って、制御ループ全体の伝達関数は、次のように制御器\(C(s)\)と制御対象\(P(s)\)だけで表されることになります。
\[\displaystyle W(s)=\frac{C(s)A(s)P(s)}{1+C(s)A(s)P(s)}=\frac{C(s)P(s)}{1+C(s)P(s)}\]

また、ブロック線図で考えると、操作機器の入力と出力が一致するということは、この操作機器を削除して入力と出力を直接接続することができます。
そのため、この記事の最初に示したように、フィードバック制御系のプロック線図において操作機器を考慮しなくても問題ないわけです。

また、操作機器を無視するのではなく、伝達関数  \(A(s)=1\)  が \(C(s)\),\(P(s)\) のどちらかにが含まれていると考えても構いません。

2.パワエレ制御におけるインバータは操作機器

(1) インバータと変調回路をセットにする

ここまで操作機器について説明してきましたが、それはインバータが操作機器だからです。
厳密に言うと、インバータを使ったコイルの電流制御系において、操作機器は「インバータと変調回路」の組合せ、操作量は「インバータの出力電圧」になります。
(電流型インバータの操作量は電流となりますが、ここでは電圧型インバータとして解説します。)

下の図に示すように、「インバータと変調回路」で構成される操作機器は、入力された出力電圧指令を変調回路が変調パルス(デューティ比)に変換し、インバータはこの変調結果に応じた電圧パルスを出力します。

操作機器のブロック線図

操作機器であるインバータと変調回路のセット

下図に 出力電圧指令(入力)出力電圧パルス(出力)の波形の一例を示します。

入出力波形の例1

操作機器の入力波形と出力波形の例

この例では、100V一定の指令に対して、±200Vのパルスがデューティ0.75で出力されています。変調方式は三角波比較方式で三角波キャリアの周波数は5kHzです。

このように入力波形と出力波形が完全に異なっているため、「インバータと変調回路」が操作機器(入力と出力が一致するアクチュエータ)であるとすぐに理解するのは難しいかもしれません。
これが、パワエレ制御がその他の制御系よりも難しいと感じてしまう一因なのですが、次のように考えることで操作機器であることを認識できます。

±200Vのパルス波形である出力電圧の時間平均値を計算すると、

\[\displaystyle 200V\times0.75-200V\times(1-0.75)=100V\]

となり、指令値と同じ100Vが出力されています。

このように、波形は全く違っていても時間平均をとれば入力と出力は一致しており、これが「インバータと変調回路」が操作機器として機能しているという意味です。

(2) 注目する周波数範囲を限定する

なぜ、入出力の波形が違っていても時間平均が一致していれば操作機器として機能すると言えるのでしょうか?
これは周波数という視点で考えることで理解できます。

例えば、電圧指令を100V一定値に周波数が100Hzで振幅が50Vの正弦波を重畳した場合の入出力波形は下図のようになります。キャリア周波数は5kHzです。

入出力波形交流重畳

入力波形と出力波形の例(正弦波重畳)

この波形をフーリエ変換して周波数と振幅との関係として表すと次のようになります。

入出力波形のFFT

入力波形と出力波形の周波数と振幅との関係

時間軸でみると全く違う波形が、周波数でみると 出力電圧指令(入力)出力電圧パルス(出力)ともに、0Hz成分は100V、100Hz成分は50Vと完全に一致しています。
違いはキャリア周波数付近の高い周波数域のみであり、低い周波数では入力と出力が一致する操作機器として機能していることがわかります。

制御を理論的に扱う必要がある制御応答の周波数範囲は、通常のパワエレ制御ではキャリア周波数の10分の1程度以下です。
そのため、制御理論を考える場合には、キャリア周波数よりも十分に低い周波数範囲に限定することで「インバータと変調回路」を「伝達関数 \(A(s)=1\) の操作機器 」 として扱うことが可能になります。

3.電流制御シミュレーションでの確認

(1) コイル電流のフィードバック制御シミュレーション

次に、インバータと変調回路を操作機器とすることで、制御系をどのように理論解析できるのかをシミュレーションを使って説明します。

下の図は、インバータと変調回路を使ったコイル電流制御のシミュレーション回路です。

電流制御シミュレーション回路

コイル電流制御のシミュレーション回路

この電流制御シミュレーションでは、振幅が±30Aで周波数が100Hzの矩形波を電流指令(Iref)として与え、シミュレーション結果としてコイル電流(IL)の応答波形が以下のように得られます。
コイル電流(IL)にはキャリア周波数のリップル成分があることが観測でき、制御応答は、電流指令(Iref)の変化に対して一定の応答時間でオーバーシュートしながら追従していることがわかります。

電流制御シミュレーション結果

コイル電流制御ミュレーション結果

(2) 理論に基づく制御系の伝達関数

このシミュレーションの制御系を理論的に扱うために伝達関数を計算します。

操作機器は、単相フルブリッジインバータと三角波比較方式のパルス幅変調(PWM)回路で構成され、伝達関数はこれまで説明してきたように
\[\displaystyle A(s)=1\]
として扱います。

制御器はPI(比例ー積分)であり、比例ゲインを k、積分時定数を T[sec]とすれば伝達関数は次式となります。
\[\displaystyle C(s)=k\frac{1+sT}{sT}\]

制御対象はインダクタンスが L [H]のコイルであり、この制御系ではインダクタンスへの入力が電圧、出力が電流となるので、伝達関数は次式となります。
\[\displaystyle P(s)=\frac{1}{sL}\]

この制御系全体の伝達関数(閉ループ伝達関数)\(W(s)\)を計算すると

\[\displaystyle W(s)=\frac{C(s)A(s)P(s)}{1+C(s)A(s)P(s)}=\frac{s\frac{k}{L}+\frac{k}{TL}}{s^2+s\frac{k}{L}+\frac{k}{TL}}\]

となります。

これが、インバータを含んだフィードバック制御系全体の伝達関数を理論的に計算した結果です。

※ なお、今回のシミュレーションの各パラメータは次のように設定しています。
 ・比例ゲイン :k=2
 ・積分時定数 :T=0.5 [msec]
 ・インダクタンス :L=1 [mH]

(3) シミュレーションによる伝達関数の確認

ここまで計算してきた伝達関数は電流指令(Iref)コイル電流(IL)との関係を表した理論式であり、この伝達関数の特性は、下のようなシミュレーション回路を使って波形として確認することができます。

伝達関数シミュレーション回路

伝達関数の確認ミュレーション回路

このシミュレーションでは、「伝達関数ブロック」に計算で求めた制御系の伝達関数を設定し、インバータを使ったシミュレーションと同じ振幅が±30Aで周波数が100Hzの矩形波の電流指令を入力しています。
そして、この電流指令と伝達関数に基づいて計算した結果が、コイル電流(IL_TrFnc)として出力されます。

このシミュレーション結果は次のようになます。

伝達関数シミュレーション結果

電流制御と伝達関数のシミュレーション結果比較

この図は、同じ電流指令に対して、伝達関数に基づいて計算したコイル電流(IL_TrFnc)と、最初のシミュレーションで示したインバータを使った電流制御系のコイル電流(IL)との比較です。

インバータを使ったシミュレーションでは、キャリア周波数と同じ高周波の電流リプルが重畳されていますが、このリプ成分を除けは両者の電流波形は一致しています。
このように、電流波形もインバータの出力電圧波形と同様に、低い周波数では一致しており、高周波のリプル成分を無視して制御系の応答解析が可能です。

このシミュレーション結果からも「インバータと変調回路」は「伝達関数 \(A(s)=1\) の操作機器 」 として、制御器の \(C(s)\)と制御対象の\(P(s)\) に基づいて理論解析できるということがわかります。

まとめ

以上のように、「インバータと変調回路」の組合せを伝達関数が1の単純な操作機器として扱えば、パワエレ制御も一般的な制御系と同様にインバータを考慮せずに「制御器」と「制御対象」だけで理論的に扱うことができます。
しかし、パワエレ装置における実際のインバータは複雑かつ重要な要素であり、インバータ自体を設計するためには様々な技術や知識が必要となります。

この、本来は複雑なインバータを単純な操作機器(アクチュエータ)として扱うことが、パワーエレクトロニクスにおける制御理論や制御系の設計のポイントであるということを解説しました。
また、この考え方は、例として示した単相インバータに限らず、三相インバータ・マルチレベルインバータ・チョッパ・PFCコンバータなど様々な半導体電力変換回路に適用できます。

もし、あなたがパワエレ制御は難しいと感じている理由がインバータを制御理論に組込む方法がわからないということであれば、この解説記事を参考にしながら、制御工学の教科書を読み直してみてはいかがでしょうか?
きっとパワエレ制御の理解を深められるはずです。


パワエレ制御の設計技術を習得したい方へ
パワエレ制御の設計開発に不可欠なスキルが習得できる動画講座のご紹介です。
「パワエレ制御の基礎である電流制御系」の講義動画も登録不要ですぐに視聴できますので
ご興味があれば下のボタンから確認してみてください!

パワエレ制御講座の詳細と講義動画はこちら


関連記事

  1. 電力鉄塔と弱電基板

    パワエレ制御は「強電」と「弱電」だから難しいのか?

  2. MPPTシミュレーション

    MPPT制御のやり方をシミュレーション回路を公開して解説

  3. 離散時間積分器

    離散時間積分器のC言語プログラム

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。