登录
首页 数控论坛
回帖 发帖
正文

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

点击:940 回复:0

请帮我看看这个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:40

工控新闻

更多新闻资讯