PID調(diào)節(jié)控制做電機(jī)速度控制_第1頁(yè)
PID調(diào)節(jié)控制做電機(jī)速度控制_第2頁(yè)
PID調(diào)節(jié)控制做電機(jī)速度控制_第3頁(yè)
PID調(diào)節(jié)控制做電機(jī)速度控制_第4頁(yè)
PID調(diào)節(jié)控制做電機(jī)速度控制_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制V1.1 - Jan 23, 2006中文版19. Innovatlon First Road Science Park Hs n-Chu Taiwan 300 R.O.C.Tel: 886-3-57&6005 Fax: 886-3-578-4418 E-mail: mcu 版權(quán)聲明凌陽(yáng)科技股份有限公司保留對(duì)此文件修改之權(quán)利且不另疔通知。凌陽(yáng)科技股份有限公司所提供之信息相信為正確且 可靠之信息,但并不保證本文件中絕無(wú)錯(cuò)誤,請(qǐng)于向凌陽(yáng)科技股份有限公司握出訂單前,自行確定所使用之相關(guān)技 術(shù)文件及規(guī)格為帰新之版本。若因貴公司使用本公司之文件或產(chǎn)昂,而

2、涉及第三人之專(zhuān)利或著作權(quán)等智能吋產(chǎn)權(quán)之 應(yīng)用及配臺(tái)時(shí),則應(yīng)由貴公司負(fù)費(fèi)取得同意及授權(quán),本公司僅單純販宦產(chǎn)品,上述關(guān)于同意及授權(quán),非屬本公司應(yīng) 為保證之責(zé)任。又未經(jīng)凌陽(yáng)科技股份有限公司之正式書(shū)面許可,本公司之所有產(chǎn)品不得使用于醫(yī)療務(wù)材,維持生命 系統(tǒng)及飛航等相關(guān)設(shè)備。© Sunplus Technology Co., Ltd.PAGE 2V1.1 - Jan 23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制目錄1 模擬P1D控制11.1模擬PID控制原理12 數(shù)字PID控制32.1位宣式PID算法32.2增呈式PID算法42.3控制器參數(shù)整定42.3.1 湊試法52.3.2

3、臨界比例法52.3.3 經(jīng)驗(yàn)法52.3.4 采樣周期的選擇62.4參數(shù)調(diào)整規(guī)則的探索62.5自校止PID控制器73 軟件說(shuō)明83.1軟件說(shuō)明83.2檔案構(gòu)成83.3 DMC界面83.4子程序說(shuō)明94 程序范例164.1 DEMO 程序164.2程序流程與說(shuō)明1943中斷子流程與說(shuō)明205 MCU使用資源215.1 MCU破件使用資源說(shuō)明216 實(shí)驗(yàn)測(cè)試226.1響應(yīng)曲線(xiàn)227 參考文獻(xiàn)26修訂記錄日期版本編寫(xiě)及修訂者編寫(xiě)及修訂說(shuō)明2004/11/261.0初版2006/1/231.1錯(cuò)誤校正© Sunplus Technology Co., Ltd.PAGE 2V1.1 - Jan

4、23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制1模擬PID控制將偏差的比例(Proportion).積分(Integral)和微分(Differential)通過(guò)線(xiàn)性組合構(gòu)成控制杲, 用這一控制最對(duì)被控対彖進(jìn)行控制,這樣的控制器稱(chēng)PID控制器。1.1 模擬PID控制原理在模擬控制系統(tǒng)屮,控制器最常用的控制觀律是PID控制。為了說(shuō)明控制器的工作原理,先看 一個(gè)例子。如圖1-1所示是一個(gè)小功率直流電機(jī)的調(diào)速原理圖。給定速度o(/)與實(shí)際轉(zhuǎn)速進(jìn)行比 較",其差值e(t) = n0(t)-n(t),經(jīng)過(guò)PID控制器調(diào)整后輸出電壓控制信號(hào)«(0,u經(jīng)過(guò)功 率放人后,驅(qū)動(dòng)直

5、流電動(dòng)機(jī)改變其轉(zhuǎn)速。PID控制器直流電機(jī)n(t)圖1-1小功率苴流電機(jī)調(diào)速系統(tǒng)常規(guī)的模擬PID控制系統(tǒng)原理框圖如圖1 -2所示。該系統(tǒng)由模擬PID控制器和被控對(duì)象組成。 圖中,HO是給定值,y(/)是系統(tǒng)的實(shí)際輸出值,給定值與實(shí)際輸出值構(gòu)成控制偏差訊/)e(/) = i(r)-y(O(式 1-1)叫)作為PID控制的輸入,“(/)作為PID控制器的輸出和被控對(duì)彖的輸入。所以模擬PID控制器的 控制規(guī)律為u(f)= K/?2(f) +右卜 dr + 加豊"1(式 1-2)其中:Kp 一一控制器的比例系數(shù)Ti 一一控制器的積分時(shí)間,也稱(chēng)積分系數(shù)Td 一一控制器的微分時(shí)間,也稱(chēng)微分系數(shù)圖1

6、 一2模擬PID控制系統(tǒng)原理圖1、比例部分© Sunplus Technology Co., Ltd.PAGE 1V1.1 - Jan 23, 2006SUNPLUS卩比例部分的數(shù)學(xué)式表示是:Kp * e(t)在模擬PID控制器中,比例環(huán)節(jié)的作用是對(duì)偏差瞬間作出反應(yīng)。偏差一U產(chǎn)生控制器工即產(chǎn)生 控制作用,使控制赧向減少偏差的方向變化??刂谱饔玫膹?qiáng)弱取決比例系數(shù)比例系數(shù)Kp越 人,控制作用越強(qiáng),則過(guò)渡過(guò)程越快,控制過(guò)程的靜態(tài)偏差也就越??;但是Kp越人,也越容易產(chǎn)生 振蕩,破壞系統(tǒng)的穩(wěn)定性。故而,比例系數(shù)Kp選擇必須恰當(dāng),才能過(guò)渡時(shí)間少,靜差小而乂穩(wěn)定的 效果。2、積分部分積分部分的數(shù)學(xué)

7、式表示是:等卜df從積分部分的數(shù)學(xué)表達(dá)式可以知道,只要存在偏差,則它的控制作用就不斷的増加:只仃在偏 差“/)=0時(shí),它的枳分才能是一個(gè)常數(shù),控制作用才是一個(gè)不會(huì)増加的常數(shù)。町見(jiàn),枳分部分可以 消除系統(tǒng)的偏差。積分環(huán)節(jié)的調(diào)節(jié)作用雖然會(huì)消除靜態(tài)謀差,但也會(huì)降低系統(tǒng)的響應(yīng)速度,增加系統(tǒng)的超調(diào)尿。 積分常數(shù)77越人,積分的積累作用越弱,這時(shí)系統(tǒng)在過(guò)渡時(shí)不會(huì)產(chǎn)生振蕩;但是增人積分常數(shù)77會(huì) 減慢靜態(tài)謀差的消除過(guò)程,消除偏差所需的時(shí)間也較長(zhǎng),但可以減少超調(diào)就,提高系統(tǒng)的穩(wěn)定性。 當(dāng)77較小時(shí),則積分的作用較強(qiáng),這時(shí)系統(tǒng)過(guò)渡時(shí)間中仃可能產(chǎn)生振蕩,不過(guò)消除偏差所需的時(shí)間 較短。所以必須根據(jù)實(shí)際控制的具體耍求

8、來(lái)確定77。3、微分部分微分部分的數(shù)學(xué)式衷示是: KpTd塑丄at實(shí)際的控制系統(tǒng)除了希望消除那態(tài)謀差外,還耍求加快調(diào)節(jié)過(guò)程。在偏差出現(xiàn)的瞬間,或在偏 差變化的瞬間,不但耍對(duì)偏差吊做出立即響應(yīng)(比例環(huán)節(jié)的作用),而且耍根據(jù)偏差的變化趨勢(shì)預(yù)先 給出適當(dāng)?shù)募m正。為了實(shí)現(xiàn)這-作用,可在PI控制器的基礎(chǔ)上加入微分環(huán)節(jié),形成PID控制器。微分環(huán)節(jié)的件用便阻止偏簽的變化。它足根拯偏亞的變化趨勢(shì)(變化速度)進(jìn)仃控制。偏屋變 化的越快,微分控制器的輸出就越大,并能在偏差值變?nèi)薢前進(jìn)彳亍修正。微分作用的引入,將仃助 減小超調(diào)磺,克服振蕩,使系統(tǒng)趨丁穩(wěn)定,特別対髙階系統(tǒng)步常仃利,它加快了系統(tǒng)的跟蹤速度。 但微分的作

9、用對(duì)輸入倍號(hào)的噪聲很敏感,對(duì)那些噪聲較人的系統(tǒng)般不用微分,或在微分起作用Z 前先對(duì)輸入信號(hào)進(jìn)行濾波。微分部分的作用由微分時(shí)間常數(shù)7W決定。7W越人時(shí),則它抑制偏差鞏/)變化的作用越強(qiáng):Td 越小時(shí),則它反抗偏差«/)變化的作用越弱。微分部分顯然對(duì)系統(tǒng)穩(wěn)定冇很人的作用。適當(dāng)?shù)剡x擇微分常數(shù)Td,可以使微分作用達(dá)到最優(yōu)"由計(jì)算機(jī)的出現(xiàn),計(jì)算機(jī)進(jìn)入了控制領(lǐng)域。人們將模擬PID控制規(guī)律引入到計(jì)算機(jī)中來(lái)。對(duì) (式1-2)的PID控制規(guī)律進(jìn)行適肖的變換,就可以用軟件實(shí)現(xiàn)PID控制,即數(shù)字PID控制。© Sunplus Technology Co., Ltd.PAGE #V1.1

10、 - Jan 23, 2006SUNPLUS卩2數(shù)字PID控制數(shù)字式PID控制算法可以分為位置式PID和增靈式PID控制算法。2.1 位置式PID算法由于計(jì)算機(jī)控制是一種采樣控制,能根據(jù)采樣時(shí)刻的偏差計(jì)算控制量,而不能像模擬控制 那樣連續(xù)輸出控制彊鳳 進(jìn)行連續(xù)控制。由這一特點(diǎn)(式1一2)中的枳分項(xiàng)和微分項(xiàng)不能直接使 用,必須進(jìn)行離散化處理。離散化處理的方法為:以7、作為采樣周期,R作為采樣序號(hào),則離散采 樣時(shí)間ZT對(duì)W著連續(xù)時(shí)間f,用矩形法數(shù)值枳分近似代替枳分,用一階后向差分近似代替微分,可 作如卜近似變換:t 7T (k - 0,1,2)卩勉迄列丿門(mén)=迄勺 >4>0J-0恥 g(

11、上7) 一。(上-1)丫】_ % s(式 2T)dtT" T-J上式中,為了表示的方便,將類(lèi)似l' e(kT)簡(jiǎn)化成勺等。將(式21)代入(式1-2),就可以得到離散的PID表達(dá)式為叭=g + ¥工勺+加空昔(式2")八7-0U嚴(yán) K嚴(yán)坯+Kij + Kd(乞-)(式2-3)j"其中 k一一 采樣序號(hào),k=0, 1, 2,:uk一一第k次采樣時(shí)刻的計(jì)算機(jī)輸出值;ek 一一第k次采樣時(shí)刻輸入的偏差值;ei 第k 1次采樣時(shí)刻輸入的偏差值:Ki一一積分系數(shù),Ki=Kp*TTi;Kd一一微分系數(shù),Kd=KpW如果釆樣周期足夠小,則(式2 2)或(式2-

12、3)的近似計(jì)算可以獲得足夠精確的結(jié)果,離 散控制過(guò)程與連續(xù)過(guò)程十分接近。(式2-2)或(式2-3)表示的控制算法式直接按(式1-2)所給出的PID控制規(guī)律定義進(jìn) 行計(jì)算的,所以它給出了全部控制駅的人小,因此被稱(chēng)為全駅式或位貫式PIU控制算法。這種算法的缺點(diǎn)是:由J:全最輸出,所以每次輸出均與過(guò)去狀態(tài)月關(guān),計(jì)算時(shí)耍對(duì)耳進(jìn)行累加, 工作量大;并且,因?yàn)橛?jì)力機(jī)輸出的冷對(duì)應(yīng)的是執(zhí)行機(jī)構(gòu)的實(shí)標(biāo)位憶 如果計(jì)算機(jī)出現(xiàn)故障,輸出 的勺將人幅度變化,會(huì)引起執(zhí)行機(jī)構(gòu)的人幅度變化,有町能因此造成嚴(yán)豆的生產(chǎn)爭(zhēng)故,這在實(shí)生產(chǎn) 際中是不允許的。增宣式PID控制算法可以避免著啦現(xiàn)象發(fā)牛。2.2 增量式PID算法所謂増武式p

13、id是指數(shù)字控制器的輸出只是控制武的增駅你。當(dāng)執(zhí)彳r機(jī)構(gòu)石耍的控制訊是增 呈,而不是位豐量的絕對(duì)數(shù)值時(shí),可以使用增量式PID控制算法進(jìn)行控制。增肚式PID控制算法可以通過(guò)(式2-2)推導(dǎo)出。曲(式2-2) uf以得到控制器的第k-1 個(gè)釆樣時(shí)刻的輸出值為:(式 2-4)妝-1 = Kp£ + £工勺 + Td 5 打3將(式2 2)與(式24)相減并整理,就吋以得到増吊:式PID控制算法公式為:姝=冷一冷t =切(勺一5-1 + Td勺一 2幺學(xué)+ g)TiT丁 Td27k/Td(式 25)=勺(1 +亓+ )勺Kp(l + 4- Kpek2)=Aek + Be + Cek

14、_2其中 A = Kp(l + £ +孚);Ti T07 V/B = Kp(l + ); c “ Td C _ Kp a由(式2-5)可以看出,如果計(jì)算機(jī)控制系統(tǒng)采用恒定的采樣周期丁,一 U確定A、B、C, 只要使用前后三次測(cè)最的偏差值,就可以由(式2-5)求出控制最。増晝式PID控制算法與位置式PID算法(式2-2)相比,計(jì)算吊:小的多,因此在實(shí)際中得到 廣泛的應(yīng)用。而位置式PID控制算法也可以通過(guò)増彊式控制算法推出遞推計(jì)算公式:|“=心_+山“(式 26)(式26)就是冃前在計(jì)算機(jī)控制中廣泛應(yīng)用的數(shù)字遞推PID控制算法。2.3控制器參數(shù)整定控制器參數(shù)整定:指決定調(diào)節(jié)器的比例系數(shù)K

15、p、積分時(shí)間77、微分時(shí)間7W和采樣周期C的 © Sunplus Technology Co., Ltd.PAGE 5V1.1 - Jan 23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制典體數(shù)值。整定的實(shí)質(zhì)是通過(guò)改變調(diào)節(jié)器的參數(shù),使比特性和過(guò)程特性相匹配,以改善系統(tǒng)的動(dòng)態(tài) 和靜態(tài)指標(biāo),取得最佳的控制效果。整定調(diào)節(jié)器參數(shù)的方法很多,歸納起來(lái)町分為兩人類(lèi),即理論計(jì)算整定法和匸程整定法。理論 計(jì)算整定法有對(duì)數(shù)頻率特性法和根紈跡法等;匸程整定法仃湊試法、臨界比例法、經(jīng)驗(yàn)法、衰減曲 線(xiàn)法和響應(yīng)曲線(xiàn)法等工程整定法特點(diǎn)不尙耍事先知道過(guò)程的數(shù)學(xué)模型,直接在過(guò)程控制系統(tǒng)中進(jìn) 行現(xiàn)場(chǎng)整定方法

16、簡(jiǎn)單、計(jì)算簡(jiǎn)便、易于掌握。2.3.1 湊試法按照先比例(P)、再積分(I)、最后微分(D)的順序。置調(diào)節(jié)器積分時(shí)間77=8,微分時(shí)M7W=0.在比例系數(shù)K“按經(jīng)驗(yàn)設(shè)置的初值條件卜,將系統(tǒng) 投入運(yùn)行,由小到人整定比例系數(shù)切。求得滿(mǎn)意的1/4衰減度過(guò)渡過(guò)程曲線(xiàn)。引入積分作用(此時(shí)應(yīng)將上述比例系數(shù)K”設(shè)置為5/6®)。將77由人到小進(jìn)行整定。若需引入微分作用時(shí),則將Td按經(jīng)驗(yàn)值或按Td= (1/31/4) 77設(shè)置,并由小到大加入。2.3.2 臨界比例法在閉壞控制系統(tǒng)里,將調(diào)節(jié)器置純比例作用廠(chǎng)從小到人逐漸改變調(diào)節(jié)器的比例系數(shù),得到 等幅振蕩的過(guò)渡過(guò)程。此時(shí)的比例系數(shù)稱(chēng)為臨界比例系數(shù)K&qu

17、ot;,相鄰兩個(gè)波峰間的時(shí)間何隔,稱(chēng)為臨 界振蕩周期71-臨界比例度法步驟:1、將調(diào)節(jié)器的積分時(shí)間77置最人(77=8),微分時(shí)間置零(77/二0),比例系數(shù)切適當(dāng), 平衡操作一段時(shí)間,把系統(tǒng)投入自動(dòng)運(yùn)行。2、將比例系數(shù)Kp逐漸增人,得到等幅振蕩過(guò)程,記卜臨界比例系數(shù)K"和臨界振蕩周期帀值。3、根據(jù)K”和了"值,采用經(jīng)驗(yàn)公式,計(jì)算出調(diào)節(jié)器各個(gè)參數(shù),即 切、77和7W的值。按“先P再I(mǎi)最后D”的操作程序?qū)⒄{(diào)節(jié)器整定參數(shù)調(diào)到計(jì)算值上。若還不夠滿(mǎn)意,可再作進(jìn)一 步調(diào)胳。臨界比例度法整定注意事項(xiàng):冇的過(guò)程控制系統(tǒng),臨界比例系數(shù)很人,使系統(tǒng)接近兩式控制,調(diào)節(jié)閥不是全關(guān)就是全開(kāi),對(duì) 工

18、業(yè)生產(chǎn)不利。冇的過(guò)程控制系統(tǒng),當(dāng)調(diào)節(jié)器比例系數(shù)切調(diào)到最人刻度值時(shí),系統(tǒng)仍不產(chǎn)生等幅振蕩,對(duì)此, 就把最人刻度的比例度作為臨界比例度進(jìn)行調(diào)節(jié)器參數(shù)整定。2.3.3 經(jīng)驗(yàn)法用湊試法確定PID參數(shù)需要經(jīng)過(guò)多次反復(fù)的實(shí)驗(yàn),為了減少湊試次數(shù),提高工作效率,可以借 鑒他人的經(jīng)驗(yàn),并根據(jù)一定的要求,爭(zhēng)先作少帚的實(shí)驗(yàn),以得到若干基準(zhǔn)參數(shù),然后按照經(jīng)驗(yàn)公式, 用這些基準(zhǔn)參數(shù)導(dǎo)出PID控制參數(shù),這就是經(jīng)驗(yàn)法。臨界比例法就足一種經(jīng)驗(yàn)法。這種方法首先將控制器選為純比例控制器,并形成閉壞,改變比 例系數(shù),使系統(tǒng)對(duì)階躍輸入的響應(yīng)達(dá)到臨界狀態(tài),這時(shí)記卜比例系數(shù)K“、臨界振蕩周期為帀,根據(jù)Z-N提供的經(jīng)驗(yàn)公式,就可以由這兩個(gè)

19、基準(zhǔn)參數(shù)得到不同類(lèi)型控制器的參數(shù),如表21所示。表2-1臨界比例法確定的模擬控制器參數(shù)控制器類(lèi)型KpTiTdp0.5 KuPI0.45 Ku0.85 TilPID0.6 Ku0.5 Tf/0.127m這種臨界比例法使針對(duì)模擬PID控制器,對(duì)數(shù)字PID控制器,只耍采樣周期取的較小,原則 上也同樣使用。在電動(dòng)機(jī)的控制中,可以先采用臨界比例法,然后在采用臨界比例法求得結(jié)果的基 礎(chǔ)上,用湊試法進(jìn)一步完善。表2-1的控制參數(shù),實(shí)際匕是按衰減度為1/4時(shí)得到的。通常認(rèn)為1/4的衰減度能兼顧到穩(wěn)定 性和快速性。如果要求更人的衰減,則必須用湊試法對(duì)參數(shù)作進(jìn)一步的調(diào)整。2.3.4 采樣周期的選擇香農(nóng)(Shann

20、on)采樣定律:為不失真地復(fù)現(xiàn)信號(hào)的變化,采樣頻率至少W人或等連續(xù) 信號(hào)最高頻率分量的二倍。根據(jù)采樣定律可以確定采樣周期的上限值。實(shí)際采樣周期的選樣還要受 到多方面因素的影響,不同的系統(tǒng)采樣周期應(yīng)根據(jù)典體情況來(lái)選擇。采樣周期的選擇,通常按照過(guò)程特性與干擾人小適肖來(lái)選取采樣周期:即對(duì)響應(yīng)快、(如流 杲、斥力)波動(dòng)人、易受干擾的過(guò)程,應(yīng)選取較短的采樣周期:反Z,當(dāng)過(guò)程響應(yīng)慢(如溫度、成 份)、滯后大時(shí),可選取較長(zhǎng)的采樣周期。采樣周期的選取臧與PID參數(shù)的整定進(jìn)行綜合考慮,采樣周期應(yīng)遠(yuǎn)小J:過(guò)程的擾動(dòng)信號(hào)的周期, 在執(zhí)行器的響臧速度比較慢時(shí),過(guò)小的采樣周期將失去意義,I大I此可適當(dāng)選人一點(diǎn);在計(jì)算機(jī)

21、運(yùn)算 速度允許的條件卜,采樣周期短,則控制甜質(zhì)好;當(dāng)過(guò)程的純滯后時(shí)間較長(zhǎng)時(shí),一般選取采樣周期 為純滯后時(shí)間的1/41/8。2.4參數(shù)調(diào)整規(guī)則的探索人們通過(guò)対PID控制理論的認(rèn)識(shí)和長(zhǎng)期人匸操作經(jīng)驗(yàn)的總結(jié),町知PID參數(shù)應(yīng)依據(jù)以卜兒點(diǎn)來(lái) 適應(yīng)系統(tǒng)的動(dòng)態(tài)過(guò)程。仁在偏差比較人時(shí),為使盡快消除偏差,提高響應(yīng)速度,同時(shí)為了避免系統(tǒng)響應(yīng)出現(xiàn)超調(diào),Kp 取人值,K,取零;在偏差比較小時(shí),為繼續(xù)減小偏差,并防止趙調(diào)過(guò)人、產(chǎn)生振蕩、穩(wěn)定性變壞, Kp值耍減小,K,収小值:在偏差很小時(shí),為消除靜雄,克服超調(diào),使系統(tǒng)盡快穩(wěn)定,Kp值繼續(xù) 減小,K/值不變或稍取人。2、當(dāng)偏差與偏差變化率同號(hào)時(shí),被控駅是朝偏離既定值方向

22、變化。因此,當(dāng)被控帚接近定值 時(shí),反號(hào)的比列作用阻礙積分作用,避免積分超調(diào)及隨之而來(lái)的振蕩,有利于控制;而當(dāng)被控量遠(yuǎn) 未接近各定值并向定值變化時(shí),則由J這兩項(xiàng)反向,將會(huì)減慢控制過(guò)程。在偏差比較人時(shí),偏差變 化率與偏差異號(hào)時(shí),Kp值取零或負(fù)值,以加快控制的動(dòng)態(tài)過(guò)程。3、偏差變化率的人小衣明偏差變化的速率,q勺t越人,Kp取值越小,Ki収值越人,反 Z亦然。同時(shí),要結(jié)合偏差人小來(lái)考慮。4、微分作用可改善系統(tǒng)的動(dòng)態(tài)特性,阻止偏差的變化,令助減小超調(diào)最,消除振蕩,縮対 調(diào)節(jié)時(shí)間匚,允許加人Kp,使系統(tǒng)穩(wěn)態(tài)謀差減小,提窩控制稻度,達(dá)到滿(mǎn)意的控制效果。所以, 在勺比較人時(shí),Kd取零,實(shí)際為PI控制;在勺比

23、較小時(shí),Kd取一正值,實(shí)行PID控制。2.5 自校正PID控制器對(duì)個(gè)特定的被控對(duì)彖,在純比例控制的作用卜攻變比例系數(shù)可以求出產(chǎn)生臨界振蕩的振蕩 周期T"和臨界比例系數(shù)K“。根據(jù)Z-N條件,有7' = 0.17'wTi = 0.5TuTd = 0.125Tu代入(式2-5)則有:Awjt=Aj?(2.45ejt -3.5 4-1.25_2)(式2-7)很顯然,采用上式可以I分容易的實(shí)現(xiàn)常數(shù)Kp的校正。© Sunplus Technology Co., Ltd.PAGE 7V1.1 - Jan 23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制3軟件說(shuō)明

24、3.1軟件說(shuō)明AN_SPMC75_0012在微處理器SPMC75F2413A上實(shí)現(xiàn)數(shù)字PID對(duì)BLDC速度的調(diào)節(jié),晅點(diǎn) 將是對(duì)PID參數(shù)的整定,使系統(tǒng)的動(dòng)靜態(tài)性能達(dá)到“滿(mǎn)意”的效果。3.2檔案構(gòu)成文件名稱(chēng)功能類(lèi)型MainBLDC驅(qū)動(dòng)相關(guān)參數(shù)初始化,DMC服務(wù)CChap2BLDC驅(qū)動(dòng)相關(guān)函數(shù)CInitial系統(tǒng)所有相關(guān)初始化程序CISR駅動(dòng)中相應(yīng)的屮斷服務(wù)CDigitalPID_V100.lib Spmc75 dmc lib V100.libPID設(shè)置,初始化和PID計(jì)算函數(shù)庫(kù)函數(shù) DMC通信程序lib lib3.3 DMC界面Speed 1_Cmd:設(shè)置電機(jī)運(yùn)轉(zhuǎn)的速度Speed 1_Now:電

25、機(jī)肖前反饋速度Speed 1_Kp: 2.5節(jié) 自校正PID控制器中提到的Kp ftUser.RO:為前P_TMR3_TGRA寄存器的值User_R1:設(shè)置速度與電機(jī)實(shí)際轉(zhuǎn)速的差值Motor 1 Start 和 Motor 1 Stop 控制啟停© Sunplus Technology Co., Ltd.PAGE #V1.1 - Jan 23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制3.4子程序說(shuō)明PIDlnit ()原形void PIDInit (void)描述PID所用到的RAM清零輸入?yún)?shù)無(wú)輸出參數(shù)無(wú)頭文件Spmc75_PID.h庫(kù)文件DigitalPID_V100

26、注意事項(xiàng)請(qǐng)?jiān)谠O(shè)置參數(shù)前使用。例子PIDInit ();© Sunplus Technology Co., Ltd.PAGE 9V1.1 - Jan 23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制PIDSetPoint ()原形void PIDSetPoint(int)描述設(shè)置PID調(diào)節(jié)的目標(biāo)值輸入?yún)?shù)期望值輸出參數(shù)無(wú)頭文件Spmc75_PID.h庫(kù)文件DigitalPID_V100注意事項(xiàng)例子PIDSetPoint (2000); 期塑電動(dòng)機(jī)的轉(zhuǎn)速為2000rpmPIDGetSetpoint ()原形int PIDGetSetpoint(void)描述讀取PID調(diào)節(jié)設(shè)置的

27、目標(biāo)值輸入?yún)?shù)無(wú)輸出參數(shù)所設(shè)置的期型值頭文件Spmc75_PID.h庫(kù)文件DigitalPID_V100注意事項(xiàng)得到的期壑值將和數(shù)値的是同一個(gè)數(shù)值例子uiSpeed = PIDSetPoint (); /讀取所設(shè)置的期壑電動(dòng)機(jī)轉(zhuǎn)速© Sunplus Technology Co., Ltd.PAGE #V1.1 - Jan 23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制PIDSetKp ()原 形void PIDSetKp(double)描 述設(shè)置PID的Kp值輸入?yún)?shù)Kp數(shù)值輸出參數(shù)無(wú)頭文件Spmc75_PID.h庫(kù)文件DigitalPID_V100注意事項(xiàng)這個(gè)參數(shù)在增起

28、PID和位置PID的計(jì)算中代表著不同的意思。(式24)所示位置式PID中Kp就是比例系數(shù)(式2-5)所示增靈式PID中Kp相當(dāng)' ek的系數(shù)/Cp(l + + ) Ti T例 子PIDSetKp (0.257); II設(shè)置 Kp=0.257PIDGetKp ()原 形double PIDGetKp(void)描 述讀取PID中所設(shè)置的Kp值輸入?yún)?shù)無(wú)輸出參數(shù)Kp數(shù)值頭文件Spmc75_PID.h庫(kù)文件DigitalPID_V100注意事項(xiàng)這個(gè)參數(shù)在增磺PID和位宣PID的汁算中代衣看不同的意思。(式24所示位置式PID中Kp就是比例系數(shù)(式25)所示增R式PID屮Kp相當(dāng)ek的系數(shù)Kp

29、(l + + Ti T例 子dKp = PIDSetKp ();PIDSetKi()原形描述輸入?yún)?shù)void PIDSetKi(double dKii)設(shè)置PID的Ki值Ki數(shù)值輸出參數(shù)無(wú)頭文件Spmc75_PID.h庫(kù)文件DigitalPID_V100注意事項(xiàng)這個(gè)參數(shù)在增帚PID和位置PID的計(jì)算中代表著不同的意思。(式24)所示位置式PID中Ki是枳分系數(shù)Kp二Ti(式25)所示增量式PID中Ki是勺t的系數(shù)K"(l+"d)例子PIDSetKi (0.367); II設(shè)置 Ki=0.367PIDGetKif )原形描述輸入?yún)?shù)double PIDGetKi(void)讀

30、取PID屮所設(shè)置的Ki值無(wú)輸出參數(shù)Ki數(shù)值頭文件Spmc75_PID.h庫(kù)文件DigitalPID_V100注意事項(xiàng)這個(gè)參數(shù)在增最PID和位置PID的計(jì)算中代表著不同的意思。(式24)所示位置式PID >|« Ki是積分系數(shù)Kp二Ti(式2-5)所示增量式PID中Ki是勺t的系數(shù)Kp(l+2Td)例子dKi = PIDSetKi ();© Sunplus Technology Co., Ltd.PAGE 13V1.1 - Jan 23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制PIDSetKd ()原 形void PIDSetKd(doubledKdd)描

31、述設(shè)置PID的Kd值輸入?yún)?shù)Kd數(shù)值輸出參數(shù)頭文件Spmc75_PID.h庫(kù)文件DigitalPID_V100注意事項(xiàng)這個(gè)參數(shù)在增嵐PID和位置PID的計(jì)算中代表著不同的意思。 (式24)所示位置式PID中Kd是枳分系數(shù)Kp爭(zhēng) (式25)所示增靈式PID中Kd是e-2的系數(shù)Kp牛例子PIDSetKd (0.157); 設(shè)置 Kd=0.157PIDGetKd ()原形void PIDGetKd(double dKdd)描述讀取PID中所設(shè)置的Kd值輸入?yún)?shù)無(wú)輸出參數(shù)Kd數(shù)值頭文件Spmc75_PID.h庫(kù)文件DigitalPID_V100注意事項(xiàng)這個(gè)參數(shù)在增杲PID和位置PID的計(jì)算中代表著不同

32、的意思。T 1(式24)所示位迓式PID中Kd是積分系數(shù)Kp*(式2-5)所示增杲式PID中Kd是勺t的系數(shù)切例子dKd = PIDSetKd ();IncPIDCalc ()原 形描 述輸入?yún)?shù)輸出參數(shù)頭文件庫(kù)文件注意事項(xiàng)例 子int IncPIDCalc(int)増帚:式PID計(jì)算PID調(diào)節(jié)當(dāng)前采樣值計(jì)算増量Spmc75_PID.hDigitalPID_V100(式2-5)增駅式PID算法的實(shí)現(xiàn)。uiGoalvalue += IncPIDCalc (1998); 位置式PID控制算法通過(guò)増量式控 制算法遞推實(shí)現(xiàn),當(dāng)前采樣得到轉(zhuǎn)速1998rpmo© Sunplus Technolo

33、gy Co., Ltd.PAGE 15V1.1 - Jan 23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制LocPIDCalc ()原 形unsigned int LocPIDCalc(int)位置式PID計(jì)算© Sunplus Technology Co., Ltd.PAGE 17V1.1 - Jan 23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制© Sunplus Technology Co., Ltd.PAGE #V1.1 - Jan 23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制輸入?yún)?shù)PID調(diào)節(jié)當(dāng)前采樣值輸出參數(shù)位置式PID計(jì)算

34、出的絕對(duì)位置值頭文件Spmc75_PID.h庫(kù)文件注意事項(xiàng)DigitalPID_V100(式24)位置式式PID算法的實(shí)現(xiàn)。uiGoalvalue = LocPIDCalc (1998); /位置式PID控制算法,當(dāng)前采樣得到 轉(zhuǎn)速 1998rprr)o其它應(yīng)用函數(shù)式対 介紹。BLDC驅(qū)動(dòng)的實(shí)現(xiàn).不再一一贅述,町以參考AN.SPMC75.0003 W用例的© Sunplus Technology Co., Ltd.PAGE #V1.1 - Jan 23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制4程序范例(Sunplus Technology Co., Ltd.PAGE #

35、V1.1 - Jan 23, 200(SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制(Sunplus Technology Co., Ltd.PAGE #V1.1 - Jan 23, 200(SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制4.1 DEMO 程序/=/應(yīng)用范例ncludeSpmc75_regs.hninclude#includen Spmc_typedef . hlf nunspmacro. h11 MSpmc75_BLDC.hnmain()P_IOA_SPE->WP_IOB_SPE->WP IOC SPE->W=0x0000; 0x0000;=0x0000;Spnnc

36、7 5_System_I nit ();/Spmc75系統(tǒng)初始化while(l)BLDC_Run_Service ( ) ;/啟停監(jiān)控NOP();/ Description: IRQO interrupt source is XXX9used to XXX/ Notes:錯(cuò)誤保護(hù)void IRQO(void) attribute (ISR);void IRQO(void)(I?M_Fault_Protect();/ Description: IRQ1 interrupt source is XXX9used to XXX/ Notes :BLDC啟動(dòng)及正常運(yùn)行服務(wù)void IRQ1(void)

37、 attribute (ISR);void IRQ1(void)(/Position detection change interrupt宀= if(P_TMRO_Status->B.PDCIF && P_TMRO_INT->B.PDCIE) BLDC_Motor_Normalrun();)/= /Timer Counter Overflow/*=“= if(P_TMRO_Status->B.TCVIF && P_TMRO_INT->B.TCVIE) BLDC_Motor_Startup);P_TMRO_Status->W P_TM

38、RO_Status->W;(Sunplus Technology Co., Ltd.PAGE #V1.1 - Jan 23, 200(SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制/ Description: IRQ6 interrupt source is XXXzused to XXX / Notes :DMC接收屮斷服務(wù)換數(shù)(Sunplus Technology Co., Ltd.PAGE #V1.1 - Jan 23, 200(SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制(Sunplus Technology Co., Ltd.PAGE #V1.1 - Jan 23, 200(SUNP

39、LUSPID調(diào)節(jié)控制做電機(jī)速度控制void IRQ6(void) attribute (ISR);void IRQ6(void)If(F_INT_StatUS->BUARTIF)if(P_UART_Status->B.RXIF) MC 7 5_DMC_RcvS t ream(); if(P_UART_Status->B.TXIF && P_UART_Ctr1->B.TXIE);/ Description: IRQ7 interrupt source is XXX9used to XXX/ Notes: 512Hz定時(shí)中斷完成PTD調(diào)節(jié)速度/=void I

40、RQ7(void) attribute (ISR);void IRQ7(void)(if(P_INT_Status->B.CMTIF)if(P CMT Ctrl->B.CMOIF && F CMT Ctr1->B.CMOIE)(Sunplus Technology Co., Ltd.PAGE #V1.1 - Jan 23, 200(SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制PID計(jì)算子兩數(shù):/數(shù)據(jù)結(jié)構(gòu) typedef struct PID int SetPoint;long SumError;/設(shè)定目標(biāo) Desired Value/誤差累計(jì)double Pro

41、portion; double Integral;double Derivative;/Error-1/Error-2/比例;常數(shù) Proportional Const /積分常數(shù) Integral Const /微分巾數(shù) Derivative Constint LastError; int PrevError; PID;static PID sPID;static PID *sptr &sPID;/PID參數(shù)初始化void IncPIDInit(void)sptr->SumError=0;sptr->LastError 0;/Error-1sptr->PrevErr

42、or =0;/Error-2sptr->Proportion-0;/比例希數(shù) Proportional Constsptr->Integral=0;/積分常數(shù) Integral Constsptr->Derivative=0;/微分箱數(shù) Derivative Constsptr->SetPoint=0;/増量式P1D控制設(shè)計(jì)int IncPIDCalc(int NextPoint)register int iErrorr ilncpid;/當(dāng)前誤差iError sptr->SetPoint - NextPoint;/増最計(jì)算ilncpid = sptr->P

43、roportion * iError/Ek項(xiàng)-sptr->Integral * sptr->LastError/Ek1項(xiàng)+ sptr->Derivative * sptr->PrevError;/Ek 2項(xiàng)/存儲(chǔ)誤差,用丁下次計(jì)算sptr->PrevError sptr->LastError; sptr->LastError = iError;/返回增量值return(ilncpid);/位置式PHD控制設(shè)計(jì)unsigned int LocPIDCalc(int NextPoint)register int iError.dError;iError =

44、 sptr-> Set Point - NextPoint;/偏刀;sptr->SumError += iError;/積分dError = iError - sptr->LastError;/微分sptr->LastError = iError;return(sptr->Proportion * iError/比仮F項(xiàng)+ pLi->InLegxal *->SuniEr roi /積 項(xiàng)+ sptr->Derivative * dError ) ;/微分項(xiàng)4.2程序流程與說(shuō)明主程序主要完成系統(tǒng)必耍的初始化,而對(duì)電動(dòng)機(jī)的實(shí)時(shí)處理基本上是在中斷屮完成

45、的,其中涉 及到的中斷主耍勺:IRQ0的錯(cuò)誤輸入和輸出中斷、IRQ1的PDC和TCV中斷、IRQ6的UART RXD 中斷及CMT0的定時(shí)中斷。如圖5-1所示主程序設(shè)計(jì)流程圖。圖5-1 BLDC主程序操作流程4.3中斷子流程與說(shuō)明故障輸入、輸出短路、PDC、TCV. RXD和CMT0等中斷協(xié)助完成了對(duì)BLDC的啟動(dòng)、運(yùn)仃、 速度調(diào)節(jié)和錯(cuò)誤保護(hù)的控制。其中如果使用默認(rèn)各個(gè)中斷源的使用都按照初始化設(shè)置已經(jīng)相應(yīng)的固 定卜來(lái)。這里只對(duì)PDC、TCV屮斷流程示出,以便使用者參考。如圖5-2 PDC、TCV屮斷操作 流程圖&2 PDC. TCV中斷操作流程© Sunplus Techno

46、logy Co., Ltd.PAGE 23V1.1 - Jan 23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制5 MCU使用資源5.1 MCU硬件使用資源說(shuō)明CPU型號(hào)SPMC75F2413A封裝QFP80-0.8振蕩器區(qū)| crystal頻率6MHz外部輸入頻率WATCHDOG區(qū)I有 無(wú)啟用因未啟用IO 口使用悄況使用IOB0.6:電機(jī)驅(qū)動(dòng)接IIIOB8.10:位置偵測(cè)接IIOB14:電機(jī)驅(qū)動(dòng)使能IOC0.1: UARTTimer使用悄況PDC0位置偵測(cè)和速度測(cè)量MCP3電機(jī)驅(qū)動(dòng)信號(hào)發(fā)生CMT0PID調(diào)整服務(wù)定時(shí)器中斷便用惜況PDCO (IRQ1):速度測(cè)磺和定時(shí)發(fā)生 MCP3

47、(IRQ3):電機(jī)驅(qū)動(dòng)信號(hào)發(fā)生 UART (IRQ6):主機(jī)通信服務(wù)CMTO (IRQ7): PID調(diào)整服務(wù)定時(shí)器ROM使用悄況6.34K Words© Sunplus Technology Co., Ltd.PAGE #V1.1 - Jan 23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制6實(shí)驗(yàn)測(cè)試測(cè)試主耍是針對(duì)120度上相PWM方波驅(qū)動(dòng)帶霍爾位置傳感的直流無(wú)刷電動(dòng)機(jī)并應(yīng)用PID控制 來(lái)進(jìn)行對(duì)電動(dòng)機(jī)的速度調(diào)節(jié)碩件原理圖及關(guān)J: BLDC驅(qū)動(dòng)請(qǐng)參照AN_SPMC75_0003o Kp參 數(shù)的調(diào)幣,在源程序中是可以用預(yù)編譯定義的。如果定義的話(huà)就可以在DMC卜対Kp參數(shù)調(diào)整,但

48、 請(qǐng)注意,DMC卜的參數(shù)需要是擴(kuò)人一千倍的。例如:Kp = 0.105, DMC參數(shù)就應(yīng)該是105.這樣 Kp的范囤就可以在(400, 10),對(duì)這個(gè)范圍的參數(shù)只能說(shuō)是能正常的丁作。如果說(shuō)最適介,那么 還請(qǐng)您根據(jù)系統(tǒng)的需耍,按照各種整定方法對(duì)其進(jìn)行全而的評(píng)估。【注意】 仁在這里PID參數(shù)的選擇和PWM的載波頻率也冇一定的關(guān)系,載波頻率越高則 P_TMRx_TGRA】所設(shè)置的范南就越小,調(diào)節(jié)就比較的快。這種種因數(shù)希盥到能考世在內(nèi),得到 最適介的PID參數(shù)?!咀⒁狻?、如果選擇使用DMC來(lái)調(diào)整PID的Kp參數(shù),請(qǐng)先設(shè)置轉(zhuǎn)速(Speed1_Cmd)和Kp (Speed1_Kp)的數(shù)值再川動(dòng)Motor

49、l:若足使用固定的PID的Kp參數(shù)(在程序中固定),請(qǐng)先設(shè) 置轉(zhuǎn)速 < Speed 1_Cmd)再啟動(dòng) Motorl o【注意】3、在DMC FPID參數(shù)的時(shí)候Speed仁Kp與Kp的關(guān)系是Speed1_Kp=1000Kp,就是 說(shuō)如果耍設(shè)置Kp為0.125, DMC的Speed 1_Kp應(yīng)該給出125.6.1響應(yīng)曲線(xiàn)所右測(cè)試都是在空載,PWM伐波為6KHz的情況卜進(jìn)行:1、Speed1_Kp=10,即Kp=0.01o在轉(zhuǎn)速?gòu)?rpm升至2000rpm的響應(yīng)曲線(xiàn),如圖6.1 o© Sunplus Technology Co., Ltd.PAGE 25V1.1 - Jan 23, 2006SUNPLUSPID調(diào)節(jié)控制做電機(jī)速度控制© Sunplus Technol

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論