请问各位~~~MPU6050的编程流程图是如何画的? 如果不指导什么是流程图的话。。。那换另一种问法~ 程序初始化后根据传感器读取的是什么样的数据(加速度计和陀螺仪各得到的是什么),然后通过什么得到的加速度和角度,之后用什么数据融合~~~~ 这问题困扰我好多天了~!!!!!!!!!!!!!!!!!!求救~ |
关于MPU6050的~~~~!
楼主你好啊!
别急,一步步来。
先读取6050的原始数据再说。
加速度计得到XYZ三个轴的加速度的原始数据,陀螺仪得到XYZ三个轴的角速度的原始数据,均为16位数据。
要得到角速度和角速度,要根据你设定的量程来计算。
若设定加速度为+—8G量程,16位对应65536个数,当你读出4096时,可认为是1G的加速度。65536/16对应1G加速度。
角速度类似的,根据量程计算。
请楼主看一下mpu6050的数据手册,里面有详细介绍。
这有参考代码:http://www.eepw.com.cn/event/action/QuadCopter_DIY/techdata.html
数据融合的话,论坛里有相关讨论贴可以看看:
http://forum.eepw.com.cn/thread/250804/1
以下是我的理解~麻烦看下这有什么不妥的的
开始——》硬件初始化——》读取加速度和陀螺仪原始数据——》数据转换成姿态角——》数据融合滤波——》数据输出——》结束
MPU6050程序流程图
程序开始后先进行硬件的初始化设置,再读取传感器原始数据,经过转换成为所需二组六个姿态角度(加速度:ROLL_ACC、PITCH_ACC、YAW_COMPASS,陀螺仪:ROLL_GYRO、PITCH_GYRO、YAW_GYRO),之后用算法对数据进行滤波融合,最后数据输出。
还有~!这只是大概~但是我还是有点不明白~传感器器的原始数据是什么为单位的?最后输出的都经过四元素转换成调度了????
加速度计得到XYZ三个轴的加速度的原始数据,陀螺仪得到XYZ三个轴的角速度的原始数据,均为不带单位的16位数据。
要得到角速度和角速度,要根据你设定的量程来计算。
若设定加速度为+—8G量程,16位对应65536个数,当你读出4096时,可认为是1G的加速度。65536/16对应1G加速度。
角速度类似的,根据量程计算。
量程计算后,就有了单位。
开始——》硬件初始化——》读取加速度和陀螺仪原始数据(含滤波)——》原始数据按量程转换——》数据转换成姿态角(含滤波)——》数据输出——》结束
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
建议楼主看看代码。。。。。
很多东西,看代码就能明白了。。。
不看代码。。。纸上谈兵一百年,你还是不会。。。。
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |