加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

【RT-Thread作品秀】基于ST传感器的跌落及倾倒检测

2020/12/18
499
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
方块图(2)
相关方案
  • 方案介绍
  • 相关文件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

【RT-Thread作品秀】基于ST传感器的跌落及倾倒检测

作者:pto1011

 

 

概述

消费电子领域,跌落通常会对便携式电子产品(如手机,平板,笔记本电脑)的零部件(屏幕及机械硬盘)造成损伤,如何可靠的检测这些跌落事件并实时启动保护装置,采取主动避震措施来减少触地带来的冲击。中国即将步入老年社会,如何实时检测老人摔倒事件并做到事前主动启动保护减震装置和事后第一时间发出告警。 这些都需要有快速(Fast)准确(Accurate)可靠(Reliable)的跌落及倾倒检测能力。

    本应用即是基于ST公司的LSM6DSOX六轴传感器,高速采集加速度计陀螺仪的信号,通过算法来提供跌落及倾倒实时检测,其结果显示于交互界面(串口输出)和板载LED状态(未进入检测模式:LED blink; 开始进入检测:LED OFF; 检测到跌落或倾倒:LED ON)。

开发环境

硬件:ART-Pi STM32H750 开发板STEVAL-MKI197V1(LSM6DSOX)六轴传感器,PARALAX USB2SERIAL转接板 

RT-Thread版本:4.0.3

开发工具及版本:RT-Thread Studio 1.1.15

RT-Thread使用情况概述

内核部分:创建了一个独立线程用于实现读取ST传感器参数,输出至高速串口或实时检测,详情见下图。

组件部分:finsh组件是本应用开发过程中最重要的程序调试工具及交互窗口

硬件框架

主要使用了ART-PI开发板上的STM32H750处理器SPI,Timer, UART, 板载资源使用了LED,其它硬件模块包括ST的六轴传感器以及自备的USB转串口板。

软件框架说明

 

 

软件模块说明

 

 

演示效果

 

视频演示:

 

比赛感悟

      通过参与比赛,第一次接触并了解RT-Thread及其生态系统, 用户体验很好。尤其是Finsh组件,作为交互界面,程序的调试过程中几乎完全依赖于之。

    本应用中分别使用了MCU的SPI,UART和硬件定时器组件,UART的使用较为简单,硬件定时器在使用时则遇到了问题,在RT-Thread Setting中配置之后,一直无法进入中断,通过单步调试,发现寄存器在写入数值之后仍全为0,进一步检测发现其时钟未enable。

在拿到ART-Pi板之前,曾设想实现所有传感器参数读取及detection算法都在1ms定时器中断服务自程序中完成,但编译时遇到错误 ,ISR中无法调用mutex,曾尝试移除mutex,但读取的sensor参数几乎全部错误。后来选择在新建的独立线程中来实现,读取的sensor数据全部正确。

通过实测,本应用基本实现了最初的设计目标。仍存在如下问题:在1ms采样间隔下仍会观测到存在数十毫秒未读取传感器信号的现象,期待将来有可能实现RT-Thread下对于高速(亚毫秒级别)的实时关键任务的支持。

 最后,感谢比赛组织方提供的硬件和软件开发环境,以及工作人员的热情帮助!

 

 

 

  • 代码地址.txt
    描述:代码地址
  • RT-Thread作品秀】基于ST传感器的跌落及倾倒检测--开发介绍.pdf
    描述:应用开发总结
  • 大赛作品提交-【RT-Thread作品秀】基于ST传感器的跌落及倾倒检测.docx
    描述:大赛作品提交

相关推荐

电子产业图谱