徐園園,洪雪梅
(1.華僑大學信息科學與工程學院,福建廈門362011;2.上海交通大學電子信息與電氣工程學院,上海200240)
基于LabWindows/CVI和Matlab的直流電機轉速控制仿真系統(tǒng)設計
徐園園1,2,洪雪梅1
(1.華僑大學信息科學與工程學院,福建廈門362011;2.上海交通大學電子信息與電氣工程學院,上海200240)
介紹了一種基于LabWindows/CVI和Matlab的直流電機轉速控制仿真系統(tǒng)。充分發(fā)揮Labwindows/CVI和Matlab的優(yōu)勢,利用LabWindows/CVI和Matlab的軟接口技術,實現(xiàn)了LabWindows/CVI人機界面設計,Matlab進行PID運算的直流電機轉速控制系統(tǒng)。該系統(tǒng)編程簡單,具有良好的軟件交互界面,控制效果良好,有實際應用價值。
LabWindows/CVI;Matlab;數(shù)字PID控制;直流電機
隨著電力電子技術、微電子技術和現(xiàn)代控制理論的發(fā)展,以電動機速度控制為中心的電機控制系統(tǒng)得到推廣應用。目前,直流電機已經廣泛應用于企業(yè)的機電設備中。與交流電機相比,直流電機具有在寬廣的范圍內平滑而經濟的調速性能,如:調速范圍廣,穩(wěn)定性好,過載能力大,能承受頻繁的沖擊負載,可實現(xiàn)頻繁的無級快速起制動和反轉等良好的起動性能。因此,直流電動機在起動和調速要求較高的生產機械上得到廣泛的應用[1]。控制電機轉速的算法有PID算法、自適應模糊控制法等。
虛擬仿真實驗是通過仿真軟件來建立控制對象的模型,模擬真實實驗所需要的條件和環(huán)境來進行的實驗。LabWindows/CVI是美國NI公司推出的著名虛擬儀器開發(fā)平臺之一,以ANSI C為核心,將功能強大、運用靈活的C語言平臺與數(shù)據(jù)采集、分析和表達等測控專業(yè)工具有機的結合起來,提供了理想的界面開發(fā)環(huán)境[2]。Matlab是Mathworks公司開發(fā)的科學計算環(huán)境,擁有豐富的函數(shù)庫,幾乎涵蓋了所有的工程計算領域,是國際公認的優(yōu)秀數(shù)學應用軟件之一。但其界面開發(fā)能力較差,且數(shù)據(jù)輸入、網絡通信和硬件控制等方面比較繁瑣[3]。
鑒于LabWindows/CVI和Matlab的優(yōu)缺點,本文將兩者有機結合、優(yōu)勢互補,提出一種基于引擎的LabWindows/CVI和Matlab軟接口技術,并實現(xiàn)了直流電機轉速PID算法(Proportion Integral Differential Coefficient Arithmetic)控制。
本文的關鍵技術是實現(xiàn)LabWindows/CVI和Matlab的混合編程,完成其數(shù)據(jù)和命令的交換,即軟接口技術[4]。常用的技術有ActiveX技術和Matlab Compiler技術,使用時需要較強的軟件專業(yè)知識和編程能力。本文提出了一種LabWindows/CVI和Matlab引擎調用技術,方法簡單實用。
1.1 引擎程序的環(huán)境建立
LabWindows/CVI對Matlab引擎調用技術的實質是將Matlab當作計算引擎,通過LabWindows/CVI編寫引擎程序向Matlab傳送數(shù)據(jù)并調用Matlab命令,使之在Matlab的后臺完成運算并返回計算結果。其環(huán)境建立即創(chuàng)建引擎函數(shù)的使用條件,具體包括建立3個靜態(tài)鏈接庫文件,分別為Libeng.lib,Libmx.lib,Libmat.lib。引擎程序中會使用到的engine函數(shù)和mx-函數(shù)都包括在靜態(tài)庫中。此外是對engine.h頭文件的包含,因為engine.h中不但含有對引擎函數(shù)及相關數(shù)據(jù)類型的定義,還對matrix.h進行了包含,缺其將無法使用Matlab引擎。
1.2 引擎程序的主體部分
以下列代碼為例,此例程可涵蓋大多數(shù)引擎程序的主要步驟,其關鍵代碼如下:

該引擎調用技術簡單實用,充分發(fā)揮兩種軟件的優(yōu)點,可成為開發(fā)智能虛擬儀器的有效途徑,具有廣泛的應用價值。但在混合編程過程中,由于在LabWindows/CVI運行的同時,又啟動了Matlab進行后臺數(shù)據(jù)處理,需要有較高的計算機硬件配置。
直流電機是一種經常被用作控制元件的器件,它可以直接提供旋轉運動。直流電機的傳遞函數(shù)是一個二階無滯后傳遞函數(shù)。二階無滯后傳遞函數(shù)模型為:

PID控制方法是工控界最常用的電機控制方法。計算機控制是一種采樣控制,在計算機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的三個參數(shù)影響著控制系統(tǒng)的控制效果。增大比例參數(shù)將加快系統(tǒng)的響應,有利于減小靜差,但過大的比例參數(shù)會使系統(tǒng)有較大的超調,產生振蕩;增大積分參數(shù)將減小積分作用,有利于減小超調使系統(tǒng)穩(wěn)定,但系統(tǒng)消除靜差的作用將變??;增大微分參數(shù)有利于加快系統(tǒng)的預知性,減小超調,但過大的話反而起到相反的作用[5]。
對PID參數(shù)的整定一般采用試湊法、經驗數(shù)據(jù)法或者工程整定法。本文采取的方法是應用程序試湊的方法,對參數(shù)的調試實行先比例,后積分,最后微分的整定步驟。通過模擬或者閉環(huán)運行觀察系統(tǒng)的響應曲線,然后根據(jù)各調節(jié)參數(shù)對系統(tǒng)響應的大致影響反復試湊參數(shù),以達到滿意的控制效果,從而確定數(shù)字PID調節(jié)器的參數(shù)。
基于LabWindows/CVI和Matlab的直流電機轉速仿真系統(tǒng)由界面和Matlab后臺程序兩部分組成。在界面,可由菜單項設置直流電機模型二階傳遞函數(shù)參數(shù)輸入設置用數(shù)值滑動條控件來實現(xiàn),程序運行結果由Graph控件來顯示。超調量、調整時間和增益由文本框顯示。參數(shù)設置完成后,點擊運行按鈕,Matlab后臺程序啟動,并將運算結果返回給Lab-Windows/CVI,由Graph控件來顯示。
本文詳細給出了LabWindows/CVI和Matlab的軟接口方法,并將其應用在直流電機控制仿真中,通過實測分析和應用,取得了較好效果。實踐證明,引擎調用技術簡單實用,可以更好發(fā)揮兩套軟件的優(yōu)點,成為開發(fā)智能虛擬儀器的有效途徑,具有廣泛的應用價值。

圖2 直流電機轉速控制
[1]陳忠華,康立乾,王洋.直流調速系統(tǒng)中常規(guī)PI與模糊PI控制器的比較[J].計算機系統(tǒng)應用,2012,21(8):80-84.
[2]王建新,隋美麗.LabWindows/CVI虛擬儀器測試技術及工程應用[M].北京:化學工業(yè)出版社,2013.
[3]劉金琨.先進PID控制MATLAB仿真[M].3版.北京:電子工業(yè)出版社,2011.
[4]張賢達.現(xiàn)代信號處理[M].北京:清華大學出版社,2002.
[5]徐園園.LabWindows/CVI對Matlab的引擎調用技術[J].華僑大學學報,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
福建省泉州市科技計劃項目(2015Z124)
徐園園(1980—),女,山東省人,講師,博士生,主要研究方向為虛擬儀器及智能測控技術。