PID制御でオフセットの自動補正方法

2019年4月4日 - 未分類

PID制御で、安定状態において、設定値と現在値とに僅かな差がでることがあります。

定常偏差とか、オフセットと呼ばれます。オフセットがで出る原因は、温度制御の場合、周囲の温度が低くて、温めても温めても、すぐに冷やされてしまうとか、加熱対象が大きすぎたり、小さすぎたりする場合や、設定値を変更したなどです。

通常は、PIDのIパラメータを調整して、オフセットを少なくするのですが、設定値によって、パラメータを変更しなければならないのは面倒です。

そこで、自動的にオフセットを修正する方法を考えてみました。

アルゴリズム

1.制御が安定状態に入った時のオフセット量を測定する

2.オフセット量分を設定値に上乗せして、仮想的な設定値を作り、これに合うようにPID制御を行う

先ず最初に、制御が安定状態に入ったことを検出しなければなりません。安定状態検出には、温度変化の標準偏差が閾値以下になることで検出します。

安定状態になっていれば、設定値と現在値の平均値の差を誤差として、

誤差=平均設定値ー平均現在値

仮想設定値=設定値+誤差

として、仮想設定値に対して、PID制御を行います。しかし、これでは、誤差が大きい場合にハンティングが起こり、なかなか収束しないことがあります。そこで、

仮想設定値=設定値+0.25X誤差

として、徐々に仮想設定値が変化するようにします。

1分に1度、仮想設定値を更新するようにした結果、オフセットをゼロにすることができました。グフラフで赤が現在温度、黄色が設定温度です。赤線と黄線が完全に重なっています。

 

自動補正のメリットとしては、PIDパラメータの値が小さくても、設定値と現在値が合致するということです。PIDパラメータ調整の手間が少なくなります。

様々な状況下で、オフセットの自動補正方法が機能するか試してみたいと思います。

この方法は、非常にうまくいきました。定式化してみました。以下のリンクからPDFファイルをダウンロードして御覧ください。

PID制御方法の改良方法

 

 

Translate »