当前位置:首页 期刊杂志

基于MPU6050传感器的踝足矫形器设计

时间:2024-05-04

陈才,张弘,罗蓉,王秋

(1.四川大学电子信息学院,成都 610065;2.四川大学华西第二医院,成都 610041)

0 引言

由于车祸、剧烈运动、脑卒中等导致的踝关节受损、马蹄足疾病,可以通过手术的方式进行恢复,而手术后的训练康复则尤为重要,好的康复器械和方法可以让病人得到更好的康复效果。

实践证明,可穿戴踝足矫形器在医学领域中扮演越来越重要的作用,可以为特定的病人进行特别的设计,并制定合理的训练康复方案,提高治疗效率,减轻康复医师的劳动量。本设计以STM32单片机为主控制器,使用MPU6050六轴传感器实时地采集穿戴者的步态角度[1],通过比例阀控制矫形器的气动人工肌肉伸展和收缩,实现矫形器的跖屈背屈运动。

1 系统设计

踝足矫形器系统设计包括硬件和软件两部分。硬件整体方案框架图如图1所示,由单片机最小系统、MPU6050传感器、蓝牙模块、上位机、电压放大模块、比例阀和气动人工肌肉构成。软件系统以STM32为控制核心,通过MPU6050六轴传感器采集穿戴者实时的踝关节角度,输出控制信号控制比例阀,达到矫形器实现跖屈背屈的目的。

程序前面部分完成采集正常人在行走时踝关节的角度数据,并利用蓝牙模块发送至上位机存储,用于后面的分析比较。后期采集病人步态数据,设计程序算法,比对踝足功能正常者与异常者行走角度的数据差异,寻找合适的角度阈值和对应的电压值,实现对气动人工肌肉的收缩伸展控制,产生踝关节跖屈背屈所需的力。

图1 硬件系统方案框图

2 硬件设计

(1)单片机最小系统

STM32单片机具有低功耗、低成本、高性能的特点,有专门为嵌入式应用而设计的ARM Cortex-M3内核[2]。STM32具有基于库函数开发的特点,使得代码编写周期缩短,大大提高了系统开发的效率,本设计选用的是“增强型”系列的STM32F103单片机,其72MHz的时钟频率、可以满足系统设计的要求。

(2)MPU6050传感器

MPU6050传感器模块集成了三轴陀螺仪传感器和三轴加速度传感器,并有一个可扩展的数字处理器(DMP),可将其测量的模拟量转化为数字量,MPU6050传感器模块可控制测量范围,提取不同速度的运动参数[3]。通过得到的加速度和角速度能计算出欧拉角[4]。且STM32可通过IIC总线获取传感器的数据值,误差小,精度高。

(3)蓝牙模块

HC-05蓝牙模块尺寸小、功耗低、性价比高、操作简单,可将穿戴者的踝关节角度数据通过无线的方式发送到上位机,进行观察和分析。

(4)比例阀和气动人工肌肉

因为气动人工肌肉具有功率重量比高、柔韧性好、重量轻等优点,非常适合应用于医疗领域。比例阀连接气动人工肌肉,通过0~10V电压控制阀口的开度,从而控制进入气动人工肌肉的气体流量,使其轴向压缩、径向膨胀,为跖屈提供一个非线性的拉力,可以弥补病人缺失或减少的肌腱力量,达到改善步行的目的。本设计选用比例阀为德国FESTO公司的电子气动元件,易于实现,方便实用。根据人体蹬地时的地面作用力的估算,所选气动人工肌肉的尺寸为橡胶管半径20mm,长度200mm,最大收缩长度为50mm。

(5)电压放大模块

由于STM32单片机输出的电压范围是0~3.3V,控制比例阀使气动人工肌肉产生的力不满足穿戴者行走时需要的最大力,所以要在STM32单片机的D/A端口外接一个可以将电压放大3倍的电路模块。

ST公司的LM324芯片具有宽的单电源或双电源工作电压范围,单电源3V~30V,双电源±1.5V~±15V;消耗限流小,输入失调电压低,LM324引脚分布如图2所示。在该芯片外部连接外围电路可实现将电压放大3倍的功能,电路设计原理如图3所示。

如图3所示,调节滑动变阻器改变其电阻值,从而调节输出放大倍数。直流电源输出幅值为3.3V的电压,将该电压输入到该模块的输入端,通过示波器测量输出的电压幅值为10.0V,电压被放大3倍。

3 软件设计

软件设计主要是基于MPU6050的控制,其流程图如4所示。系统上电后,主程序对所有外部硬件进行初始化,然后启动MPU6050传感器驱动程序,通过IIC总线获取MPU6050传感器的角速度和加速度,利用四元数算法得到运动物体的欧拉角,将实时的角度与设定角度阈值对比,使单片机D/A输出合适的电压给比例阀,同时将角度数据经蓝牙模块发送到上位机,并在上位机上显示角度变化曲线。

图2 LM324引脚分布和放大电压电路图

图3 电压放大模块设计原理图

图4 程序流程图

(1)计算欧拉角的程序

将通过IIC总线从MPU6050传感器获得的加速度和角速度数据存入数组,q0,q1,q2,q3为计算欧拉角过程中用到的变量,q30为一常量,利用四元素算法得到欧拉角的三个角分量滚转角(Roll)、俯仰角(Pitch)、偏航角(Yaw),关键代码如下所示。

#define q30 1073741824.0f

short gyro[3],accel[3],sensors;//陀螺仪存放数组,加速度存放数组,返回状态量

unsigned char more;

long quat[4];//四元数存放数组

float Yaw=0.00,Roll,Pitch;//欧拉角

float q0=1.0f,q1=0.0f,q2=0.0f,q3=0.0f;//计算姿态过程用到的变量

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;//计算偏航角

(2)IIC设置代码

IIC协议广泛的使用于系统内多个集成电路间的通信。它使用双向串行数据线(SDA)和串行时钟线(SCL)直接获取设备的数据。本文中的IIC配置代码如下所示。

3 系统调试

利用MPU6050传感器测试踝足功能正常的被试者行走时的踝关节角度,然后再让该被试者穿戴所设计的踝足矫形器行走,同时测试其踝关节角度。因为下肢运动的主要形式在矢状面内,其他面的运动只是让人的运动更灵活[5]。俯仰角表征踝关节在矢状面上的旋转角度,所以只需将被试者未穿戴和穿戴矫形器时的俯仰角进行比较,如图5所示,穿戴矫形器和未穿戴矫形器时的踝关节俯仰角变化曲线吻合较好。那么对于肌无力或肌力下降的踝足病人,可以参考踝足功能正常的被试者的踝关节角度变化规律,设定适合特定病人的控制参数实现辅助其完成训练康复,逐渐恢复至正常的踝足功能。

图5 未穿戴和穿戴矫形器的俯仰角比较

4 结语

随着可穿戴传感器广泛应用于康复领域,可穿戴外骨骼康复机器人的研发和应用引起了研究者们的关注。本文以STM32单片机为核心,利用MPU6050六轴传感器、比例阀和电压放大模块实现了对主动型踝足矫形器的控制,该装置能辅助肌无力或肌力下降的踝足病人进行训练康复,提高病人的康复效果。

参考文献:

[1]陈华珍.一种老年智能手环设计[J].现代计算机,2017:3-4.

[2]占华林.基于MPU6050六轴传感器平衡小车的设计[J].电子测试,2017:10-11.

[3]曹丽平.基于多传感器的人体运动识别算法与应用研究[D].重庆邮电大学工程硕士学位论文,2013:51-52.

[4]Graciela E.IoT Fall Detection System for the Elderly UsingIntel Galileo Development Boards Generation I[J].IEEE,2016:3-5.

[5]唐懋.基于Arduino兼容的Stem32单片机的四旋翼飞行器设计[D].厦门大学工程硕士学位论文,2014:14-15.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!