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