Перейти к содержимому
Вкладка Outputs Tab — настройка физических выходов  | iNav

Вкладка Outputs Tab — настройка физических выходов | iNav

Пятница, 13 марта 2026
Пилоту БПЛА | Технику БПЛА

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>
Bash
↑ К оглавлению

Фильтрация серв (Servo filtering)

Что делает фильтр

Для сервоприводов можно включить низкочастотный (low-pass) фильтр. Это может быть полезно, чтобы избежать возбуждения структурных резонансов (например, в конструкции планера).

Включение через CLI

На момент описания фильтр настраивается только через CLI.

Команда set servo_lpf_hz=20 включает фильтрацию и устанавливает частоту среза фильтра сервоприводов на 20 Гц.

set servo_lpf_hz=20
Bash

Подбор частоты среза (методика)

Один из способов подобрать частоту среза — следующий.

  • Убедитесь, что модель может хотя бы немного свободно двигаться по проблемной оси. Пример: при колебаниях по yaw на tricopter — закрепите коптер так, чтобы он мог поворачиваться влево/вправо. Подвеска около центра масс (CG) предпочтительна. Альтернатива — подбор в полёте, но это более трудоёмко.
  • Постучите по модели на конце по оси, которую оцениваете. Также можно напрямую командовать нужной серве. В примере tricopter: постучите по хвостовой балке сбоку или дайте команду yaw с передатчика.
  • Если модель колеблется несколько секунд или колебания не затухают, уменьшайте частоту среза. Уменьшите значение servo_lowpass_freq вдвое и повторите предыдущий шаг.
  • Если колебания затухают примерно за секунду или исчезли, настройка завершена. Не забудьте выполнить save.
save
Bash
↑ К оглавлению

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, реверс, частоты и (при необходимости) фильтрацию серв.

Безопасность: любые тесты моторов делайте без пропеллеров. После обновления iNav/смены таргета всегда перепроверяйте, что “Мотор 1” в конфигураторе — это реально “Мотор 1” на плате.

Содержание

1. Цели урока

  • Понимать, за что отвечает Outputs, а за что — Mixer.
  • Уметь настроить сервоприводы: MIN/MAX/MID, Rate, Reverse и частоту обновления.
  • Выбрать корректный протокол ESC и понимать, почему иногда “не заводится”.
  • Знать ограничения по выходам/таймерам и уметь пользоваться timer_output_mode при конфликтах.
  • Уметь включить и настроить Servo LPF для подавления “серво‑дрожи/резонансов”.
Практический вывод: правильный Outputs — это когда (1) сервы ходят на нужный угол без упора в механику, (2) моторы получают “свой” протокол, (3) маппинг соответствует реальным пинам, (4) ничего не возбуждает резонансы.
# Мини-набор CLI для диагностики Outputs
status
diff all

# Просмотр текущей настройки серв (если есть серво-миксер)
servo

# Проверка/назначение функций таймеров (если есть проблемы с маппингом)
timer_output_mode
Bash
↑ К оглавлению

2. Назначение Outputs Tab и связь с Mixer

Outputs Tab позволяет настроить параметры каждого физического выхода летательного аппарата: серво‑выходы (диапазоны, нейтраль, реверс, rate) и протокол связи с моторами через ESC. При этом Mixer Tab отвечает за распределение управляющих сигналов (стики/стабилизация) на моторы и сервы.

outputs tab inav 03d46

Инженерная формула: Mixer — “логика (куда)”, Outputs — “электрика (как)”. Поэтому “правильный микшер” без “правильных выходов” часто выглядит как “всё настроил, но сервы в упор/моторы молчат”.
# Типовой порядок работы при первичной настройке:
# 1) Mixer: выбрать тип модели/пресет/схему, убедиться что логика каналов верная
# 2) Outputs: выставить ESC протокол + настроить каждую серву (MIN/MAX/MID/Reverse/Rate)
# 3) Проверить Output mapping/таймеры (особенно после обновлений и кастомных плат)
Bash

Частая путаница: что 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 Инверсия выхода сервы Быстро исправить направление без правки механики
Рекомендуемый порядок настройки: (1) механика (качалка максимально близко к 90° в нейтрали), (2) MID, (3) MIN/MAX, (4) Rate, (5) при необходимости — Reverse.
# Пример “жизненной” подстройки (условные значения)
# SERVO 1: ограничили ходы и чуть сместили нейтраль
servo 1 1100 1900 1505 100
save
Bash

CLI: команда servo

Если нужно быстро копировать/восстанавливать настройки или править их точнее, используйте CLI: команда servo показывает и задаёт параметры серво‑выходов.

# Показать текущие настройки серв
servo

# Задать настройки конкретной сервы:
# servo <n> <min> <max> <mid> <rate>
servo 2 1000 2000 1500 90

save
Bash

Типичные ошибки

Ошибка: “лечим механику” только параметрами, доводим до упора

Если на крайних отклонениях серва упирается, греется или “жужжит” — это не “нормальная мощность”, а признак перегруза. Первое, что делаем — уменьшаем MIN/MAX (и/или переставляем тяги/качалку).

# Быстро “отпустить” механику:
# было: servo 1 1000 2000 1500 100
# стало (сузили диапазон):
servo 1 1100 1900 1500 100
save
Bash

Ошибка: реверс “там, где нельзя” (ломаем логику стабилизации)

Иногда правильнее менять знак/направление в микшере (Mixer rules), а не в Outputs. Если после включения ANGLE/HORIZON модель пытается “докрутить ещё сильнее” — проверьте направления осей и миксы.

# Симптом:
# в стабилизации самолёт/коптер “разгоняет” отклонение вместо компенсации

# Действия:
# 1) проверить направления гироскопа/ориентацию FC (не Outputs)
# 2) проверить миксы (Mixer)
# 3) только затем — Reverse/Rate в Outputs
Bash
↑ К оглавлению

4. Фильтрация серв (Servo LPF)

Как включить и что делает

Для серв можно включить низкочастотный фильтр (LPF). Он помогает, когда серва/конструкция возбуждает резонанс: например, “дрожь” хвостовой балки трикоптера по yaw, вибрации/флаттер на рулях и т.п.

Идея простая: фильтр “срезает” слишком быстрые изменения команды серве, снижая вероятность возбуждения механики, но ценой задержки реакции.
# Включить Servo LPF (пример)
set servo_lpf_hz=20
save
Bash

Методика подбора частоты

Практичный способ настройки: “возбудить” проблемную ось на земле и уменьшать частоту среза, пока колебания не станут быстро затухать.

Рецепт настройки Servo LPF (коротко)

  1. Закрепите модель так, чтобы проблемная ось могла свободно “отыгрывать” (лучше — подвес у CG).
  2. Постучите по модели/дайте команду серве (например, yaw на трикоптере).
  3. Если колебания долго не затухают — уменьшайте частоту среза примерно вдвое и повторяйте.
  4. Когда колебания затухают примерно за секунду — сохраните настройки (save).
# Пример “ступенчатого” подбора:
set servo_lpf_hz=40
# тест
set servo_lpf_hz=20
# тест
set servo_lpf_hz=10
# тест
save
Bash

Типичные ошибки

Ошибка: поставить слишком низкий LPF и получить “ватные” рули

Если фильтр слишком “душит” команду, управление становится запаздывающим, особенно заметно на быстрых манёврах. Если резонанс не подтверждён — не начинайте с экстремально низких значений.

# Анти-пример (не делайте “вслепую”):
set servo_lpf_hz=2
Bash

Ошибка: лечим резонанс фильтром, когда причина — механика

Люфт тяг, мягкая/длинная балка, неверная установка качалки, упор в механику — всё это может давать колебания. Фильтр помогает, но не должен маскировать грубые проблемы сборки.

↑ К оглавлению

5. ESC: протоколы, частоты, базовые параметры

Какие протоколы поддерживает iNav

iNav поддерживает набор протоколов ESC (аналоговые PWM и цифровые DSHOT). Протокол выбирается в конфигураторе — отдельная “спец‑настройка” обычно не нужна, но ESC должен уметь выбранный протокол.

Список протоколов (которые обычно видны/используются)

  • STANDARD (“обычный” PWM), обновление 50–400 Гц
  • ONESHOT125
  • ONESHOT42
  • MULTISHOT
  • BRUSHED (коллекторные)
  • DSHOT150 / DSHOT300 / DSHOT600 (цифровые)
# CLI-ориентир: какие значения в принципе существуют в настройках прошивки
# (в GUI список может быть короче/ограничен)
set motor_pwm_protocol = STANDARD
# или
set motor_pwm_protocol = DSHOT300
Bash

Как выбрать протокол и что проверить

Правило выбора: ставьте самый “современный” протокол из тех, которые точно поддерживаются ESC и стабильно работают на вашей плате. Если сомневаетесь — начните с 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).

Практический вывод: когда “серва не появляется” или “серва всегда на S1/S2” — это не всегда “глюк UI”. Очень часто это ограничение таймеров/маппинга именно вашей платы.
# Типовой чек:
# 1) посмотреть Output mapping в Mixer Tab (какой выход на каком таймере)
# 2) убедиться, что нужный пин вообще может быть SERVO по документации FC
# 3) при конфликте — использовать timer_output_mode
Bash

Ограничения по таймерам и принудительное назначение

Начиная с 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
Bash

Типичные ошибки

Ошибка: пытаться “перемапить пины как в Betaflight resource remap”

В iNav логика чаще упирается не в “ресурс‑пин”, а в таймеры/группы выходов. Поэтому ключ — смотреть таймеры в Mixer Tab и менять режимы таймеров через timer_output_mode.

Ошибка: смешать несовместимые режимы на одном таймере

Если два выхода сидят на одном таймере, а вы пытаетесь сделать один “мотором”, другой “сервой” — это часто физически невозможно. Симптомы: один из выходов “не работает”, “не армится”, странные ограничения.

↑ К оглавлению

7. Практика: типовые задачи (с решениями)

Базовая настройка Outputs

Задача 1: Безопасный стенд‑тест выходов после прошивки/обновления

Условие: подготовьте модель к проверке моторов/серв на столе так, чтобы исключить травмы и “улёт” модели. Выполните проверку соответствия “выход → устройство”.

# Решение (чек-лист)
# 1) Снять пропеллеры
# 2) Подключиться к конфигуратору
# 3) Открыть Outputs и включить вывод (если выключен)
# 4) Плавно проверить каждый мотор по очереди
# 5) Проверить каждую серву: нейтраль и крайние положения
# 6) Если что-то “не то” — не лететь, сначала исправить mapping/таймеры
Bash

Задача 2: Настройка нейтрали и ограничений сервы “без упора”

Условие: серва в нейтрали должна ставить поверхность ровно, а на крайних отклонениях не должна упираться в механику. Покажите настройку через CLI.

# Решение (пример)
servo                     # посмотреть текущие значения

# Допустим, SERVO 1 упирается на краях и чуть смещена нейтраль:
servo 1 1100 1900 1508 100
save
Bash

Задача 3: Повышение частоты обновления серво‑выходов (для цифровых серв)

Условие: у вас цифровые сервы, вы хотите более “быстрый” отклик (например, на трикоптере). Включите разумную частоту и объясните ограничение.

# Решение (пример)
# По умолчанию часто используют 50 Гц. Для цифровых серв можно выше (если они поддерживают).
set servo_pwm_rate=330
save

# Важно: если сервы аналоговые/не поддерживают — будут греться, дрожать или работать нестабильно.
Bash

Диагностика: сервы/ESC/таймеры

Задача 4: Включение Servo LPF и быстрый подбор частоты

Условие: при командах серве наблюдаются автоколебания. Включите фильтр и подберите частоту “ступенчато”.

# Решение (пример)
set servo_lpf_hz=40
# тест на земле
set servo_lpf_hz=20
# тест
set servo_lpf_hz=10
# тест
save
Bash

Задача 5: Выбор ESC протокола и fallback‑план

Условие: вы выставили DSHOT, но моторы не реагируют. Покажите “план деградации” до рабочего состояния.

# Решение (идея)
# 1) Вернуться к простому протоколу (STANDARD)
set motor_pwm_protocol=STANDARD
save

# 2) Проверить, что маппинг/таймеры корректны (см. Задачу 6)
# 3) После подтверждения железа — снова пробовать DSHOT (если ESC его точно поддерживает)
Bash

Задача 6: Исправление конфликта таймеров через timer_output_mode

Условие: серва “упорно назначается” на нерабочий выход или конфликтует с моторным таймером. Сделайте один таймер моторным, другой — сервовым.

# Решение (пример)
timer_output_mode          # посмотреть текущие режимы
timer_output_mode 0 MOTORS
timer_output_mode 7 SERVOS
save
Bash
↑ К оглавлению

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 или смены таргета.
↑ К оглавлению
Вкладка Outputs Tab — настройка физических выходов  | iNav ID 147