2011-03-20 104 views
1

該我的我是最後幾個以前的錯誤的總和,只能通過它的收益權。在PID(比例積分微分)的比例積分微分

使用錯誤(-1)來表示以前的錯誤,錯誤(-2)爲表示在此之前的等錯誤... 'I' 可以被描述爲:

I =(錯誤(-1 )+誤差(-2)+誤差(-3)+誤差(-4)等...)* I_GAIN

爲什麼當PID被設計爲 '我' 而不是替代設計爲坡關的重要性成爲過去,例如:

I =(錯誤(-1)+(錯誤(-2)* 0.9)+(錯誤(-3)* 0.81)+(錯誤(-4)* 0.729)+等。 )* I_gain

編輯:reworded

+3

我認爲這是題外話題。嘗試http://math.stackexchange.com/ – CesarGon 2011-03-20 23:02:59

+3

我認爲最後幾個錯誤的總和是積分。導數是錯誤的變化,而不是總和。導數「會減弱」系統,如果係數太低,系統會變得不穩定,因此您的積分不會逐漸減少。 – Faken 2011-03-20 23:03:39

+0

謝謝,您的權利已更正。令人討厭的是它可能會在任何一個堆棧站點中出現,如果我在這裏沒有得到答案,我可能會在數學站點重新發布。你是否在說,積分不會減少過去重要性的錯誤是因爲D的影響? – alan2here 2011-03-20 23:14:58

回答

2

積分項是所有過去的錯誤的總和。您只需在每個時間步驟將錯誤添加到「集成商」。如果需要限制,如果超出範圍,則將其限制在最小值或最大值。將該累加值複製到輸出中,並添加比例和微分項,並在必要時再次鉗位輸出。

導數項是本和先前的錯誤(錯誤的變化率)之間的差。 P當然是正比於錯誤。

 
err = reference - new_measurement 
I += kI * err 
Derivative = err - old_err 
output = I - kD * Derivative + kP * err 
old_err = err 

在那裏,你有它。當然省略了限制。

一旦控制器達到基準值時,誤差將變爲零並且積分器將停止改變。噪聲自然會使其反彈一點點,但它會保持在滿足您的目標所需的穩態值,而P和D項用於減少瞬態的大部分工作。

請注意,在一個穩定狀態,在我任期提供任何輸出的唯一的事情。如果控制器已達到參考值並且需要非零輸出,則由於誤差將爲零,所以僅由積分器提供。如果I術語使用加權誤差,則它將開始衰減回零,並且不根據需要維持輸出。

+0

我不認爲這意味着以前的所有錯誤,在你停止計數的一些錯誤之前,例如前面的20個錯誤,我們被指示使用我們'I'中的最後4個錯誤。 – alan2here 2011-03-21 01:24:47

+1

誰指示你這樣做? – phkahler 2011-03-21 12:24:38

+0

這不是最後4個,我已經重新評估過,它是值的最後10秒(更像是數百),但是每個人都說'不'會永遠回去,因爲這不是一個明智的PID方法。 – alan2here 2011-03-21 20:32:48