智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1082|回复: 7
打印 上一主题 下一主题

跪了一天了,实在想不通啊,求求大神指教!

[复制链接]

31

主题

155

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
9286
威望
4170
贡献
2660
兑换币
2694
注册时间
2014-2-26
在线时间
1228 小时
跳转到指定楼层
1#
发表于 2015-4-16 22:34:48 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
下载程序,拔掉jlink,角度融合,如图:下载程序,不拔jlink,角度融合,如图:
为什么统一程序不同的结果啊?我用的是清华滤波。  
同时测试了卡尔曼,卡尔曼插上拔掉没区别。这是为什么啊?。。。。。。。
怀疑是变量定义问题,但是不知道是哪里的问题啊。
代码如下:
       /*龙丘滤波*/
       //Acc=2035-ADValue0; //-90z轴1为垂直修正量  纠正垂直时的不确定
        //Gyr=ADValue1-Gyr_OFFSET;    // 陀螺仪的值   /
        //Acc_jiao=Acc*0.34; //z轴转过的角度 0.134180/    max-min
        //Gyr_jiao=Gyr*0.043;//陀螺仪的角度   
        //real_angle = Q*(real_angle + Gyr_jiao*0.05) + R*(Acc_jiao);    // 0.01 采样周期


       /*卡尔曼滤波*/
        //Kalman_Filter(Acc_jiao,Gyr_jiao);
        //real_angle= angle;
        //GyrAccCra=real_angle;

        /*清华滤波*/      
        float fDeltaValue;
        Acc_jiao = (ADValue0 - 2035)*0.34;     //0.06357准确
        Gyr_jiao = (Gyr_OFFSET-ADValue1) * 0.5;
        
        g_fCarAngle = g_fGyroscopeAngleIntegral;
        fDeltaValue = (Acc_jiao-g_fCarAngle)/2;  //
        g_fGyroscopeAngleIntegral += (Gyr_jiao+fDeltaValue)/ (1000/5);//1000/5ms
        GyrAccCra=g_fCarAngle;

        //乘与积分时间
        OutData[0]=Acc_jiao; //  Z轴转的角度
        OutData[1]=Gyr_jiao; //加速度计计算得到的角度
        OutData[2]=GyrAccCra;  //最后融合得到的角度
        Display(GyrAccCra,10,3);

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

27

主题

1517

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
11255

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章资源大师奖章

威望
4350
贡献
2795
兑换币
2704
注册时间
2013-10-16
在线时间
2055 小时
毕业学校
并没有毕业
8#
发表于 2015-4-17 09:19:31 | 只看该作者
才跪一天你就想不通了
回复 支持 反对

使用道具 举报

32

主题

3009

帖子

0

精华

杰出人士

学期班的来卖萌?

Rank: 12Rank: 12Rank: 12

积分
14832

在线王奖章活跃会员奖章优秀会员奖章论坛元老奖章资源大师奖章

威望
5952
贡献
3172
兑换币
4257
注册时间
2013-11-26
在线时间
2854 小时
7#
发表于 2015-4-17 09:14:04 | 只看该作者

{:3_47:}
回复 支持 反对

使用道具 举报

10

主题

1514

帖子

0

精华

金牌会员

智能车,首选泰庆

Rank: 6Rank: 6

积分
1715

活跃会员奖章在线王奖章

QQ
威望
427
贡献
400
兑换币
497
注册时间
2014-11-4
在线时间
444 小时
6#
发表于 2015-4-17 08:11:36 | 只看该作者
:):)
回复 支持 反对

使用道具 举报

0

主题

75

帖子

0

精华

高级会员

Rank: 4

积分
977
威望
478
贡献
297
兑换币
320
注册时间
2012-12-20
在线时间
101 小时
毕业学校
武威一中
5#
发表于 2015-4-17 00:30:17 | 只看该作者
2楼是大神,我测过插着Jlink的时候,电源噪声有100mVpp
回复 支持 反对

使用道具 举报

29

主题

758

帖子

1

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5114
威望
809
贡献
3231
兑换币
1518
注册时间
2012-9-15
在线时间
537 小时
4#
发表于 2015-4-17 00:25:41 | 只看该作者
zhou1994 发表于 2015-4-16 22:45
因为你设置零点的时候是插着jlink设置的。

大神大神
回复 支持 反对

使用道具 举报

31

主题

155

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
9286
威望
4170
贡献
2660
兑换币
2694
注册时间
2014-2-26
在线时间
1228 小时
3#
 楼主| 发表于 2015-4-16 23:00:15 | 只看该作者
zhou1994 发表于 2015-4-16 22:45
因为你设置零点的时候是插着jlink设置的。

陀螺仪的零点吗?我是开始初始化的  for(i=1;i<=50;i++)
    {
      Get_Gyr_OFFSET();
    }




采集陀螺仪的零偏
*/
void Get_Gyr_OFFSET(void)
{
        AD2_MAX=AD2[0];
        AD2_MIN=AD2[0];
        for(nn=0;nn<20;nn++)
        {  
                AD2[nn]= adc_once(AMP3,ADC_12bit);
                if (AD2[nn]>AD2_MAX)
                {
                        AD2_MAX =AD2[nn];
                }
                else if  (AD2[nn]<=AD2_MIN)
                {
                        AD2_MIN=AD2[nn] ;
                }

        }

        Gyr_OFFSET=(AD2[0]+AD2[1]+AD2[2]+AD2[3]+AD2[4]+AD2[5]+AD2[6]+AD2[7]+AD2[8]+AD2[9]+AD2[10]+AD2[11]+AD2[12]+AD2[13]+AD2[14]+AD2[15]+AD2[16]+AD2[17]+AD2[18]+AD2[19]-AD2_MAX-AD2_MIN)/18;
        //OutData[3]=Gyr_OFFSET;  //陀螺仪零偏值
}

回复 支持 反对

使用道具 举报

32

主题

3009

帖子

0

精华

杰出人士

学期班的来卖萌?

Rank: 12Rank: 12Rank: 12

积分
14832

在线王奖章活跃会员奖章优秀会员奖章论坛元老奖章资源大师奖章

威望
5952
贡献
3172
兑换币
4257
注册时间
2013-11-26
在线时间
2854 小时
2#
发表于 2015-4-16 22:45:04 | 只看该作者
因为你设置零点的时候是插着jlink设置的。
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-22 14:30 , Processed in 0.073106 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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