0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于ADXL345传感器检测老人意外摔倒的方案

电子工程师 作者:工程师陈翠 2018-07-08 07:17 次阅读

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通信方式。

基于ADXL345传感器检测老人意外摔倒的方案

3.1 ADXL345的SPI通信过程

SPI的最高时钟为5 MHz,通信开始时主MCU选择CS置位,CS复位则通信结束,SCLK由主MCU提供串行时钟。SDISDO是串行数据输入与输出,它们分别在时钟的上升沿获取数据。一次通信过程中读写多字节必须要设定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所示。

基于ADXL345传感器检测老人意外摔倒的方案

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所示。

基于ADXL345传感器检测老人意外摔倒的方案

4.4 检测方案流程图

摔倒检测方案流程图如图4所示。

基于ADXL345传感器检测老人意外摔倒的方案

5 结语

本文主要以三轴加速度传感器ADXL345为例,介绍了其工作原理,与微控制器的通信方式及接口连接。通过分析得知三轴加速度传感器ADXL345非常适用于检测人体意外摔倒。最后利用ADXL345的内部中断,提出一种检测老人意外摔倒的方案。利用三轴加速度传感器解决老人意外摔倒检测问题有其重要的科研价值和应用意义。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2525

    文章

    48129

    浏览量

    740183
  • ADXL345
    +关注

    关注

    13

    文章

    68

    浏览量

    33122
收藏 人收藏

    评论

    相关推荐

    ADXL345无法检测到落体运动如何解决?

    在用加速度传感器ADXL345测量落体运动时,当初速度为0自由落体时,传感器能够正常检测到。但是当初速度不为0或者旋转时再扔出去,传感器
    发表于 12-29 06:45

    加速传感器ADXL345模块管脚怎么接?

    加速传感器ADXL345模块管脚怎么接到51单片机上?
    发表于 07-16 17:15

    谁有基于ADxL345加速度传感器、430单片机的跌倒检测算法程...

    谁有基于ADxL345加速度传感器、430单片机的跌倒检测算法程序啊?
    发表于 05-01 22:11

    【OneNET麒麟座试用体验】获取加速度传感器ADXL345数据

    内部有多种运动状态检测和灵活的中断方式等特性。ADXL345传感器检测轴如下图所示: 当 ADXL345 沿
    发表于 05-12 23:15

    基于ADI的ADXL345的加速度传感器典型应用

    传感器还会集成多种中断模式。这些特性可以为用户提供更加方便灵活的解决方案。 本参考设计基于ADI的ADXL345,实现了加速度传感器的一系列典型应用,包括:计步器,闪信,硬盘跌落保护,
    发表于 09-10 11:13

    adxl345的使用问题

    检测ADXL345设备。 -...单片机加adxl345传感器和湿度传感器的电路图adxl345
    发表于 09-11 16:07

    零知开源分享-ADXL345三轴加速度传感器的使用

    ADXL345三轴加速度传感器 ADXL345 是 ADI 公司推出的基于 iMEMS 技术的 3 轴、数字输出加速度传感器2、电路连接接线很简单,只需要把模块的SCL、SDA引脚与
    发表于 05-23 16:07

    请问ADXL345摔倒报警系统的摔倒检测为什么要打印温度值?

    最近在淘宝上买了一个基于ADXL345摔倒报警,可是搞不懂它的程序。求大神指点一下。 if(ReadAdxl345==TRUE)//定时读取ad
    发表于 09-18 04:31

    ADXL345三轴加速度传感器的初始化步骤

    32 级 FIFO 存储,并且内部有多种运动状态检测和灵活的中断方式等特性。ADXL345 传感器检测轴如图42.1.1.1 所示:当 ADXL
    发表于 01-14 17:15

    ADXL345传感器简介

    ADXL345传感器1.ADXL345传感器简介2. 硬件设计3. 软件设计3.1 STM32CubeMX设置3.2 MDK-ARM编程4. 下载验证
    发表于 08-13 06:24

    stm32驱动ADXL345传感器例程相关资料推荐

    stm32 驱动ADXL345传感器例程(IIC驱动,可自行改SPI方式)前言一、介绍ADXL345传感器二、STM32驱动使用步骤1.配置IIC通信协议2.寄存
    发表于 01-14 08:00

    基于3轴加速度计ADXL345的跌倒检测应用

    基于3轴加速度计ADXL345的跌倒检测应用 ADXL345是ADI公司的三轴数字加速度传感器,主要应用于消费电子的微型惯性器件,最大可感知土16g的加速度,感应精度可达3.9mg /
    发表于 11-28 15:20 359次下载
    基于3轴加速度计<b class='flag-5'>ADXL345</b>的跌倒<b class='flag-5'>检测</b>应用

    ADXL345芯片使用心得

    ADXL345芯片使用心得,介绍使用传感器过程的使用体会
    发表于 05-11 11:08 23次下载

    ADXL345三轴数字iMEMS运动传感器的性能分析

    ADXL345是一款新型低功耗三轴数字iMEMS运动传感器。本演示视频展示了该器件的独特省电特性和超凡的分辨率。
    的头像 发表于 06-12 06:03 4618次阅读
    <b class='flag-5'>ADXL345</b>三轴数字iMEMS运动<b class='flag-5'>传感器</b>的性能分析

    ADXL345参考代码

    ADXL345参考代码
    发表于 03-18 11:16 90次下载
    <b class='flag-5'>ADXL345</b>参考代码