PID控制器中的PID只是一種偏差調節。注意是偏差。也就是說(shuō)目標和當前實(shí)際之間的差。后面所有的都是針對這個(gè)差來(lái)進(jìn)行控制。
另外需要注意三點(diǎn),1,現實(shí)中啟動(dòng)控制到響應控制,到達到目標,過(guò)程中所有東西都有滯后性的。2,執行機構都有最小無(wú)法執行的范圍,這個(gè)我們可以稱(chēng)為死區。3,另外到達目標后所有都會(huì )過(guò)沖的。滯后和過(guò)沖的多少取決于控制的東西和執行機構。比如,溫度控制就滯后大,開(kāi)了爐子半天溫度才起來(lái)。。伺服電機控制一般滯后小,要停馬上就停,要動(dòng)馬上就動(dòng)。
而過(guò)沖的情況是慣性造成的,比如伺服電機雖然滯后小,但是急停車(chē),導致的產(chǎn)品慣性大,就一下沖出去了。
執行機構最小無(wú)法執行范圍舉個(gè)例子,一個(gè)閥門(mén),理論上內部閥芯是沒(méi)有阻力,沒(méi)有摩擦的,哪怕上施加0.00000001n它就能動(dòng),可實(shí)際上,由于摩擦之類(lèi)因素,必須施加1n才能動(dòng)。這1n就是死區。
注意這三點(diǎn)。
下面再來(lái)說(shuō)PID
pid我這里簡(jiǎn)單稱(chēng)為比例器,積分器和微分器。它們最終都要告訴cpu怎么去輸出控制量,實(shí)際上他們都是在欺騙cpu下面具體說(shuō)說(shuō)。
p是比例。代表偏差放大的倍數。為什么要放大呢,剛才說(shuō)了任何控制器都有死區的,加上滯后和過(guò)沖。比如目標是0mm位置,死區是1mm,當前實(shí)際是一過(guò)沖到了0.2mm。。。偏差只有0.2mm。小于死區。cpu只知道偏差是0.2,它只給0.2的控制量。結果控制器動(dòng)不了。這時(shí)候比例器出來(lái)了。它對cpu說(shuō),偏差不是0.2,是2。比例器把偏差放大了10倍。。這下cpu就滿(mǎn)意了,它按照2的偏差給控制量。實(shí)際值就回來(lái)了。。
但是,世界就沒(méi)有那么完美,一不小心,又過(guò)沖了,實(shí)際值回過(guò)頭了,一下子從0.2回到-0.01了。這下又有偏差-0.01。,這個(gè)時(shí)候哪怕比例器放大10倍(-0.1)都不夠了。怎么辦?比例器沒(méi)辦法,積分器來(lái)了,積分器一看,我來(lái)出馬,不是偏差0.1么?我每隔1秒告訴cpu偏差放大了。第一個(gè)1秒,告訴cpu偏差是0.2,第二個(gè)1秒告訴偏差是0.4,第三個(gè)1秒告訴偏差是0.9,第四個(gè)1秒告訴偏差是2.2。這樣終于大于死區1mm了。cpu開(kāi)始控制。。這個(gè)1秒,就是積分時(shí)間。注意,積分告訴cpu的偏差改變不是線(xiàn)性的而是類(lèi)似上揚曲線(xiàn)的。
微分呢?微分是提前剎車(chē)。就好比開(kāi)車(chē)接近目標了。車(chē)速還沒(méi)降下來(lái),他就來(lái)個(gè)剎車(chē)。但這個(gè)剎車(chē)不是勻速的,越接近剎車(chē)力越大。微分監控的就是這個(gè)偏差的變化率。