Все чаще производители добавляют в свои полетные контроллеры разные функции, причем их количество растет, но они не учитывают, что это все будет невозможно подключить всё вместе. В результате мы получаем:
- Нехватку портов UART
- Невозможность подключения более 4-х двигателей
- Нет места для подключение контроллера LED-подстветки
- Нет места для пищалки
- Нет возможности использовать PPM ресиверы
- Нельзя поставить серво-приводы (для регулировки камеры в полете)
К счастью, мы все это можем исправить в Betaflight с помощью перераспределения ресурсов (ремаппинг).
Перераспределение выходов в Betaflight
Концепция перераспределения выходов проста для понимания, например, у вас двигатель номер 1 был запитан к выходу номер 1, и полетный контроллер понимал, что это первый двигатель, а с помощью перераспределения вы назначили двигателю номер 1 выход номер 3, но контроллер все равно будет знать, что это мотор номер 1 и будет правильно им управлять. Ниже таблица с названием функции, которые можно назначать в Betaflight:
Название | Описание |
---|---|
Настройки камеры | функция позволяет управлять настройками камеры (osd камеры) через полетный контроллер, но для большинства полетников это все равно можно будет сделать только через аппаратное управление. |
Пищалка (Beeper) | Пищалка нужно для сигнализирования разряда батареи, каких-нибудь неполадок и самое главное — поиск дрона в траве |
LEDSTRIP <n> | Betaflight поддерживает настройку программируемых LED подсветок, у которых много цветов. |
MOTOR <n> | В бетафлайт есть возможность настроить выходы на 8 двигателей. |
PPM | Настройка получения команд с PPM RC приемника. |
PWM <n> | Индивидуальное назначение команд PWM каналам для использования их с помощью пульта. |
SERIAL_TX | На некоторых полетных контроллерах можно назначить дополнительные UART порты. Это делается через функцию SERIAL_TX. |
SERIAL_RX | OТоже самое: на некоторых полетных контроллерах можно назначить дополнительные UART порты. Делается через функцию SERIAL_RX с помощью ПО аппаратуры управления (RX). |
SERVO <n> | В Betaflight можно настроить до 8 серво-приводов. Они используются для различных целенй, например, регулировка FPV-камеры или других механизмов. <n> это номер привода. |
Приведу пример использования переназначения портов. Допустим, у вас есть LED-подсветка, но нет специальных контактов, куда ее можно припаять, но зато есть один из портов из таблицы выше, вот к нему можно будет подключиться и переназначить в Betaflight порт для других целей.
Как использовать Betaflight Resource Remapping (переназначение портов)
Переназначение портов доступно только с версии Betaflight 3.1 и выше, если у вас 3.0 и более старые версии, то обновитесь. Все манипуляции с переназначением производятся через CLI Betaflight — это командная строка бетафлай.
Подключите дрон к компьютеру, запустите бетафлай, далее перейдите во вкладку «CLI».
Команда «resource» — используется для назначения других портов, а также вывода списка всех портов.
Введите в CLI команду resource и нажмите enter. Вы увидите список названий портов и чем они используются. Для примера, я буду менять вывод второго мотора «MOTOR 2» на контакт LEDSTRIP, можно менять на любой другой, но я сделаю так. Это актуально, если, например, вы сломали контакт «MOTOR 2», а контакта «MOTOR 5» у вас нет и т.д., и так, начнем:
- Найдите свободный порт/выход на своем полетном контроллере. У меня это LEDSTRIP.
- Зайдите в CLI, введите «resource», нажмите enter и посмотрите, под каким кодовом словом записан ваш порт:
Ах да, не забудьте сделать бекап перед дальнейшими манипуляциями! Если забыли где, напомню: на главной странице.
Кодовое слово в моем случае «А08″, оно справа от слова “LEDSTRIP 1». - Прежде чем переназначить порт, вам нужно очистить его от старого значения. Для этого оформляем команду вот так: «resource <имя функции> NONE», в моем случае это будет выглядеть вот так: «resource LEDSTRIP 1 NONE». Печатаете это в строке ввода команды и нажимаете enter, после чего жмете Save to File.
- Теперь назначаем новый порт, оформив команду вот так: «resource <function> <новое кодовое слово>»
у меня эта команда будет выглядеть так: «resource MOTOR 2 A08». - Сохраняем настройки нажатием кнопки Save to file:
- Ждем пока контроллер перезагрузится и проверяем изменения командой «resource»:
Убедитесь, что кодовое слово у вашего порта поменялось, а также, что оно не дублируется с другим словом.
Имейте в виду, что каждый раз, когда вы будете обновлять или менять прошивку контроллера, вам придется также и проделывать все то, что вы сделали выше. Каждый раз, так что, лучше запишите команды в отдельный файл и сохраните эту страницу в закладки.
Если вы хотите почитать о команде resource более подробно, зайдите на Гитхаб Betaflight: https://github.com/betaflight/betaflight/wiki/Betaflight-resource-remapping.
Если вы будете переназначать порты UART могут возникнуть какие-нибудь проблемы, чаще всего — просто не будет работать это переназначение, это связано с ресурсоемкостным характером ПО для работы с этими портами, поэтому перед их переназначением почитайте на гитхабе, там есть список проверенных назначений контактов на разных платах, к которым вы можете назначить новый выход: https://github.com/betaflight/betaflight/wiki/Single-Wire-Software-Serial
Также, чтобы использовать UART порты, нудно их включить программно: