徐園園,洪雪梅
(1.華僑大學(xué)信息科學(xué)與工程學(xué)院,福建廈門(mén)362011;2.上海交通大學(xué)電子信息與電氣工程學(xué)院,上海200240)
基于LabWindows/CVI和Matlab的直流電機(jī)轉(zhuǎn)速控制仿真系統(tǒng)設(shè)計(jì)
徐園園1,2,洪雪梅1
(1.華僑大學(xué)信息科學(xué)與工程學(xué)院,福建廈門(mén)362011;2.上海交通大學(xué)電子信息與電氣工程學(xué)院,上海200240)
介紹了一種基于LabWindows/CVI和Matlab的直流電機(jī)轉(zhuǎn)速控制仿真系統(tǒng)。充分發(fā)揮Labwindows/CVI和Matlab的優(yōu)勢(shì),利用LabWindows/CVI和Matlab的軟接口技術(shù),實(shí)現(xiàn)了LabWindows/CVI人機(jī)界面設(shè)計(jì),Matlab進(jìn)行PID運(yùn)算的直流電機(jī)轉(zhuǎn)速控制系統(tǒng)。該系統(tǒng)編程簡(jiǎn)單,具有良好的軟件交互界面,控制效果良好,有實(shí)際應(yīng)用價(jià)值。
LabWindows/CVI;Matlab;數(shù)字PID控制;直流電機(jī)
隨著電力電子技術(shù)、微電子技術(shù)和現(xiàn)代控制理論的發(fā)展,以電動(dòng)機(jī)速度控制為中心的電機(jī)控制系統(tǒng)得到推廣應(yīng)用。目前,直流電機(jī)已經(jīng)廣泛應(yīng)用于企業(yè)的機(jī)電設(shè)備中。與交流電機(jī)相比,直流電機(jī)具有在寬廣的范圍內(nèi)平滑而經(jīng)濟(jì)的調(diào)速性能,如:調(diào)速范圍廣,穩(wěn)定性好,過(guò)載能力大,能承受頻繁的沖擊負(fù)載,可實(shí)現(xiàn)頻繁的無(wú)級(jí)快速起制動(dòng)和反轉(zhuǎn)等良好的起動(dòng)性能。因此,直流電動(dòng)機(jī)在起動(dòng)和調(diào)速要求較高的生產(chǎn)機(jī)械上得到廣泛的應(yīng)用[1]。控制電機(jī)轉(zhuǎn)速的算法有PID算法、自適應(yīng)模糊控制法等。
虛擬仿真實(shí)驗(yàn)是通過(guò)仿真軟件來(lái)建立控制對(duì)象的模型,模擬真實(shí)實(shí)驗(yàn)所需要的條件和環(huán)境來(lái)進(jìn)行的實(shí)驗(yàn)。LabWindows/CVI是美國(guó)NI公司推出的著名虛擬儀器開(kāi)發(fā)平臺(tái)之一,以ANSI C為核心,將功能強(qiáng)大、運(yùn)用靈活的C語(yǔ)言平臺(tái)與數(shù)據(jù)采集、分析和表達(dá)等測(cè)控專業(yè)工具有機(jī)的結(jié)合起來(lái),提供了理想的界面開(kāi)發(fā)環(huán)境[2]。Matlab是Mathworks公司開(kāi)發(fā)的科學(xué)計(jì)算環(huán)境,擁有豐富的函數(shù)庫(kù),幾乎涵蓋了所有的工程計(jì)算領(lǐng)域,是國(guó)際公認(rèn)的優(yōu)秀數(shù)學(xué)應(yīng)用軟件之一。但其界面開(kāi)發(fā)能力較差,且數(shù)據(jù)輸入、網(wǎng)絡(luò)通信和硬件控制等方面比較繁瑣[3]。
鑒于LabWindows/CVI和Matlab的優(yōu)缺點(diǎn),本文將兩者有機(jī)結(jié)合、優(yōu)勢(shì)互補(bǔ),提出一種基于引擎的LabWindows/CVI和Matlab軟接口技術(shù),并實(shí)現(xiàn)了直流電機(jī)轉(zhuǎn)速PID算法(Proportion Integral Differential Coefficient Arithmetic)控制。
本文的關(guān)鍵技術(shù)是實(shí)現(xiàn)LabWindows/CVI和Matlab的混合編程,完成其數(shù)據(jù)和命令的交換,即軟接口技術(shù)[4]。常用的技術(shù)有ActiveX技術(shù)和Matlab Compiler技術(shù),使用時(shí)需要較強(qiáng)的軟件專業(yè)知識(shí)和編程能力。本文提出了一種LabWindows/CVI和Matlab引擎調(diào)用技術(shù),方法簡(jiǎn)單實(shí)用。
1.1 引擎程序的環(huán)境建立
LabWindows/CVI對(duì)Matlab引擎調(diào)用技術(shù)的實(shí)質(zhì)是將Matlab當(dāng)作計(jì)算引擎,通過(guò)LabWindows/CVI編寫(xiě)引擎程序向Matlab傳送數(shù)據(jù)并調(diào)用Matlab命令,使之在Matlab的后臺(tái)完成運(yùn)算并返回計(jì)算結(jié)果。其環(huán)境建立即創(chuàng)建引擎函數(shù)的使用條件,具體包括建立3個(gè)靜態(tài)鏈接庫(kù)文件,分別為L(zhǎng)ibeng.lib,Libmx.lib,Libmat.lib。引擎程序中會(huì)使用到的engine函數(shù)和mx-函數(shù)都包括在靜態(tài)庫(kù)中。此外是對(duì)engine.h頭文件的包含,因?yàn)閑ngine.h中不但含有對(duì)引擎函數(shù)及相關(guān)數(shù)據(jù)類型的定義,還對(duì)matrix.h進(jìn)行了包含,缺其將無(wú)法使用Matlab引擎。
1.2 引擎程序的主體部分
以下列代碼為例,此例程可涵蓋大多數(shù)引擎程序的主要步驟,其關(guān)鍵代碼如下:
該引擎調(diào)用技術(shù)簡(jiǎn)單實(shí)用,充分發(fā)揮兩種軟件的優(yōu)點(diǎn),可成為開(kāi)發(fā)智能虛擬儀器的有效途徑,具有廣泛的應(yīng)用價(jià)值。但在混合編程過(guò)程中,由于在LabWindows/CVI運(yùn)行的同時(shí),又啟動(dòng)了Matlab進(jìn)行后臺(tái)數(shù)據(jù)處理,需要有較高的計(jì)算機(jī)硬件配置。
直流電機(jī)是一種經(jīng)常被用作控制元件的器件,它可以直接提供旋轉(zhuǎn)運(yùn)動(dòng)。直流電機(jī)的傳遞函數(shù)是一個(gè)二階無(wú)滯后傳遞函數(shù)。二階無(wú)滯后傳遞函數(shù)模型為:
PID控制方法是工控界最常用的電機(jī)控制方法。計(jì)算機(jī)控制是一種采樣控制,在計(jì)算機(jī)PID控制系統(tǒng)中,使用數(shù)字PID控制器,數(shù)字PID控制算法分為位置式PID控制算法和增量式PID控制算法,本系統(tǒng)采用位置式PID控制算法。
2.1 位置式PID算法
圖1 位置式PID控制系統(tǒng)框圖
2.2 數(shù)字PID的工程整定法
數(shù)字PID的三個(gè)參數(shù)影響著控制系統(tǒng)的控制效果。增大比例參數(shù)將加快系統(tǒng)的響應(yīng),有利于減小靜差,但過(guò)大的比例參數(shù)會(huì)使系統(tǒng)有較大的超調(diào),產(chǎn)生振蕩;增大積分參數(shù)將減小積分作用,有利于減小超調(diào)使系統(tǒng)穩(wěn)定,但系統(tǒng)消除靜差的作用將變??;增大微分參數(shù)有利于加快系統(tǒng)的預(yù)知性,減小超調(diào),但過(guò)大的話反而起到相反的作用[5]。
對(duì)PID參數(shù)的整定一般采用試湊法、經(jīng)驗(yàn)數(shù)據(jù)法或者工程整定法。本文采取的方法是應(yīng)用程序試湊的方法,對(duì)參數(shù)的調(diào)試實(shí)行先比例,后積分,最后微分的整定步驟。通過(guò)模擬或者閉環(huán)運(yùn)行觀察系統(tǒng)的響應(yīng)曲線,然后根據(jù)各調(diào)節(jié)參數(shù)對(duì)系統(tǒng)響應(yīng)的大致影響反復(fù)試湊參數(shù),以達(dá)到滿意的控制效果,從而確定數(shù)字PID調(diào)節(jié)器的參數(shù)。
基于LabWindows/CVI和Matlab的直流電機(jī)轉(zhuǎn)速仿真系統(tǒng)由界面和Matlab后臺(tái)程序兩部分組成。在界面,可由菜單項(xiàng)設(shè)置直流電機(jī)模型二階傳遞函數(shù)參數(shù)輸入設(shè)置用數(shù)值滑動(dòng)條控件來(lái)實(shí)現(xiàn),程序運(yùn)行結(jié)果由Graph控件來(lái)顯示。超調(diào)量、調(diào)整時(shí)間和增益由文本框顯示。參數(shù)設(shè)置完成后,點(diǎn)擊運(yùn)行按鈕,Matlab后臺(tái)程序啟動(dòng),并將運(yùn)算結(jié)果返回給Lab-Windows/CVI,由Graph控件來(lái)顯示。
本文詳細(xì)給出了LabWindows/CVI和Matlab的軟接口方法,并將其應(yīng)用在直流電機(jī)控制仿真中,通過(guò)實(shí)測(cè)分析和應(yīng)用,取得了較好效果。實(shí)踐證明,引擎調(diào)用技術(shù)簡(jiǎn)單實(shí)用,可以更好發(fā)揮兩套軟件的優(yōu)點(diǎn),成為開(kāi)發(fā)智能虛擬儀器的有效途徑,具有廣泛的應(yīng)用價(jià)值。
圖2 直流電機(jī)轉(zhuǎn)速控制
[1]陳忠華,康立乾,王洋.直流調(diào)速系統(tǒng)中常規(guī)PI與模糊PI控制器的比較[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012,21(8):80-84.
[2]王建新,隋美麗.LabWindows/CVI虛擬儀器測(cè)試技術(shù)及工程應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2013.
[3]劉金琨.先進(jìn)PID控制MATLAB仿真[M].3版.北京:電子工業(yè)出版社,2011.
[4]張賢達(dá).現(xiàn)代信號(hào)處理[M].北京:清華大學(xué)出版社,2002.
[5]徐園園.LabWindows/CVI對(duì)Matlab的引擎調(diào)用技術(shù)[J].華僑大學(xué)學(xué)報(bào),2007,28(4):365-367.
Design and implement of speed control system for DC motor based on LabWindows/CVI and Matlab
This paper introduces a speed control system for DC motor based on LabWindows/CVI and Matlab. Combined Labwindows/CVI and Matlab,using soft interface technology of LabWindows/CVI and Matlab,it can implement the Human Machine Interaction with LabWindows/CVI and PID algorithm with Matlab.This system has the advantages of simple program,fine software interface and effective control so it has a certain practical application value.
LabWindows/CVI;Matlab;PID control;DC motor
TM 33
A
1002-087 X(2016)04-0892-03
2015-09-20
福建省泉州市科技計(jì)劃項(xiàng)目(2015Z124)
徐園園(1980—),女,山東省人,講師,博士生,主要研究方向?yàn)樘摂M儀器及智能測(cè)控技術(shù)。