智能车制作

标题: 大家都怎么处理温漂的问题呢 [打印本页]

作者: 索隆11    时间: 2016-7-4 00:04
标题: 大家都怎么处理温漂的问题呢
大家都怎么处理温漂的问题呢

作者: aytc100    时间: 2016-7-4 00:08
补偿、校准,都可以
作者: 萌萌晨    时间: 2016-7-4 08:49
  1. void GYRO_VAL_Init(void)
  2. {
  3.     uint16 i;
  4.       for(i=0;i<500;i++)
  5.       {
  6.         GYRO_VAL=adc_once(Gyro1,ADC_12bit);
  7.         DELAY_MS(1);
  8.         GYRO_VAL_ADD+=GYRO_VAL;
  9.       }
  10.       GYRO_VAL=GYRO_VAL_ADD/500;
  11.       GYRO_VAL_ADD=0;
  12.       flash_erase_sector(255);
  13.       DELAY_MS(20);
  14. }
复制代码

作者: 萌萌晨    时间: 2016-7-4 08:50
  1. else if(KEY_START_flag==2)
  2.    {
  3.      LCD_Print(0,0,"Gyro中值");
  4.      if(KEY_B_flag%2==0)
  5.      {
  6.        Star_flag=50;
  7.        LCD_Print(16,2,"Gyro1");
  8.        LCD_Print(0,4,">>Gyro2");
  9.        if (key_check(KEY_A) ==  KEY_DOWN)  
  10.        {
  11.          GYRO2_VAL_Init();
  12.        }
  13.        else if (key_check(KEY_A) ==  KEY_UP)
  14.        {
  15.          GYRO2_VAL=flash_read(254, 0, uint16);
  16.        }
  17.        LCD_PrintU16_8x16(80,4,GYRO2_VAL);//陀螺仪中值设定
  18.        DELAY_MS(50);
  19.        if(key_check(KEY_U) ==  KEY_DOWN)
  20.        {
  21.          flash_erase_sector(254);
  22.          GYRO2_VAL++;
  23.          DELAY_MS(100);
  24.          LCD_PrintU16_8x16(80,4,GYRO2_VAL);  
  25.          DELAY_MS(50);
  26.        }
  27.        else if(key_check(KEY_D) ==  KEY_DOWN)
  28.        {
  29.          flash_erase_sector(254);
  30.          GYRO2_VAL--;
  31.          DELAY_MS(100);
  32.          LCD_PrintU16_8x16(80,4,GYRO2_VAL);
  33.          DELAY_MS(50);
  34.        }
  35.        flash_write(254,0,GYRO2_VAL);
  36.        DELAY_MS(20);
  37.      }
复制代码

作者: 萌萌晨    时间: 2016-7-4 08:54
陀螺仪按键自检保存中值,如果站不好,按键微调,调节时保持电机打开,程序运行直立。两段代码没连着,别直接拿去用,供参考
作者: 索隆11    时间: 2016-7-4 09:34
萌萌晨 发表于 2016-7-4 08:54
陀螺仪按键自检保存中值,如果站不好,按键微调,调节时保持电机打开,程序运行直立。两段代码没连着,别直 ...

谢谢


作者: luckner    时间: 2016-7-4 09:44
换个陀螺仪……




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