久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2137|回復: 0
打印 上一主題 下一主題
收起左側

pid循跡小車 為什么我程序在主函數里只運行了一次,當傳感器再次檢測到時沒反應

[復制鏈接]
跳轉到指定樓層
樓主
ID:500189 發表于 2019-12-23 20:28 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
為什么我程序在主函數里只運行了一次,當傳感器再次檢測到時,沒有任何反應      灰度傳感器的位置是  前排 5個構成了一排
以下是主函數和pid程序

int main(void)
{   

    delay_init(168);  //初始化延時函數
    uart_init(115200);//初始化串口波特率為115200
    TIM3_PWM_Init(999,84-1);      //   PWM頻率=72M/((2*(arr+1)*(psc+1))   
    EXTIX_Init();              //分頻系數 84 / 84 =1Mhz    1Mhz/1000=1Khz。
  motor_init();
   
    while(1)        
    {

        //read_sensor_value_1();
        read_sensor_value_2();
        calc_pid();
        motor_control();
   
        
    }
}
void read_sensor_value_2()
{
        if(PDin(8) == 1)               
        {
       error=2;            
    }
        else if(PDin(9) == 1)         
        {
      error=1;         
    }
        else if(PDin(10) == 1)         
      {
     forward_min();
    }
        else if(PDin(11) == 1)           
        {
       error=-1;
    }
        else if (PDin(12) == 1)         
        {
       error=-2;
    }
        else if ((PDin(12) == 0)|(PDin(11) == 0)|(PDin(10) == 0)|(PDin(9) == 0)|(PDin(8) == 0))     
        {
            if(error==-2)
            {
                error=-3;
            }
            else
            {
                error=3;
            }
    }
        //return 0;
}

float P=0,I=0,D=0,PID_value=0;
float previous_error = 0, previous_I = 0;     //誤差值
float Kp=50,Ki=0,Kd=0;
void calc_pid()
{
    P=error;
    I=I+error;
    D=error-previous_error;
    PID_value = (Kp * P) + (Ki * I) + (Kd * D);
  previous_error = error;
}
static float initial_motor_speed = 0;          //初始速度
//限幅(-305,305)
void motor_control()
{
    float left_motor_speed  = initial_motor_speed - PID_value;
  float right_motor_speed = initial_motor_speed + PID_value;
  
//  if(left_motor_speed < -305){
//    left_motor_speed = -305;
//  }
//  if(left_motor_speed > 305){
//    left_motor_speed = 305;   
//    }
//    if(right_motor_speed < -305){
//    right_motor_speed = -305;
//  }
//  if(right_motor_speed > 305){
//   right_motor_speed = 305;   
//    }
    motorsWrite(left_motor_speed,right_motor_speed);
}
void motorsWrite(int speedL, int speedR)
{
  if (speedR > 0)
    {
        TIM_SetCompare3(TIM3,350+speedR);    //B0
        TIM_SetCompare4(TIM3,0);      //   右正轉   
        
         TIM_SetCompare3(TIM4,360);    //B8
        TIM_SetCompare4(TIM4,0);    //B9
   
      TIM_SetCompare1(TIM3,360);    //A6
        TIM_SetCompare2(TIM3,0); //A7
        
  } else {
    TIM_SetCompare3(TIM3,0);    //B0
        TIM_SetCompare4(TIM3,350+abs(speedR));    //倒轉
        
        TIM_SetCompare3(TIM4,360);    //B8
        TIM_SetCompare4(TIM4,0);    //B9
   
      TIM_SetCompare1(TIM3,360);    //A6
        TIM_SetCompare2(TIM3,0); //A7
        
  }

  if (speedL > 0)
    {
        TIM_SetCompare1(TIM4,350+speedL);   
        TIM_SetCompare2(TIM4,0);            //       左正轉
        
        TIM_SetCompare3(TIM4,360);    //B8
        TIM_SetCompare4(TIM4,0);    //B9   
      TIM_SetCompare1(TIM3,360);    //A6
        TIM_SetCompare2(TIM3,0); //A7        

  } else {
    TIM_SetCompare1(TIM4,0);   
        TIM_SetCompare2(TIM4,350+abs(speedL));   
        
        TIM_SetCompare3(TIM4,360);    //B8
        TIM_SetCompare4(TIM4,0);    //B9   
      TIM_SetCompare1(TIM3,360);    //A6
        TIM_SetCompare2(TIM3,0); //A7

  }
}

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 免费看片在线播放 | 视频一区二区在线观看 | 亚洲一区视频在线 | 国产玖玖| 天堂亚洲| 久久国产精品一区二区三区 | 欧美色综合一区二区三区 | 久久一级| 天久久 | 国产精品久久久久久久久久久久 | 亚洲综合大片69999 | 色综合视频 | www.亚洲视频 | 日韩在线中文字幕 | 精品日韩一区 | 国产精品一区二区日韩 | 天天碰夜夜操 | 国产综合精品 | 午夜精品久久久久久久久久久久久 | 精品欧美一区二区在线观看视频 | 亚洲精品日韩一区二区电影 | 欧美成人高清视频 | 精品综合视频 | 综合色久| 欧美日韩亚洲三区 | 国产精品综合色区在线观看 | 91av视频在线观看 | 国产美女久久久 | 97精品视频在线 | 欧美99| 日韩在线观看中文字幕 | 国产视频久 | 国产欧美日韩精品一区二区三区 | 黄久久久 | av日韩高清| 日韩一区二区免费视频 | 国产中文一区二区三区 | 毛片国产 | 91xxx在线观看 | 老外黄色一级片 | 四虎影院欧美 |