系統連系インバータの電流制御と系統インピーダンス
はじめに
本ブログでは,電流制御とその安定性に関する記事をいくつか書いて参りました。例えば,下記記事では,サンプル & ホールドと1サンプル遅れを考慮した場合の安定性について,連続時間系に近似した伝達関数に基づく考察を加えてみました。
私のLTspiceのモデルでは単なる電圧制御電圧源(voltage-dependent voltage source, E)を用いて電流を制御しましたが,念頭に置いているのは図1の単線結線図のような系統連系インバータです。ここで,図1のR, Lは連系リアクトルや変換用変圧器など,いわば系統連系インバータ「装置」の内部の既知のインピーダンスです。これまでの本ブログの記事に登場したR, Lと同じと考えて下さい。一方,送配電系統には,その変換器の連系点(PCC, point of common coupling)から上位を見たインピーダンスZsがあり,系統インピーダンスと呼ばれます。なお,図1には他に,Zc,Ze,Zmの3つのインピーダンスを記載しておりますが,これらは後の検討に登場します。
系統インピーダンスがない(Zs = 0 Ω)場合の電流制御系の安定性については,先に挙げた本ブログの記事のように考えることができます。しかし,たとえZs = 0 Ωの条件で安定性を確保できるように電流制御系のゲインを設定していたとしても,系統インピーダンスが存在する(Zs ≠ 0 Ω)場合には,電流制御系が不安定になってしまうことがあります。
まずは例を見てみましょう。
図2は,系統インピーダンスがない(Zs = 0 Ω)場合のステップ応答波形ですが,本ブログの過去の記事*1でご紹介したパラメータK = 1.9の場合です。なお,図3と合わせるため,上から2段目のplot planeは空白としました。
一方,図3は同じK = 1.9の場合ですが,系統インピーダンスが存在することによって不安定となっています。2段目のplot planeにはPCCの電圧をプロットしています。
さて,このような不安定現象が生じるメカニズムとは何でしょうか…?
続きを読むNumWorksのグラフ関数電卓でナイキスト線図を描く
はじめに
フランスのNumWorks社によるグラフ関数電卓(本記事では便宜上,電卓についても「NumWorks」と呼びます)は,比較的低価格,MicroPython搭載,ファームウェアアップデートが頻繁,ハードウェア・ソフトウェアの仕様が公開されている等の特徴を有しており,カシオ,シャープ,キヤノン,HP,Texas Instrumentsなどの既存メーカーの牙城に風穴を開けるべく登場*1した,密かな人気機種となっております。
本記事では,NumWorksがもともと持っている「Functions」アプリを用いて,ナイキスト線図を描く方法をご紹介します。
いきなりですが,こちらがナイキスト線図を描いた結果例です。
あ。点(−1, j0)の左を通っているので,不安定になっていますね💦…なんてことが判ります💫
NumWorksにはオンラインシミュレータがあります。これ自体驚異的です。電卓を実際に購入する前に,いろいろと試すことが可能です。本記事での画像は,基本的にオンラインシミュレータの画面のスクリーンショットです。
続きを読む伝達関数の直接的プロット法と電流制御系
はじめに
線形連続時間時不変システムの入力と出力をラプラス変換(s領域で表現)し,出力と入力の比(=出力÷入力)をとったものを伝達関数と呼びます。 入力が単位インパルス(δ関数)である場合,そのラプラス変換は1ですから, 伝達関数は単位インパルスを入力した場合のシステムの出力そのもの,つまりインパルス応答を表します。
sは複素数です。よくs = σ + jωと書かれます。 当たり前ですが,伝達関数は複素関数となります。 しばしば「複素関数のグラフは描けない」との言葉に出会います。 1変数の実関数y = f(t),例えば
であれば,横軸をt,縦軸をyとすればシンプルにグラフを描けます。 では,F(s)が複素数sの関数だとして,Y = F(s)のグラフは描けるでしょうか? 独立変数sにも実部・虚部の2次元があり,得られるY = F(s)にも実部・虚部の2次元があります。 せめてYが複素数でなく実数であれば3次元グラフに描けるのですが…こりゃどう描くんだ?
本記事では,伝達関数の直接的プロット法を提案します(これは「新しい」プロット法─と言いたいですが,新しいかどうか判りませんでした💦)。 また,これまでに議論した電流制御系にこのプロット法を適用して,ボード線図やLTspiceによる時間領域でのシミュレーションと比較します。
唐突なアニメーション
いきなりですが,図2のアニメーションをご覧下さい。
これは電流制御系において,制御ゲインを変えながら開ループ・閉ループ伝達関数をプロットしたものを, MatplotlibのFuncAnimationにてGIFアニメとして書き出したものです。
続きを読む続・LTspiceによる電流制御のシミュレーション
はじめに
先日の記事で,LTspiceによる電流制御のシミュレーションについて述べました。 negligible.hatenablog.com
この記事の中で私個人としてひとつの発見と言えるのは,
- 操作量に対してむだ時間T,フィードバック量に対して窓Tの移動平均フィルタを施した連続時間制御システム
- 操作量に対してむだ時間TとPWM,フィードバック量に対してサンプリング周期Tのサンプル & ホールドを設けた離散時間制御システム
がほぼ同じ挙動を示すということです。 図1に上記前者のブロック図を示します。
言い換えれば,離散時間制御 + PWMの電流制御系を,移動平均フィルタとむだ時間のある連続制御系で近似できると言えるのではないでしょうか(PWMの過変調が起きない範囲で)。 例えば図2ですね。
ほぼ挙動は一致しています。 そこで,連続系である図1の安定性について検討してみます。 また,最近はLTspiceばかり触っているので,JupyterLabでボード線図を描いてみました。
回路定数は先日の記事と同じくR = 20 mΩ,L = 5 mHとします。 また,同じくサンプリング時間 = 移動平均フィルタの窓 = むだ時間T = 100 μsとします。
続きを読むLTspiceのための単相変圧器モデル
はじめに
LTspice XVIIにはいわゆる「変圧器」のモデルが用意されておりません。 2つのインダクタをschematic上に置き,それらの間に結合係数kを設定すると,変圧器として機能させることができます。
さて,LTspiceで変圧器を模擬する方法を解説しているブログ等は多数ありますが, そのいずれもが,「変圧比は,2つのインダクタのインダクタンス比の平方根に等しい」という解説に留まっているように見えます。 例えば図1では,L1 = 4 mH,L2 = 1 mHとしています。 この場合,変圧比は,
となり,2:1の変圧器となります。 結合係数kは大きな値,例えば密結合としてk = 1に設定しておくことができます。 しかし,上記の例…なぜ4 mHと1 mHなのか❓ 36 μHと9 μHではダメなのか❓ 疑問が生じるのではないかと推察します。
続きを読む移動平均フィルタとサンプル & ホールド
はじめに
サンプリング周期がであるサンプル & ホールド(S&H)の伝達関数は,近似的に
と書けることが知られています。 これは移動平均フィルタ(moving average filter, MAF)の伝達関数と完全に一致します。 何となくそうなりそうな気もしますし,本当にそうなのという疑念もあります。
そもそもS&Hに正弦波を入力しても,サンプリングするから出力はカクカクしているじゃないか❓ 高調波が含まれるけど,基本波成分だけを抽出するとそうなるということ─❓
時間領域での波形を見てみると…確かに基本波成分は似ているように思えます。
という訳,LTspice XVIIで試してみることにしました。
まずはいきなり結果のボード線図を
続きを読むLTspiceによる電流制御のシミュレーション
はじめに
電圧形インバータを用いてモータを制御したり,系統連系したりする場合,電流制御*1が必須となります。 昨今はオペアンプ等でアナログ制御*2することは稀で, 制御ハードウェアとしてはマイコンやDSP (digital signal processor),FPGA (field-programmable gate array)が選ばれると思います。 この場合,サンプリング周期毎に制御演算のルーチンが実行される(タイマ割り込みで定期的に呼ばれる関数など)離散時間制御となります。 サンプリング周期の分だけむだ時間が生じるため,安定性を確保するための制御ゲイン設計が問題となります。 さらに,インバータではPWM (pulse-width modulation)にて出力電圧指令値と平均値の一致するパルス列に変換します。
筆者は電力変換器の回路方式や制御方式について学んできましたが,電流制御そのものについては実は理解が曖昧なところがありました。 そこで本稿では,LTspice XVIIと自作制御ライブラリContrailleを用いて:
- 連続時間(アナログ)制御 vs. 離散時間(ディジタル)制御
- 任意電圧出力 vs. PWM
を比較してみることにしました。 対象としては単純なRL回路を想定します。
電流が所望の値・波形となるように,電圧を調整します。 この場合,制御量はであり,電圧の方は「操作量」と呼ばれますが,「操作量」なる語はあまり浸透していない気がしています💦 念のためですが,は時刻になります。電流,電圧ともに時刻に依存する関数となります。
DISCLAIMER!!: 本記事には技術的な誤りが含まれている可能性もありますので,予めご了承ください💦
聞きかじったこと
よく言われている(?)ことですが,であり,サンプリング周期がである場合,電流制御の比例ゲインを
に設定すれば,電流にオーバーシュートを生じない,ということがあります。 これについては,例えば文献*3や 文献*4に記載がありますが, やはり理解するには自分で手を動かさないとダメだとの思いから,ブロック図と数式をいじってみることにします。
*1:よくACR (automatic current regulator)と呼ばれますが,恐らく日本語でしょう…。
*2:早川:「初めての自立移動ロボット制御シミュレーション」,トランジスタ技術,2020年7月号,pp. 71-86
*3:田原・藤田・赤木:「FPGAによる高速電流制御を適用したPWM整流器の動作特性」,電気学会半導体電力変換研究会資料SPC-05-14,pp. 33-38,2005年1月,大阪
*4:H. Akagi, E. H. Watanabe, and M. Aredes, Instantaneous Power Theory and Applications to Power Conditioning, Wiley, 2007