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