假期战略更新第二集——MPU6050六轴传感器模块在stm32平台的使用一(今天不学习,明天变垃圾)
这个也是上学期一直困扰我的一个问题,上学期想要巩固一下自己PWM和PID算法的基础,就搞了一个STM32控制的平衡车来玩,算法数学模型啥的都弄好之后,就出现了一个大问题,本人用的是stm32cubeMX来建立的工程项目,所以在IIC的部分就出现了一些问题,我看了写资料,总结了一下经验,下面就先讲讲我的主要经验: 1.MPU6050模块是什么? MPU6050模块是一个常用的六轴传感器模块,主要目的是获取以传感器为基点的欧拉角(偏航角、俯仰角、滚转角),可以理解为以传感器为中点,初始X正半轴与当前传感器前方所指的一个向量在XY平面的夹角,初始X正半轴与当前传感器在XZ平面的夹角,初始Y正半轴与当前传感器在YZ平面的夹角。这个想仔细理解的玩家朋友可以看看MPU6050的手册。该模块用过IIC总线和STM32进行通信。 2.MPU6050用来干嘛? 在文章开头我说我买了个stm32的平衡车,可以理解为硬件已经完全搭建好了,说到平衡车那就是普通的两个轮子那种,两个轮子不转,车肯定就站不稳,要车站稳的话就肯定要知道车的当前状态和什么情况是稳,什么情况是不稳,所以就用到了MPU6050的俯仰角。 3.MPU6050怎么用? 东西怎么用,还是要看芯片文档,现在就稍微总结一下MPU6050怎么用的,首先是通信方式,芯片把当前数据测量出来之后,就需要通过IIC总线发送给MCU进行处理