基于MMA8452Q加速度傳感器的計步器設(shè)計
引腳INT1和INT2可以配置成“推挽”或“開漏”輸出方式,即可以“高電平有效”也可以“低電平有效”。如果被配置成“開漏”輸出方式并且外帶上拉電阻,該引腳就被設(shè)置為“低電平有效”,剛好與8051單片機的外部中斷信號吻合。
本文引用地址:http://www.ex-cimer.com/article/249451.htm計步器設(shè)計將中斷引腳INT1與“運動檢測”事件綁定在一起,當人體邁步時垂直加速度開始增加,當達到預(yù)定的閾值時,中斷申請信號發(fā)出,通知控制器讀取當前加速度值,經(jīng)進一步分析確定是否是有效計步信號。中斷使用的關(guān)鍵是合理閾值的確定。
該傳感器在靜止時顯示一個g(重力加速度),當人體運動時,運動加速度與重力加速度疊加。傳感器可以輸出12位二進制加速度值,該數(shù)值是有符號數(shù),正數(shù)的最大值為7FFH。本計步器量程選擇的是2 g,傳感器靜止時感受重力加速度為g,所以顯示數(shù)值為3FFH。通過實驗獲取了大量的數(shù)據(jù),分析每邁一步加速度的變化情況。選取加速度值大于g的數(shù)據(jù)為研究對象,將它們顯示的數(shù)據(jù)轉(zhuǎn)化為十進制數(shù)。3FF對應(yīng)的十進制數(shù)是1023,對應(yīng)的加速度為g。從而得出1個LSB所對應(yīng)的加速度值為0.000 98 g。我們試驗程序采集的數(shù)據(jù)如表1所示,數(shù)據(jù)表明每走一步,可以收到2~3組數(shù)據(jù),其中至少有一組超過1.1g,表中帶下劃線的數(shù)據(jù)為超過1.1 g的加速度值。
當試驗人員原地晃動時,得到的10組加速度值如表2所示。
經(jīng)過對人行走、跑步、晃動等加速度變化的分析,綜合考慮選取1.1 g為加速度閾值。在MMA8452Q傳感器中有一個閾值寄存器,數(shù)值范圍為0~127,閾值最低分辨率為0.063 g/LSB。1.1 g/0.063 g=17.46.四舍五入到18,所以閾值寄存器中送閾值12H。
2.2 軟件抗干擾方法
2.2.1 時間窗口的限制
利用傳感器自身的濾波和閾值中斷的方法,能夠減少頻率較低、幅度較小的干擾,但是仍然會有誤計數(shù)的可能,特別是多計數(shù)。需要采取軟件抗干擾濾波方法,進一步濾除無用信號。根據(jù)圖2所示垂直加速度的信號波形,兩次峰值是有時間間隔的,根據(jù)資料顯示,人行走的頻率一般在110步/分鐘(1.8 Hz),跑步時的頻率不會超過5 Hz。如果選擇1~5 Hz,對應(yīng)的時間間隔是1 000~200毫秒。利用定時中斷記錄兩次外部中斷時間間隔,如果在有效范圍內(nèi),則為有效計步一次,否則無效。
實際上正常行走的任一段時間內(nèi),步頻的變化都會集中在峰值頻率附近的一個小范圍內(nèi),而不是0.5~5 Hz這么寬。由于每個人的步頻是不同的,可以采用下述的自標定方法得到個人步頻的峰值頻率和變動范圍,再采用時間窗口的限制,檢測的準確度更高。
2.2.2 自標定方法
計步器配置了兩個按鍵:“直接計步按鍵”、“自標定按鍵”。如果計步器工作后直接按下“直接計步按鍵”,計步器按1~5Hz的行走頻率設(shè)置時間窗口,并按這個參數(shù)進行數(shù)據(jù)分析。如果計步器工作后先按下“自標定按鍵”,則進入自標定過程。連續(xù)行走10步,每走1步要同時按下“自標定按鍵”一次。計步器會記錄10次的時間間隔ti(i=0~9),求出平均值Tp,及偏差vi=|ti-Tp|(i=0~9).南此確定個人的行走頻率范圍,并利用時間窗口的限制進行數(shù)據(jù)分析,可以得到較高的準確度。
2.2.3 計步器主要程序流程圖
計步器的主程序流程圖如圖4所示,外部中斷流程圖如圖5所示。開始工作后首先進行初始化、顯示初始界面,然后等待按鍵信號。如果按下“直接計步鍵”,則使能外部事件中斷,等待外部中斷的到來。當MMA8452Q加速度傳感器檢測到外界加速度大于所設(shè)閾值,將會產(chǎn)生中斷信號,單片機進入中斷程序后,讀取傳感器的加速度數(shù)據(jù),并讀取自上一次外部中斷后的時間間隔,如果時間間隔在有效區(qū)間內(nèi),則本次數(shù)據(jù)有效,計步數(shù)據(jù)加1,并將計時單元清零,為下一次中斷做準備。
如果先按下“自標定鍵”,則先進入自標定過程(如前所述),然后再按下“直接計步鍵”,則按照自標定過程獲得的步頻參數(shù)進行數(shù)據(jù)分析。
定時中斷程序比較簡單,單純的計時供計步分析使用,這里不再贅述。
在傳感器的初始化中,配置MMA8452Q為運動檢測方式,包括如下步驟:
1)使傳感器進入待機模式;2)使能垂直方向運動檢測和鎖存;3)設(shè)定運動檢測閾值;4)設(shè)置去抖計數(shù)器以消除虛假讀數(shù);5)啟用系統(tǒng)中的運動/自由落體中斷功能;6)將傳感器切換到主動模式。表3中列出了配置MMA8452Q的運動檢測或自由落體檢測的重要寄存器。
3 結(jié)論
文中介紹了基于MEMS加速度傳感器MMA8452Q的計步器設(shè)計方案,充分利用該傳感器對模擬信號檢測的濾波處理能力,配合軟件抗干擾措施,通過檢測人行走時腰部產(chǎn)生的垂直加速度變化,實現(xiàn)間接檢測步數(shù)的目的。該設(shè)計硬件簡單,實現(xiàn)方便。試驗結(jié)果表明:能夠較好地適應(yīng)不同步頻情況,計步精度較高,穩(wěn)定性好。
模擬信號相關(guān)文章:什么是模擬信號
濾波器相關(guān)文章:濾波器原理
濾波器相關(guān)文章:濾波器原理
傳感器相關(guān)文章:傳感器工作原理
風速傳感器相關(guān)文章:風速傳感器原理 高通濾波器相關(guān)文章:高通濾波器原理 加速度計相關(guān)文章:加速度計原理
評論