你的位置:首頁(yè) > RF/微波 > 正文

利用3軸數字加速度計 實(shí)現功能全面的計步器設計

發(fā)布時(shí)間:2020-02-05 來(lái)源:Neil Zhao 責任編輯:wenwei

【導讀】計步器是一種頗受歡迎的日常鍛煉進(jìn)度監控器,可以激勵人們挑戰自己,增強體質(zhì),幫助瘦身。早期設計利用加重的機械開(kāi)關(guān)檢測步伐,并帶有一個(gè)簡(jiǎn)單的計數器?;蝿?dòng)這些裝置時(shí),可以聽(tīng)到有一個(gè)金屬球來(lái)回滑動(dòng),或者一個(gè)擺錘左右擺動(dòng)敲擊擋塊。
 
如今,先進(jìn)的計步器利用MEMS(微機電系統)慣性傳感器和復雜的軟件來(lái)精確檢測真實(shí)的步伐。MEMS慣性傳感器可以更準確地檢測步伐,誤檢率更低。MEMS慣性傳感器具有低成本、小尺寸和低功耗的特點(diǎn),因此越來(lái)越多的便攜式消費電子設備開(kāi)始集成計步器功能,如音樂(lè )播放器和手機等。ADI公司的3軸加速度計ADXL335, ADXL345和 ADXL346 小巧纖薄,功耗極低,非常適合這種應用。
 
本文以對步伐特征的研究為基礎,描述一個(gè)采用3軸加速度計ADXL345的全功能計步器參考設計,它能辨別并計數步伐,測量距離、速度甚至所消耗的卡路里。
 
ADXL345專(zhuān)有的(正在申請專(zhuān)利)片內32級先進(jìn)先出(FIFO)緩沖器可以存儲數據,并執行計步器應用的相關(guān)操作,從而最大程度地減少主處理器干預,為便攜式設備節省寶貴的系統功率。其13位分辨率(4 mg/LSB)甚至允許計步器以合理的精度測量超低速步行(每步加速度變化約55 mg)。
 
了解模型
 
在可用于分析跑步或步行的特征當中,我們選擇"加速度"作為相關(guān)參數。個(gè)體(及其相關(guān)軸)的運動(dòng)包括三個(gè)分量,分別是前向("滾動(dòng)")、豎向("偏航")和側向("俯仰"),如圖1所示。ADXL345檢測其三個(gè)軸——x、y和z上的加速度。計步器處于未知方向,因此測量精度不應嚴重依賴(lài)于運動(dòng)軸與加速度計測量軸之間的關(guān)系。
 
http://www.zzmyjiv.cn/art/artinfo/id/80037575
圖1. 各軸的定義
 
讓我們考慮步行的特性。圖2描繪了一個(gè)步伐,我們將其定義為單位步行周期,圖中顯示了步行周期各階段與豎向和前向加速度變化之間的關(guān)系。
 
http://www.zzmyjiv.cn/art/artinfo/id/80037575
圖2. 步行階段與加速度模式
 
圖3顯示了與一名跑步者的豎向、前向和側向加速度相對應的x、y和z軸測量結果的典型圖樣。無(wú)論如何穿戴計步器,總有至少一個(gè)軸具有相對較大的周期性加速度變化,因此峰值檢測和針對所有三個(gè)軸上的加速度的動(dòng)態(tài)閾值決策算法對于檢測單位步行或跑步周期至關(guān)重要。
 
http://www.zzmyjiv.cn/art/artinfo/id/80037575
圖3. 從一名跑步者測得的x、y和z軸加速度的典型圖樣
 
算法
 
步伐參數
 
數字濾波器:先,為使圖3所示的信號波形變得平滑,需要一個(gè)數字濾波器??梢允褂盟膫€(gè)寄存器和一個(gè)求和單元,如圖4所示。當然,可以使用更多寄存器以使加速度數據更加平滑,但響應時(shí)間會(huì )變慢。
 
http://www.zzmyjiv.cn/art/artinfo/id/80037575
圖4. 數字濾波器
 
圖5顯示了來(lái)自一名步行者所戴計步器的最活躍軸的濾波數據。對于跑步者,峰峰值會(huì )更高。
 
http://www.zzmyjiv.cn/art/artinfo/id/80037575
圖5. 最活躍軸的濾波數據
 
動(dòng)態(tài)閾值和動(dòng)態(tài)精度: 系統持續更新3軸加速度的最大值和最小值,每采樣50次更新一次。平均值(Max + Min)/2稱(chēng)為"動(dòng)態(tài)閾值"。接下來(lái)的50次采樣利用此閾值判斷個(gè)體是否邁出步伐。由于此閾值每50次采樣更新一次,因此它是動(dòng)態(tài)的。這種選擇具有自適應性,并且足夠快。除動(dòng)態(tài)閾值外,還利用動(dòng)態(tài)精度來(lái)執行進(jìn)一步濾波,如圖6所示。
 
http://www.zzmyjiv.cn/art/artinfo/id/80037575
圖6. 動(dòng)態(tài)閾值和動(dòng)態(tài)精度
 
利用一個(gè)線(xiàn)性移位寄存器和動(dòng)態(tài)閾值判斷個(gè)體是否有效地邁出一步。該線(xiàn)性移位寄存器含有2個(gè)寄存器:sample_new寄存器和sample_old寄存器。這些寄存器中的數據分別稱(chēng)為sample_new和sample_old。當新采樣數據到來(lái)時(shí),sample_new無(wú)條件移入sample_old寄存器。然而,sample_result是否移入sample_new寄存器取決于下述條件:如果加速度變化大于預定義精度,則最新的采樣結果sample_result移入sample_new寄存器,否則sample_new寄存器保持不變。因此,移位寄存器組可以消除高頻噪聲,從而保證結果更加精確。
 
步伐邁出的條件定義為:當加速度曲線(xiàn)跨過(guò)動(dòng)態(tài)閾值下方時(shí),加速度曲線(xiàn)的斜率為負值().
 
峰值檢測: 步伐計數器根據x、y、z三軸中加速度變化最大的一個(gè)軸計算步數。如果加速度變化太小,步伐計數器將忽略。
 
步伐計數器利用此算法可以很好地工作,但有時(shí)顯得太敏感。當計步器因為步行或跑步之外的原因而非常迅速或非常緩慢地振動(dòng)時(shí),步伐計數器也會(huì )認為它是步伐。為了找到真正的有節奏的步伐,必須排除這種無(wú)效振動(dòng)。利用"時(shí)間窗口"和"計數規則"可以解決這個(gè)問(wèn)題。
 
"時(shí)間窗口" 用于排除無(wú)效振動(dòng)。假設人們最快的跑步速度為每秒5步,最慢的步行速度為每2秒1步。這樣,兩個(gè)有效步伐的時(shí)間間隔在時(shí)間窗口[0.2 s - 2.0 s]之內,時(shí)間間隔超出該時(shí)間窗口的所有步伐都應被排除。
 
ADXL345的用戶(hù)可選輸出數據速率特性有助于實(shí)現時(shí)間窗口。表1列出了TA = 25°C, VS = 2.5 V和 VDD I/O = 1.8 V時(shí)的可配置數據速率(以及功耗)。
 
表1. 數據速率和功耗
http://www.zzmyjiv.cn/art/artinfo/id/80037575
 
此算法使用50 Hz數據速率(20 ms)。采用interval的寄存器記錄兩步之間的數據更新次數。如果間隔值在10與100之間,則說(shuō)明兩步之間的時(shí)間在有效窗口之內;否則,時(shí)間間隔在時(shí)間窗口之外,步伐無(wú)效。
 
"計數規則" 用于確定步伐是否是一個(gè)節奏模式的一部分。步伐計數器有兩個(gè)工作狀態(tài):搜索規則和確認規則。步伐計數器以搜索規則模式開(kāi)始工作。假設經(jīng)過(guò)四個(gè)連續有效步伐之后,發(fā)現存在某種規則(in regulation),那么步伐計數器就會(huì )刷新和顯示結果,并進(jìn)入"確認規則"工作模式。在這種模式下工作時(shí),每經(jīng)過(guò)一個(gè)有效步伐,步伐計數器就會(huì )更新一次。但是,如果發(fā)現哪怕一個(gè)無(wú)效步伐,步伐計數器就會(huì )返回搜索規則模式,重新搜索四個(gè)連續有效步伐。
 
圖7顯示了步伐參數的算法流程圖。
 
http://www.zzmyjiv.cn/art/artinfo/id/80037575
圖7. 步伐參數算法流程圖
 
距離參數
 
根據上述算法計算步伐參數之后,我們可以使用公式1獲得距離參數。
 
     距離 = 步數 × 每步距離   (1)
 
每步距離取決于用戶(hù)的速度和身高。如果用戶(hù)身材較高或以較快速度跑步,步長(cháng)就會(huì )較長(cháng)。參考設計每2秒更新一次距離、速度和卡路里參數。因此,我們使用每2秒計數到的步數判斷當前跨步長(cháng)度。表2顯示了用于判斷當前跨步長(cháng)度的實(shí)驗數據。
 
表2. 跨步長(cháng)度與速度(每2秒步數)和身高的關(guān)系
http://www.zzmyjiv.cn/art/artinfo/id/80037575
 
2秒的時(shí)間間隔可以利用采樣數精確算出。以50 Hz數據速率為例,處理器可以每100次采樣發(fā)送一次相應的指令。處理器利用一個(gè)名為m_nLastPedometer的變量記錄每個(gè)2秒間隔開(kāi)始時(shí)的步數,并利用一個(gè)名為m_nPedometerValue的變量記錄每個(gè)2秒間隔結束時(shí)的步數。這樣,每2秒步數等于m_nPedometerValue與m_nLastPedometer之差。
 
雖然數據速率為50 Hz,但ADXL345的片內FIFO使得處理器無(wú)需每20 ms讀取一次數據,極大地減輕了主處理器的負擔。該緩沖器支持四種工作模式:旁路、FIFO、流和觸發(fā)。在FIFO模式下,x、y、z軸的測量數據存儲在FIFO中。當FIFO中的采樣數與FIFO_CTL寄存器采樣數位規定的數量相等時(shí),水印中斷置1。如前所述,人們的跑步速度最快可達每秒5步,因此每0.2秒刷新一次結果即可保證實(shí)時(shí)顯示,從而處理器只需每0.2秒通過(guò)水印中斷喚醒一次并從ADXL345讀取數據。FIFO的其它功能也都非常有用。利用觸發(fā)模式,FIFO可以告訴我們中斷之前發(fā)生了什么。由于所述解決方案沒(méi)有使用FIFO的其它功能,因此筆者將不展開(kāi)討論。
 
速度參數
 
速度 = 距離/時(shí)間, 而每2秒步數和跨步長(cháng)度均可根據上述算法計算,因此可以使用公式2獲得速度參數。
 
     速度 = 每2秒步數 s × 跨步/2 s   (2)
 
卡路里參數
 
我們無(wú)法精確計算卡路里的消耗速率。決定其消耗速率的一些因素包括體重、健身強度、運動(dòng)水平和新陳代謝。不過(guò),我們可以使用常規近似法進(jìn)行估計。表3顯示了卡路里消耗與跑步速度的典型關(guān)系。
 
表3. 卡路里消耗與跑步速度的關(guān)系
http://www.zzmyjiv.cn/art/artinfo/id/80037575
 
由表3可以得到公式(3)。
 
     卡路里 (C/kg/h) = 1.25 × 跑步速度 (km/h)   (3)
 
以上所用的速度參數單位為m/s,將km/h轉換為m/s可得公式4。
 
     卡路里 (C/kg/h) = 1.25 × 速度 (m/s) × 3600/1000 = 4.5 × 速度 (m/s)   (4)
 
卡路里參數隨同距離和速度參數每2秒更新一次。為了考慮運動(dòng)者的體重,我們可以將公式4轉換為公式5。體重(kg)為用戶(hù)輸入量,一個(gè)小時(shí)等于1800個(gè)2秒間隔。
 
     卡路里 (C/2 s) 4.5 × 速度 × 體重/1800 = 速度 × 體重/400   (5)
 
如果用戶(hù)在步行或跑步之后休息,則步數和距離將不變化,速度應為0,此時(shí)的卡路里消耗可以利用公式6計算(休息時(shí)的卡路里消耗約為1 C/kg/h)。
 
     卡路里 (C/2 s) = 1 × 體重/1800   (6)
 
最后,我們可以將所有2秒間隔的卡路里相加,獲得總卡路里消耗量。
 
硬件連接
 
ADXL345易于連接到任何使用 I2C 或SPI數字通信協(xié)議的處理器。圖8給出了演示設備的原理示意圖,它采用3V電池供電。ADXL345的/CS引腳連接到板上的VS,以選擇I2C 模式。利用一個(gè)低成本精密模擬微控制器ADuC7024從ADXL345讀取數據,執行算法,并通過(guò)UART將結果發(fā)送至PC。SDA和SCL分別為 I2C 總線(xiàn)的數據和時(shí)鐘引腳,從ADXL345連接到ADuC7024的對應引腳。ADXL345的兩個(gè)中斷引腳連接到ADuC7024的IRQ輸入,以產(chǎn)生各種中斷信號并喚醒處理器。
 
http://www.zzmyjiv.cn/art/artinfo/id/80037575
圖8. 硬件系統的原理示意圖
 
用戶(hù)界面
 
用戶(hù)界面顯示測試數據,并對操作員的指令做出響應。用戶(hù)界面(UI)運行之后,串行端口應打開(kāi),通信鏈路應啟動(dòng),隨后演示程序將持續運行。圖9顯示了用戶(hù)佩戴計步器步行或跑步時(shí)的測試情況。用戶(hù)可以輸入其體重和身高數據,距離、速度和卡路里參數將根據這些數據進(jìn)行計算。
 
http://www.zzmyjiv.cn/art/artinfo/id/80037575
圖9. 用戶(hù)佩戴計步器步行或跑步時(shí)的測試情況
 
結論
 
ADXL345是一款出色的加速度計,非常適合計步器應用。它具有小巧纖薄的特點(diǎn),采用3 mm × 5 mm × 0.95 mm塑封封裝,利用它開(kāi)發(fā)的計步器已經(jīng)出現在醫療儀器和高檔消費電子設備中。它在測量模式下的功耗僅40 μA,待機模式下為0.1 μA,堪稱(chēng)電池供電產(chǎn)品的理想之選。嵌入式FIFO極大地減輕了主處理器的負荷,使功耗顯著(zhù)降低。此外,可以利用可選的輸出數據速率進(jìn)行定時(shí),從而取代處理器中的定時(shí)器。13位分辨率可以檢測非常小的峰峰值變化,為開(kāi)發(fā)高精度計步器創(chuàng )造了條件。最后,它具有三軸輸出功能,結合上述算法,用戶(hù)可以將計步器戴在身上幾乎任何部位。
 
幾點(diǎn)建議:如果應用對成本極其敏感,或者模擬輸出加速度計更適合,建議使用ADXL335,它是一款完整的小尺寸、薄型、低功耗、三軸加速度計,提供經(jīng)過(guò)信號調理的電壓輸出。如果PCB尺寸至關(guān)重要,建議使用ADXL346,這款低功耗器件的內置功能甚至比ADXL345還多,采用小巧纖薄的3 mm × 3 mm ×0.95 mm塑封封裝,電源電壓范圍為1.7 V至2.75 V。
 
致謝
 
本文借鑒了Charles Lee和Harvey Weinberg二位的技術(shù)經(jīng)驗,筆者對此表示感謝。
 
 
參考電路
 
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.
 
 
推薦閱讀:
 
G = 1/2的差分輸出差動(dòng)放大器系統
LED驅動(dòng)模塊在汽車(chē)照明中的新機遇
簡(jiǎn)化工業(yè)數據采集系統設計的完整傳感器數據采集解決方案
利用同步反相SEPIC拓撲結構實(shí)現高效率降壓/升壓轉換器
大功率全集成同步Boost升壓變換器,可優(yōu)化便攜式設備和電池供電應用
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉

久久无码人妻精品一区二区三区_精品少妇人妻av无码中文字幕_98精品国产高清在线看入口_92精品国产自产在线观看481页