2016年2月15日 星期一

PID值調整步驟原則 & "Thermal Runaway" 的問題


PID值的調整,相信讓許多人吃足了苦頭。花很多時間看懂其原理,但在實際操作時卻又覺得不是那麼一回事。調整PID值,可以參考這圖片的調整過程。

一開始I、D值都歸零,只調整P值。P值太小,會達不到目標溫度;P值太大,會衝過頭太多。合適的P值,溫度會震盪,但應該會慢慢穩定下來。

在P值選定後,再考慮增加I值。I值的作用是要消除穩態誤差,理論上不會加快溫度穩定下來的速度,也不會減小震盪的幅度(其實是會加大震盪幅度)。I值太大,是會讓PID系統震盪的,只要沒有太大的穩態誤差,I值應該要盡量小,讓控制系統比較穩定。

最後再調整D值。D值會讓震盪的狀況減輕,但是過大的D值會讓系統難以達到目標溫度。


最近遇到有兩位網友在詢問 "Thermal Runaway" 的問題。如上圖,雖然溫度有控制在目標附近,但可以看到左下兩條綠色的"輸出功率"直方圖,都有"功率全開,瞬間又全關"的現象。這應該是屬於PID值不適合的問題。過大的P/I值,讓溫度稍微偏低,輸出功率就爆衝100%全開;待溫度稍微超過目標,輸出功率又坐雲霄飛車掉到零。遇到這種狀況,可能須要考慮重新調整PID值,或是用 Marlin 裡的 PID Autotune,做自動調校。