利用3軸數字加速度計 實現功能全麵的計步器設計
發布時間:2020-02-05 來源:Neil Zhao 責任編輯:wenwei
【導讀】計(ji)步(bu)器(qi)是(shi)一(yi)種(zhong)頗(po)受(shou)歡(huan)迎(ying)的(de)日(ri)常(chang)鍛(duan)煉(lian)進(jin)度(du)監(jian)控(kong)器(qi),可(ke)以(yi)激(ji)勵(li)人(ren)們(men)挑(tiao)戰(zhan)自(zi)己(ji),增(zeng)強(qiang)體(ti)質(zhi),幫(bang)助(zhu)瘦(shou)身(shen)。早(zao)期(qi)設(she)計(ji)利(li)用(yong)加(jia)重(zhong)的(de)機(ji)械(xie)開(kai)關(guan)檢(jian)測(ce)步(bu)伐(fa),並(bing)帶(dai)有(you)一(yi)個(ge)簡(jian)單(dan)的(de)計(ji)數(shu)器(qi)。晃(huang)動(dong)這(zhe)些(xie)裝(zhuang)置(zhi)時(shi),可(ke)以(yi)聽(ting)到(dao)有(you)一(yi)個(ge)金(jin)屬(shu)球(qiu)來(lai)回(hui)滑(hua)動(dong),或(huo)者(zhe)一(yi)個(ge)擺(bai)錘(chui)左(zuo)右(you)擺(bai)動(dong)敲(qiao)擊(ji)擋(dang)塊(kuai)。
如今,先進的計步器利用MEMS(微機電係統)慣性傳感器和複雜的軟件來精確檢測真實的步伐。MEMS慣性傳感器可以更準確地檢測步伐,誤檢率更低。MEMS慣性傳感器具有低成本、小尺寸和低功耗的特點,因此越來越多的便攜式消費電子設備開始集成計步器功能,如音樂播放器和手機等。ADI公司的3軸加速度計ADXL335, ADXL345和 ADXL346 小巧纖薄,功耗極低,非常適合這種應用。
本文以對步伐特征的研究為基礎,描述一個采用3軸加速度計ADXL345的全功能計步器參考設計,它能辨別並計數步伐,測量距離、速度甚至所消耗的卡路裏。
ADXL345專有的(正在申請專利)片內32級先進先出(FIFO)緩衝器可以存儲數據,並執行計步器應用的相關操作,從而最大程度地減少主處理器幹預,為便攜式設備節省寶貴的係統功率。其13位分辨率(4 mg/LSB)甚至允許計步器以合理的精度測量超低速步行(每步加速度變化約55 mg)。
了解模型
在可用於分析跑步或步行的特征當中,我們選擇"加速度"作為相關參數。個體(及其相關軸)的運動包括三個分量,分別是前向("滾動")、豎向("偏航")和側向("俯仰"),如圖1所示。ADXL345檢測其三個軸——x、y和z上的加速度。計步器處於未知方向,因此測量精度不應嚴重依賴於運動軸與加速度計測量軸之間的關係。

圖1. 各軸的定義
讓我們考慮步行的特性。圖2描繪了一個步伐,我們將其定義為單位步行周期,圖中顯示了步行周期各階段與豎向和前向加速度變化之間的關係。

圖2. 步行階段與加速度模式
圖3顯示了與一名跑步者的豎向、前向和側向加速度相對應的x、y和z軸zhou測ce量liang結jie果guo的de典dian型xing圖tu樣yang。無wu論lun如ru何he穿chuan戴dai計ji步bu器qi,總zong有you至zhi少shao一yi個ge軸zhou具ju有you相xiang對dui較jiao大da的de周zhou期qi性xing加jia速su度du變bian化hua,因yin此ci峰feng值zhi檢jian測ce和he針zhen對dui所suo有you三san個ge軸zhou上shang的de加jia速su度du的de動dong態tai閾yu值zhi決jue策ce算suan法fa對dui於yu檢jian測ce單dan位wei步bu行xing或huo跑pao步bu周zhou期qi至zhi關guan重zhong要yao。

圖3. 從一名跑步者測得的x、y和z軸加速度的典型圖樣
算法
步伐參數
數字濾波器:先,為使圖3所示的信號波形變得平滑,需要一個數字濾波器。可以使用四個寄存器和一個求和單元,如圖4所示。當然,可以使用更多寄存器以使加速度數據更加平滑,但響應時間會變慢。

圖4. 數字濾波器
圖5顯示了來自一名步行者所戴計步器的最活躍軸的濾波數據。對於跑步者,峰峰值會更高。

圖5. 最活躍軸的濾波數據
動態閾值和動態精度: 係統持續更新3軸加速度的最大值和最小值,每采樣50次更新一次。平均值(Max + Min)/2稱為"動態閾值"。接下來的50次采樣利用此閾值判斷個體是否邁出步伐。由於此閾值每50次采樣更新一次,因此它是動態的。這種選擇具有自適應性,並且足夠快。除動態閾值外,還利用動態精度來執行進一步濾波,如圖6所示。

圖6. 動態閾值和動態精度
利用一個線性移位寄存器和動態閾值判斷個體是否有效地邁出一步。該線性移位寄存器含有2個寄存器:sample_new寄存器和sample_old寄存器。這些寄存器中的數據分別稱為sample_new和sample_old。當新采樣數據到來時,sample_new無條件移入sample_old寄存器。然而,sample_result是否移入sample_new寄存器取決於下述條件:如果加速度變化大於預定義精度,則最新的采樣結果sample_result移入sample_new寄存器,否則sample_new寄存器保持不變。因此,移位寄存器組可以消除高頻噪聲,從而保證結果更加精確。
步伐邁出的條件定義為:當加速度曲線跨過動態閾值下方時,加速度曲線的斜率為負值().
峰值檢測: 步伐計數器根據x、y、z三軸中加速度變化最大的一個軸計算步數。如果加速度變化太小,步伐計數器將忽略。
步bu伐fa計ji數shu器qi利li用yong此ci算suan法fa可ke以yi很hen好hao地di工gong作zuo,但dan有you時shi顯xian得de太tai敏min感gan。當dang計ji步bu器qi因yin為wei步bu行xing或huo跑pao步bu之zhi外wai的de原yuan因yin而er非fei常chang迅xun速su或huo非fei常chang緩huan慢man地di振zhen動dong時shi,步bu伐fa計ji數shu器qi也ye會hui認ren為wei它ta是shi步bu伐fa。為wei了le找zhao到dao真zhen正zheng的de有you節jie奏zou的de步bu伐fa,必bi須xu排pai除chu這zhe種zhong無wu效xiao振zhen動dong。利li用yong"時間窗口"和"計數規則"可以解決這個問題。
"時間窗口" 用於排除無效振動。假設人們最快的跑步速度為每秒5步,最慢的步行速度為每2秒1步。這樣,兩個有效步伐的時間間隔在時間窗口[0.2 s - 2.0 s]之內,時間間隔超出該時間窗口的所有步伐都應被排除。
ADXL345的用戶可選輸出數據速率特性有助於實現時間窗口。表1列出了TA = 25°C, VS = 2.5 V和 VDD I/O = 1.8 V時的可配置數據速率(以及功耗)。
表1. 數據速率和功耗

此算法使用50 Hz數據速率(20 ms)。采用interval的寄存器記錄兩步之間的數據更新次數。如果間隔值在10與100之間,則說明兩步之間的時間在有效窗口之內;否則,時間間隔在時間窗口之外,步伐無效。
"計數規則" 用於確定步伐是否是一個節奏模式的一部分。步伐計數器有兩個工作狀態:搜索規則和確認規則。步伐計數器以搜索規則模式開始工作。假設經過四個連續有效步伐之後,發現存在某種規則(in regulation),那麼步伐計數器就會刷新和顯示結果,並進入"確認規則"工gong作zuo模mo式shi。在zai這zhe種zhong模mo式shi下xia工gong作zuo時shi,每mei經jing過guo一yi個ge有you效xiao步bu伐fa,步bu伐fa計ji數shu器qi就jiu會hui更geng新xin一yi次ci。但dan是shi,如ru果guo發fa現xian哪na怕pa一yi個ge無wu效xiao步bu伐fa,步bu伐fa計ji數shu器qi就jiu會hui返fan回hui搜sou索suo規gui則ze模mo式shi,重zhong新xin搜sou索suo四si個ge連lian續xu有you效xiao步bu伐fa。
圖7顯示了步伐參數的算法流程圖。

圖7. 步伐參數算法流程圖
距離參數
根據上述算法計算步伐參數之後,我們可以使用公式1獲得距離參數。
距離 = 步數 × 每步距離 (1)
每步距離取決於用戶的速度和身高。如果用戶身材較高或以較快速度跑步,步長就會較長。參考設計每2秒更新一次距離、速度和卡路裏參數。因此,我們使用每2秒計數到的步數判斷當前跨步長度。表2顯示了用於判斷當前跨步長度的實驗數據。
表2. 跨步長度與速度(每2秒步數)和身高的關係

2秒的時間間隔可以利用采樣數精確算出。以50 Hz數據速率為例,處理器可以每100次采樣發送一次相應的指令。處理器利用一個名為m_nLastPedometer的變量記錄每個2秒間隔開始時的步數,並利用一個名為m_nPedometerValue的變量記錄每個2秒間隔結束時的步數。這樣,每2秒步數等於m_nPedometerValue與m_nLastPedometer之差。
雖然數據速率為50 Hz,但ADXL345的片內FIFO使得處理器無需每20 ms讀取一次數據,極大地減輕了主處理器的負擔。該緩衝器支持四種工作模式:旁路、FIFO、流和觸發。在FIFO模式下,x、y、z軸的測量數據存儲在FIFO中。當FIFO中的采樣數與FIFO_CTL寄存器采樣數位規定的數量相等時,水印中斷置1。如前所述,人們的跑步速度最快可達每秒5步,因此每0.2秒刷新一次結果即可保證實時顯示,從而處理器隻需每0.2秒通過水印中斷喚醒一次並從ADXL345讀取數據。FIFO的其它功能也都非常有用。利用觸發模式,FIFO可以告訴我們中斷之前發生了什麼。由於所述解決方案沒有使用FIFO的其它功能,因此筆者將不展開討論。
速度參數
速度 = 距離/時間, 而每2秒步數和跨步長度均可根據上述算法計算,因此可以使用公式2獲得速度參數。
速度 = 每2秒步數 s × 跨步/2 s (2)
卡路裏參數
我們無法精確計算卡路裏的消耗速率。決定其消耗速率的一些因素包括體重、健身強度、運動水平和新陳代謝。不過,我們可以使用常規近似法進行估計。表3顯示了卡路裏消耗與跑步速度的典型關係。
表3. 卡路裏消耗與跑步速度的關係

由表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秒更新一次。為了考慮運動者的體重,我們可以將公式4轉換為公式5。體重(kg)為用戶輸入量,一個小時等於1800個2秒間隔。
卡路裏 (C/2 s) 4.5 × 速度 × 體重/1800 = 速度 × 體重/400 (5)
如果用戶在步行或跑步之後休息,則步數和距離將不變化,速度應為0,此時的卡路裏消耗可以利用公式6計算(休息時的卡路裏消耗約為1 C/kg/h)。
卡路裏 (C/2 s) = 1 × 體重/1800 (6)
最後,我們可以將所有2秒間隔的卡路裏相加,獲得總卡路裏消耗量。
硬件連接
ADXL345易於連接到任何使用 I2C 或SPI數字通信協議的處理器。圖8給出了演示設備的原理示意圖,它采用3V電池供電。ADXL345的/CS引腳連接到板上的VS,以選擇I2C 模式。利用一個低成本精密模擬微控製器ADuC7024從ADXL345讀取數據,執行算法,並通過UART將結果發送至PC。SDA和SCL分別為 I2C 總線的數據和時鍾引腳,從ADXL345連接到ADuC7024的對應引腳。ADXL345的兩個中斷引腳連接到ADuC7024的IRQ輸入,以產生各種中斷信號並喚醒處理器。

圖8. 硬件係統的原理示意圖
用戶界麵
用戶界麵顯示測試數據,並對操作員的指令做出響應。用戶界麵(UI)運行之後,串行端口應打開,通信鏈路應啟動,隨後演示程序將持續運行。圖9顯示了用戶佩戴計步器步行或跑步時的測試情況。用戶可以輸入其體重和身高數據,距離、速度和卡路裏參數將根據這些數據進行計算。

圖9. 用戶佩戴計步器步行或跑步時的測試情況
結論
ADXL345是一款出色的加速度計,非常適合計步器應用。它具有小巧纖薄的特點,采用3 mm × 5 mm × 0.95 mm塑封封裝,利用它開發的計步器已經出現在醫療儀器和高檔消費電子設備中。它在測量模式下的功耗僅40 μA,待機模式下為0.1 μA,堪稱電池供電產品的理想之選。嵌入式FIFO極大地減輕了主處理器的負荷,使功耗顯著降低。此外,可以利用可選的輸出數據速率進行定時,從而取代處理器中的定時器。13weifenbianlvkeyijiancefeichangxiaodefengfengzhibianhua,weikaifagaojingdujibuqichuangzaoletiaojian。zuihou,tajuyousanzhoushuchugongneng,jieheshangshusuanfa,yonghukeyijiangjibuqidaizaishenshangjihurenhebuwei。
幾點建議:如果應用對成本極其敏感,或者模擬輸出加速度計更適合,建議使用ADXL335,它是一款完整的小尺寸、薄型、低功耗、三軸加速度計,提供經過信號調理的電壓輸出。如果PCB尺寸至關重要,建議使用ADXL346,這款低功耗器件的內置功能甚至比ADXL345還多,采用小巧纖薄的3 mm × 3 mm ×0.95 mm塑封封裝,電源電壓範圍為1.7 V至2.75 V。
致謝
本文借鑒了Charles Lee和Harvey Weinberg二位的技術經驗,筆者對此表示感謝。
參考電路
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.
推薦閱讀:
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 具身智能成最大亮點!CITE 2026開幕峰會釋放產業強信號
- 助力醫療器械產業高質量發展 派克漢尼汾閃耀2026 ICMD
- 比異步時鍾更隱蔽的“芯片殺手”——跨複位域(RDC)問題
- 數據之外:液冷技術背後的連接器創新
- “眼在手上”的嵌入式實踐:基於ROS2與RK3576的機械臂跟隨抓取方案
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
Energy Micro
EPB
ept
ESC
ESD
ESD保護
ESD保護器件
ESD器件
Eurotect
Exar
Fairhild
FFC連接器
Flash
FPC連接器
FPGA
Fujitsu
Future
GFIVE
GPS
GPU
Harting
HDMI
HDMI連接器
HD監控
HID燈
I/O處理器
IC
IC插座
IDT
IGBT



