
启用了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

国内外网上开源的四轴不少
最近一直在考虑要移植一个玩玩
先研究一下差别,再选择一个移植吧
上午有点闲,也不想多看代码
看着微四轴,想加点什么模块
但是考虑到重量和空间,GPS啥的估计够呛啊
飞行器一侧只能添加些气压计之类的小模块了
焊接的时候,排针又是朝上的,到时候添加估计又有些小困难
突然看到了遥控器
个人看来的话,遥控器的耗电量其实相对比较小
加上手柄两侧还预留了相当大的原型区
想着飞四轴的时候,肉眼有时难以判断飞行器的姿势和朝向
嘿嘿,加个LCD来做个简单的显示吧
续航应该不会受到影响吧
LCD,果断首选Nokia 5110
倒腾一上午,打完收工。
上图
用到了一些5110的函数,作图啥的,蛮不错
上传分享一下,老规矩,回复下载
/*姿态的浮点数值取整*/ P = (int)Pitch; R = (int)Roll; Y = (int)Yaw; LcdClearAll(); //清屏 PutIcon((char*)(icon + com_temp),0,0);//输出电量显示,com_temp为电量比较值 /*画出pitch和roll图显*/ PutLine(20,8,25,8); PutLine(25,8,25,47); PutLine(20,8,20,47); PutLine(20,47,25,47); PutLine(30,0,78,0); PutLine(30,5,78,5); PutLine(30,5,30,0); PutLine(78,0,78,5); /*画出Yawl图显*/ PutCircle(54,28,18); PutLine(54-P/3,0,54-P/3,5); PutLine(55-P/3,0,55-P/3,5); PutLine(21,28-R/3,25,28-R/3); PutLine(21,29-R/3,25,29-R/3); PutCircle(54-18*sin(Yaw/60),28-18*cos(Yaw/60),2); PutLine(54,28,54-18*sin(Yaw/60),28-18*cos(Yaw/60)); /*数据格式转换,并送5110显示*/ sprintf(buffer_p,"%d",P); sprintf(buffer_r,"%d",R); sprintf(buffer_y,"%d",Y); PutStr(buffer_p,2,0); PutStr(buffer_r,3,0); PutStr(buffer_y,4,0); ClearAllBuf();//清除5110显示buff
还没把无线用上,慢慢折腾。
画得比较粗糙,有兴趣的筒子可以进一步改造一下
上视频,看效果:
视频地址:http://player.youku.com/player.php/sid/XNzAyMjMyMTQw/v.swf
视频传上来发现拖影比较严重
其实实际效果还可以的。
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 |