启用了MPU6050内置的DMP模块后
四轴姿态的解算似乎变得简单了许多
几乎不用做过多的处理,就能够获得比较好的姿态数据
但是不足的地方也有很多
Z轴上的运动数据会发生漂移
特别是在上电后的10-15秒钟内,漂移比较夸张
不过后来就会慢慢稳定下来
不知道是不是内置数字运动处理模块的问题
以后再想辙进行处理吧(据说是融合磁力计的数据,或者对其进行积分)
硬件比较简单
飞行器+串口就能进行姿态的解算及演示了
这里使用了匿名的上位机
按照匿名上位机的通信协议进行了处理
1、下位机发送自定义数据,格式为:0x88+FUN+LEN+DATA+SUM
2、飞控显示对应的帧FUN为0xAF,(帧格式:0x88+0xAF+0x1C+ACC DATA+GYRO DATA+MAG DATA+ANGLE DATA
+ 0x00 0x00 + 0x00 0x00+SUM,共32字节,ACC/GYRO/MAG/ANGLE(roll/pitch/yaw)数据为int16格式,其
中ANGLE的roll和pitch数据为实际值乘以100以后得到的整数值,yaw为乘以10以后得到的整数值,
上位机在显示时再 除以100和10)。
所有的源程序,包括匿名的上位机
全部来源于网络
这里为了对匿名大神及这些无名作者表示尊敬,同样将所有源码及工程(MDK4.72a版本)一并共享
不过还是请大家回复一下
使用了软件模拟IIC
强调一下,工程里面没有处理MCU的时钟
如果下载无法使用的话,请进入debug
大部分函数都没有进行整理,基本上都挤在main.c文件中,看起来有点眼花
晚段时间再处理吧,现在拿来试验一下还是可以的。
上个视频,设备很渣,没有上无线,各位将就瞧瞧。:
视频地址:http://player.youku.com/player.php/sid/XNzAwMjAyNzgw/v.swf
回复
有奖活动 | |
---|---|
【有奖活动——B站互动赢积分】活动开启啦! | |
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |