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