《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 基于LabVIEW的步進(jìn)電機運行特性測試軟件開發(fā)
基于LabVIEW的步進(jìn)電機運行特性測試軟件開發(fā)
來源:微型機與應(yīng)用2014年第5期
諶娟娟,巨 輝,劉 鵬
成都信息工程學(xué)院,四川 成都 610225
摘要: 針對目前步進(jìn)電機運行特性測試系統(tǒng)成本高、無上位機對步進(jìn)電機進(jìn)行控制和測試數(shù)據(jù)進(jìn)行處理顯示等問題,以LabVIEW及運動控制卡為核心,設(shè)計了一種步進(jìn)電機測試系統(tǒng),簡要介紹了測試系統(tǒng)的硬件組成,詳細(xì)介紹了LabVIEW調(diào)用和設(shè)置運動控制卡函數(shù)及采集數(shù)據(jù)的方法。
Abstract:
Key words :

摘  要: 針對目前步進(jìn)電機運行特性測試系統(tǒng)成本高、無上位機對步進(jìn)電機進(jìn)行控制和測試數(shù)據(jù)進(jìn)行處理顯示等問題,以LabVIEW運動控制卡為核心,設(shè)計了一種步進(jìn)電機測試系統(tǒng),簡要介紹了測試系統(tǒng)的硬件組成,詳細(xì)介紹了LabVIEW調(diào)用和設(shè)置運動控制卡函數(shù)及采集數(shù)據(jù)的方法。
關(guān)鍵詞: 步進(jìn)電機;LabVIEW;運動控制卡;數(shù)據(jù)采集

 步進(jìn)電機是一種能夠快速啟動、可正反轉(zhuǎn)和制動的執(zhí)行元件,具有驅(qū)動簡單、控制精度較高、成本低廉等優(yōu)點,被廣泛應(yīng)用于生產(chǎn)和生活的各個場合。通常步進(jìn)電機在使用之前應(yīng)先了解其準(zhǔn)確的運行特性。目前工業(yè)中步進(jìn)電機的運行特性測試常采用以PLC為控制系統(tǒng)核心的方案,這種方案能自動實現(xiàn)數(shù)據(jù)的采集、顯示和處理[1],但它的成本較高。工業(yè)中需要一款成本較低、使用方便、操作簡單的運行測試系統(tǒng)。
 LabVIEW是美國NI公司研發(fā)的一款用于測控領(lǐng)域的軟件,它允許使用圖形方式編程,摒棄了晦澀難懂的文本代碼,其在硬件驅(qū)動、數(shù)據(jù)采集、數(shù)據(jù)分析和數(shù)據(jù)顯示方面有著優(yōu)越的表現(xiàn),使之廣泛的應(yīng)用于工業(yè)自動化、測試測量、運動控制、圖像處理等領(lǐng)域[2-3]。利用LabVIEW結(jié)合運動控制卡實現(xiàn)步進(jìn)電機的運行特性測試且也能自動實現(xiàn)數(shù)據(jù)的采集、處理和顯示。LabVIEW結(jié)合運動控制卡的方案與以PLC為控制系統(tǒng)核心的方案相比成本低、數(shù)據(jù)采集、數(shù)據(jù)分析及顯示簡單,且LabVIEW編程比PLC編程方便、直觀、具有良好的人機交互界面。
1 實現(xiàn)方法
1.1 系統(tǒng)組成

 步進(jìn)電機測試系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示。

 測試平臺中步進(jìn)電機為被測對象,磁粉制動器利用磁滯原理,通過控制勵磁電流的輸入產(chǎn)生一定的力矩來模擬電機的加載裝置,扭矩傳感器用于測試電機特性時采集電機的模擬轉(zhuǎn)矩大小。LabVIEW作為系統(tǒng)的核心,調(diào)用運動控制卡中的多個函數(shù)來控制電機的轉(zhuǎn)速和轉(zhuǎn)向及采集編碼器反饋的實際位置值,并將采集到數(shù)據(jù)進(jìn)行快速處理和顯示。
1.2 測試軟件的關(guān)鍵技術(shù)
 在運動控制卡函數(shù)庫中主要包括的函數(shù)有:控制卡和軸設(shè)置函數(shù)、運動指令函數(shù)、制動函數(shù)、位置和狀態(tài)設(shè)置函數(shù)、位置和狀態(tài)查詢函數(shù)、I/O口操作函數(shù)和一些其他函數(shù)[4]。LabVIEW能否正確的調(diào)用并設(shè)置這些函數(shù)是整個測試系統(tǒng)軟件設(shè)計的關(guān)鍵部分。
 LabVIEW可以通過調(diào)用函數(shù)庫節(jié)點(CLN)來調(diào)用運動控制卡中的動態(tài)鏈接庫(DDL)中的函數(shù)。調(diào)用步驟為:在程序后面板選擇“函數(shù)”→“互連接口”→“庫與可執(zhí)行程序”→“調(diào)用庫函數(shù)節(jié)點”。雙擊庫函數(shù)節(jié)點,在函數(shù)選項卡中輸入庫名及選擇所需的函數(shù),在參數(shù)選項卡中設(shè)置和增加對應(yīng)函數(shù)的參數(shù)。參數(shù)的設(shè)置直接關(guān)系到應(yīng)用程序接口(API)函數(shù)調(diào)用的成敗。如果API函數(shù)中參數(shù)原型為基本數(shù)據(jù)類型,LabVIEW參數(shù)的設(shè)置則非常簡單,即選擇對應(yīng)的數(shù)據(jù)類型后將參數(shù)的傳遞方式設(shè)置為“數(shù)值”。
 通常LabVIEW中使用的數(shù)據(jù)類型與API函數(shù)中使用的數(shù)據(jù)類型不一致。而錯誤數(shù)據(jù)類型的使用有時會造成LabVIEW運行崩潰,所以正確理解API函數(shù)的數(shù)據(jù)類型與LabVIEW的數(shù)據(jù)類型對程序正常運行具有重要意義。表1所示為幾種常用的API函數(shù)數(shù)據(jù)類型與LabVIEW數(shù)據(jù)類型的對應(yīng)關(guān)系。

 如果API函數(shù)中參數(shù)原型為指針類型,LabVIEW則有兩種傳遞方式。一種方式是選擇參數(shù)類型為“數(shù)組”,數(shù)組格式為“數(shù)組數(shù)據(jù)指針”。此種方式的輸入方式為數(shù)組,數(shù)組的長度可以根據(jù)其需要指定[3]。另一種方式是選擇參數(shù)類型為“數(shù)值”,傳遞方式為“指針”。此種方式不需要輸入任何參數(shù),只需要在調(diào)用API函數(shù)后通過一個數(shù)字拆分函數(shù)將測試過程中反饋回來的數(shù)據(jù)讀取。例如:讀取編碼器反饋的實際位置值函數(shù)(get_encoder),其語法為int get_encoder(int ch,long*en_pos),其中ch為軸號,en_pos為一個指向?qū)嶋H位置的長整型指針。LabVIEW中函數(shù)選項卡設(shè)置如圖2所示,參數(shù)選項卡設(shè)置如圖3所示。

1.3 數(shù)據(jù)采集
 步進(jìn)電機運行特性測試程序開發(fā)的過程中除了正確調(diào)用運動控制卡函數(shù)外,編碼器反饋信號的采集也尤為重要。
 程序在執(zhí)行過程中需不斷地讀取編碼器反饋值,并在電機停止后自動地將測試值進(jìn)行處理并顯示出來。運動控制卡中g(shù)et_encoder函數(shù)專門用于讀取編碼器的反饋值,為了實現(xiàn)不斷讀取編碼器反饋值,則將get_encoder函數(shù)放入for循環(huán)結(jié)構(gòu)中。雖然控制卡中寄存器的更新速度為1/32 M,但for循環(huán)中的采集程序執(zhí)行速度遠(yuǎn)遠(yuǎn)低于1/32 M且速度未知,則考慮在for循環(huán)中加入定時結(jié)構(gòu)且定時時間必須大于程序執(zhí)行時間。經(jīng)多次試驗,假如系統(tǒng)以電機轉(zhuǎn)速0.01 r/s為最低轉(zhuǎn)速,則將定時時間設(shè)置為10 ms。又因為LabVIEW中for循環(huán)結(jié)構(gòu)的循環(huán)次數(shù)是固定的,為了實現(xiàn)電機停止后程序能自動及時地將測試結(jié)果顯示出來,則根據(jù)采集到數(shù)據(jù)在for循環(huán)外做判斷以停止采集程序和處理結(jié)果并顯示。數(shù)據(jù)采集程序如圖4所示。

2 程序示例
 本文以步進(jìn)電機任意加減速曲線測試為例,展示了LabVIEW調(diào)用運動控制卡函數(shù)控制步進(jìn)電機及采集編碼器反饋值的過程。程序流程圖如圖5所示。

 

 

 程序在調(diào)用初始化函數(shù)init_board后默認(rèn)的將軸的最大速度設(shè)置為板卡允許的最大速度80 000 r/s。因為控制卡的輸出脈沖頻率=脈沖分辨率×倍率,所以為了獲得比較好的速度精度程序初始化之后應(yīng)先調(diào)用set_maxspeed函數(shù)來設(shè)置需要達(dá)到的最大輸出脈沖頻率,設(shè)置后脈沖分辨率將重新設(shè)置。程序在調(diào)用讀取軸反饋信息函數(shù)get_encoder前應(yīng)先調(diào)用set-getpos_mode函數(shù)和set_encoder_mode函數(shù)來設(shè)置編碼器反饋信號的模式及get_encoder函數(shù)獲取的位置值的來源。以步進(jìn)電機任意加減速曲線測試為例的程序后面板如圖6所示,前面板如圖7所示。

 綜上所述,依托于LabVIEW函數(shù)庫調(diào)用技術(shù)以及運動控制卡可以實現(xiàn)步進(jìn)電機的運動控制及運行特性的測試,系統(tǒng)人機交互界面良好,可準(zhǔn)確地對采集數(shù)據(jù)進(jìn)行計算處理、顯示及存儲,且各項運行參數(shù)方便可調(diào)。本文對步進(jìn)電機的運動控制及運行特性測試系統(tǒng)而言,具有成本低、使用方便、操作簡單等特點。
參考文獻(xiàn)
[1] 蔡祖光,史鐵林.步進(jìn)電動機矩頻特性測試方法研究[J].電子器件,2012(2):190-193.
[2] 楊樂平,李海濤.LabVIEW程序設(shè)計與應(yīng)用[M].北京:電子工業(yè)出版社,2005.
[3] 陳樹學(xué),劉萱.LabVIEW寶典[M].北京:電子工業(yè)出版社,2011.
[4] 周志明.基于運動控制卡的步進(jìn)電機控制系統(tǒng)[J].煤礦機械,2004(3):95-97.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。