pid算法求助

2019-07-23 13:55发布

本帖最后由 wangrunpeng 于 2016-4-11 20:50 编辑

void pid_init()
{
        pid.ActualSpeed=0.0;
        pid.err=0.0;
        pid.err_last=0.0;
        pid.err_next=0.0;
        pid.SetSpeed=0.0;
        pid.Kp=0.2;
        pid.Ki=0.0;
        pid.Kd=0.0;
        pid.integral=0.0;
        pid.voltage=0.0;
}
double PID_realize(double Speed)
{
        pid.SetSpeed=Speed;
        pid.err=pid.SetSpeed-pid.ActualSpeed;
              
        pid.voltage=pid.Kp*pid.err;
        pid.ActualSpeed+=pid.voltage;
        
        return pid.ActualSpeed;
}
int main()
{
        pid_init();
        while(count<1500)
        {
                        Speed=PID_realize(200.0);
                        printf("%lf ",Speed);
                        count++;
        }
        return 0;
}

哪位大神帮我运行一下这个pid程序,我不理解他的第一个输出值是怎么来的,以后一起交流pid算法,电机控制
0条回答

一周热门 更多>