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

このQ&Aのポイント
  • PID制御での実用微分のプログラムについて解説します。
  • 実用微分の伝達関数は、Y(s) / E(s) = Kp * (1 + 1/ (Ti * s) + (Td * s) / (1 + (η * Td * s) ) ) です。
  • 差分式に変換すると、yn = ( (η Td) / (1 + η Td) ) yn-1 + ( (Td) / (1 + η Td) ) (en - en-1) となります。
回答を見る
  • ベストアンサー

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) で良いのでしょうか? どうぞよろしくお願いします。

noname#230227
noname#230227

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

  • ベストアンサー
  • kiyos06
  • ベストアンサー率82% (64/78)
回答No.1

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
noname#230227
質問者

お礼

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

関連するQ&A

  • 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)

  • ラプラス変換を常微分方程式に応用

    ラプラス変換を用いて、次の微分方程式の解 y(t) のうち、 初期条件 y(0)=1 を満足するものを求めよう。      dy/dt + 3y = 0 y(t) のラプラス変換を Y(s) とすると、dy/dt のラプラス変換は      sY(s) - y(0) = sY(s) - 1     ←sY(s)はどうやって出てきたの? であるから、微分方程式の両辺のラプラス変換を作ると次の式を得る。      sY(s) - 1 + 3Y(s) = 0 したがって、      Y(s) = 1/(s+3) これをラプラス変換すれば、      y(t) = e^(-3t) ・・・と書いてあるんですが、sY(s)のところが分かりません。 y(t) のラプラス変換を Y(s) とすると、dy/dt のラプラス変換は      sY(s) - y(0) = sY(s) - 1 となる、の sY(s) はどうやって出てきたんですか? 最初の s の出所が知りたいです。 ちなみに、ラプラス変換の表では 「基本的な関数は f(t) で表し、そのラプラス変換をF(s)と表す」そうで、 f(t)     F(s) ------------------- e^(at) f(t) F(s-a) のように書かれています。 sY(s)のようなのは書かれていないと思うんですけど…。 どうか sY(s) を得るまで解説お願いします。

  • ラプラス変換を用いて微分方程式 - ステップ関数

    下記の問題で、なぜ、いきなりステップ関数 u(t) が出てきたのか理由を教えて下さい。 ラプラス変換を用いて次の微分方程式の解を求めよ。 dy/dt + 3y = f(t) 模範解答 ※ステップ関数をu(t)と記す。 与えられた微分方程式をラプラス変換すると      sY(s) - y(0) + 3Y(s) = F(s) 整理すると      Y(s) = { F(s) + y(0) } / ( s + 3 ) ラプラス逆変換して      y(t) = f(t) * { e^(-3t) * u(t) } + y(0) * e^(-3t) * u(t)         = ∫[0,t] f(τ) * e^{ -3(t-τ) } dτ + y(0) * e^(-3t) * u(t) ・・・と本に書いてあります。(私の回答は u(t) を除けば正解でした。) ただ、ステップ関数はこのラプラス変換の章に入ってすぐにちょっと説明しただけで、 ここ最近の例題の答えにはまったくステップ関数が出てきていませんでした。 例えば、 ラプラス変換を用いて次の微分方程式の解 y(t) を求めよ。      (d^2 y)/(dt^2) - 3 dy/dt + 2y = f(t) という、一つ前の例題の場合、答えは      y = ∫[0,t] f(τ) * [ e^{ 2(t-τ) } - e^(t-τ) ] dτ        + { y'(0) - y(0) } * e^(2t)        + { 2y(0) - y'(0) } * e^(t) でした。似たような問題ですが、こちらにはステップ関数 u(t) がありません。 #今回のメインの問題の答えの左辺はy(0) = …、 #この問題の答えの左辺はy = …ですね。 #(しかも、問題分には「y(t) を求めよ」と書いてあるのに、です)。 #これは誤植でしょうか? ・・・ということで、いつ、どういう場合にステップ関数 u(t) が必要になるのでしょうか? どうか説明をお願いします。

  • 制御工学の PI 制御の伝達関数について質問です

    普通科高校卒の大学生1年生ですが 写真の制御工学問題で質問です。 (僕の理解力のおおよその目安です) なお質問の意図は将来に向けた 独学での学習目的です。 1、P動作とI動作の伝達関数の 和はPI 制御の伝達関数ですか? ※ Ti は積分時間 2、「I 制御」の伝達関数を求める 下記の式は合っていますか? c(t)=(1/Ti)∫e(t) dt をラプラス変換し C(s)=E(s)Kp/ Ti・s ・・・(1) より、C(s)/E(s)=Kp/ Ti・s 3、(1)式の部分について ∫e(t) dt のラプラス変換が E(s)・Kp / s となるのは何故ですか? (E(s) / s になると思っていました。) 下に写真を添付しましたが、 ここが見にくい、情報が足りない等の 指摘があれば補足の方で対応します。

  • ベクトルの微分

    r(t)=ti+t^2j+t^3kで表される曲線Cの方向の点(1,1,1)におけるφ(x,y,z)=z^2y+y^2z+z^2xの方向微分係数を求めよ。 という問題なのですがどのようにといたらよいでしょうか? ∂φ/∂s=gardφ・Tで表されると思うのですが gardφはi+3j+5kと求めることができました。 単位接線ベクトルTはこの場合どのように求めたらよいでしょうか?[r'(t)/|r'(t)|]として求めようにもtが残ってTを定めることができません、またsで微分するために線弧sを求めてsで微分しようにも線弧を求める際の積分域がどのように定めたらよいのかわかりません。 よろしくお願いします。

  • 微分方程式を求める問題がわかりません

    ラプラス変換を用いて微分方程式を求める問題がわかりません y''+4y'+5y=δ(t-π) y(0)=y'(0)=0 Y(s)=e^(-sπ)/(s^2+4s+5)までは計算したのですがここからのラプラス変換がわかりません 私の計算は間違っているのでしょうか? 解説をお願いします ちなみに答えはy=U(t-π)e^(2π-2t)sin(t-π)です

  • 微分の微分

    微分の微分は、 d^2y/dx^2=(dy'/dt)/(dx'/dt)=y''/x' と習ったのですが、 どうして y'' を x'で割らなければいけないのですか? y''を求めるのだから、y'をもう一度微分すればいいのに、 と思うのですが。。。 例えば、x= sin t y=t^2+7t+3 があります。 dy/dx(←実はこれもなん式なのかよく分かっていませんが、、、)は、 y'/x'= (2t+7)/cos t ですよね。 それで、さらに、それを微分したいのですが、 その時に、私は {(2t+7)'*cost-(2t+7)*(cost)'}/(cost)^2 だけで良いと思うのに、本当はそれを x'で割るのですよね。 それで、答えは {2cost+(2t+7)(sint)}/(cost)^3 としなければいけないのが 不思議でたまりません。 解説を宜しくお願いします。

  • 微分方程式の問題(4問)がわからないので教えていた

    微分方程式の問題(4問)がわからないので教えていただきたいです。できれば途中式、解説などもお願いいたします 【1】、【2】微分方程式の一般解を求めよ 【1】 dy/dx+(x-2)/y=0 【2】 dy/dx+1/x*y(x)=e^2x 【3】、【4】微分方程式を求めよ 【3】 d^2y/dt^2 + dy/dt - 2y(t) = sin t 【y(0)=0、 y'(0)=0】 【4】 dq(t)/dt + q(t)/RC = sin 2t 【q(0)=0】

  • 微分の問題です、助けてください。

    参考書に、答えが[略]になっていて困っています。 問題は、 「x=at^4 に対して、3つの差分の違いを調べて見なさい。 (1)前進差分を求めなさい。 (2)中心差分を求めなさい。 (3)後進差分を求めなさい。 (4)Δt→0 では、3つの差分はどれも等しく、微分dx(t)/dt に収束することを見なさい。 (5)0<Δ≪1のとき、微分からの誤差がもっとも小さいのはどの差分であるか。」 という問題でした。答えを教えてください! 私は、数学が苦手で、答えだけを見てもわからないことが多々あるので、できれば、式の過程や、説明を教えてくれるととても助かります。 よろしくお願いします。

  • 微分方程式, たたみこみ

    たたみこみを用いた微分方程式の解き方について教えて下さい。 y '' +3y ' + 2y = p(t) y (0) = 0, y ' (0) = 1 p(t) = 0 (0<t<2), 1(t>2) <解いたやり方> Q(s) = 1/(s^2 + 3s +2) = 1/(s+1) - 1/(s+2) q(t) = e^(-t) - e^(-2t) Y(s) = Q(s)(1+P(s)) 0<t<2のときP(s) = 0なので Y(s)=Q(s) y(t) = e^(-t) - e^(-2t) t>2のとき, p(t) = 1なので ∫[2,∞]{(e^(-t+τ)- e^(-2t+2τ)) * 2} dτ = -2e^(-(t-2)) + e^(-2(t-2)) 0<t<2のときは合っているのですが, t>2のときの考え方が分かりません。

専門家に質問してみよう