李月婷,,姜成旭
?。ㄙF州大學 大數(shù)據(jù)與信息工程學院,貴州 貴陽 550025)
摘要:智能產(chǎn)品中計步功能已成為標配功能,。根據(jù)運動三軸傳感器LIS3DH設計了可放置于任何產(chǎn)品的智能計步器,,主要對硬件系統(tǒng)設計、算法實現(xiàn)和軟件設計進行研究,。其加速度采集模塊以三軸傳感器LIS3DH作為運動數(shù)據(jù)的檢測模塊,,其數(shù)據(jù)處理模塊對LIS3DH三軸加速度傳感器信息進行處理,通過數(shù)字濾波去除其他干擾信號的影響,,利用加速度變化的正弦函數(shù)的特殊值采集實現(xiàn)計步功能,,最后通過算法計算出人體運動步數(shù);當連續(xù)運動時間不足計步算法規(guī)定時,,將進入睡眠模式計算,。實驗結果表明,本設計具有功耗低,、準確度高,、結構簡單的特點,能夠提供高精度的計步功能,。
關鍵詞:計步器; 加速度傳感器; 顯示終端,;高精度
0引言
智能穿戴產(chǎn)品走進人們的生活,計步成為智能穿戴產(chǎn)品中的必備功能,,本文設計的計步器不僅適用于手環(huán),,同時適用于其他智能穿戴產(chǎn)品。本設計主要采用LIS3DH三軸運動傳感器,,其具有體積小,、功耗低和精度高的優(yōu)點,經(jīng)過算法和軟件設計的處理,,可以濾除三軸傳感器數(shù)據(jù)雜波,,得到的數(shù)據(jù)將更加精準,實時數(shù)據(jù)經(jīng)計步算法處理后再經(jīng)過藍牙模塊傳送給遠程APP,,方便使用者查看動態(tài)數(shù)據(jù)和卡路里的消耗,。本文主要研究內(nèi)容:首先進行硬件系統(tǒng)設計,其中包括微處理模塊,、加速度采集模塊,、mbed技術、藍牙模塊和電源模塊;然后進行算法實現(xiàn)與軟件設計,,完成計步算法設計和手機APP設計,;其次根據(jù)數(shù)字濾波,將三軸傳感器得到的數(shù)據(jù)進行濾波,,去除干擾雜質(zhì)[1];最后通過計步算法計算出運動行走步數(shù),,通過藍牙模塊把數(shù)據(jù)傳輸?shù)绞謾CAPP上,。
1硬件系統(tǒng)設計
硬件模塊主要包括微處理器模塊nRF51、運動信息采集模塊LIS3DH三軸傳感器,、藍牙模塊CC2540,、電源模塊和mbed開發(fā)環(huán)境。硬件系統(tǒng)框圖如圖1所示,。
1.1微處理器模塊
計步器采用的微處理器模塊nRF51單片機具有多引腳和小封裝的特點,,適用于超低功耗無線應用。nRF51單片機存在于各種數(shù)字電子產(chǎn)品中,,在沒有CPU參與的情況下,,可與周邊產(chǎn)品通過軟件系統(tǒng)進行互動。nRF51支持 Dynastream Innovations 的嵌入式 S210 ANT 協(xié)議堆棧及 2.4 GHz協(xié)議堆棧,。nRF51需要單獨供電,,若供電范圍在1.8 V~2.1 V時,采用芯片上的線性整流器,;若供電范圍在2.1 V~3.6 V時,,采用直流1.8 V模式芯片上的DCDC變壓器。
1.2加速度信息采集模塊
本文采用ST公司的三軸加速度傳感器LIS3DH,,可精確地測量出人行走時的運動狀態(tài),。傳感器作為檢測裝置,其三軸傳感器主要是讀取人體運動數(shù)據(jù)信息,,并將讀到的信息以一定的規(guī)律變換成本設計需要的電信號并進行輸出,,同時可以滿足此過程中的數(shù)據(jù)存儲、數(shù)據(jù)處理,、數(shù)據(jù)傳輸,、數(shù)據(jù)顯示的要求[2]。三軸運動傳感器LIS3DH具有3個軸加速度數(shù)字的輸出,,可三維感知人體行走過程中的信息,,安放三軸傳感器的位置應由三軸傳感器數(shù)據(jù)輸出的特性和人體的運動特性共同決定。通常手腕上的智能穿戴產(chǎn)品會根據(jù)人行走的運動狀態(tài)來實時讀取人的運動信息,,x,、y軸的數(shù)據(jù)變化無規(guī)律性,z軸會呈現(xiàn)出周期性的變化,,這樣可通過算法計算出人行走的步數(shù),。
1.3mbed技術
本文設計主要應用了mbed的開發(fā)環(huán)境,,其是面向ARM處理器的平臺,主要包括軟件庫,、硬件庫和處理工具3部分內(nèi)容,。其中軟件庫在mbed環(huán)境下,屏蔽了不同微處理器之間的差異,,同時也可以使用不同ARM微處理器,,相當于硬件抽象層;硬件庫可為整體設計提供參考設計和程序下載接口,,還包括單步調(diào)試接口和串口調(diào)試接口,,方便設計中的測試過程,應用于軟件開發(fā)中,;處理工具主要是指程序編譯,、代碼編寫和版本調(diào)試等方面的工具。
1.4藍牙模塊
本設計中主要采用了CC2540藍牙模塊,,其具有睡眠模式和超低功耗模式的轉變,,符合低功耗的需要。此藍牙模塊應用廣泛,,與智能穿戴產(chǎn)品進行數(shù)據(jù)傳輸,,是解決低成本效益下單模式的低功耗藍牙解決方案,它將微控制器,、主機端及應用程序整合在一個元件上[3],。CC2540藍牙模塊結合主控制芯片,連接傳感器得到的數(shù)據(jù),,建立一個快閃記憶結構體,,快速、低功耗地進行數(shù)據(jù)傳輸,,來得到穩(wěn)定信號,。
1.5電源模塊
LM2596電源模塊是集成電路,頻率為150 kHz,,內(nèi)部具有多線性和負載調(diào)節(jié)功能,,可穩(wěn)定輸出驅(qū)動電流和小于37 V的各種電壓,設置穩(wěn)定電壓輸出時,,誤差范圍僅在±4%范圍內(nèi),,當有穩(wěn)定電流待機時,可實現(xiàn)外部斷電,,同時在異常情況下斷電時,,該模塊具有自我保護功能。
2算法實現(xiàn)與軟件設計
在單片機端進行計步算法處理,軟件設計分為單片機端的計步算法程序設計和手機端的APP程序設計,。
2.1計步算法設計
該計步算法流程如圖2所示,。人在行走過程中,可把該計步器放置在手腕上,,在三軸傳感器讀取人體運動信息時,,x、y軸信息變化沒有規(guī)律,,z軸如同單擺一樣擺動,,如圖3所示,會呈現(xiàn)出周期性的變化,。采集人體運動信息時會受到人體抖動的干擾,首先利用數(shù)字濾波,,有效消除使系統(tǒng)產(chǎn)生誤判的干擾信號[4],。
數(shù)字濾波的具體算法如下:
#define N 12
char filter()
{
char count i ,j;
char value_buf[N];
int sum=0;
for(count=0;count<N;count++)
{
value_buf[count]=get_ad();
delay();
}
for(j=0;j<N-1;j++)
{
for(i=0;i<N-1;i++)
{
if(value_buf>value_buf[i+1])
{
temp=value_buf;
value_buf=value_buf[i+1];
value_buf[i+1]=temp;
}
}
}
for(count=1;count<N-1;count++)
sum+=value[count];
return(char)(sum/(N-2));
}
通過多人實驗得出,人體行走過程中,,1 s中人的步伐最快不能超過5步,,最慢不能少于半步,根據(jù)人的行走步數(shù),,可以將行走頻率設定為0.5 Hz~5 Hz,也就是人體行走過程中,,步與步之間的時間間隔在0.2 s~2 s,不在此時間間隔內(nèi),,設定為無效,。通過三軸傳感器LIS3DH讀取出坐標位置,將其轉換成x,、y和z三軸上的加速度值[5],,將讀取的3個軸的值代入式(1),可得到各個軸的電壓值:
可以根據(jù)產(chǎn)品使用情況,,設定零加速度的電壓值,,此電壓值相當于加速度為0 g。通過加速度傳感器得出此時的電壓值,,計算相對于0 g時電壓值的偏移量,。本設計設定0 g電壓值VzeroG=1.65 V,實時計算出相對于0 g電壓值的偏移量公式(2):
通過計算得出了加速度計的電壓值,,需要把此時電壓值轉換成加速度值,,轉換過程中需要引入加速度計的靈敏度,通常單位取為mV/g,。取加速度計的靈敏度為Sensitivity=478.5 mV/g=0.478 5 V/g,。通過計算求出單位為g的加速度,如式(3):
綜合整理三軸加速度坐標轉換為加速度值如下所示:
令三軸角度分別為Axr、Ayr,、Azr,。觀察由R和Rx、Ry,、Rz組成的直角三角形:
其中如圖4所示,。求出正向弦之后,看是否出現(xiàn)sin(Azr)=1,當連續(xù)出現(xiàn)次數(shù)大于3次時,,進入計步狀態(tài),,否則返回繼續(xù)讀取三軸坐標值。
2.2手機端APP的設計
手機APP在藍牙模塊下與硬件系統(tǒng)連接,,主要功能是儲存人體運動信息,。手機APP用于人機交互,通過藍牙通信與后臺服務器之間進行儲存數(shù)據(jù)的信息交互[6],。圖5為APP功能框架,。系統(tǒng)啟動時,首先設定個人信息,,包括年齡,、身高、性別和體重等,,手機APP界面是控制硬件系統(tǒng)的主界面,,通過藍牙模塊連接,可控制硬件系統(tǒng)進入計步狀態(tài),,及時更新和顯示硬件系統(tǒng)記錄的運動信息,,顯示消耗的卡路里,并可分享到其他軟件以及將這些信息存儲在數(shù)據(jù)庫中,;鬧鈴設置主要是對手機APP進行鬧鈴設置,,包括久坐提醒、起床鬧鈴和喝水提醒,,可隨時讓使用者管理自己的身體健康,;為了讓使用者方便觀察,可通過APP查看當天的行走步數(shù),;數(shù)據(jù)庫主要存儲人的基本信息和運動信息,,使用者可以根據(jù)天數(shù)或次數(shù)進行查詢,同時可以切換到詳細信息的模式中[7],。
3實驗測試
為了驗證計步的精準度,,由8人組成的測試小組分別行走100步。行走過程中,,每個人的走路習慣不同,,不定性因素手臂前后擺動的幅值不同,,實驗通過人實際行走的步數(shù)與軟件顯示步數(shù)進行比較,從而計算出準確率,。硬件系統(tǒng)的操作結果如表1所示,。由實驗結果得出,該計步器的計步準確率極高,。
4結論
本設計主要應用于智能穿戴產(chǎn)品中,,可與其他智能模塊進行融合,方便放置于智能穿戴產(chǎn)品中,,在對空間和功耗有嚴格要求的情況下,,都可以實現(xiàn)正常工作。使用的計步算法真實有效,,在不同的頻率下,,行走的步數(shù)可以達到很高的精準度,同時可以讓使用者方便地在手機APP上觀看到行走的步數(shù)和消耗的卡路里信息,,因此可以方便用戶管理自己的身體健康,。
參考文獻
[1] 王淑華.MEMS傳感器現(xiàn)狀及應用[J].微納電子技術,2011,,48(8):516-522.
[2] 宋浩然,,廖文帥,,趙一鳴. 基于加速度傳感器 ADXL330 的高精度計步器[J]. 傳感器學報,2006,,19(4):26-29.
?。?] 許睿.行人導航系統(tǒng)算法研究與應用實現(xiàn)[D]. 南京: 南京航空航天大學,2008.
?。?] 蘇麗娜,,董金明,趙琦.基于加速度傳感器的計步系統(tǒng)[J].測控技術,,2007,,26(10): 163-165.
[5] LIM Y P, BROWN I T, KHOO J C T. An accurate and robust gyroscopebased pedometer[C]. 30th Annual International IEEE EMBS Conference, 2008: 4587-4590.
?。?] 韓文正,馮迪,李鵬,,等.基于加速度傳感器 LIS3DH的計步器設計[J].傳感器與微系統(tǒng),2012, 31(11):97-99.
[7] 張紅北,趙曉軍,李瑞,等.基于Android的遠程醫(yī)療監(jiān)測系統(tǒng)設計[J].微型機與應用,2015, 34 (19):64-66,70.