摘要:利用模糊控制算法實現(xiàn)了一個小型直流電機的轉(zhuǎn)速控制系統(tǒng)。用LabVIEW的模糊控制器設(shè)計工具進行模糊控制器的設(shè)計,通過NI-PCI6251完成實時速度采集以及電機轉(zhuǎn)速控制。實際運行表明該系統(tǒng)具有超調(diào)小,調(diào)節(jié)時間短以及振蕩小的優(yōu)點。
關(guān)鍵字:LabVIEW; 模糊控制; 轉(zhuǎn)速控制; 數(shù)據(jù)采集卡
Abstract: A control system of rotating speed of a small DC motor is implemented by using fuzzy control algorithm. The fuzzy controller is designed by the fuzzy controller design tool of LabVIEW. The control of rotate speed and real-time speed acquisition are accomplished by data acquisition card NI-PCI6251.The result demonstrates that the system has advantageous of small overshoot, setting time and oscillation.
Keywords: LabVIEW; fuzzy control; rotating speed control; data acquisition card
模糊控制技術(shù)是以模糊集合論、模糊語言變量及模糊邏輯推理為基礎(chǔ)的一種計算機數(shù)字控制,最早出現(xiàn)于上個世紀(jì)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ù)整定困難等缺點。而于上個世紀(jì)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)的
[align=center]

圖1 電機轉(zhuǎn)速模糊控制系統(tǒng)結(jié)構(gòu)框圖[/align]
外圍硬件電路,其他部分通過軟件編程由計算機來實現(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)速。
[align=center]

圖2 系統(tǒng)硬件接線圖[/align]
[align=center]

圖3 模糊控制器結(jié)構(gòu)[/align]
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(負(fù)極大),NB(負(fù)大), NM(負(fù)中),MS(負(fù)小),ZO(零),PS(正?。?, PM(正中), PB(正大), PL(正極大)},論域為{-4,–3 ,–2,–1,0,1,2,3,4}。速度變化率 ,在其論域上定義5個模糊集:{NM(負(fù)大), MS(負(fù)小),ZO(零),PS(正?。?,PM(正大)}。論域為{-2,-1,0,1,2}。
建立控制規(guī)則如表1。
模糊推理方法選擇典型的Mamdani(Max-Min)推理方法,去模糊化方法選擇CoM(Center of Maximum)方法。模糊控制器設(shè)計完成后以.fc格式存儲起來,以方便主程序調(diào)用。
表1 輸入輸出控制規(guī)則表

3 參數(shù)優(yōu)化和規(guī)則調(diào)整
在實際運行模糊控制器之前需要研究控制器輸入輸出特性,對控制器進行優(yōu)化。LabVIEW的模糊控制器設(shè)計工具包提供了這種功能。在I/O Characteristic 中可以觀察給定輸入情況下控制器應(yīng)用的控制規(guī)則以及推理結(jié)果,根據(jù)經(jīng)驗判斷該結(jié)果是否滿足控制要求,如果不能,則對相應(yīng)的隸屬度函數(shù)的參數(shù)或控制規(guī)則做相應(yīng)的修改,直至輸出能滿足期望要求。
[align=center]

圖4 程序框圖[/align]
4.軟件設(shè)計
LabVIEW是一種圖形化程序設(shè)計語言,使得程序開發(fā)過程相對容易。程序框圖部分如圖7所示:需要說明的是:
1) 程序中使用了快速開發(fā)控件(Express Control)來完成周期測量以及直流電壓輸出。該控件是從LabVIEW7.0以后版本提供對數(shù)據(jù)采集卡的快速操作控件,使得程序開發(fā)變的更加容易。
2) 由于轉(zhuǎn)速測量信號是由電機轉(zhuǎn)軸上安裝的一個突出葉片阻隔光電隔離傳感器產(chǎn)生,電機每轉(zhuǎn)一周信號變化一個周期,所以轉(zhuǎn)速n(r/min)=60/T。
3) Fuzzy controller(模糊控制)節(jié)點的輸入變量和相應(yīng)輸入變量名在程序中必須有相同的名稱;Load Fuzzy Controller 節(jié)點載入前面的.fc文件,可以在Load Fuzzy Controller 節(jié)點的輸入控制中指出文件路徑,也可以在程序運行時指定。
4) 程序中速度變化率用相鄰兩次實際速度采樣值之差來替代,比例系數(shù)K2取1/500,由于采樣時間相等,所以這種替代是可行的。
5) 由于控制器輸出為電壓增量輸出,所以需要一個累加來確定最終的電機控制電壓。程序中通過while循環(huán)的寄存器來實現(xiàn)電壓增量的累加。
6) 電機實時轉(zhuǎn)速和給定速度在同一個實時記錄圖中顯示。
[align=center]

圖5 系統(tǒng)運行前面板[/align]
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及Control Tookit設(shè)計的可視化圖形界面和控制程序?qū)崿F(xiàn)了對直流電機供電電壓的動態(tài)調(diào)整,使轉(zhuǎn)速控制系統(tǒng)具有超調(diào)小,調(diào)節(jié)時間短以及振蕩小的優(yōu)點。
基金資助:湖北省教育廳教學(xué)研究項目20050354。
參考文獻:
[1] Kevin M. Passino & Stephen Yurkovich. 模糊控制[M].北京:清華大學(xué)出版社,2001.
[2] National Instruments, PID Control Toolset Manual, November 11, 2001, pp. 53-152.
[3] 張全莊,模糊神經(jīng)網(wǎng)絡(luò)控制在直流電機控制中的應(yīng)用電工技術(shù),2003,12, pp. 40
[4] 楊詠梅,陳寧.基于Matlab的模糊自整定PID參數(shù)控制器的設(shè)計與仿真, 微計算機信息,2005,21(12-1):61-63.