基于雙軸加速度傳感器的新型角度測量系統設計
2.2 ADXL202測角度工作原理
本文引用地址:http://dyxdggzs.com/article/267017.htmADXL202水平放置時(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將加速度信號轉換為脈寬占空比輸出,STM32F107接收這個(gè)數字脈沖信號,利用STM32F107的輸入捕獲功能來(lái)測量脈沖信號的高電平脈寬。然后,計算出高電平脈寬的準確時(shí)間T1,由式(2)得到X、Y方向上的加速度分量A(g)。最后,由式(4)(5)分別求出芯片在水平狀態(tài)或垂直狀態(tài)下的傾角。
3數據處理模塊
STM32F107采用的是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)文章:加速度計原理
評論