PID算法,對(duì)于經(jīng)常使用科研儀器設(shè)備的小伙伴們應(yīng)該已經(jīng)司空見(jiàn)慣,這個(gè)經(jīng)典的算法已經(jīng)有100多年的歷史,是工業(yè)應(yīng)用中最廣泛算法之一,在閉環(huán)系統(tǒng)的控制中,可自動(dòng)對(duì)系統(tǒng)進(jìn)行準(zhǔn)確且迅速的校正,所謂閉環(huán),就是在系統(tǒng)的輸出端可以有一個(gè)直接的參數(shù)反饋,利用輸出量同期望值的偏差對(duì)系統(tǒng)進(jìn)行控制,以用于控制輸入端,使系統(tǒng)穩(wěn)定,因此閉環(huán)系統(tǒng)又稱(chēng)作反饋控制系統(tǒng),由下圖中可以明顯的看出,此控制系統(tǒng)比開(kāi)環(huán)系統(tǒng)多了一個(gè)環(huán)節(jié)——傳感器,通過(guò)傳感器進(jìn)行采集和反饋到控制算法中,形成一個(gè)閉合的回環(huán),這也就是閉環(huán)控制系統(tǒng)中的閉環(huán)。
舉個(gè)簡(jiǎn)單的例子,鍋爐燒水,加熱器可以以一個(gè)功率給水加熱,功率越高,加熱越快,但是如果想恒定在一個(gè)溫度值,就需要一個(gè)溫度傳感器來(lái)實(shí)時(shí)采集溫度數(shù)據(jù)然后反饋給加熱端的控制器,因?yàn)榧訜崞鞯臏囟冗h(yuǎn)大于水,而且水的比熱非常大,所以當(dāng)溫度達(dá)到設(shè)定的溫度后去關(guān)閉加熱開(kāi)關(guān),水一定不會(huì)就恒定在設(shè)定溫度,余溫會(huì)使水溫高出一些,因此這部分落差的控制,就需要更精準(zhǔn)的控制了。
圖片源于網(wǎng)絡(luò)
PID控制在我們生活中也有很多應(yīng)用的身影,比如四軸無(wú)人機(jī),汽車(chē)(定速巡航),電飯鍋控溫等等;當(dāng)然,在精密儀器領(lǐng)域,PID控制更是萬(wàn)金油般的存在,可以說(shuō)只要涉及到精確控制,就有PID的身影;在英賽斯的Auto系列蛋白純化層析設(shè)備上,PID主要應(yīng)用于系統(tǒng)的恒壓控制,利用調(diào)節(jié)流速的變化,在復(fù)雜的層析柱運(yùn)行工況下,恒定壓力,來(lái)完成諸如裝柱、壓柱、平衡等的一系列操作;而在英賽斯另一個(gè)Auto Oligo大規(guī)模核酸合成系列產(chǎn)品,對(duì)于PID的恒壓控制則使用的更加頻繁,且非常重要,因?yàn)楹铣蛇^(guò)程基于對(duì)節(jié)省試劑、充分接觸、節(jié)約時(shí)間等的較高要求,需要在一定的壓力限制下輸出充分的流速,來(lái)滿(mǎn)足這些需求,并應(yīng)用于合成循環(huán)中的多個(gè)步驟。
下面對(duì)PID算法做一個(gè)簡(jiǎn)單介紹:
PID算法 是將偏差的比例(Proportion)、積分(Integral)和微分(Differential)通過(guò)線性組合構(gòu)成控制量,用這一控制量對(duì)被控對(duì)象進(jìn)行控制,這樣的控制器稱(chēng)PID控制器。具體原理和公式如下:
其中:
Kp:比例增益,是調(diào)適參數(shù);
Ki:積分增益,也是調(diào)適參數(shù);
Kd:微分增益,也是調(diào)適參數(shù);
e:誤差=設(shè)定值(SP)- 回授值(PV);
t:目前時(shí)間。
當(dāng)然,直接看公式,還是有點(diǎn)枯燥的,下面將PID分開(kāi)解釋?zhuān)瑫?huì)更直白一些。
P為比例控制,這部分是與“現(xiàn)在”有關(guān),考量的是當(dāng)前誤差,誤差值和一個(gè)正值的常數(shù)Kp(表示比例,可以理解為放大倍數(shù))相乘,P環(huán)節(jié)的第k時(shí)刻的輸出為:u(k)=Kp * e(k),簡(jiǎn)單說(shuō),就是現(xiàn)在時(shí)刻,通過(guò)考量當(dāng)前誤差的情況,來(lái)實(shí)施一定正比例的輸入,Kp越大,調(diào)節(jié)作用越激進(jìn),Kp調(diào)小會(huì)讓調(diào)節(jié)作用更保守;就像燒水,當(dāng)當(dāng)前溫度與設(shè)定的溫度差距不大時(shí),就讓加熱器輕微加熱一下,要是因?yàn)槟承┩饨缫蛩,溫度降低了很多,就讓加熱器稍用力地加熱一下,要是?dāng)前溫度比目標(biāo)溫度低得多,就讓加熱器開(kāi)足馬力加熱,盡快讓水溫到達(dá)目標(biāo)附近。但單一P算法中的缺陷:當(dāng)系統(tǒng)不存在偏差(e(k)=0)時(shí),執(zhí)行部件便無(wú)輸出,被控對(duì)象容易處于正負(fù)大幅度搖擺的失控狀態(tài)。
I為積分增益,這部分是與“過(guò)去”有關(guān),積分控制考慮的是過(guò)去的誤差,將誤差值過(guò)去一段時(shí)間和(誤差和)乘以一個(gè)正值的常數(shù)Ki。I環(huán)節(jié)的第k時(shí)刻的輸出:u(k)=Ki * ∑ei (對(duì)過(guò)去所有時(shí)間的偏差進(jìn)行求和)。這里是指對(duì)輸出設(shè)置了一個(gè)積分量,只要偏差存在,就不斷地對(duì)偏差進(jìn)行積分(累加),并反應(yīng)在調(diào)節(jié)力度上;Ki的值越大,積分時(shí)乘的系數(shù)就越大,積分效果越明顯;就比如給水加熱,如果實(shí)際溫度和目標(biāo)溫度相差不大,對(duì)于Kp來(lái)說(shuō)已經(jīng)很接近目標(biāo)值了,不會(huì)再做很大的調(diào)節(jié),加熱量只夠散熱的,這個(gè)差值始終不能縮小,但是加了Ki后,隨著時(shí)間的推移,只要沒(méi)達(dá)到目標(biāo)溫度,積分量就不斷增加,系統(tǒng)就會(huì)慢慢意識(shí)到:還沒(méi)有到達(dá)目標(biāo)溫度,該增加功率!當(dāng)?shù)搅四繕?biāo)溫度后,假設(shè)溫度沒(méi)有波動(dòng),積分值就不會(huì)再變動(dòng),這時(shí),加熱功率仍然等于散熱功率,但是,實(shí)際溫度會(huì)穩(wěn)定在目標(biāo)溫度。所以,I的作用就是,減小靜態(tài)情況下的誤差,讓受控物理量盡可能接近目標(biāo)值。
D微分增益,這部分是與“將來(lái)”有關(guān),微分控制考慮將來(lái)誤差,計(jì)算誤差的一階導(dǎo),并和一個(gè)正值的常數(shù)Kd相乘。之前有了P的作用,不難發(fā)現(xiàn),只有P好像不能讓輸出值與目標(biāo)值穩(wěn)定,控制的晃晃悠悠,好像整個(gè)系統(tǒng)不是特別穩(wěn)定,總是在“抖動(dòng)”。設(shè)想空氣中有一個(gè)彈簧被拉了一下,因?yàn)樽枇苄,它可能?huì)震蕩很長(zhǎng)時(shí)間才會(huì)停在平衡位置,但是如果要是把這根彈簧浸沒(méi)在水里,同樣拉它一下,這種情況下,重新停在平衡位置的時(shí)間就短得多。所以這樣的系統(tǒng)需要一個(gè)控制作用,讓被控制的物理量的“變化速度”趨于0,即類(lèi)似于“阻尼”的作用,讓物理量的速度趨于0,只要什么時(shí)候,這個(gè)量具有了速度,D就向相反的方向用力,盡力剎住這個(gè)變化。
小伙伴聽(tīng)到這里,可能對(duì)PID的意思有個(gè)初步的了解,但是對(duì)于實(shí)際應(yīng)用的規(guī)律,還是有點(diǎn)不清晰,這里就用英賽斯核酸合成系統(tǒng)軟件的幾張圖和來(lái)說(shuō)明我們的軟件和系統(tǒng),是怎樣通過(guò)調(diào)節(jié)PID,來(lái)進(jìn)行系統(tǒng)流速的控制的。
一般P值越大,控制響應(yīng)的速度大,流速值會(huì)更快地前往設(shè)定值,但是過(guò)沖以及波動(dòng)也會(huì)很大,過(guò)沖的時(shí)候很容易超過(guò)系統(tǒng)的壓力限制,導(dǎo)致耐壓薄弱處(如柱子或者填料)的損壞。下圖是英賽斯 Auto Oligo系統(tǒng)的一個(gè)恒壓控制圖,可見(jiàn)當(dāng)設(shè)置P=9時(shí),壓力波動(dòng)會(huì)很大,而設(shè)置P=3時(shí),波動(dòng)最緩。
I值則是用于調(diào)節(jié)流速的波動(dòng)范圍,一般I值越小,曲線偏離回復(fù)的速度越快,波動(dòng)的時(shí)間越長(zhǎng);I值越大,往目標(biāo)值調(diào)節(jié)的越緩和,波動(dòng)值會(huì)越小。下圖可見(jiàn)當(dāng)I值較低時(shí),可見(jiàn)波動(dòng)明顯放緩。
D值主要是對(duì)過(guò)沖的控制,在英賽斯系統(tǒng)里,D值一般默認(rèn)為0,不需要做調(diào)節(jié)。因此,在英賽斯系統(tǒng)里,PI(D值無(wú)需調(diào)節(jié))值均有它的作用,不過(guò)在設(shè)備出廠測(cè)試時(shí),數(shù)值都已經(jīng)調(diào)節(jié)到最佳狀態(tài),非特殊情況,大家不要去輕易調(diào)整;如果調(diào)節(jié)有一定誤差,可在英賽斯技術(shù)服務(wù)部工程師的指導(dǎo)下進(jìn)行調(diào)整。當(dāng)然,系統(tǒng)軟件也自帶恢復(fù)默認(rèn)值的功能,當(dāng)參數(shù)都已變動(dòng)并無(wú)法調(diào)節(jié)到最佳時(shí),也可以利用這個(gè)功能恢復(fù)到出廠狀態(tài)。