手把手教你看懂並理解Arduino PID控制庫——設定值忽然改變

引子

本文將分析《手把手教你看懂並理解Arduino PID控制庫》中:設定值的忽然改變,如何避免輸出突變。ui

問題定義

首先先看一下上述問題的圖示說明:spa

假設PID控制的輸出的限制是255,若是按照PID經典公式計算,PID控制器不知道其輸出的極限值是255,因爲設定值較大,那麼輸出會一直增加,超過255,達到300/400或者更高。此時,忽然下降設定值到一個較低的位置(比被控量更小),那麼,因爲積分項的做用,輸出會須要必定的時間纔會漸漸過分到極限值如下,而後再慢慢降到所需的設定值。從圖中看,就是綠色線條的Lag,這個 是咱們不但願看到的。.net

解決方案

有多種手段能夠減少上述問題的影響。blog

最簡單的方式:告訴PID軟件輸出限制是什麼,一旦達到了限制,PID參數將再也不累加(積分),注意這裏不是「生硬」的將輸出限制在極限值,而是到達極限值後,要關閉積分項的繼續累加,不然一旦PID恢復,積分項超限部分仍會進入控制流程,影響輸出。至於微分項,在時間上僅和上一次的被控量值存在關聯,因此影響是微乎其微的。get

從圖中看出:軟件

一旦積分項控制住了,輸出值則會被限制在一個合理的範圍中,就算超限,也不會過大。而被控量在設定值降到合理範圍後,也不會存在時間上的較大滯後。im

NOTE:若有不足之處請告知‘img

下一章節將分析PID開啓和關閉對系統的影響^.^時間

NEXT解決方案

PS:轉載請註明出處:歐陽天華

相關文章
相關標籤/搜索