基于傳感器的角度測量系統(tǒng)設(shè)計(jì)
![](http://editerupload.eepw.com.cn/fetch/20161101/338597_2_0.jpg)
引腳連接的規(guī)范:13、14是兩個(gè)電壓輸入引腳VDD,直接與5 V電源連接,同時(shí)連接退耦電容CDC,推薦使用0.1μF;4、7是兩個(gè)接地引腳COM,直接接地;2腳VTP保持開路,不與其他任何引腳相連;3腳ST是自檢輸入端,當(dāng)接VDD時(shí)能檢查加速度計(jì)的功能,平時(shí)該引腳開路,也可與COM相連。引腳配置如圖3所示。
![](http://editerupload.eepw.com.cn/fetch/20161101/338597_2_1.jpg)
圖3 ADXL202引腳配置
根據(jù)芯片的引腳配置圖和以上的各類配置,可以設(shè)計(jì)角度檢測模塊的硬件電路,其電路原理如圖4所示,其脈沖輸出端直接與STM32F107的I/O口相連。
![](http://editerupload.eepw.com.cn/fetch/20161101/338597_2_2.jpg)
圖4 角度采集原理圖
2.2 ADXL202測角度工作原理
ADXL202水平放置時(shí)的傾角如圖5所示。
ADXL202水平放置時(shí),沿X軸和Y軸方向的加速度分量大小與重力的關(guān)系為:
AX=g·sin(α), AY=g·sin(β) (3)
式中,AX、AY分別代表加速度計(jì)的兩個(gè)軸上的分量輸出,g是以重力作為參考的加速度值,而α、β是傾斜角度。由反正弦函數(shù)即可以得到傾斜角度為:
α=sin-1(AX/g),β=sin-1(AY/g) (4)
![](http://editerupload.eepw.com.cn/fetch/20161101/338597_2_3.jpg)
圖5 ADXL202水平放置時(shí)的傾角
ADXL202垂直放置時(shí)的傾角如圖6所示。
![](http://editerupload.eepw.com.cn/fetch/20161101/338597_2_4.jpg)
圖6 ADXL202垂直放置時(shí)的傾角
加速度傳感器在豎直初始位置時(shí),沿X軸和Y軸方向的加速度分量大小與重力的關(guān)系為:
γ=sin-1(AX/g), δ=sin-1(AY/g) (5)
此角度測量儀的工作原理是:ADXL202將加速度信號(hào)轉(zhuǎn)換為脈寬占空比輸出,STM32F107接收這個(gè)數(shù)字脈沖信號(hào),利用STM32F107的輸入捕獲功能來測量脈沖信號(hào)的高電平脈寬。然后,計(jì)算出高電平脈寬的準(zhǔn)確時(shí)間T1,由式(2)得到X、Y方向上的加速度分量A(g)。最后,由式(4)(5)分別求出芯片在水平狀態(tài)或垂直狀態(tài)下的傾角。
3 數(shù)據(jù)處理模塊
STM32F107采用的是ARM Cortex—M3內(nèi)核,工作電壓為3.3 V,時(shí)鐘頻率達(dá)到72 MHz。該芯片系統(tǒng)資源和外圍接口豐富,內(nèi)部集成專用時(shí)鐘、復(fù)位以及電源管理模塊,支持多種工作模式。由于STM32F107芯片的性能、成本和功耗方面的特點(diǎn),選擇它作為數(shù)據(jù)處理模塊。更重要的是STM32F107的定時(shí)器除了TIM6和TIM7,都有輸入捕獲功能。
3.1 輸入捕獲功能應(yīng)用于角度測量的工作原理
以TIM2定時(shí)器實(shí)現(xiàn)輸入捕獲功能為例。TIM2有4個(gè)獨(dú)立通道,通過檢測TIM2_CH1通道上的邊沿信號(hào),在邊沿信號(hào)發(fā)生跳變(比如上升沿/下降沿)的時(shí)候,將當(dāng)前定時(shí)器的值存放到TIM2_CH1的捕獲/比較寄存器里面,完成一次捕獲。這就是STM32F107所具有的輸入捕獲功能。
將ADXL202的Xout、Yout引腳輸出接到STM32F107的34、35引腳(PA0、PA1)上,由STM32F107的原理圖可知,34、35引腳控制TIM2_CH1和TIM2_CH2兩個(gè)通道。用TIM2_CH1來捕獲Xout的數(shù)字方波信號(hào)的高電平脈沖,首先配置此通道的輸入捕獲為上升沿檢測。當(dāng)檢測到上升沿時(shí),進(jìn)入中斷將計(jì)數(shù)器清零重新開始計(jì)數(shù),并配置通道的輸入捕獲為下降沿捕獲;當(dāng)檢測到下降沿時(shí),進(jìn)入中斷讀取計(jì)數(shù)器的值,由計(jì)數(shù)值和計(jì)數(shù)頻率可得到高電平的脈寬,即T1。然后通過以下兩個(gè)公式:
A(g)=(T1/T2-0.5)/12.5% (6)
α=sin-1(Ax/g), β=sin-1(AY/g) (7)
計(jì)算得出當(dāng)前的傾角,之后將結(jié)果傳輸給液晶顯示屏顯示結(jié)果。式中T2=1 ms。此處僅討論芯片水平放置時(shí)的情況,當(dāng)芯片垂直放置時(shí),用式(5)即可。
評(píng)論