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

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于微機電系統(tǒng)的無線鼠標方案

          基于微機電系統(tǒng)的無線鼠標方案

          作者: 時間:2011-08-24 來源:網(wǎng)絡 收藏

          本文引用地址:http://www.ex-cimer.com/article/202426.htm

            2.2 發(fā)射端

            加速度傳感器采集加速度信號,單片機通過軟件實現(xiàn)對加速度信號的二重積分而轉(zhuǎn)換為位移信號,經(jīng)編碼處理至藍牙發(fā)射芯片,通過天線將數(shù)據(jù)發(fā)射出去。

            2.2.1 加速度傳感器電路

            采用ADI的低成本、低功耗雙軸單片加速度傳感器 ,其可測量加速度范圍至少在 ±2g 以上 ,可以測量動態(tài)加速度(比如振動)和靜態(tài)加速度(比如重力加速度),其輸出的占空比是和加速度的大小成一定的線性關系,并且可以直接被單片機(MCU)采樣而不需模數(shù)轉(zhuǎn)換(ADC)。工作周期則可以簡單地通過RSET來調(diào)節(jié) ,范圍在0. 5m s到10m s之間。帶寬可以通過調(diào)節(jié)XFLT和管腳上的電容Cx和Cy來確定, 本中選用Cx=Cy= 0.10μF, 故,需要注意的是,加速度傳感器在平動時會在相應的方向產(chǎn)生與加速度相關的輸出,在轉(zhuǎn)動的時候也是如此 ,本中我們假設鼠標在水平面使用 ,因此我們只需要一片加速度傳感器就可以解決問題 ,加速度的大小可以通過 T1/ T2 = 11% 3A+ 50%這個線性比例關系獲得 其中 T1表示工作周期中高電平部分的長度 , T2表示整個工作周期的長度 , T1/ T2就是輸出占空比的大小,A 是加速度大小 ,而加速度的方向可以通過其正負性來判定。

            2.2.2 占空比輸出解碼

            對于每一個軸,傳感器的輸出電路把模擬信號轉(zhuǎn)變成占空比調(diào)制的數(shù)字信號,這樣就可以通過MCU 的定時/計數(shù)器解碼獲得加速度信息,其大小可以通過下式計算得到:

            由于每個器件存在差異,其 0g輸出和靈敏性會因為溫度、噪聲等原因而不同,為實現(xiàn)高精度測量,0g的偏移量和比例因子必須按照實際測量所得。本TA=25℃,VDD=3V,RSET=125KΩ,中測得:

            為了實現(xiàn)高精度測量,考慮到T2易受溫度漂移的影響,必須周期性地更新T2的平均值。一種新的改進型脈寬調(diào)制(PWM)解碼方法是通過占空比調(diào)制在X軸和Y軸使用相同的三角形參考波 ,使得每個周期中 T1的中點達到同步 ,這種方法能加快數(shù)據(jù)傳輸時間,也稱之為高速解碼,X軸和Y軸的占空比輸出如圖2所示。

          X軸和Y軸的占空比輸出

          圖2 X軸和Y軸的占空比輸出

            單片機軟件編程實現(xiàn)獲取加速度信息的流程圖如圖3所示。

          ADXL202E高速解碼技術流程圖

          圖3 ADXL202E高速解碼技術流程圖

           2.2.3 軟件實現(xiàn)獲取位移信號

            如何實現(xiàn)高精確度且易于編程的二重積分算法是把加速度信號轉(zhuǎn)換為位移信號的關鍵所在,用積分電路來實現(xiàn)二重積分的誤差較大,因此擬用軟件編程來實現(xiàn)二重積分的算法 ,并且先在 matlab環(huán)境下用動態(tài)系統(tǒng)的simulink模型模擬 FFT、辛普生公式等不同的積分算法 ,來進行算法的比較與選擇 ,通過加速度傳感器鼠標的 simulink模型對實際位移和軟件實現(xiàn)的位移信號進行比較,誤差控制在在0.5%以內(nèi),滿足鼠標設計要求。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();