采用模糊邏輯設(shè)計(jì)基于DSP發(fā)動(dòng)機(jī)控制器
質(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ù)。
假設(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ù)字信號(hào)處理器。該板使用定時(shí)器T1、20kHz的時(shí)鐘,產(chǎn)生PWM1-6的信號(hào),并使用定時(shí)器T2來執(zhí)行中斷服務(wù)例程(ISR)。此外,輸入捕捉引腳CAP1-3是用來收集霍爾效應(yīng)傳感器高速數(shù)據(jù)的。
發(fā)動(dòng)機(jī)是由 DSP產(chǎn)生的PWM信號(hào)驅(qū)動(dòng)的。這六個(gè)PWM信號(hào)被用來作為三相功率變換器的源。功率變換器將這六個(gè)信號(hào)轉(zhuǎn)換為三相位信號(hào),并直接作為發(fā)動(dòng)機(jī)的電源。三相功率變換器的功能由一個(gè)輔助電機(jī)控制電路板來處理。頻譜數(shù)字提供了兩個(gè)能夠提供這種功能的電路板:DMC550和DMC1500。其中任何一塊都可直接插入eZdsp28xx板上使用。
霍爾效應(yīng)傳感器用于模糊邏輯控制回路反饋。對(duì)三相功率變換器開關(guān)的轉(zhuǎn)換是通過檢測(cè)從霍爾效應(yīng)傳感器接收到的信號(hào)來決定的。該信號(hào)被送入TMS320F2812的采集針內(nèi)。實(shí)際電機(jī)速度的計(jì)算是通過一個(gè)軟件模塊來計(jì)數(shù)的。
軟件介紹
電動(dòng)機(jī)控制軟件是由數(shù)字微型電路(DMC)庫模塊和FL電動(dòng)機(jī)控制程序組成的。數(shù)字微型電路(DMC)庫中有七個(gè)模塊被使用在此應(yīng)用程序中。它們是:
?Datalog數(shù)據(jù)記錄
?BLDC3PWM
?tall3_Drv
?Mod6_Cnt
?Rmp2Cntl
?Rarnp_Cntl
?Speed_PR
此外,模糊邏輯發(fā)動(dòng)機(jī)控制是由一個(gè)主要FuzzyCtl()例程來處理的;對(duì)于無刷直流電動(dòng)機(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)換成通過模糊化的模糊值被存儲(chǔ)在X1[]和X2[]。一旦轉(zhuǎn)換,模糊值被應(yīng)用于模糊推理規(guī)則。
從推理模塊得到的結(jié)果存儲(chǔ)在Y[]中。從Y[]得到的輸出在去模糊化模塊中被轉(zhuǎn)換成明晰值。由此產(chǎn)生的明晰值是一種PWM偏移量,該偏移量被添加到當(dāng)前的 PWM占空比上。更新后的PWM值被檢查,看看是否新的值是在一定范圍內(nèi),如果不是就將采取適當(dāng)行動(dòng)。最后,模糊控制器返回更新后的PWM占空比給調(diào)用例程。
圖6顯示了演示應(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)前速度)。這些值足夠接近,使得模糊邏輯控制器的輸出為零。
這次會(huì)話表明發(fā)動(dòng)機(jī)是在無負(fù)載條件下運(yùn)行的。此行為可能會(huì)和有負(fù)荷時(shí)的情形略有不同。此外,如果想要更細(xì)的粒度,可能有必要對(duì)控制器進(jìn)行調(diào)整。
pid控制器相關(guān)文章:pid控制器原理
評(píng)論