《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于模糊邏輯設(shè)計(jì)的DSP發(fā)動機(jī)控制器
基于模糊邏輯設(shè)計(jì)的DSP發(fā)動機(jī)控制器
摘要: 越來越多企業(yè)開始使用變速驅(qū)動發(fā)動機(jī)來減少能源的消耗,。這需要通過從微分(PID)控制器轉(zhuǎn)向基于模糊邏輯算法的系統(tǒng)來簡化設(shè)計(jì),,縮短開發(fā)時(shí)間,,并消除復(fù)雜的數(shù)學(xué)公式,。
Abstract:
Key words :

越來越多企業(yè)開始使用變速驅(qū)動發(fā)動機(jī)來減少能源的消耗,。這需要通過從微分(PID)控制器轉(zhuǎn)向基于模糊邏輯算法的系統(tǒng)來簡化設(shè)計(jì),,縮短開發(fā)時(shí)間,,并消除復(fù)雜的數(shù)學(xué)公式,。

  但是,,這對發(fā)動機(jī)提出了新的挑戰(zhàn)。當(dāng)使用傳統(tǒng)的積分和微分(PID)控制器來控制無刷直流(BLDC)電機(jī)的速度是復(fù)雜的,,因?yàn)樗鼈円蕾囉趶?fù)雜的數(shù)學(xué)模型,,并且是計(jì)算密集型的。而使用模糊邏輯(FL)的算法,,可以消除設(shè)計(jì)過程對復(fù)雜的數(shù)學(xué)公式的依賴,,并且提供一個(gè)容易理解的解決方案。與(PID)微分控制器相比,,模糊邏輯(FL)發(fā)動機(jī)控制還有一個(gè)優(yōu)勢,,那就是開發(fā)周期更短。本文討論了采用德州儀器c28xx定點(diǎn)DSP系列,實(shí)現(xiàn)用模糊邏輯算法來控制無刷直流電動機(jī)的過程,。

  無刷直流電機(jī)控制模型的發(fā)展
 

  在模糊邏輯(FL)發(fā)動機(jī)構(gòu)建之前,,我們必須首先建立一個(gè)模型作為設(shè)計(jì)的基礎(chǔ)。模糊邏輯控制器使用啟發(fā)式知識,,并使用一個(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ā)動機(jī)旋轉(zhuǎn)速單位為轉(zhuǎn)每分鐘(RPM),,E決定了接近目標(biāo)速度的程度,。因此,當(dāng)E>0,,發(fā)動機(jī)的旋轉(zhuǎn)速度低于設(shè)定的速度,;當(dāng)E<0,電機(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就會在正的和負(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è)定的,。因此,,我們的系統(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é)討論模糊邏輯無刷直流電動機(jī)相關(guān)模塊的實(shí)現(xiàn)情況,。

  模糊化

  模糊化是將有明晰數(shù)值的數(shù)據(jù)轉(zhuǎn)換成模糊數(shù)據(jù)的過程。由此產(chǎn)生的模糊數(shù)據(jù)的轉(zhuǎn)換是基于對輸入變量的模糊隸屬度。對于這種應(yīng)用,,電機(jī)控制輸入變量是旋轉(zhuǎn)誤差 (Error)和旋轉(zhuǎn)誤差差值(Cerror),。旋轉(zhuǎn)誤差(Error)是從一個(gè)采樣時(shí)間到下一個(gè)采樣時(shí)間的絕對旋轉(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的最大值,。

五個(gè)成員集輸入變量模糊化后產(chǎn)生了由五部分組成的向量,,這五個(gè)部分相對應(yīng)于模糊化成員集的中等負(fù)值、小負(fù)值,、零,、小正值、中等正值,。每個(gè)組件對應(yīng)的Y軸的值代表該明晰輸入值的隸屬度,。向量含有旋轉(zhuǎn)誤差(Error)和旋轉(zhuǎn)誤差差值(Cerror)模糊化值被表示為數(shù)組×1[]和X2[]。

  圖2和圖3圖形化地顯示了旋轉(zhuǎn)誤差[Error)和旋轉(zhuǎn)誤差差值(Cerror)模糊化值,。

 

旋轉(zhuǎn)誤差

  模糊推理規(guī)則

  模糊推理規(guī)則通過操作模糊化數(shù)據(jù)來確定系統(tǒng)的行為,。具體來說,模糊化數(shù)據(jù)對照規(guī)則表進(jìn)行應(yīng)用,。在語言方面,,這就是輸入數(shù)據(jù)Error、Cerror與規(guī)則表進(jìn)行比較,。規(guī)則表中包含了成員集NM,、NS、ZE,、PS,、和PM,并根據(jù)控制面來操作,。輸出是通過有效“推斷”或“既定”的規(guī)則,。推理過程的描述見如下偽代碼清單:

偽代碼清單

 

  去模糊化

  去模糊化是將模糊數(shù)據(jù)轉(zhuǎn)換成明晰數(shù)據(jù)的過程。為了這個(gè)應(yīng)用目的,,去模糊化后的值確定用于驅(qū)動電機(jī)的PWM信號的占空比,。占空比取決于使用修改后的質(zhì)心計(jì)算功能。在這里采用的去模糊方法是用質(zhì)心計(jì)算函數(shù)乘以一個(gè)系數(shù),。修改后的計(jì)算也稱為質(zhì)心點(diǎn)計(jì)算函數(shù),。質(zhì)心點(diǎn)的計(jì)算公式為:

  Defuzzified VaLue=∑-Y[i]XmultCoeff[l]/∑Y[i]

  其中Y[i]的i即為輸出向量元素,,是multCoeff[i]的輸出成員集應(yīng)乘以的系數(shù)。其中,,i可取1~5,。公式計(jì)算結(jié)果即為去模糊化后的結(jié)果。

  圖4通過圖形顯示了被該應(yīng)用使用的輸出成員集與[-0x10,,-0x8,,0x0,0x8,,0x10]系數(shù),。

被該應(yīng)用使用的輸出成員集

 

  假設(shè),y[]=[0x0,,0x13F,,0x196A,0x0,,0x0],,則去模糊輸出值如下:

  Defuz=0×(-16)+319×(-8)+6506×(0)+0×(8)+0×(16)/0+319+6506+0+0=-2552/6825=“-0.37391

  圖5顯示為輸出向量y[]質(zhì)心點(diǎn)的計(jì)算結(jié)果。

  硬件描述

  eZDSP2812 板被用在這種電機(jī)控制應(yīng)用中,。eZdsp板的核心是TMS320F2812數(shù)字信號處理器,。該板使用定時(shí)器T1、20kHz的時(shí)鐘,,產(chǎn)生PWM1-6的信號,,并使用定時(shí)器T2來執(zhí)行中斷服務(wù)例程(ISR)。此外,,輸入捕捉引腳CAP1-3是用來收集霍爾效應(yīng)傳感器高速數(shù)據(jù)的,。

  發(fā)動機(jī)是由 DSP產(chǎn)生的PWM信號驅(qū)動的。這六個(gè)PWM信號被用來作為三相功率變換器的源,。功率變換器將這六個(gè)信號轉(zhuǎn)換為三相位信號,,并直接作為發(fā)動機(jī)的電源。三相功率變換器的功能由一個(gè)輔助電機(jī)控制電路板來處理,。頻譜數(shù)字提供了兩個(gè)能夠提供這種功能的電路板:DMC550和DMC1500,。其中任何一塊都可直接插入eZdsp28xx板上使用。

  霍爾效應(yīng)傳感器用于模糊邏輯控制回路反饋,。對三相功率變換器開關(guān)的轉(zhuǎn)換是通過檢測從霍爾效應(yīng)傳感器接收到的信號來決定的,。該信號被送入TMS320F2812的采集針內(nèi)。實(shí)際電機(jī)速度的計(jì)算是通過一個(gè)軟件模塊來計(jì)數(shù)的,。

  軟件介紹

  電動機(jī)控制軟件是由數(shù)字微型電路(DMC)庫模塊和FL電動機(jī)控制程序組成的,。數(shù)字微型電路(DMC)庫中有七個(gè)模塊被使用在此應(yīng)用程序中。它們是:

·Datalog數(shù)據(jù)記錄
·BLDC3PWM
·tall3_Drv
·Mod6_Cnt
·Rmp2Cntl
·Rarnp_Cntl
·Speed_PR

此外,,模糊邏輯發(fā)動機(jī)控制是由一個(gè)主要FuzzyCtl()例程來處理的,;對于無刷直流電動機(jī)就是Fuzzy-BLDC()。

  該軟件首先是進(jìn)行首次運(yùn)行配置,,然后進(jìn)行應(yīng)用程序特定的設(shè)置,。具體來說,GPIO引腳被配置為CAPture和PWM引腳,。

  下一步是進(jìn)行定時(shí)器和模塊參數(shù)的初始化,,以及ISR的設(shè)置。當(dāng)所有外設(shè)設(shè)置完成,,中斷被激活,,進(jìn)入主要操控系統(tǒng)。主要操控系統(tǒng)每隔8.7毫秒調(diào)用一次模糊控制器,。

  誤差值被轉(zhuǎn)換成通過模糊化的模糊值被存儲在X1[]和X2[],。一旦轉(zhuǎn)換,模糊值被應(yīng)用于模糊推理規(guī)則,。

  從推理模塊得到的結(jié)果存儲在Y[]中,。從Y[]得到的輸出在去模糊化模塊中被轉(zhuǎn)換成明晰值。由此產(chǎn)生的明晰值是一種PWM偏移量,,該偏移量被添加到當(dāng)前的 PWM占空比上,。更新后的PWM值被檢查,看看是否新的值是在一定范圍內(nèi),,如果不是就將采取適當(dāng)行動,。最后,模糊控制器返回更新后的PWM占空比給調(diào)用例程,。

  圖6顯示了演示應(yīng)用程序調(diào)試環(huán)節(jié),。

演示應(yīng)用程序調(diào)試環(huán)節(jié)

 

  通道1和2(在右上角顯示窗口)分別顯示了PWM計(jì)數(shù)器和捕獲霍爾效應(yīng)傳感器。通道3和4(在通道1和2下方)顯示邊沿觸發(fā)PWM的計(jì)數(shù)器和霍爾效應(yīng)傳感器的顯示窗口的版本,。監(jiān)視窗口中顯示重要變量,,其中,最重要的是SetSpeed(設(shè)置速度)和CurrentSpeed(當(dāng)前速度),。這些值足夠接近,,使得模糊邏輯控制器的輸出為零。


  這次會話表明發(fā)動機(jī)是在無負(fù)載條件下運(yùn)行的,。此行為可能會和有負(fù)荷時(shí)的情形略有不同,。此外,如果想要更細(xì)的粒度,,可能有必要對控制器進(jìn)行調(diào)整,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。