OpenEdv-开源电子网

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

分享我的MPU6050+卡尔曼+一阶互补+二阶互补滤波

    [复制链接]

2

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2016-1-16
在线时间
13 小时
发表于 2016-8-10 19:13:35 | 显示全部楼层
正点原子逻辑分析仪DL16劲爆上市
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2016-8-10 19:50:36 | 显示全部楼层
华丽与creazy 发表于 2016-8-10 17:39
我发现我的这两行代码跟你的不同,我的是 MPU6050_Real_Data.Accel_X =-(float)(MPU6050_Raw_Data.Accel_ ...

你自己对比一下我上面上传的代码吧,上完班好累,不想思考了。。。
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-5-19
在线时间
14 小时
发表于 2016-8-10 20:16:51 | 显示全部楼层
wszdxmh 发表于 2016-8-10 19:50
你自己对比一下我上面上传的代码吧,上完班好累,不想思考了。。。

好吧,谢谢你了~~
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2015-10-20
在线时间
7 小时
发表于 2016-8-11 10:07:07 | 显示全部楼层
顶起
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-5-19
在线时间
14 小时
发表于 2016-8-15 18:40:51 | 显示全部楼层
wszdxmh 发表于 2016-8-10 19:50
你自己对比一下我上面上传的代码吧,上完班好累,不想思考了。。。

我在做平衡小车,在卡尔曼滤波计算出倾角之后我再进行PID调节的时候,因为在PID调节函数里面加上了if(Angle>-3.0&&Angle<3.0) {Angle=0.0;},然后发现倾角在我缓慢变化至3度后,刚过3度时倾角会突然猛的增加,然后减小最后稳定在正常值上,如果我不加这句话,倾角变化一直正常,百思不得其解,希望有大神能帮帮我。。。。

另外,卡尔曼滤波和速度PID控制我都是写在中断里的,周期5ms,PID参数我暂时只加了一个P调节,其他均为零。




//******卡尔曼参数************
               
const float Q_angle=0.001;  
const float Q_gyro=0.003;
const float R_angle=0.5;
const float dt=0.07;                          //dt为kalman滤波器采样时间;或0.005,0.07
const char  C_0 = 1;
float Q_bias=0.0, Angle_err=0.0;
float PCt_0=0, PCt_1=0, E=0;
float K_0=0, K_1=0, t_0=0, t_1=0;
float Pdot[4] ={0,0,0,0};
float PP[2][2] = { { 1, 0 },{ 0, 1 } };
float position;
static const float Kp  = 40.0;                                //PID参数  Angle   
static const float Kd  = 0.0;                                        //PID参数  Gyro_y   
static const float Ksp = 0.0;                                //PID参数  motor_speed   
static const float Ksi = 0.0;                                //PID参数    position         
  

/*****************卡尔曼滤波**************************************************/
void Kalman_Filter(float Accel,float Gyro)               
{
        Angle+=(Gyro - Q_bias) * dt; //先验估计
       
        Pdot[0]=Q_angle - PP[0][1] - PP[1][0]; // Pk-先验估计误差协方差的微分

        Pdot[1]= -PP[1][1];
        Pdot[2]= -PP[1][1];
        Pdot[3]=Q_gyro;
       
        PP[0][0] += Pdot[0] * dt;   // Pk-先验估计误差协方差微分的积分
        PP[0][1] += Pdot[1] * dt;   // =先验估计误差协方差
        PP[1][0] += Pdot[2] * dt;
        PP[1][1] += Pdot[3] * dt;
       
        Angle_err = Accel - Angle;        //zk-先验估计
       
        PCt_0 = C_0 * PP[0][0];
        PCt_1 = C_0 * PP[1][0];
       
        E = R_angle + C_0 * PCt_0;
       
        K_0 = PCt_0 / E;
        K_1 = PCt_1 / E;
       
        t_0 = PCt_0;
        t_1 = C_0 * PP[0][1];

        PP[0][0] -= K_0 * t_0;                 //后验估计误差协方差
        PP[0][1] -= K_0 * t_1;
        PP[1][0] -= K_1 * t_0;
        PP[1][1] -= K_1 * t_1;
               
        Angle        += K_0 * Angle_err;         //后验估计
        Q_bias        += K_1 * Angle_err;         //后验估计
        Gyro_y   = Gyro - Q_bias;         //输出值(后验估计)的微分=角速度

}

void Angle_Calculate(void)
{

/****************************加速度****************************************/
       
        Accel_x  =  MPU6050_Real_Data.Accel_X;          //读取X轴加速度
        Angle_ax = Accel_x*1.2*180/3.14;     //弧度转换为度
  
/****************************角速度****************************************/
       
         Gyro_y = MPU6050_Real_Data.Gyro_Y;             
    Angle_gy += (Gyro_y)*0.003;
         
/***************************卡尔曼融合*************************************/
        Kalman_Filter(Angle_ax,Angle_gy);       //卡尔曼滤波计算倾角
       
}


void Speed_Pid_Calculate(void)
{
          if(Angle>-3.0&&Angle<3.0) {Angle=0.0;}
               
                Speed_control  = (Kp*Angle + Kd*Gyro_y);            //PID:角速度和角度调节
                Speed_control += (Ksp*motor_speed + Ksi*position);   
               
                //PID:车速度调节
               
              speed_control_l = (int)Speed_control ;                //左轮速度
                speed_control_r = (int)- Speed_control;    //右轮速度
               
                if(speed_control_l > MAX_SPEED) speed_control_l = MAX_SPEED;
                if(speed_control_l < -MAX_SPEED) speed_control_l = -MAX_SPEED;
                if(speed_control_r > MAX_SPEED) speed_control_r = MAX_SPEED;
                if(speed_control_r < -MAX_SPEED) speed_control_r = -MAX_SPEED;

}



回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2016-8-16 09:30:54 | 显示全部楼层
华丽与creazy 发表于 2016-8-15 18:40
我在做平衡小车,在卡尔曼滤波计算出倾角之后我再进行PID调节的时候,因为在PID调节函数里面加上了if(Ang ...

做平衡车为什么要加这一句?加了这一句不是在那个范围内没有调节作用了?在范围内一开始是0,后面到了>3的值,数据跳变不是很正常吗?
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-5-19
在线时间
14 小时
发表于 2016-8-16 14:10:04 | 显示全部楼层
wszdxmh 发表于 2016-8-16 09:30
做平衡车为什么要加这一句?加了这一句不是在那个范围内没有调节作用了?在范围内一开始是0,后面到了>3 ...

加上那一句可以让最开始的时候有轻微扰动也能保持稳定啊,然后问题我找到了,因为我改变速度的Angle和卡尔曼滤波反馈的Angle相同,导致错误,现在我用了另一个变量,就好了~
回复 支持 反对

使用道具 举报

5

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2016-5-19
在线时间
14 小时
发表于 2016-8-16 14:10:55 | 显示全部楼层
wszdxmh 发表于 2016-8-16 09:30
做平衡车为什么要加这一句?加了这一句不是在那个范围内没有调节作用了?在范围内一开始是0,后面到了>3 ...

然后现在我又遇到了另外一个问题,就是我平衡车烧完程序通电了,然后我手拿着它改变倾角它能跑,然后一放在地上,动一下就死了,你知道这是什么原因吗?
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2016-8-16 14:29:39 | 显示全部楼层
华丽与creazy 发表于 2016-8-16 14:10
然后现在我又遇到了另外一个问题,就是我平衡车烧完程序通电了,然后我手拿着它改变倾角它能跑,然后一放 ...

不知道
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

0

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-4-12
在线时间
15 小时
发表于 2016-8-18 16:50:10 | 显示全部楼层
最近正在学习这个。顶一下!!!!
回复 支持 反对

使用道具 举报

0

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-4-12
在线时间
15 小时
发表于 2016-8-18 16:51:35 | 显示全部楼层
请问MPU6050测试角度精度和稳定度是多少?
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2016-8-18 17:05:32 | 显示全部楼层
hbthgs 发表于 2016-8-18 16:51
请问MPU6050测试角度精度和稳定度是多少?

MPU6050上面有写陀螺仪和加速度计的精度,但是角度要经过计算才能够得到,所以我也不知道这个精度要怎么算,稳定度这个又怎么算。。。反正大家的四轴基本都用这个芯片,应该还是属于民用或者DIY的水平吧。
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

13

主题

101

帖子

0

精华

高级会员

Rank: 4

积分
509
金钱
509
注册时间
2016-1-4
在线时间
87 小时
发表于 2016-8-20 10:52:35 | 显示全部楼层
学到了,顶起
回复 支持 反对

使用道具 举报

14

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2016-5-16
在线时间
67 小时
发表于 2016-8-20 21:26:49 | 显示全部楼层
楼主,我是初学者,不是很懂这公式else那条意思       
if (Accel_x<32768) x = Accel_x / 16384;
else              x = 1 - (Accel_x - 49152) / 16384;
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2016-8-20
在线时间
2 小时
发表于 2016-8-20 21:39:01 | 显示全部楼层
帮顶。。。
回复 支持 反对

使用道具 举报

39

主题

212

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
303
金钱
303
注册时间
2016-4-21
在线时间
129 小时
发表于 2016-8-21 20:25:35 | 显示全部楼层
wszdxmh 发表于 2016-7-25 16:40
应该是32768,因为是65535/2,他们写成那样我也不知道是为什么。

楼主,为什么是65535/2 ?量程是正负2g,不应该是16384*2吗?
本人交流群:136045527,欢迎各位大佬和萌新
回复 支持 反对

使用道具 举报

3

主题

18

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-7-28
在线时间
4 小时
发表于 2016-8-22 15:03:24 | 显示全部楼层
楼主,我也在研究6050,有些问题想请教你,麻烦加我QQ641573672,谢谢了
回复 支持 反对

使用道具 举报

3

主题

18

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-7-28
在线时间
4 小时
发表于 2016-8-22 15:03:53 | 显示全部楼层
wszdxmh 发表于 2016-7-22 15:51
只见下载,不见顶贴。。。

楼主,我也在研究6050,有些问题想请教你,麻烦加我QQ641573672,谢谢了
回复 支持 反对

使用道具 举报

3

主题

18

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2016-7-28
在线时间
4 小时
发表于 2016-8-22 15:05:23 | 显示全部楼层
wszdxmh 发表于 2016-7-22 16:49
MPU6050模块8块5一个,你还想怎么样?我同学在质检局工作,人家的陀螺仪准到不行。我现在知道的也就只 ...

楼主,我也在研究6050,有些问题想请教你,麻烦加我QQ641573672,谢谢了
回复 支持 反对

使用道具 举报

18

主题

82

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
金钱
241
注册时间
2012-8-27
在线时间
21 小时
发表于 2016-8-22 19:27:14 | 显示全部楼层
楼主有没有试过航向角准吗?
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2016-8-22
在线时间
0 小时
发表于 2016-8-22 23:52:26 | 显示全部楼层
wszdxmh 发表于 2016-7-22 16:49
MPU6050模块8块5一个,你还想怎么样?我同学在质检局工作,人家的陀螺仪准到不行。我现在知道的也就只 ...

为了回复你这个问题我还注册了一个账号!mpu6050才几块钱一个,质监局的几万块甚至十几万的陀螺仪,这两个有可比性吗?不要拿小奥拓跟法拉利比!
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2016-8-22 23:57:51 | 显示全部楼层
624467649 发表于 2016-8-20 21:26
楼主,我是初学者,不是很懂这公式else那条意思       
if (Accel_x

我也是项目需要,看了参考了网上的,我看到能用就没管他了。没研究过,我还解答不了你这个问题
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2016-8-22 23:58:18 | 显示全部楼层
一只风筝 发表于 2016-8-21 20:25
楼主,为什么是65535/2 ?量程是正负2g,不应该是16384*2吗?

我也不知道我这样算对不对,我能用我就没管他了。
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2016-8-22 23:58:50 | 显示全部楼层
etkl 发表于 2016-8-22 19:27
楼主有没有试过航向角准吗?

没测过,我只用到一个维度。
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2016-8-23 00:00:48 | 显示全部楼层
guoshanjing0808 发表于 2016-8-22 23:52
为了回复你这个问题我还注册了一个账号!mpu6050才几块钱一个,质监局的几万块甚至十几万的陀螺仪,这两 ...

然后呢?有好的算法推荐吗?
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
10
金钱
10
注册时间
2016-8-22
在线时间
0 小时
发表于 2016-8-23 00:03:34 | 显示全部楼层
互补滤波卡尔曼都可以,9轴数据在进算法之前要先滤波的
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2016-8-23 09:04:27 | 显示全部楼层
guoshanjing0808 发表于 2016-8-23 00:03
互补滤波卡尔曼都可以,9轴数据在进算法之前要先滤波的

要你说,我都做完了。还有什么新的屌炸天的算法吗?终于等到大神回复我这条“坐等大神”的评论了。
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

39

主题

212

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
303
金钱
303
注册时间
2016-4-21
在线时间
129 小时
发表于 2016-8-27 18:21:26 | 显示全部楼层
楼主,你的程序水平放置时roll是90度,我想他水平放置时roll是0度怎么搞啊
本人交流群:136045527,欢迎各位大佬和萌新
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2016-8-27 19:38:36 | 显示全部楼层
一只风筝 发表于 2016-8-27 18:21
楼主,你的程序水平放置时roll是90度,我想他水平放置时roll是0度怎么搞啊

我只用了Y轴,其他轴都没怎么搞,你可以-90向下平移不就好了?
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

8

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
395
金钱
395
注册时间
2014-7-13
在线时间
58 小时
发表于 2016-8-28 10:54:02 | 显示全部楼层
谢谢楼主
回复 支持 反对

使用道具 举报

39

主题

212

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
303
金钱
303
注册时间
2016-4-21
在线时间
129 小时
发表于 2016-8-28 11:16:20 | 显示全部楼层
wszdxmh 发表于 2016-8-27 19:38
我只用了Y轴,其他轴都没怎么搞,你可以-90向下平移不就好了?

这样向下减很尴尬,当度数是-180度时,如果向下减就会变成-260,所以这样弄的话有的度数区间要专门处理,觉得有点蛋疼
本人交流群:136045527,欢迎各位大佬和萌新
回复 支持 反对

使用道具 举报

7

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
581
金钱
581
注册时间
2016-3-1
在线时间
76 小时
发表于 2016-11-20 20:19:59 | 显示全部楼层
顶一个,正好学习一下。
回复 支持 反对

使用道具 举报

6

主题

20

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2016-11-23
在线时间
10 小时
发表于 2016-11-23 18:52:13 | 显示全部楼层
厉害厉害,学习了
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2015-2-3
在线时间
6 小时
发表于 2016-11-23 22:34:01 | 显示全部楼层
好贴,谢谢分享
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
80
金钱
80
注册时间
2016-11-3
在线时间
10 小时
发表于 2016-11-24 20:14:55 | 显示全部楼层
谢谢楼主分享,赶紧学习下
回复 支持 反对

使用道具 举报

3

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2016-11-5
在线时间
26 小时
发表于 2016-11-24 21:44:55 | 显示全部楼层
谢谢楼主
回复 支持 反对

使用道具 举报

虫虫特工233 该用户已被删除
发表于 2016-11-25 11:25:48 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
172
金钱
172
注册时间
2015-5-14
在线时间
36 小时
发表于 2016-11-28 20:24:39 | 显示全部楼层
顶。。。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

2

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2014-8-8
在线时间
11 小时
发表于 2017-1-11 15:50:08 | 显示全部楼层
非常感谢楼主,最近在用9250,现在已经能够得到角度,我移植您的滤波X轴也是90.。。。还在研究中,不过我想向楼主请教一下您一介二介互补滤波的资料是在哪看的呀?不胜感谢,小白学习中,
回复 支持 反对

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
 楼主| 发表于 2017-1-11 22:10:33 | 显示全部楼层
0星空斗罗0 发表于 2017-1-11 15:50
非常感谢楼主,最近在用9250,现在已经能够得到角度,我移植您的滤波X轴也是90.。。。还在研究中,不过我想 ...

百度的。。。好像原子哥程序的原始数据X轴就是90,现在没做这个东西很久了,早就不记得了
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复 支持 反对

使用道具 举报

0

主题

42

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1506
金钱
1506
注册时间
2016-7-3
在线时间
270 小时
发表于 2017-1-12 00:27:05 | 显示全部楼层
只见下载,不见顶贴。。。
回复 支持 反对

使用道具 举报

38

主题

527

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1424
金钱
1424
注册时间
2011-11-27
在线时间
122 小时
发表于 2017-1-12 07:37:09 | 显示全部楼层
好贴必顶!!!
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

0

主题

0

帖子

0

精华

新手入门

积分
1
金钱
1
注册时间
2019-10-16
在线时间
4 小时
发表于 2017-1-30 22:59:27 | 显示全部楼层
华丽与creazy 发表于 2016-8-9 18:20
我用printf("%0.2f    %0.2f    %0.2f\r\n",Angle,Angle_ax,Gyro_y);函数分别读取的加速度,角速度和倾角, ...

你好我也在做平衡车再调波时遇到陀螺仪积分出来的角度随时间偏移的厉害,请问你是如何解决的?还有就是融合的好坏应该如何去判断?C:\Users\Administrator\Desktop\我的文档\我的代码
回复 支持 反对

使用道具 举报

0

主题

0

帖子

0

精华

新手入门

积分
1
金钱
1
注册时间
2019-10-16
在线时间
4 小时
发表于 2017-1-30 23:02:33 | 显示全部楼层
华丽与creazy 发表于 2016-8-9 18:20
我用printf("%0.2f    %0.2f    %0.2f\r\n",Angle,Angle_ax,Gyro_y);函数分别读取的加速度,角速度和倾角, ...

这是波形图
360截图-102670078.jpg
回复 支持 反对

使用道具 举报

79

主题

534

帖子

0

精华

高级会员

Rank: 4

积分
756
金钱
756
注册时间
2014-9-30
在线时间
128 小时
发表于 2017-1-31 14:01:47 | 显示全部楼层
wszdxmh 发表于 2016-7-25 14:54
谢谢指正!应该是我打错了,我当时没注意。不过也能跑。。。

非常 感谢 楼主的 坦诚 。。
以后 会有机会 付费 请教您 。
回复 支持 反对

使用道具 举报

25

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
399
金钱
399
注册时间
2015-5-2
在线时间
59 小时
发表于 2017-3-2 17:41:29 | 显示全部楼层
很好的资料,必须顶起来噢
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2017-1-2
在线时间
5 小时
发表于 2017-3-3 17:14:45 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

8

主题

32

帖子

0

精华

新手入门

积分
9
金钱
9
注册时间
2016-12-29
在线时间
19 小时
发表于 2017-3-9 12:17:21 | 显示全部楼层
wszdxmh 发表于 2016-7-22 16:49
MPU6050模块8块5一个,你还想怎么样?我同学在质检局工作,人家的陀螺仪准到不行。我现在知道的也就只 ...

你好楼主,我想问一下你的互补滤波中的k和1-k中的k是怎么确定的呢?卡尔曼滤波中的噪声的方差又是怎么获得的呢、
回复 支持 反对

使用道具 举报

13

主题

186

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2016-6-30
在线时间
97 小时
发表于 2017-3-10 10:08:07 | 显示全部楼层
顶顶顶
回复 支持 反对

使用道具 举报

2

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2017-2-14
在线时间
21 小时
发表于 2017-3-17 21:56:15 | 显示全部楼层
求助一下楼主,最近开始学习mpu6050,有没有不上操作系统C8T6的程序
技术不行的技术宅
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-24 15:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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