杜波等


摘 要:為了滿足人們的健身需求,設計一種以單片機為核心的簡易計步器,利用三軸加速度傳感器采集人體運動中的加速度信號,利用卡爾曼濾波對信號進行處理,并對濾波后的加速度信號進行整合和分析,從而對人體運動的“一步”進行判斷,從而實現計步功能。系統配有日歷時鐘電路,可提供時間信息。根據步數可計算距離、速度和卡洛里等相關參數,通過顯示器和語音進行輸出,其系統結構簡單,價格低廉,滿足計步需求。
關鍵詞:計步器;加速度傳感器;AT89S52;卡爾曼濾波
引言
伴隨經濟的快速發展,人們生活水平不斷提高,導致肥胖的人越來越多,也帶來了許多健康問題。而快節奏的生活使人們沒有那么多的時間去運動,因此需要一種簡易的鍛煉手段。計步器是一種日常鍛煉的輔助設備,簡便易用,在工作、生活中可隨時監測人們的運動,受到人們的普遍歡迎。目前市場上的計步器分為機械式和電子式兩種,機械式不夠精準,而電子式往往價格昂貴。設計一種簡易的計步器,實現計步功能,價格低廉,可計算跑步時或走步時的步數、距離、速度、運動的卡洛里參數。具有存儲功能,人們可對自己的運動狀態進行長期監測。
1 設計方案
整個系統由控制器、加速度傳感器、鍵盤、顯示器、外部存儲芯片和時鐘芯片構成,通過加速度傳感器對人體運動中的加速度信號進行采集,經過單片機的分析處理,整理出運動步數,并計算出距離、速度、卡洛里等相關信息。外接時鐘芯片和存儲芯片,提供日期和時間信號,并對數據進行存儲。并配有鍵盤顯示電路和語音提示電路,系統框圖如圖1所示。
2 硬件設計
簡易計步器硬件系統采用Atmel公司的AT89S52作為控制器,整個硬件系統主要可分為三大部分:采集電路、人機交互電路和其他電路。
2.1 采集電路設計
系統主要采集信號是人體運動過程當中的加速度信號,采用傳感器MPU6050,它集成了3軸MEMS 陀螺儀和3軸MEMS的運動處理加速度傳感器。具有I2C接口,加速器感測范圍為±2g、±4g±8g與±16g,具有最高至400kHz的I2C或最高達20MHz的SPI接口。模塊內部自帶電壓穩定電路,可以兼容3.3V/5V的嵌入式系統,使與控制器連接方便。圖2位MPU6050的三維方向示意圖,MPU6050與AT89S52接口電路采用I2C接口方式。
2.2 人機交互電路設計
人機交互電路包括鍵盤、顯示電路和語音電路,主要提供計步器與外部的信息交換。鍵盤采用獨立式按鍵,電路簡單。顯示電路采用液晶傳感器,LCD1602顯示模塊是字符型,能夠顯示字母和數字,以及符號等點陣。LCD1602的接口方式有并行和串行兩種方式,設計采用并行方式。系統除了提供液晶顯示以外,還提供語音輸出功能,方便人們在達到運動中得到及時的提示。語音芯片采用ISD1820,ISD1820供電電壓為直流3-5V,可實現10秒鐘的語音錄放,并具有循環播放,點動播放,單邊播放功能,并可用單片機控制。首先搭建語音按鍵控制電路,利用按鍵和麥克對語音進行錄制,然后將按鍵控制電路改為單片機控制的語音電路。
2.3 其他電路設計
其他電路包括時鐘電路和外部存儲電路。為了準確的提供日期和時間,系統外接時鐘電路,采用DS1302,DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V,采用三線接口與CPU進行同步通信。
系統每次對人體運動中的加速度信號進行采集和分析,得到運動的步數,并通過軟件計算相關數據,如距離、速度、運動卡路里,以及本次運動的日期和時間等數據,這些數據將被存儲在外部數據存儲器當中,可通過按鍵對以往數據進行調用和顯示。外部存儲芯片采用AT24C02,這是一個2K串行CMOS E2PROM,內部含有256個8位字節,I2C接口并具有一個專門的寫保護功能。
3 軟件設計
3.1 采樣頻率設定
根據資料顯示,人行走的頻率一般在110步/min(1.8Hz)[1],跑步時的頻率不會超過5Hz,因此系統選擇100Hz的采樣率,可以比較準確地反映加速度信號的變化。
佩戴加速度傳感器,使傳感器的X軸指向正前方,Y軸指向豎直向上,Z軸指向右方,采集加速度信號如圖3所示。從波形圖中可以明顯看出人在走步時的脈動。
3.2 數據分析
不同的人行走會有不同加速度大小的輸出,傳統方法是采用一軸最大加速度輸出為有效的輸出[2]。從采集數據波形上直接分析步數并不是很明顯,因此首先采用卡爾曼濾波對數據進行處理,然后對濾波后的三軸加速度進行合成。
a=■ (1)
合成后,合成加速度a的波形圖如圖4所示,與圖3相比較,波形脈動情況更加清晰。系統的計步功能啟動后,有一個初始過程,在此過程中,記錄運動者的合成加速度信號的峰值并存儲,然后開始利用略低于峰值的值作為閾值,對“一步”進行判斷,每一步都有從下往上和從上往下經過閾值的過程,判斷出一次此過程,計一步,從而實現計步功能。時鐘芯片提供時間,通過相應運算,可計算得到距離、速度、卡路里等參數。
3.3 軟件流程
根據設計思路,繪制軟件流程圖如圖5所示,編寫軟件程序,實現系統功能。
4 結束語
簡易計步器以AT89S52單片機為核心,對人體運動中的加速度信號進行采集和定位,經卡爾曼濾波處理后,對加速度信號進行合成,通過對合成信號的分析,對“一步”進行判斷,從而實現計步功能。并可進一步計算距離、速度、卡洛里等參數,通過液晶顯示器和語音電路進行信息提示,并可將參數信息進行存儲,同時系統配有按鍵功能,方便人們對存儲數據進行提取,方便對自身的運動情況進行長期觀測。簡易計步器方便人們在日常工作和生活中進行鍛煉,其體積小,價格低廉,具有實用性。
參考文獻
[1]尚亮,周先國,韓新紅.基于Labview 的加速度傳感器運動信息采集平臺設計[J].計算機測量與控制,2009(9):1790-1792.
[2]張軍建.基于三軸加速度傳感器的體位突變檢測研究[D].山東:山東師范大學,2014.
[3]張團善,何穎.卡爾曼濾波在兩輪自平衡代步車姿態檢測中的應用[J].單片機與嵌入式系統應用,2014(5):33-35.
[4]InvenSense Inc. MPU-6000 and MPU-6050 Product Specification Revision 3.2.pdf. www.invensense.com, 2011:7.