Подключение адресной светодиодной ленты
Last updated
Last updated
Штатной индикации (светодиоды на полётном контроллере) во многих случаях недостаточно по нескольким причинам: малая информативность, а в некоторых случаях и полная невозможность наблюдения в связи со скрытием полётного контроллера элементами конструкции и защиты квадрокоптера. Хорошим решением в таком случаем может стать подключение дополнительной светодиодной ленты, которая будет подробно отображать различные события.
Для подключения ленты к Жуже нам понадобятся:
сам квадрокоптер
отрезок адресной светодиодной ленты
три провода
несколько кабельных стяжек
паяльник и принадлежности
Концы проводов необходимо зачистить и залудить:
Контакт S (signal) обеспечивает управление лентой с полётного контроллера, а контакт V (Vcc) - подводит питание для ленты. Контакт G (ground) - общий для силовых и сигнальных цепей коптера.
Ленту необходимо закрепить на коптере. Мы предлагаем сделать это на защите, но вы можете придумать свой вариант. Крепить ленту можно с помощью штатного клеевого слоя на обратной стороне, но также не будет лишним дополнительно усилить крепление кабельными стяжками:
После этого на левой стороне экрана станет доступна вкладка Led strip. Переходим на неё.
Нажимаем кнопку Wire Ordering mode и отмечаем подряд количество квадратиков, соответствующее кол-ву светодиодов на вашей ленте и подтверждаем выбор повторным нажатием кнопки.
Далее выделяем все светодиоды, зажав ЛКМ и проведя по ним, в поле Led Function выбираем Arm State. При этом ниже в разделе Special color мы можем выбрать цвет для каждого состояния.
Теперь лента в состоянии disarmed будет гореть зелёным:
А при armed загораться красным:
Здесь мы видим, что коптер явно имеет какие-то проблемы. Если проверить температуру моторов после непродолжительного полёта, то можно обнаружить их повышенный нагрев. Это является признаком избыточных вибраций. Проверим это. Для этого подключимся к полётному контроллеру и на вкладке CLI введём следующие команды: > set debug_mode = gyro_scaled > save
Команда set debug_mode = gyro_scaled сообщат полётному контроллеру, что нужно дополнительно записывать в лог файл “сырые” данные с гироскопа, сразу после расшифровки, до применения к ним алгоритмов фильтрации. Командой save мы подтверждаем введённую команду.
Контроллер перезагрузится, и в проводнике появится новый диск, на котором и будут находиться все записанные логи. Двойным щелчком откроем наш файл в Blackbox Explorer.
Контроллер перезагрузится, и в проводнике появится новый диск, на котором и будут находиться все записанные логи. Двойным щелчком откроем наш файл в Blackbox Explorer.
Теперь необходимо настроить окружение для работы. По щелчку Graph setup откроется меню настройки графиков. Здесь можно выбрать, как и какие данные отображать. Если ранее были настроены какие либо графики, нужно нажать Remove all graphs. Далее нажмём кнопку Add graph, выберем пункт Custom graph. В поле Field выбираем Gyro [roll], затем нажимаем кнопку Add field и выбираем для этого поля Gyro scaled [roll]. Нажимаем Save changes. Чтобы оценить характер вибраций, нам потребуется инструмент Analyser Display. Включается в панели Overlay в верхней части экрана.
Для удобства анализатор можно развернуть на весь экран. Теперь проанализируем вибрационную картину. Для этого выведем на экран анализатора спектр данных с гироскопа по оси ROLL до применения алгоритмов фильтрации.
Разберёмся, что показывает анализатор.
По горизонтали располагаются частоты, по вертикали - амплитуда колебаний. Мы видим узкий высокий пик на частоте ~36Гц, это типичная картина резонанса. В нашем случае резонанс возник из-за размещения достаточно большой массы (лента) на гибком упругом элементе конструкции (защита). Посмотрим, справились ли фильтры с такой вибрацией. Переключим анализатор на данные с гироскопа после фильтров.
Видим, что картина практически не изменилась. Вспомним, как были настроены фильтры перед этим полётом.
У нас были включены три фильтра: динамический режекторный и два фильтра низких частот. Если говорить простым языком, глядя на спектр вибраций, то полезные данные, которые требуются алгоритму стабилизации, находятся в полосе ~1-7 Гц, всё остальное - шум, который нужно отфильтровать. Фильтры низких частот имеют один параметр - частота среза (Cutoff frequency). Всё, что ниже этой частоты фильтр пропускает без изменений, а всё, что выше - подавляет, причём чем больше частота шума, тем сильнее происходит подавление. Такой фильтр подходит для фильтрации широкополосных высокочастотных шумов. Режекторный фильтр работает “ювелирно”, подавляя узкую полосу шума. Имеет центральную частоту и частоту среза. Подавление максимально на центральной частоте и ослабевает к частоте среза в обе стороны от центральной частоты. Динамический фильтр в betaflight в реальном времени находит пики вибраций и подавляет их с помощью режекторного фильтра. Почему же такой мощный пик вибраций от резонанса защиты остался незамеченным? Всё очень просто - динамический фильтр работает в диапазоне частот 200-400 Гц, это связано с тем, что чем ниже частота, тем большую задержку вызывает её фильтрация. В связи с этим в общем случае рекомендуется на частотах ниже 100 Гц устранять непосредственно причину вибраций, а не отфильтровывать их программно. Но в некоторых случаях можно попытаться подавить такие вибрации с помощью ручной настройки фильтров.
В Betaflight configurator на вкладке PID Tuning в разделе Filter Settings включим Notch фильтр и установим следующие настройки: центральная частота -35 Гц, частота среза - 25 Гц. Для сохранения настроек необходимо нажать кнопку Save.
До фильтров:
После: Как видно, режекторный фильтр эффективно подавляет узкополосные вибрации. Но характер конструкции защиты таков, что она даёт вибрационный “хвост” на низких частотах, который вплотную прилегает к полезным данным, и фильтровать его не представляется возможным. Из вышеописанного можно сделать вывод, что размещение каких-либо элементов на защите негативно влияет на лётные характеристики.
Попробуем перенести ленту с защиты на шасси квадрокоптера.Для того, что бы было удобнее крепить ленту, изменим 3D модель шасси, добавив площадку для крепления отрезков светодиодной ленты.
От ленты отрежем две части по три сегмента и закрепим их стяжками. Подключение осуществляется параллельно, т.е. контакт 5V обеих лент подключается к контакту V на плате, Din - к S, GND - к G.
В настройках Betaflight мы можем ничего не менять, т.к. два параллельно подключенных участка ленты по 3 сегмента будут нормально работать даже если полётный контроллер будет настроен на работу с лентой на 9 сегментов. Это связано с тем, что в ленту подаётся пакет данных, рассчитанный на заданное количество светодиодов, и каждый светодиод “откусывает” от этого пакета свою часть и отсылает оставшиеся данные дальше. В таком виде можно переходить к испытаниям и дальнейшим полета.
Теперь подготовим саму ленту. Для этого нужно найти конец ленты, центральный контакт которого обозначен как Din, освободить его от защитного силиконового покрытия (будьте осторожны! можно повредить проводящие дорожки ленты) и аккуратно лезвием ножа или наждачной бумагой зачистить контакты. После этого контакты покрываем слоем олова. Не забывайте использовать и смывать флюс!
Теперь подготовленные провода нужно припаять к плате Жужи:
Приципиальная схема подключения светодиодной ленты
Подключим ленту. Для этого протянем провода от платы, и соединим их с лентой в следующем порядке: V к +5V, G к GND, S к Din.
Чтобы провода не болтались, так же закрепим их стяжками: Теперь необходимо настроить полётный контроллер на работу с лентой. Для этого подключаемся к Betaflight configurator и переходим на вкладку Configuration и включаем опцию Led_strip.
Проверим нашу конструкцию в деле. (Пример полета на видео .)
Повторим полёт, сохраним лог полёта и откроем его с помощью . Чтобы сохранить лог файл, нужно в Betaflight Configurator перейти на вкладку Blackbox и нажать кнопку Activate Mass Storage Device Mode.
Повторим полёт, снимем лог с полётного контроллера и аналогично описанному выше способу оценим разницу спектра вибраций до и после фильтрации.