PID控制原理講解_第1頁
PID控制原理講解_第2頁
PID控制原理講解_第3頁
PID控制原理講解_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、PID 控制原理講解經(jīng)常有人問有關(guān) PID 的用法,看一些有關(guān)單片及應(yīng)用的書上都有關(guān)于 PID 的應(yīng)用 原理,但是面對具體的問題就不知道如何應(yīng)用了, 主要的問題是里面所用到的參 數(shù)以及計算結(jié)果需要進行什么經(jīng)常有人問有關(guān) PID 的用法,看一些有關(guān)單片及應(yīng)用的書上都有關(guān)于 PID 的應(yīng)用原理,但是面對具 體的問題就不知道如何應(yīng)用了,主要的問題是里面所用到的參數(shù)以及計算結(jié)果需要進行什么處理,通過什 么樣的換算才能具體的應(yīng)用于實際,另外在計算方法上也存在著數(shù)值計 的具體應(yīng)用說明白。部分,希望 能夠把 PID 算的算法問題,今天我在這里例舉溫度控中的 PID 一般書上提供的計算公式中的幾個名詞: 1.

2、 直接計算法和增量算法,這里的所謂增量算法就是相對于標 準算法的相鄰兩次運算之差,得到的結(jié)果是增量,也就是說,在上一次的控制量的基礎(chǔ)上需要增加(負值 意味著減少) 控制量, 例如對于可控硅電機調(diào)速系統(tǒng), 就是可控硅的觸發(fā)相位還需要提前 (或遲后) 的量, 對于溫度控制就是需要增加(或減少)加熱比例,根據(jù)具體的應(yīng)用適當選擇采用哪一種算法,但基本的控制方 法、原理是完全一樣的, 直接計算得到的是當前需要的控制量, 相鄰兩次控制量的差就是增量; 2. 基 本偏差 e(t), 表示當前測量值與設(shè)定目標間的差,設(shè)定目標是被減數(shù),結(jié)果可以是正或負,正 數(shù)表示還沒 有達到,負數(shù)表示已經(jīng)超過了設(shè)定值。這是面向

3、比例項用的變動數(shù)據(jù)。3.累計偏差工(e)=e(t)+e(t-1)+e(t-2)+e(1),這是我們每一次測量到的偏差值的總和,這是代數(shù)和,考慮到他的正負符號的運算的,這是面向積分項用的一個變動數(shù)據(jù)。 4. 基本偏差的相對偏差 e(t)-e(t-1) ,用本次的基本偏 差減去上一次的基本偏差,用于考察當前控 制的對象的趨勢,作為快速反應(yīng)的重要依據(jù),這是面向微分項的一個變動數(shù)據(jù)。5.三個基本參數(shù):Kp, Ki,Kd.這是做好一個控制器的關(guān)鍵常數(shù),分別稱為比例常數(shù)、積分常數(shù)和 還需要經(jīng)過現(xiàn)場調(diào)試才能獲得較好的效果。不同的控制對象他們需要選擇不同的數(shù)值,微分常數(shù), 標準的直接計算法公式: 6.;2 e

4、(t)+Kd*(e(t)-e(t-1)Pout(t)=Kp*e(t)+Ki* e(t-1)+Kd*(e(t-1)-e(t-2)Pout(t-1)=Kp*e(t-1)+Ki* e(t)+Kd*(e(t)-2*e(t-1)+e(t-2)Pdlt=Kp*(e(t)-e(t-1)+Ki* 就記作項的表示應(yīng)該是對2 e(i) 從 1 到*這里我們對上一次的計算值: ;2兩式相減得到增量法計算公式: ;2 e(t).2 t 全部總和,但為了打字的簡便在實際控制中的作用: ,三個基本參數(shù) KpKi,Kd.比例調(diào)節(jié)作用:是按比例反應(yīng)系統(tǒng)的偏差,系統(tǒng)一旦出現(xiàn)了偏差,比例調(diào)節(jié)立即產(chǎn)生調(diào)節(jié)作用用以減少偏 差。比例作

5、用大,可以加快調(diào)節(jié),減少誤差,但是過大的比例,使系統(tǒng)的穩(wěn)定性下降,甚至造成系統(tǒng)的不穩(wěn)定。 積分調(diào)節(jié)作用: 是使系統(tǒng)消除穩(wěn)態(tài)誤差, 提高無差度。 因為有誤差, 積分調(diào)節(jié)就進行, 甚至無差, 越小,積分 Ti , Ti 積分調(diào)節(jié)停止,積分調(diào)節(jié)輸出一常值。積分作用的強弱取決于積分時間常數(shù)作用就越強。 反之 Ti 大則積分作用弱, 加入積分調(diào)節(jié)可使系統(tǒng)穩(wěn)定性下降, 動態(tài)響應(yīng)變慢。 積 調(diào)節(jié)器。 PI 調(diào)節(jié)器或 PID 分作用常與另兩種調(diào)節(jié)規(guī)律結(jié)合,組成微分調(diào)節(jié)作用:微分作用反映系統(tǒng)偏差信號的變化 率,具有預(yù)見性,能遇見偏差變化的趨勢,因此能產(chǎn)生超前的控制作用,在偏差還沒有形成之前,已被微 分調(diào)節(jié)作用消

6、除。因此,可以改善系統(tǒng)的動態(tài)性能。在微分時間選擇合適情況下??梢詼p少超調(diào),減少調(diào) 節(jié)時間。微分作用對噪聲干擾有放大作用,因此過強的加微分調(diào)節(jié),對系統(tǒng)抗干擾不利。此外,微分反應(yīng) 是變化率,而當輸入沒有變化時,微分作用輸出為零。微分作用不能單獨使用,需要與另外兩種調(diào)節(jié)規(guī)律相結(jié)合,控制器。PIDPD或組成具體應(yīng)用中的數(shù)值量化處理:上面只是控制算法的數(shù)學方法,似乎有點抽象,在具體的控制項目中怎樣對應(yīng)呢?也就是具體的量化問題。下面舉一個在溫度控制中的處理方法。對于加溫的溫度控制可以采用調(diào)節(jié)供電電壓或在一定的時間循 環(huán)周期內(nèi)的供電時間比例來調(diào)節(jié)加溫控制溫度,一般以調(diào)節(jié)加溫時間比例比較簡單,也是控制上比較常

7、用的方法。調(diào)壓法控制的原理是通過可控硅的處罰相位角達到對電壓的調(diào)節(jié),這個電壓是指有效電壓,直觀 上就是對一個正弦波形的前邊切掉一塊,用不同的切割位置以保留剩余的面積。為了敘述方便,我們還是 采用控制時間比例的辦法:我們設(shè)定一個標準的加溫周期,例如2 分鐘,我們就在這個兩分鐘周期內(nèi)對輸出進行控制,也就是說在這個 2 分鐘內(nèi)加溫多少時間,全速加溫就是連續(xù)整個周期(2 分鐘)都加溫,當然停止加溫就是完全不輸出,根據(jù)我們的計算可以讓加溫時間在0-2 分鐘內(nèi)變化,比如計算所得我們在這一個周期內(nèi)應(yīng)該加溫 1 分 30 秒,經(jīng)過兩分鐘以后再測量被加溫物體的溫度,通過計算我們應(yīng)該加溫 1 分 28 秒,等等等

8、等,這里除了加溫以外的時間就是不加溫,等等下一個周期到來,再進行實際測量計算下一 周期我們的輸出量,周而復(fù)始,不斷地修正我們 的輸出量,以達到對溫度有效控制。為了對應(yīng)我們的程 序處理上的方便,我們在程序內(nèi)部一般并不是用時分秒來計算的,通常我們會使用系統(tǒng)的一個定時器用于 系統(tǒng)全部時鐘,例如顯示刷新、鍵盤掃描等,相對于計算來說,我們的控制周期比較長,所以我們可以對 2 分鐘進行細分,例如我們用每分鐘進行 100 等分,則兩分鐘就是 200 等分,用于我們的溫度控制,這樣 的輸出比例的變化已經(jīng)足夠了,我們可以有 200 個輸出等級了。取 200 的另一個好處是,對應(yīng)于我們的 8 位單片機剛好可以在一

9、個字節(jié)內(nèi)進行運算,程序簡單運算速度快。當需要改變我們的定時周期時,有些不 同的加熱對象,例如較大熱慣性的加熱對象時,可能 2 分鐘周期太短了,我們可以通過修改基本定時常數(shù) 的辦法來實現(xiàn),而保持我們的 200 等分不變。我們對 2 分鐘進行 200 等分,算一下他的每一個基本單位的 具體時 間? To=60*2/200=0.6s=600ms 這對于單片機來說太長了, 因為如果我讓我的定時器做到這么慢的 定時周期就干不了別的事了,為了顯示、鍵盤等的處理一般我們定時在5-10ms,所以就需要另外設(shè)定一個變量tTempI在每一個定時中斷發(fā)生時對 tTempI計數(shù)。例如我的系統(tǒng)定時器的定時常數(shù)對應(yīng)于10

10、ms,則設(shè)定tTempI在達到60的時候才確認是達到 600ms了,才作為一個基本的輸出時間單位。對應(yīng)于總周期的修 改,我們的 200 等分可以不用修改, 而只要修改我們的變量 tTempI 的判斷邊界就可以了,例如對應(yīng)于 2 分 鐘時是 60,則在 3 分鐘為周期時邊界改為 90 就行了,定下了我們的基本控制時間分辨率以后,我們的計 算就可以不用改變了。當然,根據(jù)您的具體對象也可以修改這個等分數(shù),等分。我這里只是作為一個舉例:例如 200 溫控儀器不離開測溫器件,無論用什么測溫器件(傳感器) ,對于控制上來說,首先需要將測 到的值換算為溫度數(shù)據(jù),一般我們國內(nèi)都采用攝氏度C,工業(yè)上使用的測溫器

11、件一般都是非線性的器件, 經(jīng)過放大、 A/D 轉(zhuǎn)換所得到的電壓數(shù)據(jù)與溫度呈非線性關(guān)系,存在著微小的差異,由于這個表格是以每一 個溫度點上的電壓值來表述的,一般采用電壓值表的辦法獲得實際溫度, 我們的單片機rom的大小限制,這個表格也不可能做得很細,基本上以度作為間隔,也就是說直接查表只 能獲得度為單位的溫度值,而實際測量的溫度可能是介于T與T+1度之間,在PID控制計算上,這樣的分辨率是不夠的,所以我們還需要進一步獲得具體的溫度精確數(shù)據(jù),一般采用將T與T+1之間的電壓差和AD實際值(mV進行定分比分點的辦法(更精確的是采用二次插值計算法)獲得溫度的精確數(shù)值,也就是獲 得小數(shù)部分。 如果能夠做到

12、 1/10 度的溫度分辨率精度就可以基本滿足控制運算要求了, 所以我們可以用定 點數(shù)的辦法處理。不采用浮點數(shù)是因為單片機的運算速度不適合用浮點數(shù),定點數(shù)處理,就是將溫度的內(nèi) 部運算單位放大 10 倍,在用于顯示的時候再除以 10也就是固定顯示一個小數(shù)點位置。如果想讓我們的控 制做的更好,還可以再提高溫度的內(nèi)部精度,例如精確到 1/100 度,這也是現(xiàn)在高級溫控儀采用的精度, 但在通常情況下 這個精度似乎有點過剩。PID的三個基本參數(shù) Kp,Ki,Kd, 般由試驗確定,根據(jù)我們的實際工作對象去初步確定,然后在實際運行過程中進行調(diào)節(jié),以達到相對理想的效果,為了達到比較好 的控制效果,這三個參數(shù)一般

13、不采用整數(shù),但同時為了減輕單片機的運算量,通常采用2 的整倍數(shù)放大的辦法確定這些參數(shù), 在運算結(jié)果中再除以 2 的整倍數(shù), 因為單片機運算中可以用移位來完成, 速度比較快, 常用的是 8倍或16倍放大,注意這三個參數(shù)采用相同的放大比例。編程的過程中自己從頭到尾要清楚我的參數(shù)是經(jīng)過放大了的,就不會忘記對運算結(jié)果還原。通過怎樣的運算來獲得2-200 加溫比例數(shù)據(jù)呢?很簡單,為了說明這個問題,我們先假定只考慮最簡單的比例控制算法,假定我們的控制范圍是在200度,則設(shè)定溫度與實踐溫度的差的最大值就是200 (度),我們就用去他去輸出,這時的參數(shù)Kp=1,當我們?yōu)榱颂岣呒訜崴俣?,而使受控制的區(qū)域縮小,例

14、如只控制 50度范圍,如目標溫度設(shè)定為 230,我們控制的范圍 就在 180-230 范圍內(nèi),這時的差值不夠 200,我們就把計算得到的數(shù)字乘以 4就得到 0-200 的數(shù)據(jù)了,假 定當前實測溫度為 222,則 230-222=8 再乘以 4 算得 32,這就作為我們的輸出比例數(shù)據(jù)。當然我們這里還 沒有考慮超溫的情況,計算產(chǎn)生了負數(shù)。這一部分將作為我們控制輸出的基本量,上面的計算是對應(yīng)于Kp=4DE ,再加入微分和積分項,這時我們的Kp可以基本保持不變。Kp在這里基本確立了我們的起始控制點到目標值之間的控制范圍,微分和積分項在這里只是作為附加部分,基本不影響控制范圍。當溫度突然 下降一度時,我

15、們希望補上多少比例區(qū)進行下一輪的加熱呢?這就是微分系數(shù):早我經(jīng)過這么久的控制, 目標溫度還是低了一點,我希望用多少的比例去彌補這個長期欠溫呢?這就是積分常數(shù),我想你已經(jīng)大概 已經(jīng)確定了這些數(shù)據(jù)了。 一句話,比例常數(shù)決定我們參與在目標點以前真正控制的范圍,Kp=基本時間總周期/ 控制范圍。 Ki,Kd 是您希望的反應(yīng)對策速度, 看你有沒有耐心去逐步達到穩(wěn)定點, 過激了會起反作用的, 過于膽小怕事是 達不到預(yù)期目標的。最后,在計算結(jié)果交付于輸出之前,還需要進行一些修正,例如當 計算結(jié)果大于 200 時按 200 輸出,計算結(jié)果小于零時按零輸出。處理上的一些常用方法然后剔除測得結(jié)果中的最大值和最小值

16、。準確性,往往需要進行多次測溫。為了 提高測溫的 或者由于其他原因引起的測量值波把剩余值的數(shù)值相加在計算平均值,這樣比較有利于抗干擾,計算一般 安排在上一個輸出周期的最后階段就提前 PID 動,初期的處理是很必要的。測溫工作和次用于運去掉最大 最下數(shù)以后保留 5-117-13 進行的最后階段就提前進行, 測溫次數(shù)一般在次, 只有系統(tǒng)不會過多占用系統(tǒng)時 間。算,均值運算的累加部分將安排在每一次測溫以后逐步進行,的時間允許,盡可能的測多幾次,所得到的結(jié)果也會相對精確點。運算將會占用很長的時間,這是相對于我們的一個基本定時周期來講的,一 個系統(tǒng)定時周如期內(nèi)我們的系統(tǒng)還要處理很多事情,例如顯示的刷新、

17、鍵盤的掃描、鍵盤碼的處理執(zhí)行等 等,所以如果您的果我們的運算占用很多時間的話那么就會出現(xiàn)一個系統(tǒng)定時周期內(nèi)完不成的情況。系統(tǒng)僅僅是一臺溫控儀的話,就可以將運算部分放到主程序中進行,而常規(guī)的刷新掃描之類的才放在定時 中斷里處理,這樣編制的主程序就非常清晰明了,這是比較理想的情況。如果溫度控制僅僅作為您的系統(tǒng) 中的一部分小插曲,那就需要認真考慮程序的布局了,主程序有更重要的任務(wù)要處理,溫度控制運算部分 就只能委托系統(tǒng)定時器來承擔了,時間不夠用怎么辦?假定我們的定時周期是10ms顯示刷新部分要用1ms,鍵盤掃描處理要1ms, PID運算要2ms (假定),留給主程序的時間可能不夠了,我們就需要對我們

18、的PID運算進行任務(wù)的分割,把運算分成幾個部分進行,每一次進入運算程序只計算其中的一小部分,經(jīng)過N次的調(diào)才完成一個完整的 PID 運算,這樣就不會影響整個系統(tǒng)的運作了,這里面需要細細的推敲、分割,這 是面對一個較大系統(tǒng)的一般處理方法,對其他任務(wù)也可以采用分割的辦法進行細化,例如對顯示刷新,現(xiàn) 在液晶屏用得比較多,環(huán)境的干擾,數(shù)據(jù)的變化都會引起花屏或反應(yīng)遲鈍,而刷新需要占用很長的時間, 我們也 可以采用分片刷新的辦法處理,把每次刷新所占用的時間減到最短。的輸出部分可以放到系統(tǒng)定時中斷里處理,這部分占用的時間不長,可以隨帶完成。 PID 前面我們講到將時間作 200等分記作 Tset, 這就是將一

19、個約定時間 200 級不同的輸出時間比例,通過我們的計算得到一個介于 0-200 之間的數(shù) Tout , 然后每次在我們的 PID 基本定時時間中對這個 Tout 減 1,當?shù)确钟嫈?shù)器 Tset 也達到零時進行下一輪控制 循環(huán),重新計算 Tout 。這 是計算獲得的原始數(shù)據(jù)。 Tout 樣我們就完成一個控制比例 Tout/200 ,這個運算 中往往出現(xiàn)數(shù)據(jù)溢出的情況,所以一般在運算中都要求對數(shù)據(jù)強制轉(zhuǎn)換成int 型,注意需要考慮符號,另外,對有些參數(shù)如積分項的累加數(shù)過大時會起反作用,使調(diào)節(jié)失靈,或者引起大幅震蕩,為此我們對這一 項引入一個數(shù)值最大界限,當結(jié)果超出約定界限時,不再增加(或減少)。

20、加溫的整個過程沒有必要全程PID 控制,一般可以在設(shè)定目標值前一個溫度區(qū)域才進行 PID 控制,例如,設(shè)定目標溫度為 300度,則我 們可以在 250 度以前全速加溫,當達到 250 以后才開始計算 PID 并予以控制,這樣可以加快加溫速度又不 影響溫度控制。 在不產(chǎn)生過大的過沖的情況下, 盡可能把起控點抬高, 有利于后面控制部分的進一步細化。 在進入控制之前我們的積分 項紀錄數(shù)據(jù)為零。對于用調(diào)壓法控制輸出時,由于正弦波相對于延時導通的 相位角輸出的電壓有效值是非線性的,而且三角函數(shù)計算也很費時,所以建議用查表法處理,同樣可以采 用查表加插值獲得移向數(shù)據(jù),其他的計算方法和用繼電器比例輸出法是一

21、樣的。硬件上還需要做一個比較 精確的過零負脈沖電路,讓脈沖發(fā)生于過零點以前,這樣我們就可以在過零以前先關(guān)閉輸出,脈沖寬度越 窄越好,至少這個脈沖寬度不能大于1ms,過零脈沖的識別也需要一點小小的處理,防止假脈沖混入,防止電網(wǎng)干擾,這是軟件上的問題。參數(shù)的設(shè)定與調(diào)整這是PID最困難的部分,編程時只設(shè)定他們的大概數(shù)值,然后通過反復(fù)的調(diào)試才能找到相對比較理想的參數(shù)值。面向不同的控制對象參數(shù)都不同,所以我們 無法提供參考數(shù)值,但是我們過程中的作用原理,來討論我們的對策??梢愿鶕?jù)這些參數(shù)在整個PID1.加溫很迅速就達到目標值,但是溫度過沖很大:1.比例系數(shù)太大,致使在未達到設(shè)定溫度前加溫比例過高;2.微

22、分系數(shù)小,致使對對象反應(yīng)不敏感;2.加溫經(jīng)常達不到目標值,小于目標值的時間較多:1.比例系數(shù)過小,加溫比例不夠;2.積分系數(shù)過小,對恒偏差補償不足;3.基本上能夠在控制目標上, 但上下偏差偏大,經(jīng)常波動:1.微分系數(shù)過小,對及時變化反應(yīng)不夠快,反映措施不力;2.積分系數(shù)過大,使微分反應(yīng)被淹沒鈍化;4.受工作環(huán)境影響較大,在稍有變動時就會引起溫度的波動:1.微分系數(shù)過小,對及時變化反應(yīng)不夠快,不能及時反映;2.設(shè)定的基本定時周期過長,不能及時得到修正;選擇一個合適的時間常數(shù)很重要,要根據(jù)我們的輸岀單位采用什么器件來確定,如果是采用可控硅的,則可設(shè)定時間常數(shù)的 范圍就很自由,如果采用繼電器的則過于頻繁的開關(guān)會影響繼分鐘較為合適。1-10電器的使用壽命,所以就不太適合采用較短周期。一般的周期設(shè)定范圍為為了調(diào)試方便,起碼在調(diào)試階段您必須編制一個可以 對參數(shù)進行隨時修改和記憶的接口,否則你會很辛苦,老是在現(xiàn)場與辦公室之間來回跑。關(guān)于自整定問題:在通用儀表行業(yè)用得比較多,因為他們的工作對象是不確定的,而不同

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論