The Negligible Lab

Astray in the forest of electrical and electronic circuits. Adrift in the gap between time and frequency domains. 独立独歩を是とする。

系統連系インバータの電流制御と系統インピーダンス

はじめに

本ブログでは,電流制御とその安定性に関する記事をいくつか書いて参りました。例えば,下記記事では,サンプル & ホールドと1サンプル遅れを考慮した場合の安定性について,連続時間系に近似した伝達関数に基づく考察を加えてみました。

negligible.hatenablog.com

私のLTspiceのモデルでは単なる電圧制御電圧源(voltage-dependent voltage source, E)を用いて電流を制御しましたが,念頭に置いているのは図1の単線結線図のような系統連系インバータです。ここで,図1のR, Lは連系リアクトルや変換用変圧器など,いわば系統連系インバータ「装置」の内部の既知のインピーダンスです。これまでの本ブログの記事に登場したR, Lと同じと考えて下さい。一方,送配電系統には,その変換器の連系点(PCC, point of common coupling)から上位を見たインピーダンスZsがあり,系統インピーダンスと呼ばれます。なお,図1には他に,Zc,Ze,Zmの3つのインピーダンスを記載しておりますが,これらは後の検討に登場します。

f:id:s-inoue2010:20200809024222p:plain:w400
図1: 系統連系インバータの概略図

系統インピーダンスがない(Zs = 0 Ω)場合の電流制御系の安定性については,先に挙げた本ブログの記事のように考えることができます。しかし,たとえZs = 0 Ωの条件で安定性を確保できるように電流制御系のゲインを設定していたとしても,系統インピーダンスが存在する(Zs ≠ 0 Ω)場合には,電流制御系が不安定になってしまうことがあります。

まずは例を見てみましょう。

f:id:s-inoue2010:20200809030952p:plain
図2: 系統インピーダンスがない場合のLTspiceシミュレーション波形例

f:id:s-inoue2010:20200809031113p:plain
図3: 系統インピーダンスがある場合のLTspiceシミュレーション波形例

図2は,系統インピーダンスがない(Zs = 0 Ω)場合のステップ応答波形ですが,本ブログの過去の記事*1でご紹介したパラメータK = 1.9の場合です。なお,図3と合わせるため,上から2段目のplot planeは空白としました。

一方,図3は同じK = 1.9の場合ですが,系統インピーダンスが存在することによって不安定となっています。2段目のplot planeにはPCCの電圧をプロットしています。

さて,このような不安定現象が生じるメカニズムとは何でしょうか…?

文献紹介

このような現象に関して,例えば以下4つの文献が発表されています。

  1. 山地幸司・東正樹・本庄暢之・野呂康弘・吉野輝雄:「交直変換装置の非整数次高調波不安定現象の検討」,電学論B,vol. 118,no. 7-8,1998年7/8月,pp. 899-905
  2. 松田泰蔵・原田英宏・下之園孝明・天満耕司・正樹健次・藤井敏行・森島直樹:「STATCOMと電力系統の相互作用による高調波共振の拡大現象の検討」,電気学会電力技術研究会資料,PE-14-204,2014年11月,上田
  3. 鎌谷祐貴・西川武男・財津俊行・上松武:「パワーコンディショナにおける系統インピーダンスの影響を打ち消す制御方式の開発」,OMRON TECHNICS,vol. 50,no. 1,2018年5月,pp. 54-59
  4. J. Sun, "Impedance-based stability criterion for grid-connected inverters," IEEE Trans. Power Electron., vol. 26, no. 11, Nov. 2011, pp. 3075-3078.

文献1は,サイリスタバルブを用いた他励HVDCシステムを対象としていますが,理論展開としては変換器の回路方式をサイリスタ整流器・インバータに限定していないため,電圧形自励インバータにも適用できると考えられます。電圧外乱が発生した場合に,その外乱応答が収束するか発散するかを考えています。

文献2は,電圧形自励変換器であるSTATCOMを対象としております。また,後述のように,電流源に対する電圧外乱ではなく,電圧源に対する電流外乱として理論展開しています。

文献3は,振動や不安定現象が発生する周波数を家庭用太陽光発電システムの運転中に動的に検知する技術を提案しています。電流制御の安定性に関しては,指令値応答の開ループ伝達関数に基づいて検討しています。さらに,検知した周波数の成分を取り除くバンドエリミネーションフィルタ(BEF)を動的にチューニングし,電流制御系の当該周波数でのゲインを下げることによって不安定現象を防止できることを実証しています。

文献4は,文献1 ~ 3で述べられている不安定現象を一般化した議論を展開しています。文献4では,系統連系インバータと系統の2つの電源があるので, 系統連系インバータを(電流制御しているために)電流源,系統を電圧源として捉えており,インバータを電圧源と考えるとうまくいかない,と述べています*2。また,文献3と同じく指令値応答をベースにしています。

本ブログ記事では,概ね文献1をベースとしつつ,電流制御系の安定性について私なりの考察を加えます。

インピーダンスアドミタンスの安定性

電流制御系の安定性を考えてみたところ,究極的にはインピーダンスまたはアドミタンスの安定性ということに帰着するのではないかという結論に至りました。例えば前述の文献1,2はそれぞれ電圧外乱に対するインピーダンスの,また,電流外乱に対するアドミタンスの応答に基づいた安定性の判別法を述べています。

簡単な例

図4(a)に1つの電圧源V(s)に接続するインピーダンスZ(s)を,図4(b)に1つの電流源I(s)に接続するアドミタンスY(s)を示します。なお,電圧,電流,インピーダンスアドミタンスをs領域で表現しました。R, L, Cのみから構成される受動回路は常にBIBO安定です*3。しかし,むだ時間要素等を含む制御システムが関係するようになると,不安定になる場合があります。

f:id:s-inoue2010:20200810160800p:plain:w420
図4: 電圧源とインピーダンス,電流源とアドミタンス

図4(a)において,ごく当たり前のことですが,次の関係が成り立ちます。

I(s) = \displaystyle \frac{1}{Z(s)} V(s) \tag{1}

(1)式を変形すると,V(s)を入力,I(s)を出力とする伝達関数と見なすこともできます。

\displaystyle \frac{I(s)}{V(s)} = \displaystyle \frac{1}{Z(s)} \tag{2}

(2)式を伝達関数と見なした場合,特性方程式は,

Z(s) = 0 \tag{3}

と書けます。(3)式の根((2)式の極)の実部が正である場合,(2)式の伝達関数は不安定になります。例えば,

Z(s) = s L + R \tag{4}

である場合,特性方程式Z(s) = 0の根は

 s = - \displaystyle \frac{R}{L} \tag{5}

となります。(5)式から明らかなように,RとLがともに正の場合,根は負の実数となります。すなわち,安定です。しかし,何らかの理由でRが負になった場合(そんなことがあり得るのだろうか? あるのです!),特性方程式Z(s) = 0の根は正の実数となり,不安定になります。

図4(b)においても,電圧と電流,インピーダンスアドミタンスを入れ替えれば,同様の議論ができます。

開ループ伝達関数を作る

(2)式の極,すなわち(3)式の根を直接分析することは,制御システムが高次であったり,むだ時間要素等を含んでいる場合は困難です*4。そこで,開ループ(一巡)伝達関数を作り,ナイキスト線図やボード線図を基に検討しようというのが,文献1 ~ 4に共通するアイディアであると,私なりに理解しました。

しかし,どうやって…? 図4(a)も(2)式も,1つのインピーダンスZ(s)があるだけで,これをどうやって開ループにするのだろうか…? 実は,Z(s)をZ1(s),Z2(s)の2つに分けてあげると,フィードバックループをもつブロック線図を描くことができ,さらにこのフィードバックループを切ってあげれば,開ループ伝達関数を得られます。

f:id:s-inoue2010:20200909114326p:plain:w600
図5: 2つのインピーダンスによる分圧回路とブロック図

図5(a)に,図4(a)のZ(s)を2つに分割した回路図を,図5(b)にフィードバックループをもつブロック線図を示します。なお,フィードバックループを作らず,最初から合成インピーダンスZ(s) = Z1(s) + Z2(s)として考えると,図5(c)のブロック図が得られますね。一見すると分かり難いですが,図5(b)を変形すると,図5(c)が得られますので,等価であることが確認できます。図5(b)の前向き要素は1 / Z1(s),フィードバック要素はZ2(s)ですので,

\displaystyle \frac{\frac{1}{Z_{1}(s)}}{1 + \frac{1}{Z_{1}(s)} Z_{2}(s)} = \frac{1}{Z_{1}(s) + Z_{2}(s)} \tag{6}

と式変形できて,図5(c)の表現が得られます。

また,図5(b)から,開ループ伝達関数として図5(d)のように,

G_{vo}(s) = \displaystyle \frac{Z_{2}(s)}{Z_{1}(s)} \tag{6}

が得られることが容易に分かりますね。ちなみに,Z1とZ2の分割は自由です。

同様に,図6(a)に,図4(b)のY(s)を2つに分割した回路図を,図6(b)にフィードバックループをもつブロック線図を示します。電圧と電流,インピーダンスアドミタンスを入れ替えれば,図6も図5と同様に論じることができます。開ループ伝達関数

G_{io}(s) = \displaystyle \frac{Y_{2}(s)}{Y_{1}(s)} \tag{7}

です。同じくY1とY2の分割は自由です。

f:id:s-inoue2010:20200909114426p:plain:w600
図6: 2つのアドミタンスによる分流回路とブロック図

図5の電圧源V(s)や図6の電流源I(s)は何か?

ここで,図5の電圧源V(s)や図6の電流源I(s)が何かについて考えます。図1の系統連系インバータは電圧形インバータですが,電流制御しているため電流源とも考えることができます。また,系統に連系しているため,系統電圧も関係します。さらに,この系に電圧外乱や電流外乱が加わります。

結論だけ述べると,図5のV(s),図6のI(s)は,それぞれいずれの電圧,電流と考えても良い─と私なりに理解しています。図1に示すインピーダンス,Zc(s),Ze(s),Zm(s),Zs(s)の関係が本質であって,どの電圧源,電流源も,不安定な振動モードを励振する可能性がある,という考え方です。

想定するモデル

複雑な系統を想定すると(私のような凡人には)理解が難しくなるので,系統としては単純なLCL回路を想定しました。図7に,今回想定する回路を示します。なお,図7には系統電圧(背後電源)を置いていません(本ブログの過去の記事の回路図にも置いていませんね💦)。なぜならば,後述するように,系統電圧は「外乱」として扱えるためです。

f:id:s-inoue2010:20200810205218p:plain:w600
図7: LCL回路からなる系統に連系する電流制御システム

系統定数としては,以下の4条件を想定しました。

表1: 系統定数

パラメータ条件1条件2条件3条件4
R_{s1}10~\mathrm{m}\Omega
L_{s1}0.8~\mathrm{mH}
R_{s2}10~\mathrm{m}\Omega
L_{s2}0.8~\mathrm{mH}
C_{s}5~\mu\mathrm{F}25~\mu\mathrm{F}1~\mu\mathrm{F}5~\mu\mathrm{F}
R_{p}5~\mathrm{k}\Omega250~\Omega
並列共振周波数2,516 Hz
(15,811 rad/s)
1,125 Hz
(7,071 rad/s)
5,627 Hz
(35,355 rad/s)
2,516 Hz
(15,811 rad/s)
直列共振周波数3,559 Hz
(22,360 rad/s)
1,591 Hz
(10,000 rad/s)
7,958 Hz
(50,000 rad/s)
3,559 Hz
(22,360 rad/s)

以上の4つの条件について,系統インピーダンスZs(s)の周波数特性をプロットすると,図8が得られます。

f:id:s-inoue2010:20200812172514p:plain
図8: 系統インピーダンスの周波数特性

また,系統連系インバータの回路・制御定数は,本ブログのこれまでの記事と同様に,以下の通りです。なお,本記事では,系統がない場合(Zs = 0 Ω)に振動的ではあるものの安定な例として,パラメータKをK = 1.9に固定しました。

表1: 回路・制御定数

パラメータ
抵抗器R20~\mathrm{m}\Omega
インダクタL5~\mathrm{mH}
サンプリング周期T100~\mu \mathrm{s}
比例ゲインK_{P}K \displaystyle \frac{L}{4 T}~[ \mathrm{V/A} ]
積分ゲインK_{I}K_{P} \displaystyle  \frac{R}{L}~[ \mathrm{V/As} ]

図9にLTspiceでのモデル図(schematic)を示します。いろいろなことをやろうとして,どんどん複雑になってしまっています。本記事では扱わない(次回?),系統電圧フィードフォワードや,電流検出の後段のバンドエリミネーションフィルタ(文献3を参考にしました)も作ってありますが,今回は使いません。

f:id:s-inoue2010:20200811173423p:plain
図9: LTspiceのモデル図(schematic)

電圧外乱をベースとした安定性の検討

基本的な考え方

図10に,電圧外乱d(s)を印加した場合の回路図とブロック線図を示します。PCCから左側を見たインピーダンスをZm(s)*5,右側を見たインピーダンスをZs(s)とします。Zsは系統インピーダンスそのものですね。

f:id:s-inoue2010:20200811180958p:plain:w500
図10: 電圧外乱d(s)を印加した回路図とブロック線図

ここではd(s)を系統電圧(背後電源)と見なせる位置に挿入していますが,必ずしも50 Hzや60 Hz(またはd-q座標系での直流電圧)ではなく,さまざまな周波数を含むと考えて下さい(そして,ある周波数で不安定な振動モードを励振する場合があります)。

また,大文字のD(s)はPCCの電圧を示します。系統連系インバータ単体にとっては,D(s)が外乱となります。考え方としては,小文字のd(s)が不安定な振動モードを励振する言わば「種」となって,D(s)やI(s)の振動が持続,さらには発散していくというイメージです。

Zm(s)を1つのブロックに集約してしまうと,図11となります。

f:id:s-inoue2010:20200811182127p:plain:w250
図11: Zm(s)を1つに集約したブロック線図

図5で述べたように,Zs(s)とZm(s)の合成インピーダンスZ(s)の逆数,すなわち

\displaystyle \frac{1}{Z(s)} = \displaystyle \frac{1}{Z_{s}(s) + Z_{m}(s)} \tag{8}

が安定であれば電流制御が安定ということになります。そこで,その開ループ伝達関数,すなわち図11の開ループ伝達関数

G_{vo}(s) = \displaystyle \frac{Z_{s}(s)}{Z_{m}(s)} \tag{9}

の位相余裕・ゲイン余裕が確保されているか,ボード線図やナイキスト線図で検討することになります。

また,(9)式の絶対値として,(いきなり周波数伝達関数に変わって恐縮ですが)あらゆる角周波数ωについて

|G_{vo}(j \omega)| = \displaystyle \frac{|Z_{s}(j \omega)|}{|Z_{m}(j \omega)|} < 1\,(= 0~\mathrm{dB}) \tag{9-1}

すなわち,

|Z_{s}(j \omega)| < |Z_{m}(j \omega)| \tag{9-2}

が成立すれば,スモールゲイン定理*6から安定となります。文献2では,スモールゲイン定理のみを論じており,これをスクリーニングとして活用できると述べています。

Zm(s)を求める

近似理論計算

系統インピーダンスZs(s)の方は図8のように分かっていますから,系統連系インバータのインピーダンスZm(s)の方を求めましょう。Zs(s)を無視した状態で,系統連系インバータの電流制御の外乱応答I(s) / D(s) = Ym(s)を求め, その逆数をとることでZm(s)が得られます。なお,記号「Y」を使ったのは,電圧外乱が印加された場合の電流,すなわちアドミタンスと見なせるためです。

さて,図10の各制御ブロックをP(s),Q(s),R(s),S(s)とおくことにします。

P(s) = K_{P} + \displaystyle \frac{K_{I}}{s} \tag{10}
Q(s) = e^{-s T} \tag{11}
R(s) = \displaystyle \frac{1}{s L + R} \tag{12}
S(s) =\displaystyle \frac{1 - e^{-s T}}{s T} \tag{13}

PCC電圧(外乱D(s))を入力,電流I(s)を出力と考えると,前向き要素はR(s),フィードバック要素はS(s) P(s) Q(s)となります。したがって,外乱応答Ym(s)は,次式のように計算できます。

Y_{m}(s) = \displaystyle \frac{R(s)}{1 + R(s) S(s) P(s) Q(s)} \tag{14}

そして,

Z_{m}(s) = \displaystyle \frac{1}{Y_{m}(s)} = \frac{1 + R(s) S(s) P(s) Q(s)}{R(s)} \tag{15}

となります。ここで求めたZm(s)は,サンプル & ホールド,1サンプリング遅れ,PWMを有する離散時間制御システムを,移動平均フィルタとむだ時間要素をもつ連続時間制御システムに近似した近似理論計算であることにご注意下さい。

LTspiceによる周波数スキャン

以上で求めた(15)式の妥当性を,LTspiceによる周波数スキャンで確認してみます。本ブログでも下記の記事にて,周波数スキャンの方法を紹介しました。

negligible.hatenablog.com

また,渋谷道雄先生のLTspiceのバイブル本*7の11.3節にも詳しい解説があります。

図11,12に,LTspiceでの周波数スキャン時の主回路とパラメータ設定を示します。系統インピーダンスを一時的に切り離し,PCCに外乱電圧源V1を接続しています。パラメータVdとしてV1の振幅を設定しています。ここでは10 Vとしました。その周波数をパラメータfで設定し,そのfを.step .paramコマンドにてスキャンしながら,電流iをセンシングした電圧であるV(i)を観測し,.measコマンドで当該周波数のcos成分とsin成分を抽出します。なお,ここでは,電流iの向きが外乱電圧源V1に流入する向きになっているので,cos成分とsin成分を抽出する数式の符号を反転しています。一応,テキストとしてもコマンドを置いておきます。

.tran 0 {30/f} {10/f} uic
.param Vd=10 f=1k
.step dec param f 15.9154 15915.4 20
.meas Idave AVG V(i)
.meas Ymre AVG -2*(V(i)-Idave)*cos(360*f*time)/{Vd}
.meas Ymim AVG 2*(V(i)-Idave)*sin(360*f*time)/{Vd}

f:id:s-inoue2010:20200811185707p:plain
図11: LTspiceによる周波数スキャン時の主回路

f:id:s-inoue2010:20200811185744p:plain
図12: LTspiceによる周波数スキャンのためのパラメータ設定*8

周波数としては,角周波数100 rad/s ~ 100,000 rad/sに対応する15.9154 Hz ~ 15,915.4 Hzまで対数軸上で20ポイント/divとなるようにスキャンしました。また,近似理論計算の(15)式とは異なり,離散時間制御 + PWMありの条件としています。

それでは,前節の近似理論計算である(15)式と,LTspiceでの周波数スキャンの結果を比較しましょう。図13,図14の通り,近似理論計算である(15)式とLTspiceでの周波数スキャン結果は概ね一致しました。なお,制御が不安定となる系統インピーダンスの条件1を同時にプロットしています。

f:id:s-inoue2010:20200811190506p:plain
図13: 系統連系インバータのインピーダンスZm(s)(絶対値と偏角)と系統インピーダンスZs(s)(条件1)

f:id:s-inoue2010:20200811190611p:plain
図14: 系統連系インバータのインピーダンスZm(s)(実部と虚部)と系統インピーダンスZs(s)(条件1)

図13,図14から,低周波では比例ゲインであるKPがそのまま見えていることが判りますね。また,周波数が上がってくると,図13の位相線図の通り,10,000 rad/s ~ 30,000 rad/s付近で90°を超えています。同じことですが,図14の実部(抵抗成分)を見ると,同じ範囲で負になっています。そう❗ 先に述べた抵抗が負になる場合=負性抵抗が現れました❗

ボード線図

さて,改めて図13,図14を見ると,Zm(s)に負性抵抗が現れている範囲で,Zs(s)が並列共振・直列共振していることが判ります。特に,並列共振点と直列共振点の間の区間で,Zs(s)が容量性(偏角が−90°)となっている期間が問題となります。この区間で,Zs(s)は容量性ですが,Zm(s)は誘導性です。したがって,

 \mathrm{Im}\,Z_{s}(s) + \mathrm{Im}\,Z_{m}(s) = 0 \tag{16}

が満たされると,今度はZs(s)とZm(s)が直列共振します。この直列共振は,回路中の抵抗成分によって減衰していき…いや待て,その抵抗成分が負ではないか…!? 図14を見ると,Zs(s)の実部は正だが,Zm(s)の実部は負であり,トータルでも負になりそうではないか。ということは…負の減衰…つまり,振動がどんどん大きくなっていくのではないか…!? 実際,その通りであり,系統インピーダンスの条件1では,制御が不安定になります。

図15に,系統インピーダンスの条件1 ~ 4について,(9)式の開ループ伝達関数Gvo(s)のボード線図を示します*9

f:id:s-inoue2010:20200812014132p:plain
図15: 開ループ伝達関数G(s) = Zs(s) / Zs(s)のボード線図

条件2,3,4では,位相が−180°を超えることがないため,安定であることが判ります。一方,条件1については,ω = 15,909 rad/sで位相が−180°となり,そのときのゲインが0 dBを超えているため,不安定となります。また,ω = 16,996 rad/sでゲインが(2度目の)0 dBとなりますが,位相が−180°を超えており,やはり不安定であることが判ります。

以下,系統インピーダンスが無い場合,および各条件でのLTspiceの過渡解析(TRAN)波形と閉ループ伝達関数1 / (Zs(s) + Zm(s))の「直接プロット」を示します。

各条件での解析例

系統インピーダンスZs = 0 Ωの場合

まずは,系統インピーダンスが無い場合(Zs = 0 Ω)の閉ループ伝達関数(合成アドミタンス)である1 / (Zs(s) + Zm(s))の直接プロットを示します。

f:id:s-inoue2010:20200812020312p:plain
図16: Zs(s) = 0 Ωでの閉ループ伝達関数1 / (Zs(s) + Zm(s))の直接プロット

図16は,本ブログでの下記の記事に記載の図10と似た結果となります。指令値応答と外乱応答の違いはありますが,少なくとも極の位置は一致していますね。左半平面にあるので安定です。この極は,電流制御系そのものに起因するものであり,系統インピーダンスの如何に関わりなく,以下の条件1 ~ 4の場合にも存在します*10

negligible.hatenablog.com

LTspiceの過渡解析結果は本記事冒頭の図1となります。安定限界であるK = 4.39を下回るK = 1.9に設定しているため,安定です。

条件1

条件1でのLTspiceの過渡解析結果は冒頭に示した図2となりますが,図17として再掲します。図15のボード線図から分かるように,条件1は不安定です。 振動の周波数は,LTspiceのカーソルから,概ね2.7 kHz = 16,964 rad/sと読み取れます。

f:id:s-inoue2010:20200812015451p:plain
図17: 条件1でのLTspice過渡解析波形例(図2の再掲)

図18に,インピーダンスの閉ループ伝達関数(合成アドミタンス)である1 / (Zs(s) + Zm(s))の直接プロットを示します。 もともとある2つの極の他に,小さな(と表現してよいのか分かりませんが)零点と極のペアができています。

f:id:s-inoue2010:20200812015831p:plain
図18: 条件1での閉ループ伝達関数1 / (Zs(s) + Zm(s))の直接プロット

分かり難いので,新しい零点と極のペア付近を拡大すると,図19となります。

f:id:s-inoue2010:20200812021206p:plain
図19: 図18の新しい零点と極のペア付近のズームアップ

おおっ⁉ 極の方は右半平面に堕ちているではないか…❗ やはり,不安定だ…❗ 極の虚部は17,000 rad/sを僅かに下回っているように見え,図17での振動周波数(前述の2.7 kHz = 16,964 rad/s)と一致していることが判ります。

そう言えば,閉ループ伝達関数が不安定である場合,インパルス応答が発散・振動する周波数は,開ループ伝達関数の位相交差周波数とゲイン交差周波数のどちらなんでしょうか? この例を見る限り,ゲイン交差周波数に近い気がしますが,物現現象を考えると,位相交差周波数(ちょうど位相が反転してから比較器で減算,すなわち負帰還のつもりが正帰還になってしまう周波数)で振動するほうが自然に思えます。この辺りも,私が制御理論をきちんと理解していない証左ですね…。

条件2

条件2でのLTspiceの過渡解析結果は図20に示します。系統の静電容量Csを5 μFから25 μFに増加したため,並列・直列共振周波数は各々1 / \sqrt{5}に下がり,系統連系インバータのインピーダンスZmが負性抵抗を示す範囲を外れました。図15より,位相交差周波数はなく,ゲインが0 dBとなる各角周波数(カクカク…)においても,位相が−180°を超えることが無いので安定です。

f:id:s-inoue2010:20200812022724p:plain
図20: 条件1でのLTspice過渡解析波形例

同じく,インピーダンスの閉ループ伝達関数(合成アドミタンス)である1 / (Zs(s) + Zm(s))の直接プロットとその拡大を示します。

f:id:s-inoue2010:20200812023255p:plain
図21: 条件2での閉ループ伝達関数1 / (Zs(s) + Zm(s))の直接プロット

f:id:s-inoue2010:20200812023414p:plain
図22: 図21の新しい零点と極付近のズームアップ

新しい極も左半平面にあり,安定であることが判ります。

条件3

条件3でのLTspiceの過渡解析結果を図23に示します。系統の静電容量Csを5 μFから1 μFに減少したため,並列・直列共振周波数は各々\sqrt{5}倍に上がり,系統連系インバータのインピーダンスZmが負性抵抗を示す範囲を外れています*11。また,図15より安定であることが判ります。

f:id:s-inoue2010:20200812023703p:plain
図23: 条件3でのLTspice過渡解析波形例

同じくインピーダンスの閉ループ伝達関数(合成アドミタンス)である1 / (Zs(s) + Zm(s))の直接プロットとその拡大を示します。

f:id:s-inoue2010:20200812024514p:plain
図24: 条件3での閉ループ伝達関数1 / (Zs(s) + Zm(s))の直接プロット

f:id:s-inoue2010:20200812024627p:plain
図25: 図24の新しい零点と極付近のズームアップ

図24のレンジは他の「直接プロット」と異なりますのでご注意下さい(条件3では共振周波数が高いため)。新しい極も左半平面にあり,安定であることが判ります。

条件4

条件4でのLTspiceの過渡解析結果を図26に示します。条件4では,共振周波数は条件1と同じであるものの,並列抵抗Rpを5 kΩから250 Ωに減少し,ダンピングを強化しています。共振周波数は条件1と同じく系統連系インバータのインピーダンスZmが負性抵抗を示す範囲に入っていますが,Rpのおかげで,トータルのインピーダンスとしては実部(抵抗成分)が正となります。また,図15より安定であることが判ります。

f:id:s-inoue2010:20200812024837p:plain
図26: 条件4でのLTspice過渡解析波形例

同じくインピーダンスの閉ループ伝達関数(合成アドミタンス)である1 / (Zs(s) + Zm(s))の直接プロットとその拡大を示します。

f:id:s-inoue2010:20200812025220p:plain
図27: 条件4での閉ループ伝達関数1 / (Zs(s) + Zm(s))の直接プロット

f:id:s-inoue2010:20200812025308p:plain
図28: 図27の新しい零点と極付近のズームアップ

新しい極も左半平面にあり,安定であることが判ります。

異なる観点での安定性の判別

文献2:電流外乱を印加する方法

文献1および文献4では,系統連系インバータを電流源と見なし,その出力アドミタンス(1 / Zm(s))と系統インピーダンスZs(s)の関係(開ループ伝達関数(15)式)を分析する手法を述べています。外乱d(s)としては電圧源です。本記事の以上でもこれに沿う形で書きました。

f:id:s-inoue2010:20200812030011p:plain:w500
図29: 電流外乱d(s)を印加した回路図とブロック線図

一方,文献2では,図29に示すように外乱d(s)は電流源です。系統連系インバータの「純粋な変換器部分」を電圧源とみなし,その出力インピーダンス(Zc(s))と,連系インピーダンス(RとL)と系統を合わせたアドミタンス(1 / Ze(s) = 1 / (R + s L + Zs(s)))を比較するという形態をとっています。言い換えると,図6のように電流源に対する2つのアドミタンスの安定性として考えています。本記事ではZc(s)を「制御インピーダンス」,Ze(s)を「電気インピーダンス」と呼ぶことにします*12

この場合,開ループ伝達関数

G_{io}(s) = \displaystyle \frac{Z_{c}(s)}{Z_{e}(s)} \tag{17}

となります。図29(b)のブロック線図より,

Z_{c}(s) = S(s) P(s) Q(s) \tag{18}

また,同じく図29(a)の回路図より,

Z_{e}(s) = s L + R + Z_{s}(s) \tag{19}

となります。

(17)式のボード線図をプロットすると,図30が得られます。

f:id:s-inoue2010:20200812031338p:plain
図30: 開ループ伝達関数G(s) = Zc(s) / Ze(s)のボード線図

詳述しませんが,図30においても,図15と同様に条件1のみが不安定であり,条件2,3,4は安定であることが判ります。

文献1,4と文献2では,開ループ伝達関数を作る際に,「系統連系インバータ」のインピーダンスと「系統」のインピーダンスの分母,分子が逆転しているように見えます。しかし,このように,文献2では,系統連系インバータの「純粋な変換器部分」を電圧源として取り扱い,外乱を電流源とするという考え方をとっているという相違点があると理解できました(系統電圧は無視しています)。

※追記(2020/08/12):電気インピーダンスZe(s)と制御インピーダンスZc(s)を個別にプロットした図を張り付け忘れておりました。図30-1をご覧下さい。文献2の図10にイメージとして近い絵が得られます(縦軸がlinearスケールかlogスケールかの違いはありますが)。特に,条件4の場合,Ze(s)の直列共振点においてもZc(s)を下回っておらず,(帯域を限定した)スモールゲイン定理|Ze(s)| > |Zc(s)|が満たされていると言えます。

f:id:s-inoue2010:20200812170726p:plain
図30-1: 電気インピーダンスZe(s)と制御インピーダンスZc(s)

指令値応答を直接分析する方法

なお,本ブログの下記記事で検討した,指令値応答の開ループ伝達関数において,連系インピーダンスであるRL回路(s L + R)に系統インピーダンスZs(s)を加算することでも,もちろん安定性を検討できます。

negligible.hatenablog.com

実際やってみると,図31が得られ,やはり条件1が不安定となっていることが判ります。文献3は,このように指令値応答の分析の基づいています。文献3は太陽光発電インバータのメーカーであるOMRONから発表されています。

f:id:s-inoue2010:20200812032849p:plain
図31: 指令値応答の開ループ伝達関数のボード線図

一方,文献1では,系統連系インバータの製造者ではなく,設置者が安定性を検討する場合を想定しています。製造者ではないので,制御ブロック構成(アルゴリズム)や制御定数(ゲイン)の情報が手に入らない場合を想定し,外部から(試験用電源などの設備があれば)取得可能であるインピーダンスに注目した安定性の判別方法を提案していました。一方で,系統インピーダンスは既知です。

これ,なかなか面白い観点ですよね。インバータの製造者にはインバータの制御が既知であって,系統インピーダンスが未知ですが,設置者のとっては逆で,系統インピーダンスは既知だが,インバータの制御は未知であるという発想です。

まとめ

以上,系統インピーダンスが系統連系インバータの電流制御の安定性に与える影響について,文献1 ~ 4を紹介し,主に文献1の方法に沿って,簡単なモデルでの安定性を分析し,LTspiceでの過渡解析例を示しました。

簡単に言えば,サンプル & ホールドや1サンプリング遅れが存在するような電流制御系をもつ系統連系インバータは,外部から見た場合に負性抵抗となるような周波数帯が存在することがあり,その周波数帯の中で,系統インピーダンスが容量性となる(並列共振と直列共振の間)場合,系統連系インバータのインピーダンスと系統のインピーダンスが直列共振し,かつ,系統インピーダンスの共振のQによってはトータルの抵抗成分も負となって,全体として負の減衰係数をもつ共振系となり発散することがある,と言えるのではないかと思います。

おまけ

ボード線図や「直接プロット」はPython + JupyterLab + Matplotlibで計算しました。ただし前者はLTspiceでも計算できます。例えば,今回の図8をLTspiceで計算(AC解析)すると,図31が得られます。Pythonでは,Zs(s)の値を返す関数を自分で書かねばなりませんが,LTspiceなら回路図を描くだけでよいのでとてもラクです。

f:id:s-inoue2010:20200812035745p:plain
図31: LTspiceのAC解析による系統インピーダンスの計算

自作制御ライブラリContrailleの各ブロックと組み合わせれば,制御系を含めた開ループ伝達関数も簡単に描けるのではないかと思います。そんな中で,Pythonのメリットは自由度だと考えます。また,「直接プロット」のような方法はLTspiceにはできませんし,アニメーションも作れません。さらに,PythonからLTspiceから呼び出すことも,LTspiceの波形データ(rawファイル)の内容を取得することも可能です。Python + JupyterLab + Matplotlibは今後もいろいろと活用しようと思います。

あとがき

今年は,東京オリンピックパラリンピックの影響で勤め先のお盆休みが8月第1週にずれ,オリンピック・パラリンピックコロナウイルスの影響で延期された後も,お盆休みは戻りませんでした。そんな中,私個人の「夏休みの自由研究」として,この電流制御の安定性について(昼間は幼稚園が夏休みに入った子どもたちと遊びながら,夜,布団の中でノートPCを開いて(今も…!))考えていました。

以前であれば,Twitterに断片的につぶやいて終わっていましたが,このような形で残しておくと,今後役に立つ,さらには,これまでお世話になった技術界,インターネット界に恩返しができるのではないかと考えています。

今回の記事は,流石に長文過ぎましたので,次回はもっと気軽な短いネタを考えます💦

*1:LTspiceによる電流制御のシミュレーション - The Negligible Lab

*2:ただし,文献2では,連系インピーダンスを除いた純粋な変換器部分を電圧源として捉えています。

*3:抵抗が完全に零であるLC共振回路などは極が純虚数になるため,理論的にはBIBO安定にはなりません。しかし実際には何らかの抵抗成分が存在するので,実質的にBIBO安定と言っても差し支えないと考えます。

*4:本ブログで提案している「直接プロット」で総当たりすれば,その範囲内では極の位置は判りますが,範囲外は判りませんね。

*5:「Zm」という記号を用いる点は,文献1に合わせました

*6:例えば南裕樹:「Pythonによる制御工学入門」,オーム社,2019年,p. 222

*7:渋谷道雄:「回路シミュレータLTspiceで学ぶ電子回路 第3版」,オーム社,2019年

*8:LTspiceが突然終了して,スキャンがうまくいかないことが多いので,周波数を3つに分けて解析しました。本図はその3番目の設定です。

*9:ナイキスト線図でも良いのですが,直並列共振に伴ってゲインがぶっ飛び過ぎて見づらいため,ボード線図としました。

*10:系統インピーダンスによって位置は若干変わります。

*11:図13,14を見ると,10,000 rad/sを超えると,負性抵抗を示す区間が点在するようですが,条件3ではちょうど実部が正の区間に入っています

*12:文献2はZeを「系統インピーダンスZ」と呼んでいます