楊文濤++湯暢通++郎坤++洪培烽++許浩
摘 要:本文以虛擬儀器國賽參賽作品智能接物垃圾桶為依托,根據(jù)電機低速和高速的不同原理,分析并實現(xiàn)了使用LabVIEW測量電機轉速的幾種方法,并對測速性能進行比較。低速時采用T法通過測量轉動一定角度的時間測量轉速,高速時采用M法通過讀取一定時間間隔的編碼盤脈沖數(shù)測速。對于T法測速,使用LabVIEW的外部觸發(fā)中斷結合定時器Elapsed Time實現(xiàn)。對于M法測速,通過使用定時中斷讀取一定時間間隔內的脈沖數(shù)并保存后清零實現(xiàn)。其中,脈沖數(shù)的讀取又有使用MyRIO中encoder編碼器、外部中斷以及數(shù)字量輸入等多種形式。通過實現(xiàn)不同形式測速程序比較了他們各自的性能和優(yōu)缺點,同時為使用LabVIEW編制測速程序但使用其他數(shù)據(jù)采集卡做硬件支持進行測速提供了參考依據(jù)。
關鍵詞:電機測速不同方法;LabVIEW;MyRIO
中圖分類號:TP274 文獻標識碼:A 文章編號:1671-2064(2017)07-0050-02
電機作為基本而經(jīng)典的控制機械廣泛應用于無人機飛行、車輛行駛以及工業(yè)流水線控制等。而轉速、轉矩和功率是電機三個最重要的性能參數(shù)之一。因此,轉速測量的精度、快速性,測量方法及測量機構的穩(wěn)定性對于電機實際應用極為重要。LabVIEW是工業(yè)測控廣泛使用的程序開發(fā)環(huán)境之一,其圖形化編程方式使程序更為直觀,,本文以當前測控領域廣泛應用的虛擬儀器LabVIEW程序開發(fā)環(huán)境為基礎,以MyRIO創(chuàng)新實驗與項目開發(fā)平臺為硬件支撐,以虛擬儀器國賽參賽作品智能接物垃圾桶為依托,討論了電機高速及低速時的幾種測速方法,分別實現(xiàn)并進行了性能比較。
1 LabVIEW中電機測速方法
LabVIEW中電機測速主要有M法(測頻法)、T法(測周期法)和M/T法(頻率/周期法)三種[1]。(1)測頻法。在一定時間間隔T內,計數(shù)被測信號的重復變化次數(shù)N,則被測信號的頻率fx可表示為:fx=N/t;若以每圈測速編碼器有p個脈沖為例,則對應的轉速可表示為:ω=2πfx/p。(2)測周期法。一個旋轉周期或半周旋轉周期內,計數(shù)時鐘脈沖數(shù)a,則被測信號頻fx=f/a,其中,f為時鐘脈沖信號頻率。乘以對應一個周期的角度值即得轉速[2]。(3)M/T法測速。頻率法和周期法相結合,兼具頻率法適合低速和周期法適合高速的優(yōu)點。
2 在LabVIEW中各方法的實現(xiàn)
2.1 測頻法的實現(xiàn)
測頻法的要通過定時讀取脈沖累加值實現(xiàn)。因此,可通過定時方法的不同和讀取脈沖方式的不同分為幾種方法:(1)使用定時中斷定時。MyRIO提供的定時中斷,每隔一定時間調用中斷子函數(shù),在子函數(shù)中通過平鋪式順序結構先讀取當前累加脈沖值,之后清零累加值[3]。由于累加子vi與定時中斷子vi不在一個vi中,因此使用全局變量存儲累加脈沖值。注意這里中斷子函數(shù)輸入端數(shù)目必須為1,否則不能作為中斷子vi被調用[4]。(2)使用定時器Elapsed Time定時,該函數(shù)中Elapsed Time端讀取零初始時刻開始經(jīng)過的時間,通過比較得到到達某時刻的布爾邏輯控制值接入條件結構條件輸入端,從而實現(xiàn)每間隔一定時間執(zhí)行條件結構中內容,在條件結構中同上使用順序結構讀取脈沖累加值后清零脈沖值。注意這里通過布爾控件控制定時器Elapsed Time是否計時值清零,因此脈沖累加值讀取后應通過給計時器清零控制端布爾值置是清零,之后再通過給改值置否開始計時。定時程序見圖1所示。
根據(jù)測速編碼器脈沖讀入方式不同分為:(1)通過MyRIO的encoder編碼器讀入脈沖。LabVIEW的MyRIO實驗與開發(fā)平臺提供三個encoder編碼器,每個編碼器由兩個輸入端組成,提供可檢測轉向的正交編碼方式和step and direction signals兩種工作方式,其中前者會自動累加計數(shù)值,正轉反轉時分別為正值和負值,專門用于電機測速。具體程序如圖2所示;(2)通過MyRIO或其他數(shù)據(jù)采集卡的數(shù)字量輸入讀入脈沖。讀入數(shù)字量輸入并結合上升沿或下降沿處理即可在數(shù)字量每變化一次調用條件結構給計數(shù)值加1。(3)通過MyRIO或其他數(shù)據(jù)采集卡的外部中斷讀入脈沖。使用外部中斷,每次脈沖值變化調用一次中斷,使脈沖計數(shù)值加一。具體程序見圖3所示。
2.2 測周期法的實現(xiàn)
使用定時器Elapsed Time和比較結構實現(xiàn)測周期法測速。每當當前時間大于設定值時,讀取上升沿得到布爾邏輯控制量觸發(fā)條件結構,在條件結構中使用順序結構,先通過局部變量讀取當前時間作為時間周期,之后在下一幀將定時器時間清零,清零后當前時間小于設定時間從而退出讀周期部分。具體程序如圖4所示。
3 不同方法性能比較
實際編程實現(xiàn)后,分析比較不同方法性能及優(yōu)缺點如下[5]:
根據(jù)定時方式不同的兩個方法性能比較:(1)使用定時中斷定時。使用中斷定時準確度較高,為大多數(shù)情況下使用的方法,但往往中斷數(shù)目有限,當有多個定時時中斷可能不夠用,需要復用。除此之外,過多使用中斷會降低程序運行速度。(2)使用Elapsed Time定時。由于通過比較確定到達時間周期的時刻,準度沒有定時中斷高,且編程更為困難。但不受定時器數(shù)目限制,可以設置多個定時器而不影響程序執(zhí)行速度。
根據(jù)讀編碼器脈沖方式不同的幾個方法性能比較:(1)使用MyRIO自帶Encoder讀脈沖。Encoder編碼器提供可檢測轉向的正交編碼方式和step and direction signals兩種工作方式,可同時檢測轉速和轉向,自動累加脈沖,集成度及準確度高,編程簡單。但是一個MyRIO僅能提供三個編碼器,且有時正交編碼會出現(xiàn)脈沖累加值為-2、-1、0、1、2無效變化的情況,有時三個編碼器之間會相互干擾,兩個轉速不同時兩個編碼器脈沖值均顯示其中某一個的轉速,極為不穩(wěn)定,給實際應用帶來了較大隱患。(2)使用外部中斷讀脈沖。該方法可行性較低,由于每個脈沖均會引起一次脈沖值加一中斷,而測速編碼器往往一圈會有數(shù)十甚至數(shù)百個脈沖,因此實際程序運行數(shù)秒后便會因執(zhí)行太多次中斷而卡機,不得不強行關閉程序。(3)使用MyRIO或數(shù)據(jù)采集卡的數(shù)字量輸入讀脈沖。該方法沒有使用集成好的Encoder簡單準確,會隨轉速增加漏掉越來越多的脈沖(詳細實際數(shù)據(jù)見表1),但是一個或兩個數(shù)字量輸入即可測量一個電機,因此可同時測量多個電機,且對硬件要求較低,有數(shù)字量輸入即可。
4 結語
本文從電機測轉速的M法、T法以及M/T法原理根據(jù)定時方法和讀取脈沖方式不同介紹了在LabVIEW編程環(huán)境下測量電機轉速的幾種方法,并給出了具體編程實現(xiàn)比較了各自的優(yōu)缺點和使用范圍,對于實際電機測速應用具有一定的借鑒價值。
參考文獻
[1]高尚.基于LabVIEW的電機數(shù)據(jù)采集系統(tǒng)[J].黑龍江科學,2014(02):1.
[2]李海春,蔡燕,姜文濤.基于LabVIEW的電機轉速監(jiān)測系統(tǒng)的設計[J].電子科技,2012(12):02.
[3]謝斌,張超,毛恩榮,陳燕呢.基于myRIO的電動拖拉機驅動控制器設計與室內試驗[J].農業(yè)工程學報,2015(18):4-5.
[4]夏玉龍.基于虛擬儀器的電機測試系統(tǒng)[D].上海應用技術學院,2015.
[5]韋蘭用.最優(yōu)控制問題研究綜述[D].吉林大學,2006.