采用模糊邏輯設(shè)計基于DSP發(fā)動機控制器
越來越多企業(yè)開始使用變速驅(qū)動發(fā)動機來減少能源的消耗。這需要通過從微分(PID)控制器轉(zhuǎn)向基于模糊邏輯算法的系統(tǒng)來簡化設(shè)計,縮短開發(fā)時間,并消除復雜的數(shù)學公式。
本文引用地址:http://cafeforensic.com/article/197742.htm但是,這對發(fā)動機提出了新的挑戰(zhàn)。當使用傳統(tǒng)的積分和微分(PID)控制器來控制無刷直流(BLDC)電機的速度是復雜的,因為它們依賴于復雜的數(shù)學模型,并且是計算密集型的。而使用模糊邏輯(FL)的算法,可以消除設(shè)計過程對復雜的數(shù)學公式的依賴,并且提供一個容易理解的解決方案。與(PID)微分控制器相比,模糊邏輯(FL)發(fā)動機控制還有一個優(yōu)勢,那就是開發(fā)周期更短。本文討論了采用德州儀器c28xx定點DSP系列,實現(xiàn)用模糊邏輯算法來控制無刷直流電動機的過程。
無刷直流電機控制模型的發(fā)展
在模糊邏輯(FL)發(fā)動機構(gòu)建之前,我們必須首先建立一個模型作為設(shè)計的基礎(chǔ)。模糊邏輯控制器使用啟發(fā)式知識,并使用一個語言描述模型來表達它的設(shè)計。我們將以PID控制器模型為出發(fā)點,而不是從頭開始開發(fā)一個模型。一旦完成開發(fā)和實現(xiàn),模糊邏輯控制器將通過調(diào)整其參數(shù)來提高性能。
一般來說,開發(fā)模糊邏輯無刷直流控制器有三個設(shè)計步驟:
1.定義輸入、輸出控制器的操作范圍。
2.定義模糊成員集的功能和規(guī)則。
3.調(diào)整引擎。
第一步是定義模式相關(guān)的輸入和輸出。輸入是誤差(E),它是設(shè)置的速度(SS)和當前的速度(CS)之間的當前誤差;另外的輸入是誤差的變化(CE),它是當前誤差和以前計算誤差(PE)之間的差值。輸出是電樞電壓(CV)的改變值,它是現(xiàn)有的電樞電壓(CAV)和以前的電樞電壓(PAV)保存值的差額。由此產(chǎn)生的模型方程式如下:
E=SS-CS
CE=E-PE
CV=CAV-PAV
發(fā)動機旋轉(zhuǎn)速單位為轉(zhuǎn)每分鐘(RPM),E決定了接近目標速度的程度。因此,當E>0,發(fā)動機的旋轉(zhuǎn)速度低于設(shè)定的速度;當E0,電機旋轉(zhuǎn)速度超過設(shè)定的速度。CE決定控制器的調(diào)整方向。當且僅當(iff)目前的旋轉(zhuǎn)速度比設(shè)定的速度要低時CE為正,;當且僅當目前的旋轉(zhuǎn)速度大于設(shè)定的速度時,CE 為負。當接近設(shè)定速度時,CE就會在正的和負的值之間來回調(diào)整。CV是電樞的供電電壓。這個電壓表示為脈沖的寬度調(diào)制(PWM)占空比。
下一步是定義模糊集的成員函數(shù)、變量和規(guī)則。為了保證能工作,非模糊(清晰)輸入和輸出必須轉(zhuǎn)化成模糊的。轉(zhuǎn)換由使用語言變量來表示輸入和輸出范圍。這些也被稱為模糊變量。模糊變量用于為成員函數(shù)劃分隸屬值的區(qū)域。例如,5個變量用來映射輸入和輸出,它們是中等負值(NM)、小負值(NS)、零(z)、小正值(PS)、中等正值(PM)。
它不是數(shù)學公式,模糊控制器使用模糊規(guī)則來作出決定,并產(chǎn)生一個輸出。模糊規(guī)則是通過IF-THEN語句的形式來描述的。模糊規(guī)則決定系統(tǒng)的行為,而不是復雜的數(shù)學方程。例如,如果錯誤(E)是等于中等負值(NM),而錯誤的變化(CE)等于小正值 (PS),那么在電樞電壓(CV)的改變就等于小負值(NS)。所用的一些規(guī)則是根據(jù)設(shè)計者的經(jīng)驗和系統(tǒng)的知識來設(shè)定的。因此,我們的系統(tǒng)所使用的規(guī)則的數(shù)量是25個。
為了激活電樞,CV模糊輸出必須被轉(zhuǎn)換回清晰輸出。這個過程稱為去模糊化。一種流行的去模糊方法稱為重心法。
設(shè)計的最后一步是調(diào)整成員函數(shù)和規(guī)則。這個階段也稱為優(yōu)化調(diào)整階段。優(yōu)化調(diào)整用于提高模糊控制器的性能。一旦設(shè)計完成,控制器就將準備付諸實現(xiàn)。
模糊邏輯控制器的實現(xiàn)是由三個模塊組成的。它們分別是模糊化、規(guī)則部署和去模糊化。以下各節(jié)討論模糊邏輯無刷直流電動機相關(guān)模塊的實現(xiàn)情況。
模糊化
模糊化是將有明晰數(shù)值的數(shù)據(jù)轉(zhuǎn)換成模糊數(shù)據(jù)的過程。由此產(chǎn)生的模糊數(shù)據(jù)的轉(zhuǎn)換是基于對輸入變量的模糊隸屬度。對于這種應用,電機控制輸入變量是旋轉(zhuǎn)誤差 (Error)和旋轉(zhuǎn)誤差差值(Cerror)。旋轉(zhuǎn)誤差(Error)是從一個采樣時間到下一個采樣時間的絕對旋轉(zhuǎn)速度差。同樣地,旋轉(zhuǎn)誤差差值 (Cerror)是一個采樣時間和下一個采樣時間之間的旋轉(zhuǎn)誤差變化值。公式如下:
旋轉(zhuǎn)誤差(Error)=SetSpeed(設(shè)定速度)-Cur-rentSpeed(目前速度)
旋轉(zhuǎn)誤差差值(Cerror)=旋轉(zhuǎn)誤差(Error)-Pre-viousError(前一次誤差)
正如前面談到的,為旋轉(zhuǎn)誤差(Error)變量和旋轉(zhuǎn)誤差差值(Cerror)變量定義了五個成員集:
1.NM:中等負值
2.NS:小負值
3.ZE:零
4.PS:小正值
5.PM:中等正值
圖1顯示了為旋轉(zhuǎn)誤差(Error)變量和旋轉(zhuǎn)誤差差值(Cerror)變量定義的五個成員集。這些成員集是三角型重疊,以提供良好的響應。每一組有一個0×1AAA的最大值。
pid控制器相關(guān)文章:pid控制器原理
評論