[パワエレ制御]系統連系インバータってこんなの

はじめまして。
パワエレをやっているサラリーマンgriffinです。

今回ほぼ勢いで書いてみたのですが。
この記事にSimulink出てこないです。パワエレ のネタです。

記事の内容が完全に趣旨とズレてます。すみません。

・・・でもパワエレ は
電子、電力、制御の融合分野だから少なくとも制御ネタではあるよね！うんうん！:blush:[^1]
(Simulinkどこいった）
とりあえず書きました！異論は認めます。

[^1]: 平地研究室技術メモ No.20080818 "パワーエレクトロニクスの最も有名な論文の紹介" 舞鶴高専 平地 克也先生 http://hirachi.cocolog-nifty.com/kh/files/20080818-1.pdf



#系統連系インバータってなに？
いわゆるパワーコンディショナー、パワコンと呼ばれるやつと考えて概ね正解です。
よく知られているのはPV（太陽光発電）向けの単相パワコンです。
<img width="630" alt="スクリーンショット 2019-11-08 0.55.13.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/0ba6c0d5-d348-666d-0b99-06d1ebe3030a.png">[^2]

[^2]: Y. Kamatani, T. Nishikawa, T. Zaitsu, and T. Uematsu. “A Compensatorthat Negate the Influence of Grid Impedance based on FrequencySweep Estimation Technique”. OMRON TECHNICS. 2018,vol.161, p.54-59.


パワーコンディショナーは２つの電力変換機によって構成されています。
前段が「昇圧チョッパ」　後段が「**系統連系インバータ**」です。

前段の「昇圧チョッパ」はPVが最大発電動作点を維持するためにPVの両端電圧を制御します。
これは「MPPT制御：Maximam Power Point Trachking Control」と呼ばれていて、
PVの発電ポテンシャル最大動作点を追従することで、エネルギーを無駄なく得ることに寄与します。

「**系統連系インバータ**」は、Grid-Connect Controller(系統連系制御器)に従って系統と同期した周波数・位相の電流を系統側に出力します。
一言で言えば簡単そうに見えますが、刻一刻と変動する商用電圧を歪ませることなく、電流は歪がない綺麗な正弦波を系統側に出力し続けなければなりません。

DCDCコンバータしか扱ったことがなかった私が初めて系統連系インバータに出会ったとき、「電源の出力は負荷じゃなくてAC電源なのか。」というのに驚き、「そもそも、制御動作についてどう理解すれば良いだろう」と悩みました。

#DCDCコンバータを起点に系統連系インバータを理解する。

そこで私は後述するようにDCDCに一旦置き換えて考えてからインバータの形に変形していというやり方で理解を深めました。

根本的には違いますが、感覚的にはラプラス変換と逆変換のような「別の世界で考えて元の世界に戻す」ような感覚です。

##非絶縁　降圧DCDC[Buck-Converter]の動作
教科書でお馴染みのBuck-Converterです。
幾人もの先人に語られつくされた内容ですが回路動作について書きます。


この回路はスイッチのパルス幅によって入力電圧を変調し、低い電圧に変換できます。
![circuit_buck.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/d4852ea6-69ac-e186-c7a9-2eacb890d80c.jpeg)
図1. Buck-Converter　回路図


### スイッチON、OFF状態での動作
まず、この回路の入力電圧$V_{in}$は任意の電圧とし、出力電圧はゼロという状況を初期状態としこの回路の動作を確認していきましょう。
説明を動作原理に絞るためにスイッチは抵抗値を持たない、ダイオードは$V_f$を持たないとう
現実ではありえない条件で考えます。

![circuit_on_and_off.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/814ca633-85e2-e042-b86e-beb18fbe8022.jpeg)
図２　スイッチON、スイッチOFFの際のBuck-Converter

図2に示されてる2つの回路のうち、上段がスイッチONのときの回路、下段がスイッチOFFのときの回路をかきました。また、インダクタ$L$に流れる電流$i_{Lon}$,$i_{Loff}$の経路を矢印で示しました。

スイッチがターンオンするとリアクトルに入力電圧$V_{in}$と出力電圧$V_{out}$の差が印加され、エネルギーがリアクトルにチャージされます。
また、出力側のコンデンサにも電荷を貯めるので電圧を上昇させます。

スイッチがターンオフすると入力と出力が切り離されてしまいます。入力側から出力側に直接エネルギー遷移することはありません。
しかしながら、今度はリアクトルに先ほどと逆方向に$V_{out}$が印加されるので、リアクトルは蓄積したエネルギーを放出し始めます。この時出力側は**リアクトルからエネルギー供給を受ける事になります**。

元々リアクトルにエネルギーを貯めたのは入力電源なので、リアクトルを介して入力からエネルギーを得ているといってもいいでしょう。

###回路の平衡状態
次に時間軸で動作の流れを見てみましょう。

スイッチをONをしている時間を$T_{on}$
スイッチをOFFしている時間を$T_{off}$
$T_{on}$と$T_{off}$の和をスイッチング周期$T_{sw}$
スイッチング周期に対するON時間の比を$duty$と定義します。
$$duty = \frac{T_{on}}{T_{sw}}$$

定義された値をもってスイッチのONとOFFを繰り返し切り替え続けることにします。
この１周期の動作で発生するLの両端電圧$V_L$のグラフを図３に示します。

![Switching_Waveform_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/89a59376-b8e0-b37c-49b8-8b4500ba0d5e.jpeg)
図３ スイッチ状態とVLの変化

リアクトルに蓄積、放出されるエネルギーは$$\frac{V_L}{L}＝\frac{di_L}{dt}$$
スイッチング周期$T_{sw}$区間で電流がどれだけ伸びたか、減ったかで決まります。

初期状態では$V_{out}=0$なので、ターンオンの時はガッツリ$V_{in}$がかかりますが、ターンオフはほぼ0です。なんとなくですが最初の方はターンオンでぎゅーーっとエネルギーを蓄積しターンオフではほとんど電流を放出しなさそうです。$T_{sw}$区間では電流は上昇していきます。図4のようなイメージです。
![iL_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/581791b2-0071-d4ba-22db-6ebd41d1197e.png)

図4　Voutがごく低いときのiL

でも、電流はターンオン時にコンデンサにも供給されるので、いずれどんどん出力のコンデンサの電圧は上がっていきます。すると、ターンオンにかかる電圧は減少します。1回のターンオンにおけるエネルギー蓄積量はだんだん減っていき、1回のターンオフ時のエネルギー放電量は逆に増えていきそうです。
こうなると$T_{sw}$区間では電流の上昇量は減少していきます。

![iL_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/71856312-96c4-3d23-e4c5-9f5cefab30df.png)

図5　ちょっとVoutが高くなったときのiL

この動作、ほっとくとどうなるんでしょうか？
なんとなく見えてきたとと思いますが、このままこの動作を繰り返すと
**Voutがある電圧になったときに、1回のターンオンでリアクトルに蓄積されるエネルギーと1回のターンオフで放出されるエネルギーが釣り合います**

この時回路は**平衡状態**となり出力電圧が一定になります。
![iL_3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/7dfb886b-88e0-3331-107b-2795811e3975.jpeg)


図6 平衡状態のiL

降圧コンバータが平衡状態となる出力電圧は 
$$V_{out}=V_{in}×duty$$
となることが知られています。[^3]

[^3]: この解釈は厳密には電流連続モードである場合に限られ、電流不連続モードでは異なります。"スイッチング電源の原理と設計",”スイッチングコンバータの基礎”等に導出について記載があります。

入力電圧に対してduty比率分だけ低い電圧で一定になるのです。だからこの回路は降圧コンバータと呼ばれます。
### 平衡状態におけるもう一つの解釈

もう一つ、スイッチとダイオードの間の平均電位を中点電位$V_{o}$と定義することで
平衡状態となることを説明できます。
いままでの回路図でDiodeがあったところをスイッチに置き換えます。
2つのスイッチは排他的に動作するとします。一方がONなら必ずもう一方がOFFということです。
上側のスイッチのON時間をもとにDuty比を定義すれば、Diodeがスイッチに置き換わっても図2に示した電流経路が現れます。回路図を図7に示します。
![HarfBridge.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/af1060ef-e23d-60e7-e0bb-0cfe36e518be.png)
図7　ハーフブリッジ回路を用いたBuck-Convereter

このときよく見ると回路が2つのモジュールに分離できることに気が付きます。
左がハーフブリッジインバータ、右がLとCで構成される2次遅れフィルタです。

それぞれ別のモジュールとして捉えたときの図が図8です。
このとき、解釈として
**1.初段のハーフブリッジが入力電圧に対してdutyをかけた電圧を出力する。**
ハーフブリッジインバータは矩形波のAC電圧を出力します。
$T_{on}$のとき$V_{in}$,$T_{off}$のとき0Vなので
インバータの出力電圧$V_o$の平均電圧は

$$V_o = \frac{V_{in}T_{on} + 0 * T_{off}}{T_{sw}} =\frac{V_{in}T_{on} }{T_{sw}} =V_{in}duty$$

となります。

**2.後段のフィルタが高周波成分をカットする**
LCフィルタは入力電圧に対して
カットオフ周波数$f_c$が
$$f_c = \frac{1}{2\pi\sqrt{LC}}$$
となる2次遅れローパスフィルタと捉えることができます。

ローパスフィルタは矩形波の高周波成分をカットし、ほぼDCの電圧を得ることができます。

ローパスフィルタは時定数を持つので、フィルタにとっての入力電圧に対して
直ちに応答することはありません。
フィルタの時定数に応じて徐々に出力電圧が上昇して、
**$V_o$平均電圧と$V_{out}$が一致したときに平衡状態となり電圧が安定します**

![Inverter+Filter.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/0b027ffd-5331-5a25-d595-fe5ca2f4f93a.png)
図8　ハーフブリッジ＋LCフィルタとして捉えたBuck-Converter　

すなわち、PWM(pulse width modulation:パルス幅変調)で中点平均電圧$V_o$を操作すればLCフィルタを経て$V_{out}$が得られると解釈できるのです。

##制御対象のブロック線図
この回路の出力電圧を一定に保つ制御を設計するとします。
前述の通りバックコンバーターはPWMのDutyによって中点電圧$V_o$になるように調整します。
その応答で$V_{out}$が得られるわけですので、操作する$V_o$と制御したい電圧$V_{out}$の伝達関数こそが制御対象の伝達関数となるはずです。
ブロック線図だと下記の通りになります。
左は無負荷、右は負荷があるときのブロック線図です。
Lに流れる電流$i_{L}$は制御周期における電流の平均値となります。
Lの両端電圧が一致すると平均電流はゼロ、すなわち図6の平衡状態と同じになります。
一致してないとき、例えば図４の状態だと$V_o$に対して$V_{out}$が低いのでLの両端電圧$V_{L}$がかかって電流が流れます。無負荷の場合、その全てがコンデンサに流れるので出力電圧$V_{o} = i_L  \frac{1}{Cs}$となります。

負荷がある場合はLの電流はCとRに分流するので
Cに流れるのは$i_C = i_L - i_R$です。
出力電圧は$V_{o} = i_C  \frac{1}{Cs}$となります。

![IMG_2384.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/466e8a54-0a43-896c-4055-789c453c3489.jpeg)
図９　連続モードでのBuck-Converter　　ブロック線図

ボード線図に書くと2次遅れ系の形になります。負荷は2次遅れ系のダンピング係数としてはたらきます。[^4]

[^4]: 実際は理想C、理想Lは存在しません。ESR等の寄生成分を含めてモデリングします。この際、無負荷でもESRがダンピング係数として働くためQが無限大になることはありません。

![IMG_2384 2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/17dedfd8-481b-ce95-2680-b8e7a12a0aee.jpeg)
図10　連続モードBuck-Converter　　ブロック線図

コントローラーを入れると図11に示す感じになります。
PWM部はコントローラーが出力する値、中点電圧指令値に合うようにPWM波形を生成し、
実際の回路の中点電圧を指令値通りになるように変調します。
ですから、平均電圧としてはゲイン１のブロックとして捉えます。
一巡伝達関数は$G_c(s)G_p(s)$、閉ループ伝達関数は$\frac{G_c(s)G_p(s)}{1+G_c(s)G_p(s)}$となります。

![IMG_2386.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/2ac3f8a7-aaa4-d8f4-3c71-04aff40b77d8.jpeg)

図11 コントローラーを含めた連続モードBuck-Converter　　ブロック線図

#負荷と並列にDC電圧源があるとき
現実ではそういうケースあまりないと思いますが一旦ある体で考えます。
回路図は下記のようになります。
![IMG_2387.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/883880e4-d96d-c7e2-eb28-8b0cc409f814.jpeg)


図12負荷と並列にDC電源があるBuck-Converter

この場合出力電圧は完全に固定されてしまっているので、**Lに流れる電流は中点電圧$V_o$を変化させることでコントロールできる**ことになります。
ブロック線図にすると下記のような感じです。
![IMG_2388.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/d350d16a-adbc-d931-9b49-fff83f953fb0.jpeg)
図13 負荷と並列にDC電源があるバックコンバーターのブロック線図

つまりこの状態で制御を構築すると、**電流を制御するループを構築する**とこになります。


#系統とおなじ電圧を出すには

ここまできてやっと系統連系インバータのことを考えていたことを思い出しましょう。
系統連系インバータは負荷として系統がつながっているインバータです。
系統というのは自身で電圧を持ちますが、負荷としても振る舞います。
なぜなら系統にはその電圧と並列に接続された無数の負荷が存在するからです。

あれ、電圧と並列に接続された負荷・・・
図12で出てきたやつと似てますね。でもあれはDCでした。

・・・うーん　じゃあDCをAC電圧源にしちゃいましょう。えいや。
![IMG_2389.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/945afe02-0000-6546-aefa-de53b30b0eb8.jpeg)
図14 系統連系するBuck-Converter　

このとき系統と連系するということは、中点平均電圧が系統電圧と完全に一致する電圧を出力するときということです。そうすればL両端の平均電圧は常に0となり平均電流電流もゼロになります。
出力の電圧が刻々と変化していること以外は降圧コンバータの平衡状態そのものです。

ということは、交流電圧$V_{out}$をフィードバックして瞬時に$V_o$として出力したら完全に系統と同期できます。
やったー!
制御を含めてブロック線図にするとこんな感じになりそうです。

 ![IMG_2390.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/919d755b-de6c-b625-e8e1-8ca6f185b886.jpeg)

図15 系統連系するBuck-Converter　ブロック線図

 もし、系統連系状態を維持したいのなら$V_o$は系統電圧と一致させますが、
系統側に電流を流したいときはどうすればいいでしょう。

そのときは**インバータが系統よりちょっと高い電圧を出せばいいんです。**
そうすると、リアクトル両端の平均電圧が０でなくなります。例えばPWMのdutyを変更して$V_o$を少し上げると図５で示すように右肩上がりの波形になります。

系統連系インバータは系統電圧に対して、
　ちょっとだけ高い電圧を出すか、　ちょっとだけ低い電圧を出すか
を行うことでLの両端電圧を制御し、電流を出力することができます。
やった。これで系統に電流を流し込めますよ！


#PLLで系統電圧の位相をロックする
これで一応連系まではできたようですが、肝心なことを忘れていました。
出力される電流ですが系統と**同期して**電流を出力しないといけません。
そのためには系統周期と同じ周波数、同じ位相だけど振幅は所望の電流値である電流指令値が必要です。

このような動作を実現するには系統電圧の周波数、位相を検出して追従するPLL(位相同期回路:phase locked loop)が必要になります。
系統電圧波形ををもとにPLLで位相と周波数を検出することで、
**位相と周波数は系統と一致している振幅１の基本正弦波形**を作ることができます。

あとはこれに所望の電流実効値の√2倍の値を乗算すればよいのです。
これで系統電圧と同期したAC電流指令値を作ることができたのでそれを電流指令値とすればOKです。
ブロック線図は下記のような感じになります。

図に√2を入れ忘れてますね・・・すみません。
![IMG_2391.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/74125dcf-7516-0e41-b041-8d93766717e2.jpeg)
図16　系統連系するBuckコンバータwith PLL　ブロック線図

じつはこれでほとんど系統連系インバータのモデリングは終わりです。
なぜなら大抵のインバータはこのBuck-Converter　をフルブリッジ化した回路と等価だからです。

単相の系統連系についての論文を調べてみるとやはり同じようなブロック線図が出てきます。
長岡技術科学大学　伊東研究室の永井さんの論文[^5]です。<img width="364" alt="スクリーンショット 2019-11-30 1.55.41.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/68e0de54-dae9-af8e-7dfc-8f2f3d167fcb.png">

[^5]: S. Nagai, K. Kusaka, J. Itoh, “FRT Capability of Single-phase Gridconnected Inverter with Minimized Interconnected Inductor”, in Proc.IEEE Appl. Power Electron. Conf. and Expo. 2017, No. 1800, pp.2802-2809, 2017.

##おわりに
もう皆さんお気づきかと思いますが、
これってモーター制御するときとブロック線図がよく似ています。モータもインバータの出力電圧と自身の誘起電圧との差がインダクタ電圧となって流れる電流が決まると解釈してます。（私勉強だけで、実際にモーター回したことないんでよくわかんないです。うそだったらすみません）

誤解を恐れずに言い切ると誘起電圧が系統電圧になっただけです。
つまり・・・

**モーターまわせちゃうひとは系統連系もできちゃう！！**
これがこの記事で一番伝えたかったことです。
僕もまとまった時間を作ってモーターを回せるようになりたいです。


・・・結局最後までSimulinkでてきませんでした。すみません。
普段仕事ではSimulinkでこういうのをモデリングしているんですが
個人ではSimulink持っていないのでこの記事に実際のモデルをかけないのです。
(ﾟｰﾟ*)｡oO（サンタさんにmatlab HOMEをお願いしたいなぁ。)

ですが、私の手書きブロック図がありますのでこれをもとにモデリングしたら
Simscapeで作った模擬系統＋インバータと接続した系統連系インバータを作れちゃいます。
皆さん是非試して見てください。

ちなみに今回取り上げたのは単相３線の例でしたが3相の場合はガチでモーターと同じです。dq変換して有効・無効電流を操作します。

<img width="375" alt="89361FA1-A327-4E6D-8085-972631EDB8E1.jpeg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/331637/0eda3e54-50b8-10a7-3b08-5637773078b6.jpeg">[^6][^7]

[^6]: オルボー大学の資料がとても良いです。オルボー大学のパワエレ研は規模がめちゃくちゃデカいそうです。ラボのトップは現PELSのプレジデントでいらっしゃるFrede Blaabjerg 先生です。一度行ってみたいものです・・・https://vbn.aau.dk/ws/portalfiles/portal/207536709/An_Improved_Control_Strategy_for_the_Three_Phase_Grid_Connected_Inverter.pdf

[^7]: Frede Blaabjerg先生がまとめられたこの本もかなり勉強になりました。パワエレ制御の基本要素が解説されてます。これ無しでは生きていけない身体になってしまいました。https://www.elsevier.com/books/control-of-power-electronic-converters-and-systems/blaabjerg/978-0-12-805245-7


ぶっちゃけこの記事の内容はググれば出てくるようなもので、オリジナリティもクソもないですが、
私なりの理解を整理できたので書いてよかったです。この記事が皆さんにとって少しでも面白いなと思ってもらえると嬉しいです。
コメント、間違いツッコミ等むしろ勉強になるので大歓迎ですので
何かありましたらコメントください。
どうぞよろしくおねがいします！