先ほど、PID制御のプログラミングについて質問したのですが、もう少しわからないところがあるので教えてください。
1.ステップ応答から各パラメータを求める方法
http://www.picfun.com/motor05.htmlのページの一番下のほうに書かれており、
Kiの値=0.6~0.7/KL、Kdの値=0.3~0.45T/Kとなっています。
このLとTの単位は[sec]と考えていいのでしょうか。
KpはLとTで打ち消されて、単位を考える必要ないですが、KiとKdは単位により結果が違います。
2.サンプリングデータにより制御する場合のサンプリング時間について上記アドレスにPID制御のアルゴリズムの説明があるのですが、
サンプリング時間が考慮されていません。
サンプリング時間により前回の偏差との差や、積分の場合足しこむ回数が違ってくると思うのですが、どのように補正すればよいですか。
このときも単位を1[sec]秒として補正すればよいでしょうか。
No.1ベストアンサー
- 回答日時:
ヒータで層の温度を一定にする系で、実際にやったことがあるのでアドバイスします。
理論的なアドバイスでは有りませんが参考になればと思います。2.について
参照先URLに紹介されている式では、I制御による変化量は、制御開始からずっと累積されてしまっているのがわかります。
系によると思いますが、おっしゃる通り、この式では積分時間やサンプリング時間を考慮していないので、この式をそのままプログラムに落とすのは、私の場合、あまり実用的では有りませんでした。
そこで、
ki=kp/Ti , kd=kp*Td ですので、 (Ti=積分時間、td=サンプル時間)
n=Ti/Td (n=サンプル回数) として、
ei= Σe/n (ei=積分時間あたりの偏差の平均)
ed= en - en-1 (ed=前回偏差と今回偏差の差)
とし、
M= kp*( en + ei + ed )
と、操作量を決めてあげました。
このやり方は直感的にわかりやすく使いやすいです。
実際、操作量には上限がありますし、負の値を取れない系もありますので、
早速プログラムを組み始まってしまうのも一つの手だと思います。
ジーグラとニコルズの最適値は、オーバシュート量が25%に達しますので、
私の場合、カットアンドトライで最適値を決める必要がありました。
やってみて気付くことはとても多かったです。
1.についてですが、
LとTの単位はサンプリング時間と同じにするとやりやすいと思います。サンプリング時間の単位が秒であれば、時定数や無駄時間の単位も秒にします。
しかし、実際に計算してみると、これでも時間の単位の違いによって、パラメータは大きく異なってしまうのがわかりますが、これも実際やってみると、秒がいいのか分がいいのか、わかってくると思います。
この回答への補足
お礼欄にはもう書けないためここに書きます。
回答内容をもう一度読み直してみて思ったのですが、
kd=kp*TdのTdと、td=サンプル時間のtdは別物でしょうか。
n=Ti/Tdで大文字のTdが出てきたので先のtdはTdの書き間違えと理解したのですが、
あとのTdをtdの書き間違えと考え、時間は全てサンプリング時間を基準に(サンプリング時間の何倍かと)考えると
全てつじつまが合い、計算式もそのまま適用できるではないかという気がしてきました。
Ki=0.6~0.7/KLやKd=0.3~0.45T/Kを導き方を解説したサイトが見つからないので確信はもてませんが、
どうせ最後はカットアンドトライとなることが予想されるので、そのまま進めてみようと思います。
回答ありがとうございます。
>ki=kp/Ti , kd=kp*Td ですので、 (Ti=積分時間、td=サンプル時間)
>n=Ti/Td (n=サンプル回数) として、
>ei= Σe/n (ei=積分時間あたりの偏差の平均)
>ed= en - en-1 (ed=前回偏差と今回偏差の差)
>とし、
>M= kp*( en + ei + ed )
の辺りで疑問なのですが、
サンプリング時間はCPUの処理速度などの都合から先に決まってしまうのに対し、
PID制御のパラメータTdは別に決めなければならない値だと思うのですが、
どうなのでしょうか。
ed= en - en-1もサンプリング時間が短ければ値が小さくなってしまうので、
制御がサンプリング時間に依存してしまうように思います。
あと、Kiの値=0.6~0.7/KL、Kdの値=0.3~0.45T/Kと決めてしまっている以上、
LやTの単位が秒なのか分なのか確定している必要があるように思いました。
No.4
- 回答日時:
#1に対して。
おっしゃる通り、Tdとtdは同じ物です。間違えました。
http://pelab.nagaokaut.ac.jp/kondolab/convenienc …
を参考にしました。ゲインの決め方ではなく、積分時間とサンプリング時間の決め方が書いてあります。参考になれば。
No.3
- 回答日時:
> 制御周期毎にPID演算を実行して辻褄が合うためには、
> 制御パラメータを制御周期で補正(?)しなければならないような気がして
その通りですね。
それが#2で述べた,積分器なら"*ΔT",微分器なら"/ΔT"の項です。
> 制御パラーメータを求める際に使用する時間を制御周期を基準に
> (制御周期の何倍かを)代入すれば必要なパラメータが得られると
> 解釈しました。その理解で正しいでしょうか。
これも良いと思います。
ただ#2では基準時間は何でも良いと書きましたが,いや実際それで間違いはないのですが,
素直に1[s]としておいた方がいろいろと混乱を避けられるのも確かです。
あと#1さんへの補足にあった
> Ki=0.6~0.7/KLやKd=0.3~0.45T/Kを導き方
ですが,これらは経験則によって導かれたものですので,明快な導き方を示した資料はないのではないかと思います。
No.2
- 回答日時:
○積分器と微分器の実装方法が分かれば大方解決でしょうか。
いろいろ方法はありますが,
1. 積分器
・区分求積法使用
∫f(t)dt≒Σ{f(kΔT)*ΔT} とします(積分区間は省略)。
ここでΔTは制御周期(一般的にはサンプリング周期と同じ),f(kΔT)はk回目のサンプリングにおける信号値です。
ΔTが十分に小さければこれで十分な精度が得られます。
さらに高精度化を図るには台形公式で近似します。
2. 微分器
・後退差分で近似
df(t)/dt≒(f(kΔT)-f((k-1)ΔT))/ΔT
これらの式で制御周期毎にPID演算を実行すればよいです。
.....とここまで書いて前の質問に記載されていたもう一つのURLを見てみたら同じ式が書かれてますね。
ただどちらのURLの内容も質問者様には帯に短しな内容みたいですので,もう少し資料を探された方が良いかと思います。
書籍でもWebサイトでも,詳しいのはいくらでもありますよ。
○単位について
どんな単位を使っても構わないのですが,混乱を避けるために同じ次元の数値には違う単位を使わいことをお勧めします。
例えば時間なら全て[秒]で統一し,[分]や[時]などは机上検討でも極力使わないようにするなどです。
[10msec]や[0.1msec]などでも構いません。
単位の変換に線型性が成立つ限り,実装時の単位は実装者の都合のいいように決定すればよいです。
いろいろアドバイスありがとうございます。
制御周期毎にPID演算を実行して辻褄が合うためには、制御パラメータを制御周期で補正(?)しなければならないような気がして質問したのですが、
制御パラーメータを求める際に使用する時間を制御周期を基準に(制御周期の何倍かを)代入すれば必要なパラメータが得られると解釈しました。
その理解で正しいでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 工学 制御工学の質問 3 2022/08/21 22:33
- 物理学 エネルギー管理士の熱利用設備及びその管理の問題でわからないがあります。 PID制御、フィードバック制 1 2023/08/26 12:19
- 工学 【制御工学】単位ステップ応答の遅れ時間の求め方(令和2年度の機械設計技術者試験(制御工学)の問題) 3 2022/11/02 10:51
- 工学 PID制御 1 2022/07/27 11:50
- お酒・アルコール お酒を飲んだ後に分解されるスピードは個人差とかが影響しますか? 3 2022/09/03 21:06
- 工学 この問題の解き方と答えを教えてください! サイリスタ単相半波整流回路の入力電圧が実効値200Vの正弦 2 2022/12/17 18:00
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- 工学 制御工学についてです。 1巡伝達関数Lが L=k/(s+1)(s+2)(s+3) である。kをゲイン 2 2023/01/31 09:28
- 大学受験 高三の進研模試(英語)で偏差値35(34だったかも)から半年又は5ヶ月で偏差値55に上がるのは不可能 2 2022/07/06 00:45
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三相200Vと、電源の周波数...
-
冷蔵庫のブロック線図について
-
PIDの調整のコツ
-
蒸気タービン調圧、調速制御の...
-
PID制御のパラメータの決め方
-
エアーバルブとエアーオペレー...
-
PWMとVVVFの違い
-
フィードフォワード制御とは簡...
-
X線撮影用タイマとホトタイマの...
-
エクセルVBAにて nアップ印刷...
-
自動制御について質問です。 リ...
-
カスケード制御とオート制御の...
-
Led電光掲示板を自作したい
-
Hfとは何ですか?(蛍光灯の種...
-
CNC自動旋盤とNC旋盤の違い
-
ASモーターについて
-
「ロバスト設計」ってどんな設計
-
三菱モータとオムロンPLCの制御
-
PI制御と位相進み補償について
-
ミサイルは自爆装置があるの!?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
いじめられて嬉しい心理のは、...
-
三相200Vと、電源の周波数...
-
蒸気タービン調圧、調速制御の...
-
PID制御のパラメータの決め方
-
Hfとは何ですか?(蛍光灯の種...
-
PIDの調整のコツ
-
エアーバルブとエアーオペレー...
-
サーボモーターの速度指令について
-
P制御、PI制御、PID制御それぞ...
-
サーボモータのゲイン調整とは
-
エクセルVBAにて nアップ印刷...
-
モーターの回転速度を遅くする...
-
カスケード制御とオート制御の...
-
パソコン音声のミュートをVBAか...
-
自動制御について質問です。 空...
-
CNC自動旋盤とNC旋盤の違い
-
MariaDB データベースのユニー...
-
モーターについているタコジェ...
-
ポンプの消費電力の考え方
-
自動制御について質問です。 リ...
おすすめ情報