FPV Camera Control — управление курсовой камерой — это новая функция в Betaflight, она даёт возможность менять настройки камеры при помощи стиков на аппаратуре управления.
Оригинал: FPV Camera Control from Flight Controller
Обычно, чтобы поменять настройки камеры: яркости, контрастности, резкости и т.д. приходится подключать к камере джойстик, типа такого:
Теперь же, используя «Camera Control» в Betaflight вы можете добраться до настроек камеры прямо с пульта управления! Этого удалось достичь при помощи эмуляции джойстика полетным контроллером.
Это очень удобная и полезная функция, т.к. позволяет менять настройки камеры в зависимости от текущего освещения, позволяя выжать из камеры всё возможное.
Дополнительная информация: как выбрать курсовую камеру для гонок
Железо
Ищем подходящий контакт на ПК
В первую очередь нужно найти на ПК подходящий контакт. Это не обязательно должен быть последовательный порт, подойдет любой контакт, который привязан к какому-нибудь таймеру. Таймер? Что это и нафига?
Если вы не знаете ответа на эти вопросы, то просто не парьтесь 🙂 и используйте контакт LED_Strip или любой свободный выход на моторы. Эти контакты почти всегда работают с таймерами и отлично подойдут для управления камерой.
Резистор и схема подключения
Для подключения камеры к ПК понадобится резистор сопротивлением 150-600 Ом, лучше 150 Ом.
В моем случае, у резистора сопротивление 220 Ом, я его подключил к контакту LED_Strip на ПК Kakute F4 AIO V2.
Согласен, резистор — это потенциальная проблема, но в некоторых новых ПК он уже встроен, так что ничего не придется придумывать. Если он есть в вашем ПК, тогда соответствующий пин на плате будет подписан как «Camera Control».
В скором времени Betaflight сможет использовать пины типа «DAC» (ЦАП) для управления камерой, если такой будет на плате, тогда резистор не понадобится. Этот функционал пока не доступен, но я обновлю эту инструкцию при его появлении.
Измеряем эталонное напряжение
Включаем камеру и измеряем напряжение между землей и контактом OSD. Записываем это значение, оно нам скоро понадобится для настройки Betaflight (camera_control_ref_voltage).
Например, у моей Runcam Eagle 2 Pro получилось 3.19 В.
Добавляем конденсатор (нужен только на некоторых камерах)
Большие камеры (стандартного размера, как Swift и HS1177) уже имеют достаточную емкость для работы Camera Control. В случае некоторых микро и мини камер нужно добавить конденсатор емкостью 0,1 — 10 мкФ, больше — лучше.
Если в камере есть конденсатор, то внешний не нужно добавлять, хотя без него может и не заработать. В любом случае — конденсатор ничего не сломает и не сожжет. 🙂
Конденсатор нужно подключить к резистору, со стороны камеры, вот схема.
Swift, Eagle 2, Eagle 2 Pro, Owl, Owl 2, Swift Mini, и Micro Swift 2 — работают без конденсатора.
Настраиваем Betaflight
Убедитесь, что у вас свежая версия Betaflight (как минимум BF3.2).
Для настройки мы будем использовать Resource Remapping, если вы не знаете что это такое, тогда читайте это руководство.
Назначаем пин для управления камерой
В консоли (CLI) вводим «Resource«, ищем нужный нам контакт, в моём случае это LED_Strip и соответствующий ему порт — C08.
Замечу, что вы должны сами найти LED_STRIP в результатах выполнения команды resource, потому что у разных ПК будут разные порты.
Скопируйте эту строку и замените C08 на none, нажмите ввод для выполнения этой команды (это освободит выбранный нами порт).
resource LED_STRIP 1 none
Скопируйте команду еще раз, но в этот раз замените LED_STRIP на camera_control, выполните команду, получится что-то вроде:
resource camera_control 1 C08
Настройки управления камерой
Есть 4 параметра, вот их значения по умолчанию:
camera_control_mode = HARDWARE_PWM Допустимые значения: HARDWARE_PWM, SOFTWARE_PWM, DAC camera_control_ref_voltage = 330 Допустимые значения: 200 - 400 camera_control_key_delay = 180 Допустимые значения: 100 - 500 camera_control_internal_resistance = 470 Допустимые значения: 10 - 1000
camera_control_ref_voltage — укажите значение, которое вы получили при измерении напряжения, у меня было 3,19 В, так что ставим значение 319.
Camera_Control_Key_Delay — возможно придется менять этот параметр, исходя из характеристик камеры и ПК. Если при одиночном движении стика получается двойной клик кнопкой, тогда увеличьте это значение.
Camera_control_internal_resistance — довольно сложно вычислить это значение, если значение по умолчанию не подходит, тогда читайте следующий раздел.
Управление камерой стиками Тараниса
- ввод/подтверждение (Enter/Confirm) – газ в центре, яв (курс) вправо
- вверх/вниз (Up/Down) – стик питча (тангажа)
- влево/вправо (Left/Right) – ролл (крен)
Решение проблем и полезные ресурсы
Если что-то не работает, вот официальная инструкция (англ): https://github.com/betaflight/betaflight/wiki/FPV-Camera-Control-(Joystick-Emulation) там есть полезные советы и примеры.
Вот тема на на rcgroups с примерами настроек разных камер с разными ПК: https://www.rcgroups.com/forums/showthread.php?2961216-Betaflight-Camera-Control-Compatibility-Reports