改進初學者的PID-測量的比例介紹

最近看到了Brett Beauregard發表的有關PID的系列文章,感覺對於理解PID算法很有幫助,於是將系列文章翻譯過來!在自我提高的過程中,也希望對同道中人有所幫助。作者Brett Beauregard的原文網址:http://brettbeauregard.com/blog/2017/06/introducing-proportional-on-measurement/

 

已經有相當長的一段時間了,但我終於更新了Arduino PID庫。我添加的是一個幾乎未知的功能,但我認爲這將是對愛好者社區的利好。它被稱爲 "測量的比例" (簡稱 PonM)。

1、爲什麼你應該關心

有一些進程被稱爲“集成進程”。在這些過程中,PID的輸出控制輸入的變化率。在工業中,這些只佔所有過程的一小部分,但在業餘愛好領域,這些傢伙無處不在:真空低溫烹飪、線性幻燈片和3D打印機擠出機溫度控制都是這類過程的例子。

這些過程令人沮喪的是,使用傳統的 PI 或 PID 控制,它們會超過設定值。不是有時,而是總是:

如果你不知道這件事,這可能會讓你抓狂。您可以永遠調整調優參數,超調仍然存在;基礎數學就是這樣。測量的比例改變了基礎數學。因此,在不發生超調的情況下,可以找到一組調優參數:

超調仍然可以肯定,但這並非不可避免。有了 PonM 和正確的整定參數,那個低溫烹飪或線性滑塊就可以直接延伸到設定值,而不是超過設定值。

2、那麼什麼是測量的比例呢?

與基於測量的微分類似,PonM 改變了比例項所關注的內容。比例項採用PID 輸入的當前值代替偏差進行計算。

基於偏差的比例:

基於測量的比例:

與基於測量的微分不同,它對性能的影響是巨大的。對於 DonM,微分項仍然有相同的作用:抵制急劇的變化,從而抑制由P和I比例測量驅動的振盪,另一方面,從根本上改變比例項的作用。它不是像I一樣的驅動力,而是像 D 一樣成爲阻力的力量。這意味着,對於PonM,一個更大的 Kp 將使您的控制器更加保守。

3、很好。但這如何消除超調呢?

要理解這個問題並修復它,看看不同的項以及它們對整個PID輸出的貢獻是很有幫助的。下面是對使用傳統 PID 的集成進程 (真空低溫烹飪) 的設定值更改的響應:

需要注意的兩大事項是:

  1. 當我們處於設定值時,積分項是總體輸出的唯一貢獻者。
  2. 即使起點和終點的設定值不同,輸出也會返回到相同的值。此值通常稱爲“平衡點“:導致0輸入斜率的輸出。對於真空低溫烹飪來說,這相當於足夠的熱量來補償周圍的熱損失。

在這裏,我們可以看到爲什麼會發生超調,而且總是會發生。當設定值第一次更改時,偏差將導致積分項的增長。爲了使進程在新的設定值保持穩定,輸出將需要返回到平衡點。要做到這一點,唯一的辦法就是積分項收縮。發生這種情況的唯一方法是負誤差,只有在超過設定值時纔會發生。

4PonM改變了遊戲規則

下面是使用基於測量的比例 (和相同的調諧參數) 控制的相同的真空低溫烹飪:

在這裏,您應該注意到:

  1. P項現在提供了一個阻力。輸入越高,它就負的越多。
  2. P項在新的設定值變爲零之前,它會一直有值。

關鍵是P項不會返回到0。這意味着I項不必單獨返回到平衡點。P和I一起可以將輸出返回到平衡點,而無需收縮I項。因爲它不需要收縮,所以不存在超調。

5、如何在新的 PID 庫中使用它

如果您已準備好嘗試 "測量的比例",並且安裝了最新版本的PID庫,則設置它是相當容易的。使用 PonM 的主要方法是在重載構造函數中指定它:

如果要在運行時在 PonM 和 PonE 之間切換,則 "設置" 函數也會重載:

您只需要在需要切換時調用重載方法。否則,您可以使用常規的設置調整功能,它將記住您的選擇。

歡迎關注:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章