引言
在é‹(yùn)å‹•(dòng)控制系統(tÇ’ng)è¨(shè)計(jì)ä¸ï¼ŒPID控制以其çµ(jié)æ§‹(gòu)ç°¡(jiÇŽn)å–®ã€ä½¿ç”¨æ–¹ä¾¿ã€é¯æ£’性較強(qiáng)ç‰ç‰¹é»ž(diÇŽn)é•·(zhÇŽng)期以來(lái)被廣泛應(yÄ«ng)用于工æ¥(yè)éŽ(guò)程ä¸ï¼Œå¹¶å–得了良好的控制效果。但是å°(duì)于一些éžç·š(xià n)性時(shÃ)變系統(tÇ’ng),采用PID控制難以ç²å¾—滿(mÇŽn)æ„得控制效果[1]。而模糊控制是一種基于語(yÇ”)言è¦(guÄ«)則與模糊推ç†çš„æ™ºèƒ½æŽ§åˆ¶ï¼Œå®ƒä¸ä¾è³´(là i)被控å°(duì)象精確的數(shù)å¸(xué)模型,是在總çµ(jié)ç¶“(jÄ«ng)é©—(yà n)基礎(chÇ”)上實(shÃ)ç¾(xià n)自動(dòng)控制的一種手段。由于模糊控制å°(duì)輸入變é‡çš„è™•ç†æ˜¯é›¢æ•£çš„,且沒(méi)有ç©åˆ†ç’°(huán)節(jié),故控制精度ä¸å¦‚PID控制。本文將模糊控制與PID控制相çµ(jié)åˆï¼Œåˆ©ç”¨æ¨¡ç³Šåˆ¤æ–·çš„æ€æƒ³ï¼Œå°(duì)PIDåƒæ•¸(shù)自動(dòng)整定。使用è²åŠ èŠå…¬å¸æ–°æŽ¨å‡ºçš„AR4MATLAB/Simulinkä¸çš„B&R工具箱進(jìn)行控制器è¨(shè)計(jì)并應(yÄ«ng)用到空氣çƒ?qÅ«)å¶’?yà n)系統(tÇ’ng)ä¸ã€‚
1. 實(shÃ)é©—(yà n)硬件系統(tÇ’ng)æ§‹(gòu)æˆ
本文采用的空氣çƒ?qÅ«)å¶’?yà n)è£ç½®ç”±è²åŠ èŠå…¬å¸æä¾›ï¼Œè©²ç³»çµ±(tÇ’ng)由控制器ã€é¢¨(fÄ“ng)扇ã€çŽ»ç’ƒç®¡ã€ç©ºæ°£çƒçµ„æˆï¼Œå¦‚圖1所示,具體如下:
1)控制器:采用è²åŠ èŠå…¬å¸çš„X20CP1486標(biÄo)準(zhÇ”n)åž‹CPU,它是基于Intel Celeron的處ç†å™¨ï¼Œä»»å‹™(wù)處ç†ç‰ç´š(jÃ)是μsç´š(jÃ)ã€‚é…æœ‰64MB的大容é‡?jÄ«)?nèi)å˜ï¼Œæ–¹ä¾¿æ¨¡ç³ŠæŽ§åˆ¶ç‰å¾©(fù)雜控制é‹(yùn)ç®—ï¼›
2)風(fÄ“ng)扇:采用標(biÄo)準(zhÇ”n)PC風(fÄ“ng)扇,輸出功率å¯è®Šï¼Œå¤§å°ç”±è¼¸å…¥é›»å£“控制,采用PWM技術(shù)進(jìn)行控制;
3)玻璃管:兩端開(kÄi)å£é€æ˜Žç®¡ï¼Œç›´å¾‘比空氣çƒç•¥å¤§ï¼Œä»¥ä¿è‰ç©ºæ°£çƒå¯ä»¥åœ¨å…¶ä¸è‡ªç”±é‹(yùn)行,長(zhÇŽng)度約為45cmï¼›
4)空氣çƒï¼šé‡‡ç”¨æ¨™(biÄo)準(zhÇ”n)乒乓çƒï¼Œç›´å¾‘40mm,é‡é‡2.7g。

圖1 空氣çƒ?qÅ«)å¶’?yà n)è£ç½®ç¡¬ä»¶åœ–
2. 實(shÃ)é©—(yà n)軟件介紹
軟件使用的是è²åŠ èŠå…¬å¸æä¾›AR4MATLAB ï¼Œå®ƒå¢žåŠ äº†è‡ªå‹•(dòng)代碼轉(zhuÇŽn)化功能,å³åœ¨AR4MATLAB/Simulinkä¸æå»ºçš„æ¨¡å¡Šå¯ä»¥é€šéŽ(guò)使用Real-Time Workshop® å’Œ Real-Time Workshop® Embedded Coder自動(dòng)轉(zhuÇŽn)æ›æˆANSI-C語(yÇ”)言,并下è£åˆ°B&R çš„PCCä¸ï¼Œç¤ºæ„圖如圖2所示。

圖2 控制算法實(shÃ)ç¾(xià n)示æ„圖
這就使得基于AR4MATLAB/Simulinkè¨(shè)計(jì)的復(fù)雜控制算法å¯ä»¥å®¹æ˜“的下載到控制器ä¸ï¼Œä½¿ç”¨è€…ä¸éœ€è¦èª¿(dià o)試.AR4MATLAB/SIMULINK新增了一個(gè)B&R Toolbox,該工具箱里包å«äº†4個(gè)ä¸åŒçš„æ¨¡å¡Šï¼Œå¦‚圖3所示。

圖3 B&R工具箱
3. 空氣çƒ?qÅ«)å¶’?yà n)è£ç½®æ¨¡åž‹çš„建立
3.1系統(tÇ’ng)åƒæ•¸(shù)
空氣çƒ?qÅ«)å¶’?yà n)系統(tÇ’ng)是一個(gè)典型的力å¸(xué)系統(tÇ’ng)ï¼Œå…¶æ¨¡åž‹åƒæ•¸(shù)åŠç©ºæ°£é˜»åŠ›åƒæ•¸(shù)見(jià n)表1ã€è¡¨2:
表1 æ¨¡åž‹åƒæ•¸(shù) 表2 ç©ºæ°£é˜»åŠ›åƒæ•¸(shù)


3.2é‹(yùn)å‹•(dòng)å¸(xué)分æž
æ ¹æ“š(jù)ç‰›é “ç¬¬äºŒå®šå¾‹ï¼šF=ma 和空氣阻力計(jì)ç®—å…¬å¼ï¼š

(方å‘與空氣çƒé‹(yùn)å‹•(dòng)æ–¹å‘相å):
1) 空氣çƒå‘上é‹(yùn)å‹•(dòng)時(shÃ),å—力情æ³å¦‚圖4所示。
æ¤æ™‚(shÃ),推力F(t) =mg+ma+f,å³ï¼š
F(t) =0.0265+0.0027a+0.000074732v2 (1)
2) 空氣çƒå‘下é‹(yùn)å‹•(dòng)時(shÃ),å—力情æ³å¦‚圖5所示。


圖4 å°çƒå‘上é‹(yùn)å‹•(dòng) 圖5 å°çƒå‘下é‹(yùn)å‹•(dòng)
æ¤æ™‚(shÃ),推力F(t) =mg+maï¼f,å³ï¼š
F(t) =0.0265+0.0027aï¼0.000074732v2 (2)
系統(tÇ’ng)通éŽ(guò)PWM(脈沖寬度調(dià o)制)來(lái)æŽ§åˆ¶åŠ åœ¨é¢¨(fÄ“ng)扇上的電壓,從而控制風(fÄ“ng)扇å¹åŠ›çš„å¤§å°ã€‚風(fÄ“ng)扇電壓與å¹åŠ›æ˜¯éžç·š(xià n)性關(guÄn)系,å¯é‡‡ç”¨éžç·š(xià n)æ€§è™•ç†æ¨¡å¡ŠLookup table將其分段線(xià n)性化。
由于空氣çƒé‹(yùn)å‹•(dòng)時(shÃ)的最高速度ä¸è¶…éŽ(guò)0.1m/s2ï¼Œæ ¹æ“š(jù)計(jì)算,空氣阻力f相å°(duì)于推力Fã€é‡åŠ›mg,相差5個(gè)數(shù)é‡ç´š(jÃ),所以å¯ä»¥å¿½ç•¥ç©ºæ°£é˜»åŠ›ã€‚
4. æ¨¡ç³Šè‡ªé©æ‡‰(yÄ«ng)PID控制器è¨(shè)計(jì)
PID控制åªèƒ½åˆ©ç”¨ä¸€çµ„å›ºå®šåƒæ•¸(shù)進(jìn)è¡ŒæŽ§åˆ¶ï¼Œé€™äº›åƒæ•¸(shù)ä¸èƒ½å…¼é¡§å‹•(dòng)æ…‹(tà i)æ€§èƒ½å’Œéœæ…‹(tà i)性能之間ã€è¨(shè)定值和抑制擾動(dòng)之間的矛盾。為æ¤ï¼ŒæŽ§åˆ¶ç³»çµ±(tÇ’ng)引入模糊推ç†ï¼Œåœ¨PIDåˆå€¼åŸºç¤Ž(chÇ”)上通éŽ(guò)å¢žåŠ ä¿®æ£åƒæ•¸(shù)進(jìn)行整定,改善系統(tÇ’ng)å‹•(dòng)æ…‹(tà i)性能[2][3]。
4.1åƒæ•¸(shù)自整定原則
PIDåƒæ•¸(shù)模糊自整定是找出PID的三個(gè)åƒæ•¸(shù)與 å’Œ 之間的模糊關(guÄn)系,在é‹(yùn)行ä¸é€šéŽ(guò)䏿–·æª¢æ¸¬(cè) å’Œ ï¼Œæ ¹æ“š(jù)模糊控制è¦(guÄ«)則來(lái)å°(duì)三個(gè)åƒæ•¸(shù)進(jìn)行在線(xià n)修改,以滿(mÇŽn)è¶³ä¸åŒ å’Œ 時(shÃ)å°(duì)æŽ§åˆ¶åƒæ•¸(shù)çš„ä¸åŒè¦æ±‚,而使被控å°(duì)象具有良好的動(dòng)éœæ…‹(tà i)性能,模糊PID控制系統(tÇ’ng)如圖6所示。

圖6模糊控制系統(tÇ’ng)原ç†åœ–
模糊控制器以åå·® å’Œå差變化率 作為輸入,修æ£åƒæ•¸(shù)â–³kp,△ki,△kd為輸出,則PIDæŽ§åˆ¶å™¨è¼¸å‡ºçš„åƒæ•¸(shù)為kp, ki, kd為(3)所示,k′p,k′i,k′d為é (yù)整定值。
kp= k′p+△kp
ki = k′i+△ki
kd= k′d+△kd (3)
4.2模糊控制è¦(guÄ«)則表
模糊控制器輸入輸出變é‡çš„æ¨¡ç³Šå集分別為E,EC,â–³kp,△ki,△kd,å„變é‡èªž(yÇ”)言值為:{è² (fù)å¤§ï¼Œè² (fù)ä¸ï¼Œè² (fù)å°ï¼Œé›¶ï¼Œæ£å°ï¼Œæ£ä¸ï¼Œæ£å¤§},記為{ NB,NM,NS,ZO,PS,PM,PB},隸屬函數(shù)å‡é‡‡ç”¨éˆæ•度強(qiáng)的三角函數(shù),模糊蘊(yùn)涵關(guÄn)ç³»é‹(yùn)算采用最å°é‹(yùn)算法(Mamdani),去模糊化采用é‡å¿ƒæ³•。Eå’ŒEC的變化范åœç‚º[-0.5,+0.5],模糊論域?yà n)é–§-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}。△kp,△ki和△kd的基本論域?yà n)é–‡-0.3,0.3],模糊論域?yà n)é–§-0.3,-0.25,-0.2,-0.15,-0.1,-0.05,0,0.05,0.1,0.15,0.2,0.25,0.3}ï¼Œæ¯”ä¾‹å› åKe為12,é‡åŒ–å› åKec為 1。通éŽ(guò)模糊推ç†åŠè©¦é©—(yà n)ä¿®æ£ï¼Œå¾—出△kp,△ki,△kd的模糊控制è¦(guÄ«)則如表3-5所示。
表3 △k
p的模糊è¦(guÄ«)則 表4 â–³k
i的模糊è¦(guÄ«)則

表5 △k
d的模糊è¦(guÄ«)則

5. 實(shÃ)é©—(yà n)çµ(jié)æžœ
æ ¹æ“š(jù)所建立的空氣çƒ?qÅ«)å¶’?yà n)è£ç½®æ•¸(shù)å¸(xué)模型,在AR4MATLAB/ Simulinkç’°(huán)境下,使用模糊PID控制算法進(jìn)行仿真實(shÃ)é©—(yà n),空氣çƒåœ¨çŽ»ç’ƒç®¡ä¸çš„é«˜åº¦ç‚ºè¢«æŽ§åƒæ•¸(shù),è¨(shè)定值為0.3m,模糊PID控制器åˆå§‹åƒæ•¸(shù)kp=60, ki=0.5, kd=100。在Automation Studioä¸å°(duì)控制器進(jìn)行編è¯ï¼Œç”ŸæˆANSI-C代碼并下載到è²åŠ èŠå…¬å¸çš„PCCä¸ï¼Œå°(duì)空氣求進(jìn)行控制。使用Traceè©•(pÃng)分功能å°(duì)空氣çƒé‹(yùn)å‹•(dòng)軌跡進(jìn)行追蹤,如圖7所示。

6. çµ(jié)æŸèªž(yÇ”)
本文使用è²åŠ èŠå…¬å¸æ–°æŽ¨å‡ºçš„B&R Toolbox ,在AR4MATLAB/Simulinkç’°(huán)境下進(jìn)è¡Œæ¨¡ç³Šè‡ªé©æ‡‰(yÄ«ng)PID控制器è¨(shè)計(jì),并下載到è²åŠ èŠå…¬å¸çš„å¯ç·¨ç¨‹è¨ˆ(jì)算機(jÄ«)控制器(PCC)上,實(shÃ)ç¾(xià n)å°(duì)空氣çƒçš„æŽ§åˆ¶ã€‚實(shÃ)é©—(yà n)çµ(jié)果表明,該控制方案實(shÃ)ç¾(xià n)ç°¡(jiÇŽn)å–®ï¼Œå¯æ–¹ä¾¿å¯¦(shÃ)ç¾(xià n)模糊PID控制在空氣çƒ?qÅ«)å¶’?yà n)系統(tÇ’ng)ä¸çš„æ‡‰(yÄ«ng)用。