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