プロが教えるわが家の防犯対策術!

インターネットで確認すると、PD制御の式は下記のように記載されているのは確認しました。

u=kp(y(t)-y0)+kd(v(t)-v0)

u:モータ出力
y(t):実際の角度
y0:目標角度
v(t):実際の速度
v0:目標速度

モータで制御する場合、kp、kdの値で停止精度が変わると思うのですが、正負はどのように作用するのかが分かりません。

ただkp,kdが正の場合は時計回り、kp,kdが負の場合は反時計回りになるだけなのでしょうか。

A 回答 (2件)

PID制御の基本↓


http://www.compoclub.com/products/knowledge/jido …
製品情報 > 製品の基礎知識 > やさしい自動制御のお話 > 第四章 PID制御について

このサイトでは温度制御の場合ですが考え方はモータ駆動でも同じです

基本はP動作のみ
I動作はP動作で制御しきれない場合の補正に過ぎません
D動作も同様に基本的には補正目的です


>今実施しているのは、モータの位置制御のみです。
位置制御ではD動作はさせないのが普通です
ハンチングが収まらなくなる
I動作はさせるけれど


kp,kdは通常では固定値です
動的に変化させることは無い


>例えば、y0(目標値)が90°でy(t)が80°であった場合で角速度が10°/secであった
モータで位置制御する場合は
一般的には位置ループと速度ループは分離させます
http://www2.wbs.ne.jp/~mec/LoopGain.htm
http://www.cqpub.co.jp/hanbai/books/41/41501/415 …
http://www.fa.omron.co.jp/guide/faq/detail/faq02 …
    • good
    • 0
この回答へのお礼

ご丁寧にありがとうございます。
つまりは位置及び速度は別のため、比例成分及び積分成分にて位置制御を実施するということですね。
一度試してみます。

お礼日時:2013/12/03 22:41

 DCサーボモータで「角度」(例えば制御弁の開度調節のためのストロークなど)を制御するということですか?



 (y(t)-y0)は、目標角度との偏差であり、制御出力はこれをゼロにするように出力を出します。そうしないと、制御になりません。
 偏差がプラスならマイナス側の出力で偏差をゼロにしようとする、偏差がマイナスならプラス側の出力で偏差をゼロにしようとする、ということ。

 (v(t)-v0の部分)は、単純にこれだとおかしくて、目標角度に達して整定(速度ゼロ)しているのに、速度偏差でさらに動かそうとしてしまいます。この動きは、「正負」の問題以前に不可解です。
 通常、v0は定数ではなく、[y(t)-y0]の関数なのではないでしょうか。目標位置との偏差が大きい時に速く制御し、目標位置との偏差が小さくなると速度を落とし、偏差ゼロで整定する。(v(t)-v0)は、その速度偏差であり、kdの正負は、速度制御として目標との偏差をゼロにするような出力がどちら方向かで決まる、ということです。
 速度制御の式が、角度制御の式と単純な和になっているのはおかしいと思います。この場合の u って一体何なのでしょうか。

 いずれにせよ、kp、kdなどの係数の「正負」は、「偏差をゼロにするように出力する」ということで決まります。

 そもそもの制御対象・内容が分かっていないので、頓珍漢な答えだったら失礼しました。
    • good
    • 0
この回答へのお礼

ご連絡いただきありがとうございます。

今実施しているのは、モータの位置制御のみです。
モータをsin波で回転させ追従できるようにしたいわけです。
uはモータに流す電流の大きさをイメージし記載しました。
また、v(t)はy(t)の時間微分です。(記載漏れがありもうしわけありません。)

kp,kdについてはなんとなく理解できました。
つまりは下記のような理解でよろしいのでしょうか。

例えば、y0(目標値)が90°でy(t)が80°であった場合で角速度が10°/secであった場合で
さらに速度の目標値v0=0の場合を考えると

u=kp(90-80)+kd(10-0)であり、角度が大きくまた速度が速い程u(モータに流す電流)が大きくなり、目標値に早く近づけるように作用するということでしょうか。また、kp,kdが大きいほどuが大きくなるため、早く目標値に近づくということでいいのでしょうか。

さらにkp,kdの値を負にすると、uがマイナスになるため、電流も逆に流れ逆回転するということでしょうか。

お礼日時:2013/12/02 22:49

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