智能车制作

标题: 小车的速度PID程序怎么做呢? [打印本页]

作者: huanbgjun    时间: 2010-7-16 11:43
标题: 小车的速度PID程序怎么做呢?
????
作者: qiancy    时间: 2010-8-17 22:41
http://www.znczz.com/thread-6493-1-4.html
作者: zzy2099    时间: 2010-8-28 21:29
给你个参照,我们09年用的
void speed_pid(void)
{
    int error,d_error,dd_error;
    ideal_speed=(SPEED_MIN-SPEED_MAX)*(position*position)/225+SPEED_MAX;
    if(absolute(position)<1)     ideal_speed=SPEED_MAX;
    error=ideal_speed-pulse_count;   
    d_error=error-pre_error;         
    dd_error=d_error-pre_d_error;     
    pre_error=error;
    pre_d_error=d_error;
    if(error>-3)   
    {
          MOTOR_KP=100;         
          MOTOR_KI=100;                 
          MOTOR_KD=0;
    }
    else
    {
          MOTOR_KP=300;         
          MOTOR_KI=100;                 
          MOTOR_KD=0;
    }
    pk+=MOTOR_KP*error+MOTOR_KI*d_error+MOTOR_KD*dd_error;
    if(pk>10000)     pk=10000;
    else if(pk<0)      pk=0;
    driver(pk);
}
作者: thunderbird001    时间: 2011-3-26 16:53
帮顶
作者: 海彬    时间: 2012-4-25 10:35
绑顶




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