AFON // радиотехник affonya@mail.ru
← Все проекты для дронов

Калибровка ESC

Процедура калибровки концов газа регулятора.

DMC.12 · Моторы и ESC · ATmega328P

Задача

Провести стандартную калибровку ESC: максимум газа, затем минимум.

Алгоритм

Подать 2000 мкс, дождаться сигналов входа в калибровку, затем 1000 мкс для запоминания минимума.

Исходный код (C, avr-gcc)

⇩ Скачать 12-esc-calibration.c

#ifndef F_CPU
#define F_CPU 16000000UL
#endif

#include <avr/io.h>
#include <util/delay.h>

static void esc_us(uint16_t us){ OCR1A=us*2; }

int main(void){
  DDRB|=(1<<PB1);
  TCCR1A=(1<<COM1A1)|(1<<WGM11);
  TCCR1B=(1<<WGM13)|(1<<WGM12)|(1<<CS11);
  ICR1=39999;
  esc_us(2000); _delay_ms(4000);          // максимум — вход в калибровку
  esc_us(1000); _delay_ms(4000);          // минимум — запомнить
  for(;;){ esc_us(1000); }                 // держим минимум
}

Сборка: avr-gcc -mmcu=atmega328p -DF_CPU=16000000UL -Os файл.c -o файл.elf

Пояснения

Только для аналоговых протоколов; DShot калибровки не требует. Винты снять!

Смотрите также

Прошивки ESC: BLHeli и AM32