智能车制作

标题: 电磁圆环思路,程序开源 [打印本页]

作者: 520China    时间: 2019-8-20 21:58
标题: 电磁圆环思路,程序开源
硬件平台为:KEA128芯片 ,小车采用两个水平电感跑完全程,由于充电比较慢,止步于省1,希望圆环和程序架构能为大家带来一些启发

//-------------------------------------------------------------------------------------------------------------------
//  @BRIEF      左小圆环处理
//  @param      void
//  @return     void
//  @since      v1.0
//  Sample usage:               Roundleft_small_Handle();
//-------------------------------------------------------------------------------------------------------------------
void Roundleft_small_Handle(void)
{
  //Ring_Handle第一步:判断圆环
  if(Ring_flag[2]==0)
  {
  if(Ring_Start_value[0]>=left_small_ring[3]&&Ring_Start_value[1]>=left_small_ring[3])
  {
    Ring_flag[2]=1;
  }
  }
  //Ring_Handle第二步:记脉冲,找拐点
  if(Ring_flag[2]==1)
  {
    count_turn_in__Ring+=Speed_average;
    Test_chazhi=count_turn_in__Ring;
    if(count_turn_in__Ring>=left_small_ring[0])
    {
      Ring_flag[2]=2; //切点
    }
  }
  //Ring_Handle第三步:执行转弯
  if(Ring_flag[2]==2)
  {
     Current_Dir=left_small_ring[1]*(AD[0]-AD[1]/(count_turn_in__Ring*Target_Speed))/(AD[0]+AD[1]/(count_turn_in__Ring*Target_Speed));
     Test_chazhi-=(Speed_average/left_small_ring[2]);
     if(Test_chazhi<0)
     {
       Ring_flag[2]=3;
     }

  }
  //Ring_Handle第四步:判断出圆环
  if(Ring_flag[2]==3)
  {
    if(Ring_Start_value[0]>=left_small_ring[4]&&Ring_Start_value[1]>=left_small_ring[4])                                  //编码器脉冲计数阙值
    {
      Ring_flag[2]=4;
    }
  }
  //Ring_Handle第五步:计脉冲数,达到阈值所有变量归零
  if(Ring_flag[2]==4)
  {
    count_turn_out__Ring+=Speed_average;
     if(count_turn_out__Ring>=left_small_ring[5])
       Ring_flag[2]=5;
  }
  //Ring_Handle第六步:变量归零
  if(Ring_flag[2]==5)
  {
      count_turn_out__Ring=0;
      count_turn_in__Ring=0;
      Test_chazhi=0;
      Ring_flag[2]=0;
      Number_ring=1;
  }
}

- 思路为建立归一化与圆环半径、期望速度的联系,是反比关系。
- 每次需要调整的参数为:其中入环电感值经实验可用正常赛道扫到的水平电感最大值+1000
/***************************环岛参数**************************************/
/*     脉冲距离  拐角系数  拐弯时间系数  入环岛电感值  出环岛电感值  清零脉冲*/
float right_small_ring[6]={5300,14.0,0.85,3400,3300,9000};   //{5000,18.0,0.7,2600,2400,9000}

注:可以考虑所有大小圆环情况,以左小圆环,左大圆环,右小圆环,右大圆环为基本元素,以最高两个圆环为上限,进行排列组合,可以在赛场上通过按键进行调整

工程链接:链接: https://pan.baidu.com/s/1vI8F1u_owmeYHz67pYBbLQ 提取码: 73nr

作者: 520China    时间: 2019-8-21 16:01
:o:o:o
作者: 小智whz    时间: 2019-8-26 14:42
谢谢楼主分享
作者: 673683011    时间: 2019-9-5 15:50
多谢楼主分享,
作者: 努力中的蜗牛    时间: 2019-9-5 19:45
多谢分享
作者: yacter    时间: 2019-9-19 16:26
谢谢分享
作者: KALA__    时间: 2019-10-10 20:20
谢谢分享
作者: zhangzongkeji    时间: 2019-10-15 17:55
谢谢楼主分享




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2