深圳芯片解密研究所系国内IC解密行业的鼻祖
24小时咨询电话:189-2383-0090

当前位置:首页>芯片解密须知 >> 基于加速度传感器的无线人体动作测量模块设计

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

  长久以来,使用人体自然动作与计算机交互一直是人机交互技术追求的目标之一。目前主流的人机动作交互技术有2种:视频动作识别技术和惯性器件动作识别技术。
  测量模块放置于人体四肢及躯干,以右手为例。测量模块放置于右手肘关节外侧,根据重力在加速度传感器三轴上的分量,可以计算出传感器坐标系与自然坐标系的夹角,进而得出传感器所在手臂平面与自然坐标系的夹角,根据三个夹角与传感器到肩膀的固定位置,可以计算出传感器所在手臂部位的空间位置。
  硬件系统由运动测量模块与数据接收模块构成。运动测量模块放置于人体四肢及躯干部位,负责采集加速度数据,并将数据通过2.4G无线方式发送至数据接收端。数据接收模块同时接收5组运动测量模块的测量数据,并通过USB接口与PC机传递数据。
  运动测量模块由ADXL345加速度传感器、nRF24L01无线射频模块、ATmega88单片机和电源模块构成。
  控制模块由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电流,满足设备需要。
  数据接收模块使用芯片CY7C68013A,片内集成USB2.0收发器、串行接口引擎、增强型8051微控制器,数据的传输率可达到56 MB,最大4 K USB端点缓冲区,时钟频率可达48 MHz。由于CY7C68013A本身并没有硬件SPI接口,同时又需要SPI与无线射频模块通信,实际中使用GPIO口软件模拟4线SPI进行通信。CY7C68013A不断扫描无线射频模块状态,当有接收数据到来时,使用SPI接收数据并通过USB上传给计算机。
  软件设计主要包括2个部分,动作测量模块主控制器ATmega88的数据采集及发送部分、数据接收模块控制器CY7C68013A的数据接收及上传部分。
  使用ATmega88的定时器控制采样时间,由于已经将ADXL345的输出频率定为100 Hz,这里将程序设定为每隔10 ms进行一次采样,采样后将数据发送至无线射频模块进行数据发送,发送成功后进行下一次采样,否则重新发送。
  数据接收模块CY7C68013A通过不断查询nRF24L01的中断引脚来检测有无数据到来;当有接收数据到时,使用SPI总线读取加速度信息,判断该数据来自哪个发送端,并将数据存放在相对应的USB端点缓冲区,等待上位机取走。若上位机不取数据,旧数据会自动被新数据冲掉,保证数据的实时性。
  通过使用加速度传感器ADXL345采集人体动作信息,使用nRF24L01无线时频模块发送数据,最后通过USB芯片CY7C68013将数据上传给PC机,并在PC机上实时绘制人体运动动画,构建了一种人体动作信息测量设备。测量身体各部位角度典型误差小于1.5°,满足普通人机交互需要。目前已经根据上述原理制作出样品,PC机上显示人体模型与佩戴测量模块的实际人体动作较为一致,反应灵敏,可以满足快速实时的人机交互过程的实现。在进一步减小输出误差,稳定输出结果后,可以应用于高危环境机器人控制、游戏娱乐等各种人机交互场合。