フィルターのクリア

あるモデルのPID制御について

2 ビュー (過去 30 日間)
saitoa
saitoa 2018 年 1 月 6 日
コメント済み: saitoa 2018 年 1 月 9 日
Simulinkで水で動かすモータのブロックを作りました。それをP、pi、pid制御のどれかでモータの角度を制御したいと思ってます。そこで、やってみたのですが、うまくいきません。どこで、間違えているのか教えてください。 モータの可動範囲は、±45°です。 水の圧力の範囲は、0~1.75MPaとします。
  2 件のコメント
mizuki
mizuki 2018 年 1 月 8 日
編集済み: mizuki 2018 年 1 月 8 日
もう少し詳細を書いてもらえると回答がしやすいのですが、どこまでできていて、どううまくいっていないのか教えていただけますか?
saitoa
saitoa 2018 年 1 月 9 日
説明不足で申し訳ありません。オープンループは、モータの角速度を見る限りできています。その後のフィードバック制御を行い、PIDコントローラを入れて、値を入力すると全くフィードバック制御されていないグラフを描いてしまいます。

サインインしてコメントする。

回答 (1 件)

Hiroumi Mita
Hiroumi Mita 2018 年 1 月 9 日
添付のように、 このモデルのプラント(制御対象モデル)は、入力値の大小は関係なく ある閾値を境として+側に動く、-側に動きます。 入力の大少に関係なく、同じように動くので、いかなる制御でも制御はできません。 つまり、制御対象のモデルが適切ではありません。
多分、このモデルは圧力と流量に関するものと思われますが、 一般に、油圧、水圧系のモデルは圧力と流量を如何に変換するかがモデルの最重要点になります。また、そこが最も難しい点になります。 ここがちゃんとしてないと、まともにモデルは動きません。 拝見した限りでは、流量から圧力に積分で変換するところがもっとも怪しいです。 if条件分岐がありますが、ここも怪しいです。
そこで次のようにするとよいと思います。
#1. まず、簡単なモデルで流量と圧力の関係をしっかり固める。
#2. それがPID制御できるか確認する。
#3. その後にモデルを複雑にする。
今のモデルではなく、もっと簡単にします。まず、#1,#2をクリアーします。
また、圧力が高くなると、その分流量が多くなるので抜ける量が多くなります。 抜ける量が多くなるとその分圧力も下がるような仕掛けがあれば、 流量から圧力の変換積分で無制限に増大圧力が増大するようなことにはなりません。 そのあたりも再確認しましょう、
  1 件のコメント
saitoa
saitoa 2018 年 1 月 9 日
回答ありがとうございます。わかりやすく手順まで載せて頂きありがとうございます。 if条件分岐は、ある値で流量の式が切り替わるためswichを使うつもりでしたが、式が切り替わるところ付近がおかしかったので、使ったという経緯です。なので、本当にこれでいいのか疑問でした。 その2つの怪しいところを確認しつつ、手順に従ってやっていこうと思います。 ありがとうございました。

サインインしてコメントする。

カテゴリ

Help Center および File Exchangeモデル化 についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!