• 欢迎来到论文发表网(www.lunwenchina.cn),我们为您提供专业的论文发表咨询和论文发表辅导!
受“清朗”行动影响,原网站QQ被封,新老作者请联系通过新的QQ:189308598。或者电话微信:15295038855

你的位置:论文发表网 >> 论文库 >> 工学论文 >> 详细内容 在线投稿

基于 STM32F407 的颈部姿态报警装置设计

热度0票  浏览111次 时间:2018年7月19日 09:31
  摘要:文章介绍了一种颈部姿态报警装置的设计方案。该装置以 STM32F407 作为主控芯片,选用 6 轴运动处理传感器MPU-6050 获取姿态,实现了对人体颈部姿态的读取,坐姿的实时监控和报警,并语音提示当前的状态和提醒休息时间。
  实验证明该装置使用方便,检测灵敏,效果良好。
  关键词:STM32F407;颈部姿态;MPU6050
  中图分类号:TP21 文献标识码:A 文章编号:1673-1131(2015)10-0059-02.
  在人体颈部姿态的检测中,需要周期性的获取当前颈部姿态,实现相应状态的报警处理。目前,较为普遍的姿态获取方法是,通过控制器获取三轴加速度传感器获取重力加速度,运用三轴陀螺仪获取三轴角加速度,然后进行相应的复杂计算后得到准确的姿态信息,从而实现了良好的控制效果。本文基于 STM32F407 微控制器,采用了 MPU6050 获取颈部的姿态信息,实现了对颈部姿态的检测和报警。并且设计了相应的功能电路和软件,使得该报警装置具有人性化的语音提醒,良好的操作显示界面。
  1 硬件设计
  1.1 器件选择
  本系统选择意法半导体公司的 STM32F407 芯片作为控制器。STM32F407 以 32Cortex-M4 作为内核,有自适应实时加速器 ART,具有 1MB 的 FLASH 存储器,从 FLASH 中连续执行允许零等待,频率高达 168MHz,含内存保护单元,高达(192+4)B的静态随机存储器SRAM,更含有灵活的外部存储器接口 FSMC 以及多个通用直接内存存取控制器 DMA。选择了 Invensense 公司的整合性六轴运动处理芯片 MPU6050作为姿态传感器。相对于多组件方案,免除了组合陀螺仪与加速度器之间差别的问题,节约了大量的包装空间。由主要I2C 端口以单一数据流的形式,向应用端输出完整的运动信息,可处理运动感测的复杂数据,降低了运动处理运算对控制器的负荷,并为应用开发提供结构化的 API。
  语音功能部分选择深圳恒创新科技的 HSC003 串口语音模块。该模块完美集成了 MP3、WMV 的硬解码,同时软件支持 USB/TF 驱动,支持 AT16、FAT32 文件系统。通过简单的串口指令即可完成播放指定的音乐,以及如何播放音乐等功能,无需繁琐的底层操作,稳定可靠的性能是此款产品的最大特点。
  1.2 硬件电路设计
  本系统的工作过程是通过主控芯片对 MPU6050 进行初始化,并加载DMP库,从而可以直接通过读取MPU6050 的寄存器获取到四元数数据。最后需要将四元数转换为欧拉角的形式,获取到颈部的当前姿态,判断后将相应信息显示在屏幕上,并判断是否进行语音报警。系统的硬件电路简单,微控制器与主要外设的连接,主要包含了 STM32 与 MPU6050 的连接以及与语音模块的连接,接口的相关电路如图1、图2所示。 微控制器与姿态传感器 MPU6050 连接时,通讯接口只有时钟线 SCL 和信号线 SDA 两个。具体连接如图1所示,时钟线 SCL 和信号线 SDA 连接的分别是微控制器的 PB6 和 PB7,微控制器和姿态传感器的通信协议是 IIC 总线协议,在软件上需要将 PB6 和 PB7 设置为开漏输出模式,用于保证两者之间的通信良好。MPU6050的其他端口则不予连接,保持悬空即可。
  语音模块与微控制器是通过串口的方式进行连接,所以在硬件结构上需要串口发送(TX)以及串口接收(RX)来进行通信。如图 2 所示,语音模块的 RX 与微控制器的 PA9 相连、TX 与 PA10 相连,模块的 2 脚和 5 脚连接喇叭,用于播放语音。在使用过程中,PA9 向模块发送相关命令,实现相应的功能,PA10 用于接收语音模块的命令响应,查看是否发送命令成功,以及查询语音模块当前的播放状态。
  图2 语音模块与微控制器接口电路
  2 软件设计
  图3 软件总体流程图
  系统在软件上包括了对液晶屏、语音模块、MPU6050 的初始化以及其他外设的相关初始化。初始化完毕后对姿态进行初步的数据校正,保存起来用作正常的姿态数据,当在使用过程中与原始姿态的差值超过了相应的范围,就默认为当前的姿态有误,并进行周期的语音报警,等待姿态恢复正常后停止报警提示。软件程序流程图如图 3 所示。
  2.1 姿态信息获取
  使用MPU6050 的DMP库能够轻松得获得与当前姿态相关的四元数数据。通过读取 MPU6050 内部 FIFO 来获取四元数,然后将四元数转换为欧拉角的形式,即可得到某个当前平面上姿态的航向角、俯仰角和横滚角。其中四元数到欧拉角的转换公式如下:
  由于 arctan 和 arcsin 计算后结果的取值范围是 ,并不能够取得所有的朝向,因此在实际的计算使用中需要用atan2 来代替 arctan。那么四元数转换为欧拉角的公式可以替换为如下。
  由此可以确立当获取到四元数的数值后,需要对其通过公式进行转换为欧拉角。计算过程如下:
  q0=quat[0] / q30;
  q1=quat[1] / q30;
  q2=quat[2] / q30;
  q3=quat[3] / q30;
  Pitch = asin(-2*q1*q3+2*q0*q2)*57.3;
  Roll = atan2(2*q2*q3+2*q0*q1,-2*q1*q1-2*q2*q2+1)* 57.3;Yaw=atan2(2*(q1*q2+q0*q3),q0*q0+q1*q1-q2*q2-q3*q3)*57.3;根据以上的公式即可计算出所需要的欧拉角 Pitch、Roll和 Yaw,而在实际的运用中,只使用了一个坐标面用来检测颈部的姿态,用于简化设计和提高效率,在本次设计中使用的是俯仰角 Pitch 作为检测的标准。
  在系统进行检测前,由于每个人的姿态标准不一样,以及对传感器的摆放位置各不相同。因此,在系统开机后需要对标准的姿态进行校正,用来适应不同的使用环境。系统的校正采用了下面的方法:语音提示保持正确的坐姿,并在此基础上连续读取 20 次姿态数据。对姿态数据比较后获得 20 个姿态数据中的最大值以及最小值,如果当前姿态下最大值与最小值的差在一定角度范围内,说明当前的姿态可以作为标准姿态来使用,最后将这 20 次数据的平均值作为标准姿态的参考值,校准完毕。
  在获取标准姿态的数据后,需要对姿态数据进行滤波处理,本系统采用了中值加均值滤波的方式。具体步骤如下:连续读取 10 次姿态数据,并对数据进行选择排序,排序完成后选取居于中间的四个数据作为有效数据,进行均值化处理后作为此次的真正姿态数据,作为函数的返回值。采用中值均值滤波的方法在不对系统响应造成影响的前提下,能够有效地滤除了不必要的噪声,提高系统的抗干扰能力和稳定性。
  在已经获取到了姿态数据的基础下,需要设计颈部姿态检测的控制报警设计。为了对当前颈部姿态实现比较准确的识别,采用了状态转换的机制,通过多次判断来防止对姿态的误报。当用户的姿态大于初始的标准姿态一定角度后,报警控制机制进入就绪状态,用于确定这是偶尔出现的抖动对系统造成影响;进入就绪状态后需要对用户姿态继续监测,当新 的用户姿态依然超越了设定的姿态界限,计数次数进行递增,计数次数若递增至设计的次数后,报警控制系统从就绪状态进入报警状态,表明当前用户姿态确实已经处于不良姿态,语音提醒注意坐姿,屏幕显示文字提示;而若报警控制系统在处于就绪状态过程中监测到姿态恢复到了正确坐姿,则退出就绪状态到正常,这样能够很好地防止“误报”的情况。
  当报警控制系统已经处于报警状态中,若检测到用户的姿态已经不在姿态报警范围内,那么此时状态更改为正常状态,并语音提示姿态已恢复。该系统还设置了休息状态,用于提醒用户工作学习已经到了一定的时间,需要注意身心的劳逸结合,当到了休息时间,会语音提示用户到了休息时间,应该休息一段时间,并会播放音乐用来舒缓紧张的心情,很人性化的设计。
  2.2 实验测试
  运用以上算法对采集的数据进行处理,使采集的数据更接近真实的值。图4 为用户佩戴时头部姿态进行变化而得到的时间与角度的关系曲线图:
  图4 时间与角度变化的曲线图
  3 结语
  本文对颈部姿态报警装置设计的硬件设计和软件流程进行了相关的描述,提出了一种用于检测颈部姿态的可穿戴设备的方案设计,使用 MEMS 元器件 MPU6050 作为姿态传感器,简化了设计,使用简单,使用语音提醒更添加了人性化,增强了用户体验,使用状态转换的方式用来设计报警控制系统减少了误判率,并且装置具有定时提醒用户休息的能力,这一功能可缓解办公人员及其他长期面对电脑的人及时休息,预防因长久坐着而导致的各项疾病。实验表明,在实际使用过程中,能够很好地判断用户的颈部姿态,达到预期的设计要求。
  参考文献:
  [1] 曾唯,林麒,梁斌.MEMS 角速率陀螺仪标定实验与数据处理[J].仪器仪表装置,2007,6(20).
  [2] 赵翔,杜普选,李虎,杨浩淼.基于 MEMS 加速度计和陀螺仪的姿态检测系统[J].铁路计算机应用,2012,21(3).
  [3] 张其,袁纵横,梁丁,宁运琨,赵国如.基于 MPU6000 的低功耗无线人体传感器网络节点设计 [J]. 计算机测量与控制,2014,22(2).
  [4] 贾培刚,王少梅.一种人体头部运动姿态的测量方法[].西安工业大学学报,2011,31(5).
  [5] 张谦,裴海龙,罗沛.一种捷联姿态航向参考系统信息融合算法应用[J]. 计算机工程与应用,2007, 43(15)基金项目:西南科技大学大学生创新基金项目(CX15-082)。
  作者简介:谢丛霜(1994-),女,四川自贡人,研究方向为自动控制及电子信息。



中国论文网(www.lunwenchina.cn),是一个专门从事期刊推广、论文发表、论文写作指导的机构。本站提供一体化论文发表解决方案:省级论文/国家级论文/核心论文/CN论文。

投稿邮箱:lunwenchina@126.com

在线咨询:189308598(QQ) 

联系电话:15295038855(徐编辑)  

 

上一篇 下一篇
0

联系我们