基于加速度传感器的无线人体动作测量设备

MEMS/传感技术

1285人已加入

描述

 

  本文介绍的设备是使用加速度传感器的无线人体动作信息测量设备,在人体四肢及躯干同时佩戴5组测量设备,准确反映人体各部分动作情况,同时使用无线数据传输方式减少体验者的不适感。

  1 测量原理

  测量模块放置于人体四肢及躯干,以右手为例。测量模块放置于右手肘关节外侧,根据重力在加速度传感器三轴上的分量,可以计算出传感器坐标系与自然坐标系的夹角,进而得出传感器所在手臂平面与自然坐标系的夹角,根据三个夹角与传感器到肩膀的固定位置,可以计算出传感器所在手臂部位的空间位置。传感器坐标系与自然坐标系夹角如图1所示。

  

加速度传感器

 

  

加速度传感器

 

  式中Ax为传感器x轴加速度分量,Ay为传感器y轴加速度分量,Az为传感器z轴加速度分量。人体躯干直立,右手微抬时传感器所在手臂与自然坐标系的三个夹角如图2所示。其中右手上白点代表传感器。

  

加速度传感器

 

  2 系统硬件设计

  硬件系统由运动测量模块与数据接收模块构成。运动测量模块放置于人体四肢及躯干部位,负责采集加速度数据,并将数据通过2.4G无线方式发送至数据接收端。数据接收模块同时接收5组运动测量模块的测量数据,并通过USB接口与PC机传递数据。

  2.1 运动测量模块硬件设计

  运动测量模块由ADXL345加速度传感器、nRF24L01无线射频模块、ATmega88单片机和电源模块构成,硬件结构如图3所示。测量模块实物如图4所示。

  

加速度传感器

 

  

 

  ADXL345是ADI公司的三轴数字加速度传感器,主要应用于消费电子的微型惯性器件,最大可感知土16g的加速度,感应精度可达3.9mg /LSB,倾角测量典型误差小于1°。通过其内置的ADC将加速度信号转换为数字量存放在片内缓冲区,使用SPI总线读取数据。在实际使用中,为提高输出数据的稳定性,设置感应范围为±2 g,感应精度为3.9 mg,可以满足人体动作加速度范围与精度要求。传感器采样速度在6.25~3 200 Hz之间可调,因为无线发送数据需要时间较长,并且低采样速率可以降低噪声干扰,将采样速度设定在100Hz,即10ms输出1组数据。

  控制模块由ATmega88单片机及配套电路构成。ATmega88为8位AVR单片机,在3.3 V电压模式下可以工作于8 MHz,片内拥有8 KB Flash与1 KB SRAM。其主要任务为初始化加速度传感器和无线射频芯片,并从加速度传感器中读取测量数据,将数据初步整理后传送至无线射频芯片。

  无线射频模块主要由nRF24L01构成,是一款单片射频收发器件,它工作于2.4~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等。数据传输速率可达1~2 Mb/s。它可以同时支持6个无线器件的接收,由此实现了1组数据接收模块同时接收5组运动测量模块发送的数据。

  电源模块使用低压差线性稳压器件(LDO)SP6201,将锂电池的4.2 V电压降至3.3 V,最大可负载200 mA电流,满足设备需要。

  2.2 数据接收模块硬件设计

  数据接收模块使用芯片CY7C68013A,片内集成USB2.0收发器、串行接口引擎、增强型8051微控制器,数据的传输率可达到56 MB,最大4 K USB端点缓冲区,时钟频率可达48 MHz。由于CY7C68013A本身并没有硬件SPI接口,同时又需要SPI与无线射频模块通信,实际中使用GPIO口软件模拟4线SPI进行通信。CY7C68013A不断扫描无线射频模块状态,当有接收数据到来时,使用SPI接收数据并通过USB上传给计算机。

  数据接收模块硬件结构如图5所示。

  

加速度传感器

 

  3 系统软件设计

  软件设计主要包括2个部分,动作测量模块主控制器ATmega88的数据采集及发送部分、数据接收模块控制器CY7C68013A的数据接收及上传部分。

  3.1 运动测量模块软件设计

  使用ATmega88的定时器控制采样时间,由于已经将ADXL345的输出频率定为100 Hz,这里将程序设定为每隔10 ms进行一次采样,采样后将数据发送至无线射频模块进行数据发送,发送成功后进行下一次采样,否则重新发送。测量模块软件流程如图6所示。

  

加速度传感器

 

  3.2 数据接收模块软件设计

  数据接收模块CY7C68013A通过不断查询nRF24L01的中断引脚来检测有无数据到来;当有接收数据到时,使用SPI总线读取加速度信息,判断该数据来自哪个发送端,并将数据存放在相对应的USB端点缓冲区,等待上位机取走。若上位机不取数据,旧数据会自动被新数据冲掉,保证数据的实时性。中央处理模块软件流程如图7所示。

  4 实验结果与分析

  实验中使用面包板模拟人体手臂进行角度测量实验,因为真实手臂平面有一定弧度,测量模块不同的放置位置对测量结果会有影响,而面包板为规则长方体,有非常平坦的一面可以放置测量模块,并且棱角清晰方便进行倾斜角度测量。在具体实验中,模拟测量模块佩戴在右手肘关节外侧的情况,设计2种测试例。右手向右伸臂的动作,如图8所示。右手向前抬臂的动作如图9所示。

  

加速度传感器
加速度传感器

 

  在0~90°范围内2种情况下,三轴测量角度与参照角度比较。表1为模拟右手右伸臂时三轴角度与参照角度比较。表2为模拟右手前抬臂时三轴角度与参照角度比较。由表1、表2可以看出:除个别接近0、90°时误差较大外,大多数角度测量的误差绝对值小于1.5°,与ADXL345官方说明文件的误差小于1°较为相符。

  

加速度传感器

 

  表中负值为传感器坐标轴正方向与自然坐标轴正方向夹角超过90°情况。误差超过1°产生的原因有如下几方面:

  ①在电源设计时没有为ADXL345的ADC单独设置参考电压源,而是使用VDD系统电源,存在一些纹波干扰,造成误差。

  ②没有对传感器进行零点标定,水平放置时X、Y轴输出并不为0。

  ③缺少专业角度测量设备,角度参考图使用普通量角器制作,参考角度与实际角度。

  ④传感器平面与电路板平面、实验面包板平面不完全重合,存在固定夹角,测量时有误差。从表1的Y轴夹角看出,理论上模拟右手右伸臂时Y轴夹角应一直为0°,但现实中出现了一个转角,使输出逐渐由-1.2°过渡到2.2°。

  结语

  本文通过使用加速度传感器ADXL345采集人体动作信息,使用nRF24L01无线时频模块发送数据,最后通过USB芯片CY7C68013将数据上传给PC机,并在PC机上实时绘制人体运动动画,构建了一种人体动作信息测量设备。测量身体各部位角度典型误差小于1.5°,满足普通人机交互需要。目前已经根据上述原理制作出样品,PC机上显示人体模型与佩戴测量模块的实际人体动作较为一致,反应灵敏,可以满足快速实时的人机交互过程的实现。在进一步减小输出误差,稳定输出结果后,可以应用于高危环境机器人控制、游戏娱乐等各种人机交互场合。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分