IMGP5910のコピー

(ダイジェスト)10分ちょっとでわかる最大効率追従制御,オブザーバの離散化,スライディングモードのチャタリング排除,完全追従制御,2相変調法

以下テンプレ
筆者が開発したVVVFインバータのアルゴリズムについて,その仕組みの一部を少し書きます.筆者はただの素人なので数学的な間違いや物理的意味の誤解などがあるかもしれません.独学なので表現が正しくなかったり一般性を欠いている場合がありますのでご注意ください.ほぼ自分用メモなので変数や記号の定義は割愛させていただきます.
関連項目
(ダイジェスト)10分ちょっとでわかる極配置,拡張誤差適応則,鉄損考慮モデル,MT軸制御,最適励磁制御

上掛け水車は停止状態から周速が水の自由落下の速度と釣り合までの速度領域のどこかに最大効率点があります.誘導モーターは回転速度が低くなるにつれて効率が悪くなります.上掛け水車と誘導モーターの効率を掛け合わせたトータルでの効率が最良の速度で運転させる必要があります.要するに取り出せる電力が最大となる点で運転させる必要があります.最大効率追従制御は山登り法や増分コンダクタンス法がありますが,前者は収束性が悪く,後者は微分値を用いるため雑音に弱いという欠点があります.そこで筆者は増分コンダクタンス法を改良し,統計的手法を取り入れるこどで雑音が多い環境下でも安定して最大効率追従ができるアルゴリズムを開発しました.

VVVFインバータのベクトル制御系に使用している適応2次磁束スライディングモードオブザーバは,極配置設計や伝達関数の導出などを連続時間系で行っていました.しかし,これを実際のCPU上で動かすとなると離散時間的に処理されるため,微分値の近似誤差を小さくするためサンプリング速度を十分に早くする必要があります.サンプリング速度を早めるとそれだけ単位時間あたりの処理量が増えるので,せっかく発電した貴重なエネールギーをCPUは余計に消費します.そこで,オブザーバの離散化を行なって必要十分な低速サンプリングでオブザーバを含むベクトル制御系を動かします.筆者のVVVFインバータは最高出力周波数400Hzでベクトル制御系のサンプリング速度は800Hzです.また,オブザーバを離散化するのと同様の方法で,ベクトル制御系とは別にPWM周期で離散化した電圧モデルを用いてノミナルプラントの1次電流を完全追従制御します.800Hzの固定周期で駆動されるベクトル制御系と,可変するPWM周期で駆動される完全追従制御系は,互いの指令値や状態量を再サンプルして伝達されます.

スライディングモードオブザーバの特徴として,スイッチング関数を用いて状態量を切替超平面に拘束します.スイッチング関数の適応フィルタ的能力によって,スライディングモードオブザーバは最小次元オブザーバと比較して雑音に強いことが先行の研究によって示されております.しかしながら,そのスイッチング関数によって状態量にチャタリングノイズが重畳し,場合によっては制御系に有害な影響を及ぼします.そこで筆者は適応フィルタ的能力を持ちながらチャタリングが発生しないアルゴリズムを開発しました.これにより安定性を損なうことなく素早く滑らかに状態量を切替超平面に拘束します.(ロケットや人工衛星の姿勢制御に使えないなかなーなんて思ってます.ちなみに,筆者はこのアルゴリズムを人工知能の最適化アルゴリズムとして使っていたりします)

2相変調法は,3相PWM電圧出力に於いて,2相を変調し1相を飽和状態とすることでスイッチング損を約2/3程度に低減できます.

*最大効率追従制御*

一般的な増分コンダクタンス法を上掛け水車に適用すると以下のようになります

P:発電電力, I:出力電流, V:電圧, τ:電気的トルク, ω:電気的回転子角速度, K_i:積分ゲイン, Δ:離散時間系の差分値

原理はPの傾斜が0になる点を追従することで最大出力点に到達するように操作量を変化させるアルゴリズムですが,ここで微分演算を含むためこれが外乱に対する感度を高め,最大出力点近傍でSN比が著しく低下するために,信号に雑音が乗った現実の装置に於いて,直近の差分値を扱うこのアルゴリズムでは雑音の影響を受けて意図した性能を発揮できない恐れがあります.

そこで,逐次最小二乗法的に多数サンプルの信号の値を蓄積して均すことで雑音の影響を受けにくくなるように改良します.

P_L:DCL電力, I_L:DCL電流, V_L:DCL電圧

これで外乱の乗ったトルクと回転速度の観測値を逐次最小二乗法的に平滑化することでSN比の低下を防ぎ,値を蓄積することで最大出力点の情報を含む値に対する感度を高め,外乱に対する感度を低くすることでロバスト性を確保し,値の蓄積や指令値の更新を数値に基づいて可変ステップとすることにより,最大出力点から遠い場合は小刻みで急峻な制御で即応性を持たせ,最大出力点近傍では大股で高精度かつ微小な制御を行うようになりまます.

*オブザーバの離散化*

以下のようなスライディングモードオブザーバを考えます.

これを0次ホールドで適当に離散化します.

離散時間系の差分方程式に翻訳されました.

*スライディングモードのチャタリング排除*

誤差信号zを通常のスライディングモードオブザーバではスイッチング関数として符号関数を用いて計算しますが,この場合常に状態量にチャタリングノイズが重畳するため実用上不便です.そこでスイッチング関数として以下に示す関数fを用いて計算することでチャタリング発生させずに動作させます.

これによりチャタリングが発生せず,適応フィルタ的能力を持ちつつ状態量を切替超平面に拘束する事が可能です.また,z=B_1d^-1(i_s-i'^_s)とすると最小次元オブザーバと等しくなります.スライディングモードオブザーバの利点は適応フィルタ的能力を有する事により,最小次元オブザーバよりも雑音に強く,オブザーバの収束を速くする事が可能な事ですが,この利点を損ねる事無く,従来から提案されて来た手法の様な符号関数よりも変化が緩慢な関数を用いることで切替超平面からの僅かな定常的な誤差を妥協してチャタリングを回避するものとは違い,適応的に高周波成分を除去し有効な信号を抽出します.

せっかくなのでN個の多入力多出力系用に拡張します.現在水力発電で実際にオブザーバに使用しているのはこちらです.

*完全追従制御*

状態空間モデルをPWMの三角波キャリアの中心でホールドするように離散化します.

1次電流の差分方程式は以下のようになります.kはPWM周期のタイムステップです.

これをもとに,1次電流指令値i^*_s[k+1]から電圧指令値v^*_s[k]を求めます.

PWM電圧出力インバータよりv^*_s[k]を出力すると,PWM周期でノミナルプラントの1次電流が指令値に一致し,完全追従制御が成立します.

実際のインバータではPWMキャリア周波数を固定値とすると耳障りな甲高い騒音が発生するので,ある周波数帯域内でランダムにスペクトルを分散させることで騒音を和らげます.

*2相変調法*

PWMで3相の正弦波をそのまま出力しようとすると電圧利用率が悪いので,同相信号を重畳して電圧利用率を改善します.その同相信号を工夫すると変調率に関係なく常に1相が飽和状態となり,常に3相で変調する場合と比較してスイッチングロスを低減させることが可能です.

変調率Vの3相の変調信号m_u, m_v, m_wを

とします.同相信号cを

とし,変調信号に重畳します.

以下に波形の例を示します.

V=1.0

V=0.9

V=0.5

V=0.1

このとき,重畳されている信号cは同相なので,常に各相の線間電圧は正弦波となります.また,正弦波をそのまま出力する場合の2/√3倍の電圧を利用できます.

ただし,筆者のVVVFインバータで使用しているIGBTモジュールのように,ブートストラップ回路でハイサイド制御用の電源を作る方法では,ハイサイド側を飽和状態で維持することが不可能です.そのため同相信号c'を

とし.常に3相でスイッチングしています.飽和状態を維持可能なハイサイドゲートドライブ回路は各相個別の絶縁電源が必要となり,コストアップの要因です.そのため損失を妥協し,安価なブートストラップ回路によるハイサイド制御用の電源としました.

#最大効率追従制御 #増分コンダクタンス法 #スライディングモード #離散化 #チャタリング #完全追従制御 #変調法 #PWM #ベクトル制御 #インバータ

この記事が気に入ったらサポートをしてみませんか?