OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6893|回复: 2

MPU6050数据不规则的跳到零点

[复制链接]

6

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2015-7-2
在线时间
2 小时
发表于 2015-7-3 10:42:32 | 显示全部楼层 |阅读模式
5金钱
用的AnBTDMP 从FIFO抽出四元数出来 解算出欧拉角后用上位机监视姿态角
早上还很正常,下午开始到今天就开始不规则的跳到零点,三个角数据都同时跳到零点,再跳回来 一瞬间的事 但是很多次
程序肯定没有任何问题,我已经把任何可能有干扰的部分函数全注释掉了
程序只剩dmp_read_fifo和回传上位机的函数循环

我试过直接查看read_fifo函数的返回值状态
发现在有的时候fifo的读取会失败
按理来说 Fifo如果读写失败 四元数的抽取是抽不出来的 然后姿态角就抽不出来 上位机就归到原点
但是上位机的归零点的时间并不和FIFO读写失败的时间同步
void MPU_Location_Status(void)
{
unsigned long sensor_timestamp;
short gyro[3],accel[3],sensors;
unsigned char more;
long quat[4];
float Yaw,Roll,Pitch;
float q0=1.0f,q1=0.0f,q2=0.0f,q3=0.0f;
// printf("%d :   %d   \\  %d\n",dmp_read_fifo(gyro,accel,quat,&sensor_timestamp,&sensors,&more),sensors,more);
dmp_read_fifo(gyro,accel,quat,&sensor_timestamp,&sensors,&more);
q0=quat[0] / q30;
q1=quat[1] / q30;
q2=quat[2] / q30;
q3=quat[3] / q30;
NumQ.q0 = q0;
NumQ.q1 = q1;
NumQ.q2 = q2;
NumQ.q3 = q3;
AngE.Pitch = asin(-2 * q1 * q3 + 2 * q0* q2)* 57.3; // pitch
AngE.Roll = atan2(2 * q2 * q3 + 2 * q0 * q1, -2 * q1 * q1 - 2 * q2* q2 + 1)* 57.3; // roll
AngE.Yaw  = atan2(2*(q1*q2 + q0*q3),q0*q0+q1*q1-q2*q2-q3*q3) * 57.3;

int main( void )
{
System_Init();
Delay_ms(_05TPS);
AnBT_DMP_MPU6050_Init();
//dmp_enable_gyro_cal(1);
MPU_Check_Location();
Delay_ms(TPS);
while(1)
{
  MPU_Location_Status();

UART1_ReportIMU();
}
}
请问各路神人:
1、如果我的姿态角闪到零点 对我的PID和PWM的控制四旋翼的影响能不能被忽略,如果闪动的次数太大的时候影响的时候呢
2、这东西可能是哪出了问题?I2C我用了逻辑分析仪监测时序并没有什么问题 可能是MPU的问题么还是其他的?

附一个出问题的图像


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2015-7-2
在线时间
2 小时
 楼主| 发表于 2015-7-3 18:46:07 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-7-3 21:10:49 | 显示全部楼层
我也不知道啊,帮顶
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-24 21:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表