-
1 # 笨澤貓
-
2 # 控制研究控
我簡單說兩句,pid控制是經典的閉環控制演算法,其本身就是為了追求將反饋訊號值和目標值之間的差距消除到最小的過程,因此可以說它一直是動態的,所以不單單是輸出值總是在變化,輸入的反饋值其實也在不斷的變化!除非達到理論上的穩態情況時,才感覺穩定了!
稍微再多說點,你可以去仔細看一下PID的演算法,它本來就是一個實際值和目標值存在差距,需要動態的追蹤這個差距且做出預判,這個預判的結果就是增大輸出或者減小輸出,這個輸出的物件就是能對你的目標值有影響的那東西!
比如,這個圖片上,這個tank的液位如果是想維持在50%的話,上邊的管道是恆定的進水量,而下邊這個閥門是一個可以調節開關的控制閥,那麼PID運算的輸出結果就需要不斷的控制這個閥門的開度,一邊進水,一邊控制出水量,進而想讓這個tank內的液位高度始終維持在50%高度的水位!
這裡50%就是目標值,實際水位可能一個時刻在40%,下個時刻在35%,下一個時刻在50%,在每一個時刻實際值和目標的50%總有一個誤差,PID運算就是根據這個誤差最終去調節閥門的開度,誤差大的時候閥門開度就快速的開啟或者關小,誤差小的時候閥門的開度也會緩慢的開大或者關小,因此輸出值其實總是和前一個時刻是不一樣的!
就簡單說這麼多了,總之能PID是一個動態的條件過程,可以認為它總是在想去消除差距,差距存在,那麼輸出必然變化,而且是動態連續的變化,而且其實也無法達到理想的100%的穩態狀態,PID計算出來的輸出,必然是時刻變化的!
-
3 # Talk工控白
PID控制將輸入進行了變化(經過了比例積分微分變化),那他的輸出值不是已經和原來的相差了嗎?
這個問題涉及到自動調節系統,可以說自動調節系統涉及到生活的方方面面,看似平淡無奇,卻又非常重要。此問題從我們自身說起,更加便於理解,先來談一波何為自動調節系統?
人從呱呱墜地起,漸漸地從感性適應了自動調節系統。例如,一件物品從來沒見過,第一次去拿起來很有可能就是失敗。第二次去拿可能就是拿起來,這就是調節了手臂力量。這件物品把它加工一下變輕,表面看起來很重此時去拿,可能會打打到臉,這就是按照原來的條件判斷導致手臂力量輸出過大而造成被打到臉了。我們人就是在不斷的接受新鮮事物,不斷的記憶事物的真相,從而再次遇到我們大腦就能發出正確的指令而做好某件事。自動調節系統中的核心技術即PID控制技術,屬於最為簡單的閉環控制技術之一。通常是利用單反饋或多反饋去實現對控制物件的調節,目的就是實現被控物件的可控性和可預知性控制,使得裝置執行起來更加可靠、即合理又平穩。
假如,小亮要去做個無聊的事,恰好有個水桶漏水,可是水桶的水要一直保持在某個位置,若發現水位低於理想水位,那麼就要往水桶加水,來保持水桶水位始終處於想要的位置。要用這個小故事來說幾個效能指標,取樣週期、比例係數、積分時間、微分時間。
要小亮在水桶旁守著,水位低則加水那麼多無聊。於是他跑到房間裡玩,過10分鐘來看一次,一看發現水都漏完了,則責怪自己太貪玩了。於是縮短在房間待的時間,於是4分鐘一次,來看的時候水位還沒下降到目標位置,於是又感覺自己跑的太勤奮了,此時又打算在房間待6分鐘,來看的時候剛好水位快下降到目標水位了,於是確定6分鐘來一次好的很。於是在專業方面把這個6分鐘稱之為取樣週期。剛開始小亮用瓢加水,心想浪費時間,於是搞著一個大桶加水,一不小心就溢流了。發現用桶加水太快了,又想用臉盆加水,此時加水速度變慢相比於瓢加水速度還是快些,但也沒有溢流,符合自己想要的,於是改為用臉盆加水了。從瓢加水到大桶再到臉盆,就是在不斷調節比例大小。小亮確實很懶,此時把舀水的工具確定了,有確定了多久去看一次水桶的水位,他還不滿足。因為此時水不會過量溢流,到還是有溢流的危險吧!於是想到打酒用的漏斗它底部有個口子,於是把它裝在水桶上,臉盆加水往漏斗裡倒,水桶溢流基本上不可能了,但是加水速度又降低了,有還出現漏的比加的多,咋辦?因此,小亮想改變漏斗口徑來解決問題,最終找到合適的漏斗口徑從而控制了加水速度。這裡把漏斗漏水的時間稱之為積分時間。人總有不滿足心,此時又在發揮懶人思想,於是看到一旦水位降低,加水不能立刻就滿足要求而到達要求水位。小亮突發奇想,把水桶旁放盆水,這盆水不往漏斗加而是直接加在水桶的。一旦發先水位降低,就即可用臉盆加水。如此看來,水位加水的及時性得到保證,但是有時手抖一下加多瞭如何是好?沒有辦法,只有在高出水面上部分開孔用管子防水,用備用桶子接住即可。這樣的話,從管子流出來的水快慢為積分時間。
綜上所述,從小亮的懶人思想可看出。比例控制其實就是加強控制作用,相當於我看到一塊石頭,要用多大的力才能搬動,過小搬不動過大費力。積分控制的作用就是消除餘差,比例控制調節好了但是達到動態平衡時,發現新平衡的值與目標值還是有差距,這個積分時間必須要設定好,否則設定過大過過小都會偏離目標值。積分時間設定好後,但是又發現水位低於目標值,加水不及時有一定的延時,此時只能用微分控制作用進行超前控制。因此,P、I、D一起用就是PID控制、P、I一起用就是PI控制、P、D一起用就是PD控制。這個在工程應用中具體如何應用呢?
PID引數選定原則及模擬控制框圖在自動調節系統中,比例、積分、微分組成PID控制器。儀表投自動需要耐心的看曲線、不斷的進行修正,才能達到理想。例如在在儀表方面的控制變數常見的有壓力、液位、流量、溫度,其中就設定的P、I、D的引數設定,才能達到一種動態平衡。
在實際操作中,我們只先要設定一個經驗值,後面修正就根據調節效果進行。
壓力系統;P(%)比例度在30-70,I(s)積分時間0.4-3s。
液位系統;P(%)比例度在20-80,I(s)積分時間1-5s。
溫度系統;P(%)比例度在20-60,I(s)積分時間3-10s,D(s)微分時間0.5-3s。
流量系統;P(%)比例度在40-100,I(s)積分時間0.1-1s。
從上面的溫度系統舉例,從控制水溫加熱到100℃。分析問題;當水溫加熱到100℃停止加熱,但是由於溫度控制滯後性,雖然加熱棒或加熱管不在通電加熱,經過一段時間溫度還會持續上升,此時溫度肯定會高於100℃,原因是因為加熱器和水本身的傳遞溫度有惰性導致的現象。於是溫度高於100℃,達不到我們控制要求。那麼在100℃之前停止加熱,利用加熱管的散熱和水的惰性,過段時間溫度肯定會達到100℃。這麼想肯定是能解決問題,但是要在多少度停止加熱剛剛好了呢?太早了停止加熱怕水的惰性和加熱器散熱達不到100℃,太晚了怕加熱溫度高於100攝氏度。利用我們人為解決既複雜又漫長,非常的困難。於是科學家研究出了經典的PID控制技術,即PID閉環控制。如何操作呢?在PID控制器中輸入目標值100℃,然後再用溫度感測器進行現場實時取樣溫度資料,把這個時實時的溫度資料傳遞到PID控制器,溫度感測器用熱電偶、熱電阻都可以使用。
此時,PID控制器會接受到現場過來的實際水溫,假如剛加熱水溫時溫度為10℃,那麼與目標值還差90℃,說明了需要加熱的水溫離我們目標水溫還相差甚遠,於是PID控制器的CUP會加足馬力全力給加熱器予以最高的工作電壓,對水進行快速加熱。由於加熱過程中,水溫是不斷的上升,此時接受到現場過來的溫度資料也90℃,那麼與目標值相差10℃,於是CPU就降低加熱器的供電工作電壓,若差5℃以內了,CPU會發出給加熱管的很低供電指令甚至斷電指令,直到水溫升到100℃。若超過100℃,則會一段時間停止給加熱器提供工作電壓,直到溫度在100℃附近,在目標值附近時CPU就會頻繁的對加熱器進行控制,一直保持水溫“平衡”。實際上,水溫不可能剛好與目標值重疊的,只可能在目標值附近震盪,但此振盪不會波動太大,滿足實際需求的,從而實現了對控制目標的控制要求,使得溫度控制系統變得更加科學可控。
綜上所述,只要PID引數整定合理,PID控制過程中經過了比例積分微分的調整後,實際值只會越來越靠近目標值,但是不可能等於目標值。因此,題目說的最終結果確實有相差,但是相差甚小。其實PID閉環控制系統,最終只是一個動態平衡的系統而不是靜態平衡系統。用PID閉環控制,目的就是讓被控物件快速穩定達到目標值,從而實現被控物件的可控性及可預知性,使得溫度控制系統變得更加科學。
回覆列表
針對你的問題,首先簡單說明一下PID控制的基本原理。PID控制是自動化控制工程中應用很廣泛的調節控制規律,不同於開環控制,PID控制是閉環控制,它的基本控制結構見下圖。
P比例作用是用來消除設定值和反饋的實際值之間的偏差,消除誤差後再由積分I作用來消除穩態誤差,而對於存在滯後的系統,透過微分D作用來達到提前預判的作用。
你所提到的PID輸入進行變化,輸出值和原來的相差了,我理解為PID輸入設定值發生改變,PID輸出值相應發生改變。就此理解來談一下你說的情況。
就我所接觸到的PID調節實際應用中,可以分為以下兩種工況。第一種工況:PID的輸入設定值恆定不變,PID根據反饋回來的實際值和設定值之差進行作用,調節被控物件直到穩定。第二種工況:例如加熱升溫的情況,要求目標溫度不能太快也不能太慢,按照一定的速率上升,這時就可以對PID輸入的目標值進行處理,讓它按照一定的速率變化。這種情況下,輸入值發生變化,輸出也會跟著變化,調節引數到合適值,系統還是很穩定的。PID的作用就是要響應變化的,所以發生變化沒關係,會自動調節到穩定狀態的。