考えてみよう
制御盤の温度調節器は、扉を開け閉めして庫内の温度が下がっても、しばらくすると
また設定温度にぴたりと戻っている。インバータで動くモータも、負荷がかかって
回転数が落ちそうになると、勝手に出力を上げて速度を保とうとする。
誰も操作していないのに、なぜこの装置たちは「ずれたら、自動で戻す」ことができるのか。
一方で、タイマーで時間だけを決めて動く装置は、同じ「自動」でもこの戻す力を持たない。
両者の違いはどこにあるのか。
このトピックを読み終えるころには、制御盤の中の機器を見て、それが
「測って→比べて→直す」というフィードバックの輪を持っているかどうかを、
その場で見抜けるようになっている。
種明かしは、制御には出力を測って目標値と比べ直す仕組みを持つもの(フィードバック制御)と、
それを持たないもの(開ループ制御)の2種類がある、という区別にある。
開ループ制御とフィードバック制御 — 「測って比べる」ループの有無
タイマーで一定時間モータを回して止める、あらかじめ決めたパターンで照明を点滅させる——
こうした制御は、出力(実際にどう動いたか)をまったく測定していない。決めた手順を
順番に実行するだけなので、開ループ制御と呼ばれる。手順どおりに動く保証はあるが、
負荷変動や外乱があっても、それに応じて動作を修正することはできない。
これに対してフィードバック制御は、制御量(実際の出力)を検出部で測定し、
目標値と比較部で比較して偏差(目標値と実際の値のずれ)を求め、その偏差を
なくす方向に調節部・操作部を動かす。この「検出→比較→操作」のループが、
外乱があっても自動的に目標値へ近づけていく力の正体だ。
「自動で動く」ことと「フィードバックがある」ことは別の概念だ。タイマーで動く装置も
立派に自動化されているが、出力を測定して比較するループを持たなければ開ループ制御にすぎない。
見分けるポイントは、常に「出力を測定して目標値と比較しているか」の1点に絞られる。
フィードバック制御系の構成とブロック線図
フィードバック制御系は、次の要素で構成される。
- 目標値:制御量をどうしたいかという設定値
- 検出部:制御量(出力)を測定するセンサ
- 比較部:目標値と検出値の差=偏差を求める部分
- 調節部:偏差に応じて操作量を計算する部分(コントローラ)
- 操作部:実際に制御対象を動かすアクチュエータ
- 制御対象:温度・速度・圧力など、制御したいプロセスそのもの
- 外乱:制御対象に外から加わる、望まない影響
制御対象までの一巡りの利得(伝達関数)をG、検出部の伝達率をHとすると、
目標値から制御量までの全体の利得(閉ループ利得)は次の式で表される。
1+GHG
分母に+GHが加わっているのは、偏差=目標値-検出値という引き算の構造(負帰還)を
持つためだ。検出した値をそのまま目標値から差し引いて次の操作を決めるので、
単独の利得Gよりも全体の利得は小さくなり、これが制御系を安定側に働かせる。
例題
単位フィードバック(H=1)のフィードバック制御系で、制御対象の利得がG=9のとき、
全体の閉ループ利得はいくらか。
1+GHG=1+99=109=0.9
検算には$H=0$を代入するとよい。フィードバックが無い(検出していない)状態と同じになるので、
式は$G/(1+0)=G$、つまり開ループのGにそのまま戻るはずだ。閉ループ利得の式が
$G/(1+GH)$であることの妥当性は、この極端なケースで確かめられる。
フィードフォワード経路が加わったブロック線図の合成
実際のブロック線図は、G/(1+GH)の単純な1経路だけとは限らない。制御対象へたどり着く
前に、外乱や目標値の情報を先回りして加えるフィードフォワード経路が、フィードバックの
主経路と並列に加わることがある。経路が増えると式が急に複雑に見えるが、考え方は変わらない。
信号が分岐・合流する点を1つずつ、入力側から順に追っていくだけでよい。
自作の簡単な例で確認しよう。前向き経路に要素G1とG2が直列に入っており、G1と並列に
フィードフォワード経路(利得Gf)が加わって、G2の手前の合流点で合流するとする。
フィードバックは単位フィードバック(H=1)とする。
- 最初の合流点(偏差):目標値Rから、検出したフィードバック分H⋅Cを引く。
E=R−HC
- 2番目の合流点(フィードフォワードとの合流):G1を通った信号と、Gfを通った
フィードフォワード信号が、同じ点で足し合わされる。
G1E+GfE=(G1+Gf)E
ここがポイントだ。並列に入った2つの経路は、同じ合流点で単純に足し算すればよい。
- 出力までの直列要素:合流した信号にG2が直列に掛かって出力Cになる。
C=G2(G1+Gf)E
ここまでで分かるのは、G1とGfをまとめた(G1+Gf)とG2の積、つまり
G2(G1+Gf)が、入力側から見た「等価な前向き利得」になっているということだ。
これをGeqと呼べば、あとは1章で使った公式にそのまま乗せられる。
E=R−HC,C=GeqE⇒RC=1+GeqHGeq
例題
G1=2、G2=3、Gf=1、H=1のとき、全体の閉ループ伝達関数を求める。
Geq=G2(G1+Gf)=3×(2+1)=9
RC=1+GeqHGeq=1+99=0.9
経路がいくつ増えても、手順は同じだ。①合流点ごとに信号を足し合わせて、入力から出力までの
「等価な前向き利得(合成G)」を1つにまとめる。②その合成GをG/(1+GH)のGへそのまま代入する。
公式を捨てて微分方程式から解き直す必要はどこにもない。
合流点にマイナスがあるケース — 外乱が引き算で加わる系
ここまでの合流点はどれも足し算だった。だが実際の制御系には、ある信号が別の信号から
引き算の形で合流するケースも登場する。もっとも基本的な例は、これまでも使ってきた
E=R−HC(目標値から検出値を引く)そのものだが、ここではもう一歩進んで、外乱が
引き算で加わる系を自作の簡単な例で見てみよう。
前向き経路に調節部G1と制御対象G2が直列に入っており、G1とG2の間の合流点に、
制御対象の動きを妨げる向きの外乱Dが引き算の形で加わるとする。フィードバックは
単位フィードバック(H=1)とする。
- 最初の合流点(偏差):これまでと同じく、目標値Rから検出値Cを引く。
E=R−C
- 2番目の合流点(外乱との合流):G1を通った信号から、外乱Dが引き算の形で
差し引かれる。
G1E−D
足し算の合流点のときと手順は同じだ——ただ、この経路にはマイナスの符号を
つけたまま代数的に足し合わせる、というだけの違いしかない。
- 出力までの直列要素:合流した信号にG2が直列に掛かって出力Cになる。
C=G2(G1E−D)=G1G2E−G2D
E=R−Cを代入してCについて整理すると、次の式が得られる。
C(1+G1G2)=G1G2R−G2D⟹C=1+G1G2G1G2R−1+G1G2G2D
この式は、出力Cが目標値Rによる項と外乱Dによる項の和になっていることを
示している。線形な制御系ではこのように、重ね合わせの原理を使い、片方の入力を
0とみなしてもう片方だけの伝達関数を求める、という手順に分解できる。
- 外乱D=0とみなしたときの目標値応答:RC=1+G1G2G1G2
(通常のG/(1+GH)と同じ型)
- 目標値R=0とみなしたときの外乱応答:DC=−1+G1G2G2
(合流点のマイナス符号がそのまま分子の符号に反映される)
例題(自作の数値例)
G1=5(調節部)、G2=2(制御対象)、H=1(単位フィードバック)の系で、
目標値応答・外乱応答それぞれの伝達関数を求める。
RC=1+G1G2G1G2=1+105×2=1110≈0.909
DC=−1+G1G2G2=−1+102=−112≈−0.182
たとえばR=10、D=1が同時に加わった場合の出力は、2つの項を足し合わせて
C≈0.909×10+(−0.182)×1≈9.09−0.18=8.91と求まる。
合流点にマイナスが加わっても、やることは足し算の合流点と変わらない——その経路の
信号に負の符号をつけたまま、代数的に足し合わせるだけだ。目標値と外乱のように性質の
異なる複数の入力がある系では、重ね合わせの原理を使い「外乱を0とみなして目標値応答を
求める」「目標値を0とみなして外乱応答を求める」の2段階に分けて計算すると、式を
混同しにくい。外乱応答の伝達関数の符号がマイナスになるのは、合流点で引き算されている
ことがそのまま反映された結果であり、計算ミスではない。
P・I・D — 3つの動作が担う異なる役割
調節部の代表的な動作が、比例(P)・積分(I)・微分(D)の3つで、これらを組み合わせたものが
PID制御だ。
- 比例動作(P):偏差の大きさにそのまま比例して操作量を出す。応答は速いが、
負荷が変わり続ける状況では偏差がゼロになりきらず、定常偏差(オフセット)が残ることがある。
- 積分動作(I):偏差を時間で積分(足し込み)した量に比例して操作量を出す。
偏差が残っている限りずっと出力を増やし続けるため、最終的に定常偏差をゼロに近づけることができる。
ただし応答が遅れがちで、行き過ぎ(オーバーシュート)や振動を招くことがある。
- 微分動作(D):偏差の変化の速さに比例して操作量を出す。急激な変化に素早く反応するため、
応答を速め、行き過ぎを抑える働きを持つ。一方でノイズの影響を受けやすい。
PとIとDの役割は、名前が示す数学的な操作から辿ると取り違えにくい。積分(I)は
「偏差が続く限りずっと足し算され続ける」ので、偏差がゼロになるまで動作をやめない
=定常偏差を消す。微分(D)は「変化の速さ」に反応するので、急な変化に素早く反応する
=応答を速め、行き過ぎを抑える。丸暗記せずこの理屈で覚えれば逆転しない。
なぜ制御盤の中でPID制御が使われているのか
制御盤の温度調節器(TIC)は、庫内温度という制御量を熱電対などで検出し、設定温度との
偏差をPID演算にかけてヒーターの出力を調整している。比例動作だけでは扉の開閉のような
外乱のたびに温度がわずかにずれたままになるが、積分動作が加わることで最終的に設定温度へ
ぴたりと戻る。微分動作は、急な温度変化に対する応答を速め、行き過ぎを抑える役割を担う。
インバータの速度制御ループも同じ構造だ。モータの実際の回転数を検出し、指令速度との
偏差をPID演算で処理して出力周波数を調整することで、負荷変動があっても目標の回転数を
保ち続けている。
ボード線図 — 周波数によってゲインがどう変わるかを折線で見る
制御系の性質は、時間の経過だけでなく「入力の周波数を変えたとき、出力がどう追従するか」
という周波数特性でも評価される。これをグラフにしたものがボード線図で、横軸に
角周波数ωの対数、縦軸にゲイン(利得)をdB(デシベル)で取る。
制御系でよく登場する一次遅れ要素を例に考えよう。伝達関数は次の形をしている。
1+jωT1
Tは時定数だ。このゲイン(dB表示)は次の式で求められる。
20log101+jωT1=−20log101+(ωT)2
この式を毎回計算するのは大変なので、実務では次の折線近似で概形をつかむ。
- ωT≪1(折れ点より低い周波数):1+(ωT)2≈1となるので、
ゲインはほぼ0dB一定。低い周波数の入力には、ほぼそのまま追従する。
- ωT≫1(折れ点より高い周波数):1+(ωT)2≈ωTと
近似でき、ゲインはωが10倍(1デカード)増えるごとに-20dBずつ下降する
(-20dB/decadeの傾き)。高い周波数の入力には追従しきれなくなっていく。
この2本の直線が交わる点を折れ点角周波数と呼び、ωT=1、つまり
ω=T1
で求められる。
例題
時定数T=0.1sの一次遅れ要素のボード線図を、折線近似で描く。
折れ点角周波数はω=1/T=1/0.1=10rad/s。したがって、
10rad/sより低い周波数ではゲインはほぼ0dBで横ばい、
10rad/sを超えると−20dB/decadeの傾きで下降していく。
たとえば1デカード上の100rad/sでは約−20dB、
2デカード上の1000rad/sでは約−40dBまで下がる。
折れ点角周波数は「$\omega=T$」ではなく「$\omega=1/T$」という**逆数**の関係である点に
注意したい。また折線近似はあくまで概形をつかむための近似で、折れ点そのものの実際の
ゲインは0dBぴったりではなく約$-3\,\text{dB}$($\sqrt{2}$分の1)とわずかにずれる。
とはいえ試験で問われるのは主に「折れ点の位置」と「傾きの大きさ」なので、
$\omega=1/T$と$-20\,\text{dB/decade}$の2点を押さえておけば十分に対応できる。
ベクトル軌跡(ナイキスト線図)— 複素平面上でゲインと位相を一度に見る
ボード線図は、ゲイン(大きさ)と位相を別々の2枚のグラフに分けて表す。これに対し
ベクトル軌跡(ナイキスト線図)は、一巡伝達関数G(jω)を、ωを0から∞まで
変化させながら複素平面上に1本の曲線としてプロットしたものだ。曲線上のある1点の
位置が、その周波数での「大きさ(原点からの距離)」と「位相(実軸となす角度)」を
同時に表している。
一次遅れ要素にゲインKが掛かったG(jω)=1+jωTKの形を例に、
軌跡がどんな曲線を描くか追ってみる。
- ω=0:G(j0)=K(実軸上の点(K,0))。位相は0°
- ω=1/T(折れ点角周波数):分母の実部と虚部の大きさが等しくなるため、
位相はちょうど−45°、大きさはK/2
- ω→∞:分母が限りなく大きくなるため、G(jω)→0(原点に収束)。位相は−90°に近づく
実部・虚部に分けて整理すると、
G(jω)=1+jωTK=1+(ωT)2K−j1+(ωT)2KωT
虚部の符号が常に負であることから、軌跡は実軸より下側(第4象限)にだけ現れる。
この式は、実軸上の(0,0)と(K,0)を直径の両端とする、半径K/2の半円を描く——
ω=0で実軸上の(K,0)から出発し、ωが大きくなるにつれて下側へ弧を描きながら、
ω→∞で原点(0,0)に収束する。
例題(自作の数値例)
G(jω)=1+jω×0.210のベクトル軌跡を考える。
- ω=0:G(j0)=10(実軸上の点(10,0))
- 折れ点角周波数ω=1/T=1/0.2=5rad/s:位相−45°、大きさ10/2≈7.07
- ω→∞:原点(0,0)に収束
実軸上の(0,0)と(10,0)を直径とする、下側(第4象限)に膨らむ半円を描く。
ベクトル軌跡の出発点(ω=0)は必ずボード線図の低周波ゲイン(ほぼ0dB一定の領域の値)と
一致し、収束点(ω→∞)はボード線図の高周波でゲインが下がりきった先(0に近づく)と
対応している。ボード線図とベクトル軌跡は、同じ周波数特性を「2枚のグラフ」で見るか
「1枚の複素平面」で見るかの違いにすぎず、どちらか一方の要点(低周波・高周波での挙動、
折れ点での位相-45°)が分かれば、もう一方もそのまま流用できる。
冒頭の問いかけ——「なぜ装置は、ずれたら自動で戻せるのか」の答え合わせは、
理解度チェックの最後の問題でしてみよう。