実習のモデル
回転子座標での固定子方程式は L_d·di_d/dt = v_d − R·i_d + ω_e·L_q·i_q、L_q·di_q/dt = v_q − R·i_q − ω_e·(L_d·i_d + λ_m)、ω_e = p·ω_m です。トルクは T_e = 1.5·p·(λ_m·i_q + (L_d − L_q)·i_d·i_q) で、L_d = L_q の表面磁石形では 1.5·p·λ_m·i_q になります。つまりトルクは i_q だけで決まります。軸は J·dω_m/dt = T_e − B·ω_m − T_L に従います。
2 つの電流制御器は 10 kHz、速度制御器は 1 kHz で動きます。電圧ベクトルは半径 V_dc/√3 の円の中に制限します。これは空間ベクトル変調が過変調なしで出せる最大の正弦波電圧です。d 軸を優先し、i_q* は ±20 A に制限します。
なぜ Kp = L·ω_bw、Ki = R·ω_bw なのか
逆起電力の項を除くと、v_q から見た q 軸電流は 1/(L·s + R) の 1 次系です。PI 制御器 Kp + Ki/s は Ki/Kp に零点を持ちます。この零点をモータの極 R/L に置くと極が打ち消され、開ループは Kp/(L·s)、つまり交差周波数 Kp/L の積分器になります。ループを閉じると帯域 ω_bw = Kp/L の 1 次応答となり、10–90 % 立ち上がり時間は 2.2/ω_bw です。
この結果は連続時間の制御器を前提としています。500 Hz のプリセットで演算遅れを切ると、測定した立ち上がり時間は理想値の約 20 % 以内に入り、残りの差は 10 kHz サンプリングそのものによるものです。遅れを戻すとループに 100 µs 1 周期分の遅れが入り、応答が速くなって小さなオーバーシュートが出ます。1 kHz ではオーバーシュートが 50 % 前後になり、1.4 kHz のプリセットでは電流が 1 ms 以上振動します。1 サンプル遅れのある離散ループは、比例ゲインだけの場合 Kp·T_s/L が 1 に達すると不安定になり、ここでは帯域約 1.6 kHz に相当します。実際の電流ループ帯域をサンプリング周波数のおよそ 1/10〜1/20 にすることが多いのはこのためです。
非干渉化と電圧制限
ω_e·L_q·i_q と ω_e·(L_d·i_d + λ_m) の項が 2 つの軸を結びつけ、どちらも速度に比例して大きくなります。フィードフォワードがないと、q 軸の積分器が逆起電力をすべて自分で積み上げる必要があり、i_q を変えるたびに i_d が乱れます。回転速度を 1000 rpm に固定し、i_q にステップを与えて非干渉化を切り替えてみてください。切ると、ステップの間 i_d がゼロから外れ、q 軸積分器が逆起電力を抱えます。v_d,ff = −ω_e·L_q·i_q と v_q,ff = ω_e·(L_d·i_d + λ_m) を加えると結合の大部分が消え、PI 制御器は調整の前提とした R と L の動特性だけを相手にすれば済みます。
48 V ではインバータが出せる電圧ベクトルは約 27.7 V で、逆起電力 λ_m·ω_e は 1000 rpm ですでに 21 V に達します。速度モードで 1500 rpm を指令すると、速度が届く前に電圧のグラフが制限線に当たり、ゲインをどう変えてもモータはベース速度付近から上がりません。実際のドライブは i_d を負に流して鎖交磁束を減らす弱め界磁制御でこの点を越えます。この実習は弱め界磁をモデル化せず電圧を飽和させるだけですが、制限がなぜあるのかを見るには十分です。
速度ループと電流ループを離す
速度制御器は、電流ループが i_q* を即座に実現するものとして設計します。電流ループが十分速いときだけ成り立つ仮定です。速度ループのプリセットは 500 Hz の電流ループに 200 Hz の速度交差周波数を重ねたもので、比は 2.5 です。このモデルでは速度のオーバーシュートが約 17 % から約 34 % へとほぼ倍になり、ステップ中に i_q* が 20 A の制限に当たります。増えたオーバーシュートの一部は電流ループの遅れから、一部はこの電流制限から来ます。比は 5〜10 にするのが一般的です。速度積分器の零点はここでは交差周波数の 1/4 に置いており、負荷トルクをどれだけ速く抑えるか、大きなステップ後のオーバーシュートの大きさを決めます。
試してみること
Ki_i を 10 分の 1 にすると、i_q は指令の少し手前で止まってからゆっくり追いつきます。零点が極を打ち消せず、遅い尾が出たためです。i_q ステップを 10 A に大きくすると電流はほぼ直線的に上がりますが、これはゲインではなく電圧ベクトルの飽和によるものです。速度モードで負荷トルクを 2 N·m にすると、i_q は約 6.7 A に落ち着きます。i_q 1 A あたり K_t = 0.3 N·m のトルクが出るためです。これらの数値はこのモータモデルのもので、実際のモータでは変わります。
参考文献
R. Krishnan, Permanent Magnet Synchronous and Brushless DC Motor Drives, CRC Press, 2010. N. Mohan, Advanced Electric Drives: Analysis, Control and Modeling Using MATLAB/Simulink, Wiley, 2014. 本サイトの関連ページ:Clarke・Park 変換、SVPWM、制御ブロック図、PID コード生成器、PI 離散化ツール。
アニメーションはこのページに示した式どおりに描いています。教科書やソフトウェアライブラリによって規約が異なるので、数値を比べる前に使っているコードの規約を確認してください。