《電子技術應用》
您所在的位置:首頁 > MEMS|傳感技術 > 設計應用 > 兩軸模擬陀螺儀的空中鼠標指針控制方法研究
兩軸模擬陀螺儀的空中鼠標指針控制方法研究
來源:電子技術應用2010年第11期
葛海江, 張雪娟, 沈海娟
杭州職業(yè)技術學院信電系, 浙江 杭州310018
摘要: 介紹了一種采用兩軸模擬MEMS陀螺儀實現(xiàn)低成本空中鼠標指針的控制方法,詳細闡述了該方法的硬件設計、兩軸陀螺儀數(shù)據(jù)的模數(shù)轉換、靜態(tài)基準點的捕捉、動態(tài)旋轉角度變化率的測量。針對陀螺儀受環(huán)境溫度變化等因素的影響會發(fā)生隨機零點漂移的問題,提出了一種動態(tài)自校正的算法對零點進行自校正,取得了滿意的校正效果。目前該技術已成功移植到無線空中鼠標中。
中圖分類號:TP212.9
文獻標識碼:A
文章編號: 0258-7998(2010)10-0132-03
Research on control method of air mouse pointer based on two-axis analog gyroscope
GE Hai Jiang, ZHANG Xue Juan, SHEN Hai Juan
Department of Communication and Electron, Hangzhou Vocational and Technical College, Hangzhou 310018, China
Abstract: The control method of air mouse pointer using the low-cost two-axis analog gyroscope was put forward in this paper. The design of hardware, AD conversion of gyroscope, the measurement method for static reference point of gyroscope as well as the change rate calculation of the dynamic revolving angle were expounded in detail. Considering that the change of environmental temperature would cause the zero drift of two-axis gyroscope, a new algorithm for dynamic self-tuning was presented and satisfactory results were achieved. This technology has been integrated into wireless air mouse.
Key words : two-axis analog MEMS gyroscope; static reference point; revolving angle changing rate; zero drift; dynamic self-tuning

    陀螺儀可感應空間的變化,與位置無關,能夠檢測運動過程中每個軸上旋轉的角速度(角度/s) [1-2]。目前已有的無線空中鼠標大多數(shù)所采用的技術有:Gyration公司的無線空中鼠標GYM1100NA,采用傳統(tǒng)的微機械數(shù)字陀螺儀方式來實現(xiàn),其型號為MG1101BA,靈敏度達+/-500°/s,該數(shù)字陀螺儀的售價為8美元。然而隨著微機電系統(tǒng)(MEMS)技術的飛速發(fā)展和不斷成熟,MEMS的陀螺儀應運而生,如羅技公司應用了MEMS陀螺儀技術設計實現(xiàn)了無線空中鼠標MX Air。它采用了應美盛(INVENSENSE)公司的IXZ-500兩軸模擬陀螺儀來實現(xiàn),靈敏度達+/-500°/s,該模擬陀螺儀的售價約為3美元。但采用模擬陀螺儀,單片機內部需要完成AD轉換,需要另外再增加0.5美元左右的單片機成本。因此,要實現(xiàn)數(shù)字陀螺儀同樣的功能,成本為3.5美元左右。由此可見,采用模擬陀螺儀加AD轉換的方案成本減少了4.5美元,同時傳統(tǒng)的微機械陀螺儀MG1101的體積為13.8 mm×14.75 mm×16 mm,而IXZ-500的MEMS陀螺儀的體積僅為4 mm×5 mm×1.2 mm。為了節(jié)省空中鼠標的生產(chǎn)成本和縮小鼠標的體積,本文采用兩軸MEMS模擬陀螺儀(IXZ-500)+AD轉換的方式來實現(xiàn)空中鼠標指針空中姿態(tài)控制。

1 兩軸模擬陀螺儀的外圍硬件設計
    本文研究的兩軸模擬陀螺儀為INVENSENSE公司的IXZ-500陀螺儀,它的每軸靈敏度達+/-500°/s,兩路模擬輸出,工作電壓為3.0  V。采用該陀螺儀實現(xiàn)無線空中鼠標的空中指針控制的外圍硬件設計如圖1所示。


2 兩軸模擬陀螺儀的數(shù)據(jù)處理及轉化
2.1 兩軸陀螺儀數(shù)據(jù)的模數(shù)轉換

    (1)帶AD功能的單片機選型
 因為兩軸陀螺儀輸出的是2路模擬信號,輸出后需要經(jīng)過AD轉換。因此在選擇主控單片機時,要選擇至少帶2路AD的單片機。為了提高采樣的精度,可選擇AD在10位以上、采樣速率在100 b/s以上的主控單片機。但采樣精度的提高會影響采樣速度,在采樣精度和速率選擇上,可以先通過理論分析,然后經(jīng)過實際性能的測試,選擇合適的采樣精度和速率,從而獲得一個較好的空中鼠標姿態(tài)感知的靈敏度。本文選擇的是12位2路以上AD的單片機,采樣速率可達480  b/s。
 (2)AD時鐘及采樣率設置
 設置單片機的CPU時鐘CPU_Clock為12 MHz,AD采樣的時鐘DataClock為8 MHz,采樣精度為12 bit。則:
 
    (3)IXZ-500工作原理及AD轉換的實現(xiàn)
 IXZ-500陀螺儀的工作靈敏度為+/-500°/s,當陀螺儀在平面上發(fā)生旋轉時,每個軸上會輸出一個與旋轉角度相關的模擬電壓信號,在工作范圍之內,旋轉的角度大小與電壓變化大小成正比。設計中,通過單片機的AD轉換器來檢測電壓變化的大小以檢測平面上旋轉角度的變化大小,從而實現(xiàn)空中旋轉角度的檢測,即實現(xiàn)空中鼠標在空中的旋轉角度檢測。
 當IXZ-500陀螺儀開始通電工作后,陀螺儀保持靜止不動時,每個軸會輸出一個大小為1.25 V的靜態(tài)電壓值;當陀螺儀發(fā)生旋轉后,電壓會在靜態(tài)電壓值的兩側發(fā)生變化。旋轉方向不同,電壓變化的方向也不同(增大或者減少),即1.25 V +/-?駐V。旋轉的角度與電壓變化大小關系為:2 mV/(°/s)。
 單片機啟動AD轉換后,完成對陀螺儀輸出電壓的轉換,AD完成1次電壓轉換需要約2 ms的時間。本設計設置為10 ms采樣一次,通過采用定時器10 ms的中斷方式進行控制。
2.2 靜態(tài)基準點的捕捉
 當陀螺儀保持靜止不動時,芯片的數(shù)據(jù)手冊給出的參考靜態(tài)電壓值為1.25 V。然而在實際工作中,由于器件的差異性、外圍環(huán)境溫度變化等,都會使每個陀螺儀工作在靜止狀態(tài)時,靜態(tài)電壓值并不一定是數(shù)據(jù)手冊給定的值[3]。因此需要對靜止狀態(tài)下的輸出電壓進行重新檢測,即靜態(tài)基準點的捕捉。
 靜態(tài)基準點的捕捉方法如下:
 (1)保持兩軸陀螺儀在靜止狀態(tài),由單片機的AD轉換器采樣陀螺儀的輸出電壓并完成AD轉換。假設兩軸陀螺儀AD轉換后的值為:Current_x和Current_z。
 (2)由于陀螺儀本身存在噪聲的影響,需要屏蔽噪聲。這里Current_x和Current_z都為12 bit的數(shù)值,設計時將其最低2位數(shù)據(jù)屏蔽掉,即將Current_x和Current_z分別與0xffc位進行“與”操作。
 (3)為了進一步消除誤差,將上述的數(shù)據(jù)連續(xù)讀取兩次,求平均值。
 (4)因為兩軸陀螺儀在靜止狀態(tài)下,輸出的電壓基本上不變化,所以可以連續(xù)檢測多次,然后進行數(shù)據(jù)比較。如果連續(xù)檢測多次經(jīng)過屏蔽及平均之后的數(shù)據(jù)都相等,則表明兩軸陀螺儀是處在靜止狀態(tài)。
 (5)分別記錄此時Current_x和Current_z的值。這兩個值即為靜態(tài)基準點的值:Static_x和Static_z。
 (6)在實際應用中,將Static_x和Static_z寫入主控器的EEPROM中,其目的是使得下次Static_x和Static_z的值可以直接從EEPROM中讀出,不必要每次都檢測靜態(tài)基準點。
2.3 動態(tài)旋轉角度變化率的測量
 當兩軸陀螺儀發(fā)生旋轉時,每個軸的輸出電壓會發(fā)生變化,即在靜態(tài)基準電壓的兩側變化。
 (1)兩軸陀螺儀發(fā)生旋轉時,計算兩維方向上的旋轉角度變化率:
  
式中,Current_x表示x軸上的輸出量,Static_x表示x軸上的沒有發(fā)生旋轉時輸出量;q為陀螺儀的靈敏度系數(shù)(系數(shù)的大小可根據(jù)實際的需要進行設置,要提高靈敏度則可以減小系數(shù)的大小)。z軸上旋轉角度變化率的計算方法同x軸。
 當物體發(fā)生旋轉時,陀螺儀也跟著旋轉,通過對旋轉角度變化率的測量,就能測量出陀螺儀在平面上旋轉角度的變化,從而得知物體在空中的旋轉變化。
 (2)在空中鼠標的應用中,本文將陀螺儀的靈敏度系數(shù)q的值設置為20,經(jīng)過實際鼠標的測試,已能滿足鼠標指針在空中的位移控制需要。
3 無線空中鼠標指針控制流程
 無線空中鼠標指針的空中旋轉控制流程如圖2所示。對于2.4 GHz的無線通信部分,可以參考文獻[4]。

4 兩軸陀螺儀的參數(shù)動態(tài)自校正
 由于兩軸陀螺儀在環(huán)境溫度變化或工作電壓下降后,兩軸陀螺儀靜態(tài)的基準點會發(fā)生改變即發(fā)生零點漂移[5],使得Static_x和Static_z的值發(fā)生改變。因此需要對靜態(tài)的基準點進行校正,即重新捕捉Static_x和Static_z的值。為此本文提出一種動態(tài)自校正的算法,對相應的Static_x和Static_z參數(shù)進行自校正,取得較好的校正效果。
 動態(tài)自校正的算法引用靜態(tài)基準點的捕捉方法進行控制,控制過程如圖3所示。

 對于參數(shù)i、j用戶可以根據(jù)具體不同的實際需要進行調整,i、j增大會增加校正的時間,但可以增加靜態(tài)捕捉點的精度。本文i、j的設置是根據(jù)空中鼠標實際性能的測試后得出的。通過對鼠標的實際測試,該控制方法校正時間小于2 s。
    本文通過對傳統(tǒng)的微機械陀螺儀、數(shù)字陀螺儀及MEMS陀螺儀進行了比較研究,提出了一種采用兩軸模擬陀螺儀技術實現(xiàn)低成本的空中鼠標指針的控制方法。該方法目前已成功應用于無線空中鼠標中,在空中可以檢測旋轉角度范圍為+/-500°/s,實現(xiàn)了空中鼠標指針在空中的自由控制,已獲得實用新型專利一項[6]。此外,該方法還可應用于人體動作跟蹤、游戲控制器、機器人及自動導航等人機輸入設備中。
參考文獻
[1]  董煜茜,高鐘毓,張嶸. 微機械陀螺儀的性能分析[J]. 清華大學學報<自然科學版>,1998, 38(11):1-3.
[2]  谷慶紅. 微機械陀螺儀的研制現(xiàn)狀[J]. 中國慣性技術學報, 2003,11(5):67-72.
[3]  葛海江, 陶姍. 姿態(tài)感知鼠標指針的控制方法[J]. 機電工程. 2009,26(3):105-107.
[4]  葛海江, 陶姍, 吳弋旻,等. 2.4GHz無線鼠標多信道控制方法研究[J]. 計算機工程與應用. 2009,45(9):77-79.
[5]  金光明,張國良,陳林鵬,等. MEMS陀螺儀靜態(tài)漂移模型與濾波方法研究[J]. 傳感器與微系統(tǒng), 2007,26(11):48-50.
[6]  戴國駿, 葛海江,姜若林,等. 一種多功能無線鼠標裝置: 中國, 專利申請?zhí)?200710164504.7.2008-05-14.

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