找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

帖子
查看: 1620|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

PID算法演示

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:249033 發(fā)表于 2018-9-9 23:02 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
** ===================================================================
** SpeedPID
   輸入:speedCount采集車速,AmSpeed 目標(biāo)車速  ;  
   輸出 :SpeedPWMOUT  計(jì)算車速 ;
** ===================================================================
*/
int16 SpeedControl(int16 speedCount,int16 AmSpeed,uint8 speedKP,uint8 speedKI,uint8 speedKD)
{
  
  
  
  *******************************************************************************************
    //speedCount      檢測(cè)值
    //AmSpeed         目標(biāo)值
    //speedKP          P
    //speedKI          I
    //speedKD           D
   
   
   static float Speed1_Err,SumErrSpeed;  //靜態(tài)變量存儲(chǔ)中間變量
   float Speed2_Err,Speed_EC;
   float Speed_P_Value,Speed_D_Value ;
  
   static int16  SpeedPWMOUT;
  
   Speed2_Err = Speed1_Err ;                //將上一次的偏差保存(上一次的偏差值為0)
  
   Speed1_Err = AmSpeed - speedCount  ;      //  計(jì)算新的偏差值(目標(biāo)值-傳感器檢測(cè)值)
        
        
  
   Speed_EC = Speed1_Err - Speed2_Err;      //  計(jì)算新的偏差變化值 (上次的偏差值-上上次的偏差值)
        
        
Speed_P_Value =  Speed1_Err * speedKP/10.0 ;   //  增量式PID控制計(jì)算P調(diào)節(jié)量
  
   SumErrSpeed  +=  Speed1_Err * speedKI ;    //增量式PID控制計(jì)算I調(diào)節(jié)量
   Speed_D_Value =  Speed_EC   *  speedKD/100.0 ;     //  增量式PID控制計(jì)算D調(diào)節(jié)量
        

SpeedPWMOUT += (int16)(Speed_P_Value + SumErrSpeed + Speed_D_Value);
        
        
   
        
        
//88888888888888888888888888888888   限幅        7777777777777777777777777777777
   if(SpeedPWMOUT < SPEED_PWM_MIN )
   {
     SpeedPWMOUT = SPEED_PWM_MIN ;
   }        
   else if(SpeedPWMOUT > SPEED_PWM_MAX)
   {
     SpeedPWMOUT = SPEED_PWM_MAX ;
         
   }   
   if(SpeedPWMOUT<=0)SpeedPWMOUT=0;
        
//888888888888888888888888888888888     限幅       77777777777777676666777777777
         
    return  SpeedPWMOUT ;  
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表