Прошивка і налаштування Ardupilot

ВАЖЛИВО: ПЕРЕД прошивкою Ардупілота прошийте ESC на потрібну прошивку (Bluejay чи свіжий BLHeli, відповідно до потреб) і налаштуйте через Betaflight або відповідний ESC-конфігуратор напрямок обертання моторів. В Ардупілоті не можна налаштувати напрямок обертання моторів, і ESC passthrough працює, скажімо так, специфічно, тому варто провести ці налаштування ПЕРЕД прошивкою, щоб уникнути в подальшому зайвих проблем.

Прошивка

Шукаємо прошивку

  1. Ідемо на сайт Ardupilot і шукаємо свій польотник у списку.
  2. Альтернативно можна піти на сайт прошивок. Для «старих добрих перевірених часом» польотників прошивка буде в гілці Stable, для новіших (типу Stellar, DakeFPV тощо) — може бути в latest (але майте на увазі, latest не гарантує стабільної роботи).
  3. Якщо ніде немає — гляньте на сайті виробника (особливо якщо це український ФЦ), на сторінці польотника швидше за все буде лінк на прошивку.
  4. Переходимо на сторінку польотника, шукаємо пункт Firmware.[🖼 Скріншот: Шукаємо пункт Firmware на сторінці польотника]
  5. Вибираємо Copter.[🖼 Скріншот: Вибір розділу Copter]
  6. Вибираємо останню гілку Stable, знаходимо папку свого польотника. Нам потрібен файл з позначкою with_bl (з бутлоадером).[🖼 Скріншот: Вибір файлу with_bl з бутлоадером] 💡 Іноді польотника може не бути в загальному списку — тоді перевірте сторінку продукту на сайті виробника. [🖼 Скріншот: Посилання на прошивку на сайті виробника]

Прошиваємо

Можна юзати програму STM32 Cube programmer або прошити через INAV. Підрубаємо польотник у режимі boot, вибираємо локальну прошивку, шиємо.

[🖼 Скріншот: Процес прошивки польотника]

Основні налаштування

Підключення через Mission Planner

  1. Знаходимо і встановлюємо Mission Planner.
  2. Відкриваємо Mission Planner, вибираємо потрібний COM-порт і натискаємо кнопку Connect.[🖼 Скріншот: Підключення до польотника через Mission Planner]
  3. Основну частину налаштувань ми робитимемо на двох вкладках: Setup та Config.[🖼 Скріншот: Інтерфейс Mission Planner після підключення]

💡 Порада: в налаштуваннях Mission Planner є українська мова, але краще залишити англійську. (Змінити мову можна в меню Конфігурація ⇒ Планувальник). [🖼 Скріншот: Налаштування мови в Mission Planner]

Frame class і Frame type

Не ліземо в мастера, ідемо одразу в Config ⇒ Full Parameter List і ставимо:

  • FRAME_CLASS ⇒ 1 (квадрокоптер)
  • FRAME_TYPE ⇒ 18 (Betaflight X reversed — мотори крутяться від камери)

[🖼 Скріншот: Налаштування FRAME_CLASS і FRAME_TYPE у Full Parameter List]

Натискаємо Write parameters, reboot.

Батка

Виставляємо параметри акумулятора:

  • Airscrew size in inches ⇒ розмір пропів у дюймах (наприклад, 10)
  • Battery cellcount ⇒ кількість банок (6)
  • Battery cell fully charged voltage ⇒ 4.1
  • Battery cell fully discharged voltage ⇒ 2.8
  • Battery Chemistry ⇒ LiIon (або відповідна хімія)

[🖼 Скріншот: Налаштування параметрів акумулятора в Mission Planner]

Натискаємо Calculate Initial Parameters.

Serial ports

Виставляємо UART-порти відповідно до вашого білду (наприклад, RCIN — це приймач).

[🖼 Скріншот: Налаштування Serial ports / UART]

Протокол моторів

  1. Config ⇒ Full parameters list ⇒ у поле пошуку вводимо SERVO_DSHOT_ESC і виставляємо тип прошивки:
    • BLHeli32 / AM32 ⇒ 1
    • BLHeli / Bluejay ⇒ 2
    [🖼 Скріншот: Налаштування параметра SERVO_DSHOT_ESC]
  2. Натискаємо Write parameters.
  3. Заходимо в Setup ⇒ ESC calibration. Не тиснемо Calibrate ESC, якщо не хочемо неочікуваних наслідків. Просто вибираємо dshot300.[🖼 Скріншот: Вибір dshot300 у вкладці ESC calibration]

Мотори

Порядок моторів має відповідати обраній схемі.

  1. Схема підключення моторів для FRAME_TYPE = 18.[🖼 Схема: Порядок підключення моторів Betaflight X reversed]
  2. Ідемо в Setup ⇒ Mandatory Hardware ⇒ Servo outputs.
  3. Встановлюємо відповідність: Servo1 ⇒ Motor1, Servo2 ⇒ Motor2, Servo3 ⇒ Motor3, Servo4 ⇒ Motor4.[🖼 Скріншот: Мапінг виходів у вкладці Servo outputs]
  4. Перезавантажуємо, підключаємо батарею (має бути стандартна мелодія запуску).

Перевіряємо мотори

Підготовка

Перед початком перевірок потрібно налаштувати BLHeli Passthrough, щоб дати змогу Ardupilot змінювати налаштування ESC:

  1. Ідемо в Config ⇒ Full parameter list.
  2. Шукаємо параметр SERVO_BLH_AUTO і встановлюємо його у значення 1.[🖼 Скріншот: Налаштування параметра SERVO_BLH_AUTO]
  3. Натискаємо Write parameters.

Тестування

  1. Підключаємо батарею, ідемо в Setup ⇒ Optional hardware ⇒ Motor test.[🖼 Скріншот: Меню Motor test]
  2. Натискаємо по одному Test Motor A, B, C, D і перевіряємо напрямок обертання.
  3. Якщо якийсь із моторів крутиться не в той бік, запам’ятовуємо номер мотора (Motor Number).[🖼 Скріншот: Відображення номера мотора Motor Number]
  4. Відключаємось від Mission Planner, ідемо в ESC-конфігуратор і змінюємо напрямок обертання на Reversed на потрібних моторах.[🖼 Скріншот: Зміна напрямку обертання моторів в ESC-конфігураторі]

Приймач та аукси

  1. Приймач: Підключаємо пульт, натискаємо калібрувати, відводимо всі стіки і тумблери в крайні положення.[🖼 Скріншот: Калібрування радіоприймача]
  2. Призначаємо аукси: За замовчуванням AUX1 (channel 5) в Ardupilot використовується для flight modes. Змінимо це через Config ⇒ Full parameters list:
    • FLTMODE_CH ⇒ 6 (Режими польоту на AUX2)
    • RC6_OPTIONS ⇒ 0
    • RC5_OPTIONS ⇒ 153 (Arm / disarm на AUX1)
    • RC7_OPTIONS ⇒ 94 (VTX admin на AUX3)
    • RC8_OPTIONS ⇒ 17 (Autotune на AUX4)
    • RC2_REVERSED ⇒ 1 (Реверсований pitch, в ардупілоті він за замовчуванням працює навпаки)

Польотні режими

Налаштовуємо польотні режими під ваш 3-позиційний тумблер. Канал керування режимами — шостий (другий аукс).

[🖼 Скріншот: Налаштування польотних режимів Flight Modes]

Налаштування логування

В Config ⇒ Full parameters list встановлюємо:

  • INS_LOG_BAT_OPT ⇒ 5

[🖼 Скріншот: Налаштування параметра INS_LOG_BAT_OPT]

Калібрування

Калібрування гіроскопа

  • Setup ⇒ Accel calibration

[🖼 Скріншот: Меню калібрування акселерометра]

  • Виставляємо рівно, натискаємо Done, після чого по черзі повторюємо для: Лівий бік, Правий бік, Ніс вниз, Ніс вверх, Догори дригом.
  • Після завершення калібрування робимо reboot.

Калібрування компаса (Є компас)

  • Setup ⇒ Compass

[🖼 Скріншот: Меню калібрування компаса]

  • Крутимо коптер у всіх напрямках, доки калібрування не пройде. Бажано робити на вулиці без великих металевих предметів поруч.
  • Після завершення робимо reboot.

🚨 УВАГА! В волонтерських збірках компаса може не бути.

  • Нема компаса: У вкладці Compass вимикаємо всі компаси та натискаємо Reboot. [🖼 Скріншот: Вимкнення компасів у вкладці Compass]
  • Вимикаємо перевірку: Config ⇒ Full Parameters List ⇒ параметр ARMING_CHECK встановлюємо у значення 552435. Параметр COMPASS_ENABLE ⇒ 0. Натискаємо Write params. [🖼 Скріншот: Налаштування параметрів ARMING_CHECK та COMPASS_ENABLE]

Тюнінг

  • ACRO_TRAINER ⇒ 0 (True acro, бо за замовчуванням акро працює інакше)
  • OSD_CELL_COUNT ⇒ 6 (Для коректного відображення заряду по комірках на OSD)

Коректне відображення RSSI і LQ

  • RSSI_TYPE ⇒ 3 (брати дані для RSSI з RX)
  • RSSI_CHANNEL ⇒ 16 (канал, на якому береться RSSI)

⚠️ Метод з перезбіркою прошивки (для повноцінного RSSI та LQ в дбМ):

  1. Ідемо насайт збірки кастомних прошивок. [🖼 Скріншот: Головна сторінка генератора кастомних прошивок Ardupilot]
  2. Обираємо свій польотник, ідемо в підпункт OSD і обираємо OSD panels with extended link stats data. [🖼 Скріншот: Вибір розширених параметрів OSD для кастомної прошивки]
  3. Натискаємо Generate Build. [🖼 Скріншот: Кнопка генерації збірки]
  4. Розпаковуємо завантажений архів. У Mission Planner (НЕ підключаючись до дрона) йдемо в Setup ⇒ Install Firmware ⇒ Load Custom Firmware, вибираємо файл arducopter.ajp і слідуємо інструкціям. [🖼 Скріншот: Кнопка Load Custom Firmware у Mission Planner]
  5. Після цього на вкладці Config ⇒ Onboard OSD з’являться параметри RC_LQ та RSSIDBM. [🖼 Скріншот: Поява параметрів RC_LQ та RSSIDBM увімкненого OSD]

Керування VTX

  • VTX_ENABLE = 1 (вмикає можливість керування VTX; після встановлення треба зробити write parameters, після чого з’явиться решта параметрів).
  • VTX_POWER = 500
  • VTX_MAX_POWER = 3000

Лайфхак для Rush Max Solo: Поставте max power 3000. Обмежте канал керування в пульті до 52%. Якщо поставите на слайдер чи крутилку, працюватиме 4 рівня. Якщо ставити 53%, працюватиме і пітмод.

Фільтри і піди

У Full parameter list виставляємо такі значення:

  • SERVO_BLH_BDMASK = 15 (BIDIRECTIONAL DSHOT на 4 моторах)
  • SERVO_BLH_POLES = 14 (Кількість магнітів у моторі)
  • INS_HNTCH_ENABLE = 1 (Ввімкнути Harmonic Notch filter. Після ввімкнення зробіть write params, щоб з’явилися інші параметри)
  • INS_HNTCH_HMNCS = 7 (Перевіряти 3 гармоніки)
  • INS_HNTCH_MODE = 3 (Брати дані для Harmonic notch filter з ESC)
  • RPM1_TYPE = 5 (Брати дані для rpm фільтрів з ESC)
  • RPM1_ESC_MASK = 15 (BIDIRECTIONAL DSHOT на 4 моторах)