こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PID制御での実用微分のプログラム

実用微分 (不完全微分) の伝達関数は、

Y(s) / E(s) = Kp * (1 + 1/ (Ti * s) + (Td * s) / (1 + (η * Td * s) ) )

で表されます。
これを、プログラムで実行できるように差分の形の式に変換したいです。

比例の部分は、
e

積分の部分は、
(Δt / TI) * Σe
Δt = 1 [サンプリング単位]
= Σe / TI

ですよね。

微分の部分ですが、

Y(s) / E(s) = (Td s) / (1 + (η Td s) )

→ Y(s) = E(s) (Td s) / (1 + (η Td s) )

→ Y(s) (1 + (η Td s) ) = E(s) Td s

→ Y(s) + Y(s) η Td s = E(s) Td s

→ Y(s) + s Y(s) η Td = s E(s) Td

微分方程式に変換すると、

→ y + η Td dy/dt = Td de/dt

差分式にすると、

→ yn + η Td (yn - yn-1) / Δt = Td (en - en-1) / Δt

→ yn + η Td yn / Δt - η Td yn-1 / Δt = Td (en - en-1) / Δt

→ yn (1 + η Td / Δt) - η Td yn-1 / Δt = Td (en - en-1) / Δt

→ yn (1 + η Td / Δt) = η Td yn-1 / Δt + Td (en - en-1) / Δt

→ yn (Δt + η Td) / Δt = η Td yn-1 / Δt + Td (en - en-1) / Δt

→ yn = (η Td yn-1 / Δt) Δt / (Δt + η Td) + (Td (en - en-1) / Δt) Δt / (Δt + η Td)

→ yn = (η Td yn-1) / (Δt + η Td) + (Td (en - en-1)) / (Δt + η Td)

→ yn = ( (η Td) / (Δt + η Td) ) yn-1 + ( (Td) / (Δt + η Td) ) (en - en-1)

このとき、「Δt」はサンプリング単位の「1」に置き換え、

→ yn = ( (η Td) / (1 + η Td) ) yn-1 + ( (Td) / (1 + η Td) ) (en - en-1)

で良いのでしょうか?


どうぞよろしくお願いします。

投稿日時 - 2014-08-31 14:10:00

QNo.8737176

困ってます

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

0)Y =Kp (1 +1/(Ti s) +Td s /(1 +a Td s) ) E
1)1次近似
1.0)Y =Kp (Yp +Yi +Yd)
1.1)Yp =E
1.2)Yi =Yi(t -Δt) +Δt/Ti E
1.3)Ed =Ed(t -Δt) +Δt/(a Td) (E -Ed(t -Δt))
1.3.1)Yd =(E -Ed) /a

参考URL:http://note.chiebukuro.yahoo.co.jp/detail/n285169

投稿日時 - 2014-09-02 21:37:16

お礼

回答ありがとうございます。
またゆっくり考えてみます。

投稿日時 - 2014-09-10 16:42:16

ANo.1

このQ&Aは役に立ちましたか?

11人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(1)

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-