利用3軸數(shù)字加速度計 實(shí)現(xiàn)功能全面的計步器設(shè)計
發(fā)布時間:2020-02-05 來源:Neil Zhao 責(zé)任編輯:wenwei
【導(dǎo)讀】計步器是一種頗受歡迎的日常鍛煉進(jìn)度監(jiān)控器,可以激勵人們挑戰(zhàn)自己,增強(qiáng)體質(zhì),幫助瘦身。早期設(shè)計利用加重的機(jī)械開關(guān)檢測步伐,并帶有一個簡單的計數(shù)器?;蝿舆@些裝置時,可以聽到有一個金屬球來回滑動,或者一個擺錘左右擺動敲擊擋塊。
如今,先進(jìn)的計步器利用MEMS(微機(jī)電系統(tǒng))慣性傳感器和復(fù)雜的軟件來精確檢測真實(shí)的步伐。MEMS慣性傳感器可以更準(zhǔn)確地檢測步伐,誤檢率更低。MEMS慣性傳感器具有低成本、小尺寸和低功耗的特點(diǎn),因此越來越多的便攜式消費(fèi)電子設(shè)備開始集成計步器功能,如音樂播放器和手機(jī)等。ADI公司的3軸加速度計ADXL335, ADXL345和 ADXL346 小巧纖薄,功耗極低,非常適合這種應(yīng)用。
本文以對步伐特征的研究為基礎(chǔ),描述一個采用3軸加速度計ADXL345的全功能計步器參考設(shè)計,它能辨別并計數(shù)步伐,測量距離、速度甚至所消耗的卡路里。
ADXL345專有的(正在申請專利)片內(nèi)32級先進(jìn)先出(FIFO)緩沖器可以存儲數(shù)據(jù),并執(zhí)行計步器應(yīng)用的相關(guān)操作,從而最大程度地減少主處理器干預(yù),為便攜式設(shè)備節(jié)省寶貴的系統(tǒng)功率。其13位分辨率(4 mg/LSB)甚至允許計步器以合理的精度測量超低速步行(每步加速度變化約55 mg)。
了解模型
在可用于分析跑步或步行的特征當(dāng)中,我們選擇"加速度"作為相關(guān)參數(shù)。個體(及其相關(guān)軸)的運(yùn)動包括三個分量,分別是前向("滾動")、豎向("偏航")和側(cè)向("俯仰"),如圖1所示。ADXL345檢測其三個軸——x、y和z上的加速度。計步器處于未知方向,因此測量精度不應(yīng)嚴(yán)重依賴于運(yùn)動軸與加速度計測量軸之間的關(guān)系。
圖1. 各軸的定義
讓我們考慮步行的特性。圖2描繪了一個步伐,我們將其定義為單位步行周期,圖中顯示了步行周期各階段與豎向和前向加速度變化之間的關(guān)系。
圖2. 步行階段與加速度模式
圖3顯示了與一名跑步者的豎向、前向和側(cè)向加速度相對應(yīng)的x、y和z軸測量結(jié)果的典型圖樣。無論如何穿戴計步器,總有至少一個軸具有相對較大的周期性加速度變化,因此峰值檢測和針對所有三個軸上的加速度的動態(tài)閾值決策算法對于檢測單位步行或跑步周期至關(guān)重要。
圖3. 從一名跑步者測得的x、y和z軸加速度的典型圖樣
算法
步伐參數(shù)
數(shù)字濾波器:先,為使圖3所示的信號波形變得平滑,需要一個數(shù)字濾波器??梢允褂盟膫€寄存器和一個求和單元,如圖4所示。當(dāng)然,可以使用更多寄存器以使加速度數(shù)據(jù)更加平滑,但響應(yīng)時間會變慢。
圖4. 數(shù)字濾波器
圖5顯示了來自一名步行者所戴計步器的最活躍軸的濾波數(shù)據(jù)。對于跑步者,峰峰值會更高。
圖5. 最活躍軸的濾波數(shù)據(jù)
動態(tài)閾值和動態(tài)精度: 系統(tǒng)持續(xù)更新3軸加速度的最大值和最小值,每采樣50次更新一次。平均值(Max + Min)/2稱為"動態(tài)閾值"。接下來的50次采樣利用此閾值判斷個體是否邁出步伐。由于此閾值每50次采樣更新一次,因此它是動態(tài)的。這種選擇具有自適應(yīng)性,并且足夠快。除動態(tài)閾值外,還利用動態(tài)精度來執(zhí)行進(jìn)一步濾波,如圖6所示。
圖6. 動態(tài)閾值和動態(tài)精度
利用一個線性移位寄存器和動態(tài)閾值判斷個體是否有效地邁出一步。該線性移位寄存器含有2個寄存器:sample_new寄存器和sample_old寄存器。這些寄存器中的數(shù)據(jù)分別稱為sample_new和sample_old。當(dāng)新采樣數(shù)據(jù)到來時,sample_new無條件移入sample_old寄存器。然而,sample_result是否移入sample_new寄存器取決于下述條件:如果加速度變化大于預(yù)定義精度,則最新的采樣結(jié)果sample_result移入sample_new寄存器,否則sample_new寄存器保持不變。因此,移位寄存器組可以消除高頻噪聲,從而保證結(jié)果更加精確。
步伐邁出的條件定義為:當(dāng)加速度曲線跨過動態(tài)閾值下方時,加速度曲線的斜率為負(fù)值().
峰值檢測: 步伐計數(shù)器根據(jù)x、y、z三軸中加速度變化最大的一個軸計算步數(shù)。如果加速度變化太小,步伐計數(shù)器將忽略。
步伐計數(shù)器利用此算法可以很好地工作,但有時顯得太敏感。當(dāng)計步器因?yàn)椴叫谢蚺懿街獾脑蚨浅Q杆倩蚍浅>徛卣駝訒r,步伐計數(shù)器也會認(rèn)為它是步伐。為了找到真正的有節(jié)奏的步伐,必須排除這種無效振動。利用"時間窗口"和"計數(shù)規(guī)則"可以解決這個問題。
"時間窗口" 用于排除無效振動。假設(shè)人們最快的跑步速度為每秒5步,最慢的步行速度為每2秒1步。這樣,兩個有效步伐的時間間隔在時間窗口[0.2 s - 2.0 s]之內(nèi),時間間隔超出該時間窗口的所有步伐都應(yīng)被排除。
ADXL345的用戶可選輸出數(shù)據(jù)速率特性有助于實(shí)現(xiàn)時間窗口。表1列出了TA = 25°C, VS = 2.5 V和 VDD I/O = 1.8 V時的可配置數(shù)據(jù)速率(以及功耗)。
表1. 數(shù)據(jù)速率和功耗
此算法使用50 Hz數(shù)據(jù)速率(20 ms)。采用interval的寄存器記錄兩步之間的數(shù)據(jù)更新次數(shù)。如果間隔值在10與100之間,則說明兩步之間的時間在有效窗口之內(nèi);否則,時間間隔在時間窗口之外,步伐無效。
"計數(shù)規(guī)則" 用于確定步伐是否是一個節(jié)奏模式的一部分。步伐計數(shù)器有兩個工作狀態(tài):搜索規(guī)則和確認(rèn)規(guī)則。步伐計數(shù)器以搜索規(guī)則模式開始工作。假設(shè)經(jīng)過四個連續(xù)有效步伐之后,發(fā)現(xiàn)存在某種規(guī)則(in regulation),那么步伐計數(shù)器就會刷新和顯示結(jié)果,并進(jìn)入"確認(rèn)規(guī)則"工作模式。在這種模式下工作時,每經(jīng)過一個有效步伐,步伐計數(shù)器就會更新一次。但是,如果發(fā)現(xiàn)哪怕一個無效步伐,步伐計數(shù)器就會返回搜索規(guī)則模式,重新搜索四個連續(xù)有效步伐。
圖7顯示了步伐參數(shù)的算法流程圖。
圖7. 步伐參數(shù)算法流程圖
距離參數(shù)
根據(jù)上述算法計算步伐參數(shù)之后,我們可以使用公式1獲得距離參數(shù)。
距離 = 步數(shù) × 每步距離 (1)
每步距離取決于用戶的速度和身高。如果用戶身材較高或以較快速度跑步,步長就會較長。參考設(shè)計每2秒更新一次距離、速度和卡路里參數(shù)。因此,我們使用每2秒計數(shù)到的步數(shù)判斷當(dāng)前跨步長度。表2顯示了用于判斷當(dāng)前跨步長度的實(shí)驗(yàn)數(shù)據(jù)。
表2. 跨步長度與速度(每2秒步數(shù))和身高的關(guān)系
2秒的時間間隔可以利用采樣數(shù)精確算出。以50 Hz數(shù)據(jù)速率為例,處理器可以每100次采樣發(fā)送一次相應(yīng)的指令。處理器利用一個名為m_nLastPedometer的變量記錄每個2秒間隔開始時的步數(shù),并利用一個名為m_nPedometerValue的變量記錄每個2秒間隔結(jié)束時的步數(shù)。這樣,每2秒步數(shù)等于m_nPedometerValue與m_nLastPedometer之差。
雖然數(shù)據(jù)速率為50 Hz,但ADXL345的片內(nèi)FIFO使得處理器無需每20 ms讀取一次數(shù)據(jù),極大地減輕了主處理器的負(fù)擔(dān)。該緩沖器支持四種工作模式:旁路、FIFO、流和觸發(fā)。在FIFO模式下,x、y、z軸的測量數(shù)據(jù)存儲在FIFO中。當(dāng)FIFO中的采樣數(shù)與FIFO_CTL寄存器采樣數(shù)位規(guī)定的數(shù)量相等時,水印中斷置1。如前所述,人們的跑步速度最快可達(dá)每秒5步,因此每0.2秒刷新一次結(jié)果即可保證實(shí)時顯示,從而處理器只需每0.2秒通過水印中斷喚醒一次并從ADXL345讀取數(shù)據(jù)。FIFO的其它功能也都非常有用。利用觸發(fā)模式,F(xiàn)IFO可以告訴我們中斷之前發(fā)生了什么。由于所述解決方案沒有使用FIFO的其它功能,因此筆者將不展開討論。
速度參數(shù)
速度 = 距離/時間, 而每2秒步數(shù)和跨步長度均可根據(jù)上述算法計算,因此可以使用公式2獲得速度參數(shù)。
速度 = 每2秒步數(shù) s × 跨步/2 s (2)
卡路里參數(shù)
我們無法精確計算卡路里的消耗速率。決定其消耗速率的一些因素包括體重、健身強(qiáng)度、運(yùn)動水平和新陳代謝。不過,我們可以使用常規(guī)近似法進(jìn)行估計。表3顯示了卡路里消耗與跑步速度的典型關(guān)系。
表3. 卡路里消耗與跑步速度的關(guān)系
由表3可以得到公式(3)。
卡路里 (C/kg/h) = 1.25 × 跑步速度 (km/h) (3)
以上所用的速度參數(shù)單位為m/s,將km/h轉(zhuǎn)換為m/s可得公式4。
卡路里 (C/kg/h) = 1.25 × 速度 (m/s) × 3600/1000 = 4.5 × 速度 (m/s) (4)
卡路里參數(shù)隨同距離和速度參數(shù)每2秒更新一次。為了考慮運(yùn)動者的體重,我們可以將公式4轉(zhuǎn)換為公式5。體重(kg)為用戶輸入量,一個小時等于1800個2秒間隔。
卡路里 (C/2 s) 4.5 × 速度 × 體重/1800 = 速度 × 體重/400 (5)
如果用戶在步行或跑步之后休息,則步數(shù)和距離將不變化,速度應(yīng)為0,此時的卡路里消耗可以利用公式6計算(休息時的卡路里消耗約為1 C/kg/h)。
卡路里 (C/2 s) = 1 × 體重/1800 (6)
最后,我們可以將所有2秒間隔的卡路里相加,獲得總卡路里消耗量。
硬件連接
ADXL345易于連接到任何使用 I2C 或SPI數(shù)字通信協(xié)議的處理器。圖8給出了演示設(shè)備的原理示意圖,它采用3V電池供電。ADXL345的/CS引腳連接到板上的VS,以選擇I2C 模式。利用一個低成本精密模擬微控制器ADuC7024從ADXL345讀取數(shù)據(jù),執(zhí)行算法,并通過UART將結(jié)果發(fā)送至PC。SDA和SCL分別為 I2C 總線的數(shù)據(jù)和時鐘引腳,從ADXL345連接到ADuC7024的對應(yīng)引腳。ADXL345的兩個中斷引腳連接到ADuC7024的IRQ輸入,以產(chǎn)生各種中斷信號并喚醒處理器。
圖8. 硬件系統(tǒng)的原理示意圖
用戶界面
用戶界面顯示測試數(shù)據(jù),并對操作員的指令做出響應(yīng)。用戶界面(UI)運(yùn)行之后,串行端口應(yīng)打開,通信鏈路應(yīng)啟動,隨后演示程序?qū)⒊掷m(xù)運(yùn)行。圖9顯示了用戶佩戴計步器步行或跑步時的測試情況。用戶可以輸入其體重和身高數(shù)據(jù),距離、速度和卡路里參數(shù)將根據(jù)這些數(shù)據(jù)進(jìn)行計算。
圖9. 用戶佩戴計步器步行或跑步時的測試情況
結(jié)論
ADXL345是一款出色的加速度計,非常適合計步器應(yīng)用。它具有小巧纖薄的特點(diǎn),采用3 mm × 5 mm × 0.95 mm塑封封裝,利用它開發(fā)的計步器已經(jīng)出現(xiàn)在醫(yī)療儀器和高檔消費(fèi)電子設(shè)備中。它在測量模式下的功耗僅40 μA,待機(jī)模式下為0.1 μA,堪稱電池供電產(chǎn)品的理想之選。嵌入式FIFO極大地減輕了主處理器的負(fù)荷,使功耗顯著降低。此外,可以利用可選的輸出數(shù)據(jù)速率進(jìn)行定時,從而取代處理器中的定時器。13位分辨率可以檢測非常小的峰峰值變化,為開發(fā)高精度計步器創(chuàng)造了條件。最后,它具有三軸輸出功能,結(jié)合上述算法,用戶可以將計步器戴在身上幾乎任何部位。
幾點(diǎn)建議:如果應(yīng)用對成本極其敏感,或者模擬輸出加速度計更適合,建議使用ADXL335,它是一款完整的小尺寸、薄型、低功耗、三軸加速度計,提供經(jīng)過信號調(diào)理的電壓輸出。如果PCB尺寸至關(guān)重要,建議使用ADXL346,這款低功耗器件的內(nèi)置功能甚至比ADXL345還多,采用小巧纖薄的3 mm × 3 mm ×0.95 mm塑封封裝,電源電壓范圍為1.7 V至2.75 V。
致謝
本文借鑒了Charles Lee和Harvey Weinberg二位的技術(shù)經(jīng)驗(yàn),筆者對此表示感謝。
參考電路
1. Data sheets and additional product information on all Analog Devices products can be found at www.analog.com.
2. www.analog.com/en/products/mems/accelerometers.html.
推薦閱讀:
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計
- ADI電機(jī)運(yùn)動控制解決方案 驅(qū)動智能運(yùn)動新時代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 功率器件熱設(shè)計基礎(chǔ)(九)——功率半導(dǎo)體模塊的熱擴(kuò)散
- 準(zhǔn) Z 源逆變器的設(shè)計
- 第12講:三菱電機(jī)高壓SiC芯片技術(shù)
- 一文看懂電壓轉(zhuǎn)換的級聯(lián)和混合概念
- 意法半導(dǎo)體推出首款超低功耗生物傳感器,成為眾多新型應(yīng)用的核心所在
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
單向可控硅
刀開關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容
點(diǎn)膠設(shè)備
電池
電池管理系統(tǒng)
電磁蜂鳴器
電磁兼容
電磁爐危害
電動車
電動工具
電動汽車
電感
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖