《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 基于微加速度傳感器的無線鼠標的設(shè)計
基于微加速度傳感器的無線鼠標的設(shè)計
摘要: 研究基于微加速度傳感器的無線鼠標的設(shè)計,討論了MEMS無線鼠標的軟件、硬件設(shè)計和系統(tǒng)組成,給出了Matlab環(huán)境下系統(tǒng)的模型和算法。模擬結(jié)果說明:無線鼠標的設(shè)計是合理可行的,提出的二次積分近似算法是簡捷有效的。
Abstract:
Key words :

  摘要:研究基于微加速度傳感器無線鼠標的設(shè)計,討論了MEMS無線鼠標的軟件、硬件設(shè)計和系統(tǒng)組成,給出了Matlab環(huán)境下系統(tǒng)的模型和算法。模擬結(jié)果說明:無線鼠標的設(shè)計是合理可行的,提出的二次積分近似算法是簡捷有效的。

  引 言

  微機械加速度傳感器是一種典型的微機電系統(tǒng)(microelectromechanical system,MEMS),在航空、航天、汽車等領(lǐng)域已得到了越來越廣泛的應(yīng)用,但基于MEMS微加速度傳感器技術(shù)的無線輸入設(shè)備的研究和應(yīng)用還不是很多,微加速度傳感器用于輸入設(shè)備的潛在優(yōu)勢還沒有得到很好的應(yīng)用。

  鼠標是最常用的電腦輸入設(shè)備,隨著PDA、筆記本、可穿戴式電腦等便攜設(shè)備的流行,傳統(tǒng)的鼠標已經(jīng)滿足不了移動辦公的需要?,F(xiàn)有的滾輪式或光電式鼠標都需要一個平坦的工作表面,且自身的體積也比較大。而基于微加速度傳感器的無線鼠標則完全沒有這個限制,它可以自由自在的在空中移動來控制電腦;可以做得很小,便于攜帶,可以靈活地應(yīng)用于各種場合,例如:可以做成供殘疾人使用的頭戴式鼠標,供講演者使用的移動式鼠標等。

  國外和港臺地區(qū)有一些單位正在開展這方面的研究,例如:香港中文大學(xué)Lam等人提出了一種基于微加速度傳感器的虛擬鍵盤鼠標系統(tǒng)(MIDS),能同時具備鼠標和鍵盤的功能;Prince在他的專利中提出了一種輸入設(shè)備的方案,用連在手指上的壓力傳感器來感測手指的動作,從而控制電腦輸入;英國伯明翰大學(xué)Humphreys等人研制了一種三維鼠標,利用回轉(zhuǎn)儀可以控制電腦屏幕上三維立體的旋轉(zhuǎn)。本文采用美國AD公司成熟的微加速度傳感器ADXL203,并集成Nordic半導(dǎo)體公司最新的射頻收發(fā)器nRF2401和Atmel公司的ATmega16L微控制器,開發(fā)新一代基于微加速度傳感器技術(shù)的MEMS無線鼠標,探索微加速度傳感器在輸入設(shè)備上的應(yīng)用技術(shù),并為進一步研究多維多功能的MEMS無線輸入設(shè)備打下基礎(chǔ)。

  系統(tǒng)原理與設(shè)計

  檢測原理

  目前,常見的鼠標有2種,滾輪式和光電式。滾輪式鼠標是靠滾輪的傳動帶動X和Y軸上的譯碼輪轉(zhuǎn)動,來感測鼠標位移的變化;光電式鼠標是用一個自帶光源的光電傳感器,跟隨鼠標的移動連續(xù)記錄它途經(jīng)表面的“快照”,這些快照(即幀)有一定的頻率、尺寸和分辨力,而光電鼠標的核心——DSP通過對比這些快照之間的差異從而識別移動的方向和位移量,并將這些位移的信息加以編碼后實時地傳給電腦主機。

  而基于MEMS技術(shù)的無線鼠標是用微加速度傳感器實時測量鼠標運動的加速度,經(jīng)過兩次積分轉(zhuǎn)換為位移信號傳輸給主機,來控制光標的移動,從而實現(xiàn)鼠標的功能。

  硬件設(shè)計

  如圖1所示,整個無線鼠標系統(tǒng)分為2個子系統(tǒng),遠端子系統(tǒng)和主機端子系統(tǒng)。

無線鼠標系統(tǒng)結(jié)構(gòu)框圖

圖1 無線鼠標系統(tǒng)結(jié)構(gòu)框圖

  遠端子系統(tǒng)由微加速度傳感器、微控制器和nRF2401射頻收發(fā)器組成。微加速度傳感器采用美國AD公司生產(chǎn)的ADXL203微傳感器,微控制器采用Atmel公司生產(chǎn)的ATmega 16L微控制器,該微控制器附帶有8路10位可編程的A/D轉(zhuǎn)換電路,可以實時地將ADXL203加速度傳感器輸出的加速度模擬信號轉(zhuǎn)換成加速度數(shù)字信號。

  ADXL203加速度傳感器在加速度為0時輸出電壓為2.5V,為提高A/D轉(zhuǎn)換的精度,本文利用ATmega 16L內(nèi)置的差分放大功能,用差分信號將這2.5V電壓給濾掉,并將差分后的電壓信號放大到與A/D轉(zhuǎn)換的參考電壓相匹配。系統(tǒng)供電采用電器中常見的9V電池,連接一個LM78M05穩(wěn)壓貼片得到恒定的5V電壓,供各個模塊使用。

  主機端子系統(tǒng)由nRF2401射頻收發(fā)器,串行傳輸接口芯片和另一個ATmega 16L微控制器組成,其中,RS232串行通信接口芯片采用的是Maxim2IC公司的MAX233芯片,作用是將微控制器輸出的5V TTL/CMOS電平轉(zhuǎn)換為EIA/TIA-232-E電平,以便與電腦主機進行串行(RS232)通信。

  軟件與算法設(shè)計

  鼠標在人的操縱下移動,微加速度傳感器便會實時地輸出鼠標運動的加速度大小和方向,ADXL203傳感器的量程為±1.7gn ,電壓靈敏度為1000mV/gn,這個電壓信號經(jīng)過差分放大5.0/1.7倍后,通過微控制器A/D轉(zhuǎn)換功能變成與加速度大小對應(yīng)的數(shù)字信號,加速度經(jīng)過兩次積分,便變成了鼠標移動的位移信號,然后,再經(jīng)過編碼,并通過nRF2401射頻收發(fā)器將位移信號發(fā)射出去。

  當(dāng)加速度傳感器輸出電壓為a時,經(jīng)A/D轉(zhuǎn)換得到的數(shù)字量大小為

數(shù)字量大小

  式中[ ]表示取整數(shù);a為加速度傳感器輸出的電壓大小,V。ATmega 16L單片機最大采樣速率可以達到15000次/秒,本文采用1000次/秒;即每1ms采樣一次,每25ms便向電腦報告一次相對的位移改變量,以保證屏幕上鼠標指針運動的精確和平滑,則每一次報告的位移改變量包含25次對加速度采樣的數(shù)據(jù)。可以采用近似算法來對加速度信號進行二次積分,得到位移信號。

   編碼的目的是將X和Y方向的位移改變量,連同鼠標按鍵的實時信息,按照標準的Microsoft鼠標協(xié)議要求的格式進行編碼,以便最后發(fā)送到主機的信息能夠被電腦正確識別,從而使電腦能正確處理發(fā)送給它的位移信號,來正確控制鼠標光標的移動等動作。表1表示的即是標準的鼠標協(xié)議規(guī)定的三字節(jié)數(shù)據(jù)包格式,第1個字節(jié)記錄的是左右按鍵的信息和鼠標X,Y位移的最高2個字位的數(shù)據(jù),按鍵按下時,對應(yīng)的位置1,否則,置0;第2和第3個字節(jié)分別記錄X和Y方向位移的低6位數(shù)據(jù)。位移值的范圍取-127~+127,再大的位移改變量會自動溢出。

表1 Microsoft標準鼠標協(xié)議數(shù)據(jù)包格式

Microsoft標準鼠標協(xié)議數(shù)據(jù)包格式

  系統(tǒng)的基本組件

  MEMS微加速度傳感器

  本文采用美國AD公司生產(chǎn)的電容式微加速度傳感器ADXL203,如圖2所示,該加速度傳感器是利用各向異性刻蝕、陽極鍵合等硅整體加工工藝在硅材料上制造出來的,并在同一個基片上集成一些外圍電路,對輸出的加速度信號進行放大調(diào)制等處理后,可以同時在X 軸和Y軸2個方向輸出精確的加速度信號。

ADXL203加速度傳感器原理圖

圖2 ADXL203加速度傳感器原理圖

  ATmega16L微控制器

  ATmega16是Atmel公司生產(chǎn)的基于增強的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器,本文選用ATmega 16L微控制器,可以滿足系統(tǒng)要求,且存在比較大的擴展性。

  無線收發(fā)器件

  本文采用Nordic半導(dǎo)體公司的nRF2401射頻收發(fā)器來實現(xiàn)位移數(shù)據(jù)的無線傳輸。因為nRF2401的優(yōu)異性能非常適合無線鼠標的設(shè)計,并且,其內(nèi)置的多點通信控制可以為系統(tǒng)提供很大的擴展空間。nRF2401為2.4 GHz全球開放頻段產(chǎn)品,采用0.18μm工藝設(shè)計。

  系統(tǒng)和算法的Matlab模擬

  AD公司給出了ADXL203微加速度傳感器的Simulink模型(參見AD公司主頁),本文以此為基礎(chǔ),構(gòu)建了基于該微加速度傳感器的無線鼠標系統(tǒng)模型,如圖3所示。

無線MEMS鼠標系統(tǒng)的Simulink模型

圖3 無線MEMS鼠標系統(tǒng)的Simulink模型

  其中,方框內(nèi)的子系統(tǒng)模型即是封裝好的ADXL203微加速度傳感器模型。模型最后將采樣的加速度值存入文件中,然后,通過編程來模擬微控制器中運行的不同積分算法,用Matlab來圖示各個算法的模擬結(jié)果,對于系統(tǒng)算法的比較和選擇有很大幫助。

  上文通過假設(shè)每一次加速度采樣間隔內(nèi)鼠標做勻加速度運動,提出了一種二次積分的近似算法,便于編程實現(xiàn),可以利用鼠標系統(tǒng)的Simulink模型,結(jié)合編程模擬該算法,來考察它的精確性。

  程序取采樣周期為1ms,發(fā)送周期為25ms,最后,Matlab模擬的結(jié)果如圖4和圖5所示。

  由圖4和圖5中可以看出:由于該二次近似積分算法作了很大的簡化,再加上加速度傳感器的噪聲干擾和信號延遲、A/D轉(zhuǎn)換的誤差等多方面的因素,當(dāng)鼠標位移較大時,存在一些誤差。但當(dāng)鼠標位移在12cm以內(nèi)時,精確度是非常理想的,這足以滿足鼠標的一般應(yīng)用,更大的移動距離可以通過改變二次積分的算法來實現(xiàn)。

  光電和滾輪式鼠標的分辨力通常用dots per inch (DPI)來表示,即每英寸(2.54cm)的點數(shù),它表示鼠標在物理表面上每移動1英寸(約2.54cm),光學(xué)傳感器所接收到的坐標點數(shù)。由于光學(xué)引擎中CMOS矩陣的像素密度和透鏡的放大倍數(shù)限制,常見光電鼠標的分辨力一般在200~400DPI。對于MEMS鼠標,可以用鼠標每移動1英寸(2.54 cm)對加速度采樣的次數(shù)來表示分辨力的大小。

  MEMS鼠標中微控制器對加速度的最大采樣速率可以達到15000次/秒,本文只需采用1000次/秒時,取鼠標1s移動的位移為10cm,則鼠標的分辨力便達到了1000×2.54/10=254DPI,已經(jīng)達到了常見鼠標的分辨力,并且,更高的分辨力可以通過提高加速度的采樣速率來實現(xiàn),理論上,最大值可以達到15000/1000×254=3810DPI,遠遠高于一般光學(xué)鼠標的分辨力。

X軸的鼠標實際位移與模擬位移對照圖

圖4 X軸的鼠標實際位移與模擬位移對照圖

Y軸的鼠標實際位移與模擬位移對照圖

圖5 Y軸的鼠標實際位移與模擬位移對照圖

  結(jié)束語

  本文詳細討論了基于微加速度傳感器的MEMS無線鼠標的軟件、硬件設(shè)計和系統(tǒng)構(gòu)成,并給出了Matlab環(huán)境下系統(tǒng)的simulink模型和算法,模擬的結(jié)果證明:無線鼠標的設(shè)計是合理可行的,文中提出的二次積分近似算法是簡捷有效的;文中討論的二維鼠標的設(shè)計技術(shù),能為進一步研究多維多功能的MEMS輸入設(shè)備打下很好的基礎(chǔ)。本文選擇硬件時,充分考慮了系統(tǒng)向多維和多功能擴展的可能性,可以在此二維鼠標的基礎(chǔ)上再添加一些器件,構(gòu)成功能更多更完善的MEMS輸入設(shè)備,例如:可以再添加一個微加速度傳感器來感測Z軸的加速度,從而實現(xiàn)三維鼠標,可以實現(xiàn)對三維立體旋轉(zhuǎn)等的控制;也可以利用nRF2401射頻收發(fā)器內(nèi)置的多點通信控制的特性,再多增加幾個接收模塊,可以同時控制多臺主機,或多增加幾個發(fā)射模塊,用幾個輸入設(shè)備來控制同一臺主機,以適應(yīng)不同應(yīng)用場合的需要。

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