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