ラーメン探究日記

主に自作ラーメンのブログ。経験から様々な目線で物事を捉え、その本質を探る日々。記事の内容については参考程度に流してください。でしたが反動で暫くラーメンから遠ざかります。また違う何かを見つけられる日までお持ちください。

ラーメンを自動調理できるか?E5□C 温度調節器 PID編 サーマックシュミレータを使用してみる@自動調理化【7】

STOCKER1202167_TP_V.png


ラーメン作りから脱線し、自動調理の方向に行ってしまってます。

温度調節器・サーモスタットで自由に温度調節し、自動調理出来ないか?
試している所です。


過去記事↓

電気グリル鍋+サーモスタットで自作ラーメンの自動調理化@自動調理化【3】
https://yapparimengasuki.com/blog-entry-1482.html

自動調理はできるか?E5□C 温度調節器編①@自動調理化【4】
https://yapparimengasuki.com/blog-entry-1485.html

ラーメンを自動調理できるか?E5□C 温度調節器編②@自動調理化【5】
https://yapparimengasuki.com/blog-entry-1486.html

ラーメンを自動調理できるか?E5□C 温度調節器編③@自動調理化【6】
https://yapparimengasuki.com/blog-entry-1487.html




・前回までの記事でオムロン製の温度調節器 E5□Cでも自由とは言えないまでも温度をある程度可変させる事は可能になりました。
但し、その温度変化の中で付き纏うオーバーシュート。それを改善するために生まれた方法がある。

PID制御

私のような素人では荷が重い分野なのが分かりました。

しかしながらオムロンさんの凄い所、そのPIDをシュミレーションが出来るソフトウエアを用意してありました。
PID制御があるからと言っても温調器の条件は場合により一定なんてことはあり得ません。
どんな時でも最善のポイントがある筈です。
もしくは使ってるうちに不具合や、もっと違う調整にしたいと思う時がある筈。
それには何度も実際に繰り返し加熱して確かめるしかないのか?


そのためにサーマックシュミレータがあるのかもしれません。


サーマックシュミレータ
https://www.fa.omron.co.jp/product/special/tc/thermacsimulator/


こうなったらこの温度調節器を使い倒しましょう。

・注:ここからの記事はOmron製 温度調節器の通信(RS-485等)機能を使った状態での記事になります。





PID制御とは?


PID制御のP,I,Dは以下の3つの英単語の頭文字です.

・P: Proportional 比例
・I : Integral 積分
・D: Differential 微分


PID制御(ピーアイディーせいぎょ、Proportional-Integral-Differential Controller、PID Controller)は、制御工学におけるフィードバック制御の一種であり、入力値の制御を出力値と目標値との偏差、その積分、および微分の3つの要素によって行う方法のことである。制御理論の一分野をなす古典制御論の枠組みで体系化されたもので長い歴史を持っている。フィードバック制御の基礎ともなっており、様々な制御手法が開発・提案され続けている今に至っても、過去の実績や技術者の経験則の蓄積により調整を行いやすいため、産業界では主力の制御手法であると言われている。
wikiより


自分のような素人はいきなり説明を見ても正直チンプンカンプンです。
動かしながらだんだんと理解していく必要があるのか?


私の理解もまだまだではありますが、以降、ラーメン調理という目線からPIDを書いていきたいと思います。



とりあえずサーマックシュミレータを使ってみる


ショートカット
オムロンのサイトからダウンロードできます。
ダウンロード方法は割愛しますがPIDのショートカットになっています。
設定画面
いきなり設定画面になりますが、ファイル新規から
E5□Cと通信をした状態で設定書き込みと読み込み→設定完了


実際に使用状態でロギングさせます。
IMG_1291.jpg

IMG_1292.jpg
あくまでテストなので電熱器に直で熱電対を付けてます。


ロギング前半
ロギング1
AT(オートチューニング)=目標値 98.0にしました。

開始時=(昇温時の目標値-常温)×10% +常温 25.0にしました。
(例) 昇温時の目標値= 100 ℃、常温= 20 ℃の場合 (100 - 20)×0.1 + 20 = 28

昇温時=ATと同じ値 98.0にしました。

スタートをクリックでロギング(実際の使用状態)測定が自動で始まる。


PV(赤)現在値 
SP(青)目標値 
MV(緑)操作量

上画像の一発目の制御ではSPに対して、PVがややオーバーしてるのが分かります。(オーバーシュート)
MVはE5□Cの出力と思う。目標値よりに到達前は出力100(ON状態) 目標値に到達後の瞬間出力0(OFF状態)
OFFにしたことで温度が徐々に下降し、目標値よりも低下した時にまた出力100(ON状態)になっている。


ロギング中盤
ロギング2
その後、自動で目標値が開始時の数値に切り替わり、温度が下がるまで待ってます。


ロギング後半
ロギング3
↑立ち上がりの画像ではないですが、後半の立ち上がりはオーバーシュートにならず修正されてます。
MVの出力を見てみると分かりますが、前半は0⇔100のON-OFFのみ動作だった。
しかし、後半は無段階でアナログのような出力になってます。こんな滑らかな出力が可能なのか?
これを可能にするのが・・・


時分割比例動作


リレーはON(100%)/OFF(0%)しか出力することができません。
しかしPID制御は0~100%の操作量を出力します。時分割比例動作は操作量に時間のパラメータ(制御周期)を加え、ON/OFFの出力で0~100%の出力を可能にした出力方式です。制御周期(秒)×操作量(%)の間出力をONし、残りの制御周期の間出力をOFFすることにより0~100%の中間の操作量を出力することができます。
出力は制御周期の間に1回しかON/OFFしないため、制御周期が長いと制御の応答は遅くなり、制御周期が短いと応答は速くなります。制御周期が短いとリレーなどの接点を持つ出力機器では寿命が短くなります。一般的にリレー出力では制御周期を20秒、SSR出力では制御周期は2秒を目安に設定します。

イメージ図↓
時分割比例動作
https://www.fa.omron.co.jp/data_pdf/commentary/temperature_tg_j_6_3.pdf


・例えば目標値に近い位置だとゆっくり上昇させたいので2秒間で0.4秒20%ON、1.6秒80%OFFになると思われる。
勿論その逆もある。
目標値時点では50:50で2秒間で1秒ON-1秒OFFというような間隔のとても短い(細かい)制御をしていると思われる。


ソリッド・ステートリレー SSR


このようにPIDやヒステリシスを0.1℃単位等で制御させたりとか細かい制御は無接点のソリッドステート・リレーが使われることが多いが勿論、高価になる。
無接点のソリッドステートリレーや有接点のリレーについてはググると出てくるので割愛。
リレー↓
https://ja.wikipedia.org/wiki/%E7%B6%99%E9%9B%BB%E5%99%A8
Wikiより


では自分が使っているリレーはどんなものなのか?
20714994-604F-4554-93FC-B8F4EE674D01.jpeg
これがソリッドステートリレーで、やや大きめ。
今後を見据え、40Aの余裕のあるものを用意しておきました。

IMG_1263_20201219171953d76.jpg
ヒートシンク付きタイプもあります。
調べればわかりますがSSRの欠点は熱でもある。
さすがにこの大きさになると温調器として内部に一体にすると大きくなってしまいます。


一番初めに購入したChina製の温調器はどうだったのか?
IMG_0980_202011192220544b4.jpg


分解してみました。
DA2A29E3-0DD6-4479-91ED-956CBAAEC1E0.jpeg
15Aのマイクロパワーリレーがついてました。
となるとこの温調器の内蔵リレーはPIDや細かい制御は向いてないという事になります。

なるほど・・

とはいっても安いので用途次第だと思います。


シュミレーションに移ります


ロギングしたデータでモデルを作成
モデル作成
ロギング後半の立ち上がりの部分が調整とポイントなります。

上が現在の波形

中が誤差の波形

下が操作量の波形
となるようです。


シュミレーションをクリックすると調整に移れます。
シュミレーション1
テストで作動させましたが、明らかに奇麗な波形になってるので調整の必要性を感じませんね。

下にあるグラインドバーでPIDを調整できる。
計算で数値を出すことも可能ですが、自分のように計算が苦手な人には感覚的に動かせる優れもの

まずはPIDPの部分。

・P: Proportional 比例動作

現在値と目標値の偏差を小さくするため、偏差に比例した操作量(制御出力量)を出力する制御動作です。目標値を中心に比例帯を設定し、以下のルールで出力を決定します。
・現在値が比例帯の中にあるときは偏差に比例した操作量を出力
・現在値が低い方で比例帯から外れると100%の操作量を出力
・現在値が高い方で比例帯から外れると0%の操作量を出力
目標値付近では偏差に応じて出力を徐々に変化させるため、ON/OFF動作に比べて滑らかな制御ができます。ただし、比例動作単独で制御すると目標値からずれた(オフセットした)温度で安定します。
https://www.fa.omron.co.jp/data_pdf/commentary/temperature_tg_j_6_3.pdf


・要は加熱をして温度を上昇させ、目標値に近くなった時、例えば目標値から10%の地点から指令を出しフィードバック制御し、比例動作単独すると比例傾きが変わりオフセットがずれる。という事でしょうか?

・制御自体をラーメンの調理目線で例えると清湯スープを作りたい時。
初めは火力全開で加熱するが沸騰させたくないため、寸胴の様子を見ながら火力を弱くし、沸騰するかしないか?ぐらいの位置で調整して安定させるという認識でしょうか?
その感覚的なポイントは人により特別な拘りもあるかもしれません。
あくまで自動化はそれを放置で出来るのを目指している。
但し、ラーメンのスープでそこまでの厳密な精度が必要か?
自分は考えた結果、必要と思いました。


・I : Integral 積分動作

偏差の大きさと継続時間に応じて操作量を増加(または減少)させる制御動作です。
比例動作だけでは目標値とずれた(オフセットした)温度で安定しますが、比例動作に積分動作を組み合わせて使用すると、時間の経過に従い偏差が小さくなり現在値と目標値が一致するようになります。
https://www.fa.omron.co.jp/data_pdf/commentary/temperature_tg_j_6_3.pdf


・Pの比例動作で生じたオフセットのずれを補正する動作。目標値と現在値が一致するように制御するという事でしょうか?

・これはラーメン調理で例えれば、一旦清湯スープの状態を安定させる為にP:比例動作のずれを常に補正。
PIは一体となり制御するという事か?
実際の調理を想定すると、暫くすると骨からゼラチン質が溶け出し濃度が上がってくる。そうなると沸点も変わってくるのでスープの様子を見る必要がある。
もしかすると自動化するにあたり、小数点のコンマ単位での温度調整が必要になるかもしれません。なのでこのオムロンの精度が必須となることも十分考えられる。
注:まだ試してません。



・D: Differential 微分動作

外乱等による現在値の急変に対し、早くもとの制御状態にもどるように操作量を与える制御動作です。比例動作や積分動作は制御結果に対する訂正動作のため急変に対しては応答が遅くなります。微分動作はその欠点を補うもので、急激な外乱に対して大きな操作量を与えます。
https://www.fa.omron.co.jp/data_pdf/commentary/temperature_tg_j_6_3.pdf


・D微分動作はそのまま外乱に対する動作の認識。急激な温度変化があった時に元に戻る制御。

この外乱応答をラーメン調理で想定するとスープの材料を追加もしく除去する事もある。その時温度は上下するのに対して元の温度に戻らなければいけません。
あとは鍋の蓋を開けた時とか?
さらに調理だけでなく提供後のつけ麺などで冷たくなるつけ汁の温度を維持し続けるなんてのも可能かもしれません。
もしくは逆にぬるいぐらいを狙う場合などは活躍するでしょうし、ましてや前半と後半で温度を変えて逆特性の飽きさせない食べ方とか?
もし、可能になればこれはかなり大きな革命になると思います。


考えてるだけで自分はワクワクしてくるぅ~


しかも調整した時にどうしても波形が見にくい時の為にズーム機能もあったり
シュミレーション2
ズームマークをクリックしてドラッグした部分を拡大できます。


調整イメージ↓
PID調整参考

PV立ち上がり


イメージgif

PID Compensation Animated.gif
wikiによる

・2自由度PID制御
さらにオムロンさんでは2自由度PIDを採用している。

これまでのPID制御方式では、同一の調節部によって目標値に対する応答と外乱に対する応答を制御していました。そのため、調節部のPIDパラメータの設定において①外乱応答を重視する(一般的にはP、Iは小さく、Dは大きく設定する)と目標値応答が振動的になり(オーバーシュートが出る)、逆に②目標値応答を重視する(一般的にはPは大きく、Iも大きく設定する)と外乱応答が遅くなってしまい、両方の応答性を同時に満足することができないという欠点がありました。
2自由度PID制御は目標値応答と外乱応答時の異なる応答に対し、それぞれに良好な応答ができるようにした制御方式で
す。
2自由度PID
https://www.fa.omron.co.jp/data_pdf/commentary/temperature_tg_j_6_3.pdf



ヒーター変更
あとはSPランプ機能を使った場合やヒーターの容量をインプットできます。
例えばこの数倍の容量の場合の波形を見ることや、もっと早く昇温させたい場合、逆算でどのぐらいの容量のヒーターにアップさせれば良いのか?シュミレーションすることが出来ます。
勿論、記録できるので一度作れば増産は可能となる。
このようにシュミレーションが出来なかったら、何回も実際に動かすしかない。
すげぇぞ!オムロン!E5□C!PID!


まとめ


漠然と温調器で自動化出来ないか?と思って安直に掴んだオムロン製のE5□Cですがソフトウエアも充実しており、思った以上に機能満載でした。個人的に使うにはこの温調器は通信してこそ本領発揮ですね。
相変わらず遠回りしてますが、PID制御をつまみ食い程度でも理解できたのは、今後の為にはプラスになっていると思う。
始めの数千円の温調器がオモチャに見えてしまいます。
そしてだんだんオムロンが好きになってきたよ。

関連記事

コメント

面白いことやってますね!

Re: あ

あ さん
通りすがりでしょうか?
こんな記事に食いつくのは?一体何者?