智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1560|回复: 13
打印 上一主题 下一主题

直立波形请各位大神提供一下意见

[复制链接]

31

主题

155

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
9286
威望
4170
贡献
2660
兑换币
2694
注册时间
2014-2-26
在线时间
1228 小时
跳转到指定楼层
1#
发表于 2015-3-19 01:02:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问这样的波形能直立吗?红色是加速度Z轴,黄色是陀螺仪,蓝色是融合后的,用的是互补滤波。

本帖子中包含更多资源

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

x
回复

使用道具 举报

10

主题

1514

帖子

0

精华

金牌会员

智能车,首选泰庆

Rank: 6Rank: 6

积分
1715

活跃会员奖章在线王奖章

QQ
威望
427
贡献
400
兑换币
497
注册时间
2014-11-4
在线时间
444 小时
2#
发表于 2015-3-19 08:10:08 | 只看该作者
红色的有没有 限定范围。还有滞后了 增大时间补偿系数。
回复 支持 反对

使用道具 举报

1

主题

119

帖子

0

精华

高级会员

Rank: 4

积分
659
威望
328
贡献
195
兑换币
221
注册时间
2014-11-3
在线时间
68 小时
3#
发表于 2015-3-19 08:22:35 | 只看该作者
那个,,我们的进度好像差不多,但是我还不知道怎么用虚拟示波器显示波形,你能告诉我你使怎样使陀螺仪和加速度计得到的波形通过主芯片反馈回电脑的吗?拜托了!
回复 支持 反对

使用道具 举报

5

主题

348

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4680

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
2065
贡献
1355
兑换币
1329
注册时间
2014-3-5
在线时间
630 小时
毕业学校
重庆大学
4#
发表于 2015-3-19 12:25:57 | 只看该作者
陀螺仪的比例取小了..你的黄色起伏太低,,完全是靠互补滤波强行拉向加速度计的波形
回复 支持 反对

使用道具 举报

11

主题

646

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4547

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
2974
贡献
65
兑换币
1936
注册时间
2014-9-14
在线时间
754 小时
5#
发表于 2015-3-19 16:11:41 | 只看该作者
fokki 发表于 2015-3-19 08:22
那个,,我们的进度好像差不多,但是我还不知道怎么用虚拟示波器显示波形,你能告诉我你使怎样使陀螺仪和加 ...

新手,同问
回复 支持 反对

使用道具 举报

31

主题

155

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
9286
威望
4170
贡献
2660
兑换币
2694
注册时间
2014-2-26
在线时间
1228 小时
6#
 楼主| 发表于 2015-3-19 18:48:18 | 只看该作者
fokki 发表于 2015-3-19 08:22
那个,,我们的进度好像差不多,但是我还不知道怎么用虚拟示波器显示波形,你能告诉我你使怎样使陀螺仪和加 ...

额,讲起来比较复杂。。。就是通过串口将数据发送到上位机,我用的上位机是用下面代码发送的:
unsigned short CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT)
{
    unsigned short CRC_Temp;
    unsigned char i,j;
    CRC_Temp = 0xffff;

    for (i=0;i<CRC_CNT; i++){      
        CRC_Temp ^= Buf;
        for (j=0;j<8;j++) {
            if (CRC_Temp & 0x01)
                CRC_Temp = (CRC_Temp >>1 ) ^ 0xa001;
            else
                CRC_Temp = CRC_Temp >> 1;
        }
    }
    return(CRC_Temp);
}

void OutPut_Data(void)
{
  int temp[4] = {0};
  unsigned int temp1[4] = {0};
  unsigned char databuf[10] = {0};
  unsigned char i;
  unsigned short CRC16 = 0;
  for(i=0;i<4;i++)
   {

    temp  = (int)OutData;
    temp1 = (unsigned int)temp;

   }

  for(i=0;i<4;i++)
  {
    databuf[i*2]   = (unsigned char)(temp1%256);
    databuf[i*2+1] = (unsigned char)(temp1/256);
  }

  CRC16 = CRC_CHECK(databuf,8);
  databuf[8] = CRC16%256;
  databuf[9] = CRC16/256;

  for(i=0;i<10;i++)
    uart_putchar(UART2,databuf);
}

主函数里写:
OutData[0]=Acc_jiao; //  Z轴转的角度
OutData[1]=Gyr_jiao; //加速度计计算得到的角度
OutData[2]=GyrAccCra;  //最后融合得到的角度

OutPut_Data();
就ok了。
回复 支持 反对

使用道具 举报

31

主题

155

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
9286
威望
4170
贡献
2660
兑换币
2694
注册时间
2014-2-26
在线时间
1228 小时
7#
 楼主| 发表于 2015-3-19 18:48:48 | 只看该作者
□□□ 发表于 2015-3-19 16:11
新手,同问

以回复

回复 支持 反对

使用道具 举报

31

主题

155

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
9286
威望
4170
贡献
2660
兑换币
2694
注册时间
2014-2-26
在线时间
1228 小时
8#
 楼主| 发表于 2015-3-19 18:49:28 | 只看该作者
、痕迹 发表于 2015-3-19 12:25
陀螺仪的比例取小了..你的黄色起伏太低,,完全是靠互补滤波强行拉向加速度计的波形

好的,我在调一调,谢谢啦。
回复 支持 反对

使用道具 举报

31

主题

155

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
9286
威望
4170
贡献
2660
兑换币
2694
注册时间
2014-2-26
在线时间
1228 小时
9#
 楼主| 发表于 2015-3-19 18:50:18 | 只看该作者
泰庆电子 发表于 2015-3-19 08:10
红色的有没有 限定范围。还有滞后了 增大时间补偿系数。

谢谢,受教了。
回复 支持 反对

使用道具 举报

11

主题

646

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4547

优秀会员奖章活跃会员奖章在线王奖章论坛元老奖章

威望
2974
贡献
65
兑换币
1936
注册时间
2014-9-14
在线时间
754 小时
10#
发表于 2015-3-19 19:02:31 | 只看该作者
歪腰 发表于 2015-3-19 18:48
以回复

谢谢回答。请问你用什么对应的软件看波形呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-6 19:29 , Processed in 0.050005 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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