龐 晶 牟為華
隨著社會的發展,人們越來越注重自己的健康,跑步成為一種方便而又有效的鍛煉方式。但是如何知道自己跑了多少步,多遠的路程?計步器可以幫助人們實時掌握鍛煉情況。它的主要功能是檢測步數,通過步數和步幅可計算行走的路程。步幅信息可通過行走固定的距離如20m來計算或是直接輸入,高級的計步器還可以計算人體消耗的熱量。但這些計算的主要依據是步數的檢測。下面介紹一種加速度傳感器ADXL202在步數檢測中的應用。
計步器原理
要實現檢測步數首先要對人走路的姿態有一定了解。行走時,腳、腿、腰部,手臂都在運動,它們的運動都會產生相應的加速度,并且會在某點有一個峰值。從腳的加速度來檢測步數是最準確的,但是考慮到攜帶的方便,我們選擇利用腰部的運動來檢測步數。如圖1所示,行走時腰部有上下的垂直運動,每步開始時會有一個比較大的加速度,利用對加速度的峰值檢測可以得到行走的步數。


圖2是將計步器佩戴在腰間采集到的垂直加速度曲線圖,從圖上可以清楚地看出有四個峰值,代表行走了四步,說明利用腰部的垂直加速度來檢測步數是可行的。
根據資料顯示,人行走的垂直加速度在±1g之間(1g為9.8m/s即重力加速度),考慮到還有重力加速度的影響,可選擇測量范圍在±2g之間的加速度傳感器ADXL202來實現計步器。ADXL202是美國AD公司的一種低功耗、二維加速度傳感器,輸出如圖3所示占空比(T1/T2)與加速度成一定比例的數字信號,因此信號可以直接用單片機的計數器來測量,無需AD轉換電路或是其它特殊電路。

硬件設計
計步器的整機原理框圖如圖4所示,ADXL202采集加速度信息并將數據送到單片機進行處理;單片機控制整個系統的工作并從數據中檢測出步數送到LCD進行顯示;外部控制按鍵進行開關機控制以及功能選擇等。
本文不對電源轉換、LCD顯示等電路做詳細介紹,重點介紹ADXL202芯片的電路設計。ADXL202可以輸出X、Y兩路信號,由于我們只測量垂直方向上的加速度,只用一路信號即可,需要注意的是,設計PCB時要擺放好芯片位置,保證使用時此路與水平面垂直。從圖5可以看出ADXL202的電路設計并不復雜,在使用時我們要得到有用的信號需要設定它的采樣頻率和采樣帶寬。上述兩個量是由電路圖中的電阻Rset和電容Cx的取值所決定的。

采樣頻率過低,不能準確反應數據的變化情況;過高則引入很多無用信息,增加了系統運算量,需要根據實際情況選擇合適的采樣頻率。根據資料顯示,人行走的頻率一般在110步/分鐘(1.8Hz),跑步時的頻率不會超過5Hz,選擇100Hz的采樣頻率可以比較準確地反應加速度變化。1/T2即為數據的采樣頻率,計算方法為T2=RSET(Ω)/125MΩ。RSET的范圍可從500kΩ~2MΩ,這里我們選擇RSET=1.25MΩ,采樣頻率為100Hz。
濾波帶寬定義為需要檢測的最高頻率, 由濾波電容Cx設定,帶寬的設定會影響噪聲的大小和分辨率。從附表中可以看出,帶寬越小,噪聲就越小,而分辨率會越高,減小濾波帶寬對減小噪聲和提高分辨率都是有利的。但是,圖2的數據曲線中越尖的地方含有的高頻分量就越多,濾波帶寬減小,采集到的數據曲線就變光滑,峰值相應變小,這對我們進行峰值檢測是不利的。因此我們折中取濾波帶寬50Hz,根據公式F-3dB=1/(2π(32kΩ×C(x,y))計算,Cx選擇0.10μF。

設定了采樣頻率和濾波帶寬,按芯片手冊連好電路圖,應該得到如圖3所示的數據波形,此時T2為10ms。
軟件設計
根據得到的X軸數據通,過軟件處理可以獲得我們需要的加速度信息。
加速度的計算公式如下:

一般情況下0g(即加速度為零)時的占空比為50%,1g時的占空比為12.5%,則A(g)=(T1/T2-0.5)/0.125。
從芯片手冊上可以看出0g時的占空比芯片個體差異很大,從25%~75% 都有可能,要準確地計算加速度必須對0g和1g時的占空比進行校準。另外,計算加速度需要進行兩次除法運算。以上兩個因素使加速度的獲取需要經過復雜的計算,考慮到我們的最終目的是檢測加速度的峰值個數,而對加速度的具體值究竟是多少并不關心,T1完全可以反應加速度的變化趨勢,因此選擇對T1進行測量和檢測峰值即可得到我們所需的步數。

T1的測量可利用單片機的中斷和計數器來實現。如圖3所示,在上升沿Ta時刻開始計數,下降沿Tb時刻停止計數,讀取數據并將計數器清零等待下一次上升沿再次開始計數。得到T1的數據,通過單片機進行峰值檢測就可以確定步數。
峰值的檢測通過門限判斷實現。判斷門限的選擇非常關鍵,選擇偏高會造成漏判;而偏低會造成誤判。單一門限要實現準確的判斷并不是很容易,解決的方法是如圖6所示選擇兩個門限A和B,當數據大于門限B并且接下來變化小于門限A時判為一步,這樣可以有效地排除干擾影響。

結語
本文介紹了利用人行走時腰部產生的加速度變化來檢測步數的計步器實現方案,利用加速度傳感器ADXL202設計簡單,實現方便。該芯片也可以擴展到其它需要測量加速度的應用場合,具有廣闊的應用前景。