Nestua H743 постачається з прошивкою ArduPilot (ArduCopter) і працює з Mission Planner, QGroundControl і MAVProxy. Налаштування — звичайне для ArduPilot. На цій сторінці описано особливості саме цієї плати: що розташовано на кожній площадці, який номер SERIALn має кожен UART і кілька параметрів, у яких легко помилитися.
- Акумулятор підключається до ESC. Польотний контролер отримує напругу акумулятора через 8-контактний кабель ESC і сам формує 5 В і 3,3 В.
- USB живить лише домен 3,3 В. GPS, приймачу й VTX на площадках 5 В потрібен підключений акумулятор.
- Логи пишуться у вбудовану NAND: залиште
LOG_BACKEND_TYPE = 4. - На платі немає компаса. Використовуйте зовнішній GPS/компас через I2C або DroneCAN.
- Плату неможливо «вбити»: утримуйте BOOT під час підключення USB, щоб увійти в ROM-завантажувач.
Перш ніж почати
Вам знадобляться ESC 4-в-1 зі стандартним 8-контактним роз’ємом JST-SH 1,0 мм, кабель USB-C, наземна станція (Mission Planner для Windows або QGroundControl для Windows, macOS і Linux), а для GPS-режимів — зовнішній модуль GPS/компаса. Виконуйте всі кроки на цій сторінці без пропелерів аж до тесту моторів.
Встановіть плату так, щоб стрілка на шовкографії вказувала вперед. За такої орієнтації AHRS_ORIENTATION залишається за замовчуванням 0. Монтажний шаблон — 30,5 × 30,5 мм з отворами Ø4 мм, тож використовуйте демпферні втулки M3.
Підключення ESC 4-в-1
Кабель ESC передає напругу акумулятора, чотири сигнали моторів, телеметрію ESC і сигнал датчика струму. Контакту 5 В немає, бо польотному контролеру не потрібні 5 В від ESC.
| Контакт | Сигнал | На FC | ArduPilot |
|---|---|---|---|
| 1 | GND | Земля | — |
| 2 | VBAT | Вхід вбудованого BEC 5 В і вимірювання напруги | Напруга акумулятора |
| 3 | M1 | Вихід 1 (DShot) | SERVO1 |
| 4 | M2 | Вихід 2 | SERVO2 |
| 5 | M3 | Вихід 3 | SERVO3 |
| 6 | M4 | Вихід 4 | SERVO4 |
| 7 | TLM | UART7 RX (лише прийом) | SERIAL5 |
| 8 | CUR | Аналоговий вхід струму | Струм акумулятора |
Перевірте порядок контактів перед підключенням. Такий порядок поширений серед ESC 4-в-1, але в кількох брендів він інший. Якщо контакт VBAT Вашого ESC потрапить на сигнальний контакт, плату буде пошкоджено. Звірте шовкографію чи інструкцію ESC з таблицею вище й за потреби перепіновуйте кабель.
Діапазон вхідної напруги — 2–6S (7–25,2 В). Вхід має захист від переполюсування та TVS-діод 600 Вт, а BEC 5 В розрахований на 2 А. Фазні дроти моторів і силовий кабель акумулятора припаюються до ESC. До польотного контролера доходять лише слабкострумові сигнали.
Перше ввімкнення
- Лише USB. Підключіть USB-C. Зелений світлодіод (3,3 В) світиться, а бурштиновий (5 В) — ні. Так і має бути: USB живить лише процесор, датчики та flash-пам’ять логів. Плата визначається як
NestuaH743. - Підключіть наземну станцію. Mission Planner або QGroundControl знайде MAVLink heartbeat на USB-порту.
- Акумулятор. Без пропелерів підключіть акумулятор до ESC. Засвітиться бурштиновий світлодіод 5 В, і ввімкнуться GPS, приймач і VTX на площадках 5 В. USB і акумулятор можна підключати одночасно.
Два інші світлодіоди — це світлодіоди стану ArduPilot (синій і червоний). Для сигналу пошуку загубленої моделі припаяйте активний зумер 5 В до площадок BZ+ і BZ−. Транзистор драйвера й захисний діод уже є на платі.
Площадки UART і номери SERIAL
Кожен периферійний порт — це група підписаних контактних площадок із власними площадками 5V і G поруч. ArduPilot нумерує порти у власному порядку, тож під час налаштування параметрів орієнтуйтеся на правий стовпець.
| Площадки (маркування) | UART | Призначення | Порт ArduPilot | Параметр |
|---|---|---|---|---|
| USB-C | USB | Наземна станція | SERIAL0 | — |
T1 R1 + SDA SCL | UART1 + I2C2 | GPS + зовнішній компас | SERIAL1 | SERIAL1_PROTOCOL = 5 |
T2 R2 | UART2 | Цифровий VTX / OSD | SERIAL2 | SERIAL2_PROTOCOL = 42 |
T3 R3 | UART3 | Телеметричний радіомодем | SERIAL3 | SERIAL3_PROTOCOL = 2 |
T4 R4 | UART4 | Резервний (напр., компаньйон-комп’ютер) | SERIAL4 | за потреби |
| Контакт 7 ESC | UART7 RX | Телеметрія ESC | SERIAL5 | SERIAL5_PROTOCOL = 16 |
T8 R8 | UART8 | Резервний | SERIAL6 | за потреби |
T6 R6 | UART6 | RC-приймач (CRSF/ELRS) | SERIAL7 | SERIAL7_PROTOCOL = 23 |
Не забудьте перехрестити лінії даних: TX пристрою підключається до площадки R польотного контролера, а RX пристрою — до площадки T. Після зміни будь-якого SERIALn_PROTOCOL перезавантажте плату.
RC-приймач
Для приймачів CRSF або ELRS підключіть приймач до T6 R6 і встановіть SERIAL7_PROTOCOL = 23 (RCIN). ArduPilot визначає протокол автоматично. Оскільки приймач живиться від 5 В, під час прив’язки підключіть акумулятор і перевірте канали на сторінці калібрування апаратури.
GPS і компас
Підключіть модуль GPS/компаса до групи площадок GPS: дані GPS — до T1 R1, а компас модуля — до площадок SDA/SCL поруч (зовнішня шина I2C з підтягувальними резисторами 4,7 кОм на платі). Встановіть SERIAL1_PROTOCOL = 5. ArduPilot сам визначить швидкість GPS і зовнішній компас.
На платі свідомо немає компаса. Компас на польотному контролері розташований за кілька сантиметрів від струмів акумулятора й моторів і сприймає їх як магнітне поле. Встановіть GPS/компас на щоглу або якнайдалі від силової проводки, наскільки дозволяє рама, а потім виконайте калібрування компаса.
Периферія DroneCAN
Порт CAN розташований на площадках CH/CL, поруч — 5V і G. Він має трансивер NXP TJA1057, захист від ESD і фіксований термінатор 120 Ω, оскільки польотний контролер завжди є одним кінцем шини. Термінуйте також протилежний кінець шини, а проміжні вузли залиште без термінації.
CAN_P1_DRIVER = 1 # enable CAN port 1
CAN_D1_PROTOCOL = 1 # DroneCAN
GPS1_TYPE = 9 # DroneCAN GPS (GPS_TYPE on older firmware)
Компаси, датчики повітряної швидкості й далекоміри DroneCAN визначаються після ввімкнення драйвера. У Mission Planner вони відображаються в розділі Setup → Optional Hardware → DroneCAN/UAVCAN.
Цифровий OSD (DJI, HDZero, Walksnail)
H743 не має чипа аналогового OSD. Він керує екранним меню цифрових відеосистем через MSP DisplayPort. Підключіть UART повітряного модуля до T2 R2 і встановіть:
SERIAL2_PROTOCOL = 42 # DisplayPort
OSD_TYPE = 5 # MSP DisplayPort
Деяким повітряним модулям також потрібно ввімкнути MSP або DisplayPort на їхньому боці. Дивіться документацію Вашої відеосистеми.
Рама, мотори й телеметрія ESC
FRAME_CLASS = 1 # quad
FRAME_TYPE = 1 # X
MOT_PWM_TYPE = 6 # DShot600 (5 = DShot300)
SERIAL5_PROTOCOL = 16 # ESC telemetry on the ESC connector
SERVO_BLH_AUTO = 1 # request telemetry from the DShot motor outputs
DShot не потребує калібрування ESC. Порядок моторів quad X в ArduCopter: мотор 1 — передній правий, 2 — задній лівий, 3 — передній лівий, 4 — задній правий. Положення M1–M4 на ESC 4-в-1 залежать від того, як його встановлено, тож запустіть Motor Test у Mission Planner (без пропелерів) і перепризначайте SERVO1_FUNCTION–SERVO4_FUNCTION (33–36 = мотори 1–4), доки кожен мотор не обертатиметься на своєму місці. Напрямок обертання змініть у конфігураторі ESC або поміняйте місцями два дроти мотора.
Виходи 5–8 розташовані на площадках M5–M8 — для октокоптера, сервоприводів або другого ESC. Виходи 1–4 і 5–8 належать до різних груп таймерів, тож кожна група з чотирьох може працювати з іншим протоколом чи частотою.
Напруга й струм акумулятора
Моніторинг напруги налаштовано з коробки: BATT_MONITOR = 4 (аналогові напруга й струм) з дільником напруги, розрахованим на 6S (BATT_VOLT_MULT приблизно 11,0). Звірте показники з мультиметром і за потреби скоригуйте множник.
Струм надходить від датчика струму Вашого ESC на контакт 8. Масштаб залежить від ESC, тож встановіть BATT_AMP_PERVLT (і за потреби BATT_AMP_OFFSET) за документацією ESC, а потім відкалібруйте, порівнявши витрачені за політ мА·год із тим, скільки повертає зарядний пристрій.
Калібрування й перший політ
- Акселерометр: калібрування в шести положеннях, потім вирівнювання.
- Компас: калібрування на борту із зовнішнім модулем, встановленим у кінцеве положення.
- Апаратура: калібрування каналів і перемикач польотних режимів.
- Аварійні режими: failsafe за радіо, за акумулятором і (з GPS) геозона.
- Тест моторів без пропелерів, потім перше зависання в Stabilize або AltHold на відкритому майданчику.
Для налаштування PID власні посібники ArduPilot і ArduPilot Methodic Configurator працюють на цій платі без змін.
«Чорна скринька»: логування й завантаження логів
Логи польотів пишуться в 256 МБ SPI NAND, розпаяної на платі. Немає SD-карти, яка може вискочити від вібрації. Логування працює з коробки. Єдиний параметр, про який варто знати:
LOG_BACKEND_TYPE = 4 # block logger on the onboard NAND (default)
LOG_DISARMED = 0 # set to 1 only for bench debugging
LOG_BACKEND_TYPE — це бітова маска: 1 = файлова система, 2 = MAVLink, 4 = блоковий. На цій платі немає файлової системи, тож значення 1 вимикає логування без жодного повідомлення про помилку. Якщо логи зникли, насамперед перевірте цей параметр.
Щоб завантажити логи, підключіть USB і скористайтеся DataFlash Logs → Download DataFlash Log Via Mavlink у Mission Planner або екраном завантаження логів у QGroundControl. На нашому стенді лог розміром 1,17 МБ завантажився через USB зі швидкістю близько 730 КБ/с без втрачених байтів. Логи відкриваються в Mission Planner, UAV Log Viewer або будь-якому інструменті для логів ArduPilot.
Оновлення прошивки та відновлення
Плати постачаються прошитими й перевіреними. Оновлення прошивки ми надаємо у вигляді файлу .apj, який завантажується через USB-C за допомогою Load custom firmware у Mission Planner або опції власної прошивки в QGroundControl. Ваші параметри зберігаються.
Якщо оновлення перервалося, плату неможливо «вбити». STM32H743 має завантажувач у ROM:
- Утримуйте кнопку BOOT і підключіть USB-C.
- Плата з’явиться як
DFU in FS Mode(USB ID 0483:DF11). - Запишіть повний образ (завантажувач + прошивка) за допомогою STM32CubeProgrammer або командою
dfu-util -a 0 -s 0x08000000:leave -D firmware_with_bl.bin.
dfu-util може вивести помилку після «File downloaded successfully». Це нешкідлива особливість: плата вже перезавантажилася з новою прошивкою.
Маркування площадок, значення за замовчуванням і деталі прошивки на цій сторінці стосуються поточної ревізії плати й можуть змінитися до виробничої партії. Питання? hello@nestua.net.