薛娓娓 李娣娜 馬惠鋮
摘要:綠色健康的生活狀態(tài)被人們所日益接受,一款功能齊全的智能計步器可以有效地幫助人們及時關(guān)注自身健康狀況,并合理適量規(guī)劃運動強度,以達到科學鍛煉的目的。文中設計的智能計步器基于軸加速度傳感器、由單片機控制,外加輔助模塊共同實現(xiàn)。能顯示步數(shù)、里程,速度以及消耗的卡路里等運動參數(shù)。在多種環(huán)境下檢測,該智能計步器穩(wěn)定性好、反應速度快,誤差小,具有很強的實用價值。
Abstract: Green and healthy living conditions are accepted by people increasingly. A fully functional intelligent pedometer can effectively help people pay attention to their own health status in time, and plan exercise intensity in a reasonable amount to achieve the purpose of scientific exercise. The intelligent pedometer designed in this paper is based on the axis acceleration sensor, controlled by MCU, plus auxiliary module to achieve. It can show the number of steps and other sports parameters of mileage, speed and calories consumed. In a variety of environments, the intelligent for pedometer has good stability, fast reaction speed and small error, and has strong practical value.
關(guān)鍵詞:智能計步器;軸加速度傳感器;AT89C51;AT24C02
Key words: intelligent pedometer;axial acceleration sensor;AT89C51;AT24C02
中圖分類號:TP212? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1006-4311(2019)33-0162-03
0? 引言
隨著生活質(zhì)量的日益提高,人們更加關(guān)注自己的身體健康水平,而綠色健康的生活狀態(tài)被人們所日益接受。步行作為容易實現(xiàn)且環(huán)保的一種運動方式,備受各階層人士的青睞。為了有效地幫助人們及時關(guān)注自身健康狀況,并合理適量規(guī)劃運動強度,以達到科學鍛煉的目的,設計一款功能齊備的智能計步器很有必要。
計步器體積小,攜帶方便,可以掛在腰間或戴在手腕等位置,能實時采集人們運動參數(shù)并動態(tài)顯示,運動者獲得反饋信息后就能對自己的運動強度合理規(guī)劃,繼而實現(xiàn)科學鍛煉的目的。文中設計的智能計步器基于軸加速度傳感器、由單片機控制,外加輔助模塊共同實現(xiàn)。能顯示步數(shù)、里程,速度以及消耗的卡路里等運動參數(shù)。
1? 硬件電路設計
根據(jù)智能計步器的設計要求,要能顯示步數(shù)、里程、速度以及消耗的卡路里等運動參數(shù)。文中選用目前在人體運動特征參數(shù)采集中表現(xiàn)出色的軸加速度傳感器ADXL345,主控芯片選用使用廣泛且價格低廉的STC89C51,顯示模塊由LCD1602液晶器來完成,運動參數(shù)存儲選擇性價比高的AT24C02存儲芯片,外加按鍵電源等輔助電路模塊來完成硬件電路的設計。設計總體硬件框圖如圖1所示。
1.1 軸加速度傳感器模塊
智能計步器的關(guān)鍵就是正確計步數(shù),這就需要一款能精確檢測人體運動特征參數(shù)的傳感器。軸加速度傳感器ADXL345是一種微型,低功耗,高分辨率的加速度傳感器。它能在各種變化的環(huán)境下檢測靜態(tài)、動態(tài)加速度,以及水平方向的傾角變化等,人體在行走過程中會產(chǎn)生不同的加速度,利用這個特征就能滿足人行走或停止的區(qū)別檢測。
要通過軸加速度傳感器ADXL345實現(xiàn)計步,必須建立一個合理的參數(shù)模型來研究步行狀態(tài)。身體在運動過程中會有各個方向的加速度產(chǎn)生,文中選擇類似三維坐標軸(X,Y,Z)表示人體運動時三個方向的運動狀態(tài),三個坐標分別代表前向、縱向和側(cè)向,如圖2所示。
人完成一次步行過程時,身體的三個方向上的加速度會呈現(xiàn)一定的周期性,特別是縱向和前向加速度的變化與步行周期各時期變化有確定的關(guān)系。若將人步行一步定義為一個周期,在步行的時候,人四肢的活動最為顯著,手臂、腳、腰、腿運動都會產(chǎn)生其對應的加速度,而且會在某點達到峰值。主控單片機模塊接收軸加速度傳感器ADXL345檢測的加速度信號后經(jīng)過周期信號的整合,即通過軟件部分選擇合適算法來確定行走的步數(shù)。
若將軸加速度傳感器ADXL345傳輸回來的加速度信號還原成連續(xù)波形信號,如圖3所示。會發(fā)現(xiàn)人體步行時產(chǎn)生的信號高低交錯,時高時低,但有一定的周期性,精準統(tǒng)計這個周期即可實現(xiàn)計步。文中步行周期檢測采用“峰值檢測法”,即通過合理設定高低閾值來完成檢測。如設定上限閾值在線B處,下限閾值在線A處,當軸加速度傳感器ADXL345測量的處理數(shù)據(jù)先大于B閾值,緊接著回到A閾值時即判斷為有意義的一步,這樣就可以準確得檢測步數(shù)了。
1.2 主控單片機模塊
主控單片機模塊在整個設計中主要的作用有四個方面,第一:人機交互,完成使用者個性信息的錄入,信息形式簡單,通過鍵盤即可實現(xiàn);第二:編制軟件程序,通過對軸加速度傳感器采集的信息進行處理來完成步數(shù)的測定;第三:管理外部擴展的存儲器,確保數(shù)據(jù)正確存儲;第四:多種運動參數(shù)信息的顯示。
本文中選用宏晶科技有限公司的STC89C51單片機作為主控單片機模塊,它是一款廣泛應用的低功耗、高性能,價格低廉的8位單片機,通過外部擴展存儲器能完成計步器的設計要求,由單片機加外部存儲器的模式,不僅節(jié)約了設計成本,還擴展了系統(tǒng)應用的場合。
1.3 液晶顯示模塊
液晶顯示屏由于其集成度高、性能好、控制簡單、和單片機連接方便,被廣泛應用在基于單片機的各種實用設計中。本設計中需要顯示步數(shù)、里程、速度和卡路里等運動參數(shù),以獲得好的用戶體驗。由于顯示的信息基本是字符類信息,信息量不多,文中選擇LCD1602字符型液晶作為顯示模塊。LCD1602分兩行顯示,一行顯示16個字符,最多可以顯示出包括數(shù)字、字母、符號或者自定義字符在內(nèi)的32個字符,每個顯示字符由5*7的點陣組成,顯示效果好,能滿足智能計步器的顯示要求。
1.4 外部數(shù)據(jù)存儲模塊
本中選擇STC89C51單片機作為主控單片機模塊,其內(nèi)部的含有8KB的Flash,但是智能計步器要存儲用戶步行過程中的步數(shù)、速度、里程以及消耗的卡路里等信息,信息量多的時候單片機自帶的存儲容量就不夠用了。為了能正常存儲運動參數(shù)信息,并考慮速度和單片機匹配,以及和單片機連接時占用資源少等要求,本設計選擇AT24C02作為外部數(shù)據(jù)存儲模塊。AT24C02是一款操作簡單、靈巧方便且功耗低的一個E2PROM,具備專門的寫保護功能,可以保護用戶存儲的數(shù)據(jù),能通過I2C總線和單片機模塊進行連接,其他各項極限參數(shù)均符合設計要求。
1.5 按鍵電源等輔助電路模塊
電源模塊是設計中能讓電路運行起來的基本保障,為了簡化電路,現(xiàn)在基于單片機的各種實用設計中,直接采用直流移動電源方式供電,智能計步器中STC89C51單片機的工作電壓選擇在4.5~5.5V之間,在硬件電路上預留外接電源接口,連接5V直流移動電源就可以保證系統(tǒng)正常運行。
為了讓智能計步器更加精確的測量使用者的各項運動參數(shù),在使用時需要設置個性化參數(shù),為獲得良好的人機交互,本設計中利用按鍵來實現(xiàn),由于采用了部分按鍵功能組合的方法,實際用的到按鍵數(shù)目少,只需通過三個獨立按鍵即可實現(xiàn)良好的人機交互。
2? 軟件系統(tǒng)設計
本設計的智能計步器不但可以顯示使用者的步數(shù),還可以顯示速度,里程以及消耗的卡路里等。該設計主要通過軸加速度傳感器獲取信息后,通過軟件算法進行處理,并送硬件電路顯示,合理設計及優(yōu)化的程序很重要,接下來給出本設計中部分關(guān)鍵程序設計模塊的思路。
2.1 計步處理函數(shù)
智能計步器的關(guān)鍵就是精確的測量步數(shù),使用軸加速度傳感器獲取人體的三向加速度信息后,對加速度信息進行數(shù)據(jù)合成處理,再通過“峰值檢測法”來檢測步數(shù)。在步行過程中,人體重心的加速度主要由前向和縱向的兩個加速度分量合成,由于側(cè)向加速度在步行的過程中基本不變,忽略其對重心加速度的影響。合成后的重心加速度數(shù)據(jù)在步行過程中隨時間呈現(xiàn)明顯周期性的高低變化,但是每個周期內(nèi)或周期之間也存在一定幅值變化的其他加速度信息,這信息是一些干擾信息,會對計步數(shù)有影響,應該濾除掉。
利用“峰值檢測法”處理這樣的信息,使其脈沖化效果特別好,結(jié)合傳感器的重力加速度數(shù)據(jù)分布,參考大量的實際應用設計,以及多次反復的實驗,合理設置上下限閾值,將重力加速度信息脈沖化,繼而能準確獲得運動者的步行數(shù)。在獲取步行數(shù)后,利用物理學公式就可以通過簡單計算獲得里程,速度等運動信息。
2.2 消耗卡路里的計算
由于使用者的身高、體重不同,所以單位時間內(nèi)消耗的卡路里也會有所不同。在非專業(yè)生物指標測量的場合,通過計算可以獲得準確度較高的卡路里消耗值。本文中依據(jù)消耗卡路里和跑步速度的典型關(guān)系,對比市場上現(xiàn)有的卡路里測量儀器數(shù)據(jù),測量準確度較好。
給出計算過程如下:
依據(jù)消耗卡路里和跑步速度的典型關(guān)系得公式(1)
公式(1)中Cal是消耗的卡路里,V是速度,G是體重。
將跑步速度單位km/h轉(zhuǎn)換為m/s得公式(2)。
Cal參數(shù)每1秒更新一次,使用相同的距離和速度參數(shù)。由于1h=3600s,每個人的體重都有差異,將公式(2)轉(zhuǎn)換為公式(3)。
假若在實驗過程中停止行走或跑步,則步數(shù)和距離保持恒定,V=0km/h,此時Cal消耗可以通過公式(4)計算(休息時的卡路里消耗約為1C/kg/h)。
最終的總Cal消耗量是將所有1秒間隔的卡路里相加獲得。
3? 結(jié)論
實物在多種情況下測試,經(jīng)實測數(shù)據(jù)分析,在里程不限定的情況下,對比其他計步器,不同身高和體重的人的步數(shù)誤差很小,里程越長誤差越小;對比專業(yè)的卡路里消耗測試軟件,誤差基本在95%以內(nèi)。測試還發(fā)現(xiàn)該設計測量步數(shù)誤差主要來自使用者的體重和身高,身高較矮體重較輕的實驗者在一定的里程下行走的測量步數(shù)比真實步數(shù)稍多,身高較高體重較重的實驗者在一定的里程下行走的測量步數(shù)比真實步數(shù)稍少,誤差產(chǎn)生的原因主要是因為上下限閾值設定時沒有完全考慮個體差異而造成的。
文中基于軸加速度傳感器的智能計步器,由單片機控制,有顯示模塊、外部存儲模塊、電源及按鍵等輔助模塊。軟件部分采用“峰值檢測法”進行步數(shù)檢測,通過公式計算里程、速度,以及消耗的卡路里等參數(shù),硬件結(jié)構(gòu)完整,軟件算法選擇合理。在多種環(huán)境下檢測,該智能計步器穩(wěn)定性好、反應速度快,誤差小,具有很強的實用價值。
參考文獻:
[1]魏芬,鄧海琴.基于加速度傳感器的自適應采樣計步器設計[J].自動化技術(shù)與應用,2019:121-124.
[2]李雪梅,車愛靜,高煥明.基于加速度傳感器的計步器設計[J].山東工業(yè)技術(shù),2019:142,162.
[3]陳蔚.基于三軸加速度傳感器的計步器的設計[J].數(shù)字技術(shù)與應用,2018:181-183.
[4]苗子蕊,吉麗娜.健身計步器研究綜述[J].電腦知識與技術(shù),2018:263-264,266.
[5]趙華峰.單基于片機的三軸加速度計步器設計與實現(xiàn)[J].信息與電腦(理論版),2017.