智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2420|回复: 9
打印 上一主题 下一主题

关于编码器获取的脉冲问题

[复制链接]

35

主题

98

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1049
威望
570
贡献
281
兑换币
303
注册时间
2014-8-31
在线时间
99 小时
毕业学校
华立学院
跳转到指定楼层
1#
发表于 2015-1-3 10:33:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

       else
       {
         nRightPulse=FTM1_CNT;
       }
       if(FTM1_CNT==0)
       {
       nLeftPulse=0;
       }
       else
       {
       nLeftPulse=FTM1_CNT;
       }
       FTM1_CNT= 0;                 

        g_nLeftMotorPulse  = (int)nLeftPulse;
        g_nRightMotorPulse = (int)nRightPulse;
        //通过送给电机的PWM值判断速度的方向
        if(g_nLeftMotorPulse>0)               
            g_nLeftMotorPulse = -g_nLeftMotorPulse;
        if(g_nLeftMotorPulse<0)               
            g_nRightMotorPulse = -g_nRightMotorPulse;
        g_nLeftMotorPulseSigma  += g_nLeftMotorPulse;
        g_nRightMotorPulseSigma += g_nRightMotorPulse;
}
这是我的编码器处理脉冲的程序,但是我的直立车只能站一下下,然后向后倒地,轮子一直向前打转,请问是什么问题呢???是脉冲哪里不对,还是极性问题呢?谢谢

回复

使用道具 举报

35

主题

98

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1049
威望
570
贡献
281
兑换币
303
注册时间
2014-8-31
在线时间
99 小时
毕业学校
华立学院
2#
 楼主| 发表于 2015-1-3 10:38:16 | 只看该作者
求指点 谢谢
回复 支持 反对

使用道具 举报

32

主题

3009

帖子

0

精华

杰出人士

学期班的来卖萌?

Rank: 12Rank: 12Rank: 12

积分
14832

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

威望
5952
贡献
3172
兑换币
4257
注册时间
2013-11-26
在线时间
2854 小时
3#
发表于 2015-1-3 11:57:47 | 只看该作者
首先,为何要判断不为0了才读?你判断为0了最后还是赋值为0啊,和直接读出来是0有区别?其次,     if(g_nLeftMotorPulse>0)               
            g_nLeftMotorPulse = -g_nLeftMotorPulse;
        if(g_nLeftMotorPulse<0)               
            g_nRightMotorPulse = -g_nRightMotorPulse;为何同一个条件去做2件事,不能一起做?第三。直立效果如何?
回复 支持 反对

使用道具 举报

35

主题

98

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1049
威望
570
贡献
281
兑换币
303
注册时间
2014-8-31
在线时间
99 小时
毕业学校
华立学院
4#
 楼主| 发表于 2015-1-3 12:03:41 | 只看该作者
zhou1994 发表于 2015-1-3 11:57
首先,为何要判断不为0了才读?你判断为0了最后还是赋值为0啊,和直接读出来是0有区别?其次,     if(g_nL ...

也对,那个我只有一个编码器,所以都用同一个赋值。直立能站在原地2秒的样子,不过有点抖,然后就向后倒地了,轮子向前打转。
回复 支持 反对

使用道具 举报

35

主题

98

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1049
威望
570
贡献
281
兑换币
303
注册时间
2014-8-31
在线时间
99 小时
毕业学校
华立学院
5#
 楼主| 发表于 2015-1-3 12:07:08 | 只看该作者
zhou1994 发表于 2015-1-3 11:57
首先,为何要判断不为0了才读?你判断为0了最后还是赋值为0啊,和直接读出来是0有区别?其次,     if(g_nL ...

大神,能指点一下吗?大概是哪里的问题,我只给了I=1;P=0;速度换的
回复 支持 反对

使用道具 举报

32

主题

3009

帖子

0

精华

杰出人士

学期班的来卖萌?

Rank: 12Rank: 12Rank: 12

积分
14832

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

威望
5952
贡献
3172
兑换币
4257
注册时间
2013-11-26
在线时间
2854 小时
6#
发表于 2015-1-3 12:27:38 | 只看该作者
这...很复杂. 发表于 2015-1-3 12:07
大神,能指点一下吗?大概是哪里的问题,我只给了I=1;P=0;速度换的

直立不行,你调速度干嘛?
回复 支持 反对

使用道具 举报

35

主题

98

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1049
威望
570
贡献
281
兑换币
303
注册时间
2014-8-31
在线时间
99 小时
毕业学校
华立学院
7#
 楼主| 发表于 2015-1-3 12:39:26 | 只看该作者
zhou1994 发表于 2015-1-3 12:27
直立不行,你调速度干嘛?

加了速度环的直立不行,没加是可以的。没加速度环,直立可以的
回复 支持 反对

使用道具 举报

0

主题

40

帖子

0

精华

高级会员

Rank: 4

积分
824
威望
398
贡献
270
兑换币
267
注册时间
2014-11-18
在线时间
78 小时
毕业学校
山东农业工程学院
8#
发表于 2015-1-4 12:40:40 | 只看该作者
:lol:lol:lol:lol:lol:lol:lol:lol
回复 支持 反对

使用道具 举报

16

主题

1096

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
7306

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

威望
3288
贡献
2098
兑换币
2140
注册时间
2013-7-18
在线时间
960 小时
9#
发表于 2015-1-6 15:02:51 | 只看该作者
把直立屏蔽掉,调速度反馈。让车轮可以匀速的情况下,在融合。速度闭环时间不能太短,具体多长自己试试,我是按照清华方案来的.否则会影响直立的
回复 支持 反对

使用道具 举报

19

主题

2430

帖子

0

精华

跨届大侠

这并没有什么卵用.

Rank: 10Rank: 10Rank: 10

积分
6595

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

威望
3611
贡献
1592
兑换币
1425
注册时间
2014-7-14
在线时间
696 小时
10#
发表于 2015-1-18 19:40:10 | 只看该作者
:o:o
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 06:06 , Processed in 0.130032 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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