帕金森智能稳定勺:基于 Arduino 与 IMU 的辅助进食装置
核心硬件清单
- Arduino UNO ×1
- Idiotware Shield ×1 — 集成传感器接口、电源管理的扩展板
- MPU6050 IMU(6 轴) ×1 — 姿态/加速度测量
- SG90 微型舵机 ×2 — 双轴姿态补偿
- 3D 打印结构件 — 双轴正交旋转机构、勺体连接件
软件与工具
- Arduino IDE
- 3D 打印机(打印机械结构)
- 焊接工具
项目缘起
帕金森病患者常伴随静止性震颤、运动迟缓、肌强直等症状,严重影响进食等日常生活。商业产品如 Liftware Steady 已验证“主动抵消震颤”方案的有效性,但价格昂贵。本项目旨在利用现成模块(MPU6050 + 舵机 + Arduino)复现核心原理,探索系统动力学与控制算法,为低成本开源辅助设备提供参考。
系统设计思路
传感器选型
MPU6050 集成 3 轴加速度计 + 3 轴陀螺仪,采样率高、I²C 接口简单,且团队有成熟驱动经验,能满足实时震颤检测的动态响应需求。
执行机构
采用两个 SG90 舵机构建正交双轴机构(俯仰/横滚),舵机响应速度与扭矩足以抵消手部高频微小震颤。Idiotware Shield 让传感器与舵机接线在 5 分钟内完成,大幅缩短原型搭建周期。
机械结构
3D 打印双轴正交云台:内层舵机控制俯仰,外层舵机控制横滚,勺体安装于末端。结构紧凑,重心靠近旋转中心,减小惯性延迟。
制作步骤概览
- 打印所有结构件(STL 文件见项目仓库)。
- 组装双轴云台,安装两个 SG90 舵机,确保旋转灵活无干涉。
- 将 MPU6050 固定在勺柄根部,姿态尽量与勺体一致。
- 按原理图连接:MPU6050 → I²C(A4/A5),舵机信号线 → D9/D10,电源共地。
- 上传固件(见代码章节),上电调试。
控制算法核心
- 读取 MPU6050 原始数据,经互补滤波/卡尔曼滤波得到当前姿态角(Roll/Pitch)。
- 目标姿态设为水平(0°),误差 = 目标 - 当前。
- PID 控制器输出舵机目标角度,驱动云台反向旋转抵消震颤。
- 主循环周期 ≤ 20 ms,保证控制带宽覆盖典型震颤频率(4~12 Hz)。
演示与效果
原型机在桌面模拟震颤测试中,勺头角度偏差从 ±15° 降至 ±3° 以内,肉眼可见抖动显著减弱。视频演示见项目页面。
后续优化方向
- 移植至 ATtiny/ATmega328P 裸片 + 定制 PCB,体积缩小 60% 以上。
- 舵机固定方式优化,消除机械间隙。
- 集成 18650 锂电池 + 充电模块,实现真正便携。
- 引入自适应滤波,区分“故意倾斜进食”与“非自主震颤”。
开源资源
完整固件、STL 模型、原理图已托管 GitHub:
https://github.com/CuriosityGym/spoonForParkinsonPatients
制造工艺
- Arduino Nano飞行模拟2020控制面板——LCD与CDI显示
- Arduino 飞行模拟器 2020 实体开关面板
- K30 CO₂ 传感器:室内空气质量实时监测
- 基于 1Sheeld 与 Arduino 的盲聋人士沟通辅助系统
- 智能存钱罐:Arduino Nano 控制硬币识别器实现余额显示
- Arduino + HC-05 蓝牙控制 LED:MIT App Inventor 手机 App 开发全攻略
- DFRobot 电容指纹传感器 (ID809) 接入 Arduino/ESP8266 完整教程
- 基于 Arduino Mega 与 Nextion 显示屏的交互式气象站
- Arduino Mega 驱动 Wii Nunchuk 控制 6 自由度机械臂
- 校园智能体温监测系统 - 精准、实时、安全的学生健康守护方案
- Arduino 8 位并行 IO 端口库:一行代码实现 8 位数字读写
- Arduino UNO + 以太网盾板实现低成本太阳辐射测量仪(热电堆原理)