こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PID制御のサンプリング単位と制御出力の時間間隔

水の中にヒータを入れ、PID制御のプログラムを書いて、温度制御しています。
ヒータの通電制御はSSRなので、実際はON/OFFしかできません。そのため、1秒のうちの通電期間と非通電期間の比率を変えています。例えば、50%の出力なら、ON0.5秒、OFF0.5秒です。50Hzなら1秒を50分割するため2%単位で出力を変更できます。

通電の比率はPID制御で、1秒毎にサンプリングを行って出力を計算しています。
今まで、通電の比率を変える間隔が1秒なので、PIDによる出力量の計算も1秒単位で行っていました。PIDの計算は位置型で行っています。

ですが、速度型PID制御なら、サンプリング期間のみの出力から制御対象の変化分だけの出力を行える、と気づきました。サンプリング期間をもっと短くし、それを1秒間積算した値を1秒毎に出力すれば、もっと適切な出力になるのではないかと、、

質問ですが、PID制御のサンプリング単位と制御出力の時間間隔は、同じでなくても良いですか?
世の中の温度調節器などはどうしているのでしょう?
どうぞ宜しくお願いします。

投稿日時 - 2018-02-17 06:11:39

QNo.9429848

困ってます

質問者が選んだベストアンサー

おまけ
 私の空想では熱帯魚の水槽のような構造です。1秒で1℃上がった、0.1秒で0.5℃上がった、というけれど、それが意味が有るのかどうなのか?

 温度計とヒーターの間には自然対流の水がゆらゆらとうごめいています。いま温度計を包んでいる水は、ヒーターで加熱された水であるかもしれない。とすれば、水槽の他の部分の水は放熱によって冷やされているので、温度計を基準に温度を制御しても水槽全体は設定温度に達しません。あるいは温度計の周りの水は対流によって上から押し下げられた冷たい水かもしれない。であればこれを基準に温度を制御すれば水槽の温度は上がりすぎとなるでしょう。実際にはこの二極の状況がゆらゆらと入れ替わっていると言ったところでしょう。

 問題はこんなミクロな状況ではなく、ヒーター、水、温度計という系の温度がどのような速度で上昇下降してまた平均するかです。0.1秒後に温度計の温度が上がった、下がった、という情報は、平均温度の変化と相関が無いと思いますよ。

 実を言うと精密に制御するのは難しいと思います。水の出入りが無いならば、温度の上昇下降を遅く、なるべく同じ速度にすることが簡単です。水の出入りがあるなら水を攪拌することです。

 質問への回答としては前の中ほどに書いたように、PID制御のサンプリング単位と制御出力の時間間隔は同じでなくてよろしいです。

投稿日時 - 2018-02-17 12:42:18

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(4)

ANo.4

温度制御は制御対象の熱容量とヒータの発熱量で変わるのでこれらを検討して必要充分なサンプリングと制御を決めることになる。
疑問があるのならプログラミングで簡単にテストできるのだからやってみれば?

投稿日時 - 2018-02-18 08:41:06

お礼

回答ありがとうございます。

別の方から制御出力とサンプリング期間は同じでなくて良いとの回答をいただきましたので、実際にやってみることにします。

投稿日時 - 2018-02-19 06:14:15

ANo.2

>1秒経過後の偏差が0.5℃だと、
これは温度制御業界では超高速レンジの部類になります

秒でなく分とか時間レンジの方が遥かに多い
http://www.noritake.co.jp/products/eeg/heat/kiln/rhk/
http://www.takasago-inc.co.jp/industry/#industry-2
こんなヤツは常温から2000度まで上げるのに
24時間以上かかるのは珍しくない

秒レンジで計測するのは概ねヒータ表面温度くらいでしょうかね
ワーク温度(負荷対象物)は概ね分単位
例えば水温とか油温度とか金型温度、樹脂温度、流体温度
http://www.fa.omron.co.jp/product/special/tc/introduction/
https://www.rkcinst.co.jp/techno/16/techno_16.htm

身近な事例でもエアコンとかも
エアコン吹き出し口温度は秒単位で変化するかも知れないが
吹き出し口から遠い場所の気温は暑いままなので
暑いと騒ぐ人と寒すぎると嘆く人が絶えない
http://panasonic.jp/aircon/18feature/sensor.html


因みにモータ駆動制御にもPIDは使用されます
でも、その場合はミリセカンド単位です
http://www.mitsubishielectric.co.jp/fa/products/drv/servo/index.html
https://www.renesas.com/ja-jp/promotions/implementation/rx23t24t-rssk.html?cid=r_top-3_prm_rx-motor_180131

投稿日時 - 2018-02-17 08:08:45

お礼

回答ありがとうございます。

確かにサンプリング期間は制御対象によって決まりますね、、
あるオムロンの温度調節器のサンプリング期間が50msと書いてあったので、もしかしたら速いほうが良いかも、と思ったもので、、

投稿日時 - 2018-02-19 06:13:03

ANo.1

 ディジタルの世界がどうであっても、現実の温度計には、ヒーターから温度計までの伝達の遅れがあり、温度計自身の温度変化の遅れがあるんですから、サンプリング周期とヒーターのON/OFF周期は初めから関係がありません。逆に言えば、ヒーターから温度計までの温度伝達の遅れが問題なのであって、デジタルの世界の中で頑張って温度のサンプリング周期を短くしてもあまり効果が無いと思いますよ。むしろ水を洗濯機のように攪拌して温度計の熱容量を小さいものにするのがいいんじゃないですか。もうしてるでしょうけど。

投稿日時 - 2018-02-17 07:06:48

補足

回答ありがとうございます。

おっしゃる通り、遅れが存在しているので効果はないのかもしれません。

ただ、サンプリングが1秒間隔で偏差が1℃だと、その期間の偏差が1℃として制御しますよね。ですが、サンプリングが0.1秒間隔で初期の偏差が1℃、1秒経過後の偏差が0.5℃だと、理屈上、そのぶんだけ次の制御出力を細かく調整できるのでは?と考えました。

効果のほどはわからないですが、、

投稿日時 - 2018-02-17 07:28:00

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-