【Project】基于stm32+mpu6050的体感遥控车
作者:互联网
文章目录
写在前面的话
github项目地址:https://github.com/Hyf338/Remote-Sensing
Remote-Sensing
基于MPU6050+stm32f103,设计一集遥感和推杆两种控制模式一体的小车。
Base on mpu6050,designed a car with remote sense.
Title
2019集大电协 基于MPU6050的体感遥控车
Background
在玩具制造业中,遥控手柄控制的玩具车占有很大比重。但是传统的按键手柄控制方式已经很难吸引大众的眼球。故本项目研究基于陀螺仪的手势遥感车,它能够完整地监测游戏者手的位移和旋转,利用玩家的手势姿态来替代繁琐的按键操作,从而实现各种游戏的操作效果。系统的目的是,利用陀螺仪进行角度检测,改善繁琐的按键控制方式,改变传统遥控方式。
工具介绍
工具 | 描述 |
---|---|
Altium Design | PCB设计 |
Keil | 软件编程 |
123D Design | 3D软件 |
Introduction
系统功能框图
遥控车流程图
遥控器流程图
姿态说明部分(MPU6050)
MPU6050(3轴陀螺仪、3轴加速度计)
MPU-6000(6050)为全球首例整合性6轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时间轴之差的问题,减少了大量的封装空间。当连接到三轴磁强计时,MPU-60X0提供完整的9轴运动融合输出到其主I2C或SPI端口(SPI仅在MPU-6000上可用)。
3轴加速度计
加速度传感器实际上是用MEMS技术检测惯性力造成的微小形变。它检测的是它受到的惯性力(包括重力!重力也是惯性力)。
加速度传感器不会区分重力加速度与外力加速度。
- 一个物体做自由落体时 在X轴受到一个外力作用 产生g的加速度 这时候x y z 轴的输出分别是 g,0,0
- 物体被x轴朝下静止放在水平面上 x y z 轴的输出也分别是 g,0,0
3轴陀螺仪
陀螺仪是测角速度的传感器。MPU6050带有三个陀螺仪,每个陀螺仪各自负责相应轴的转动速度,也就是检测围绕每个轴转动的速度。
我们要将角速度对时间积分才能得到角度 。看到积分 我想敏感的同学马上就能发现一个致命的问题 积分误差
- 积分时间:积分时间Dt越小,输出角度越准
- 器件本身的误差:假设陀螺仪固定不动,理想角速度值是0dps(degree per second),但是有一个偏置0.1dps加在上面,于是测量出来是0.1dps,积分一秒之后,得到的角度是0.1度,1分钟之后是6度,还能忍受,一小时之后是360度,转了一圈
所以说 陀螺仪在短时间内有很大的参考价值
陀螺仪与加速度计的配合使用
加速度计是极易受外部干扰的传感器,但是测量值随时间的变化相对较小。陀螺仪可以积分得到角度关系,动态性能好,受外部干扰小,但测量值随时间变化比较大。可以看出,它们优缺点互补,结合起来才能有好的效果。无论工作多久 加速度传感器如果没收到外部干扰 它测的就一定是准的! 陀螺仪虽不会受到外部干扰 可是时间长了 由于积分误差累计 它的值就全错了!
所以两个数据融合的方法就是 设计算法在短时间尺度内增加陀螺仪的权值,在更长时间尺度内增加加速度权值,这样系统输出角度就更真实了再通俗点说 就是 隔一段时间 用加速度传感器的值修正一下陀螺仪的积分误差 然后在隔的这段时间内 用陀螺仪本身的角度积分
Hardware
- 主控与外设描述
硬件 | 描述 |
---|---|
芯片型号 | STM32F103 |
UART | ZIGBEE |
UART | HC-05 |
IIC | MPU6050 |
SPI | oled |
-
车载主控板
-
手持遥控器
目录说明
+——Marine craft
|---- 3D model: 【设计文档】
|----+ hardware:【电路设计】
| ├──STM32_Controller 【车载主控板】
| ├──Remote control 【遥控器】
|---+ software:【软件设计】
| ├──Remote vehicle【遥感车程序】
| ├──Remote control【遥控器程序】
黄逸芬
发布了13 篇原创文章 · 获赞 52 · 访问量 2999
私信
关注
标签:体感,陀螺仪,积分,MPU6050,stm32,加速度计,mpu6050,加速度,Remote 来源: https://blog.csdn.net/weixin_42881419/article/details/104056444