[學術] 自動控制基本問題

看板Mechanical (機械)作者 (MARS奧古斯都)時間8年前 (2017/11/30 01:54), 8年前編輯推噓5(5031)
留言36則, 4人參與, 8年前最新討論串1/1
各位大大好 小弟我想請問一下 在課本討論steady state error的單元中 在analysis via input substitution的部分 只有推導出step input跟ramp input的Xss與e(無限大)的公式 可是沒有parabolic input的部分 在跟幾個同學討論的過程中出現兩種想法 一是Xss在n=1時=0.5t**2+Wt+const. e(無限大)=lim(t**2-Yss) ※t趨近無限大 二是Xss在n=1時=0.5(t**2+Wt+const.) e(無限大)=lim(t**2-Yss) ※t趨近無限大 請問哪個才是正確的 如果都錯也希望能得到正確的答案與相對應的e(無限大)的公式 謝謝各位大大! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.246.101.37 ※ 文章網址: https://www.ptt.cc/bbs/Mechanical/M.1511978081.A.378.html

11/30 12:23, 8年前 , 1F
e(無限)又稱static state error我會用頻域來考慮而不是時域
11/30 12:23, 1F

11/30 12:26, 8年前 , 2F
一個系統的transfer function 可以分成type0 type1 等等...
11/30 12:26, 2F

11/30 12:26, 8年前 , 3F
而區分這些type的方式是用有多少"單獨的s"在分母
11/30 12:26, 3F

11/30 12:29, 8年前 , 4F
若 open loop system 的 transfer funtion 為 G(s)
11/30 12:29, 4F

11/30 12:30, 8年前 , 5F
Then transfer function for closed loop system will be
11/30 12:30, 5F

11/30 12:33, 8年前 , 6F
output/ input = Y(s)/X(s) = G(s)/(1+G(s))
11/30 12:33, 6F

11/30 12:35, 8年前 , 7F
而error E(s) = input X(s)-Y(s) = X(s) * 1/(1+G(s))
11/30 12:35, 7F

11/30 12:37, 8年前 , 8F
而steady state error 被定義為 e(t->無限)
11/30 12:37, 8F

11/30 12:39, 8年前 , 9F
而微積分的final-value theorem 又告訴我們lim{e(t)}(t無限)
11/30 12:39, 9F

11/30 12:40, 8年前 , 10F
= lim{E(s)}(s趨近0),所以steady state error (ess) =
11/30 12:40, 10F

11/30 12:42, 8年前 , 11F
lim{e(t)}(t->無限) = lim{sE(s)}(s->0)= lim{sX(s)/(1+G)}
11/30 12:42, 11F

11/30 12:44, 8年前 , 12F
如果今天X(s)是unit step input, 就可以將X(s)換成 1/s
11/30 12:44, 12F

11/30 12:46, 8年前 , 13F
換掉在進行約分以後 ess = lim{1/(1+G(s))}(s->0)
11/30 12:46, 13F

11/30 12:47, 8年前 , 14F
接著G(s) 是什麼type 的系統就很重要了
11/30 12:47, 14F

11/30 12:47, 8年前 , 15F
如果是type0,因為分母沒有s,G(0)就會是一個常數
11/30 12:47, 15F

11/30 12:49, 8年前 , 16F
依照前面的式子ess= lim{1/(1+G(0))} 你的ess也就會是個常數
11/30 12:49, 16F

11/30 12:49, 8年前 , 17F
如果是type1,分母有單獨的s,那G(0)就會趨近無限大
11/30 12:49, 17F

11/30 12:51, 8年前 , 18F
ess= lim{1/(1+G(s))}就會變無窮小。type2,3..以上皆如此
11/30 12:51, 18F

11/30 12:52, 8年前 , 19F
當你的input X(s)是ramp input,X(s)=1/s^2
11/30 12:52, 19F

11/30 12:53, 8年前 , 20F
我們的steady state error = lim{1/s^2 * s/(1+G(s))} =
11/30 12:53, 20F

11/30 12:54, 8年前 , 21F
lim{1/( s + sG(s) )} = lim{1/sG(s)} (s->0)
11/30 12:54, 21F

11/30 12:55, 8年前 , 22F
你會發現分母是sG(s),多出來的s會讓ess趨近於無限大當s->0
11/30 12:55, 22F

11/30 12:57, 8年前 , 23F
如果G(s)是type0系統,那在G旁邊的s肯定消不掉 ess會->無限
11/30 12:57, 23F

11/30 12:58, 8年前 , 24F
若G(s)是type1系統則可以用G自己分母的s與之相消而得到常數
11/30 12:58, 24F

11/30 12:59, 8年前 , 25F
type2以上的系統則會留下一個1/s在 ess 的分母 讓ess->0
11/30 12:59, 25F

11/30 13:00, 8年前 , 26F
接下來就是你所問沒有什麼被探討的二次parabolic input
11/30 13:00, 26F

11/30 13:04, 8年前 , 27F
我們直接查laplace表,可以得知二次時域方程在頻域為1/s^3
11/30 13:04, 27F

11/30 13:05, 8年前 , 28F
代入ess = X(s) * 1/(1+G(s)), ess = 1/(1+G(s)) * 1/s^2
11/30 13:05, 28F

11/30 13:06, 8年前 , 29F
= 1/(s^2 + s^2G(s)) = 1/(s^2 * G(s)){s->0}
11/30 13:06, 29F

11/30 13:07, 8年前 , 30F
跟之前的流程相同,因為分母有s^2,G(s)至少必須為type2系統
11/30 13:07, 30F

11/30 13:08, 8年前 , 31F
才能讓error為常數,type3以上系統才能讓error趨近零
11/30 13:08, 31F

11/30 13:11, 8年前 , 32F
上面Final-value theorem(FVM)打錯,應為lim{e(t)](t->無限)
11/30 13:11, 32F

11/30 13:11, 8年前 , 33F
=lim{"s"E(s)}(s->0)
11/30 13:11, 33F
喔喔 好! 謝謝! ※ 編輯: Augustus1996 (27.52.10.97), 11/30/2017 14:09:43

12/02 10:53, 8年前 , 34F
太強了板上的高手
12/02 10:53, 34F

12/02 17:29, 8年前 , 35F
神人
12/02 17:29, 35F

12/07 23:21, 8年前 , 36F
簡單說系統不穩定就沒有穩態誤差
12/07 23:21, 36F
文章代碼(AID): #1Q7lHXDu (Mechanical)
文章代碼(AID): #1Q7lHXDu (Mechanical)