# Подключение адресной светодиодной ленты

### **Введение**

Штатной индикации (светодиоды на полётном контроллере) во многих случаях недостаточно по нескольким причинам: малая информативность, а в некоторых случаях и полная невозможность наблюдения в связи со скрытием полётного контроллера элементами конструкции и защиты квадрокоптера. Хорошим решением в таком случаем может стать подключение дополнительной светодиодной ленты, которая будет подробно отображать различные события.&#x20;

#### **Подключение**

Для подключения ленты к Жуже нам понадобятся:&#x20;

* сам квадрокоптер&#x20;
* отрезок адресной светодиодной ленты&#x20;
* три провода
* несколько кабельных стяжек
* паяльник и принадлежности

![](https://lh3.googleusercontent.com/G2U8NwRvsaYTT7sg16u1SZHaH7vykrply-eWHjWQHBtllleWdxB0COhMwxLS2Qhg-tMc5mhbqfJuQ__h9qusuVoe65Kkuga1k7QvtbysLO-zAaBmatiVvqX2HKAdpuqsMCGax4ut)

Концы проводов необходимо зачистить и залудить:

![](https://lh3.googleusercontent.com/IHCD6iKWWTJgcApgo7KeslVAxwc_rJj6F38w0Nx8vRAa00FNnidH48mJzNaFFJI2ziLwWUBb7KprPUuhFRqcCpKK_tSGeI7HtQxNTs6i8pLECKNq5_IFkgCIdvMqUnp-r4ohG5BM)

Теперь подготовим саму ленту. Для этого нужно найти конец ленты, центральный контакт которого обозначен как **Din**, освободить его от защитного силиконового покрытия (будьте осторожны! можно повредить проводящие дорожки ленты) и аккуратно лезвием ножа или наждачной бумагой зачистить контакты. После этого контакты покрываем слоем олова. Не забывайте использовать и смывать флюс!![](https://lh3.googleusercontent.com/wNacHKH-7Ae2XSB-c19Wfl3818FFX6yLNhlAh2JdC4VozymcZSOhsj6vNMlDw1bfqOvAAQQYxl3OvANRTET51oZmTOzinFBdsMw6jgnyH8k8FavbOX14tHRLUmikVWFC3YIPxk0a)

Теперь подготовленные провода нужно припаять к плате Жужи:\
![](https://lh6.googleusercontent.com/syzwXowCdT9tususM9dDS4wZXMdK5uGHacjnRBuWLuagw1_eoFBgpQ7e73Nd9yT8tn1UJjiOEjUe5JTqMBAcCwyg_yvl9AXKL6jTztaEZijZ9fe5cevdFf77w9a6L_dJy3YqXMbU)

Контакт **S (signal)** обеспечивает управление лентой с полётного контроллера, а контакт **V (Vcc)** - подводит питание для ленты. Контакт G (ground) - общий для силовых и сигнальных цепей коптера.&#x20;

Приципиальная схема подключения светодиодной ленты![](https://lh3.googleusercontent.com/j0uwcE-4C7ZI6eqSTGFS75EeWHwvCtSFxENPN4Jd6Pd2L5bW_uvaszwq_RxstxxOs-jKLK0o59xJ0NKV6EQuKP7Zl1JV6nQNu56bejsyXEd5_KVeJv73-YXAcWK_ucypD2llsgU_)

Ленту необходимо закрепить на коптере. Мы предлагаем сделать это на защите, но вы можете придумать свой вариант. Крепить ленту можно с помощью штатного клеевого слоя на обратной стороне, но также не будет лишним дополнительно усилить крепление кабельными стяжками:<br>

Подключим ленту. Для этого протянем провода от платы, и соединим их с лентой в следующем порядке: **V** к **+5V,** **G** к **GND**, **S** к **Din**.![](https://lh5.googleusercontent.com/0Ut42yVEXLcMU3NkwBoggvmB25tSjPQk-d-xfE6DVIk10g8F-MRpFHIADmw2VCs6_dI2Z_-rN_vTRDzUPHRTB8TXXIr_OYB_R5kkoyGqmKRRfkSMtEJlxwcXV0ghAHf_SvNDr9rr)

Чтобы провода не болтались, так же закрепим их стяжками:![](https://lh4.googleusercontent.com/C_K7plgDDXymxJEDbcmyzs4CgvIa_aEreKykqHG-pWXB1qZVyQ6sB1vZEtEJk76CvS3ovT4i7AkPm49zdb5ilbIBjFlLpgsi504gJqwyTu8i477MmIKLlH4ZFUCtqDkTLeAl7AdE)\
\
Теперь необходимо настроить полётный контроллер на работу с лентой. Для этого подключаемся к **Betaflight configurator** и переходим на **вкладку Configuration** и включаем опцию **Led\_strip.**

![](https://lh6.googleusercontent.com/HpwU4Hnx-mtcWJwzIieTbE9xRBIrbdTvTyZwmmC7EYFgCIIQRymvSNt_lrAaSNxPo1WjjAbav0Xz7kbpDXLmyfNGlyVv417akWRIwszJajUf6hJwTJkMMtuIypLUppM93y7kgy1B)

После этого на левой стороне экрана станет доступна вкладка Led strip. Переходим на неё. &#x20;

![](https://lh6.googleusercontent.com/ubtflGsxGF1CeEoyE__J4N0mfiAgrDJYHEnlLd9jmS0v9fEV1B_ODjwcdinc_Z7M8f03L9PssbTcsfAuSDFiSV6ANwEZa9KqSD062yfMwR3wdZuXVkKfJFZfbjY5nEGMSQ6UsOg0)

Нажимаем кнопку Wire Ordering mode и отмечаем подряд количество квадратиков, соответствующее кол-ву светодиодов на вашей ленте и подтверждаем выбор повторным нажатием кнопки.

![](https://lh6.googleusercontent.com/DFSWjKhE2F6XEkoUn18BfyYuS-f8IP9wZvvq1G7ZAPfuURf40H9oIUv5uDATDoMlT2-EREAmrF0iG2NK6ii7v9rJyn9XfRimq8VfO5JBHsC_qYUi66Lgwb3Ubk0uh224bdLcuF1l)

Далее выделяем все светодиоды, зажав ЛКМ и проведя по ним, в поле Led Function выбираем Arm State. При этом ниже в разделе Special color мы можем выбрать цвет для каждого состояния.&#x20;

![Сохраняем, нажав Save.](https://lh6.googleusercontent.com/8R8Ca3RB9kGH_6aoR-dVRapUb6HKnVY0BI1iF03t_WGYCsMKpffn32tmYou0_jCB5kch61lwwE5QmOpS4Wh3lvsg_ngEzjnCZ05v_B53amplSeimwgC4rd-MiteUVnOD9lCJ07fe)

Теперь лента в состоянии **disarmed** будет гореть зелёным:

![](https://lh5.googleusercontent.com/YaFCNeIKWgABtbqSdzzWO_Ds9MHOqHJtKMZVoiYSdI7NyUIIzrDWe9q1LyQjQBjTDI4Tf9ilPNk7qVySdtudfIsdwyWgRWjt-rGd8ctWId-15ln6UNxzcqJB9A5apq_JXiLHOlzX)

А при armed загораться красным:&#x20;

![](https://lh4.googleusercontent.com/dIy5sghyxioiBRGOmJHVKayM5kgP5gEbGuB5_BUCR0qj2BftSHSediXck2yz6HZHyD5j4XR8rZ6mdEcdMPnXd_dCwAvBG6w51EvkzBe3kfUIf9Ru47AzcXRDcOOZOaynGG7_UNpx)

Проверим нашу конструкцию в деле. (Пример полета на видео [**здесь**](https://youtu.be/_WpUzPwYd1s).)

Здесь мы видим, что коптер явно имеет какие-то проблемы. Если проверить температуру моторов после непродолжительного полёта, то можно обнаружить их повышенный нагрев. Это является признаком избыточных вибраций. Проверим это. \
Для этого подключимся к полётному контроллеру и на вкладке **CLI** введём следующие команды:\
\&#xNAN;**> set debug\_mode = gyro\_scaled**\
**> save**

![](https://lh5.googleusercontent.com/z-328o5e9VEaJKYpWMbSv3_kXZZrHga9iYjGJ522RrVe9XAGDh1OpBzfrwLdfyokCH1AzxjlLC_xAvpd79Fp4S_KQlDT3JT9Ehy70E2TLYBx4EORrvKlbe48ZyibrMvN_4TEtMgQ)

{% hint style="warning" %}
Команда **set debug\_mode = gyro\_scaled** сообщат полётному контроллеру, что нужно дополнительно записывать в лог файл “сырые” данные с гироскопа, сразу после расшифровки, до применения к ним алгоритмов фильтрации. Командой save мы подтверждаем введённую команду.
{% endhint %}

Повторим полёт, сохраним лог полёта и откроем его с помощью [**Betaflight Blackbox Explorer**](https://github.com/betaflight/blackbox-log-viewer/releases). Чтобы сохранить лог файл, нужно в Betaflight Configurator перейти на вкладку Blackbox и нажать кнопку Activate Mass Storage Device Mode.

![](https://lh6.googleusercontent.com/ErFUmLzszHAjLA58MUKPC-PzDIV7MSHt9yx-Jn7dqXcPCWYL56oZ8PkzFdq0ebE986yf8Io8qFLDw3wQ076BKIfhVdZrKweTbZ5QhTtP0wPXJzfcGEgbQD86UZ4bwJsZSVG650Lb)

Контроллер перезагрузится, и в проводнике появится новый диск, на котором и будут находиться все записанные логи. Двойным щелчком откроем наш файл в Blackbox Explorer.

Контроллер перезагрузится, и в проводнике появится новый диск, на котором и будут находиться все записанные логи. Двойным щелчком откроем наш файл в **Blackbox Explorer.**&#x20;

![](https://lh3.googleusercontent.com/INPPMI8McG6VYLxKfks965DbRIhLhd_-rtuGmCXNln6vofZrW0HzW-3LvBFy2YqdO-zsRpUnHYjBUlyXjN8tqlKhtegSmOzY4f6reCkQM-1IPdjUZ-zsXwpJ9SgwfOfUvP6F8OBq)

Теперь необходимо настроить окружение для работы. По щелчку **Graph setup** откроется меню настройки графиков. Здесь можно выбрать, как и какие данные отображать. Если ранее были настроены какие либо графики, нужно нажать **Remove all graphs**. Далее нажмём кнопку **Add graph**, выберем пункт Custom graph. В поле **Field** выбираем **Gyro \[roll]**, затем нажимаем кнопку **Add field** и выбираем для этого поля **Gyro scaled \[roll]**. \
Нажимаем Save changes. Чтобы оценить характер вибраций, нам потребуется инструмент Analyser Display. Включается в панели Overlay в верхней части экрана.&#x20;

![](https://lh6.googleusercontent.com/2Ll_-cac9yptIQjsaSzFDTHCNvPi9t4ewJe_ZqETvmMT7ojr4YR9IZ_1oc39CWHZwbB1GKAi36vrKN68Lg-aSPwe2cJd6zxPriHt-yRdhe6AQK5e4F3n5ToR7LkAxa4sfFknJfQ2)

Для удобства анализатор можно развернуть на весь экран. Теперь проанализируем вибрационную картину. Для этого выведем на экран анализатора спектр данных с гироскопа по оси ROLL до применения алгоритмов фильтрации.&#x20;

![](https://lh4.googleusercontent.com/4Ekf4FZOJR59PEIJ0ZQGGygNTxiSLw4dD1MqP_0iMK_y6akTHvtskTXDCh09nT2NRlI70uewuvnDnbXbnYad8h3dGijBe7XQuychk32Xr4UxkH5tIlFvfXBmLzvXy8Qll_GyGW2Q)

**Разберёмся, что показывает анализатор.**&#x20;

![](https://lh3.googleusercontent.com/gMLMtaIFXuuy4ssHTdG0gEg6b1Z-imPpTGHC8DPLD0QcB5VqQIBk5tteWd-7MsKvISnMA-OkVAzPpqObI3ffpF-9EON_dO62hr5hdbHFNn1j42Tok1t-bWMHjPKWLLS2n8KboEW2)

По горизонтали располагаются частоты, по вертикали - амплитуда колебаний. Мы видим узкий высокий пик на частоте \~36Гц, это типичная картина резонанса. В нашем случае резонанс возник из-за размещения достаточно большой массы (лента) на гибком упругом элементе конструкции (защита). Посмотрим, справились ли фильтры с такой вибрацией. Переключим анализатор на данные с гироскопа после фильтров.&#x20;

![](https://lh3.googleusercontent.com/aO__mbGpTX-uw0nQf8KsiRmAWzFJeDzGnGMMs5a2L4nkzLwoTQeOH3_9gd9FKgZdHwi4SLga1jIondg74aqanJlG2Nb47TCyZXZ72vmQKerPjVqHJ5mMgRXNO6h0SEpf5ZlWskHT)

![](https://lh4.googleusercontent.com/eGOOGz65ayijYigmBGn6jcgHkVmmaVGjk-zUAk6sFaxgbsQo4g5gftYRHr8s2un6pNepE_lacLG5DwgVxiQy2sAekI9r5GnqNN3n8_amqNSHBlatJ89JAVVqFFH6LtQz8H8VhEhZ)

Видим, что картина практически не изменилась. Вспомним, как были настроены фильтры перед этим полётом.

\ <br>

![](https://lh5.googleusercontent.com/24oeAALuKG99pE_BJJrO30b6Jubqdvzt-o9F3JCi7SDdsWCTBPHdBx1PIGMhc8I4bWYpfi_etbRAorfParARD2bf9GmqaqPkHr2zTGJHXVuZuZPpZFY88UKfUdfPvk6QWYxXkNje)

![](https://lh6.googleusercontent.com/VH2q3v__v9vehh_Qm1qVZXwYo4RZRUbdmnSvdGBpJP3t_T6t1pGzqz_NjVre_E8KhFB17xVqEDjSLDtfmOfmcTM77Fn1CgaKXPIGFGHP8zaGxNrKnv0ja38Yu0JNTCFTg7YLBuPK)

У нас были включены три фильтра: динамический режекторный и два фильтра низких частот. Если говорить простым языком, глядя на спектр вибраций, то полезные данные, которые требуются алгоритму стабилизации, находятся в полосе \~1-7 Гц, всё остальное - шум, который нужно отфильтровать. Фильтры низких частот имеют один параметр - частота среза (Cutoff frequency). Всё, что ниже этой частоты фильтр пропускает без изменений, а всё, что выше - подавляет, причём чем больше частота шума, тем сильнее происходит подавление. Такой фильтр подходит для фильтрации широкополосных высокочастотных шумов.\
&#x20;Режекторный фильтр работает “ювелирно”, подавляя узкую полосу шума. Имеет центральную частоту и частоту среза. Подавление максимально на центральной частоте и ослабевает к частоте среза в обе стороны от центральной частоты. Динамический фильтр в betaflight в реальном времени находит пики вибраций и подавляет их с помощью режекторного фильтра. Почему же такой мощный пик вибраций от резонанса защиты остался незамеченным? Всё очень просто - динамический фильтр работает в диапазоне частот 200-400 Гц, это связано с тем, что чем ниже частота, тем большую задержку вызывает её фильтрация. В связи с этим в общем случае рекомендуется на частотах ниже 100 Гц устранять непосредственно причину вибраций, а не отфильтровывать их программно. Но в некоторых случаях можно попытаться подавить такие вибрации с помощью ручной настройки фильтров.&#x20;

В Betaflight configurator на вкладке PID Tuning в разделе Filter Settings включим Notch фильтр и установим  следующие настройки: центральная частота -35 Гц, частота среза - 25 Гц. Для сохранения настроек необходимо нажать кнопку Save.

![](https://lh3.googleusercontent.com/BtkN5vsrt5uUCg_fR5j6doL5lhRILgvvOdh6Q1jAeuVDP0CqUlQ67xZ1I2Y0OGsgYaC4H38VKo-OqHVDNDi4W5jkukQW6HEyKuZvcY9tF2oIMVX8d3QLnqa8Q903-HuDALZlfyRh)

Повторим полёт, снимем лог с полётного контроллера и аналогично описанному выше способу оценим разницу спектра вибраций до и после фильтрации. [**Полёт**](https://youtu.be/UfhfZGv4KIg)

**До фильтров:**

![](https://lh3.googleusercontent.com/zP6yj0t63byW3lP2ZIXqFb9jdJGUBq-_l_nrNfZQR9Fq4Dw3Jtu-xxg_G0BU6aIC9KTvOM371hdMGMJy7EoITKP-wOWhkjn_QicnRrox5-YGuDPp7HjCycOtotEIh3TYzNycVj1D)

**После:** \
Как видно, режекторный фильтр эффективно подавляет узкополосные вибрации. Но характер конструкции защиты таков, что она даёт вибрационный “хвост” на низких частотах, который вплотную прилегает к полезным данным, и фильтровать его не представляется возможным. Из вышеописанного можно сделать вывод, что размещение каких-либо элементов на защите негативно влияет на лётные характеристики.&#x20;

![](https://lh5.googleusercontent.com/0mhcaMW0eIXnU3lbSAZkgu4yCDxBIyJ3P1JU6veHuooRy6XQX7_DeJ49iDzX1YfcqFGMQfTDceZy83UFsskJnu5A6PrD0ev3YeIZLybp4gHxloNcytK_dmYXbBP_PmttlTKS-j19)

Попробуем перенести ленту с защиты на шасси квадрокоптера.Для того, что бы было удобнее крепить ленту, изменим 3D модель шасси, добавив площадку для крепления отрезков светодиодной ленты.&#x20;

![Шасси квадрокоптера](https://lh3.googleusercontent.com/9Kx_l1aSQu38ty6I2viJ5MxBF_7tz3gw4k5tXMrNEHU-Ki3I8WwFa6xPwKcjiBOWO3KolFobeBJjTzLxvdOypq8CHp7AU9C4fo4MtlJHas61v4efWxZx7NTVAP4vfSXury1Qn7Uo)

![3D модель шасси](https://lh5.googleusercontent.com/evHsLMWFn1GIoyNpbGyWKB1-gdKx3QxcxqttWiicqOp61_Omx9R6f8wR8coHWuAD1xeLtuGJGymCcXTJWW7e6QgPw02uQu3nJ_ZM9x1LPpib9tHp0DABwNzoyArMCNRtiN1f8rTZ)

От ленты отрежем две части по три сегмента и закрепим их стяжками. Подключение осуществляется параллельно, т.е. контакт 5V обеих лент подключается к контакту V на плате, Din - к S, GND - к G.&#x20;

![](https://lh3.googleusercontent.com/UmxIxKVGRNaPky2DdebsAEaWn9QBJ3XtmASVlCLRRahmdGn-GuQMNRf6f-hBcyqwlYuX65kKSGrkYqe_uhdbGiLbCooN4D6GUt2uaEIPuxXW7bBKaFABBSbr7kc-eMrZAx4qeo2T)

В настройках Betaflight мы можем ничего не менять, т.к. два параллельно подключенных участка ленты по 3 сегмента будут нормально работать даже если полётный контроллер будет настроен на работу с лентой на 9 сегментов. Это связано с тем, что в ленту подаётся пакет данных, рассчитанный на заданное количество светодиодов, и каждый светодиод “откусывает” от этого пакета свою часть и отсылает оставшиеся данные дальше. \
В таком виде можно переходить к испытаниям и дальнейшим полета.
