<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于LabVIEW的鼠標位移測量技術(shù)研究

          基于LabVIEW的鼠標位移測量技術(shù)研究

          作者: 時間:2017-02-27 來源:網(wǎng)絡(luò) 收藏

          0 引言

          位移傳感器把外界物體的位移信號轉(zhuǎn)化為電學量,從而實現(xiàn)對位移量的檢測,在實際工程應(yīng)用中有著非常重要的作用,其好壞往往影響著整個系統(tǒng)的性能。位移檢測技術(shù)經(jīng)過多年發(fā)展已經(jīng)相當成熟,各種位移傳感器紛紛出現(xiàn),但低成本的位移傳感器結(jié)構(gòu)簡單,精確度不高,線性度低,而高成本的位移傳感器雖然性能優(yōu)異,但制作工藝難度大,難以普及。所以開發(fā)一款低成本、高性能的位移傳感器具有很高的現(xiàn)實意義。鑒于此,本文提出了通過LabVIEW 編程實現(xiàn)精確度高、線性度好、測量范圍大、無需其余硬件設(shè)備的鼠標位移測量方法。

          1 鼠標的工作原理及位移測量的實現(xiàn)方法

          1.1 鼠標的工作原理與驅(qū)動程序

          鼠標(mouse) 在現(xiàn)代個人電腦( PC)中被廣泛應(yīng)用,特別是圖形用戶界面(GUI)的流行,鼠標已經(jīng)不可或缺。大規(guī)模的生產(chǎn)使鼠標的價格很低,通過利用鼠標來測位移也使成本趨于合理。經(jīng)過數(shù)十年的技術(shù)發(fā)展,尤其是光電鼠標與激光鼠標的出現(xiàn),其精度得到極大提高。利用鼠標進行位移測定,具有高精度、低成本的優(yōu)點。鼠標雖然實際上是位移傳感器,但其是為PC 機配備的外部輸入設(shè)備,各種操作系統(tǒng)自帶的鼠標驅(qū)動程序只是為了提供圖形用戶界面操作,無法滿足普遍的位移測量要求。

          鼠標全稱顯示系統(tǒng)縱橫位置指示器。光電鼠和機械鼠的最大區(qū)別是對軌跡的檢測方法,但其工作原理基本相同: 通過光柵信號傳感器或光電傳感器將位移轉(zhuǎn)換為電脈沖信號,然后通過芯片將信號處理為數(shù)據(jù)包傳遞給PC 機。目前利用鼠標實現(xiàn)位移測量的方法主要是利用單片機實現(xiàn)信號處理,實現(xiàn)位移檢測功能,但此方法穩(wěn)定性差,噪聲較大,需要額外硬件系統(tǒng),性價比低。在操作系統(tǒng)已經(jīng)盡可能挖掘了底層硬件數(shù)據(jù)通信能力的情況下,重新對底層硬件通信浪費資源。實際上,鼠標提供GUI 操作,通過鼠標移動控制顯示設(shè)備上鼠標指針的像素移動。反之,可以利用指針運動的位移來確定實際鼠標的位移。

          1.2 鼠標坐標系統(tǒng)與顯示坐標系統(tǒng)的關(guān)系

          鼠標坐標系統(tǒng)( 即實際位移) 與顯示坐標系統(tǒng)通過映射來完成對應(yīng)關(guān)系,二者坐標均使用平面直角坐標系。鼠標坐標系統(tǒng)在平面上任意取一點作為原點,以相對原點的偏移量計算目標點的坐標值,然后以相對該目標點的偏移量計算下一新目標點的坐標值,以此類推。鼠標坐標系統(tǒng)中基本單位為米基。顯示坐標系統(tǒng)同顯示器的實際分辨率及工作方式有關(guān)。使用平面直角坐標系,原點在屏幕的左上方,橫向代表X 方向,縱向代表Y 方向。圖形方式下的橫向、縱向的象素為基本單位進行衡量。例如,1024×768 分辨率時,顯示坐標的橫向和縱向坐標范圍為0~ 1023,0~ 767。

          鼠標坐標系到顯示坐標系完成三個方面的映射:(1) 原點映射:( x 0 , y 0 ) = ( X 0, Y0 ) , 其中X 0 , Y0 ( 為屏幕原點坐標)值可任意給定:( 2) 目標點映射:( x i , y i ) = ( x i- 1 +△x i , y i- 1 + △yi ) →(X i , Yi ) = X i- 1 + △X i , Yi- 1 + △Yi ( i =1, 2 ……, n, 橫向下界≤ X i ≤ 橫向上界,縱向下界≤Yi ≤縱向上界; ( 3) 基本單位映射: 在圖形方式下( 米基到象素映射) ,△x i / x 方向比例因子= △X i , △yi / y 方向比例因子= △Yi ( i =1, 2……,n)。改變米基到象素的比例因子μ 影響鼠標靈敏度,μ 值決定著指針的移動速度,可以在PC 機w indow s 操作系統(tǒng)中的控制面板設(shè)置。因此無須改變鼠標底層的硬件驅(qū)動,實際鼠標的位移可以通過象素坐標來確定。但實際的顯示坐標均有邊界限制,不能滿足大范圍的位移測量。通過LabVIEW編程消除顯示坐標系象素X i 與Yi 的上下界限制,通過測量指針移動的象素來精確檢測鼠標的位移量。

          1. 3 位移測量的LabVIEW 實現(xiàn)方法

          通過庫函數(shù)節(jié)點( CLF) 來訪問動態(tài)鏈接庫( DLL) 的方法,直接調(diào)用WINDOWS API 函數(shù)與LabVIEW 自行編制的庫函數(shù),使得LabVIEW 對鼠標的通信得到大大的增強,同時也為操作系統(tǒng)底層函數(shù)支持LabVIEW 提供了便捷,節(jié)省了內(nèi)存空間。與鼠標相關(guān)的動態(tài)鏈接庫函數(shù)如表1 所示,二者庫函數(shù)有部分相同的功能。

          表1 鼠標驅(qū)動程序接口函數(shù)

          通過調(diào)用以上函數(shù)實現(xiàn)鼠標的位移測量。具體方法為: 在顯示坐標系內(nèi),坐標范圍分成M × N 象素。位移的X 、Y 分量二者互不影響,編程時可以分別處理。方法實現(xiàn)的重點是消除操作系統(tǒng)固有的顯示坐標系象素X i 與Yi 的上下界限制。首先要判斷鼠標的運動方向,若鼠標向左移動,則其必然到達坐標系右邊界。這時通過函數(shù)使象素X i 置零,Yi 不變,同時記錄一次其過邊界。通過顯示坐標( X i , Yi ) 與初始坐標( X 0 ,Y0 ) 之差與過邊界次數(shù)即可求出在顯示坐標中鼠標指針的位移。其他運動方向的位移同理可以得到。最后通過比例因子μ將顯示坐標映射到鼠標坐標系中,即可求出實際位移( x i ,yi ) 。詳細的程序流程圖如圖1 所示。

          圖1 鼠標位移測量程序流程圖

          LabVIEW 具有代碼直觀、層次清晰的圖形化編程特點。在前面板上設(shè)置顯示坐標為M×N = 500 × 300 的指針工作區(qū)域,并設(shè)置初始坐標在工作區(qū)的中心( 250, 150) .X 方向右位移消除邊界的部分程序框圖如圖2 所示,條件語句判斷當指針到達右邊界( 499, Yi ) 時,下一次循環(huán)將其設(shè)為( 0, Yi ) ,并將以后的位移增加1 倍M.循環(huán)體內(nèi)使用了移位寄存器。


          上一頁 1 2 下一頁

          關(guān)鍵詞: LabVIEW位移測量位移傳感

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();