使用PID控制器控制線性伺服電機
2023-03-11 14:31:29 EETOP本文以線性伺服電機的用例說明了比例積分微分 (PID) 控制,包括其背后的數學原理。
通過本文你將能了解到:
PI
電
固件
/* 當前誤差- 比例項 */
e = r - y;
/* 累積誤差- 積分項 */
總誤差 += e;
/* 差分誤差- 導數項 */
deltaError = e - 先前的錯誤;
/* PID控制*/
u = Kp * e + Ki * (totalError * T) + Kd * (deltaError / T);
/* 同時為下一次迭代做準備——將之前的設置為當前錯誤 */
以前的錯誤= e;
PID 增益調整
有幾個評估系統性能的標準,包括死區時間、上升時間、過沖、穩定時間和穩態誤差。雖然在調整 PID 增益之前應根據這些標準定義性能預期,但此類預期取決于應用程序的要求。因此,就本文而言,足以說明各種標準何時受到不同增益調整的影響。
Kp , K i , _和Kd增益將單獨調整,并按此順序,給定一個選定的設置點。更具體地說,代碼將在每次執行時將其中一個增益設置為不同的值,并將 r 的值設置為 700。
至于這個 700 值的相關性,讀者應該記得Current Position是一個數字值,表示從執行器的電位器獲得的電壓,而Current Position現在在我們的代碼中由變量 y 表示。設置位置-表示我們代碼中的變量 r - 是相同范圍內的數字值,如前所述,如果 ADC 具有 10 位分辨率,則該值介于 0 和 1023 之間。因此,700 的設定點值是合理的,盡管是任意的。
調整 K p以接近目標位置
Kp是比例增益??刂坪瘮档谋壤椡ㄟ^使用與該電流誤差成比例的信號移動線性致動器來補償電流誤差。比例項用于使當前位置接近目標是有意義的,因為該誤差是執行器的設定位置與其當前位置之間的差異。比例項使控制函數尋求將其減少到零。
在調整的第一步中,我們將積分和微分增益K i和K d設置為零,并增加比例增益K p直到致動器穩定在目標位置附近 (700)。比例增益太高會引起振蕩。
圖 5中的圖表顯示了對于不同的K p值,執行器的當前位置如何隨時間變化。我們將選擇K p = 1,觀察它會導致當前位置穩定在目標附近并且穩定時間最快。
圖5.比例增益調整。
讀者會注意到有一個殘余的穩態誤差,即最終的當前位置與目標設定點位置有偏差。這種偏移在純比例控制器的情況下很常見,并且會在下一步調整積分增益時消除。
調整 K i以消除穩態誤差
Ki是積分增益。控制函數的積分項通過使用與隨時間累積的過去誤差量成比例的信號移動線性致動器來補償過去誤差。積分項用于消除穩態誤差是有意義的,因為該誤差是一個常數偏移量,它會隨著時間的推移增加積分,從而使控制函數試圖將其減小到零。
在調整的第二步中,我們保持在第一步中選擇的比例增益K p = 1,將微分增益K d設置為零,并增加積分增益K i直到執行器穩定得更接近目標位置 (700) ——即,直到穩態誤差接近于零。
圖 6中的圖表顯示了對于K p = 1 的不同K i值,執行器的當前位置如何隨時間變化。對于一組給定的要求, Ki = 0.5的結果可能非常令人滿意,我們可能會選擇不涉及微分項,在這種情況下,解決方案將是比例積分 (PI) 控制器。
圖6.積分增益調整。
但是,或者,我們可能更愿意選擇K i = 2,這可能是由于其結果中顯示的上升時間有所改善。讀者會注意到,在這種情況下,更好的上升時間是以過沖為代價的。當在下一步中調整微分增益時,將消除這種過沖。
調整 K d以消除過沖
Kd是微分增益。控制函數的導數項通過使用與根據誤差的時間導數(即其變化率)估計的未來誤差量成比例的信號移動線性致動器來補償未來(估計的)誤差。
微分項用于消除瞬態效應(如超調)是有道理的,它們自然反映在時間導數中,從而使控制函數尋求將它們減少到零。在存在干擾的情況下提高穩定性和縮短建立時間是額外的相關優勢。但是請注意,如果誤差信號非常嘈雜,微分項會使控制系統不穩定。
在這第三步調整中,我們保持在前兩步中選擇的比例和積分增益K p = 1 和K i = 2,并增加微分增益K d直到消除超調。微分增益太高會引起振蕩。
圖 7中的圖表顯示了對于不同的K d值,K p = 1 和K i = 2 ,執行器的當前位置如何隨時間變化。我們將選擇K d = 0.05,觀察到它有效地減少了過沖,同時保持了改進的上升時間。
圖7. 微分增益調整。
然后,在我們的控制器版本中,啟用了所有三個信號比例、積分和微分,我們已經成功地調整了它們的增益以實現適當的控制器行為。我們還確定增益值應為K p = 1、K i = 2 和K d = 0.05。
結論
這篇關于 PID 控制的文章解釋了 PID 控制器核心的數學原理,并提供了一個實際示例,說明如何實現該數學原理以在微控制器上運行。討論了用于位置控制的微控制器和直流伺服電機之間的信號性質的實際考慮因素。
最后,提供了一些數據來演示如何手動調整控制函數的比例、積分和微分項以獲得適當的性能。它還讓讀者了解 PID 算法中每個函數的用途。
通用現成的 PID 控制器不是將 PID 控制設計到定制的嵌入式設備中,而是工業市場上可用的替代品,例如,其中一些基于可編程邏輯控制器 (PLC)。這些可能會滿足許多用戶的需求。
但是,如果它需要與您的工廠流程相關的非標準功能,它可能無法滿足您的應用需求?;蛘撸绻刑厥獾臄祿ㄐ判枨?,或者如果通用控制器具有您希望避免用于成本敏感型應用的不需要的功能。在這種情況下,定制 PID 控制器設計是一種選擇。(EETOP編譯自electronicdesign)