智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1022|回复: 1
打印 上一主题 下一主题

直立车要么往前加速,要么往后加速,求破

[复制链接]

12

主题

55

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1171
威望
634
贡献
329
兑换币
288
注册时间
2012-2-19
在线时间
104 小时
毕业学校
南山学院
跳转到指定楼层
1#
发表于 2014-6-28 09:50:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
车子调直立,先是往后加速,轻轻的给一个向前的干扰慢慢的向前,然后就加速向前,现在是要么一个劲向前加速要么一个劲向后加速,求破,完全不会停下来,是编码器采集的问题吗?这是我编码器采集的程序,求大神破下
void GetMotorPulse(void)    //总归来说是这个韩硕中的脉冲累加量有问题。。。。
{
        unsigned int nLeftPulse, nRightPulse;
       
          nLeftPulse  = DMA_count_get(DMA_CH1) ; //读取电机脉冲计数器  读取左编码器值
        nRightPulse = DMA_count_get(DMA_CH0);  //读取电机脉冲计数器  读取右编码器值  
        DMA_count_reset(DMA_CH0);                   //清除DMA脉冲计数器
        DMA_count_reset(DMA_CH1);
        g_nLeftMotorPulse = (int)nLeftPulse;
        g_nRightMotorPulse = (int)nRightPulse;
        if(!MOTOR_LEFT_SPEED_POSITIVE)                g_nLeftMotorPulse = -g_nLeftMotorPulse;  //(g_fLeftMotorOut > 0)
        if(!MOTOR_RIGHT_SPEED_POSITIVE)                g_nRightMotorPulse = -g_nRightMotorPulse;//(g_fRightMotorOut > 0)
               
        g_nLeftMotorPulseSigma += g_nLeftMotorPulse;   //归根结底则例有一定问题。。。。导致这个问题的主要原因还是g_fLeftMotorOut不对
        g_nRightMotorPulseSigma += g_nRightMotorPulse;
}

回复

使用道具 举报

61

主题

545

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3810

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

威望
1747
贡献
995
兑换币
1052
注册时间
2013-9-7
在线时间
534 小时
2#
发表于 2014-6-28 17:51:04 | 只看该作者
是陀螺仪没有放正????
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-13 17:44 , Processed in 0.037081 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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