智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 5588|回复: 11
打印 上一主题 下一主题

[软件类] 电磁组 PID参数问题

  [复制链接]

22

主题

70

帖子

0

精华

高级会员

Rank: 4

积分
889
威望
505
贡献
172
兑换币
4
注册时间
2011-11-24
在线时间
106 小时
跳转到指定楼层
1#
发表于 2012-4-21 18:31:17 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
电磁组利用卡尔曼滤波得到倾角,将倾角经过PID算法之后,输出波形如下:这是什么原因?

其中蓝色是倾角,淡红色是经过PID处理之后的输出.

本帖子中包含更多资源

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

x

1

主题

18

帖子

0

精华

注册会员

Rank: 2

积分
140
威望
106
贡献
34
兑换币
6
注册时间
2012-5-14
在线时间
0 小时
毕业学校
nwpu
12#
发表于 2013-5-15 07:05:27 | 只看该作者
VisualScope群321184302,串口示波器群,希望对你有帮助
回复 支持 反对

使用道具 举报

3

主题

34

帖子

0

精华

高级会员

Rank: 4

积分
652
威望
418
贡献
126
兑换币
0
注册时间
2012-2-14
在线时间
54 小时
毕业学校
上海工程技术大学
11#
发表于 2012-5-24 14:08:49 | 只看该作者
蒹葭之尹 发表于 2012-5-22 16:10
unsigned short CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT)
{
    unsigned short CRC_Tem ...

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;


这段是什么意思,256是测试程序的正弦波怎么这么操作的吧
如果是要官方的图,加速度计和陀螺仪的怎么写啊
回复 支持 反对

使用道具 举报

22

主题

70

帖子

0

精华

高级会员

Rank: 4

积分
889
威望
505
贡献
172
兑换币
4
注册时间
2011-11-24
在线时间
106 小时
10#
 楼主| 发表于 2012-5-22 16:10:36 | 只看该作者
阿童木 发表于 2012-5-22 14:13
替代串口助手之类的软件么?还是要另外写程序额?

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);
}
/*
****************************************************************
*    配合串口示波器的输出协议,float 字长设为16位!!!注意工程
*    设置有的是32位!
*  1  可以输出4路信息,每路数据长度是16位。
*  2  每次输出字节总数10个,最后两个字节为校验
*****************************************************************
*/
void OutPut_Data(float OutData[4])
{
  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(databuf);
}


回复 支持 反对

使用道具 举报

3

主题

34

帖子

0

精华

高级会员

Rank: 4

积分
652
威望
418
贡献
126
兑换币
0
注册时间
2012-2-14
在线时间
54 小时
毕业学校
上海工程技术大学
9#
发表于 2012-5-22 14:13:58 | 只看该作者
蒹葭之尹 发表于 2012-5-11 15:45
跟串口结合就可以用了~~

替代串口助手之类的软件么?还是要另外写程序额?
回复 支持 反对

使用道具 举报

22

主题

70

帖子

0

精华

高级会员

Rank: 4

积分
889
威望
505
贡献
172
兑换币
4
注册时间
2011-11-24
在线时间
106 小时
8#
 楼主| 发表于 2012-5-11 15:45:24 | 只看该作者
跟串口结合就可以用了~~
回复 支持 反对

使用道具 举报

14

主题

79

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1001
威望
570
贡献
265
兑换币
8
注册时间
2012-3-4
在线时间
83 小时
7#
发表于 2012-5-11 15:14:21 | 只看该作者
请问楼主大神,虚拟示波器怎么用?
回复 支持 反对

使用道具 举报

7

主题

145

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1479

优秀会员奖章活跃会员奖章

威望
819
贡献
396
兑换币
96
注册时间
2012-3-15
在线时间
132 小时
6#
发表于 2012-4-22 23:35:50 | 只看该作者
跑的怎么样啊??
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

注册会员

Rank: 2

积分
158
威望
120
贡献
32
兑换币
0
注册时间
2012-4-19
在线时间
3 小时
毕业学校
青岛农业大学
5#
发表于 2012-4-22 22:06:27 | 只看该作者
你们进程真快
回复 支持 反对

使用道具 举报

22

主题

70

帖子

0

精华

高级会员

Rank: 4

积分
889
威望
505
贡献
172
兑换币
4
注册时间
2011-11-24
在线时间
106 小时
4#
 楼主| 发表于 2012-4-22 16:56:34 | 只看该作者
就是从论坛下的那个仿真软件(Serial_Digital_Scope V2)~~~~
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 02:00 , Processed in 0.051985 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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