容易理解的PID_第1頁(yè)
容易理解的PID_第2頁(yè)
容易理解的PID_第3頁(yè)
容易理解的PID_第4頁(yè)
容易理解的PID_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、木文翻譯門 Embedded >teisPI D Without a PhDTim WescottPID (比例,積分,微分)控制沒(méi)有看起來(lái)那么復(fù)雜,閱讀下面簡(jiǎn)單的實(shí)現(xiàn) 步驥,效果立竿見影。在工作中,我是三個(gè)號(hào)稱伺服員(servo guys)中的一個(gè),唯 個(gè)用軟件 來(lái)實(shí)現(xiàn)控制系統(tǒng)中的環(huán)路控制。因此,我經(jīng)常有機(jī)會(huì)為各種項(xiàng)目設(shè)計(jì)數(shù)字控制環(huán) 路。我發(fā)現(xiàn),雖然控制系統(tǒng)的問(wèn)題盂嗖大最專業(yè)知識(shí),但是大多數(shù)控制系統(tǒng)問(wèn)題 能用簡(jiǎn)單的方法來(lái)解決,根本就不訴諸任何控制理論。這篇文章將告訴你不用人 量的數(shù)學(xué),無(wú)需學(xué)習(xí)任何控制理論,如何來(lái)實(shí)施和格定一個(gè)簡(jiǎn)單的控制系統(tǒng)。PID控制PID控制器以各種形式使用超過(guò)了

2、1世紀(jì),廣泛應(yīng)用在機(jī)械設(shè)備、氣動(dòng)設(shè)備 和電子設(shè)備。采用微處理器的數(shù)字PID控制器己經(jīng)出現(xiàn),iE如你即將看到,嵌入 一個(gè)PID控制器到你的代碼中是一個(gè)簡(jiǎn)單的任務(wù)。PID 實(shí)指“比例 propoilional“積分 mtegial“微分 derivative這三項(xiàng)構(gòu) 成PID基木耍素。每一項(xiàng)完成不同任務(wù),對(duì)系統(tǒng)功能產(chǎn)生不同的影響。典型的PID系統(tǒng)中,輸入命令值(system comniad)和被控器(通常被稱為 plant)反饋信號(hào)的組介作為PID控制器三項(xiàng)的輸入,三項(xiàng)的輸出相加起來(lái)形成 PID系統(tǒng)的控制輸出。圖1表示一個(gè)基本PID控制器的方框圖,圖中微分項(xiàng)的輸入只有被控設(shè)備的 反饋信號(hào)。命令信號(hào)

3、(command signal)減去被控設(shè)備反饋信號(hào)產(chǎn)生誤差(eno】)。 這一誤差信號(hào)送入比例項(xiàng)和積分項(xiàng)。三項(xiàng)產(chǎn)生的結(jié)果相加最后驅(qū)動(dòng)被控設(shè)備。后 面我會(huì)介紹這三項(xiàng)主耍做了些什么。根據(jù)系統(tǒng)如何響應(yīng)命令,圖中用虛線增加了 一個(gè)比例項(xiàng)位置(這可能是比例項(xiàng)最佳的放置位置)。commandProportionI ntegr«lDenvatK<DenvatK<PintoutputSoftwareHarckfareDfeedback SoftwareHarckfare火& - Driver圖1: 一個(gè)基本的PID控制器被控器舉例我們需要舉一些例子來(lái)增加讀者對(duì)PID的印象,文中

4、我會(huì)舉三個(gè)例子來(lái)說(shuō)明 PLD在不同應(yīng)用中產(chǎn)生的效果。電機(jī)驅(qū)動(dòng)齒輪組粘:密定位系統(tǒng)恒溫系統(tǒng)每一個(gè)系統(tǒng)都有不同的特點(diǎn),每一個(gè)需耍不同的控制策略以獲得繪佳的性 能。電機(jī)和齒輪第一個(gè)舉例是一個(gè)電機(jī)驅(qū)動(dòng)齒輪組,用一個(gè)電位器或可其它位宙?zhèn)鞲性O(shè)備來(lái) 監(jiān)測(cè)齒輪組的位置。類似的應(yīng)用像打印機(jī)世的驅(qū)動(dòng)器、汽乍巡航控制器里的汕門, 或者其它中等將度位置控制器。圖2中的電機(jī)驅(qū)動(dòng)電床大小由軟件命令控制,電 機(jī)輸出通過(guò)齒輪減速騾動(dòng)實(shí)際的機(jī)械裝置,繪終位置由一個(gè)電位器測(cè)量。$22圖2:電斥馳動(dòng)型電機(jī)和齒輪組2一個(gè)電床型也流電機(jī)輸出轉(zhuǎn)速與電床成疋比。通常電機(jī)的電樞具有一定的電 阻,限制了電機(jī)的加速性,那么改變輸入電壓與得到最終

5、輸出轉(zhuǎn)速之間會(huì)有延遲。 齒輪傳動(dòng)以一常數(shù)比例放大了這一延遲,最后通過(guò)電位器來(lái)測(cè)最輸出軸的位置。圖3顯示了電機(jī)和齒輪的階躍響應(yīng)。時(shí)間常量間隔tO=O.2s,這一系統(tǒng)的階躍 響應(yīng)是輸出行為對(duì)輸入在t=0時(shí)由0變?yōu)椴艘怀A恐档捻憫?yīng)。作為一個(gè)普通的例 子,在這里我用小數(shù)組成整個(gè)階躍響應(yīng),最大為1。圖3顯示階躍輸入和電機(jī)的 響應(yīng),隨著時(shí)間的增長(zhǎng)電機(jī)緩慢響應(yīng),但電機(jī)位置的變化不可能是一個(gè)常速度。圖3:電機(jī)與齒輪位置vs.時(shí)間uexsd精密驅(qū)動(dòng)器有時(shí)候需要非常將確地控制物體的位置,椿密位置系統(tǒng)可由H由移動(dòng)的機(jī)械 臺(tái)、揚(yáng)聲器線圈(線圈和磁鐵)、非接觸式的位置傳感器組成。你可能在某些光學(xué)系統(tǒng)穩(wěn)宦裝汽,或苕某些設(shè)

6、備和傳感器定位裝代小看到過(guò) 這種機(jī)構(gòu)。圖4顯示的就是這種系統(tǒng)。軟件命令控制著線圈中的電流,電流建立 的磁場(chǎng)與磁鐵產(chǎn)生了排斥力,磁鐵與臺(tái)板相連,臺(tái)板移動(dòng)的加速度正比J:線圈的 電流大小。最后,一個(gè)非接觸式位置傳感器來(lái)檢測(cè)臺(tái)板的位置。圖4:梢密驅(qū)動(dòng)器這一機(jī)構(gòu)屮的磁力與臺(tái)板移動(dòng)的力獨(dú)立開來(lái),好處就是使得臺(tái)板不受外力的 影響,缺點(diǎn)就是造成系統(tǒng)非?!盎?,控制起來(lái)有難度。另外,電子必須的一個(gè) 好的電流輸出形放大器和非接觸式位置傳感器做起來(lái)也冇挑戰(zhàn)。可以預(yù)計(jì),如果 是你做了這樣一個(gè)項(xiàng)冃(或者是接了個(gè)短期項(xiàng)冃),你就是這個(gè)相當(dāng)優(yōu)秀的團(tuán)隊(duì) 中一員。這個(gè)系統(tǒng)的運(yùn)動(dòng)方程非常簡(jiǎn)單,臺(tái)板上的力只與驅(qū)動(dòng)命令成比例關(guān)系,

7、所以 系統(tǒng)的加速度與驅(qū)動(dòng)輸出也是成比例關(guān)系。系統(tǒng)H身的階躍響應(yīng)是一條拋物線, 見圖5。由丁有慣性,臺(tái)板動(dòng)起來(lái)就會(huì)一H動(dòng),這會(huì)導(dǎo)致系統(tǒng)控制更加困難,這 個(gè)我會(huì)在后面講到。100L20.40.6OSTlnw006.4 2 Q Q a QUOSF 0 學(xué)a圖5:精密驅(qū)動(dòng)器位置vs時(shí)間溫度控制第三個(gè)例子是一個(gè)加熱器,圖6顯示了系統(tǒng)簡(jiǎn)單示總圖。電加熱器加熱一個(gè) 大容器,通過(guò)溫度傳感裝置來(lái)獲得溫度值。圖6:加熱器加熱系統(tǒng)往往具有非常復(fù)雜的響應(yīng),我準(zhǔn)備忽略一些細(xì)節(jié),給出一個(gè)非常近 似的模型,除非你刈性能要求非常嚴(yán)格,那么一個(gè)梢確的模型沒(méi)什么必農(nóng):。圖7顯示了在Vd (一泄電床値?)下該系統(tǒng)的階躍響應(yīng)的變化。

8、時(shí)間常最t1 = 0.1s, t2=0.3s,給定一個(gè)輸出驅(qū)動(dòng)值,系統(tǒng)響應(yīng)往往會(huì)穩(wěn)定在一個(gè)恒定溫度, 但它盂?;ㄙM(fèi)很長(zhǎng)的時(shí)間。同時(shí),沒(méi)有保溫隔熱層的時(shí)候,加熱系統(tǒng)往往會(huì)對(duì)外 界影響敏感。圖中沒(méi)有表示出來(lái)這些影響,但文章的后而我會(huì)進(jìn)行研究。-r扌9cI< fr:/;.r Input TemperatureL.k01Time8 6 4 2 a Q o oAut»圖7:加熱器溫度vs時(shí)間控制器這里控制器的耍索輸入既有被控設(shè)備輸出信號(hào),也有誤差信號(hào),這也是被控 設(shè)備輸出與系統(tǒng)輸入命令之間的區(qū)別。我會(huì)在討論時(shí)用浮點(diǎn)數(shù)寫一些控制代碼來(lái) 保持精度。你也可以用整形或考定點(diǎn)數(shù)來(lái)寫你白己的代碼。我

9、將假設(shè)一個(gè)函數(shù)如下,隨著討論的進(jìn)展,你將看到具體的數(shù)據(jù)結(jié)構(gòu)和函數(shù) 的內(nèi)部形狀了。double UpdatePID(SPid * pid, double enoi; double position)Z所以在UpdataPID 數(shù)接口屮定義謀差輸入(enor),而不K接定義控制 命令輸入(command),是因?yàn)橛袝r(shí)候可以l'i接用謀差(emn)來(lái)處理。在函數(shù) 內(nèi)部沒(méi)有引入誤差計(jì)算的話,函數(shù)的應(yīng)用適用性會(huì)增強(qiáng)。函數(shù)會(huì)像這樣使用:position = ReadPlantADC();drive = UpdatePID(&plantPID, plantCommand - position

10、, position);DiivePlantDAC(drive);比例項(xiàng)(pre po)比例控制是最容易實(shí)現(xiàn)的反饋控制,而且簡(jiǎn)單的比例控制可能是最常見的控 制回路。一個(gè)比例控制器僅僅是誤差信號(hào)乘以一個(gè)常數(shù),并輸出送給驅(qū)動(dòng)器。比 例項(xiàng)的計(jì)算代碼如下:double pTerm; pTeim = pid->pGam * enor; return pTerm;圖8顯示了當(dāng)你給電機(jī)和齒輪增加比例反饋控制后會(huì)發(fā)生什么。當(dāng)小增益 (kp=l)時(shí),電機(jī)慢慢轉(zhuǎn)到正確的位置。增加增益(kp=2)后,反應(yīng)加快。在 (kp=5, kp=lO)時(shí)電機(jī)啟動(dòng)非常快,并且過(guò)沖。最后系統(tǒng)由于沒(méi)有變成理想的 低增益來(lái)使系統(tǒng)

11、快速穩(wěn)定,而是存在著許多過(guò)沖。如果我們進(jìn)一步增加增益值, 系統(tǒng)最終會(huì)到了某一點(diǎn)在目標(biāo)位置值上下振蕩,再也不會(huì)穩(wěn)怎,這時(shí)候系統(tǒng)就變 得不穩(wěn)定。0Q2Q406Q81U0 一?d圖8:比例反饋控制的電機(jī)和齒輪位置vs.時(shí)間電機(jī)和齒輪從啟動(dòng)到過(guò)沖是因?yàn)殡姍C(jī)的反應(yīng)延遲?;乜磮D2,你可以看到電 機(jī)位置上升并不及時(shí)。這一延遲,加上高反饋增益,引起了圖8中的過(guò)沖。圖 9顯示的是比例反饋的料i密驅(qū)動(dòng)器的響應(yīng),單獨(dú)比例控制顯示對(duì)這一系統(tǒng)不適 應(yīng),不管增益有多低,被控器總是有大帚的延遲,系統(tǒng)就會(huì)產(chǎn)生振蕩。隨看比例 增益的增加,輸出振蕩的頻率也會(huì)增加,但系統(tǒng)不會(huì)穩(wěn)定。1.5圖9:比例反饋的精密驅(qū)動(dòng)器vs時(shí)間號(hào) CM&

12、amp;JS圖10顯示的是當(dāng)你用用純比例反饋控制溫度控制器時(shí)會(huì)發(fā)生什么,圖中顯示 了在t=2s,外部環(huán)境溫度改變適成干擾時(shí),系統(tǒng)輸出的響應(yīng)。就算沒(méi)有外部干擾, 你也可以看到比例控制不能將溫度穩(wěn)定到想要的值。增加比例增益會(huì)起點(diǎn)作用, 但就算是把增益設(shè)成10,輸出始終耍低于冃標(biāo)值,而且你會(huì)看到一個(gè)強(qiáng)大的過(guò)沖 在來(lái)回波動(dòng)(這被叫作振鈴)。UnM圖10:比例反饋控制的溫度控制器tnne=2時(shí)外部T擾導(dǎo)致波動(dòng)前面的例子表明,單獨(dú)的比例控制在某時(shí)很有用,但不能全部見效,被控設(shè) 備有很多的延遲,像粘:密驅(qū)動(dòng)器,就根本不能用比例控制來(lái)穩(wěn)定。像溫度控制器 這類被控設(shè)備,就不能設(shè)置到預(yù)定值。電機(jī)和齒輪組可以工作,

13、但它們希望比只 用單獨(dú)的比例控制更快速地驅(qū)動(dòng)。為了解決這些控制問(wèn)題,你就耍加入積分和微 分控制。積分項(xiàng)積分控制用丁控制回路中的長(zhǎng)期粘密控制C總是兒乎和比例控制一起使用。積分控制應(yīng)用代碼如下,iState (積分狀態(tài))是指Z前所有輸入(輸入誤差) 之和。參數(shù)iMax和iMine用來(lái)限定積分狀態(tài)的最大最小值。double iTenn; / calculate the integral state 計(jì)算積分狀態(tài)/ with appropriate lumtmg 適為的限制pid->iState 十=error;if (pid->iState > pid->iMax) pid-

14、>iState =pid->iMax; else if (pid->iState < pid-> 1M111) pid->iState = pid->iMinJ iTerm = pid->iGaui * iState; / calculate the integral term 計(jì)算積分項(xiàng)積分控制本身通常會(huì)降低整體的穩(wěn)定,英至完全摧毀穩(wěn)定性。圖11顯示了純積分控制的電機(jī)和齒輪(pGain = 0) o這系統(tǒng)不能工作,就 像比例控制的精密驅(qū)動(dòng)器,積分控制的電機(jī)齒輪系統(tǒng)會(huì)一波大一波不斷振蕩,« 至到達(dá)某一極限點(diǎn)。(希望不是損壞的那點(diǎn))圖11

15、:純枳分控制的電機(jī)和齒輪圖12顯示了純積分控制的溫度控制系統(tǒng),系統(tǒng)達(dá)到預(yù)定目標(biāo)所花的時(shí)間比 比例控制(見圖10)更長(zhǎng)。但是叮以注意到即使途中被干擾,仍能正確到達(dá)設(shè) 定值。如果你手頭的系統(tǒng)不需要快速的設(shè)置,這可也是個(gè)可用的系統(tǒng)。Command din 二 Q05 心山=0.02 iOUn 0.01= o.oos0123456Time&二 Ed.8圖12:積分控制的溫喪控制系統(tǒng)time=2時(shí)外部干擾導(dǎo)致波動(dòng)圖12告訴我們?yōu)槭裁此2捎梅e分項(xiàng)。積分狀態(tài)“記憶” 了前而所有的誤差, 這是這個(gè)就可以讓控制器消除輸出的長(zhǎng)期誤差。同樣這個(gè)積分狀態(tài)也可能會(huì)造成 不穩(wěn)定,因?yàn)樵诒豢卦O(shè)備取得速度之后,控制器

16、總是反應(yīng)太慢。為了穩(wěn)定這兩個(gè) 系統(tǒng),你需要從比例項(xiàng)中獲得一些當(dāng)前值。圖13顯示了 PI控制的電機(jī)和齒輪,比較圖8和圖11,可以看到比純比例控 制的系統(tǒng)到達(dá)預(yù)定位置所花的時(shí)間耍長(zhǎng),但是不會(huì)到達(dá)錯(cuò)誤的地方。ln(MJt pCain = 5, (Cain - O.M pGftin 二 2 IGiin 二 O.Ot mmhmm pCftiFi = 2, iG&in = 0.005 pGain 二 2. IGain = 0.002012345Time圖13: PI控制的電機(jī)齒輪圖14顯示了 PI控制的加熱系統(tǒng),和純積分控制一樣,加熱器依然可以到達(dá) 正確的目標(biāo)溫度(見圖12),但是PI控制??靸傻?/p>

17、三倍的時(shí)間。這一數(shù)字顯示 了用PI控制被控設(shè)備可以以最快的速度操作。Command-pCAins Z tCAlAa Q1 pGains 2 (Gains Q05 pGn= Z iCains Q02 « pGains 1, iCains a竝0123Time圖14: PI控制的加熱系統(tǒng)time=2時(shí)外部干擾導(dǎo)致波動(dòng)任討論完積分控制之前,有兩點(diǎn)我耍強(qiáng)調(diào),笫一,隨著誤差的累積,系統(tǒng)采 樣的時(shí)間變得很朿耍。第二,必須注意積分器的范圍避免積分飽和。枳分狀態(tài)改變率與平均謀差、積分增益、采樣率三者Z積相等,由丁積分器 趨向于平穩(wěn)長(zhǎng)期的事情,那么就可以忽略有點(diǎn)不平坦的采樣率,但需耍平均出一 常量。在

18、最壞的情況下,采樣率在10次采樣樣木中不能超過(guò)上下20%,你快至 可以丟棄一些在平均采樣率范I科內(nèi)的采樣率。不過(guò)對(duì)于一個(gè)PI控制,我覺(jué)得每 一個(gè)采樣率在正確采樣時(shí)間內(nèi)達(dá)到上下1%到上下5%之間,有一個(gè)長(zhǎng)期平均采 樣率是最好。如果你的控制器需要努力推動(dòng)被控設(shè)備,你的控制器輸出會(huì)?;ㄙM(fèi)超出騾動(dòng) 器可接受的大量時(shí)間,這種情況稱為飽和。如果你采用PI控制器,當(dāng)所有時(shí)間 都花費(fèi)在飽和情況下時(shí),積分狀態(tài)會(huì)増長(zhǎng)(飽和)成一個(gè)非常大的值。當(dāng)被控設(shè) 備到達(dá)目標(biāo)值時(shí),積分器的值仍然非常大,被控設(shè)備驅(qū)動(dòng)會(huì)超出目標(biāo)值,直到積 分狀態(tài)減小,然后系統(tǒng)就逆轉(zhuǎn)。這種情況下系統(tǒng)不能達(dá)到目標(biāo)位置,但會(huì)沿著目 標(biāo)位置慢慢振蕩。圖1

19、5顯示了積分飽和的效果,我采用圖13的電機(jī)控制器,把電機(jī)驅(qū)動(dòng)限制 在上下0.2%,不僅控制器輸出比驅(qū)動(dòng)器提供給電機(jī)的(輸出)要大很多,而且 電機(jī)還發(fā)生了嚴(yán)重的過(guò)沖。電機(jī)在5秒左右達(dá)到目標(biāo),但它氏到第8秒的時(shí)候才 改變方向,最后直到第15秒的時(shí)候到達(dá)目標(biāo)位置。圖15: PI控制的電機(jī)齒輪飽和(windup)最簡(jiǎn)單般K接地處理枳分器飽和的方法就是限制積分狀態(tài),在前面的代碼里 有舉例。圖16顯示限制圖15中的積分項(xiàng)到可用的驅(qū)動(dòng)輸出??刂破鬏敵鋈匀缓?大(由丁比例項(xiàng)的原因),但是積分器不再有很大的飽和,系統(tǒng)從開始到達(dá)目標(biāo) 值用了 5秒的時(shí)間,最后完成用了 6秒左右。圖16:積分限制PI控制的電機(jī)和齒輪

20、注意在舉例代碼中,你不論什么時(shí)候改變了積分增益,都得巫新設(shè)置iMax 和iMm的值。通常你可以設(shè)置積分器最高和最低值,使積分器輸出相匹配的驅(qū) 動(dòng)器達(dá)到最低和最高。如果你知道外部干擾很少,且你需雯更快地設(shè)定,傷可以 進(jìn)一步限制積分器。微分項(xiàng)上一節(jié)中我沒(méi)有舉例粘:密驅(qū)動(dòng)器,是因?yàn)镻I控制的椿密驅(qū)動(dòng)器會(huì)變得不穩(wěn)定。通常,比例控制的被控制設(shè)備不穩(wěn)定的話,PI控制的也會(huì)不穩(wěn)定。我們知 道比例控制是獲取被控設(shè)備的當(dāng)前狀態(tài)來(lái)處理,積分控制是獲取被控設(shè)備的過(guò)去 狀態(tài)來(lái)處理。如果我們冇一項(xiàng)能預(yù)測(cè)被控設(shè)備的將來(lái)狀態(tài),那會(huì)使被控制設(shè)備更 加穩(wěn)定。微分項(xiàng)就可以做這個(gè)工作。下而的代碼是PID控制器的微分項(xiàng)。我喜歡用實(shí)際

21、的被控設(shè)備位置,還不是 用謀差,是因?yàn)楫?dāng)輸入命令改變時(shí),可以很方便的操作。微分項(xiàng)本身是前一次被 控設(shè)備位置值減去當(dāng)前位置值,這樣就提供了一個(gè)粗略估計(jì)的速度值(改變的位 置/釆樣時(shí)間),從而預(yù)測(cè)下一個(gè)位置值。double dTerm;dTerm = pid->dGain * (position - pid->dState); pid->dState = position;微分控制可以使赫密驅(qū)動(dòng)器變得穩(wěn)定,圖17表示比例微分控制(PD)粘:密 驅(qū)動(dòng)器的響應(yīng),采用比例微分控制比采用其它方式控制榕定所花的時(shí)間耍少很多 倍,圖中所示只花了不到1/2秒。圖18是PID控制的加熱器,你可以

22、看到采用 完全PID控制時(shí),性能有所提升。V 00 a6 a4 2 0ft ft圖17: PID控制的精密驅(qū)動(dòng)器di圖18: PID控制的加熱器微分控制非常強(qiáng)人,但它也是城容易出問(wèn)題的控制類型。不走運(yùn)的話你很可 能會(huì)碰到這三個(gè)問(wèn)題,無(wú)規(guī)律采樣,噪聲,島頻振蕩。我任給出微分代碼的時(shí)候, 發(fā)現(xiàn)控制輸出正比丁位置改變和采樣時(shí)間。當(dāng)位置改變是恒速的,但你采樣時(shí)間 變化,微分項(xiàng)就會(huì)產(chǎn)生噪聲。由J:微分增益通常就是個(gè)很大的值,那么噪聲也會(huì) 被放到很大。采用微分控制的時(shí)候,你必須密切關(guān)注采樣。我說(shuō)過(guò)你耍保證采樣間隔一致, 在任何時(shí)候不超出1%的范由內(nèi),當(dāng)然越接近越好。如果硬件做不到這么好的采 樣間隔,那么就

23、耍在軟件世保持很高的優(yōu)先級(jí)。不需要粘:密執(zhí)行控制器,只需要 保證采樣時(shí)刻準(zhǔn)確。最好是把采樣放在中斷服務(wù)程序里,或者高優(yōu)先級(jí)的任務(wù)中, 執(zhí)行代碼放在優(yōu)先級(jí)不高的代碼中。微分控制伴有噪聲問(wèn)題,噪聲通常廣泛分布在整個(gè)頻譜里山1,控制命令的輸 入和被控設(shè)備輸出,通常在低頻率范圍。比例控制不受噪聲干擾,積分控制平均 了輸入值可以干掉噪聲,微分控制增強(qiáng)了高頻信號(hào),同時(shí)也增強(qiáng)了噪聲??梢钥?我上面設(shè)置的微分增益,在每個(gè)采樣點(diǎn)上引入一點(diǎn)點(diǎn)不同的噪聲,然后再將微分 增益設(shè)置成2000,會(huì)是什么結(jié)果?可以在微分輸出后面加一級(jí)低通濾波器以減少噪聲,但這會(huì)嚴(yán)重影響它的性 能。關(guān)J:如何去做低通濾波器、怎樣做可以確保它

24、能匚作這一理論己經(jīng)超出本文 討論的范國(guó)。這問(wèn)題丄??茨泐A(yù)見所有噪聲的可能性有多人、得到純凈輸入所 能付出的代價(jià)是多少,還冇就是你用微分控制獲得烏性能的迫切性。你能解決這 些問(wèn)題,你就完金可以不用微分控制,要你的硬件伙計(jì)給你低噪聲的輸入,或者 尋找一位控制系統(tǒng)專家。PID控制器完榕代碼如卜Listmg 1,同時(shí)在 以獲得。Listing 1:PID控制器代碼tvpedef stmctdouble dState, / Last position inputdouble iState; / Iiitegiatoi statedouble iMax, lMin; / Maxmium and minim

25、um allowable integrator statedouble iGain, / integral gam pGam. / pioportional gam dGain; / derivative gain SPid;double UpdatePID(SPid * pid, double eiioi; double position)double pTenn.dTeim iTerm;/ calculate the propoitional termpTerm = pid->pGam * error;/ calculate the integral state with appro

26、priate limiting pid->iState += enor;if (pid->iState > pid->iMax) pid->iState = pid->iMax; else if (pid->iState < pid->iMm) pid->iState = pid->iMin; iTemi = pid->iGain * iState; / calculate the mtegial term dTenn = pid->dGam * (position - pid->dState);pid->

27、;dState = position;return pTerm 十 iTerm - dTenn;整定整定一個(gè)PID控制器是個(gè)好事,這是因?yàn)槟悴灰獙?duì)正式控制理論深入了解都 可以來(lái)做這個(gè)美差事。世界上90%的PID控制的閉環(huán)控制系統(tǒng)工作得相當(dāng)好只 是因?yàn)檎ǖ孟喈?dāng)好。如果可以,你可以把系統(tǒng)接上測(cè)試設(shè)備來(lái)觀察信號(hào),可以寫些調(diào)試代碼觀察 相應(yīng)的變量。如果系統(tǒng)運(yùn)行速度不快你可以將用當(dāng)?shù)淖兞繌拇诎l(fā)出來(lái),并用電 子表格記錄。最好是能夠看到控制驅(qū)動(dòng)輸出和玻控設(shè)備輸出,另外,最好也能夠 送給系統(tǒng)命令輸入一序列方波信號(hào),寫適應(yīng)的測(cè)試命令代碼是很容易的。準(zhǔn)備好 以后,你可以將所有的增益值設(shè)為0,如果你認(rèn)為不需要微

28、分控制(像電機(jī)和齒 輪或附U溫系統(tǒng))對(duì)以M接跳到下面講比例增益整疋那節(jié),需要微分控制那么 從調(diào)箱微分增益開始??刂破鞑荒苤挥梦⒎挚刂啤⒈壤鲆嬖O(shè)一個(gè)比較小的值(1或者更小), 檢査系統(tǒng)是否能匚作,如果在這一比例增益下系統(tǒng)振蕩,你可以用微分增益來(lái)修 正。將微分增益值設(shè)置成比例增益值的100倍,然后觀察驅(qū)動(dòng)信號(hào),現(xiàn)在開始增 加微分增益,肚到你看到振蕩、噪音過(guò)高、或過(guò)度(超過(guò)50%)的驅(qū)動(dòng)器或被 控設(shè)備過(guò)沖輸出,要注意的是,過(guò)多微分增益造成的振蕩比不足微分增益時(shí)的振 蕩速度要快得多。我喜炊將增益值增加到系統(tǒng)瀕臨振蕩的時(shí)候,然后再將增益值 減去2或者4。確保驅(qū)動(dòng)信號(hào)仍然很好,這時(shí)你的系統(tǒng)可能反應(yīng)很慢

29、,可以開始 整定比例和積分增益。如果比例增益值沒(méi)設(shè),設(shè)值比例增益值在1到100范用內(nèi),系統(tǒng)可能會(huì)要么 性能嚴(yán)重下降,耍么振蕩。如果你看到振蕩,以8或者10為單位降低比例增益 值吃到振蕩停止;如果你沒(méi)看到有振蕩,以8或者10為單位增加比例増益值H 到你看到振蕩或者過(guò)影的過(guò)沖。就像微分控制,我通常調(diào)胳到過(guò)多的過(guò)沖時(shí)候, 再以2或者4為單位來(lái)減少微分增益。調(diào)密得差不多了的時(shí)候,你可以以2為單 位微調(diào)比例增益值,直到看到你想耍的。比例增益設(shè)置好了之后,開始增加積分增益值,枳分增益起始值范鬧在 0.0001到0.01范用內(nèi),在這里,你需要找到讓你系統(tǒng)即有A理的性能,但乂不 會(huì)有太多過(guò)沖,不會(huì)太接近振蕩的積分增益值的范圍。其它問(wèn)題除非你的系統(tǒng)需要非常粘確的性能參數(shù),你通??梢砸?為單位來(lái)調(diào)整控制 增益來(lái)得到一個(gè)相對(duì)正確的輸出值。這意味冇你可以在軟件電用位移來(lái)代竹乘 法,這對(duì)于釆用低性能的處理器來(lái)說(shuō)非常有用。采樣率到冃前為止,我只討論了在各項(xiàng)中什么樣的采樣率符合,沒(méi)有告訴你怎么去 提訓(xùn)決定什么樣的采樣率符合。如果你的來(lái)樣率太低,由丁來(lái)樣延遲的累枳,你 可能會(huì)達(dá)不到你想耍的性能,如果采樣率過(guò)高,可能會(huì)在微分項(xiàng)中產(chǎn)生噪聲,積 分項(xiàng)中造成溢

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論