《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于nRF51的智能計(jì)步器系統(tǒng)設(shè)計(jì)
基于nRF51的智能計(jì)步器系統(tǒng)設(shè)計(jì)
2016年微型機(jī)與應(yīng)用第21期
李月婷,姜成旭
貴州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025
摘要: 智能產(chǎn)品中計(jì)步功能已成為標(biāo)配功能。根據(jù)運(yùn)動(dòng)三軸傳感器LIS3DH設(shè)計(jì)了可放置于任何產(chǎn)品的智能計(jì)步器,主要對硬件系統(tǒng)設(shè)計(jì)、算法實(shí)現(xiàn)和軟件設(shè)計(jì)進(jìn)行研究。其加速度采集模塊以三軸傳感器LIS3DH作為運(yùn)動(dòng)數(shù)據(jù)的檢測模塊,其數(shù)據(jù)處理模塊對LIS3DH三軸加速度傳感器信息進(jìn)行處理,通過數(shù)字濾波去除其他干擾信號的影響,利用加速度變化的正弦函數(shù)的特殊值采集實(shí)現(xiàn)計(jì)步功能,最后通過算法計(jì)算出人體運(yùn)動(dòng)步數(shù);當(dāng)連續(xù)運(yùn)動(dòng)時(shí)間不足計(jì)步算法規(guī)定時(shí),將進(jìn)入睡眠模式計(jì)算。實(shí)驗(yàn)結(jié)果表明,本設(shè)計(jì)具有功耗低、準(zhǔn)確度高、結(jié)構(gòu)簡單的特點(diǎn),能夠提供高精度的計(jì)步功能。
Abstract:
Key words :

  李月婷,姜成旭

 ?。ㄙF州大學(xué) 大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550025)

       摘要:智能產(chǎn)品中計(jì)步功能已成為標(biāo)配功能。根據(jù)運(yùn)動(dòng)三軸傳感器LIS3DH設(shè)計(jì)了可放置于任何產(chǎn)品的智能計(jì)步器,主要對硬件系統(tǒng)設(shè)計(jì)、算法實(shí)現(xiàn)和軟件設(shè)計(jì)進(jìn)行研究。其加速度采集模塊以三軸傳感器LIS3DH作為運(yùn)動(dòng)數(shù)據(jù)的檢測模塊,其數(shù)據(jù)處理模塊對LIS3DH三軸加速度傳感器信息進(jìn)行處理,通過數(shù)字濾波去除其他干擾信號的影響,利用加速度變化的正弦函數(shù)的特殊值采集實(shí)現(xiàn)計(jì)步功能,最后通過算法計(jì)算出人體運(yùn)動(dòng)步數(shù);當(dāng)連續(xù)運(yùn)動(dòng)時(shí)間不足計(jì)步算法規(guī)定時(shí),將進(jìn)入睡眠模式計(jì)算。實(shí)驗(yàn)結(jié)果表明,本設(shè)計(jì)具有功耗低、準(zhǔn)確度高、結(jié)構(gòu)簡單的特點(diǎn),能夠提供高精度的計(jì)步功能。

  關(guān)鍵詞:計(jì)步器; 加速度傳感器; 顯示終端;高精度

0引言

  智能穿戴產(chǎn)品走進(jìn)人們的生活,計(jì)步成為智能穿戴產(chǎn)品中的必備功能,本文設(shè)計(jì)的計(jì)步器不僅適用于手環(huán),同時(shí)適用于其他智能穿戴產(chǎn)品。本設(shè)計(jì)主要采用LIS3DH三軸運(yùn)動(dòng)傳感器,其具有體積小、功耗低和精度高的優(yōu)點(diǎn),經(jīng)過算法和軟件設(shè)計(jì)的處理,可以濾除三軸傳感器數(shù)據(jù)雜波,得到的數(shù)據(jù)將更加精準(zhǔn),實(shí)時(shí)數(shù)據(jù)經(jīng)計(jì)步算法處理后再經(jīng)過藍(lán)牙模塊傳送給遠(yuǎn)程APP,方便使用者查看動(dòng)態(tài)數(shù)據(jù)和卡路里的消耗。本文主要研究內(nèi)容:首先進(jìn)行硬件系統(tǒng)設(shè)計(jì),其中包括微處理模塊、加速度采集模塊、mbed技術(shù)、藍(lán)牙模塊和電源模塊;然后進(jìn)行算法實(shí)現(xiàn)與軟件設(shè)計(jì),完成計(jì)步算法設(shè)計(jì)和手機(jī)APP設(shè)計(jì);其次根據(jù)數(shù)字濾波,將三軸傳感器得到的數(shù)據(jù)進(jìn)行濾波,去除干擾雜質(zhì)[1];最后通過計(jì)步算法計(jì)算出運(yùn)動(dòng)行走步數(shù),通過藍(lán)牙模塊把數(shù)據(jù)傳輸?shù)绞謾C(jī)APP上。

1硬件系統(tǒng)設(shè)計(jì)

  硬件模塊主要包括微處理器模塊nRF51、運(yùn)動(dòng)信息采集模塊LIS3DH三軸傳感器、藍(lán)牙模塊CC2540、電源模塊和mbed開發(fā)環(huán)境。硬件系統(tǒng)框圖如圖1所示。

圖像 001.png

  1.1微處理器模塊

  計(jì)步器采用的微處理器模塊nRF51單片機(jī)具有多引腳和小封裝的特點(diǎn),適用于超低功耗無線應(yīng)用。nRF51單片機(jī)存在于各種數(shù)字電子產(chǎn)品中,在沒有CPU參與的情況下,可與周邊產(chǎn)品通過軟件系統(tǒng)進(jìn)行互動(dòng)。nRF51支持 Dynastream Innovations 的嵌入式 S210 ANT 協(xié)議堆棧及 2.4 GHz協(xié)議堆棧。nRF51需要單獨(dú)供電,若供電范圍在1.8 V~2.1 V時(shí),采用芯片上的線性整流器;若供電范圍在2.1 V~3.6 V時(shí),采用直流1.8 V模式芯片上的DCDC變壓器。

  1.2加速度信息采集模塊

  本文采用ST公司的三軸加速度傳感器LIS3DH,可精確地測量出人行走時(shí)的運(yùn)動(dòng)狀態(tài)。傳感器作為檢測裝置,其三軸傳感器主要是讀取人體運(yùn)動(dòng)數(shù)據(jù)信息,并將讀到的信息以一定的規(guī)律變換成本設(shè)計(jì)需要的電信號并進(jìn)行輸出,同時(shí)可以滿足此過程中的數(shù)據(jù)存儲、數(shù)據(jù)處理、數(shù)據(jù)傳輸、數(shù)據(jù)顯示的要求[2]。三軸運(yùn)動(dòng)傳感器LIS3DH具有3個(gè)軸加速度數(shù)字的輸出,可三維感知人體行走過程中的信息,安放三軸傳感器的位置應(yīng)由三軸傳感器數(shù)據(jù)輸出的特性和人體的運(yùn)動(dòng)特性共同決定。通常手腕上的智能穿戴產(chǎn)品會根據(jù)人行走的運(yùn)動(dòng)狀態(tài)來實(shí)時(shí)讀取人的運(yùn)動(dòng)信息,x、y軸的數(shù)據(jù)變化無規(guī)律性,z軸會呈現(xiàn)出周期性的變化,這樣可通過算法計(jì)算出人行走的步數(shù)。

  1.3mbed技術(shù)

  本文設(shè)計(jì)主要應(yīng)用了mbed的開發(fā)環(huán)境,其是面向ARM處理器的平臺,主要包括軟件庫、硬件庫和處理工具3部分內(nèi)容。其中軟件庫在mbed環(huán)境下,屏蔽了不同微處理器之間的差異,同時(shí)也可以使用不同ARM微處理器,相當(dāng)于硬件抽象層;硬件庫可為整體設(shè)計(jì)提供參考設(shè)計(jì)和程序下載接口,還包括單步調(diào)試接口和串口調(diào)試接口,方便設(shè)計(jì)中的測試過程,應(yīng)用于軟件開發(fā)中;處理工具主要是指程序編譯、代碼編寫和版本調(diào)試等方面的工具。

  1.4藍(lán)牙模塊

  本設(shè)計(jì)中主要采用了CC2540藍(lán)牙模塊,其具有睡眠模式和超低功耗模式的轉(zhuǎn)變,符合低功耗的需要。此藍(lán)牙模塊應(yīng)用廣泛,與智能穿戴產(chǎn)品進(jìn)行數(shù)據(jù)傳輸,是解決低成本效益下單模式的低功耗藍(lán)牙解決方案,它將微控制器、主機(jī)端及應(yīng)用程序整合在一個(gè)元件上[3]。CC2540藍(lán)牙模塊結(jié)合主控制芯片,連接傳感器得到的數(shù)據(jù),建立一個(gè)快閃記憶結(jié)構(gòu)體,快速、低功耗地進(jìn)行數(shù)據(jù)傳輸,來得到穩(wěn)定信號。

  1.5電源模塊

  LM2596電源模塊是集成電路,頻率為150 kHz,內(nèi)部具有多線性和負(fù)載調(diào)節(jié)功能,可穩(wěn)定輸出驅(qū)動(dòng)電流和小于37 V的各種電壓,設(shè)置穩(wěn)定電壓輸出時(shí),誤差范圍僅在±4%范圍內(nèi),當(dāng)有穩(wěn)定電流待機(jī)時(shí),可實(shí)現(xiàn)外部斷電,同時(shí)在異常情況下斷電時(shí),該模塊具有自我保護(hù)功能。

2算法實(shí)現(xiàn)與軟件設(shè)計(jì)

  在單片機(jī)端進(jìn)行計(jì)步算法處理,軟件設(shè)計(jì)分為單片機(jī)端的計(jì)步算法程序設(shè)計(jì)和手機(jī)端的APP程序設(shè)計(jì)。

  2.1計(jì)步算法設(shè)計(jì)

  該計(jì)步算法流程如圖2所示。人在行走過程中,可把該計(jì)步器放置在手腕上,在三軸傳感器讀取人體運(yùn)動(dòng)信息時(shí),x、y軸信息變化沒有規(guī)律,z軸如同單擺一樣擺動(dòng),如圖3所示,會呈現(xiàn)出周期性的變化。采集人體運(yùn)動(dòng)信息時(shí)會受到人體抖動(dòng)的干擾,首先利用數(shù)字濾波,有效消除使系統(tǒng)產(chǎn)生誤判的干擾信號[4]。

圖像 002.png

  

圖像 003.png

  數(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));

  }

  通過多人實(shí)驗(yàn)得出,人體行走過程中,1 s中人的步伐最快不能超過5步,最慢不能少于半步,根據(jù)人的行走步數(shù),可以將行走頻率設(shè)定為0.5 Hz~5 Hz,也就是人體行走過程中,步與步之間的時(shí)間間隔在0.2 s~2 s,不在此時(shí)間間隔內(nèi),設(shè)定為無效。通過三軸傳感器LIS3DH讀取出坐標(biāo)位置,將其轉(zhuǎn)換成x、y和z三軸上的加速度值[5],將讀取的3個(gè)軸的值代入式(1),可得到各個(gè)軸的電壓值:

  QQ圖片20161208160942.png

  可以根據(jù)產(chǎn)品使用情況,設(shè)定零加速度的電壓值,此電壓值相當(dāng)于加速度為0 g。通過加速度傳感器得出此時(shí)的電壓值,計(jì)算相對于0 g時(shí)電壓值的偏移量。本設(shè)計(jì)設(shè)定0 g電壓值VzeroG=1.65 V,實(shí)時(shí)計(jì)算出相對于0 g電壓值的偏移量公式(2):

  QQ圖片20161208160946.png

  通過計(jì)算得出了加速度計(jì)的電壓值,需要把此時(shí)電壓值轉(zhuǎn)換成加速度值,轉(zhuǎn)換過程中需要引入加速度計(jì)的靈敏度,通常單位取為mV/g。取加速度計(jì)的靈敏度為Sensitivity=478.5 mV/g=0.478 5 V/g。通過計(jì)算求出單位為g的加速度,如式(3):

  QQ圖片20161208160949.png

  綜合整理三軸加速度坐標(biāo)轉(zhuǎn)換為加速度值如下所示:

  QQ圖片20161208160953.png

  令三軸角度分別為Axr、Ayr、Azr。觀察由R和Rx、Ry、Rz組成的直角三角形:

  QQ圖片20161208160956.png

  其中QQ圖片20161208161000.png如圖4所示。求出正向弦之后,看是否出現(xiàn)sin(Azr)=1,當(dāng)連續(xù)出現(xiàn)次數(shù)大于3次時(shí),進(jìn)入計(jì)步狀態(tài),否則返回繼續(xù)讀取三軸坐標(biāo)值。

圖像 004.png

       2.2手機(jī)端APP的設(shè)計(jì)

  手機(jī)APP在藍(lán)牙模塊下與硬件系統(tǒng)連接,主要功能是儲存人體運(yùn)動(dòng)信息。手機(jī)APP用于人機(jī)交互,通過藍(lán)牙通信與后臺服務(wù)器之間進(jìn)行儲存數(shù)據(jù)的信息交互[6]。圖5為APP功能框架。系統(tǒng)啟動(dòng)時(shí),首先設(shè)定個(gè)人信息,包括年齡、身高、性別和體重等,手機(jī)APP界面是控制硬件系統(tǒng)的主界面,通過藍(lán)牙模塊連接,可控制硬件系統(tǒng)進(jìn)入計(jì)步狀態(tài),及時(shí)更新和顯示硬件系統(tǒng)記錄的運(yùn)動(dòng)信息,顯示消耗的卡路里,并可分享到其他軟件以及將這些信息存儲在數(shù)據(jù)庫中;鬧鈴設(shè)置主要是對手機(jī)APP進(jìn)行鬧鈴設(shè)置,包括久坐提醒、起床鬧鈴和喝水提醒,可隨時(shí)讓使用者管理自己的身體健康;為了讓使用者方便觀察,可通過APP查看當(dāng)天的行走步數(shù);數(shù)據(jù)庫主要存儲人的基本信息和運(yùn)動(dòng)信息,使用者可以根據(jù)天數(shù)或次數(shù)進(jìn)行查詢,同時(shí)可以切換到詳細(xì)信息的模式中[7]。

圖像 005.png

3實(shí)驗(yàn)測試

  為了驗(yàn)證計(jì)步的精準(zhǔn)度,由8人組成的測試小組分別行走100步。行走過程中,每個(gè)人的走路習(xí)慣不同,不定性因素手臂前后擺動(dòng)的幅值不同,實(shí)驗(yàn)通過人實(shí)際行走的步數(shù)與軟件顯示步數(shù)進(jìn)行比較,從而計(jì)算出準(zhǔn)確率。硬件系統(tǒng)的操作結(jié)果如表1所示。由實(shí)驗(yàn)結(jié)果得出,該計(jì)步器的計(jì)步準(zhǔn)確率極高。

圖像 006.png

4結(jié)論

  本設(shè)計(jì)主要應(yīng)用于智能穿戴產(chǎn)品中,可與其他智能模塊進(jìn)行融合,方便放置于智能穿戴產(chǎn)品中,在對空間和功耗有嚴(yán)格要求的情況下,都可以實(shí)現(xiàn)正常工作。使用的計(jì)步算法真實(shí)有效,在不同的頻率下,行走的步數(shù)可以達(dá)到很高的精準(zhǔn)度,同時(shí)可以讓使用者方便地在手機(jī)APP上觀看到行走的步數(shù)和消耗的卡路里信息,因此可以方便用戶管理自己的身體健康。

  參考文獻(xiàn)

 ?。?] 王淑華.MEMS傳感器現(xiàn)狀及應(yīng)用[J].微納電子技術(shù),2011,48(8):516-522.

 ?。?] 宋浩然,廖文帥,趙一鳴. 基于加速度傳感器 ADXL330 的高精度計(jì)步器[J]. 傳感器學(xué)報(bào),2006,19(4):26-29.

  [3] 許睿.行人導(dǎo)航系統(tǒng)算法研究與應(yīng)用實(shí)現(xiàn)[D]. 南京: 南京航空航天大學(xué),2008.

 ?。?] 蘇麗娜,董金明,趙琦.基于加速度傳感器的計(jì)步系統(tǒng)[J].測控技術(shù),2007,26(10): 163-165.

 ?。?] LIM Y P, BROWN I T, KHOO J C T. An accurate and robust gyroscopebased pedometer[C]. 30th Annual International IEEE EMBS Conference, 2008: 4587-4590.

 ?。?] 韓文正,馮迪,李鵬,等.基于加速度傳感器 LIS3DH的計(jì)步器設(shè)計(jì)[J].傳感器與微系統(tǒng),2012, 31(11):97-99.

 ?。?] 張紅北,趙曉軍,李瑞,等.基于Android的遠(yuǎn)程醫(yī)療監(jiān)測系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2015, 34 (19):64-66,70.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。