ASCASO社のエスプレッソマシンについてマニュアル和訳を勝手に進めています

tomatojuicer222's diary

ASCASO社のエスプレッソマシンについてマニュアル和訳を勝手に進めています→ http://tomatojuicer222.hatenablog.com/entry/2014/11/19/121242

05.PID制御の基本

ascaso steel pid のマニュアルを和訳する1人プロジェクトの第5章。

PIDとは、アスカソ製品に限らず広く普及する温度調節機構である。その原理を、アスカソ製品を使いこなすのに最低限必要と思われる程度に解説する。

 他のマニュアル類はこちらから

ascaso steel pid マニュアル和訳プロジェクト - tomatojuicer222's diary

 

簡単に言うと、
・P=計測値(センサーが測る現在温度)と目標値(設定温度)の差
・I=上記偏差の時間積分
・D=計測値の微分
の三項目を元に出力を決定して、素早く正確に目標値に近づける制御。

通常のヒーターはON/OFFしかできないけど、PID制御下のヒーターにはOFFから最大出力まで連続的に出力を変えられるアナログなつまみと、それを完璧に操れるバイト君がついてる感じ。

・P制御
目標温度までまだまだ差が大きい場合ヒーターはフル出力で温めればよい。しかしあとほんのちょっとで目標温度って時までフル出力だと、目標温度に達してからも余熱で温度は上がってしまう。そこで今度はヒーターをOFFにして温度が下がるまで待つわけだが、ここでも目標温度以下まで冷めてから再度ONにしたって、温まるまでのタイムラグで温度は下がりすぎてしまう。
そこで目標値にある程度近づいたら、温度上昇にあわせて少しずつヒーターの出力を下げていく。ちょうど目標温度付近でヒーター出力と自然に冷める熱がつりあえば、理論上目標温度をキープできる。目標温度を超えた場合も完全にOFFにするのではなく、やはり少しずつ出力を下げていく。こうすれば常時フル出力の場合より目標温度になるまで時間はかかるものの、一旦目標温度に到達すればあとは安定して温度をキープできる。このように目標温度との差に比例して出力を変化させる。これが「P制御」。

 

・I制御

P制御だけでは、例えばP制御の出力レベルを設定した日よりすごく寒い日があると問題が起こる。つまり自然に放熱する熱が大きすぎて、いつまでたっても目標温度に到達しない問題である。そこで、1分たっても目標温度に達しない場合、出力をちょっと強くしよう!と判断する。P制御は「今この瞬間の目標温度との差」で出力を制御するが、今度は「目標温度との長期的な差」で判断する。これが「I制御」。

 

・D制御

さて、P制御で自然の放熱とヒーターの出力はばっちり釣り合うはず。I制御も取りいれたので外部環境の変化にも自動で対応してくれる。ところがこれでもまだ弱点がある。P制御(PI制御も含む)では基本的に目標値から離れるほど強く、近づくと弱く出力する。そもそもの思想が、時間はかかってもいいから行きすぎないように温度を安定させよう!なのである。

急にガッと冷やされた場合、急にガッと出力をあげた方がよいのは明らか。同じく急に温度が上がりすぎた場合、いきなり出力OFFにしてよいはず。そうして目標温度付近に近づいたら、あらためて通常のPI制御に戻ればよいってわけ。このように変化の急さ、つまり「(目標温度ではなく)直前の温度との差」をみて出力を判断する。これが「D制御」。

 

********************************


次に、一般的なPID各値の設定方法を紹介する。
(あくまで一般的なPID制御でのパラメータ設定であり、アスカソ機に搭載されているPIDはちょっと別物っぽい)

(そしてネットで集めた専門的な説明を噛み砕いた例なので、ところどころ正確じゃなさそう。家庭用マシンの設定程度ならいいかもしれないけど、工学系の学生がテストで書いたら0点、程度の雑な解釈なので注意。)


P値(%)
P値はヒーターのMAX性能に対して、何パーセントの範囲でP制御を行うか設定する。
出力範囲が0-400℃のヒーターの場合、P値に5%を設定すると、設定温度の周辺20℃(400×0.05)の範囲がP制御によるゆるやかコントロールになる。設定温度が100℃なら90℃-110℃の範囲。90℃以下ならフルパワーで温めるし、110℃を超えると完全OFFになる。
P値を大きくすると、PID制御範囲が広くなる。反対にフルパワーで働く区間は狭くなるため、目標温度への到達時間はかかるが、一旦決まったら温度は安定する。
P値を小さくすると、PID制御範囲は狭くなる。つまりフルパワーで働く区間が長くなるため、目標温度への到達時間は短くなるかわりに。数度単位のブレがなかなか消えない。ブレをどこまで減らしたいか?という点をよく考慮してP値を決める必要がある。


I値(秒)
I動作は、補正に何秒かけるかを設定する。
目標温度100℃に対して、P動作のみで温度99℃で安定している場合、目標温度との差(1℃)もずっと変わらない。
この差を10秒で埋めるのか、20秒かけて埋めるのか、という設定方法。
I値を大きくすると緩やかな補正がかかるため温度は安定するが、補正に時間がかかる。
I値を小さくすると急な補正がかかるため温度は安定しにくいが、短時間で補正できる。
ブレをどこまで減らしたいか?という点をよく考慮してI値を決める必要がある。


D値(秒)
D動作は、P動作の何秒分補正するかを設定する。
目標温度100℃に対して急激に温度が下がった場合、D動作はいきなり強く働く。P動作は徐々に温度の低下に気付き、出力を上げる。
10秒後にD動作に追いつくのか、20秒後に追いつくのか、という設定方法。
D値を大きくするとP動作が追いつくまでに時間がかかる、つまり急激に働くため、小さな変化にも過敏に反応でき、設定温度付近をキープしやすいものの付近でのブレは大きくなる。
D値を小さくするとP動作に戻りやすい。つまりD動作による補正量も少ないため、小さな変化に反応しにくく温度変化に弱いが、設定温度付近での安定性は高くなる。