登录
首页 运动控制 运动控制
回帖 发帖
正文

主题:请帮我看看这个PID程序

点击:1000 回复:1

请帮我看看这个PID算法,怎么转速一直都是增大的, 而不是按照正弦曲线变化,
谢谢  
PID()
{      

 Integrate      =Pre_Integrate+errspeed;
 Derivative     =errspeed-Pre_Errspeed;    
     
 /***********计算PID的输出*********************
   Control_Output =speedKp*errspeed+speedTi*Integrate+speedTd*Derivative;     //PWM输出

 Pre_Errspeed   =errspeed;
 Pre_Integrate  =Integrate;
}
CAL()         // 定时做PID计算
{
 
     pulse_error=prepulse-pulse;   // pulse_error为脉冲差值
                   
     prepulse=pulse;            //PULSE为旋转编码器测出的电机转速(脉冲个数),
   
   temp1=6*sin(temp);        // 模拟正弦函数曲线
   temp=temp+0.1;                  
   
   errspeed=((int)temp1-pulse_error;  // 期望值与当前值的差值, 用来作PID计算
           
      PID();      
  }
07-05-11 16:39
errspeed=((int)temp1-pulse_error;  // 期望值与当前值的差值, 用来作PID计算
改成 errspeed=((int)temp1-pulse  试一试
07-05-15 14:41

工控新闻

更多新闻资讯