基于LabVIEW的直流電機(jī)模糊控制系統(tǒng)設(shè)計(jì)
模糊控制技術(shù)是以模糊集合論、模糊語(yǔ)言變量及模糊邏輯推理為基礎(chǔ)的一種計(jì)算機(jī)數(shù)字控制,最早出現(xiàn)于上個(gè)世紀(jì)60年代,在其后的幾十年中迅速發(fā)展。目前模糊控制技術(shù)在控制領(lǐng)域的應(yīng)用非常廣泛。LabVIEW則是一種面向儀器測(cè)量控制的圖形化的編程語(yǔ)言,配合數(shù)據(jù)采集卡或其他外部設(shè)備可以非常方便的構(gòu)成以計(jì)算機(jī)為核心的測(cè)量控制系統(tǒng)。
直流電機(jī)的傳統(tǒng)PID控制方法雖然可以很好的完成對(duì)電機(jī)轉(zhuǎn)速的有效控制,但存在動(dòng)態(tài)性能相對(duì)差,恢復(fù)時(shí)間長(zhǎng),超調(diào)量大以及參數(shù)整定困難等缺點(diǎn)。而于上個(gè)世紀(jì)60年代出現(xiàn)的模糊控制技術(shù)在某種程度上可以克服上述缺點(diǎn)。本設(shè)計(jì)利LabVIEW軟件結(jié)合模糊控制算法,在NI公司的ELVIS實(shí)驗(yàn)平臺(tái)上實(shí)現(xiàn)有刷直流電機(jī)轉(zhuǎn)速的模糊控制系統(tǒng)。通過(guò)實(shí)際測(cè)試,模糊控制性能比較理想。
1系統(tǒng)組成
系統(tǒng)結(jié)構(gòu)框圖如圖1。圖1中:SP為速度給定值;PV為速度反饋值;e為速度偏差,為速度偏差變化率;K1、K2為比例因子。系統(tǒng)中直流電機(jī)的供電以及轉(zhuǎn)速測(cè)量需要相應(yīng)的
圖1電機(jī)轉(zhuǎn)速模糊控制系統(tǒng)結(jié)構(gòu)框圖
外圍硬件電路,其他部分通過(guò)軟件編程由計(jì)算機(jī)來(lái)實(shí)現(xiàn)。
系統(tǒng)硬件線路圖如圖2所示。使用光電隔離器來(lái)獲取轉(zhuǎn)速脈沖信號(hào),通過(guò)數(shù)據(jù)采集卡送入計(jì)機(jī)。數(shù)據(jù)采集卡使用NI-PCI6251。PCI6251具有兩路模擬輸出口,2個(gè)計(jì)數(shù)器,16路模擬輸入口。設(shè)計(jì)中使用其模擬輸出口ao輸出產(chǎn)生電機(jī)控制電壓,由于6251的模擬輸出口的輸出電流不足以驅(qū)動(dòng)直流電機(jī),所以需要在ao口加一個(gè)電流放大電路;用計(jì)數(shù)器ctr0口來(lái)對(duì)光電傳感器產(chǎn)生的轉(zhuǎn)速信號(hào)進(jìn)行測(cè)周,獲得電機(jī)的實(shí)際轉(zhuǎn)速。
圖2系統(tǒng)硬件接線圖
圖3模糊控制器結(jié)構(gòu)
2模糊控制器設(shè)計(jì)
模糊控制器由模糊化、規(guī)則庫(kù)、模糊推理和去模糊化4個(gè)部分組成,如圖3,各部分功能分別是:模糊化是將輸入的精確量轉(zhuǎn)換為模糊量;規(guī)則庫(kù)是一些根據(jù)專家經(jīng)驗(yàn)或者其他方式獲得的控制規(guī)則集;推理機(jī)制是解釋和應(yīng)用規(guī)則庫(kù)中的專家經(jīng)驗(yàn)實(shí)現(xiàn)最優(yōu)控制;去模糊化是把模糊推理結(jié)論轉(zhuǎn)換為精確量的輸出。
LabVIEW的控制工具包提供了模糊控制器圖形化設(shè)計(jì)工具,其使用非常方便。該設(shè)計(jì)工具目前只支持四個(gè)語(yǔ)言變量輸入以及一個(gè)語(yǔ)言變量輸出,每個(gè)語(yǔ)言變量下面最多可以有9個(gè)子模糊集,而且只支持四種隸屬度函數(shù):三角型,梯型,S型和Z型,比Matlab控制工具箱提供的要少許多,但對(duì)一般的模糊控制器設(shè)計(jì)可以很好的滿足要求。
設(shè)計(jì)中選擇常用的2維模糊控制器,兩個(gè)輸入變量為速度誤差e和速度誤差變化率,一個(gè)輸出變量為電壓增量。實(shí)際設(shè)計(jì)中由于速度誤差的變化率在給定速度突變時(shí)趨于無(wú)窮,所以取電機(jī)實(shí)際轉(zhuǎn)速的變化率來(lái)代替。此外為輸入量模糊化的方便,分別給兩個(gè)輸入變量乘上合適的系數(shù)K1和K2。
根據(jù)實(shí)驗(yàn)數(shù)據(jù),若控制電機(jī)轉(zhuǎn)速在0-4000r/min的范圍內(nèi)根據(jù)對(duì)于速度誤差及輸出電壓增量分別在其論域上定義9個(gè)模糊集:{NL(負(fù)極大),NB(負(fù)大),NM(負(fù)中),MS(負(fù)?。?,ZO(零),PS(正?。?,PM(正中),PB(正大),PL(正極大)},論域?yàn)椋?4,–3,–2,–1,0,1,2,3,4}。速度變化率,在其論域上定義5個(gè)模糊集:{NM(負(fù)大),MS(負(fù)?。琙O(零),PS(正?。?,PM(正大)}。論域?yàn)椋?2,-1,0,1,2}。
建立控制規(guī)則如表1。
模糊推理方法選擇典型的Mamdani(Max-Min)推理方法,去模糊化方法選擇CoM(CenterofMaximum)方法。模糊控制器設(shè)計(jì)完成后以.fc格式存儲(chǔ)起來(lái),以方便主程序調(diào)用。
表1輸入輸出控制規(guī)則表
3參數(shù)優(yōu)化和規(guī)則調(diào)整
在實(shí)際運(yùn)行模糊控制器之前需要研究控制器輸入輸出特性,對(duì)控制器進(jìn)行優(yōu)化。LabVIEW的模糊控制器設(shè)計(jì)工具包提供了這種功能。在I/OCharacteristic中可以觀察給定輸入情況下控制器應(yīng)用的控制規(guī)則以及推理結(jié)果,根據(jù)經(jīng)驗(yàn)判斷該結(jié)果是否滿足控制要求,如果不能,則對(duì)相應(yīng)的隸屬度函數(shù)的參數(shù)或控制規(guī)則做相應(yīng)的修改,直至輸出能滿足期望要求。
圖4程序框圖
4.軟件設(shè)計(jì)
LabVIEW是一種圖形化程序設(shè)計(jì)語(yǔ)言,使得程序開發(fā)過(guò)程相對(duì)容易。程序框圖部分如圖7所示:需要說(shuō)明的是:
1)程序中使用了快速開發(fā)控件(ExpressControl)來(lái)完成周期測(cè)量以及直流電壓輸出。該控件是從LabVIEW7.0以后版本提供對(duì)數(shù)據(jù)采集卡的快速操作控件,使得程序開發(fā)變的更加容易。
2)由于轉(zhuǎn)速測(cè)量信號(hào)是由電機(jī)轉(zhuǎn)軸上安裝的一個(gè)突出葉片阻隔光電隔離傳感器產(chǎn)生,電機(jī)每轉(zhuǎn)一周信號(hào)變化一個(gè)周期,所以轉(zhuǎn)速n(r/min)=60/T。
3)Fuzzycontroller(模糊控制)節(jié)點(diǎn)的輸入變量和相應(yīng)輸入變量名在程序中必須有相同的名稱;LoadFuzzyController節(jié)點(diǎn)載入前面的.fc文件,可以在LoadFuzzyController節(jié)點(diǎn)的輸入控制中指出文件路徑,也可以在程序運(yùn)行時(shí)指定。
4)程序中速度變化率用相鄰兩次實(shí)際速度采樣值之差來(lái)替代,比例系數(shù)K2取1/500,由于采樣時(shí)間相等,所以這種替代是可行的。
5)由于控制器輸出為電壓增量輸出,所以需要一個(gè)累加來(lái)確定最終的電機(jī)控制電壓。程序中通過(guò)while循環(huán)的寄存器來(lái)實(shí)現(xiàn)電壓增量的累加。
6)電機(jī)實(shí)時(shí)轉(zhuǎn)速和給定速度在同一個(gè)實(shí)時(shí)記錄圖中顯示。
圖5系統(tǒng)運(yùn)行前面板
5系統(tǒng)運(yùn)行及結(jié)果分析
系統(tǒng)運(yùn)行及前面板顯示如圖8所示。在實(shí)時(shí)記錄圖中觀察系統(tǒng)運(yùn)行結(jié)果,可知該控制系統(tǒng)在給定速度突然增加或減小時(shí)的超調(diào)量小于10%,調(diào)節(jié)時(shí)間小于1s,穩(wěn)態(tài)誤差也比較理想,并在輸入擾動(dòng)時(shí)能很快恢復(fù),對(duì)擾動(dòng)有很強(qiáng)的抑制能力,具有較好的適應(yīng)性。同時(shí)也可以清楚的觀察到系統(tǒng)具有一定的延遲,這是由于數(shù)據(jù)采集,程序運(yùn)行都需要一定的時(shí)間,造成控制的實(shí)時(shí)性比較差。改善的方式是使用現(xiàn)場(chǎng)專用控制器,在LabVIEW8中提供的項(xiàng)目管理功能可以非常方便的把在上位機(jī)上設(shè)計(jì)好的程序下載到現(xiàn)場(chǎng)控制儀器中,以提高控制的實(shí)時(shí)性能。
6結(jié)論
通過(guò)利用虛擬儀器軟件結(jié)合控制工具包能夠非常迅速的實(shí)現(xiàn)直流電機(jī)的模糊控制系統(tǒng)。設(shè)計(jì)中體現(xiàn)出模糊控制技術(shù)在控制領(lǐng)域應(yīng)用中的一些優(yōu)勢(shì),如設(shè)計(jì)過(guò)程不必對(duì)系統(tǒng)建立精確的數(shù)學(xué)模型,控制參數(shù)選取比較容易,從結(jié)果中看實(shí)際控制性能比較好。
本文創(chuàng)新點(diǎn):
1將模糊控制算法應(yīng)用到直流電機(jī)轉(zhuǎn)速控制系統(tǒng)中,并利用虛擬儀器來(lái)實(shí)現(xiàn),使控制器設(shè)計(jì)過(guò)程簡(jiǎn)化,易于實(shí)現(xiàn),且方便移植。
2利用LabVIEW8及ControlTookit設(shè)計(jì)的可視化圖形界面和控制程序?qū)崿F(xiàn)了對(duì)直流電機(jī)供電電壓的動(dòng)態(tài)調(diào)整,使轉(zhuǎn)速控制系統(tǒng)具有超調(diào)小,調(diào)節(jié)時(shí)間短以及振蕩小的優(yōu)點(diǎn)。