智能车制作

标题: 吉他手老师求助 [打印本页]

作者: yrx140102    时间: 2012-4-13 12:53
标题: 吉他手老师求助
void SpeedControl(void) {
    float fDelta;
    float fP, fI;
    g_fCarSpeed = (g_nLeftMotorPulseSigma +
                   g_nRightMotorPulseSigma) / 2;
    g_nLeftMotorPulseSigma = g_nRightMotorPulseSigma = 0;
    g_fCarSpeed *= CAR_SPEED_CONSTANT;
    fDelta = CAR_SPEED_SETfDelta - g_fCarSpeed;

    fP = fDelta * SPEED_CONTROL_P;
    fI = fDelta * SPEED_CONTROL_I;

    g_fSpeedControlIntegral += fI;

    g_fSpeedControlOutOld = g_fSpeedControlOutNew;
    g_fSpeedControlOutNew = fP + g_fSpeedControlIntegral;
}
void SpeedControlOutput(void) {
    float fValue;
    fValue = g_fSpeedControlOutNew - g_fSpeedControlOutOld;
    g_fSpeedControlOut = fValue * (g_nSpeedControlPeriod + 1) /
                             SPEED_CONTROL_PERIOD +
                             g_fSpeedControlOutOld;
}
用上面的算法,增大 SPEED_CONTROL_P小车能在4-5厘米范围内来回摆动,不能保持静止,增大 fI = fDelta * SPEED_CONTROL_I小车向一方向跑,是怎么回事?


作者: qinlu123    时间: 2012-4-13 16:14
借鉴的是思路不是照搬程序
作者: 张景张景    时间: 2012-6-10 14:23
qinlu123 发表于 2012-4-13 16:14
借鉴的是思路不是照搬程序

if(!MOTOR_LEFT_SPEED_POSITIVE)  g_nLeftMotorPulse = -g_nLeftMotorPulse;   
   if(!MOTOR_RIGHT_SPEED_POSITIVE)  g_nRightMotorPulse = -g_nRightMotorPulse;
   g_nLeftMotorPulseSigma += g_nLeftMotorPulse;
    g_nRightMotorPulseSigma += g_nRightMotorPulse;
上式代码中g_nLeftMotorPulse   与 g_nLeftMotorPulseSigma有什么区别吗?有点不懂。。。。谢谢。。。坐等回复
作者: 张景张景    时间: 2012-6-10 14:24
if(!MOTOR_LEFT_SPEED_POSITIVE)  g_nLeftMotorPulse = -g_nLeftMotorPulse;   
   if(!MOTOR_RIGHT_SPEED_POSITIVE)  g_nRightMotorPulse = -g_nRightMotorPulse;
   g_nLeftMotorPulseSigma += g_nLeftMotorPulse;
    g_nRightMotorPulseSigma += g_nRightMotorPulse;
上式代码中g_nLeftMotorPulse   与 g_nLeftMotorPulseSigma有什么区别吗?有点不懂。。。。谢谢。。。坐等回复
作者: jdhkad    时间: 2013-1-16 18:01
张景张景 发表于 2012-6-10 14:24
if(!MOTOR_LEFT_SPEED_POSITIVE)  g_nLeftMotorPulse = -g_nLeftMotorPulse;   
   if(!MOTOR_RIGHT_SPEED ...

那个问题看明白了么 ??我也不懂

作者: 小小世界    时间: 2013-5-23 20:28
这个问题应该是怎么解决啊!




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2