MPU6050包含一个加速度计和陀螺仪,加速度计可以测量加速度,但不能直接测量速度,速度要根据加速度的积分来计算,然后再通过速度的积分来得到位移。由于积分会累积误差,所以只能在一段时间内,加速度变化不大的情况下进行测算,为了减少误差,最好有其它方式进行校准。
stm32只是处理器,还得选用其他配件。下面针对入门人员DIY大四轴(采用无刷电机)的制作框架。
处理器一般为stm32f103,姿态传感器为mpu6050,遥控采用航模的4通道遥控,无刷电机驱动电调。stm32首先读取mpu6050测得的姿态数据,然后加入pid控制,使机体保持稳定。stm32控制电机是通过电调实现的。遥控的接收机与stm32的通信,网上有教程。希望对楼主有所帮助。
如何用stm32读取MPU6050模块中的WHO
MPU-6000可以使用SPI和I2C接口,而MPU-6050只能使用I2C,其中I2C的地址由AD0引脚决定;寄存器共117个,挺多的,下面的是精简常用的,根据具体的要求,适当的添加。
#define SMPLRT_DIV 0x19 //采样率分频,典型值:0x07(125Hz) /
#define CONFIG 0x1A // 低通滤波频率,典型值:0x06(5Hz) /
#define GYRO_CONFIG 0x1B // 陀螺仪自检及测量范围,典型值:0x18(不自检,2000deg/s) /
#define ACCEL_CONFIG 0x1C // 加速计自检、测量范围及高通滤波频率,典型值:0x01(不自检,2G,5Hz) /
以上就是关于我有个MPU6050+STM32 的板子是否可以测算位移全部的内容,包括:我有个MPU6050+STM32 的板子是否可以测算位移、如何用STM32做四轴飞控、请问Mpu6050Write(0x1c, 0x01)中0x1c和0x01怎么来的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)