摘要:本设计是一套机械臂的操控系统,系统由数据手套部分和机械臂部分构成,采用目前工业界通用的意法半导体公司生产的STM32F103RBT6单片机作为主控制芯片。数据手套部分采用型号为MPU9250的陀螺仪加速度计传感器模块对用户手臂的姿态角度进行测量,然后利用卡尔曼滤波算法对所接收到的用户手臂的姿态角度进行优化滤波;采用弯曲传感器flex2.2对用户手掌的抓握动作(手掌弯曲程度)进行检测,然后通过无线收发模块NRF24L01将以上测量结果数据无线传送到机械臂部分,然后机械臂部分将角度值以及手指弯曲程度值换算成相应的PWM信号,再通过舵机驱动模块来控制机械臂上的舵机转动相应的角度,最终实现机械臂对用户手臂动作的模仿。
使用时,操作者先戴上数据手套,打开数据手套和机械臂上的开关后,机械臂会自动变为水平舒展的姿态,然后用户需要把手舒展平放,再按下数据手套上的校准按钮,即可完成姿态校准并触发机械臂与用户的手臂的动作同步。
关键词:STM32F103RBT6;MPU9250;卡尔曼滤波;机械臂;弯曲传感器;NRF24L01
目录
摘要
Abstract
1 绪论-1
1.1课题背景-1
1.2 本次设计主要内容-1
2 系统概述-2
2.1 系统构成-2
2.2 系统工作原理-2
2.3系统可行性分析-3
3系统硬件结构及电路设计-4
3.1 供电模块-4
3.2 单片机模块-5
图3.2 单片机模块-6
3.3 陀螺仪、加速度计、地磁传感器-6
3.4 无线收发模块-7
3.5 弯曲传感器-8
3.6 舵机驱动模块-9
3.7 机械臂-10
4系统软件设计-13
4.1 系统软件设计整体方案-13
4.2 数据手套部分的程序设计-16
4.2.1 MPU9250模块程序设计-16
4.2.2 卡尔曼滤波算法-16
4.2.3 弯曲传感器程序设计-19
4.2.4 NRF24L01模块程序设计-20
4.3 机械臂的舵机控制程序设计-20
6系统调试-22
6.1开发环境-22
6.2硬件调试-22
6.3软件调试-22
结 论-24
参 考 文 献-25
附录A 系统数据手套和机械臂电路原理图-26
附录B 实物图照片-28
致 谢-29