<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于雙軸加速度傳感器的新型角度測量系統設計

基于雙軸加速度傳感器的新型角度測量系統設計

作者: 時(shí)間:2014-12-18 來(lái)源:網(wǎng)絡(luò ) 收藏

  2.2 ADXL202測角度工作原理

本文引用地址:http://dyxdggzs.com/article/267017.htm

  ADXL202水平放置時(shí)的傾角如圖5所示。

  ADXL202水平放置時(shí),沿X軸和Y軸方向的加速度分量大小與重力的關(guān)系為:

  AX=g.sin(α),AY=g.sin(β) (3)

  式中,AX、AY分別代表加速度計的兩個(gè)軸上的分量輸出,g是以重力作為參考的加速度值,而α、β是傾斜角度。由反正弦函數即可以得到傾斜角度為:

  α=sin-1(AX/g),β=sin-1(AY/g) (4)

  

 

  圖5 ADXL202水平放置時(shí)的傾角

  ADXL202垂直放置時(shí)的傾角如圖6所示。

  

 

  圖6 ADXL202垂直放置時(shí)的傾角

  加速度在豎直初始位置時(shí),沿X軸和Y軸方向的加速度分量大小與重力的關(guān)系為:

  γ=sin-1(AX/g),δ=sin-1(AY/g) (5)

  此角度測量?jì)x的工作原理是:ADXL202將加速度信號轉換為脈寬占空比輸出,F107接收這個(gè)數字脈沖信號,利用F107的輸入捕獲功能來(lái)測量脈沖信號的高電平脈寬。然后,計算出高電平脈寬的準確時(shí)間T1,由式(2)得到X、Y方向上的加速度分量A(g)。最后,由式(4)(5)分別求出芯片在水平狀態(tài)或垂直狀態(tài)下的傾角。

  3數據處理模塊

  F107采用的是ARM Cortex—M3內核,工作電壓為3.3 V,時(shí)鐘頻率達到72 MHz.該芯片系統資源和外圍接口豐富,內部集成專(zhuān)用時(shí)鐘、復位以及電源管理模塊,支持多種工作模式。由于STM32F107芯片的性能、成本和功耗方面的特點(diǎn),選擇它作為數據處理模塊。更重要的是STM32F107的定時(shí)器除了TIM6和TIM7,都有輸入捕獲功能。

  3.1輸入捕獲功能應用于角度測量的工作原理

  以TIM2定時(shí)器實(shí)現輸入捕獲功能為例。TIM2有4個(gè)獨立通道,通過(guò)檢測TIM2_CH1通道上的邊沿信號,在邊沿信號發(fā)生跳變(比如上升沿/下降沿)的時(shí)候,將當前定時(shí)器的值存放到TIM2_CH1的捕獲/比較寄存器里面,完成一次捕獲。這就是STM32F107所具有的輸入捕獲功能。

  將ADXL202的Xout、Yout引腳輸出接到STM32F107的34、35引腳(PA0、PA1)上,由STM32F107的原理圖可知,34、35引腳控制TIM2_CH1和TIM2_CH2兩個(gè)通道。用TIM2_CH1來(lái)捕獲Xout的數字方波信號的高電平脈沖,首先配置此通道的輸入捕獲為上升沿檢測。當檢測到上升沿時(shí),進(jìn)入中斷將計數器清零重新開(kāi)始計數,并配置通道的輸入捕獲為下降沿捕獲;當檢測到下降沿時(shí),進(jìn)入中斷讀取計數器的值,由計數值和計數頻率可得到高電平的脈寬,即T1.然后通過(guò)以下兩個(gè)公式:

  A(g)=(T1/T2-0.5)/12.5% (6)

  α=sin-1(Ax/g),β=sin-1(AY/g) (7)

  計算得出當前的傾角,之后將結果傳輸給液晶顯示屏顯示結果。式中T2=1 ms.此處僅討論芯片水平放置時(shí)的情況,當芯片垂直放置時(shí),用式(5)即可。

  3.2采集和處理數據的方法

  ADXL202有兩路輸出信號Xout、Yout,而且它們是同時(shí)工作的,而STM32F107是順序處理器,一個(gè)時(shí)間點(diǎn)上只能處理一路信號。我們采用分時(shí)復用的方法解決,以1 s為時(shí)間點(diǎn),在這1 s內,STM32F107只采集處理一條通道內的信號和數據,到下一秒時(shí)就采集處理另一條通道上的信號和數據。還應該注意一個(gè)問(wèn)題,計數器在檢測到上升沿時(shí)開(kāi)始計數,等下降沿到來(lái)停止計數的時(shí)間內,脈寬過(guò)長(cháng)時(shí)計數器會(huì )發(fā)生溢出,所以必須記錄下溢出次數。在最后計算計數器的值時(shí),將溢出次數乘以計數器的寬度加上當前計數器的值,即為總的計數值。

伺服電機相關(guān)文章:伺服電機工作原理


風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理
電流變送器相關(guān)文章:電流變送器原理
加速度計相關(guān)文章:加速度計原理


關(guān)鍵詞: 傳感器 STM32 Cortex-M3

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>