• ベストアンサー

PID制御について

下記の「モータ制御の仕方」を見ています。 http://www.picfun.com/motorframe.html このPID制御によりヒータの制御をしたいと 考えています。 しかし定性的に理解できない点があり、皆様のお知恵をお借りしたく質問させていただきました。 PI制御において 結果的に操作量Vのとき現在値が目標値に達し、その状態を維持できると仮定します。 現在値が目標値になったときは 1.偏差が0になるので比例項は0になります。 2.そうすると操作量Vを維持するものは積分項のみとなります。 3.最適に制御された場合ということは目標値に達したとき積分項の値がVです。 4.もし3.での積分項の値がVより大きければ必ずオーバーシュートが発生して   -偏差が発生し積分項を減らしVに近づきます。 という考えでよいのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • lumiheart
  • ベストアンサー率48% (1103/2297)
回答No.3

PV=SVの時はMVはゼロになります 但し、問題はMVがゼロである時間です 例えば電気炉の温度制御の場合でSV=100℃でPV=100℃の時 表示上は100ですが内部演算的には100.01とか単に小数点以下は 演算には使っても普通は表示させない で、100.00℃が存在しうる時間はせいぜい1~2分 99.99℃なら数秒も経つと積分の積算が開始されます 99.99℃の状態で数分にもなると積分が溜まりMVは10%とかに増えます 99.99℃のままの状態からヒータに10%電力を投入しても炉の自然冷却の方が 大きければ焼け石に水でPV値はまだ下がり99.90℃とかになります そうすると更に積分現在値は増えてMV値が30%とかになり電力も30%に上がります そこまで上がるとやっと温度が上がり100.01℃とかになると積分値は下がります ただ、普通の温度制御ではマイナスMV値は有りません(特殊な場合は冷却になります) 質問者さんが挙げられてるモータの速度制御の場合はゼロにはなりません (モータの場合でのゼロは回転停止です) ただ回転数制御の場合は制御時間がミリセカンド単位になります (上記のような温調制御では秒単位か分単位) 例えばSV1000rpm、PV1000rpm、MV50%で回転中のモータが PV999rpmに下がったらミリセカンド単で積分が積算されMV値が上がります 要するに完全な安定状態は存在しない  有る程度の振動とゆらぎを伴って安定する それを表に出すか出さないかの違いだけです http://www.m-system.co.jp/rensai/rensai_top.htm#pid http://www.compoclub.com/products/knowledge/jidou_seigyo/index.html

その他の回答 (2)

  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.2

>PI制御ですからP、Iが共に0になったら操作量が0になりませんか? 普通、制御される対象の系っていうのは、微分方程式で表されるので、例えば、1/(s+1) みたいな感じになるはずなんで、制御される対象の系自身に積分の要素が入っているはずです。なんで、操作量が0になっても、出力される現在値は0にはなりません。 もし、そうではなくて、制御される対象の系には積分がまったく含まれてないとなると(かなり特殊な例ですが)、仰るようなことになりますが。

  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.1

PID制御っていうのは、 ・目標値から偏差に比例して操作量を変化させる(P), ・目標値から偏差の積分に比例して操作量を変化させる(I), ・目標値から偏差の微分に比例して操作量を変化させる(D), てことですので、外乱がないとして、現在値が目標値に達し、その状態を維持できるときには、P、I、Dの全てが0になります。

Kuma2000
質問者

お礼

回答ありがとうございます。 >P、I、Dの全てが0になります。 PI制御ですからP、Iが共に0になったら操作量が 0になりませんか?

関連するQ&A

  • PID制御

    PID制御に関して学習しようと思っていると下記のような説明がでてきました。 >>積分時間TI は、ステップ偏差を与えたとき、P制御による操作信号>>変化に相当する操作信号変化をI制御のみで発生させるために必要>>な時間ということになります。したがって、積分時間TI を小さく>>すればするほど積分制御の影響が強くなります。 この意味が良く分かりません。なぜ積分時間を短くすればするほど、制御の影響が強くなるのでしょうか?? 比例制御と微分制御は理解できたのですが、積分制御に関しては上手く理解できていません。どなたかご教示願います。

  • インバーター、モータのPID制御について

    インバータ、モータのPID制御につきまして、おしえてください。 初心者のため、的外れや、間違いあるかもしれませんが、その場合はご指摘頂ければ幸いです。 1)ステッピングモータを用いたバルブと流量センサで、流量のPID制御を行いたいと考えて います。流量センサの信号をマイコンにフィードバックさせ、目標値(目標流量)と流量センサ の測定値が同じとなるように、制御する予定です。。。予定というかPID制御したいと思っています。 この場合、ステッピングモータの操作量は何になるのでしょうか?速度でしょうか? PID制御は目標値と測定値から偏差を求めて操作量を変化させ動かすことは知っていますが、 この場合は、偏差が大きいときは、速度を速く、小さいときは速度を遅くして制御するという 認識で宜しいのでしょうか? 2)上記は流量センサをフィードバックしますが、DCモータ等では、ポテンショメータ等で位置 をフィードバックし目標開度とポテンショメータ測定開度が同じとなるように、制御する手法も あると思います。 この場合、PID制御の操作量は何になるのでしょうか。またこの操作量は変化するのでしょうか? 目標開度とポテンショメータ位置が同じになるようにモータを回すだけだと思うので、操作量 の変化というもの自体がないと思うのですが(モータを回すか回さないかのみ??)、、、、 特にステッピングモータでポテンショをフィードバック制御した場合は、指定開度でピッタシ止まる ので、操作量変化はないように思います。PID制御は偏差に応じて操作量が変化するものと思い ますが、上記のような制御は(特にステッピングモータを用いて測定値をフィードバックし制御する 方法)PID制御とは言わないのでしょうか? またインターネットで、位置型PID、速度型PIDがあることを知りましたが、どういったものか教えて 頂けないでしょうか? 3)インバータにもPID制御があると思います。その場合は回転数を制御しているものと思います。 例えばですが、流量センサをフィードバックし、目標流量と同じとなるようにポンプ周波数をPID 制御するとします。 その場合の目標流量=測定流量となるまでの周波数変化はどのようになるのでしょうか? 動き始めは、目標流量>測定流量(フィードバック値)が大きく、(例えば)100Hzとしたら、 目標流量と測定流量が近くなるにつれて、周波数はさがっていくという認識で宜しいでしょうか? (75Hz・・・50Hzといった感じに) そして、同じとなった周波数で回転数変化停止ということで宜しいでしょうか? 今一、ピンときていないのですが、目標流量と測定流量が近くなったとしても、まだ目標流量>測定流量が成り立っている場合に、周波数をさげてしまうと、逆に目標値と測定流量の差は大きく なるものではないかとイメージ的に考えてしまうのですが。。。。動きはじめ100HZで動かしている にも関わらず目標流量に到達していないところを周波数をさげてもよいのでしょうか? 的外れなことが多々あると思いますが、よろしくお願いいたします。

  • PID制御のプログラミング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]秒として補正すればよいでしょうか。

  • PID制御のプログラミング

    実際にPID制御のプログラミングを使用とした場合、サンプリングした離散データを元に制御を行うことになりますが、以下のページの説明ではやり方が異なるようです。どちらが正しいのでしょうか。 1.http://www.picfun.com/motor05.html   ΔMVn = Kp(en-en-1) + Ki en + Kd((en-en-1) - (en-1-en-2))   MVn、MVn-1:今回、前回操作量  ΔMVn:今回操作量差分   en,en-1,en-2:今回、前回、前々回の偏差 2.http://www.mech.utsunomiya-u.ac.jp/ozaki/education/kikaijyoho-2000/sec1.html   p=e   i=i+e   d=e-e1   y=Kp(p+Ki×i+Kd×d)

  • 制御のオーバーシュートについて

    PID制御について、 オーバーシュートが発生する原理について 教えていただけないでしょうか? 特に積分制御(I動作)との関係も 説明していただけると助かります。

  • フィードバック制御における目標値との差分値の符合について。

    フィードバック制御における目標値との差分値の符合について。 現在FPGAを用いてフィードバック制御を試みています。 PI制御を考えております。 制御の本を読むと、最初に【目標値ー制御対象信号】を行い、 その差分に対してPIの係数をかけて…最後に目標値と出てきた差分を足して、最終出力とあります。 制御対象信号が目標値よりも小さい場合、差分出力はプラスとなり、最終出力は目標値よりも大きい値が出てきます。 逆に制御対象信号が目標値よりも大きい場合は最終出力は目標値よりも小さい値が出力され、目標値に対して振動し、収束します。 制御の本を見ると、オーバーシュート等せずlogのようなカーブを描いて収束する方法もあるとありましたが、上記の方法だと、目標値に対して振動してしまい、実現できません。 下記内容についてお伺いしたいです。 ・振動して収束とlogのようなカーブで収束と両方できる制御方法はあるのでしょうか? ・Pの比例係数は負の値もとれるのでしょうか? よろしくお願いします。

  • フィードバック制御の操作量と積分制御について

    お世話になります。 2点お伺いしたいと思います。 1点目はフィードバック制御の操作量についてです。 一般的なフィードバック制御のイメージは、 車の速度を一定に保つために、アクセルやブレーキを操作することや 風呂の温度を一定に保つためにお湯をたしたりすることです。 天秤の片方に重り(例えば10g)が載っており、平行に保つために用意された重り(こちらも10g)があるとします。 その用意された重りは片方に載っている重りと同じ重さの重りが用意されており、 それを載っけることで平行にすることができたとします。 その後誰かが1g抜き取ってしまったため、片方も1g抜いて平行に戻した。 これはフィードバックとは言わないのでしょうか? 車や風呂との違いは時間で徐々に目標値に近づくのではなく、 次のステップで目標に達することです。 2点目は、積分制御の具体的な実現方法が思いつかずに困っております。 現在FPGAでフィードバック制御の構築を考えております。 積分制御の目的は一般的に比例制御で制御しきれないオフセット値を打ち消す役目だと認識しております。 http://www.f-kmr.com/pid_control.htm のPI制御の図のようなイメージです。 実現方法は目標値との差をサンプリングごとに足していって、差し引くとオフセットが0になるということでしょうか? 単純なサンプリングごとの差の積分では実現できないのでしょうか? よろしくお願いします。

  • 制御工学の問題を教えてください!!

    制御工学に関する質問です 画像のようなフィードバック系において 目標値と外乱がいずれも単位ステップ関数の時、定常偏差が0となるための条件を求めよ という問題です ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー ・目標値が単位ステップ関数で外乱が0の時は 0型の時は偏差が1/1+KなのでKの値を∞に近づける。もしくは積分器を1つ以上もつこと ・目標値が0で外乱が単位ステップ関数の時は 偏差は-Gp(0)/1+Gp(0)+Gc(0) つまりGc(0)=∞、またはGp(0)=0 よってGcに積分器が1以上あるかGpに微分器が1以上あるかということ ということは分かったのですが 目標値と外乱両方となると分かりません どなたか解答出来る方がいらっしゃいましたら 教えてください!! よろしくお願いいたします!!!!!!

  • 制御工学について

    制御工学の実験のレポート課題でこんなのが出たんです 「一般に目標とする温度に制御温度を追従させることが重要である。良い制御結果を得るには、どのようなことに考慮すればよいか?以下に記すキーワードを用いて説明せよ。 キーワード:即応性,安定性,オーバーシュート,ハンティング,偏差,過渡状態,定常状態,外乱」 なんとなく頭でイメージはついてるんですが、このキーワードをすべて使って文章にするとなるとやや厳しいんです・・・。 制御工学に詳しい方いらっしゃいましたらぜひ教えていただきたいです┏○))

  • PD制御について

    インターネットで確認すると、PD制御の式は下記のように記載されているのは確認しました。 u=kp(y(t)-y0)+kd(v(t)-v0) u:モータ出力 y(t):実際の角度 y0:目標角度 v(t):実際の速度 v0:目標速度 モータで制御する場合、kp、kdの値で停止精度が変わると思うのですが、正負はどのように作用するのかが分かりません。 ただkp,kdが正の場合は時計回り、kp,kdが負の場合は反時計回りになるだけなのでしょうか。

専門家に質問してみよう