Przewodnik konfiguracji · ArduPilot

Konfiguracja Nestua H743: okablowanie i parametry ArduPilot.

Wszystko od rozpakowania do pierwszego zawisu: podłączenie H743 do standardowego 8-pinowego ESC 4w1, przypisanie siedmiu UART, konfiguracja GPS, odbiornika, cyfrowego OSD i DroneCAN oraz włączenie wbudowanego rejestratora 256 MB.

Nestua H743 jest dostarczany z wgranym ArduPilot (ArduCopter) i współpracuje z Mission Planner, QGroundControl i MAVProxy. Konfiguracja przebiega jak zwykła konfiguracja ArduPilot. Ta strona opisuje elementy specyficzne dla tej płytki: co znajduje się na każdym polu, jaki numer SERIALn ma każdy UART i kilka parametrów, przy których łatwo o błąd.

  • Bateria podłączana jest do ESC. FC pobiera napięcie baterii przez 8-pinowy przewód ESC i sam wytwarza 5 V i 3,3 V.
  • USB zasila tylko domenę 3,3 V. GPS, odbiornik i VTX na polach 5 V wymagają podłączonej baterii.
  • Logi trafiają do wbudowanej pamięci NAND: należy zachować LOG_BACKEND_TYPE = 4.
  • Brak kompasu na płytce. Należy użyć zewnętrznego GPS/kompasu przez I2C lub DroneCAN.
  • Nie da się go trwale uszkodzić: przytrzymanie BOOT podczas podłączania USB uruchamia bootloader ROM.

Zanim zaczniesz

Potrzebne są: ESC 4w1 ze standardowym 8-pinowym złączem JST-SH 1,0 mm, przewód USB-C, stacja naziemna (Mission Planner na Windows lub QGroundControl na Windows, macOS i Linux), a do trybów GPS — zewnętrzny moduł GPS/kompas. Przy wszystkich czynnościach z tej strony, aż do testu silników, śmigła muszą być zdjęte.

Płytkę należy zamontować strzałką na nadruku skierowaną do przodu. Przy takiej orientacji AHRS_ORIENTATION pozostaje na wartości domyślnej 0. Rozstaw otworów montażowych to 30,5 × 30,5 mm, otwory Ø4 mm, więc należy użyć gumowych tulejek antywibracyjnych M3.

Podłączenie ESC 4w1

Przewód ESC przenosi napięcie baterii, cztery sygnały silników, telemetrię ESC i sygnał pomiaru prądu. Nie ma pinu 5 V, ponieważ FC nie potrzebuje 5 V z ESC.

PinSygnałNa FCArduPilot
1GNDMasa—
2VBATWejście wbudowanego BEC 5 V i pomiar napięciaNapięcie baterii
3M1Wyjście 1 (DShot)SERVO1
4M2Wyjście 2SERVO2
5M3Wyjście 3SERVO3
6M4Wyjście 4SERVO4
7TLMUART7 RX (tylko odbiór)SERIAL5
8CURAnalogowe wejście prądowePrąd baterii

Przed podłączeniem sprawdź kolejność pinów. Ta kolejność jest powszechna w ESC 4w1, ale u kilku producentów jest inna. Jeśli pin VBAT ESC trafi na pin sygnałowy, płytka zostanie uszkodzona. Należy porównać nadruk lub instrukcję ESC z powyższą tabelą i w razie potrzeby przepiąć przewód.

Zakres wejściowy to 2–6S (7–25,2 V). Wejście ma zabezpieczenie przed odwrotną polaryzacją i diodę TVS 600 W, a BEC 5 V ma obciążalność 2 A. Przewody faz silników i przewód baterii lutuje się do ESC. Do FC docierają tylko sygnały niskoprądowe.

Pierwsze uruchomienie

  1. Tylko USB. Podłącz USB-C. Zaświeci się zielona dioda (3,3 V), a pomarańczowa (5 V) pozostanie zgaszona. Tak ma być: USB zasila tylko procesor, czujniki i pamięć logów. Płytka zgłasza się jako NestuaH743.
  2. Podłącz stację naziemną. Mission Planner lub QGroundControl wykryje heartbeat MAVLink na porcie USB.
  3. Bateria. Bez śmigieł podłącz baterię do ESC. Zaświeci się pomarańczowa dioda 5 V, a GPS, odbiornik i VTX na polach 5 V zostaną zasilone. USB i baterię można podłączyć jednocześnie.

Dwie pozostałe diody to diody stanu ArduPilot (niebieska i czerwona). Jako alarm zgubionego modelu można przylutować aktywny buzzer 5 V do pól BZ+ i BZ−. Tranzystor sterujący i dioda zabezpieczająca są już na płytce.

Pola UART i numery SERIAL

Każdy port peryferyjny to grupa opisanych pól lutowniczych z własnymi polami 5V i G obok. ArduPilot numeruje porty we własnej kolejności, dlatego przy ustawianiu parametrów należy korzystać z prawej kolumny.

Pola (nadruk)UARTPrzeznaczeniePort ArduPilotUstaw
USB-CUSBStacja naziemnaSERIAL0—
T1 R1 + SDA SCLUART1 + I2C2GPS + zewnętrzny kompasSERIAL1SERIAL1_PROTOCOL = 5
T2 R2UART2Cyfrowy VTX / OSDSERIAL2SERIAL2_PROTOCOL = 42
T3 R3UART3Radio telemetriiSERIAL3SERIAL3_PROTOCOL = 2
T4 R4UART4Wolny (np. komputer pokładowy)SERIAL4wg potrzeb
Pin 7 ESCUART7 RXTelemetria ESCSERIAL5SERIAL5_PROTOCOL = 16
T8 R8UART8WolnySERIAL6wg potrzeb
T6 R6UART6Odbiornik RC (CRSF/ELRS)SERIAL7SERIAL7_PROTOCOL = 23

Pamiętaj o skrzyżowaniu linii danych: TX urządzenia idzie do pola R na FC, a RX urządzenia do pola T na FC. Po każdej zmianie SERIALn_PROTOCOL należy zrestartować płytkę.

Odbiornik RC

Odbiorniki CRSF lub ELRS należy podłączyć do T6 R6 i ustawić SERIAL7_PROTOCOL = 23 (RCIN). ArduPilot automatycznie wykrywa protokół. Ponieważ odbiornik jest zasilany z 5 V, do bindowania należy podłączyć baterię i sprawdzić kanały na stronie kalibracji radia.

GPS i kompas

Moduł GPS/kompas podłącza się do grupy pól GPS: dane GPS do T1 R1, a kompas modułu do sąsiednich pól SDA/SCL (zewnętrzna magistrala I2C z rezystorami podciągającymi 4,7 k na płytce). Należy ustawić SERIAL1_PROTOCOL = 5. ArduPilot sam wykrywa prędkość transmisji GPS i zewnętrzny kompas.

Płytka celowo nie ma kompasu. Kompas zamontowany na kontrolerze lotu znajduje się kilka centymetrów od prądu baterii i silników i odczytuje go jako pole magnetyczne. GPS/kompas należy zamontować na maszcie lub tak daleko od okablowania zasilającego, jak pozwala rama, a następnie przeprowadzić kalibrację kompasu.

Peryferia DroneCAN

Port CAN znajduje się na polach CH/CL, z polami 5V i G obok. Ma transceiver NXP TJA1057, ochronę ESD i stały terminator 120 Ω, ponieważ kontroler lotu zawsze stanowi jeden koniec magistrali. Drugi koniec magistrali również trzeba zakończyć terminatorem, a węzły pośrednie pozostawić bez terminacji.

CAN_P1_DRIVER   = 1    # enable CAN port 1
CAN_D1_PROTOCOL = 1    # DroneCAN
GPS1_TYPE       = 9    # DroneCAN GPS (GPS_TYPE on older firmware)

Kompasy, czujniki prędkości powietrza i dalmierze DroneCAN są wykrywane po włączeniu sterownika. Pojawiają się w Mission Planner w Setup → Optional Hardware → DroneCAN/UAVCAN.

Cyfrowe OSD (DJI, HDZero, Walksnail)

H743 nie ma analogowego układu OSD. Steruje wyświetlaniem OSD cyfrowych systemów wideo przez MSP DisplayPort. UART jednostki nadawczej należy podłączyć do T2 R2, a następnie ustawić:

SERIAL2_PROTOCOL = 42  # DisplayPort
OSD_TYPE         = 5   # MSP DisplayPort

Niektóre jednostki nadawcze wymagają też włączenia MSP lub DisplayPort po swojej stronie. Szczegóły w dokumentacji systemu wideo.

Rama, silniki i telemetria 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 nie wymaga kalibracji ESC. Kolejność quad X w ArduCopter to: silnik 1 prawy przedni, 2 lewy tylny, 3 lewy przedni, 4 prawy tylny. Pozycje M1–M4 w ESC 4w1 zależą od sposobu montażu, dlatego należy uruchomić Motor Test w Mission Planner (bez śmigieł) i zmieniać przypisanie SERVO1_FUNCTION–SERVO4_FUNCTION (33–36 = silniki 1–4), aż każdy silnik będzie się obracał we właściwym miejscu. Kierunek obrotów koryguje się w konfiguratorze ESC lub przez zamianę dwóch przewodów silnika.

Wyjścia 5–8 znajdują się na polach M5–M8 — dla oktokoptera, serw lub drugiego ESC. Wyjścia 1–4 i 5–8 to osobne grupy timerów, więc każda czwórka może pracować z innym protokołem lub częstotliwością.

Napięcie i prąd baterii

Monitorowanie napięcia działa od razu: BATT_MONITOR = 4 (analogowe napięcie i prąd) z dzielnikiem napięcia dobranym dla 6S (BATT_VOLT_MULT ok. 11,0). Odczyt należy porównać z multimetrem i w razie potrzeby skorygować mnożnik.

Prąd pochodzi z czujnika prądu ESC na pinie 8. Skala zależy od ESC, więc BATT_AMP_PERVLT (i w razie potrzeby BATT_AMP_OFFSET) należy ustawić według dokumentacji ESC, a następnie skalibrować, porównując mAh zużyte w locie z ilością doładowaną przez ładowarkę.

Kalibracja i pierwszy lot

  1. Akcelerometr: kalibracja w sześciu pozycjach, potem poziomowanie.
  2. Kompas: kalibracja na maszynie z zewnętrznym modułem zamontowanym w docelowym położeniu.
  3. Radio: kalibracja kanałów i przełącznik trybów lotu.
  4. Failsafe: failsafe radia, failsafe baterii i (z GPS) geofence.
  5. Test silników bez śmigieł, a potem pierwszy zawis w trybie Stabilize lub AltHold na otwartym terenie.

Do strojenia bez zmian sprawdzają się na tej płytce poradniki ArduPilot i ArduPilot Methodic Configurator.

Blackbox: logowanie i pobieranie logów

Logi lotów trafiają do 256 MB pamięci SPI NAND wlutowanej w płytkę. Nie ma karty SD, która mogłaby się poluzować od wibracji. Logowanie działa od razu. Jedno ustawienie, o którym trzeba wiedzieć:

LOG_BACKEND_TYPE = 4   # block logger on the onboard NAND (default)
LOG_DISARMED     = 0   # set to 1 only for bench debugging

LOG_BACKEND_TYPE to maska bitowa: 1 = system plików, 2 = MAVLink, 4 = blokowy. Ta płytka nie ma systemu plików, więc ustawienie 1 wyłącza logowanie bez żadnego komunikatu o błędzie. Jeśli logi znikają, w pierwszej kolejności należy sprawdzić ten parametr.

Aby pobrać logi, należy podłączyć USB i użyć DataFlash Logs → Download DataFlash Log Via Mavlink w Mission Planner lub ekranu pobierania logów w QGroundControl. Na naszym stanowisku log 1,17 MB pobrał się przez USB z prędkością ok. 730 KB/s bez brakujących bajtów. Logi otwiera się w Mission Planner, UAV Log Viewer lub dowolnym narzędziu do logów ArduPilot.

Aktualizacje firmware i odzyskiwanie

Płytki są wysyłane z wgranym oprogramowaniem i przetestowane. Aktualizacje firmware dostarczamy jako plik .apj, który wgrywa się przez USB-C za pomocą Load custom firmware w Mission Planner lub opcji custom firmware w QGroundControl. Parametry zostają zachowane.

Jeśli aktualizacja zostanie przerwana, płytki nie da się trwale uszkodzić. STM32H743 ma bootloader w pamięci ROM:

  1. Przytrzymaj przycisk BOOT i podłącz USB-C.
  2. Płytka pojawi się jako DFU in FS Mode (USB ID 0483:DF11).
  3. Wgraj pełny obraz (bootloader + firmware) za pomocą STM32CubeProgrammer lub poleceniem dfu-util -a 0 -s 0x08000000:leave -D firmware_with_bl.bin.

dfu-util może wyświetlić błąd po komunikacie "File downloaded successfully". To nieszkodliwa osobliwość: płytka już zrestartowała się z nowym firmware.

Opisy pól, wartości domyślne i szczegóły firmware na tej stronie dotyczą bieżącej rewizji płytki i mogą się zmienić przed partią produkcyjną. Pytania? hello@nestua.net.

Pytania o konfigurację.

Dlaczego GPS i odbiornik nie włączają się przy zasilaniu z USB?
Tak to zaprojektowano: USB zasila tylko domenę 3,3 V, czyli procesor, czujniki i pamięć logów. Pola 5 V są zasilane z wbudowanego BEC, który pracuje z napięcia baterii. Do konfiguracji GPS, odbiornika lub VTX należy podłączyć baterię (bez śmigieł).
Logowanie jest włączone, ale nie ma logów. Dlaczego?
LOG_BACKEND_TYPE to maska bitowa, a nie indeks listy. Nestua H743 zapisuje logi do wbudowanej pamięci NAND przez backend blokowy, czyli wartość 4. Wartość 1 wybiera backend systemu plików, którego ta płytka nie ma, więc nic nie jest logowane i nie pojawia się żaden błąd. Należy ustawić LOG_BACKEND_TYPE = 4.
Czy można latać w trybach GPS bez kompasu?
Płytka celowo nie ma wbudowanego kompasu, ponieważ kompas obok okablowania baterii i silników odczytuje prąd jako pole magnetyczne. Do trybów GPS należy podłączyć zewnętrzny moduł GPS/kompas przez I2C (pola SDA/SCL obok portu GPS) lub przez DroneCAN i zamontować go z dala od okablowania zasilającego.
Co jeśli aktualizacja firmware się nie powiedzie?
STM32H743 ma bootloader w pamięci ROM, którego nie da się skasować. Wystarczy przytrzymać przycisk BOOT podczas podłączania USB — płytka pojawi się jako 'DFU in FS Mode' i można wgrać pełny obraz za pomocą STM32CubeProgrammer lub dfu-util.
Jakiej kolejności pinów ESC używa płytka?
JST-SH 1,0 mm 8-pin, piny od 1 do 8: GND, VBAT, M1, M2, M3, M4, TLM, CUR. Nie ma pinu 5 V. Ta kolejność odpowiada wielu ESC 4w1, ale nie wszystkim, dlatego przed podłączeniem należy porównać ją z posiadanym ESC.

Zarezerwuj Nestua H743.

199 € netto. Rezerwacja bez płatności. Termin wysyłki pierwszej partii podamy e-mailem.

Zarezerwuj egzemplarz