- 基于加速度傳感器的計步器系統
- 來源:賽斯維傳感器網 發表于 2014/7/31
摘要:隨著手機功能的逐漸增多,在手機上實現一些與健康有關的功能也已成為一種熱點,例如計步器 功能可以根據計算人的運動情況來分析人體的健康狀況•而人的運動情況可以通過很多特性來進行分析比如人在運動時會產生加速度,因此采集到加速度數據以后加以適當的算法就可以實現計步功能. 設計了一款基于加速度傳感器ADXL340的計步器.詳細介紹了計步器的軟件算法的實現和硬件設計方 案•同時,該計步器系統上還具有USB接口,可與PC機進行高速數據傳輸.
關鍵詞:計步器;加速度傳感器;USB接口
手機在現代生活中的使用越來越為廣泛,其功能 也越來越多,如現在很多的手機都有MP3及照相功能, 有的還具有閃信和計步器功能。而手機要想實現閃信 和計步器這類功能,需要處理器能夠實現多路模擬輸 入、數據的實時處理等,原有的手機很難直接實現這 些功能,這就需要MCU配合完成其功能。本文將以計 步器為例,介紹了計步器的硬件設計和軟件算法的實 現。該計步器系統采用ADI的At>UC7026作為主控芯 片,采用ADXL340來采集加速度數據,最后通過USB 接口 4上位機進行高速數據傳輸。
1 計步器軟件算法的實現
人在行走或者跑步的時候,可通過很多特性來分析這種行為,本系統中利用了加速度特性來進行分析。
行走或者跑步過程中,人體的多處部位都在運動,它 們的運動會產生相應的加速度,加速度與時間大致成 為一個正弦曲線,且會在某點有一個峰值。因此利用 加速度傳感器來檢測運動的加速度,通過一定的算法可以計算步數,還可根據步幅進而估算所走的距離等。
為了達到準確性,在運動過程中,分析了3個不同方向的加速度數據:前向、縱向和側向(見圖1)。
圖1人體運動時加速度的3個方向Analog Devices公司的ADXL340芯片即為一個3 軸(A:軸、F軸、Z軸)的加速度傳感器可檢測出3個坐標軸的加速度變化,這3個軸正好可以分別代表人體運動時3個方向。圖2所示為ADXL340 檢測到的A:軸和K軸的加速度變化,由圖中可以看出, 加速度變化曲線(X軸)具有明顯的周期特性。
在任意時刻可以得到加速度傳感器采集來的3個 軸的加速度數據,利用適當的算法可計算此3個軸中 的哪個軸的加速度改變最大。由此來進行計步,模擬 行走的過程。當然,如果加速度的改變過小,可忽略。
圖2 X軸和y軸加速度變化曲線
具體算法如下:正常情況下可以假定如果是跑步. 人們每秒最多不會超過5步,如果為走路則最遲每兩 秒可以走1步。這就意味著.合理的計步器輸出范圍為0.5~5 Hz。這樣需要設計濾波器來對此范圍以外的 頻率進行濾波。在模擬電路部分,本研究采用5 Hz的 抗混疊帶寬來過濾髙頻噪聲;在數字電路部分,采用5 Hz截止頻率的FIR低通濾波器來過濾高頻噪聲。
圖3低通濾波器的頻率響應
另外,為了拋棄無效的振動,還采用了時間窗算 法,前面提到過,相鄰兩步之間的時間間隔必須在0.2~2 s這個時間窗范圍內。也就是說,需判定新檢測到 的一步與其前面相鄰的有效步之間的時間間隔是否處 于這個時間窗范圍之內.如果在此時間窗之外則認為此步無效。
此外,在軟件算法上還采用了通過設置動態參數 來提供一種自適應方法。其中,動態參數包括動態峰 峰值輸出,動態精度以及動態閾值。動態精度是用來 a化采樣數據以去除高頻的噪聲。軟件中設定了2個移位寄存器。其中一個寄存器用于保存新得到的加速度采樣值,根據動態峰峰值,可以確定動態閾值的大 小,當新得到一個加速度采樣值時,將其與新數據寄存器中的數值進行比較,當二者的差值的絕對值大于 絕對精度時,則新數據寄存器的值移位到舊數據寄存 器,而新得到的加速度值就可以移位到新數據寄存器; 當加速度變化值小于或者等于動態精度時,此變化值被拋棄,新數據寄存器保持不變。舊數據寄存器則不斷 的更新采樣的數據。
圖4動態參數算法的示意圖
為了保證數據的準確性,在算法中還設定了一個 計步校準值,開始時假定系統處于査詢狀態,當有效 步值大于此計步校準值后,系統進入正式計步狀態, 此后系統開始計步。
經過上述算法以后,可以看到圖6為行走時前向 的加速度波形分析a。
圖7所示為前向原始采樣加速度數據和經過處理 后的加速度數據的比較。
圖8和圖9分別為人體跑步時前向加速度波形分 析以及跑步時前向加速度的原采樣數據和經過處理后 的加速度數據的比較。
2 硬件實現
圖10所示為硬件設計的模塊圖。本設計中選用的 ADXL340包括ADC,則從傳感器采樣得到的數據不 必再專門選用芯片來做模數轉換,傳感器芯片本身可 以直接將數據處理成為8位的二進制數據,并經過SPI 總線或者I²C總線傳給MCU。
經過MCU處理過的數據可以通過USB接口高效 地傳給上位機系統,基于USB接口的數據采集系統可 以采取多種不同的方案。本設計采用內置USB接口的 微處理器芯片,也就是具備USB接口的單片機來實現。 此類單片機處理速度完全可以達到USB的速度,設計和調試比較簡單,電磁兼容性好,器件成本和設計開發成本都比較低廉。
圖6行走時前向加速度波形分析
圖8跑步時前向加速度波形分析
圖9跑步時原始加速度和處理后數據的比較
圖10硬件模塊圖
CY7C68013 是 CYPRESS 公司在 2000 年 11 月推 出的世界第1塊USB2.0功能設備芯片,完全適用于 USB2.0,并向下兼容USB1.1,其內置增強型.8051微 控制芯片。3種可編程端點;控制傳輸的SETUP和 DATA緩沖區是分幵的;多達40個通用I/O口。它提 供了一個基于RAM的軟解決方案,允許無限制地配置 與升級。另外,CY7C68013使用的是智能型的SIE (串行接口引擎),能夠執行所有的USB枚舉過程,通過 預設的端點和可選的設置創建一個缺省的USB設備, 這樣,就可以將USB的固件存儲在主機上,而不必存 入USB芯片中,大大減輕了固件的工作,簡化了固件 的編程。集成〖2C兼容的控制模塊,在USB設備接入 主機后,USB是根據外部I2C總線接口上的一個串行 EkOM中進行配置的。
在硬件設計過程中,需要重點注意一下問題:與標準USB接口連接時,CY7C68013的DPLUS和 DMINUS引腳要通過22Ω電阻與USB接口的D+和D-兩根數據線連接,實現阻抗匹配。
3 結論
介紹了利用人運動時產生加速度變化來檢測步數 的計步器實現方案,利用具有體積小,功耗低,三軸高精度加速度傳感器ADXL340,芯片內部即可把數據 采集來的數據處理為數字數據,同時芯片中還集成了 SPI和12C接口,可以方便地將數據傳輸到主控芯片。 該系統設計簡單,實現方便。該芯片也可以擴展到其 它需要測量加速度的應用場合,具有廣闊的應用前景。(作者:蘇麗娜,董金明,趙琦)
轉載請注明來源:賽斯維傳感器網(www.sensorway.cn)