聚丰项目 > 带生理监护的头动智能轮椅控制系统
李耿超
分享李耿超
团队成员
李耿超 学生
王永勇 学生
黄添杰 学生
1. 硬件设计
系统结构框图如图1:
图1 系统总体架构图
1.1. MPU9150模块
近年来随着MEMS技术的飞速发展,许多芯片公司如ADI,飞思卡尔等知名企业都有自己的MEMS器件。其中,InvenSense公司是首发的第一台九轴运动传感跟踪组件MPU-9150。MPU-9150整合了MPU6050及AK8975电子罗盘功能,集成了3轴陀螺仪,3轴加速度计和三轴磁场。综上,InvenSense公司的MPU9150器件非常适合我们头部动作及方向识别这一功能。通过陀螺仪与加速度传感器经过数据融合算法得到角度数据,并利用三轴磁场对积分漂移问题进行校正。
图2 MPU9150模块电路图
1.2. PPG模块
图3 PPG脉搏波检测电路框图
图4 PPG硬件信号处理电路
1.3. 红外测温模块
图5 红外传感器连接图
1.4. nRF51822和STM32 Nucleo 401主控模块
Nordic Semiconductor nRF51822 是一款带ARM-M0内核的多协议蓝牙低功耗/ 2.4GHz 专用 RF的单芯片蓝牙片上系统。nRF51822将射频收发器和一个标准具有增强ARM-M0内核结合。它具有高性能、低成本、低功耗和高集成度的特点,便于开发优势。作品中使用nRF51822结合蓝牙4.0协议进行数据传输,通过ADC及IIC协议采集数据并发送到手机APP显示等。利用STM32 Nucleo 401作为轮椅的控制器,接收nRF51822的头部三维信息并结合轮椅三维信息进行PID运算后,输出PWM控制轮椅两轮运动。
图6 nRF51822模块电路
1.5. 电机驱动模块
驱动电路的作用是根据主控电路输出的控制信号及无刷直流电机发送的霍尔信号控制无刷直流电机绕组的通电顺序及时间,从而控制电机的速度和方向。此电路的主要作用是放大从主控芯片STM32 Nucleo 401输出的 PWM 控制信号,把其转换成可以驱动电机转动的 PWM 功率信号。根据作品需要,本文使用带有电机驱动芯片 IR2130的电机驱动电路。它可以用来驱动工作在母电压不高于 600V 的电路中的功率 MOS 门器件,相比于反向最大驱动电流500m A,它可输出的最大正向峰值驱动电流为 250m A。它的内部设计有过压、欠压以及过流保护,封锁以及指示网络,可以很好的保护被驱动的功率 MOS 管。引脚 5(LIN1)、6(LIN2)、7(LIN3)为三个低压侧功率管对应的驱动器输入信号端。引脚 2(HIN1)、3(HIN2)、4(HIN3)为三个高压侧功率管对应的驱动器输入信号端,引脚 5(LIN1)、6(LIN2)、7(LIN3)为三个低压侧功率管对应的驱动器输入信号端。把控制轮椅的驱动运动的四路PWM信号经过光耦隔离后输入2、3、5和6引脚即可控制轮椅运动。
驱动系统通过IR2130将轮椅主控芯片NRF51822的轮椅控制信号发出的PWM信号转换为电机控制PWM信号,经三相半桥逆变电路后驱动电机,实现了电机电流调节。主要驱动电路如下:
图7 电机驱动模块电路图
1.6. 无刷直流电机
直流无刷电动机具有的运行效率、好的调速性能,同时有交流电动机的简单结构、可靠运行以及维护方便的特点。通过无刷直流电机作为驱动电机,配合全向轮驱动轮椅,使轮椅的运动更加灵活。无刷直流电机可以像有刷直流电机那样以电源的接通或断开来实现起停控制。这种控制方法通常是用触点开关直接完成的。这种方法的缺点是起动电流比较大,电流过大容易引起过热和去磁问题,起动过快还会引起负载机械的冲击,所以只适用小功率的电机。更常用的方法是用触点开关接通控制电源后,再通过对控制器的控制实现起动和停止。在控制器设置有起停控制口(使能控制),以逻辑电平来控制电动机的起动。同时,有调速功能的控制器,以转速控制指令电压的高低控制电动机转速,常常取电压为零时电动机停转。控制器有 PWM 信号接口,该信号占空比为零时电动机停转。
1.7. ECG模块
图8 ECG采集模拟前端
图9 ECG采集后端数字处理流程
1. 算法与软件设计
1.1. 系统算法设计
要解算得到航姿,我们必须利用相互正交的三轴MEMS陀螺仪不断快速测量角速度,然后不断利用姿态更新算法,解算得到最新的航姿,常用以下的四元数姿态更新微分方程:
表示从n到n+1时间内机体坐标系的转角增加量,包括三轴分量,且有:
由于有欧拉姿态矩阵与四元数姿态矩阵的关系有:
我们可以从姿态矩阵中提取姿态和航向:
1.1.2. 位置式PID控制算法
PID 控制系统在连续控制系统中,按偏差的比例P( proportion)、积分I ( integral)、微分D( derivative)进行计算调整并输出,经过电机驱动电路进行功率放大之后控制轮椅两主动轮直流无刷电机的运动[13-16]。
本作品采用位置式PID算法,其理想式为:
式中: u(t) 为控制系统的输出; Kp为比例放大系数,作用是加快系统的响应速度,提高调节精度; e(t)为输入的偏差信号; Ti为控制系统微分时间常数; Td为控制系统积分时间常数。
设u(t) 为第k 次采样控制系统输出的值,可得出离散PID 算式:
式中: Ki为积分系数,作用是消除系统的稳态误差; Kd为微分系数,作用是改善系统的动态特性。
(1)输入/输出接口
输入接口与检测传感器连接,把检测的数字信号并输入给MCU处理。输出接口把MPU输出的控制转向和速度的PWM信号分别输出给轮椅左右两个控制电机。
(2)检测装置。
轮椅行驶时主要检测头部的航向角和俯仰角、轮椅的航向角、两轮的速度和动作识别所得到的控制信息。
(3)被控对象。
轮椅控制系统有两个独立被控对象,分别是两轮前进和后退的速度,它们都是根据检测信号来确定输出量的。
1.2. 主要程序流程图
软件设计包括头戴控制系统部分、智能轮椅控制和智能手机部分。主要控制由头部控制器MCU,轮椅控制器MCU及智能手机CPU组成。
1.2.1. 头部控制系统部分
头部控制系统主要通过ADC采集脉搏波信号,读取温度信号并发送到智能手机,读取MPU9150数据并通过蓝牙发送到轮椅控制器。程序流程见图10。
图10头部控制系统部分程序流程图
1.2.2. 智能轮椅控制部分
轮椅主控芯片STM32 Nucleo 401主要通过ADC采集心电信号,读取MPU9150数据,通过串口读取NRF51822接收到的头部运动数据。并且,收到的头部控制信号数据与轮椅上的MPU9150数据进行PID运算,通过STM32 Nucleo 401输出相应的PWM轮椅控制信号,程序流程见图11。
图11 轮椅控制部分程序流程图
1.2.3. 智能手机部分
智能手机部分主要通过蓝牙4.0协议接受头部主控芯片发来的生命体征信号,显示并共享至互联网。程序流程见图12。
图12 APP部分程序流程图
本项目精心制作的演示视频已上传到腾讯视频,视频播放地址:
https://v.qq.com/x/page/b05105izja9.html
实物图:
轮椅 头戴控制器
手机APP STM32 Nucleo 401轮椅控制器
轮椅演示视频截图:
可见,项目生命体征提取准确,轮椅控制效果稳定,作品功能完整。避免手部操作,只需检测头部动作,创新地实现“方向对方向”的控制,使用简单,携带方便,特别适合手脚不灵活的老年人和肢体残疾人士应用,利于减轻老龄化到来的压力。
李耿超: 666
回复
caiyu0622: 很赞,非常详尽~
回复