pid控制原理與控制演算法
『壹』 PID的計算公式
PID的增量型公式:
PID=Uk+KP*【E(k)-E(k-1)】+KI*E(k)+KD*【E(k)-2E(k-1)+E(k-2)】
PID演算法具體分兩種:一種是位置式的 ,一種是增量式的。
位置式PID的輸出與過去的所有狀態有關,計算時要對e(每一次的控制誤差)進行累加,這個計算量非常大,而明顯沒有必要。而且小車的PID控制器的輸出並不是絕對數值,而是一個△,代表增多少,減多少。換句話說,通過增量PID演算法,每次輸出是PWM要增加多少或者減小多少,而不是PWM的實際值。所以明白增量式PID就行了。
PID控制原理:
本系統通過擺桿(輥)反饋的位置信號實現同步控制。收線控制採用實時計算的實際卷徑值,通過卷徑的變化修正PID前饋量,可以使整個系統准確、穩定運行。
PID系統特點:
1、主驅動電機速度可以通過電位器來控制,把S350設置為SVC開環矢量控制,將模擬輸出端子FM設定為運行頻率,從而給定收卷用變頻器的主速度。
2、收卷用S350變頻器的主速度來自放卷(主驅動)的模擬輸出埠。擺桿電位器模擬量
信號通過CI通道作為PID的反饋量。S350的頻率源採用主頻率Ⅵ和輔助頻率源PID疊加的方式。通過調整運行過程PID參數,可以獲得穩定的收放卷效果。
3、本系統啟用邏輯控制和卷徑計算功能,能使系統在任意卷徑下平穩啟動,同時兩組PID參數可確保生產全程擺桿控制效果穩定。
『貳』 什麼是「PID演算法」
「PID演算法」在過程式控制制中,按偏差的比例(P)、積分(I)和微分(D)進行控制的PID控制器(亦稱PID調節器)是應用最為廣泛的一種自動控制器。
它具有原理簡單,易於實現,適用面廣,控制參數相互獨立,參數的選定比較簡單等優點;而且在理論上可以證明,對於過程式控制制的典型對象──「一階滯後+純滯後」與「二階滯後+純滯後」的控制對象,PID控制器是一種最優控制。
PID調節規律是連續系統動態品質校正的一種有效方法,它的參數整定方式簡便,結構改變靈活(PI、PD、…)。
控制點包含三種比較簡單的PID控制演算法,分別是:增量式演算法,位置式演算法,微分先行。 這三種PID演算法雖然簡單,但各有特點,基本上能滿足一般控制的大多數要求。
PID增量式演算法
離散化公式:
△u(k)= u(k)- u(k-1)
△u(k)=Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]
進一步可以改寫成
△u(k)=Ae(k)-Be(k-1)+Ce(k-2)。
『叄』 PID控制原理
當今的自動控制技術都是基於反饋的概念。反饋理論的要素包括三個部分: 測量、比較和執行。測量關心的變數,與期望值相比較,用這個誤差糾正調節控制系統的響應。
這個理論和應用自動控制的關鍵是,做出正確的測量和比較後,如何才能更好地糾正系統。
PID(比例-積分-微分)控制器作為最早實用化的控制器已有50多年歷史,現在仍然是應用最廣泛的工業控制器。PID控制器簡單易懂,使用中不需精確的系統模型等先決條件,因而成為應用最為廣泛的控制器。
PID控制器由比例單元(P)、積分單元(I)和微分單元(D)組成。
比例(P)調節作用:是按比例反應系統的偏差,系統一旦出現了偏差,比例調節立即產生調節作用用以減少 偏差。比例作用大,可以加快調節,減少誤差,但是過大的比例,使系統的穩定性下降,甚至造成系統的 不穩定。
積分(I)調節作用:是使系統消除穩態誤差,提高無差度。因為有誤差,積分調節就進行,直至無差,積分調節停止,積分調節輸出一常值。積分作用的強弱取決與積分時間常數Ti,Ti越小,積分作用就越強。反之Ti大則積分作用弱,加入積分調節可使系統穩定性下降,動態響應變慢。積分作用常與另兩種調節規律結合,組成PI調節器或PID調節器。
微分(D)調節作用:微分作用反映系統偏差信號的變化率,具有預見性,能預見偏差變化的趨勢,因此能產生超前的控製作用,在偏差還沒有形成之前,已被微分調節作用消除。因此,可以改善系統的動態性能。在微分時間選擇合適情況下,可以減少超調,減少調節時間。微分作用對雜訊干擾有放大作用,因此過強的加微分調節,對系統抗干擾不利。此外,微分反應的是變化率,而當輸入沒有變化時,微分作用輸出為零。微分作用不能單獨使用,需要與另外兩種調節規律相結合,組成PD或PID控制器。
其輸入e (t)與輸出u (t)的關系為:後補
,使用中只需設定三個參數(Kp, Ki和Kd)即可。在很多情況下,並不一定需要全部三個單元,可以取其中的一到兩個單元,但比例控制單元是必不可少的。
首先,PID應用范圍廣。雖然很多工業過程是非線性或時變的,但通過對其簡化可以變成基本線性和動態特性不隨時間變化的系統,這樣PID就可控制了。
其次,PID參數較易整定。也就是,PID參數Kp,Ki和Kd可以根據過程的動態特性及時整定。如果過程的動態特性變化,例如可能由負載的變化引起系統動態特性變化,PID參數就可以重新整定。
第三,PID控制器在實踐中也不斷的得到改進,下面兩個改進的例子。
在工廠,總是能看到許多迴路都處於手動狀態,原因是很難讓過程在「自動」模式下平穩工作。由於這些不足,採用PID的工業控制系統總是受產品質量、安全、產量和能源浪費等問題的困擾。PID參數自整定就是為了處理PID參數整定這個問題而產生的。現在,自動整定或自身整定的PID控制器已是商業單迴路控制器和分散控制系統的一個標准。
在一些情況下針對特定的系統設計的PID控制器控製得很好,但它們仍存在一些問題需要解決:
如果自整定要以模型為基礎,為了PID參數的重新整定在線尋找和保持好過程模型是較難的。閉環工作時,要求在過程中插入一個測試信號。這個方法會引起擾動,所以基於模型的PID參數自整定在工業應用不是太好。
如果自整定是基於控制律的,經常難以把由負載干擾引起的影響和過程動態特性變化引起的影響區分開來,因此受到干擾的影響控制器會產生超調,產生一個不必要的自適應轉換。另外,由於基於控制律的系統沒有成熟的穩定性分析方法,參數整定可靠與否存在很多問題。
因此,許多自身整定參數的PID控制器經常工作在自動整定模式而不是連續的自身整定模式。自動整定通常是指根據開環狀態確定的簡單過程模型自動計算PID參數。
但仍不可否認PID也有其固有的缺點:
PID在控制非線性、時變、耦合及參數和結構不確定的復雜過程時,工作地不是太好。最重要的是,如果PID控制器不能控制復雜過程,無論怎麼調參數都沒用。雖然有這些缺點,PID控制器是最簡單的有時卻是最好的控制器。
『肆』 什麼是「PID演算法」
pid是工業控制上的一種控制演算法,其中p表示比例,i表示積分,d表示微分。以溫度控制的pid程序為例:
p(比例)表示在溫度設定值上下多少度的范圍內做比例動作,當溫度越高,功率越小,溫度越低,功率就越大,功率到底為多大,就看溫度偏差值和比例區間的大小按反比關系計算。
i(積分)也是一種比例,是溫度偏差值的累積值與設定的一個值之間的反比關系,但要注意何時將溫度偏差值的累積值清零。積分就好像當溫度比設定值低很多而你有覺得溫度升的慢的時候就使勁的加大功率一樣。
d(微分)是溫度變化快慢跟功率的比值,即當你覺得溫度上升的太快時,就降低功率,一阻止溫度上升過快,反之當溫度下降太快時,就加大功率以阻止溫度下降太快一樣。
給我郵箱我可以給你發一份pid溫度控製程序。
『伍』 PID控制的原理是什麼
PID迴路是要自動實現一個操作人員用量具和控制旋鈕進行的工作,這個操作人員會用量具測系統輸出的結果,然後用控制旋鈕來調整這個系統的輸入;
直到系統的輸出在量具上顯示穩定的需求的結果,在舊的控制文檔里,這個過程叫做「復位」行為,量具被稱為「測量」,需要的結果被稱為「設定值」而設定值和測量之間的差別被稱為「誤差」。
一個控制迴路包括三個部分:
1、系統的感測器得到的測量結果
2、控制器作出決定
3、通過一個輸出設備來作出反應
控制器從感測器得到測量結果,然後用需求結果減去測量結果來得到誤差。然後用誤差來計算出一個對系統的糾正值來作為輸入結果,這樣系統就可以從它的輸出結果中消除誤差。
在一個PID迴路中,這個糾正值有三種演算法,消除目前的誤差,平均過去的誤差,和透過誤差的改變來預測將來的誤差。
比如說,假如利用水箱在為植物提供水,水箱的水需要保持在一定的高度。可以用感測器來檢查水箱里水的高度,這樣就得到了測量結果。控制器會有一個固定的用戶輸入值來表示水箱需要的水面高度,假設這個值是保持65%的水量。
控制器的輸出設備會連在由馬達控制的水閥門上。打開閥門就會給水箱注水,關上閥門就會讓水箱里的水量下降。這個閥門的控制信號就是控制變數。
PID控制器可以用來控制任何可被測量及可被控制變數。比如,它可以用來控制溫度、壓強、流量、化學成分、速度等等。汽車上的巡航定速功能就是一個例子。
一些控制系統把數個PID控制器串聯起來,或是連成網路。這樣的話,一個主控制器可能會為其他控制輸出結果。一個常見的例子是馬達的控制。控制系統會需要馬達有一個受控的速度,最後停在一個確定的位置。可由一個子控制器用來管理速度,但是這個子控制器的速度是由控制馬達位置的主控制器來管理的。
應用
在自動控制發展的早期,用機械設備來實現PID控制,是由杠桿、彈簧、阻尼及質量組成,多半會用壓縮氣體驅動。氣動控制器還一度是工業上的標准。
電子的類比控制器可以用晶體管、真空管、電容器及電阻器組成。許多復雜的電子系統中常會包括PID控制,例如磁碟的讀寫頭定位、電源供應器的電源條件、甚至是現代地震儀的運動偵測線路。現代電子控制器已大幅的被這些利用單晶元或FPGA來實現的數位控制器所取代。
現代工業使用的PID控制器多半會用PLC或有安裝面板的數位控制器來實現。軟體實現的好處是相對低廉,配合PID實現方式調整的靈敏度很大。在工業鍋爐、塑膠射出機械、燙金機及包裝行業中都會用到PID控制。
變化的電壓輸出可以用PWM來實現,也就是固定周期,依要輸出的量去調整周期中輸出高電勢的時間。對於數位系統,其時間比例有可能是離散的,例如周期是二秒,高電勢時間設定單位為0.1秒,表示可以分為20格,精度5%,因此存在一量化誤差,但只要時間解析度夠高,就會有不錯的效果。
『陸』 PID演算法的基本原理
常規PID控制理論
PID控制經過半個多世紀的發展,已經成為工業過程式控制制中生命力最頑強、應用最廣泛的基本控制策略。由於規律簡單、魯棒性好、運行可靠、易於實現等特點,在微處理技術迅速發展的今天,仍是目前工業生產過程式控制制系統中應用最廣泛的一類控制器[20]。PID調節器實際是一個放大系數可自動調節的放大器,動態時,放大系數較低,可以防止系統出現超調與振盪;靜態時,放大系數較高,可以蒱捉到小誤差信號,提高控制精度。
PID控制器是把比例、積分和微分作用結合起來,以利用其各自的優點,通過線性組合作為控制器的輸出量,作用於被控對象
PID控制器內各環節作用如下所述:
(1)比例環節實時地按照一定比例反映系統的偏差量 ,即一旦偏差出現,控制器立即產生控製作用,以減小偏差。比例系數KP越大,系統的調整時間就越短,穩態誤差也越小,但KP過大,會造成超調量過大,引起系統不穩定。
(2)積分環節消除系統的穩態誤差,提高系統的無差度。積分系數KI越大,積分作用越強,穩態誤差越小,調整時間越短,但KI大,會造成穩定性變差。
(3)微分環節能及時地反映偏差量的變化趨勢和變化率,有效改善系統的動態性能。通常,微分系數KD大,系統超調量減小,但KD大,也會造成系統穩定性下降。
『柒』 一文搞懂PID控制演算法
PID演算法是工業應用中最廣泛演算法之一,在閉環系統的控制中,可自動對控制系統進行准確且迅速的校正。PID演算法已經有100多年歷史,在四軸飛行器,平衡小車、汽車定速巡航、溫度控制器等場景均有應用。
之前做過循跡車項目,簡單循跡搖擺幅度較大,效果如下所示:
PID演算法優化後,循跡穩定性能較大提升,效果如下所示:
PID演算法:就是「比例(proportional)、積分(integral)、微分(derivative)」,是一種常見的「保持穩定」控制演算法。
常規的模擬PID控制系統原理框圖如下所示:
因此可以得出e(t)和u(t)的關系:
其中:
Kp:比例增益,是調適參數;
Ki:積分增益,也是調適參數;
Kd:微分增益,也是調適參數;
e:誤差=設定值(SP)- 回授值(PV);
t:目前時間。
數學公式可能比較枯燥,通過以下例子,了解PID演算法的應用。
例如,使用控制器使一鍋水的溫度保持在50℃,小於50℃就讓它加熱,大於50度就斷電不就行了?
沒錯,在要求不高的情況下,確實可以這么干,如果換一種說法,你就知道問題出在哪裡了。
如果控制對象是一輛汽車呢?要是希望汽車的車速保持在50km/h不動,這種方法就存在問題了。
設想一下,假如汽車的定速巡航電腦在某一時間測到車速是45km/h,它立刻命令發動機:加速!
結果,發動機那邊突然來了個100%全油門,嗡的一下汽車急加速到了60km/h,這時電腦又發出命令:剎車!結果乘客吐......
所以,在大多數場合中,用「開關量」來控制一個物理量就顯得比較簡單粗暴了,有時候是無法保持穩定的,因為單片機、感測器不是無限快的,採集、控制需要時間。
而且,控制對象具有慣性,比如將熱水控制器拔掉,它的「余熱」即熱慣性可能還會使水溫繼續升高一小會。
此時就需要使用PID控制演算法了。
接著咱再來詳細了解PID控制演算法的三個最基本的參數:Kp比例增益、Ki積分增益、Kd微分增益。
1、Kp比例增益
Kp比例控制考慮當前誤差,誤差值和一個正值的常數Kp(表示比例)相乘。需要控制的量,比如水溫,有它現在的 當前值 ,也有我們期望的 目標值 。
當兩者差距不大時,就讓加熱器「輕輕地」加熱一下。
要是因為某些原因,溫度降低了很多,就讓加熱器「稍稍用力」加熱一下。
要是當前溫度比目標溫度低得多,就讓加熱器「開足馬力」加熱,盡快讓水溫到達目標附近。
這就是P的作用,跟開關控制方法相比,是不是「溫文爾雅」了很多。
實際寫程序時,就讓偏差(目標減去當前)與調節裝置的「調節力度」,建立一個一次函數的關系,就可以實現最基本的「比例」控制了~
Kp越大,調節作用越激進,Kp調小會讓調節作用更保守。
若你正在製作一個平衡車,有了P的作用,你會發現,平衡車在平衡角度附近來回「狂抖」,比較難穩住。
2、Kd微分增益
Kd微分控制考慮將來誤差,計算誤差的一階導,並和一個正值的常數Kd相乘。
有了P的作用,不難發現,只有P好像不能讓平衡車站起來,水溫也控製得晃晃悠悠,好像整個系統不是特別穩定,總是在「抖動」。
設想有一個彈簧:現在在平衡位置上,拉它一下,然後鬆手,這時它會震盪起來,因為阻力很小,它可能會震盪很長時間,才會重新停在平衡位置。
請想像一下:要是把上圖所示的系統浸沒在水裡,同樣拉它一下 :這種情況下,重新停在平衡位置的時間就短得多。
此時需要一個控製作用,讓被控制的物理量的「變化速度」趨於0,即類似於「阻尼」的作用。
因為,當比較接近目標時,P的控製作用就比較小了,越接近目標,P的作用越溫柔,有很多內在的或者外部的因素,使控制量發生小范圍的擺動。
D的作用就是讓物理量的速度趨於0,只要什麼時候,這個量具有了速度,D就向相反的方向用力,盡力剎住這個變化。
Kd參數越大,向速度相反方向剎車的力道就越強,如果是平衡小車,加上P和D兩種控製作用,如果參數調節合適,它應該可以站起來了。
3、Ki積分增益
Ki積分控制考慮過去誤差,將誤差值過去一段時間和(誤差和)乘以一個正值的常數Ki。
還是以熱水為例,假如有個人把加熱裝置帶到了非常冷的地方,開始燒水了,需要燒到50℃。
在P的作用下,水溫慢慢升高,直到升高到45℃時,他發現了一個不好的事情:天氣太冷,水散熱的速度,和P控制的加熱的速度相等了。
這可怎麼辦?
P兄這樣想:我和目標已經很近了,只需要輕輕加熱就可以了。
D兄這樣想:加熱和散熱相等,溫度沒有波動,我好像不用調整什麼。
於是,水溫永遠地停留在45℃,永遠到不了50℃。
根據常識,我們知道,應該進一步增加加熱的功率,可是增加多少該如何計算呢?
前輩科學家們想到的方法是真的巧妙,設置一個積分量,只要偏差存在,就不斷地對偏差進行積分(累加),並反應在調節力度上。
這樣一來,即使45℃和50℃相差不是太大,但是隨著時間的推移,只要沒達到目標溫度,這個積分量就不斷增加,系統就會慢慢意識到:還沒有到達目標溫度,該增加功率啦!
到了目標溫度後,假設溫度沒有波動,積分值就不會再變動,這時,加熱功率仍然等於散熱功率,但是,溫度是穩穩的50℃。
Ki的值越大,積分時乘的系數就越大,積分效果越明顯,所以,I的作用就是,減小靜態情況下的誤差,讓受控物理量盡可能接近目標值。
I在使用時還有個問題:需要設定積分限制,防止在剛開始加熱時,就把積分量積得太大,難以控制。
PID演算法的參數調試是指通過調整控制參數(比例增益、積分增益/時間、微分增益/時間) 讓系統達到最佳的控制效果 。
調試中穩定性(不會有發散性的震盪)是首要條件,此外,不同系統有不同的行為,不同的應用其需求也不同,而且這些需求還可能會互相沖突。
PID演算法只有三個參數,在原理上容易說明,但PID演算法參數調試是一個困難的工作,因為要符合一些特別的判據,而且PID控制有其限制存在。
1、穩定性
若PID演算法控制器的參數未挑選妥當,其控制器輸出可能是不穩定的,也就是其輸出發散,過程中可能有震盪,也可能沒有震盪,且其輸出只受飽和或是機械損壞等原因所限制。不穩定一般是因為過大增益造成,特別是針對延遲時間很長的系統。
2、最佳性能
PID控制器的最佳性能可能和針對過程變化或是設定值變化有關,也會隨應用而不同。
兩個基本的需求是調整能力(regulation,干擾拒絕,使系統維持在設定值)及命令追隨 (設定值變化下,控制器輸出追隨設定值的反應速度)。有關命令追隨的一些判據包括有上升時間及整定時間。有些應用可能因為安全考量,不允許輸出超過設定值,也有些應用要求在到達設定值過程中的能量可以最小化。
3、各調試方法對比
4、調整PID參數對系統的影響