Вкладка Outputs Tab — настройка физических выходов | iNav
Outputs Tab — настройка физических выходов: протоколы ESC для моторов и параметры отдельных серво-выходов.
Цель: выставить протокол ESC для моторных выходов и настроить параметры сервоприводов (диапазоны, нейтраль, реверс, rate), а при необходимости — включить фильтрацию серв.
Содержание
Назначение Outputs Tab
Что настраивается
Вкладка Outputs позволяет настроить параметры каждого физического выхода вашего летательного аппарата.
Здесь задаются параметры для каждого отдельного сервопривода и выбирается протокол связи с моторами через ESC.
Связь с Mixer Tab
Во вкладке Mixer вы задаёте, как стики передатчика распределяются на несколько серв и моторов (логика микширования). В Outputs вы настраиваете «электрические» параметры каждого конкретного канала выхода и протокол ESC.
Инженерный смысл: если микшер определяет, куда идёт управляющий сигнал, то Outputs определяет, в каком виде этот сигнал выдаётся на пины (диапазон, нейтраль, реверс, частоты/протоколы).
Сервоприводы (Servo Configuration)
Параметры серво-выходов: MID/MIN/MAX/Rate/Reverse
Сервоприводы можно настраивать через графический интерфейс на вкладке Outputs.
| Параметр | Что означает |
|---|---|
| MID | Средняя/нейтральная точка сервопривода. |
| MIN | Минимальное значение, которое может быть отправлено на серву: MIN * Rate. |
| MAX | Максимальное значение, которое может быть отправлено на серву: MAX * Rate. |
| Rate | Команда серве вычисляется как servo rate * mixer output. |
| Reverse | Если включено, выход сервы инвертируется (реверс). |
CLI-команды для настройки серв
Для просмотра или изменения конфигурации сервопривода используется команда servo. Чтобы вывести текущие настройки, выполните servo без параметров.
Чтобы изменить конфигурацию конкретной сервы, используйте синтаксис servo <n> <min> <max> <mid> <rate>, где <n> — индекс серво-выхода, заданный серво-микшером. Остальные параметры должны быть положительными целыми числами, кроме rate, у которого допустимый диапазон [-125, 125].
servo
servo <n> <min> <max> <mid> <rate>
Фильтрация серв (Servo filtering)
Что делает фильтр
Для сервоприводов можно включить низкочастотный (low-pass) фильтр. Это может быть полезно, чтобы избежать возбуждения структурных резонансов (например, в конструкции планера).
Включение через CLI
На момент описания фильтр настраивается только через CLI.
Команда set servo_lpf_hz=20 включает фильтрацию и устанавливает частоту среза фильтра сервоприводов на 20 Гц.
set servo_lpf_hz=20
Подбор частоты среза (методика)
Один из способов подобрать частоту среза — следующий.
- Убедитесь, что модель может хотя бы немного свободно двигаться по проблемной оси. Пример: при колебаниях по yaw на tricopter — закрепите коптер так, чтобы он мог поворачиваться влево/вправо. Подвеска около центра масс (CG) предпочтительна. Альтернатива — подбор в полёте, но это более трудоёмко.
- Постучите по модели на конце по оси, которую оцениваете. Также можно напрямую командовать нужной серве. В примере tricopter: постучите по хвостовой балке сбоку или дайте команду yaw с передатчика.
- Если модель колеблется несколько секунд или колебания не затухают, уменьшайте частоту среза. Уменьшите значение servo_lowpass_freq вдвое и повторите предыдущий шаг.
- Если колебания затухают примерно за секунду или исчезли, настройка завершена. Не забудьте выполнить save.
save
ESC, частоты и карта выходов
Протоколы ESC
INAV поддерживает следующие протоколы ESC:
- "standard" PWM с частотой обновления 50–400 Гц.
- OneShot125.
- OneShot42.
- Multishot.
- Brushed motors.
- DSHOT150, DSHOT300, DSHOT600.
Протокол ESC выбирается в Configurator. Дополнительная специальная настройка не требуется.
Сверяйтесь с документацией ESC: конкретный регулятор поддерживает не все протоколы.
Частота обновления серво-выходов
По умолчанию INAV использует частоту обновления серв 50 Гц. Если вы хотите повысить частоту, убедитесь, что ваши сервоприводы поддерживают более высокую частоту обновления.
Только высококлассные цифровые сервы способны корректно работать на 200 Гц и выше.
Карта серво-выходов: ограничения
Не все выходы на полётном контроллере могут использоваться как серво-выходы. Это аппаратное ограничение, поэтому всегда сверяйтесь с документацией вашей платы.
У моторов обычно порядок выходов последовательный, но для сервоприводов стандартной схемы нет. Некоторые платы могут вообще не поддерживать сервоприводы в конфигурации Multirotor.
Изменение назначения выходов (MOTORS/SERVOS)
Начиная с INAV 7 добавлена функциональность, позволяющая принудительно назначать только часть выходов как MOTORS или SERVOS, с ограничениями, диктуемыми железом.
Основное ограничение: выходы привязаны к таймерам. Один таймер может быть общим для нескольких выходов, и два выхода на одном таймере должны иметь одинаковую функцию.
Самый простой способ изменить назначение выходов — использовать вкладку Mixer в Configurator: там видно, какой таймер используется каждым выходом. Также можно использовать параметр timer_output_mode в CLI.
↑ К оглавлениюРаскрываем тему...
Вкладка Outputs в iNav — это “электрическая часть” управления: здесь вы настраиваете физические выходы полётного контроллера (ESC для моторов и параметры серво‑выходов). В конце урока — практика (задачи с решениями) и чек‑лист самопроверки.
Главная мысль: если Mixer определяет “какой сигнал куда идёт”, то Outputs определяет “в каком виде этот сигнал уходит на пины”: протокол ESC, диапазоны MIN/MAX, нейтраль MID, реверс, частоты и (при необходимости) фильтрацию серв.
Содержание
- 1. Цели урока
- 2. Назначение Outputs Tab и связь с Mixer
- 3. Сервоприводы: MIN/MAX/MID/Rate/Reverse
- 4. Фильтрация серв (Servo LPF)
- 5. ESC: протоколы, частоты, базовые параметры
- 6. Output mapping, таймеры и
timer_output_mode - 7. Практика: типовые задачи (с решениями)
- 8. Чек‑лист самопроверки знаний (обязательный)
1. Цели урока
- Понимать, за что отвечает
Outputs, а за что —Mixer. - Уметь настроить сервоприводы:
MIN/MAX/MID,Rate,Reverseи частоту обновления. - Выбрать корректный протокол ESC и понимать, почему иногда “не заводится”.
- Знать ограничения по выходам/таймерам и уметь пользоваться
timer_output_modeпри конфликтах. - Уметь включить и настроить Servo LPF для подавления “серво‑дрожи/резонансов”.
# Мини-набор CLI для диагностики Outputs
status
diff all
# Просмотр текущей настройки серв (если есть серво-миксер)
servo
# Проверка/назначение функций таймеров (если есть проблемы с маппингом)
timer_output_mode
2. Назначение Outputs Tab и связь с Mixer
Outputs Tab позволяет настроить параметры каждого физического выхода летательного аппарата: серво‑выходы (диапазоны, нейтраль, реверс, rate) и протокол связи с моторами через ESC. При этом Mixer Tab отвечает за распределение управляющих сигналов (стики/стабилизация) на моторы и сервы.
# Типовой порядок работы при первичной настройке:
# 1) Mixer: выбрать тип модели/пресет/схему, убедиться что логика каналов верная
# 2) Outputs: выставить ESC протокол + настроить каждую серву (MIN/MAX/MID/Reverse/Rate)
# 3) Проверить Output mapping/таймеры (особенно после обновлений и кастомных плат)
Частая путаница: что Outputs НЕ решает
Outputs не “чинит” неправильные миксы. Если, например, элероны двигаются синхронно вместо дифференциала — это сначала лечится в Mixer, а уже затем в Outputs ограничиваются ходы/реверсы/нейтрали.Мини-проверка “Mixer vs Outputs”
Если поверхность двигается “в правильную сторону, но слишком сильно” — это чаще MIN/MAX/Rate в Outputs. Если поверхность двигается “совсем не туда” или “не теми каналами” — чаще Mixer/входы/правила микса.
3. Сервоприводы: MIN/MAX/MID/Rate/Reverse
Смысл параметров и “как крутить”
Серво‑выход настраивается так, чтобы: MID давал ровно нейтраль поверхности, MIN/MAX не доводили механику до упора, Reverse исправлял направление (когда это уместно), а Rate масштабировал команду (насколько сильно серва отклоняется от микса).
| Параметр | Что означает | Практический смысл |
|---|---|---|
MID |
Средняя/нейтральная точка сервы | Ставим поверхность “в ноль” без тримов передатчика |
MIN |
Минимум, который можно отправить на серву (с учётом Rate) |
Ограничиваем ход в одну сторону, чтобы не упираться |
MAX |
Максимум, который можно отправить на серву (с учётом Rate) |
Ограничиваем ход в другую сторону |
Rate |
Масштаб команды: servo command = servo rate * mixer output |
Тонко “поджать/усилить” отклонения (и стабилизацию) |
Reverse |
Инверсия выхода сервы | Быстро исправить направление без правки механики |
MID, (3) MIN/MAX, (4) Rate, (5) при необходимости — Reverse.# Пример “жизненной” подстройки (условные значения)
# SERVO 1: ограничили ходы и чуть сместили нейтраль
servo 1 1100 1900 1505 100
save
CLI: команда servo
Если нужно быстро копировать/восстанавливать настройки или править их точнее, используйте CLI: команда servo показывает и задаёт параметры серво‑выходов.
# Показать текущие настройки серв
servo
# Задать настройки конкретной сервы:
# servo <n> <min> <max> <mid> <rate>
servo 2 1000 2000 1500 90
save
Типичные ошибки
Ошибка: “лечим механику” только параметрами, доводим до упора
Если на крайних отклонениях серва упирается, греется или “жужжит” — это не “нормальная мощность”, а признак перегруза. Первое, что делаем — уменьшаем MIN/MAX (и/или переставляем тяги/качалку).
# Быстро “отпустить” механику:
# было: servo 1 1000 2000 1500 100
# стало (сузили диапазон):
servo 1 1100 1900 1500 100
save
Ошибка: реверс “там, где нельзя” (ломаем логику стабилизации)
Иногда правильнее менять знак/направление в микшере (Mixer rules), а не в Outputs. Если после включения ANGLE/HORIZON модель пытается “докрутить ещё сильнее” — проверьте направления осей и миксы.
# Симптом:
# в стабилизации самолёт/коптер “разгоняет” отклонение вместо компенсации
# Действия:
# 1) проверить направления гироскопа/ориентацию FC (не Outputs)
# 2) проверить миксы (Mixer)
# 3) только затем — Reverse/Rate в Outputs
4. Фильтрация серв (Servo LPF)
Как включить и что делает
Для серв можно включить низкочастотный фильтр (LPF). Он помогает, когда серва/конструкция возбуждает резонанс: например, “дрожь” хвостовой балки трикоптера по yaw, вибрации/флаттер на рулях и т.п.
# Включить Servo LPF (пример)
set servo_lpf_hz=20
save
Методика подбора частоты
Практичный способ настройки: “возбудить” проблемную ось на земле и уменьшать частоту среза, пока колебания не станут быстро затухать.
Рецепт настройки Servo LPF (коротко)
- Закрепите модель так, чтобы проблемная ось могла свободно “отыгрывать” (лучше — подвес у CG).
- Постучите по модели/дайте команду серве (например, yaw на трикоптере).
- Если колебания долго не затухают — уменьшайте частоту среза примерно вдвое и повторяйте.
- Когда колебания затухают примерно за секунду — сохраните настройки (
save).
# Пример “ступенчатого” подбора:
set servo_lpf_hz=40
# тест
set servo_lpf_hz=20
# тест
set servo_lpf_hz=10
# тест
save
Типичные ошибки
Ошибка: поставить слишком низкий LPF и получить “ватные” рули
Если фильтр слишком “душит” команду, управление становится запаздывающим, особенно заметно на быстрых манёврах. Если резонанс не подтверждён — не начинайте с экстремально низких значений.
# Анти-пример (не делайте “вслепую”):
set servo_lpf_hz=2
Ошибка: лечим резонанс фильтром, когда причина — механика
Люфт тяг, мягкая/длинная балка, неверная установка качалки, упор в механику — всё это может давать колебания. Фильтр помогает, но не должен маскировать грубые проблемы сборки.
5. ESC: протоколы, частоты, базовые параметры
Какие протоколы поддерживает iNav
iNav поддерживает набор протоколов ESC (аналоговые PWM и цифровые DSHOT). Протокол выбирается в конфигураторе — отдельная “спец‑настройка” обычно не нужна, но ESC должен уметь выбранный протокол.
Список протоколов (которые обычно видны/используются)
STANDARD(“обычный” PWM), обновление 50–400 ГцONESHOT125ONESHOT42MULTISHOTBRUSHED(коллекторные)DSHOT150 / DSHOT300 / DSHOT600(цифровые)
# CLI-ориентир: какие значения в принципе существуют в настройках прошивки
# (в GUI список может быть короче/ограничен)
set motor_pwm_protocol = STANDARD
# или
set motor_pwm_protocol = DSHOT300
Как выбрать протокол и что проверить
STANDARD и убедитесь, что маппинг/таймеры/питание в порядке.Если у вас обычный самолётный ESC
Часто подходит STANDARD. При PWM‑протоколах иногда требуется калибровка диапазона газа (зависит от ESC).
Если у вас современный FPV ESC (DSHOT)
Обычно выбирают DSHOT (цифровой протокол), но важно, чтобы выходы/таймеры были совместимы и не было конфликтов “моторы vs сервы” на одном таймере.
Типичные ошибки
Ошибка: выбрать протокол, который ESC не поддерживает
Симптомы: моторы не стартуют, “не армится”, странные писки ESC, отсутствие реакции на слайдеры Outputs. Решение: свериться с документацией ESC и временно упростить (например, перейти на STANDARD).
Ошибка: забыть, что после обновления iNav мог измениться output mapping
После обновлений и включения гибкого распределения выходов (flexible motor/servo allocation) “выход по умолчанию” может стать другим. Поэтому перед первым питанием от батареи после апдейта — проверьте моторы/сервы на столе (и без пропов).
6. Output mapping, таймеры и timer_output_mode
Почему “не любой пин = серва”
В iNav есть важное аппаратное ограничение: не все выходы на полётнике могут быть серво‑выходами. Кроме того, если у моторов часто “порядок последовательный”, то у серв единого стандарта раскладки нет. На некоторых платах сервы могут быть недоступны в определённых конфигурациях (например, в Multirotor).
# Типовой чек:
# 1) посмотреть Output mapping в Mixer Tab (какой выход на каком таймере)
# 2) убедиться, что нужный пин вообще может быть SERVO по документации FC
# 3) при конфликте — использовать timer_output_mode
Ограничения по таймерам и принудительное назначение
Начиная с iNav 7 можно принудительно назначать группы выходов как MOTORS или SERVOS, но есть ключевое ограничение: выходы связаны с таймерами, таймер может обслуживать несколько пинов, и выходы на одном таймере должны иметь одинаковую функцию.
Команда timer_output_mode (идея)
Команда позволяет увидеть текущие режимы таймеров и задать для конкретного таймера функцию: AUTO (по умолчанию), MOTORS или SERVOS. Это полезно, когда серва и мотор “дерутся” за один таймер или когда нужно вынести сервы на другой таймер‑банк.
# Примерный сценарий работы (общая логика):
timer_output_mode # посмотреть список таймеров и назначений
timer_output_mode 0 MOTORS # принудительно сделать таймер 0 моторным
timer_output_mode 7 SERVOS # принудительно сделать таймер 7 сервовым
save
Типичные ошибки
Ошибка: пытаться “перемапить пины как в Betaflight resource remap”
В iNav логика чаще упирается не в “ресурс‑пин”, а в таймеры/группы выходов. Поэтому ключ — смотреть таймеры в Mixer Tab и менять режимы таймеров через timer_output_mode.
Ошибка: смешать несовместимые режимы на одном таймере
Если два выхода сидят на одном таймере, а вы пытаетесь сделать один “мотором”, другой “сервой” — это часто физически невозможно. Симптомы: один из выходов “не работает”, “не армится”, странные ограничения.
7. Практика: типовые задачи (с решениями)
Базовая настройка Outputs
Задача 1: Безопасный стенд‑тест выходов после прошивки/обновления
Условие: подготовьте модель к проверке моторов/серв на столе так, чтобы исключить травмы и “улёт” модели. Выполните проверку соответствия “выход → устройство”.
# Решение (чек-лист)
# 1) Снять пропеллеры
# 2) Подключиться к конфигуратору
# 3) Открыть Outputs и включить вывод (если выключен)
# 4) Плавно проверить каждый мотор по очереди
# 5) Проверить каждую серву: нейтраль и крайние положения
# 6) Если что-то “не то” — не лететь, сначала исправить mapping/таймеры
Задача 2: Настройка нейтрали и ограничений сервы “без упора”
Условие: серва в нейтрали должна ставить поверхность ровно, а на крайних отклонениях не должна упираться в механику. Покажите настройку через CLI.
# Решение (пример)
servo # посмотреть текущие значения
# Допустим, SERVO 1 упирается на краях и чуть смещена нейтраль:
servo 1 1100 1900 1508 100
save
Задача 3: Повышение частоты обновления серво‑выходов (для цифровых серв)
Условие: у вас цифровые сервы, вы хотите более “быстрый” отклик (например, на трикоптере). Включите разумную частоту и объясните ограничение.
# Решение (пример)
# По умолчанию часто используют 50 Гц. Для цифровых серв можно выше (если они поддерживают).
set servo_pwm_rate=330
save
# Важно: если сервы аналоговые/не поддерживают — будут греться, дрожать или работать нестабильно.
Диагностика: сервы/ESC/таймеры
Задача 4: Включение Servo LPF и быстрый подбор частоты
Условие: при командах серве наблюдаются автоколебания. Включите фильтр и подберите частоту “ступенчато”.
# Решение (пример)
set servo_lpf_hz=40
# тест на земле
set servo_lpf_hz=20
# тест
set servo_lpf_hz=10
# тест
save
Задача 5: Выбор ESC протокола и fallback‑план
Условие: вы выставили DSHOT, но моторы не реагируют. Покажите “план деградации” до рабочего состояния.
# Решение (идея)
# 1) Вернуться к простому протоколу (STANDARD)
set motor_pwm_protocol=STANDARD
save
# 2) Проверить, что маппинг/таймеры корректны (см. Задачу 6)
# 3) После подтверждения железа — снова пробовать DSHOT (если ESC его точно поддерживает)
Задача 6: Исправление конфликта таймеров через timer_output_mode
Условие: серва “упорно назначается” на нерабочий выход или конфликтует с моторным таймером. Сделайте один таймер моторным, другой — сервовым.
# Решение (пример)
timer_output_mode # посмотреть текущие режимы
timer_output_mode 0 MOTORS
timer_output_mode 7 SERVOS
save
8. Чек‑лист самопроверки знаний
Отметьте пункты, которые вы действительно понимаете и можете применить без подсказок.
| ✓ | Навык | Проверка |
|---|---|---|
| Назначение Outputs | Могу объяснить разницу между Mixer (“куда”) и Outputs (“как”). |
|
| Настройка сервы | Могу выставить MID, ограничить MIN/MAX, подобрать Rate без упора в механику. |
|
| CLI для серв | Могу прочитать/изменить настройки командой servo и сохранить save. |
|
| Reverse | Понимаю, когда достаточно реверса в Outputs, а когда правильнее менять микс в Mixer. | |
| Servo LPF | Могу включить set servo_lpf_hz=... и подобрать частоту под резонанс. |
|
| Частота серв | Могу настроить servo_pwm_rate и понимаю ограничение по типу серв (аналог/цифра). |
|
| ESC протокол | Могу выбрать протокол ESC и понимаю, что делать при “не заводится” (fallback на STANDARD). |
|
| Output mapping | Понимаю, почему не все выходы могут быть сервами, и где смотреть таймеры/маппинг. | |
| Таймеры | Понимаю ограничение: выходы на одном таймере должны иметь одинаковую функцию. | |
timer_output_mode |
Могу принудительно назначить таймер как MOTORS или SERVOS и проверить результат на столе. |
|
| Стенд‑проверка после обновления | Всегда снимаю пропеллеры и перепроверяю моторы/сервы после обновления iNav или смены таргета. |
ID 147
