seegongsik
SC · 制御

進み・遅れ補償

補償器は、極一つと零点一つでできた小さな伝達関数をループに挟み、ボード線図の位相とゲインを望みの形に変えます。進み補償器は零点を極より原点の近くに置いて交差周波数の近くで位相を持ち上げ、位相余裕を大きくし、遅れ補償器は極を零点より原点の近くに置いて低い周波数のゲインを大きくし、定常偏差を減らします。この講では進み補償器の位相の山を交差周波数の近くに乗せ、薄かった位相余裕をよい値まで引き上げる過程を確かめます。

進み補償で位相余裕を引き上げる

F1 ~ F4 ユニットと同じプラントにゲイン 2 をかけた開ループ L(s) = 2·C(s)/(s(s + 1)(s + 2)) のボード線図です。上はゲイン(dB)、下は位相(度)で、灰色の点線は補償前(C = 1)、金色の実線は進み補償器 C(s) = (1 + αTs)/(1 + Ts) を加えた後です。補償前の位相余裕は約 33° で、目標の 45° に届きません。α を大きくすると零点と極の間隔が開いて位相に山が立ち、その山の最大の高さは φ_max = asin((α − 1)/(α + 1)) です。中心周波数 ω_m を動かしてその山を金色の点、つまりゲインが 0 dB を横切る交差周波数の近くに乗せると、その場所で位相が持ち上がって位相余裕が大きくなります。たとえば α = 4、ω_m = 1.5 なら位相余裕は約 53° になり、二つのつまみで 45° ~ 60° の間を探せます。

利得 (dB) · 点線 補償前, 実線 補償後
位相 (度) · 金色の縦の点線が ω_m の位置。山を交差周波数に合わせます
α (零点・極の間隔比)1.0
中心周波数 ω_m1.50
補償器と位相余裕
α = 1.0 · ω_m = 1.50 · φ_max = 0°
PM: 33° → 33° · ゲイン交差 ω = 0.75
位相余裕はまだ 45° に届いていません。進み補償器の位相の山が低すぎるか、交差周波数から外れています。α を大きくすると山が高くなり、ω_m を交差周波数の近くへ動かすとその場所で位相が持ち上がります。補償器が加えたゲインのせいで交差周波数が少し右へずれるので、ω_m もその分いっしょに合わせる必要があります。
余裕が薄い (補償不足)

極一つ、零点一つで位相を作る

進み補償器は C(s) = (1 + αTs)/(1 + Ts)、α > 1 の形で、零点を s = −1/(αT) に、極を s = −1/T に置きます。零点が極より原点に近いので低い周波数で先に働き、二つのコーナー周波数の間で位相が正に持ち上がります。ボード線図で見ると、零点で位相が +90° まで上がろうとするところを極が再び引き下げるので、二つのコーナーの幾何平均 ω_m = 1/(T√α) で位相が最大になります。その最大値は間隔比 α だけで決まって φ_max = asin((α − 1)/(α + 1)) で、α = 4 なら約 37°、α = 10 なら約 55° です。α が大きいほど山は高くなりますが、同じ ω_m で補償器のゲインも √α 倍上がるので、進み補償は位相を借りる代わりに高周波のゲインを差し出す取引です。

観察進み補償器が位相を持ち上げる場所: 交差周波数
進み補償器は交差周波数の近くで位相を持ち上げ、位相余裕を大きくします。
選ぶ最大位相 φmax を決めるもの: ?
最大位相 φmax = asin((α − 1)/(α + 1)) は間隔比 α だけで決まります。
空欄定常偏差を減らすには ? 補償器
遅れ補償器は低い周波数のゲインを大きくして定常偏差を減らします。
自分で進みは高周波ゲインを上げるので増幅するもの: ?
進みは高周波のゲインを上げて雑音を増幅します(微分項と同じ弱点)。

遅れ補償は鏡像だ

遅れ補償器も形は同じですが α < 1 なので、極が零点より原点に近くなります。今度は位相がわずかに負へへこみ、その代わり低い周波数から高い周波数へ行くにつれてゲインが α 倍に下がります。言い換えれば、高い周波数を基準に低い周波数のゲインを 1/α 倍高めることになるので、ループゲインを 1/α 倍上げても交差周波数付近のゲインはそのままにでき、大きくなった直流ゲインが F5 ユニットで見た定常偏差を減らします。位相がへこむ損は、二つのコーナーを交差周波数よりずっと低いところに置いて避けます。交差周波数に着くころには位相のへこみがほぼ 0 に戻り、位相余裕をほとんど損なわないからです。進みが微分項のように位相と速さを加えるなら、遅れは積分項のように低い周波数のゲインを加えて偏差を減らし、二つを組み合わせて使うのが進み遅れ補償です。

回路で作る補償器、そしてその限界

補償器の魅力は、極一つと零点一つで済むので、演算増幅器と抵抗、コンデンサをいくつか使えばすぐに回路になるところにあります。進み補償器は微分器に似ていますが、極のおかげで高周波のゲインが α 倍で頭打ちになり、純粋な微分が雑音を限りなく大きくする問題がやわらぎます。実は、実用の PID と進み遅れ補償は近い間柄です。積分項は原点に置いた極(遅れの極端な場合)であり、微分項にフィルタを付けたものが進み補償器なので、二つは同じ仕事を違う言葉でしているわけです。時間領域で三つのゲインを選ぶのが PID の調整で、周波数領域で極と零点を置いてボード線図の形を整えるのが補償器の設計です。限界もはっきりしていて、進みは高周波のゲインを上げるので雑音と飽和に弱く、遅れは遅い極を加えるので整定時間を長くします。そのため、位相は進みで借り、正確さは遅れで補い、どちらも本当に必要な分だけ使うのが設計のこつです。

最初の画面に戻ると

最初の画面では、位相余裕が約 33° しかなかった開ループに進み補償器を加えました。α を上げて位相に山を立て、中心周波数 ω_m をゲインが 0 dB を横切る交差周波数の近くへ動かすと、まさにその場所で位相が −180° から遠くへ持ち上がり、位相余裕がよい値まで上がりました。補償器は極一つと零点一つだけで、ボード線図の位相を望みの場所で引き上げたのです。進みが位相を借りて速さと安定を加えたなら、遅れは低い周波数のゲインを加えて正確さを補います。F3 ユニットで読むだけだった位相余裕を、いまや補償器を設計して自分で作り出したわけです。

補償器 C(s) = (1 + αTs)/(1 + Ts) は、極一つと零点一つで開ループのボード線図の形を整えます。進み補償(α > 1、零点が原点により近い)は ωm = 1/(T√α) で位相を φmax = asin((α − 1)/(α + 1)) だけ持ち上げて位相余裕を大きくします(微分項のように速さと安定を加えますが、高周波のゲインが α 倍まで上がって雑音を大きくする)。遅れ補償(α < 1、極が原点により近い)は低い周波数のゲインを相対的に 1/α 倍大きくして定常偏差を減らします(積分項のように。二つのコーナーを交差周波数より低く置いて位相の損失を避ける)。位相の山を交差周波数に合わせることが設計の要で、実用の PID と進み遅れ補償は同じ仕事を違う言葉でする間柄です。
次のユニットへ

遅れ補償器は低い周波数のゲインを大きくして定常偏差を減らすと述べましたが、その偏差は正確には何で決まるのでしょうか。次のユニット 定常状態誤差 では、開ループが原点にもつ極の数、つまりシステムの型(0 型、1 型、2 型)が、ステップ、ランプ、放物線の入力に対する最終的な偏差をどう決めるのかを扱います。位置偏差定数 Kp、速度偏差定数 Kv、加速度偏差定数 Ka がそれぞれその偏差を決め、原点の極一つが一種類の入力に対する偏差をまるごと 0 にします。遅れ補償器が直流ゲインを大きくしてしたことと、積分項が原点に極を加えてしたことが、そこで一枚の表にまとめられます。