周濤,郝英杰,盛慶華
(杭州電子科技大學(xué),浙江杭州,310018)
越來越多的場景需要遠程使用鼠標(biāo),例如多媒體教學(xué)、集體會議、體感游戲、工程應(yīng)用控制、移動電視盒等。傳統(tǒng)的光學(xué)鼠標(biāo)由于二維平面的限制不能夠方便的對電腦指針進行遠程控制。因此,人們迫切地希望擁有一款擺脫二維平面的束縛、并且能夠在三維空間中自由使用的可穿戴式無線空中鼠標(biāo)。隨著微機電系統(tǒng)的快速發(fā)展,陀螺儀與加速度傳感器的出現(xiàn)促使產(chǎn)生了新一代的空中鼠標(biāo)[1]。本文提出了一種新型的可穿戴式空中鼠標(biāo)設(shè)計方案,用戶可以自由地在三維空間中操控電腦指針。
可穿戴式無線空中鼠標(biāo)的由兩個設(shè)備組成:主控制無線發(fā)射設(shè)備和無線USB接受設(shè)備。主控制無線發(fā)射設(shè)備主要由四個模塊組成,分別是電源管理模塊、STM32核心控制模塊、NRF24L01無線通信模塊和MPU6050傳感器模塊。示意圖如圖1所示。首先MPU6050六軸傳感器不斷接受用戶的手勢信息,由STM32微控制處理器利用中斷查詢的方式接受六軸傳感器的數(shù)據(jù),經(jīng)過補償濾波算法之后,通過NRF24L01通訊芯片將數(shù)據(jù)發(fā)送出去。無線USB接受設(shè)備主要由兩個模塊組成,STM32控制模塊與NRF24L01無線通信模塊。示意圖如圖2所示。無線USB接受設(shè)備捕獲主控制無線發(fā)射設(shè)備發(fā)送的數(shù)據(jù),再按照USB2.0協(xié)議進行編碼,通過USB接口完成和電腦的交互通信。此時完成用戶控制電腦指針的全部過程。主控制無線發(fā)射設(shè)備和無線USB接受設(shè)備的電路圖如圖3,圖4所示。
圖1 主控制無線發(fā)射設(shè)備組成框圖
圖2 無線USB接受設(shè)備
圖3 無線USB接受設(shè)備的電路圖
圖4 主控制無線發(fā)射設(shè)備的電路圖
系統(tǒng)的慣性測量單元采用MPU6050六軸傳感器作為手勢運動的信息采集元件。MPU6050六軸傳感器中既有陀螺儀與加速度傳感器,更在內(nèi)部嵌入了數(shù)字運動處理器DMP。數(shù)字運動處理器可以通過融合算法解出傳感器的姿態(tài)和四元數(shù),因此使用者不需要額外進行數(shù)字運算[2]。由數(shù)字運動處理器實現(xiàn)融合算法后,單片機便釋放了大量的運算資源。單片機只需要設(shè)置好外部中斷等待數(shù)字運動處理器傳送數(shù)據(jù)即可,這些數(shù)據(jù)即是用戶的手勢運動初始的信息。這樣以來,單片機有更多的資源與更多的時間來完成補償濾波算法濾波以及其他控制邏輯。
主控制無線發(fā)射設(shè)備使用的是STM32F401CCU型號微型控制單元,它擁有168MHz的主頻和高達210MIP的整數(shù)運算能力。完全符合空中鼠標(biāo)實時控制的要求,可以有效實現(xiàn)對初始手勢數(shù)據(jù)的實時處理。無線USB接受設(shè)備采用小型并且廉價的STM32F103C8T6型號微控制處理器。它接受NRF24L01發(fā)送的數(shù)據(jù)并通過USB協(xié)議將處理的數(shù)據(jù)發(fā)送給電腦來是實現(xiàn)對電腦的控制。
NRF24L01是一款新型單片射頻收發(fā)器件,工作于2.4GHz全球開放ISM頻段免許可證使用,最高工作頻率2Mbps,高效GFSK調(diào)制,抗干擾能力強,適于工業(yè)控制場合,126頻道,滿足多點通信和調(diào)頻通信需求;內(nèi)置硬件CRC檢錯和點對多點通信地址控制。NRF24L01通過SPI通信總線驅(qū)動,而STM32F103具備SPI接口,可直接通過其SPI1接口對NRF24L01進行驅(qū)動,設(shè)置無線收、發(fā)模式,實現(xiàn)對監(jiān)控數(shù)據(jù)的無線傳輸。STM32微控制器與NRF24L01的引腳連接關(guān)系如表1所示。
表1 STM32微控制器與NRF24L01的引腳連接關(guān)系
電源管理模塊是主控制無線發(fā)射設(shè)備的核心,它直接決定了成品的體積、重量以及用戶的使用體驗。我們采用XT582728型號的可充電鋰電池,它集成了過充保護電路,所以在設(shè)計電源電路時無需考慮過充電[2]的情況。電源管理模塊由三部分組成,充電電路、降壓電路與電源電壓采集電路。電源管理模塊原理圖如圖5所示。降壓電路利用CAT6219低壓差穩(wěn)壓電路,避免使用分立的元器件,包括電感、電容、二極管和MOS管,搭建傳統(tǒng)的降壓斬波電路。CAT6219的額定電流達到500mA,在負載電流和線電壓變化期間提供快速響應(yīng)時間。具有快速啟動特性,可以通過外接旁路電容來降低總輸出噪聲,同時又不會影響150μs的啟動時間。是設(shè)計低成本、輕重量設(shè)備的良好選擇。充電電路使用的是TP4507電源管理芯片。它是一款完整的單節(jié)鋰離子電池充電器,由于內(nèi)部采用了PMOSFET架構(gòu),加上防倒沖電路,所以不需要外部檢測帶你路和隔離二極管。因此,小型的SOT封裝與較少的外部元件使得TP4507特別適合用于便攜式設(shè)備。
本系統(tǒng)軟件設(shè)計的核心利用STM32完成對MPU6050六軸傳感器發(fā)送數(shù)據(jù)的處理。MPU6050六軸傳感器包含加速度計與陀螺儀兩個期間。加速度計用來檢測物體的加速度,但是取瞬時值計算傾角誤差比較大,捕獲一段時間的數(shù)據(jù)有助與降低傾角誤差;另一方面,陀螺儀在檢測物體的方位角信息時是不受物體加速度的影響,但是積分漂移和溫度漂移會隨著使用時間的增加而增大誤差。兩個傳感器的性質(zhì)是互補的,我們利用這樣的性質(zhì)設(shè)計出了補償濾波算法。
圖5 電源管理模塊原理圖
補償濾波算法是指以陀螺儀瞬時檢測的角度作為基準(zhǔn),定時對加速度采樣。采集數(shù)據(jù)的過程中,加速度計的高頻信號與陀螺儀的低頻信號是無關(guān)信號,需要在數(shù)據(jù)處理時濾除。之后通過平均處理來達到最終校正陀螺儀檢測到角度的目的[3]。
在實際設(shè)計的過程中,需要額外考慮按鍵中斷程序與數(shù)據(jù)發(fā)送中斷程序。相比于查詢的方式,中斷處理令單片機暫停正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的服務(wù)處理程序;當(dāng)服務(wù)處理程序運行完畢之后,CPU再返回到暫停處繼續(xù)執(zhí)行原來的程序。因此它保證了中斷程序運行的實行性,減少了主程序運行的負擔(dān)。
軟件的設(shè)計框圖如圖6所示。
圖6 軟件設(shè)計流程圖
本文在充分考慮到可穿戴式無線空中鼠標(biāo)體積、成本、精確度、平滑性等因素的基礎(chǔ)上,做了細致的研究、論證、設(shè)計、驗證和調(diào)試的工作。根據(jù)前期的調(diào)研和分析,結(jié)合空中鼠標(biāo)的特點,確定了系統(tǒng)硬件的總體設(shè)計方案。在Keil uVision4 MDK3.8A開發(fā)環(huán)境上進行了軟件系統(tǒng)的各個模塊設(shè)計。該方案實現(xiàn)的可穿戴式無線空中鼠標(biāo)具有較高的平滑性和穩(wěn)定性,能夠方便用戶在無距離的三維空間對電腦指針進行操作。在電腦指針的操控上還有一些需要改進的地方。電腦指針的移動的曲線呈現(xiàn)折線或是直角。因此,如何提高鼠標(biāo)指針移動的動態(tài)性能將是穿戴式無線空中鼠標(biāo)后續(xù)的研究方向。