Flix квадрокоптер

Flix квадрокоптер


  • Общий вес квадрокоптера (без аккумулятора): ~75 г.
  • Максимальное время полета: ~12 минут на новом аккумуляторе.
  • Свободное время процессора: 34%.
  • Занято flash-памяти: 96%.

Основные компоненты и их стоимость

Для сборки квадрокоптера использовались следующие базовые компоненты:

Рама QX95 Frame — 447 ₽ AliExpress

Микроконтроллер ESP32-C3 Supermini — 124 ₽ AliExpress

Модуль GY91 (датчик положения) — 399 ₽

Моторы 3.7V (Hubsan H107D, H107C) — 646 ₽

Транзисторы IRLZ44N TO-220 — 296 ₽

Аккумулятор GAONENG 1S HV 850mAh PH2.0 — 754 ₽

Общая стоимость стандартных компонентов: 2666 ₽ (33.6$).

Другие компоненты (используется малая часть)

Провода 28AWG — 1012 ₽ Ozon

Провод 16AWG — 334 ₽ Ozon

Коннекторы PH2.0 — 185 ₽ Wildberries

Термоусадка для проводов — 208 ₽ Ozon

Итого на другие компоненты: 1739 ₽.

Запасные части

Кольца для фиксации моторов (8 мм) — 177 ₽ AliExpress

Запасные пропеллеры (Hubsan H107, H107C, H107D) — 168 ₽ AliExpress

Итого на запасные части: 345 ₽.

Мои доработки

Барометр BMP580 — 132 ₽ AliExpress

Датчик тока INA226 — 80 ₽ AliExpress

Итого на доработки: 212 ₽.

Особенности сборки и эксплуатации

Управление с Bluetooth-геймпада

В отличие от стандартного проекта Flix, я добавил управление квадрокоптером через Bluetooth-геймпад. Для этого нужно отключить виртуальный джойстик в QGroundControl. Квадрокоптер подключается напрямую к геймпаду по Bluetooth. Wi-Fi можно отключить для потенциального улучшения качества связи (хотя я разницы не заметил).

Управление настроено интуитивно, как в видеоиграх:

  • Левый стик: движение вперед/назад и повороты вправо/влево. Можно лететь по дуге, комбинируя движение и повороты.
  • Кнопки LB/RB: наклоны влево/вправо.
  • Кнопки LT/RT: регулировка тяги. При отпускании кнопок тяга фиксируется на текущем уровне.
  • Другие кнопки: действия, такие как arm, disarm, перезагрузка ESP32 и калибровка гироскопа. Код позволяет добавлять свои действия.

При потере связи с геймпадом через ~3 секунды срабатывает failsafe, но если кнопки тяги были зажаты, тяга продолжает меняться до активации failsafe.

Мониторинг и энергопотребление

Датчик тока INA226 и барометр BMP580 — мои доработки. В QGroundControl отображаются напряжение, ток и заряд аккумулятора в процентах. При снижении заряда срабатывают голосовые уведомления:

  • LOW: предупреждение о низком заряде.
  • CRITICAL: критический уровень заряда.
  • EMERGENCY: моторы отключаются (disarmed), чтобы предотвратить глубокий разряд аккумулятора.

Во время полета ток составляет 8–9 А, а для поддержания высоты требуется ~33 Вт. Я добавил режим удержания тяги на заданном уровне мощности (в ваттах), который можно включить кнопкой на геймпаде. При активации режима квадрокоптер поддерживает стабильное висение, компенсируя разряд аккумулятора. Крестовина геймпада позволяет регулировать целевой уровень мощности. Нажатие на кнопки тяги возвращает управление в ручной режим.

Барометр и удержание высоты

Барометр BMP580 добавлен для измерения высоты и потенциального удержания высоты. Его данные выводятся в QGroundControl, но показания высоты над уровнем моря некорректны (требуется калибровка с учетом погодных условий). Интересное наблюдение: при взлете на низкой высоте датчик показывает снижение высоты (увеличение давления), что указывает на эффект "воздушной подушки". При подъеме на ~20 см давление нормализуется. При низком заряде аккумулятора, когда мощности не хватает для подъема, квадрокоптер может удерживаться на этой "подушке".

Настройка PID-регулятора для удержания высоты пока не реализована, так как требует симулятора для точной настройки, пока не разбирался.

Проблемы, решения, заметки

В процессе сборки и эксплуатации квадрокоптера я столкнулся с рядом нюансов, которые стоит учесть:

  1. Лучше чтобы был запас всех деталей.
  2. Пропеллеры легко ломаются.
  3. Провода на моторах ломаются, лучше сразу залить их пластиком.
  4. Кольца, фиксирующие моторы легко прорезаются, их лучше заказывать с запасом на AliExpress, так как аналоги сложно найти (именно мягкие).
  5. Тонкий провод, который был вместе с разъемом JST нагревался, не хватало мощности для взлета. Замена на провод 16AWG решила проблему. Провод грелся в промежутке от аккумулятора до разветвления на моторы. Позже разъем поменял на PH2.0.
  6. Рассверливал отверстия в раме, чтобы прикрутить транзисторы винтами M3, но оказалось, что внутри рамы проходит ток. Из-за этого через раму, винт и транзистор включались все моторы разом. Винты M2, может, и подойдут, но это лишний вес. Проблема решена синей изолентой.
  7. Датчик тока INA226 изначально показывал максимальное значение меньше 1А. Установка двух резисторов по 10 мОм увеличила максимальное значение до ~15 А.
  8. На ESP32-C3 одно ядро, но тормозов не замечено.
  9. Стандартный LED отключен, так как его пин используется для I2C (барометр и датчик тока).
  10. Wi-Fi точка доступа на ESP32-C3 может быть нестабильной. Подключение к внешней точке, например, к планшету, работает хорошо, но нужно снизить мощность Wi-Fi.
  11. Квадрокоптер постоянно тянет в какую-то сторону, приходится всё время подруливать.
  12. Управление через QGroundControl изначально было слишком резким. Деление входных значений управления на 2 улучшило стабильность.
  13. С HV-аккумулятором (4.35V) управляется лучше.


Report Page