基于三轴加速度传感器的老人摔倒检测

摘要:老人因意外摔倒不能及时救助会造成严重的后果,发生意外时若能及时通知救援人员,可大大降低摔倒后的危险程度。三轴加速度传感器能够采集分析人体摔倒时三个方向的加速度变化特征,以判断老人是否摔倒。主要分析了三轴加速度传感器ADXL345的特点及工作原理,最后提出一种检测老人意外摔倒的方案。
关键词:三轴加速度传感器;中断阈值判断;老人摔倒检测;加速度变化

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的控制命令也是通过接收来自串口的读写命令来实现的,这主要是对寄存器的操作。

3 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中断置位。

                                                                                       基于三轴加速度传感器的老人摔倒检测_第1张图片

你可能感兴趣的:(基于三轴加速度传感器的老人摔倒检测)