質問投稿でgooポイントが当たるキャンペーン実施中!!>>

PID制御でオーバーシュートしないで目標値に到達させるパラメータを設定するには何に関して学べば良いのでしょうか。制御対象は毎度変わるので、その都度最適なパラメータを設定したいのですが。
どなたかアドバイスお願いします。

A 回答 (1件)

パラメータの求め方の参考に。



参考URL:http://www.picfun.com/motor05.html
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QPID制御のパラメータの決め方

PID制御のパラメータを決めたいと考えています。
ステップ応答から定常値K,無駄時間L,時定数Lは求めてあります。
チューニングするときの目安として、

1.180度まわった位相でゲインが1以上あるとハンチングするとされていますが、それをパラメータ間の式で表すことが可能ですか。
2.オーバーシュートする条件というのはありますか。それも同様にパラメータ間の式で表すことが可能ですか。

式を教えていただけるか、解説したHPを紹介いただけないでしょうか。

Aベストアンサー

理論的な解析による回答は別の人に譲るとして、現場的手法を回答します。
現場では面倒な理論的手法は使える人が居ないので、もっと簡単な「ジーグラ・ニコルスの最適調整法」が専ら使われます。これが簡単な割には実にいいのです。「限界感度法」と「ステップ応答法」の2つがあって、今回のようにLとTから求めるのは後者です。
積分時間と微分時間は簡単です。積分時間=2L、微分時間=0.5L とします。
比例帯=83KpL/T で計算します。
比例帯はLとTだけではデータ不足で、プロセス利得が必要です。プロセス利得(Kp)=Δ制御量[%]/Δ操作量[%] (定常値)です。
ハンチングするかしないかは、制御結果を見て判断します。

QPIDの調整のコツ

PIDの現場での調整のコツを教えていただけませんか?
教材ではいろいろ書いていますが
タッチパネルPLCでは現状が見えるだけで目視確認しかできませんので
教材で書いてあるようなことは役に立ちません。
現状ではやみくもにトライアンドエラーを繰り返しています。

Aベストアンサー

応答の速い系だとどんなパラメータでもそこそこですが、温度調節のように応答が遅いと結構面倒ですよね。

PID制御はP(比例制御)が基本ですが、それだけ必ず目標値との間にオフセットができてしまうので、それをリセットするためにI(積分)を入れるわけです。Dはスピードアップのためで、一旦値が落ち着いてしまえば全く効きません。このことを踏まえて、私は次のようにやっています。

まず、IもDも使わずにPだけにして、観測値がオーバーシュートしないで一定値に近づく位の値を探します。これくらいであれば現状だけしか見えなくてもできると思います。この段階では目標値との間にオフセットがあるはずなので、次に少しずつIを増やしていき、オフセットがだんだん小さくなる様子を観察します。あまりIを入れすぎると発振してしまうのでオフセットが消えたら適当なところでやめます。Dはほとんど使いません。

これだけだと「最適」ではありませんが、後は微調整でなんとかなると思います。

Qステップ応答法と限界感度法:(PID制御)

インターネットで調べましたがピンとくる説明に出会えませんでした。
それぞれどのような制御法なのでしょうか。
わかりやすい説明をしていただくと助かります。

Aベストアンサー

いずれも制御理論のオーソドックスな方法で解説など山のように出ています。
自分で納得できる説明は自分で探しましょう。
下記は一例です。


ステップ応答法
http://alk.fam.cx/tfunc_030.html

PID制御
http://ja.wikipedia.org/wiki/PID%E5%88%B6%E5%BE%A1

QP制御、PI制御、PID制御それぞれメリット、デメリットを教えてくれま

P制御、PI制御、PID制御それぞれメリット、デメリットを教えてくれませんか?
レポート課題で困っています。調べてみたが良くわかりませんでした。

Aベストアンサー

制御の基本は、P(比例)動作ですが、P動作だけでは通常オフセット(目標値との残留偏差)が生じます。このため、P動作のオフセットを無くすため、I(積分)動作を加え、設定値との偏差をなくすようにします。また、D動作を加えることにより、偏差を単時間に修正することができますが、積分時間を短く設定しすぎると、ハンチングが起きやすく、安定した制御が得られなくなります。D(微分)動作は、偏差の少ないうちに大きな修正動作を加え、制御結果が大きく変動するのを防ぐことができるます。ただし、微分時間を長く設定しすぎると、小さな変化に対しても、大きな出力が出てしまう為、ハンチングが生じ、制御性が安定しなくなります。

詳しくは、以下のURLを参照のこと。

参考URL:http://www.compoclub.com/products/knowledge/jidou_seigyo/jidou_seigyo4.html

QPID制御のプログラミング2

先ほど、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]秒として補正すればよいでしょうか。

Aベストアンサー

ヒータで層の温度を一定にする系で、実際にやったことがあるのでアドバイスします。理論的なアドバイスでは有りませんが参考になればと思います。

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の単位はサンプリング時間と同じにするとやりやすいと思います。サンプリング時間の単位が秒であれば、時定数や無駄時間の単位も秒にします。
しかし、実際に計算してみると、これでも時間の単位の違いによって、パラメータは大きく異なってしまうのがわかりますが、これも実際やってみると、秒がいいのか分がいいのか、わかってくると思います。

ヒータで層の温度を一定にする系で、実際にやったことがあるのでアドバイスします。理論的なアドバイスでは有りませんが参考になればと思います。

2.について
参照先URLに紹介されている式では、I制御による変化量は、制御開始からずっと累積されてしまっているのがわかります。
系によると思いますが、おっしゃる通り、この式では積分時間やサンプリング時間を考慮していないので、この式をそのままプログラムに落とすのは、私の場合、あまり実用的では有りませんでした。

そこで、
ki=kp/Ti , kd=kp...続きを読む

QPID制御の設定

PIDパラメータの設定について教えてください。

レンジが0~50℃の温度調節器があり、PIDパラメータとして
 P→3
 I→10
 D→1
と設定されています。
レンジを0~100℃の温度調節器に変更した時、同じ制御(操作量)
をさせたいのですが、パラメータの設定値をいくつにすればよいのでしょうか?
おそらく
 P→1.5(レンジが倍になり敏感になるため1/2にする)
 I→5  (レンジが倍になり鈍感になるため1/2にする)
ではないかと思いますが、よろしいのでしょうか?
また、Dについてはどう考えてよいのかわかりません。
よろしくお願いします。

Aベストアンサー

 温調のレンジを変更しても加熱操作部の特性が同じなら、制御定数は基本的には変わりません。
 但し、Parameter-P(比例帯)は、測定レンジフルスケールに対する割合(%)ですから、レンジを2倍にした場合は、半分にしなければなりません。
 御質問の例では、0~50℃レンジのPが3%ですから、比例帯の温度幅は1.5℃に相当します。 なので、0~100℃レンジにした場合、Pは1.5%となります。下1桁が設定できない場合は2%で構いません。
 IとDはそのままにします。 IとDの単位は、秒です。
 但し、普通の場合(ステップ応答法でも限界感度法でも)、DはIの1/4にしますので、御質問の例は分からないで適当に設定したものか、意図的に変えたかどちらかでしょう。整数単位でしか設定できない温調なら、私の場合、I=10秒、D=2秒にするでしょう。

Q一次遅れ系の制御における時定数Tの求め方

計量士の資格を勉強していると自動制御の問題が出てきました。

単位ステップ応答は1-exp(t/T)である。
一次遅れ系の時定数Tの求め方として2つの方法がある。
一つは、1-exp(-t/T)が63.2%になったとき。
もう一つは、過渡応答曲線の原点での接線が定常値に交わるまでの原点からの時間を求める。
とあります。
ここで質問なのですが、この過渡応答曲線とは、1-exp(-t/T)の曲線のことでしょうか?

また単位インパルス応答はexp(-t/T)です。
これが36.8%になったとき時定数Tを求められることは知っているのですが、
同様に、過渡応答曲線の原点での接線が定常値に交わるまでの
原点からの時間を求めると時定数Tを求められるのでしょうか?

Aベストアンサー

>この過渡応答曲線とは、1-exp(-t/T)の曲線のことでしょうか?
そうです。
t=Tとおくと、このときの振幅v(T)=1-exp(-T/T)=1-exp(-1)≒0.6321
と定常値の振幅1に対して0.6321は63.21%にあたります。

>原点からの時間を求めると時定数Tを求められるのでしょうか?
求められます。

過渡応答曲線v(t)=exp(-t/T)に対して、t=0における接線は
u(t)=1-(t/T)ですので、u(t)=0(定常値)になる時間は
1-(t/T)=0からt=T(時定数)が求められます。
このときの振幅はv(T)=exp(-T/T)=exp(-1)≒0.3679
これは定常値(0)までの振幅1に対して36.79%にあたります。

QライントレースロボットのPID制御を用いての姿勢制御について

 ライントレースロボットの姿勢制御をプログラミングで行っているのですが、その時にPIDのゲインを変えてどんな動きをするか試してみました。Pの動作はわかるのですが、IとDの動作がよくわかりません。
 Iのゲインを少し上げるとロボットは直線でも車体が横にぶれながら走行します。また、Dは少し上げた程度では変わらないのですが、大きく上げるとIと同じように直線でも横にぶれてしまいます。
 具体的には、P、I、Dを200、0、200ならスムーズに走行できたコースでも200、2、200ならぶれてしまいます。また、200、0、3000でもぶれてしまいます。このような結果なのですがこのときのIとDは何に影響しているのでしょうか?
 まだ、未熟者ですのでヘタクソな質問かもしれませんが真剣に悩んでます。
宜しくお願い致します。

Aベストアンサー

お礼をありがとうございます。補足に回答します。
>「D動作は、微分ですから、偏差の起こり始めに効きますから…」
言葉がはしょってあってわかりにくかったでしょうか。
P動作が偏差量に比例して制御しようとするのに対して、D動作は、偏差があっても一定で変化が無ければ働きません。偏差に変化があったときだけ制御しようとします。
たぶん、曲がり角では、偏差量が増加して微分値がでるので、ここで効くことが期待できそうと思いました。
因みにI動作は、偏差が少しでもあれば、それを蓄積する感じで、あくまで働きます。

Qタンジェントとアークタンジェントの違い

タンジェントとアークタンジェント、サインとアークサイン、コサインとアークコサインの違いをすごく簡単に教えてください。

Aベストアンサー

タンジェントやサイン、コサインは、角度に対する関数です。
例えば
 tan60°=√3
のような感じで、角度を入力すると、値が出てきます。

逆に、アークタンジェントなどは、数値に対する関数です。
 arctan√3=60°
などのように、数値を入力すると角度が出てきます。

そして、タンジェントとアークタンジェントの関係は、
springsideさんも書いてありますが、逆関数という関係です。
逆関数というのは、原因と結果が逆になるような関数です。
例えば、
  45°→タンジェント→1
  1  →アークタンジェント→45°
のように、「1」と「45°」が逆の位置にありますよね?
こういう関係を、「逆関数」というんです。

どうでしょう、わかりましたか?

QPID制御について

PID制御器の各ゲインの役割について詳しく知っている方教えていただけたらと質問しました。またPID制御器以外にどのような制御器があるか、についてもおねがいします。

Aベストアンサー

NO.3の方の回答が適切だと思います。少し補足します。
PID制御と言うのは、ある値をある目標値に保とうとするための制御です。
例えば、エアコンで部屋の冷暖房を行い室温25度Cに保つとします。
P:比例動作:偏差(室温-25)に比例したパワーで冷暖房を運転します。もちろん、偏差が正なら冷房、負なら暖房です。このゲインが小さいとパワー不足となり制御しきれません。ある量の偏差が残ったまま(オフセットという)になります。
一方、ゲインを上げると、オフセットは減りますが、パワーが強力すぎて制御の行過ぎ(オーバーシュート)が起こります。これが繰り返されるため,暑すぎと冷えすぎを繰り返すサイクリングと言う状態になります。
従って、サイクリングを起こす直前のゲインがPの最適ゲインと考えればいいでしょう。

Pの欠点を補うため、IとDを使います。

I:積分動作:Pのゲインを最適設定すると、必ずオフセットが残ります。これを補償するのがI動作です。偏差の積分値に応じた操作をします。
ゲインが足りないとオフセット解消に時間がかかります。ゲインが高すぎると、偏差に敏感に反応し、強力パワーを発するので動作が不安定になります。

D:微分動作:PI動作だけでは偏差が拡大しつつある状態にはパワーが足りません。偏差が拡大しているというのを検出するため、偏差を微分し、それに見合った操作をします。ゲインが低すぎると偏差拡大に追従できません。ゲインが高すぎると偏差の変化に過敏に反応しやはり動作不安定になります。

というわけで、制御すべきプロセスの特性に合わせて、PIDのゲインを調整します。

PIDよりも一番簡単なのは、オンオフ制御です。又遅れの大きいベルトコンベアでの積み込み制御などではサンプリング制御と言うのもあります。

NO.3の方の回答が適切だと思います。少し補足します。
PID制御と言うのは、ある値をある目標値に保とうとするための制御です。
例えば、エアコンで部屋の冷暖房を行い室温25度Cに保つとします。
P:比例動作:偏差(室温-25)に比例したパワーで冷暖房を運転します。もちろん、偏差が正なら冷房、負なら暖房です。このゲインが小さいとパワー不足となり制御しきれません。ある量の偏差が残ったまま(オフセットという)になります。
一方、ゲインを上げると、オフセットは減りますが、パワーが強力...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング