【串級PID】淺談串級PID作用及意義——快速理解串級PID結構優勢(附圖)

答應爲實驗室的同學做一次簡單的關於串級PID的介紹,主要從感性認識串級PID的結構與作用切入,因此筆者儘量避免引入公式及其推導,因爲這些推導在各類控制類書籍與相關論文中均有介紹,我就不再班門弄斧了。

本文假設讀者已有單級PID控制的基礎,對於PID的原理不做描述。


 

假設我們需要解決這樣一個問題:

控制小車從當走到紅色標籤位置,設小車實時位置爲x0(t)

 

如果我們使用單級PID,運動框圖應該如下圖所示:

誤差e來自小車當前位置與目標位置的差值,即 e = x1 - x0;

誤差e經過PID算法得到輸出小車給定速度v;

小車給定速度v經過建立的電機小車模型傳遞函數(實際上是一個積分器,對速度積分即可得到位移),得到小車的當前位置x0;

選取一組合適的PID參數,我們就可以很好的實現這個任務。根據不同的要求,我們可以找到不同的PID參數以實現快速收斂控制,或者無超調控制。

但是現在考慮這樣一個情況:

小車所在的路面與水平面存在一個非零的夾角θ:

現在如果我們還拿之前的PID參數去解決這個問題,我們可能就會發現小車的運行情況沒有之前那麼理想了,可能會出現但不限於收斂速度變慢無超調控制的PID參數出現超調小車在目的地附近振盪等情況。

這是爲什麼呢,我們仔細看一下之前框圖裏的執行環節Motors-Car,把它打開看一下:

我們發現,真正的積分器環節是Car,而積分器環節Car的真正輸入是v';

v恆等於v'嗎?換言之,我叫小車電機以v的速度運行,他會立刻響應並保持在這一速度嗎?答案顯然是否定的:

v'與v不完全一致,這就是原有的單級PID控制算法出現問題的原因,我們實際供給電機的是電壓,一定的電壓對應一定的轉速v,然而電機轉速v不是關於電壓的單值函數電機轉速v受到很多條件的影響,鑑於電機模型複雜且對於不同種類的電機模型也不盡相似,我們只討論其中的另一個主要變量:負載轉矩。當小車啓動制動,走上坡道都會造成負載轉矩的變化,從而進一步影響電機轉速v

如何解決?我們可以對電機Motors環節做一個轉速閉環:

這樣就可以改善這個問題(注意是改善,不是解決!)

有了這個閉環,就可以讓電機的實際轉速v'快速的跟蹤給定速度v,至於有多快,還是要看電機模型和PID參數,但是一定比之前開環控制的效果要好。

我們將這個改良的執行環節 Improved Motors-Car 替換原先單級PID運動框圖中的執行環節Motors-Car,就可以得到這樣一個串級PID的結構框圖了:

如此操作,在傾斜的坡道上,原來的參數也能較好的適應了。我們來看這個結構框圖,裏面有兩個反饋箭頭,也就形成了兩個閉環,一個環在內,一個環在外。

其中轉速閉環稱爲串級PID的內環位置閉環稱爲串級PID的外環,現在去想象一下小車實際運行的情況,是不是能比較好的理解課本上 內環先穩定,外環後穩定的原因了?

 

 

 


筆者希望這篇博文能夠起到拋磚引玉的作用,讓各位讀者在之後系統學習串級PID的推導時更好的理解串級PID的思想。如果您覺得這篇博文有幫助,請您點下右上角的點贊,謝謝!

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