關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 采用3軸加速度計ADXL345的全功能計步器方案設計

        采用3軸加速度計ADXL345的全功能計步器方案設計

        作者: 時間:2012-06-04 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/160507.htm

        距離參數
        根據上述算法計算步伐參數之后,我們可以使用公式1獲得距離參數。

        距離 = 步數 × 每步距離(1)

        每步距離取決于用戶的速度和身高。如果用戶身材較高或以較快速度跑步,步長就會較長。參考設計每2秒更新一次距離、速度和卡路里參數。因此,我們使用每2秒計數到的步數判斷當前跨步長度。表2顯示了用于判斷當前跨步長度的實驗數據。

        表2. 跨步長度與速度(每2秒步數)和身高的關系

        每2秒步數跨步(m/s)
        0~2身高/5
        2~3身高/4
        3~4身高/3
        4~5身高/2
        5~6身高/1.2
        6~8身高
        >=81.2 ×身高

        2秒的時間間隔可以利用采樣數精確算出。以50 Hz數據速率為例,處理器可以每100次采樣發送一次相應的指令。處理器利用一個名為m_nLastPedometer的變量記錄每個2秒間隔開始時的步數,并利用一個名為m_nPedometerValue的變量記錄每個2秒間隔結束時的步數。這樣,每2秒步數等于m_nPedometerValue與m_nLastPedometer之差。

        雖然數據速率為50 Hz,但的片內FIFO使得處理器無需每20 ms讀取一次數據,極大地減輕了主處理器的負擔。該緩沖器支持四種工作模式:旁路、FIFO、流和觸發。在FIFO模式下,x、y、z軸的測量數據存儲在FIFO中。當FIFO中的采樣數與FIFO_CTL寄存器采樣數位規定的數量相等時,水印中斷置1。如前所述,人們的跑步速度最快可達每秒5步,因此每0.2秒刷新一次結果即可保證實時顯示,從而處理器只需每0.2秒通過水印中斷喚醒一次并從讀取數據。FIFO的其它也都非常有用。利用觸發模式,FIFO可以告訴我們中斷之前發生了什么。由于所述解決方案沒有使用FIFO的其它,因此筆者將不展開討論。 本文來自電子發燒友網(http://www.elecfans.com)

        速度參數
        速度 = 距離/時間,而每2秒步數和跨步長度均可根據上述算法計算,因此可以使用公式2獲得速度參數。

        速度 = 每2秒步數 × 跨步/2 s(2)

        卡路里參數
        我們無法精確計算卡路里的消耗速率。決定其消耗速率的一些因素包括體重、健身強度、運動水平和新陳代謝。不過,我們可以使用常規近似法進行估計。表3顯示了卡路里消耗與跑步速度的典型關系。

        表3. 卡路里消耗與跑步速度的關系

        跑步速度 (km/h)卡路里消耗(C/kg/h)
        810
        1215
        1620
        2025

        由表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)

        卡路里參數隨同距離和速度參數每2秒更新一次。為了考慮運動者的體重,我們可以將公式4轉換為公式5。體重(kg)為用戶輸入量,一個小時等于1800個2秒間隔。

        卡路里(C/2 s) = 4.5 × 速度 × 體重/1800(5)

        如果用戶在步行或跑步之后休息,則步數和距離將不變化,速度應為0,此時的卡路里消耗可以利用公式6計算(休息時的卡路里消耗約為1 C/kg/h)。

        卡路里(C/2 s) = 1 × 體重/1800(6)

        最后,我們可以將所有2秒間隔的卡路里相加,獲得總卡路里消耗量。

        硬件連接
        易于連接到任何使用I2C®或SPI數字通信協議的處理器。圖8給出了演示設備的原理示意圖,它3V電池供電。ADXL345的/CS引腳連接到板上的VS,以選擇I2C模式。利用一個低成本精密模擬微控制器ADuC7024從ADXL345讀取數據,執行算法,并通過UART將結果發送至PC。SDA和SCL分別為I2C總線的數據和時鐘引腳,從ADXL345連接到ADuC7024的對應引腳。ADXL345的兩個中斷引腳連接到ADuC7024的IRQ輸入,以產生各種中斷信號并喚醒處理器。

        硬件系統的原理示意圖 www.elecfans.com

        圖8. 硬件系統的原理示意圖

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

        用戶佩戴計步器步行或跑步時的測試情況 www.elecfans.com

        圖9. 用戶佩戴步行或跑步時的測試情況

        結論
        ADXL345是一款出色的,非常適合應用。它具有小巧纖薄的特點,3 mm × 5 mm × 0.95 mm塑封封裝,利用它開發的計步器已經出現在醫療儀器和高檔消費電子設備中。它在測量模式下的功耗僅40 µA,待機模式下為0.1 µA,堪稱電池供電產品的理想之選。嵌入式FIFO極大地減輕了主處理器的負荷,使功耗顯著降低。此外,可以利用可選的輸出數據速率進行定時,從而取代處理器中的定時器。13位分辨率可以檢測非常小的峰峰值變化,為開發高精度計步器創造了條件。最后,它具有三軸輸出,結合上述算法,用戶可以將計步器戴在身上幾乎任何部位。

        幾點建議:如果應用對成本極其敏感,或者模擬輸出更適合,建議使用ADXL335,它是一款完整的小尺寸、薄型、低功耗、三軸,提供經過信號調理的電壓輸出。如果PCB尺寸至關重要,建議使用ADXL346,這款低功耗器件的內置功能甚至比ADXL345還多,小巧纖薄的3 mm × 3 mm × 0.95 mm塑封封裝,電源電壓范圍為1.7 V至2.75 V。

        加速度計相關文章:加速度計原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 尉犁县| 锦屏县| 息烽县| 澎湖县| 奉节县| 响水县| 塔城市| 航空| 石台县| 松潘县| 浙江省| 云龙县| 凉山| 弋阳县| 荆门市| 清丰县| 天门市| 景德镇市| 麟游县| 蒙山县| 岑溪市| 涟水县| 绥中县| 精河县| 浠水县| 汪清县| 合阳县| 新野县| 黎城县| 高陵县| 郎溪县| 琼结县| 海门市| 广南县| 永丰县| 美姑县| 延边| 洮南市| 会同县| 雷山县| 临城县|