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