Skip to content
RFrftools.io
Motor Control2026年3月21日9分で読める

チーグラー・ニコルズ PID 調整:ゲインへのオープンループ

プロセスゲイン、デッドタイム、時定数を使用して、チーグラー・ニコルスの PID 調整について学習します。実際のモーター制御値を使った例を紹介します。無料のオンライン計算ツール。

目次

PID チューニングが依然として重要である理由

PID コントローラーはどこにでもあります。真面目な話、リフローオーブンのサーマルループからブラシレスDCモーターの速度制御まで、あらゆるものを制御します。モデル予測制御のような新しい制御戦略が次々に登場しても、従来のPIDが依然として王様です。なぜ?動作しますし、基本的なマイクロコントローラに実装するのは非常に安価で、チューニングがうまくいくと美しく動作します。

秘訣はそのチューニングにあります。PIDの設定が適切でないと、酔っ払いの綱渡りのように振動したり、反応が非常に遅くなったりするので、手動で制御したほうがよいでしょう。誰かがゲインを推測しただけで 40°C オーバーシュートするサーマルコントローラーを見たことがあります。0201パッシブで埋め尽くされたボードをリフローさせようとする場合はあまり良くありません。

Ziegler-Nicholsオープンループ方式では、プロセスゲイン KK、デッドタイム LL、時定数 τ\tau という3つの主要なプロセス特性に基づいて、エンジニアは確実で反復可能な出発点を得ることができます。1942年から使われていますが、当て推量に頼る必要がないため、今でも使われています。1 回のテストを実行し、3 つのパラメーターを測定し、それらを数式に組み込むと、通常は 80% の達成率を示すベースラインが得られます。

オープンループのステップ応答法

ゲームプランは次のとおりです。システムをオープンループにして、アクチュエータにステップチェンジ (モータードライバーへの電圧ステップなど) をかけ、プロセス変数に何が起こるかを記録します。その S 字型の応答曲線から、3 つの重要なパラメーターを抽出します。

1つ目はプロセスゲイン KK です。つまり、入力ステップごとに得られる出力の変化量です。1ボルトあたりのRPM、デューティサイクルあたりの摂氏パーセンテージなど、システムが話す単位は何でもかまいません。ヒーターのPWMを 0% から 50% に上げて、最終的に温度が 75°C 上昇した場合、デューティ・サイクル当たり 1.5°C のプロセス・ゲインが得られます。

次はデッドタイム LL です。何かが動き始めるまでの遅延を秒単位で測定したものです。これはまったくのラグです。入力を変更しても、イライラする瞬間は何も起こりません。その後、システムが起動し、応答を開始します。デッドタイムはファストコントロールの敵です。持っている量が多いほど、チューニングはより保守的になります。

最後に、時定数 τ\tau があります。これは、最初の遅延が始まった後、最終値の約 63% に達するまでにかかる時間です。これは一次システム理論に基づいています。指数応答は、1 つの時定数を過ぎると最終値の 63.2% に達します。実際には、S カーブの変曲点に接線を引き、それが最終値線と交差する位置を確認して、応答が始まった時点まで測定します。

これら 3 つの数値を集めると、チーグラー・ニコルズが P、PI、およびフル PID コントローラーの直接式を渡します。その利点は、基礎となる物理について知る必要がないということです。それが対流損失を伴う熱質量であろうと、逆起電力ダイナミクスを伴うモーターであろうと関係ありません。ステップ応答がすべてを教えてくれます。

チーグラー・ニコルズの公式

PID コントローラー の場合、従来の開ループ調整規則は次のようになります。
Kp=1.2 τK LK_p = \frac{1.2\,\tau}{K\,L}
Ti=2LT_i = 2L
Td=0.5LT_d = 0.5L

これにより、標準形式の比例ゲイン KpK_p、積分時間 TiT_i、微分時間 TdT_d が得られます。ただし、最近のコントローラーのほとんどはパラレル (ISA) 形式を使用しているため、以下を変換する必要があります。

Ki=KpTiK_i = \frac{K_p}{T_i}
Kd=Kp⋅TdK_d = K_p \cdot T_d
PI のみのコントローラー (微分作用によって解決される問題よりも多くの問題が発生するノイズの多いシステムで有用):
KpPI=0.9 τK LK_p^{\text{PI}} = \frac{0.9\,\tau}{K\,L}
TiPI=L0.3=3.33LT_i^{\text{PI}} = \frac{L}{0.3} = 3.33L

PI 調整はより保守的であることに注意してください。比例ゲインが低く、積分時間が長くなります。これは意図的なものです。リードを補償するデリバティブ条件がないと、安定性を維持するためには少し後退する必要があります。

これらの計算式は、1/4 減衰比を目標としています。つまり、各オーバーシュートは前回よりも約 25% 小さくなります。アグレッシブですが、通常はしっかりとした出発点となります。システムを削岩機に変えなくても、それなりの速度が得られます。ほとんどのエンジニアはここからデチューニングすることになりますが、ゼロから始めるよりはずっと良いです。

使用例:DC モーター速度制御

これを具体的にしましょう。コンベヤーベルトに搭載された 24 V ブラシ付き DC モーター用の速度コントローラーを設計するとします。PWM を 0% から 20% にステップアップし、タコメータエンコーダを使用して速度を追跡します。表示される内容は次のとおりです。

ステップの 0.15 秒後にモーターが動き始めます。それがあなたのデッドタイムです → L=0.15 sL = 0.15\,\text{s}。電気時定数、機械的慣性の克服など何でもあり得ます。理由は気にしない。ただそこにあるだけだ。

速度は t=0.15+0.8=0.95 st = 0.15 + 0.8 = 0.95\,\text{s} の最終値の 63% に達しました。0.15 秒で応答し始めたので、時定数は τ=0.8 s\tau = 0.8\,\text{s} です。これはおそらく、システムの機械的慣性と粘性減衰が支配していると考えられます。

20% のデューティ・サイクルでは、最終速度は 600 RPM に落ち着きます。プロセスゲインは K=60020=30 RPM/%K = \frac{600}{20} = 30\,\text{RPM/\%} です。少なくともこの動作範囲では、直線的で素晴らしいです。

次に PID 式に代入します。

Kp=1.2×0.830×0.15=0.964.5=0.2133K_p = \frac{1.2 \times 0.8}{30 \times 0.15} = \frac{0.96}{4.5} = 0.2133
Ti=2×0.15=0.3 sT_i = 2 \times 0.15 = 0.3\,\text{s}
Td=0.5×0.15=0.075 sT_d = 0.5 \times 0.15 = 0.075\,\text{s}

並列形式への変換:

Ki=0.21330.3=0.711 s−1K_i = \frac{0.2133}{0.3} = 0.711\,\text{s}^{-1}
Kd=0.2133×0.075=0.016 sK_d = 0.2133 \times 0.075 = 0.016\,\text{s}

PIのみの制御の場合(正直なところ、実際のモーターから始めると思います):

KpPI=0.9×0.830×0.15=0.724.5=0.16K_p^{\text{PI}} = \frac{0.9 \times 0.8}{30 \times 0.15} = \frac{0.72}{4.5} = 0.16
TiPI=3.33×0.15=0.5 sT_i^{\text{PI}} = 3.33 \times 0.15 = 0.5\,\text{s}

これらは PID コントローラーのチューニング (ジーグラー・ニコルズ)計算機ですぐに確認できます。毎回手作業で計算する手間が省けます。

実際のシステムに関する実践的なヒント

PI から始めて D を追加するかもしれません。 センサーノイズは、微分項の価値よりも問題を起こすことがよくあります。微分作用によってエンコーダの量子化ノイズが 50 Hz のバズに増幅され、機械アセンブリ全体が鳴り響くのを見たことがあります。PI から始めて、安定性を確認し、より速い外乱の抑制やより厳密なトラッキングが必要な場合にのみ微分関数を追加してください。多くの場合、そうは行いません。 Ziegler-Nicholsは出発点です。 4分の1減衰法では、特にオーバーシュートが高価で危険なシステムでは、必要以上にオーバーシュートが発生する可能性があります。ほとんどのエンジニアは KpK_p を計算値から 20 ~ 30% 減らし、速度と滑らかさのバランスをとるために TiT_i を微調整します。私は普段、比例ゲインに0.7を掛けて、どんな感じになるか見てみます。後でいつでも上げることができます。 サンプルレートは重要です。 制御ループが 1 kHz で動作し、デッドタイムが 150 ミリ秒であれば、問題ありません。50 Hz では、大まかな微分作用が得られますが、あまり役に立たない可能性があります。経験則では、サンプル周期は微分時定数の少なくとも 5 ~ 10 倍速いはずです。そうしないと、サンプル間のノイズが増幅されるだけです。上記の Td=0.075T_d = 0.075 s のモーターの例では、少なくとも 7.5 ms ごと、つまり 130 Hz 以上をサンプリングする必要があります。 アンチワインドアップは重要です。 積分項では、モーターのデューティサイクルがすでに 100% になっているが、設定値がまだ高い場合など、飽和時に誤差が累積されます。アンチワインドアップ保護がないと、積分器は巻き上げを続け、誤差が最終的に逆転すると、積分項がほどけるまでに永遠に時間がかかるため、大幅なオーバーシュートが発生します。クランプや逆算を行わないと、コンベアベルトが部品を部屋のあちこちに飛ばす危険性があります。 実際の条件下で再調整 プロセス特性は、負荷、温度、電源電圧、その他多数の変数によって変化します。モーターの有効時定数は、負荷を下げると増加します。ヒーターのゲインは、周囲温度が変化すると変化します。最悪の場合の操作点で調整するか、少なくともゲインがその点でも機能することを確認してください。空という特徴付けをしたシステムは、実際に有用な処理を行っているときには、まったく異なる動作をする可能性があります。 非線形性に注意してください チーグラー・ニコルス法では、システムが操作点を中心として適度に線形であることを前提としています。アクチュエータが飽和したり、デッドバンドが大きかったり、動作条件によってプロセスゲインが大きく変化したりする場合は、ゲインスケジューリングや適応制御が必要になることがあります。1 組の PID ゲインでできることは限られています。

いつ別の方法を使うべきか

チーグラー・ニコルズでは、一次プラスデッドタイム (FOPDT) モデルを仮定しています。これは多くの工業プロセスにとってかなり良い近似値ですが、すべてではありません。ヒーター、ヒートスプレッダー、熱質量を備えたカスケード熱システムのように、時定数が複数ある複雑なシステムでは、コーエンクーンやリレーの自動調整などの方法の方が適している場合があります。Cohen-Coon は、デッドタイムと時定数の比が大きいプロセスをより適切に処理します。

プロセスが本番稼働中であるか、大きなステップによって何かが損傷するなどの理由でステップテストを安全に行えない場合は、クローズドループの識別方法またはソフトウェアの自動チューニングを検討してください。一部のコントローラーには自動調整ルーチンが組み込まれており、リレーフィードバックテストを行ってシステムを制御しながら特性評価を行います。

デッドタイムが最小で非常に高速なシステムでは、極配置やその他のモデルベースの手法を使用するとよりよい結果が得られる場合があります。しかし正直なところ、直面するであろう組込み制御の問題の 90% については、Ziegler-Nichols が少し手作業で微調整すれば問題解決に近づきます。

試してみてください

ステップ応答データを入手して、KK、LL、τ\tau を抽出し、PID チューニング計算ツールを起動してを抽出してください。PI と PID のパラメーターが計算されるので、システムに適した方法を選択できます。ブックマークしておけば、思った以上に使えます。オシロスコープのトレースをじっと見つめて、なぜコントロールループが鳴っているのか不思議に思うたびに、ここから始めることができます。

よくある質問

Ziegler-Nicholsオープンループ法では、システムにステップ入力を適用し、応答曲線を記録し、プロセスゲイン(K)、デッドタイム(L)、および時間定数 (τ). の3つのパラメーターを抽出します。これらのパラメーターは、確立された式に代入され、確実なベースラインチューニングを提供するPIDゲインが計算されます。
デッドタイム (L) は、ステップ入力が適用されてからシステムが応答を開始するまでの遅延秒数です。時間定数 (τ) は、Sカーブ応答の変曲点に接線を引き、それが最終値線と交差する場所を見つけ、応答が開始されてからの時間を測定することによって測定されます。
プロセスゲイン(K)は、システムにおける出力変化と入力変化の比率であり、ボルトあたりのRPMやデューティサイクルあたりの°Cなど、アプリケーション固有の単位で測定されます。たとえば、PWM が 50% のステップで温度が 75°C 上昇した場合、プロセス・ゲインは 1.5°C/% になります。
Ziegler-Nicholsは、測定されたシステム特性に基づいて最適なチューニングに至るまでの道のりの 80% を導く、反復可能で体系的な方法を提供します。ゲインを推測すると、激しい発振や過度なオーバーシュート (サーマルコントローラーのオーバーシュートが 40°C 以上になるなど) など、パフォーマンスが低下することがよくあります。

関連記事