基于微加速度傳感器的無線鼠標的設計
ATmega16L微控制器
ATmega16是Atmel公司生產的基于增強的AVR RISC結構的低功耗8位CMOS微控制器,本文選用ATmega 16L微控制器,可以滿足系統要求,且存在比較大的擴展性。
無線收發器件
本文采用Nordic半導體公司的nRF2401射頻收發器來實現位移數據的無線傳輸。因為nRF2401的優異性能非常適合無線鼠標的設計,并且,其內置的多點通信控制可以為系統提供很大的擴展空間。nRF2401為2.4 GHz全球開放頻段產品,采用0.18μm工藝設計。
系統和算法的Matlab模擬
AD公司給出了ADXL203微加速度傳感器的Simulink模型(參見AD公司主頁),本文以此為基礎,構建了基于該微加速度傳感器的無線鼠標系統模型,如圖3所示。
圖3 無線MEMS鼠標系統的Simulink模型
其中,方框內的子系統模型即是封裝好的ADXL203微加速度傳感器模型。模型最后將采樣的加速度值存入文件中,然后,通過編程來模擬微控制器中運行的不同積分算法,用Matlab來圖示各個算法的模擬結果,對于系統算法的比較和選擇有很大幫助。
上文通過假設每一次加速度采樣間隔內鼠標做勻加速度運動,提出了一種二次積分的近似算法,便于編程實現,可以利用鼠標系統的Simulink模型,結合編程模擬該算法,來考察它的精確性。
程序取采樣周期為1ms,發送周期為25ms,最后,Matlab模擬的結果如圖4和圖5所示。
由圖4和圖5中可以看出:由于該二次近似積分算法作了很大的簡化,再加上加速度傳感器的噪聲干擾和信號延遲、A/D轉換的誤差等多方面的因素,當鼠標位移較大時,存在一些誤差。但當鼠標位移在12cm以內時,精確度是非常理想的,這足以滿足鼠標的一般應用,更大的移動距離可以通過改變二次積分的算法來實現。
光電和滾輪式鼠標的分辨力通常用dots per inch (DPI)來表示,即每英寸(2.54cm)的點數,它表示鼠標在物理表面上每移動1英寸(約2.54cm),光學傳感器所接收到的坐標點數。由于光學引擎中CMOS矩陣的像素密度和透鏡的放大倍數限制,常見光電鼠標的分辨力一般在200~400DPI。對于MEMS鼠標,可以用鼠標每移動1英寸(2.54 cm)對加速度采樣的次數來表示分辨力的大小。
MEMS鼠標中微控制器對加速度的最大采樣速率可以達到15000次/秒,本文只需采用1000次/秒時,取鼠標1s移動的位移為10cm,則鼠標的分辨力便達到了1000×2.54/10=254DPI,已經達到了常見鼠標的分辨力,并且,更高的分辨力可以通過提高加速度的采樣速率來實現,理論上,最大值可以達到15000/1000×254=3810DPI,遠遠高于一般光學鼠標的分辨力。
圖4 X軸的鼠標實際位移與模擬位移對照圖
圖5 Y軸的鼠標實際位移與模擬位移對照圖
結束語
本文詳細討論了基于微加速度傳感器的MEMS無線鼠標的軟件、硬件設計和系統構成,并給出了Matlab環境下系統的simulink模型和算法,模擬的結果證明:無線鼠標的設計是合理可行的,文中提出的二次積分近似算法是簡捷有效的;文中討論的二維鼠標的設計技術,能為進一步研究多維多功能的MEMS輸入設備打下很好的基礎。本文選擇硬件時,充分考慮了系統向多維和多功能擴展的可能性,可以在此二維鼠標的基礎上再添加一些器件,構成功能更多更完善的MEMS輸入設備,例如:可以再添加一個微加速度傳感器來感測Z軸的加速度,從而實現三維鼠標,可以實現對三維立體旋轉等的控制;也可以利用nRF2401射頻收發器內置的多點通信控制的特性,再多增加幾個接收模塊,可以同時控制多臺主機,或多增加幾個發射模塊,用幾個輸入設備來控制同一臺主機,以適應不同應用場合的需要。
傳感器相關文章:傳感器工作原理
風速傳感器相關文章:風速傳感器原理
評論