李月婷,姜成旭
?。ㄙF州大學 大數(shù)據與信息工程學院,,貴州 貴陽 550025)
摘要:智能產品中計步功能已成為標配功能。根據運動三軸傳感器LIS3DH設計了可放置于任何產品的智能計步器,,主要對硬件系統(tǒng)設計,、算法實現(xiàn)和軟件設計進行研究。其加速度采集模塊以三軸傳感器LIS3DH作為運動數(shù)據的檢測模塊,,其數(shù)據處理模塊對LIS3DH三軸加速度傳感器信息進行處理,,通過數(shù)字濾波去除其他干擾信號的影響,利用加速度變化的正弦函數(shù)的特殊值采集實現(xiàn)計步功能,,最后通過算法計算出人體運動步數(shù),;當連續(xù)運動時間不足計步算法規(guī)定時,將進入睡眠模式計算。實驗結果表明,,本設計具有功耗低,、準確度高、結構簡單的特點,,能夠提供高精度的計步功能,。
關鍵詞:計步器; 加速度傳感器; 顯示終端;高精度
0引言
智能穿戴產品走進人們的生活,,計步成為智能穿戴產品中的必備功能,,本文設計的計步器不僅適用于手環(huán),同時適用于其他智能穿戴產品,。本設計主要采用LIS3DH三軸運動傳感器,,其具有體積小、功耗低和精度高的優(yōu)點,,經過算法和軟件設計的處理,,可以濾除三軸傳感器數(shù)據雜波,得到的數(shù)據將更加精準,,實時數(shù)據經計步算法處理后再經過藍牙模塊傳送給遠程APP,,方便使用者查看動態(tài)數(shù)據和卡路里的消耗。本文主要研究內容:首先進行硬件系統(tǒng)設計,,其中包括微處理模塊,、加速度采集模塊、mbed技術,、藍牙模塊和電源模塊,;然后進行算法實現(xiàn)與軟件設計,完成計步算法設計和手機APP設計,;其次根據數(shù)字濾波,,將三軸傳感器得到的數(shù)據進行濾波,去除干擾雜質[1],;最后通過計步算法計算出運動行走步數(shù),,通過藍牙模塊把數(shù)據傳輸?shù)绞謾CAPP上。
1硬件系統(tǒng)設計
硬件模塊主要包括微處理器模塊nRF51,、運動信息采集模塊LIS3DH三軸傳感器,、藍牙模塊CC2540、電源模塊和mbed開發(fā)環(huán)境,。硬件系統(tǒng)框圖如圖1所示,。
1.1微處理器模塊
計步器采用的微處理器模塊nRF51單片機具有多引腳和小封裝的特點,適用于超低功耗無線應用,。nRF51單片機存在于各種數(shù)字電子產品中,,在沒有CPU參與的情況下,,可與周邊產品通過軟件系統(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ù)據信息,,并將讀到的信息以一定的規(guī)律變換成本設計需要的電信號并進行輸出,,同時可以滿足此過程中的數(shù)據存儲、數(shù)據處理,、數(shù)據傳輸,、數(shù)據顯示的要求[2]。三軸運動傳感器LIS3DH具有3個軸加速度數(shù)字的輸出,,可三維感知人體行走過程中的信息,,安放三軸傳感器的位置應由三軸傳感器數(shù)據輸出的特性和人體的運動特性共同決定。通常手腕上的智能穿戴產品會根據人行走的運動狀態(tài)來實時讀取人的運動信息,,x,、y軸的數(shù)據變化無規(guī)律性,,z軸會呈現(xiàn)出周期性的變化,,這樣可通過算法計算出人行走的步數(shù)。
1.3mbed技術
本文設計主要應用了mbed的開發(fā)環(huán)境,,其是面向ARM處理器的平臺,,主要包括軟件庫、硬件庫和處理工具3部分內容,。其中軟件庫在mbed環(huán)境下,,屏蔽了不同微處理器之間的差異,同時也可以使用不同ARM微處理器,,相當于硬件抽象層,;硬件庫可為整體設計提供參考設計和程序下載接口,還包括單步調試接口和串口調試接口,,方便設計中的測試過程,,應用于軟件開發(fā)中;處理工具主要是指程序編譯,、代碼編寫和版本調試等方面的工具,。
1.4藍牙模塊
本設計中主要采用了CC2540藍牙模塊,其具有睡眠模式和超低功耗模式的轉變,符合低功耗的需要,。此藍牙模塊應用廣泛,,與智能穿戴產品進行數(shù)據傳輸,是解決低成本效益下單模式的低功耗藍牙解決方案,,它將微控制器,、主機端及應用程序整合在一個元件上[3]。CC2540藍牙模塊結合主控制芯片,,連接傳感器得到的數(shù)據,,建立一個快閃記憶結構體,快速,、低功耗地進行數(shù)據傳輸,,來得到穩(wěn)定信號。
1.5電源模塊
LM2596電源模塊是集成電路,,頻率為150 kHz,,內部具有多線性和負載調節(jié)功能,可穩(wěn)定輸出驅動電流和小于37 V的各種電壓,,設置穩(wěn)定電壓輸出時,,誤差范圍僅在±4%范圍內,當有穩(wěn)定電流待機時,,可實現(xiàn)外部斷電,,同時在異常情況下斷電時,該模塊具有自我保護功能,。
2算法實現(xiàn)與軟件設計
在單片機端進行計步算法處理,,軟件設計分為單片機端的計步算法程序設計和手機端的APP程序設計。
2.1計步算法設計
該計步算法流程如圖2所示,。人在行走過程中,,可把該計步器放置在手腕上,在三軸傳感器讀取人體運動信息時,,x,、y軸信息變化沒有規(guī)律,z軸如同單擺一樣擺動,,如圖3所示,,會呈現(xiàn)出周期性的變化。采集人體運動信息時會受到人體抖動的干擾,,首先利用數(shù)字濾波,,有效消除使系統(tǒng)產生誤判的干擾信號[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步,,最慢不能少于半步,根據人的行走步數(shù),,可以將行走頻率設定為0.5 Hz~5 Hz,也就是人體行走過程中,,步與步之間的時間間隔在0.2 s~2 s,不在此時間間隔內,,設定為無效,。通過三軸傳感器LIS3DH讀取出坐標位置,將其轉換成x,、y和z三軸上的加速度值[5],,將讀取的3個軸的值代入式(1),可得到各個軸的電壓值:
可以根據產品使用情況,,設定零加速度的電壓值,,此電壓值相當于加速度為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ù)據的信息交互[6]。圖5為APP功能框架,。系統(tǒng)啟動時,,首先設定個人信息,,包括年齡、身高,、性別和體重等,,手機APP界面是控制硬件系統(tǒng)的主界面,通過藍牙模塊連接,,可控制硬件系統(tǒng)進入計步狀態(tài),,及時更新和顯示硬件系統(tǒng)記錄的運動信息,顯示消耗的卡路里,,并可分享到其他軟件以及將這些信息存儲在數(shù)據庫中,;鬧鈴設置主要是對手機APP進行鬧鈴設置,包括久坐提醒,、起床鬧鈴和喝水提醒,,可隨時讓使用者管理自己的身體健康;為了讓使用者方便觀察,,可通過APP查看當天的行走步數(shù),;數(shù)據庫主要存儲人的基本信息和運動信息,使用者可以根據天數(shù)或次數(shù)進行查詢,,同時可以切換到詳細信息的模式中[7],。
3實驗測試
為了驗證計步的精準度,由8人組成的測試小組分別行走100步,。行走過程中,,每個人的走路習慣不同,不定性因素手臂前后擺動的幅值不同,,實驗通過人實際行走的步數(shù)與軟件顯示步數(shù)進行比較,,從而計算出準確率。硬件系統(tǒng)的操作結果如表1所示,。由實驗結果得出,,該計步器的計步準確率極高。
4結論
本設計主要應用于智能穿戴產品中,,可與其他智能模塊進行融合,,方便放置于智能穿戴產品中,在對空間和功耗有嚴格要求的情況下,,都可以實現(xiàn)正常工作,。使用的計步算法真實有效,在不同的頻率下,,行走的步數(shù)可以達到很高的精準度,,同時可以讓使用者方便地在手機APP上觀看到行走的步數(shù)和消耗的卡路里信息,因此可以方便用戶管理自己的身體健康,。
參考文獻
?。?] 王淑華.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.