状態フィードバックのあるPIDコントローラーコンポーネントを単一伝達関数および離散状態空間形式に変換


9

私はこの問題に1年間取り組んできたプロジェクトの一環として、約1週間取り組んでいます。モデルに基づいて特定のリアクターのコントローラーを設計しています。これをしばらく見た後、私はまだこれを動作させることができません-何か助けを得ることができれば本当に感謝しています。

私たちが非常に基づいている公開された文献レビューの1つは、次のように、結合された方程式ではなく、PIDコントローラーを各個別のコンポーネントにリストします。

{P(n)=Kp[G(n)target]=1+KpT[Gtarget]D=KpTDdGdt

3つのコンポーネントをPIDコントローラー出力に単純に組み合わせる:

PID(n)=P(n)+I(n)+D(n

そしてここから、PID信号の上に状態フィードバックの追加レイヤーを追加して、最終的なコントローラー出力をシステムに適用します。

{Q(n)=K0R(n1)+K1Q(n1)K2Q(n2)R(n)=(1+γ)PID(n)γQ(n1)

そして、Rは最終的な「コントローラー出力」です。ここで、はプロセスゲイン、とは積分ゲインと微分ゲイン、とは状態フィードバック(不変)用に調整された "ゲイン"、は定数0.5です。はシステム状態、はモデルダイナミクスに影響を与える推定状態、はプラントに送信される実際の最終出力です。KpTITDK0,K1K2γG(n)Q(n)R(n)

最初にすべてを単一のコントローラー伝達関数に変換しようとしましたが、単純にそれらを単に加算するだけでは機能しないと言われました。

このコントローラーの離散状態空間表現を見つけることも私に課せられました。このため、をして、その問題を解消しようとしました。dGdt(n)G(n)G(n1)

次に、新しい状態変数を定義して、と次に変換できるようにしました。Q(n)Q(n1)Q(n2)

次に、値をPIDコントローラーに代入して、を状態変数として取得しようとしました。これらの取り組みはすべて、私の教授の推薦に基づいていました。G(n)

ただし、全体的なビジョンを持たずに盲目的に彼の指示に従っていたため、私は依然として非常に行き詰まっています。それはタスティンの変換の単純な問題だと思った-ああ、どうやって私は非常に間違っていました...

1週間の努力の後、私はまだ単純な問題であると思われるものに困惑しているので、私はかなりイライラしています。

できれば、この2つの具体的な質問について、何卒よろしくお願いいたします。

  1. このコントローラーを単一のコントローラー伝達関数に変換します(通常、任意の伝達関数表現で見られるように、)。G(s)=1s+1
  2. このコントローラーを離散状態空間表現に変換し、サンプリングレートを変数として残しますか?

MATLABとMapleはこれらの問題を処理できます。私は両方のプログラムを持っています。私はあなたの投稿を印刷して、それらを働かせようとします。私は大学でこれをやった。
Wesley Wortman、

出版物のタイトルを教えてもらえますか?
Hazem 2017

回答:


1

それは完全な答えではありませんが、それが何らかの助けになることを願っています。

最初のシステムを次のように書き直すことができます

{P=KPE=1+KPTEΔtD=KPTDEE1Δt

E=GtargetΔtTDTK=KPTKD=KPT

これで、エラーの単一の関数としてシステムを書き換えることができます。

PD=P++D

I(n1)=PID(n1)P(n1)D(n1)=PID(n1)KPE(n1)KPTDE(n1)E(n2)Δt

PID(n)=KPE(n)+PID(n1)KPE(n1)KPTDE(n1)E(n2)Δt+KPTIE(n)Δt+KPTDE(n)E(n1)Δt=PID(n1)+KP((1+ΔtTI+TDΔt)E(n)(1+2TDΔt)E(n1)+TDΔtE(n2))

2つ目は、1つの方程式として書き換えるには少し複雑ですが、同様の方法で行うことができます。結果は

R(n)=K1R(n1)(γK0+K2)R(n2)+(1+γ)(PID(n)K1PID(n1)+K2PID(n2))

エラーの関数としてレギュレーターの方程式を取得するには、PIDの方程式を代入するだけで済みます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.