1 加速度傳感器
1.1 定 義
加速度傳感器是一種能夠測量加速力的電子設備。加速力就是當物體在加速過程中作用在物體上的力,就好比地球引力,也就是重力。加速度計有兩種:一種是角加速度計,是由陀螺儀(角速度傳感器)的改進的。另一種就是線加速度計。
1.2 加速傳感器的工作原理
加速度傳感器會接受外界傳遞的物理性輸入,通過感測器轉換為電子信號,再最終轉換為可用的信息。主要感應方式是對微小物理量的變化進行測量,再通過電壓信號來表示這些變化量。
2 三軸加速度傳感器ADXL345
2.1 概述
ADXL345是ADI公司推出的基于MEMS技術的數字輸出的三軸加速度傳感器。ADXL345具有±2g,±4g,±8g,±16g可變的測量范圍;最高13 b分辨率測量;固定的4 mg/LSB靈敏度;3 mm×5 mm×1 mm超小封裝;40~145 μA超低功耗;標準的I2C或SPI數字接口;32級FIFO存儲;以及內部多種運動狀態檢測和靈活的中斷方式等特性。這些特性使其成為一款非常適合用于摔倒檢測的加速度傳感器。
2.2 工作原理
ADXL345首先由前端感應器件感應測得加速度的大小,然后由感應電信號器件轉為可識別的電信號,這個信號是模擬信號。ADXL345集成的A/D裝換器將此模擬信號轉換為數字信號。在計算機中,數字信號一律用補碼的形式表示,在此也一樣,A/D轉換器輸出的是16位的二進制補碼。經過數字濾波器的濾波后,在控制和中斷邏輯單元的控制下訪問32級FIFO,通過串行接口讀取數據。ADXL345的控制命令也是通過接收來自串口的讀寫命令來實現的,這主要是對寄存器的操作。
ADXL345為用戶提供了兩種與微控制器的通信方式:SPI和I2C。本文采用基于嵌入式的S3C2410微控制器與三軸加速度傳感器ADXL345的連接來詳細講述ADXL345的SPI通信方式。
3.1 ADXL345的SPI通信過程
SPI的最高時鐘為5 MHz,通信開始時主MCU選擇CS置位,CS復位則通信結束,SCLK由主MCU提供串行時鐘。SDI與SDO是串行數據輸入與輸出,它們分別在時鐘的上升沿獲取數據。一次通信過程中讀寫多字節必須要設定MB位(Multiple—byte Bit),在讀取完第一個寄存器的數據后ADXL345會自動將地址指向下一個寄存器。ADXL345輸出16位二進制補碼,每個軸都分配了2 B輸出數據寄存器,共6個,地址為0X32-0X27,這樣會連續輸出6 B數據。但對地址非連續的寄存器進行操作必須通過CS停止通信并單獨設定下一個要操作的寄存器地址,然后再建立通信。所以通過SPI讀取ADXL345采集的數據只能連續讀取6 B數據,然后地址返回0X32繼續讀取6 B數據。
3.2 S3C2410的接口特點
S3C2410有2個串行外圍設備接口(SPI),每個SPI接口都有2個分別用于發送和接收的8位移位寄存器。在SPI通信中,數據同時被發送(串行移出)和接收(串行移入),8位串行數據的傳輸速率由相關的控制寄存器決定。
SPI的接口特性:與SPI接口協議V2.11兼容;8位用于發送的移位寄存器;8位用于接收的移位寄存器;8位預分頻邏輯;查詢、中斷和DMA傳送模式。
3.3 接口連接
根據ADXL345工作原理和S3C2410的接口特點,把S3C2410的SPI配置為主設備,完成對ADXL345的接口設計,硬件連接如圖2所示。
SPI MOSI作為主設備的輸出,SPI MISO作為主設備的輸入,SPI CLK用作SPI通信的串行時鐘。且S3C2410支持4種不同的傳輸格式,可以保證主從設備時序的一致性。
S3C2410的SPI接口操作:通過SPI接口S3C2410可以與ADXL345同時發送和接收8位數據。串行時鐘線與兩條數據線同步,用于移位和數據采樣。
4 老人摔倒檢測
4.1 檢測原理
將三軸加速度傳感器的三個坐標分別與人體坐標相對應,x軸代表人體左右方向加速度變化,y軸代表人體前后方向的加速度變化,z軸代表人體垂直方向的加速度變化。當人在站立或行走狀態時,z軸的加速度接近g,x軸和y軸加速度接近0。當人體的摔倒過程中,三個軸的加速度及其矢量和會發生變化,通過設定一定的閾值,判斷三個軸向的加速度變化,判斷老人是否摔倒。
4.2 ADXL345中斷
Free_fall:當加速度值低于一定閾值并且持續超過一定的時間時,Free_fall中斷置位。
Activity:當加速度值超過一定閾值時,Activity中斷置位。
Inactivity:當加速度值低于一定閾值且持續超過一定時間時,Inactivity中斷置位。
4.3 檢測判斷方案
失重檢測:人體摔倒的過程中存在失重現象,雖然沒有自由落體時失重現象明顯,但加速度矢量和也會小于1g,利用Free_fall中斷判斷人體摔倒過程中的失重過程,將此作為摔倒狀態的第一個判斷依據。
撞擊檢測:人體在摔倒時與地面發生撞擊,加速度矢量和會產生一個峰值。利用ADXL345的Activity中斷來檢測。在此需要設置一個時間的閾值,在失重檢測與撞擊檢測之間,設置時間間隔為200 ms,如果在Free_fall中斷后200 ms仍會發生Activity中斷,認為人體沒有摔倒,也可能是因為彎腰動作造成加速度變化。
靜止檢測:人體摔倒不會馬上站起來,會有一點時間的靜止狀態。由于人體由垂直變為水平,此時加速度的矢量和會小于某個值。利用ADXL345的Inactivity中斷來檢測。設置Activity中斷與Inactivity中斷的時間間隔為2 s,在撞擊后的3.5 s內應該有靜止狀態,如果時
間超時還未產生Inactivity中斷,認為沒有摔倒。
與初始狀態比較檢測:人體在摔倒之后與站立時的三個軸向的加速度是不同的。為了進一步檢測人體是否摔倒,可以取人體摔倒之前的三個軸向的加速度與摔倒后的加速度進行比較,如果各個軸向的加速度之差超過一定的閾值,判斷為一次摔倒。
可以根據人體摔倒過程中加速的變化曲線來設定各個閾值。摔倒過程中的加速度變化曲線如圖3所示。
4.4 檢測方案流程圖
摔倒檢測方案流程圖如圖4所示。
5 結語
本文主要以三軸加速度傳感器ADXL345為例,介紹了其工作原理,與微控制器的通信方式及接口連接。通過分析得知三軸加速度傳感器ADXL345非常適用于檢測人體意外摔倒。最后利用ADXL345的內部中斷,提出一種檢測老人意外摔倒的方案。利用三軸加速度傳感器解決老人意外摔倒檢測問題有其重要的科研價值和應用意義。
-
傳感器
+關注
關注
2548文章
50709瀏覽量
752096 -
ADXL345
+關注
關注
13文章
69瀏覽量
33845
發布評論請先 登錄
相關推薦
評論