继上次读MPU6050的数据,作个补充,这次是读姿态角输出.内容简单易懂,标注齐全.

2019-07-20 15:58发布

上次上传了个MPU6050的读加速度角速度, 这次上传把加速度,角速度解算为姿态角.(德国人的方法解算,具体麻烦各位自己看数学叉积,四元数等).

代码比较少,干净,都有注释.
依旧是串口输出,因为这里是每一轮循环延迟10ms. 而且精度比较高(用了很多float,对于飞来说我觉得是没问题的,51的我就用的float 一样fly(●'?'●)). 如果你测试觉得不够快又允许一定误差,可以用Int整型.

注意:这里我并没有处理“静止”时的噪音,里面的角速度误差调整量gx,gy,gz并没有赋值. So,各位请自行添加: 常规办法比如开机,读100次x的角速度累加再除以100,得到平均误差赋值给gx即可.


原料: 原子哥的Stm32F4开发板(我是今年9月买的板子).  MPU6050一个,杜邦线4条.电脑一台.hex文件一发.

用法:用原子哥教的FlyMcu 飞一会儿.(下载完). 打开串口即可看到x,y轴的姿态角.


 




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
35条回答
包子
2019-07-21 02:10
回复【4楼】正点原子:
---------------------------------
但是,x,y计算出来是对的。所以作为一个精简版的参考分享出来吧. 你应该试了原子哥.. 你那个实验的也不错,就是太复杂了.....      当然我觉得卡尔曼会更好.       我刚刚放了半个小时,没什么问题,具体的我放到明天早上吧.  现在大疆的飞机也不会超过1个小时,所以我参考还是一个小时之内的准确性.  处理了噪音之后就可以用来弄PWM的PID处理控制电机了. 我迟点试了会上视频和代码.

一周热门 更多>