Как настроить протокол ESC ?

supermario
sv_lary:

А когда я дал максимальный газ, то импульсы стали ещё шире и почти налезали друг на друга.

это и есть PWM (Pulse-width modulation, широтно-импульсная модуляция) – способ подачи питания устройству с определёнными временными рамками, такими как пауза между сигналом и время подачи сигнала.

может надо откалибровать регулятор. Inav выдает сигнал 1000-2000, а сервотестеры 800-2200. и поэтому регулятор не может стартануть от полетника

Маркс

По дефолту, у большинства серво-тестеров и стандартных приемников,
для Normal Mode (Futaba) частота импульсов 50Гц,
что составляет период 20 мсек (как раз четыре деления по шкале осциллографа),
сами импульсы от 800 до 2200 мкс (картинка соответствует).
У Futaba есть еще HighSpeed Mode, ЕМНИП там частота PWM 100 Гц (но могу ошибаться),

Но таких картинок с полетника я не вижу.
Я допускаю, что полетник генерирует только длительность не привязываясь к частоте, но тогда не должно быть

sv_lary:

А когда я дал максимальный газ, то импульсы стали ещё шире и почти налезали друг на друга.

Иначе говоря, на минимальном газу длительность импульсов должна быть 1000 мкс,
а на максимальном 2200 мкс, при этом пауза может быт такой же длинны.

sv_lary
supermario:

надо откалибровать регулятор

Но от сервотестера он и так работает. А калибровка через ПК невозможна, так как ESC просто не видит сигнала от него.

sv_lary
Маркс:

частота импульсов 50Гц

Нашёл только одно место, где упоминается частота. Заменил там 100 Гц на 50 Гц, но, как мне кажется, эффекта это не дало никакого.

Место, где задал частоту 50 Гц:

Минимальный газ в режиме STANDARD (выход ПК):

Максимальный газ:

По моему, ничего не изменилось 😦

supermario

Место, где задал частоту 50 Гц:

Здесь synerflight.com/…/inav-outputs-tab/ написано что inav поддерживает следующие протоколы. Правда не понятно как выбрать нужную частоту. Относится ли переключатель который вы переключили только на серво или на esc тоже.
INAV support the following ESC protocols:
“standard” PWM with 50-400Hz update rate
OneShot125
OneShot42
Multishot
Brushed motors
DSHOT150, DSHOT300, DSHOT600
ESC protocol can be selected in Configurator. No special configuration is required.

А калибровка через ПК невозможна, так как ESC просто не видит сигнала от него

Теоретически можно выставить тестер на 2000, подать напряжение на регулятор, и установить тестер на 1000

sv_lary
supermario:

Теоретически можно выставить тестер на 2000, подать напряжение на регулятор

Да, можно. Но зачем ?! От тестера он и так работает. А калибровка нужна для настройки диапазона по работающему источнику команд !

sv_lary
supermario:

inav поддерживает следующие протоколы

Я все уже перепробовал 😦

Осталось только попробовать подключить к этому полётнику другой ESC. Если заработает, будет ясно, что старый - дохлый. Как то по хитрому. А если тоже не заработает, значит полётник гонит что-то не то.

supermario

Да, можно. Но зачем ?!

Inav выдает 1000-2000. Мы подключим к нему esc откалиброванный на 1000-2000. Так для эксперимента.

Я все уже перепробовал 😦

Можно ещё поставить какой нибуть старый inav.

sv_lary

Как и планировал - подключил к полётнику другой ESC, даже вместе с двигателем, с которым он раньше работал. Естественно, всё это “на столе”, а не в фюзеляже. Про ESC точно знал, что работает на DSHOT.

Запустил iNav, задал протокол DSOT150 и подключил основной аккумулятор. ESC пропищал как положено и замолчал. В iNav подёргал вверх/вниз ползунок газа - двигатель работает идеально - плавно, тихонько, ну просто - песня!

Ну, думаю, всё ясно! Старый ESC понимал только PWM, а этот полётник про PWM забыл совсем. Вот они и не могли общаться, хотя с сервотестером ESC отлично дружил.

Невероятно обрадовавшись, вставляю новый ESC на место в фюзеляж, перепаиваю все провода и подключаю аккумулятор. И что же ?! Слышу всё те же самые бесконечные пики… Аж слёзы навернулись 😃

В полном отчаянии запускаю iNav конфигуратор и начинаю дёргать газ. И тут происходит вообще что-то странное. Когда я даю газа, двигатель начинает работать! Пищание при этом исчезает! Но если газ сбросить, он опять пищит…

Крыша в пути! 😦

Маркс
supermario:

“standard” PWM with 50-400Hz update rate

надо искать где выставить 50Гц,
у Вас сейчас 6 импульсов на 15 мс,
Частота = 1/ (15/6) = 0,4кГц = 400Гц.

Но надо “понимать”, что “обычные” регуляторы не понимают частоту >100Гц

Маркс

Что касается программирования конечных точек регулятора.
Ардуинка стоит копейки,
Приколхозить к ней сервопровод, минут пять.
Скетч для калибровки регулятора при включении питания я Вам наваяю за десять минут,
Если увеличите разрешение осциллографа, он Вам покажет период импульсов и длительность,
сохраняете длительностьи на максимально и минимальном газу,
вставите в скетч и программируете регуляторы.

//*************************************************************************************************************
// 
// Тагильцев Геннадий aka Marks
//
//**************************************************************************************************************
#include <Servo.h>
#define Port_Motor_ESC 2            // порт к которому подключен ESC
#define Motor_ESC_Max_THR 2000      // максимальные обороты двигателя
#define Motor_ESC_Min_THR 1000      // двигатель стоп
#define Time_Of_Calibrate 2         // время между Макс газ и мин газ при необходимости калибровке регулятора

  Servo Motor_ESC;                    // объект Servo для регулятора мотора

void setup() {

  Motor_ESC.attach(Port_Motor_ESC,Motor_ESC_Min_THR,Motor_ESC_Max_THR); // привязали регулятор к каналу
  Prog_Mode();
  Motor_ESC.writeMicroseconds(Motor_ESC_Min_THR);
  delay (300);
}

void loop() {
}

//*************************************************************************************
void Prog_Mode () {
  Motor_ESC.writeMicroseconds(Motor_ESC_Max_THR);
  delay (Port_Motor_ESC*1000);                        // немного ждем и газ в ноль
  Motor_ESC.writeMicroseconds(Motor_ESC_Min_THR);
  delay (500);
}
supermario

У инава 7 как я понял есть проблема с пищанием при подключенном юсб. И команда BEEPER -ON_USB его не отключает как раньше было в старых версиях. Есть описание проблемы у разработчиков. Как видно она ещё открыта.
Если пищит когда подключена батарея то может быть может GPS не поймал спутники, или нет сигнала с приемника. Не откалиброван гироскоп. Можно командой beeper посмотреть, что включено, а что нет. Например на этой картинке видно что включено все за исключением usb. Стоит знак минус.

github.com/iNavFlight/inav/issues/10380

Нашел ещё описание проблемы что ecs не поддерживает 400 герц. Пишут что большинство esc моложе 8 лет должны работать. Если очень необходимо использовать старый esc то можно его подключить к серво выходу и в миксере установит это ’серво’ как
stabilized throttle
Но может быть проблема с безопасностью.
github.com/iNavFlight/inav/issues/9368

sv_lary

Не знаю, что сказать, но с новым ESC удалось запустить двигатель. И сейчас я просто стараюсь не дышать, что бы ничего не поломалось 😃