0. 引言
在運動控制系統(tǒng)設(shè)計中,PID控制以其結(jié)構(gòu)簡單、使用方便、魯棒性較強等特點長期以來被廣泛應(yīng)用于工業(yè)過程中,并取得了良好的控制效果。但是對于一些非線性時變系統(tǒng),采用PID控制難以獲得滿意得控制效果[1]。而模糊控制是一種基于語言規(guī)則與模糊推理的智能控制,它不依賴被控對象精確的數(shù)學(xué)模型,是在總結(jié)經(jīng)驗基礎(chǔ)上實現(xiàn)自動控制的一種手段。由于模糊控制對輸入變量的處理是離散的,且沒有積分環(huán)節(jié),故控制精度不如PID控制。本文將模糊控制與PID控制相結(jié)合,利用模糊判斷的思想,對PID參數(shù)自動整定。使用貝加萊公司新推出的AR4MATLAB/Simulink中的B&R工具箱進行控制器設(shè)計并應(yīng)用到空氣球?qū)嶒炏到y(tǒng)中。
1. 實驗硬件系統(tǒng)構(gòu)成
本文采用的空氣球?qū)嶒炑b置由貝加萊公司提供,該系統(tǒng)由控制器、風(fēng)扇、玻璃管、空氣球組成,如圖1所示,具體如下:
1)控制器:采用貝加萊公司的X20CP1486標準型CPU,它是基于Intel Celeron的處理器,任務(wù)處理等級是μs級。配有64MB的大容量內(nèi)存,方便模糊控制等復(fù)雜控制運算;
2)風(fēng)扇:采用標準PC風(fēng)扇,輸出功率可變,大小由輸入電壓控制,采用PWM技術(shù)進行控制;
3)玻璃管:兩端開口透明管,直徑比空氣球略大,以保證空氣球可以在其中自由運行,長度約為45cm;
4)空氣球:采用標準乒乓球,直徑40mm,重量2.7g。
圖1 空氣球?qū)嶒炑b置硬件圖
2. 實驗軟件介紹
軟件使用的是貝加萊公司提供AR4MATLAB ,它增加了自動代碼轉(zhuǎn)化功能,即在AR4MATLAB/Simulink中搭建的模塊可以通過使用Real-Time Workshop® 和 Real-Time Workshop® Embedded Coder自動轉(zhuǎn)換成ANSI-C語言,并下裝到B&R 的PCC中,示意圖如圖2所示。
圖2 控制算法實現(xiàn)示意圖
這就使得基于AR4MATLAB/Simulink設(shè)計的復(fù)雜控制算法可以容易的下載到控制器中,使用者不需要調(diào)試大量的代碼和避免發(fā)生錯誤的風(fēng)險就可以測試相關(guān)的控制方法。
AR4MATLAB/SIMULINK新增了一個B&R Toolbox,該工具箱里包含了4個不同的模塊,如圖3所示。
圖3 B&R工具箱
3. 空氣球?qū)嶒炑b置模型的建立
3.1系統(tǒng)參數(shù)
空氣球?qū)嶒炏到y(tǒng)是一個典型的力學(xué)系統(tǒng),其模型參數(shù)及空氣阻力參數(shù)見表1、表2:
表1 模型參數(shù) 表2 空氣阻力參數(shù)
3.2運動學(xué)分析
系統(tǒng)通過PWM(脈沖寬度調(diào)制)來控制加在風(fēng)扇上的電壓,從而控制風(fēng)扇吹力的大小。風(fēng)扇電壓與吹力是非線性關(guān)系,可采用非線性處理模塊Lookup table將其分段線性化。
由于空氣球運動時的最高速度不超過0.1m/s2,根據(jù)計算,空氣阻力f相對于推力F、重力mg,相差5個數(shù)量級,所以可以忽略空氣阻力。
4. 模糊自適應(yīng)PID控制器設(shè)計
PID控制只能利用一組固定參數(shù)進行控制,這些參數(shù)不能兼顧動態(tài)性能和靜態(tài)性能之間、設(shè)定值和抑制擾動之間的矛盾。為此,控制系統(tǒng)引入模糊推理,在PID初值基礎(chǔ)上通過增加修正參數(shù)進行整定,改善系統(tǒng)動態(tài)性能[2][3]。
4.1參數(shù)自整定原則
PID參數(shù)模糊自整定是找出PID的三個參數(shù)與 和 之間的模糊關(guān)系,在運行中通過不斷檢測 和 ,根據(jù)模糊控制規(guī)則來對三個參數(shù)進行在線修改,以滿足不同 和 時對控制參數(shù)的不同要求,而使被控對象具有良好的動靜態(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ù)整定值。
4.2模糊控制規(guī)則表
模糊控制器輸入輸出變量的模糊子集分別為E,EC,△kp,△ki,△kd,各變量語言值為:{負大,負中,負小,零,正小,正中,正大},記為{ NB,NM,NS,ZO,PS,PM,PB},隸屬函數(shù)均采用靈敏度強的三角函數(shù),模糊蘊涵關(guān)系運算采用最小運算法(Mamdani),去模糊化采用重心法。E和EC的變化范圍為[-0.5,+0.5],模糊論域為{-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6}。△kp,△ki和△kd的基本論域為[-0.3,0.3],模糊論域為{-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。通過模糊推理及試驗修正,得出△kp,△ki,△kd的模糊控制規(guī)則如表3-5所示。
表3 △kp的模糊規(guī)則 表4 △ki的模糊規(guī)則
表5 △kd的模糊規(guī)則
5. 實驗結(jié)果
根據(jù)所建立的空氣球?qū)嶒炑b置數(shù)學(xué)模型,在AR4MATLAB/ Simulink環(huán)境下,使用模糊PID控制算法進行仿真實驗,空氣球在玻璃管中的高度為被控參數(shù),設(shè)定值為0.3m,模糊PID控制器初始參數(shù)kp=60, ki=0.5, kd=100。在Automation Studio中對控制器進行編譯,生成ANSI-C代碼并下載到貝加萊公司的PCC中,對空氣求進行控制。使用Trace評分功能對空氣球運動軌跡進行追蹤,如圖7所示。
6. 結(jié)束語
本文使用貝加萊公司新推出的B&R Toolbox ,在AR4MATLAB/Simulink環(huán)境下進行模糊自適應(yīng)PID控制器設(shè)計,并下載到貝加萊公司的可編程計算機控制器(PCC)上,實現(xiàn)對空氣球的控制。實驗結(jié)果表明,該控制方案實現(xiàn)簡單,可方便實現(xiàn)模糊PID控制在空氣球?qū)嶒炏到y(tǒng)中的應(yīng)用。