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.
| Pin | Sygnał | Na FC | ArduPilot |
|---|---|---|---|
| 1 | GND | Masa | — |
| 2 | VBAT | Wejście wbudowanego BEC 5 V i pomiar napięcia | Napięcie baterii |
| 3 | M1 | Wyjście 1 (DShot) | SERVO1 |
| 4 | M2 | Wyjście 2 | SERVO2 |
| 5 | M3 | Wyjście 3 | SERVO3 |
| 6 | M4 | Wyjście 4 | SERVO4 |
| 7 | TLM | UART7 RX (tylko odbiór) | SERIAL5 |
| 8 | CUR | Analogowe wejście prądowe | Prą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
- 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. - Podłącz stację naziemną. Mission Planner lub QGroundControl wykryje heartbeat MAVLink na porcie USB.
- 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) | UART | Przeznaczenie | Port ArduPilot | Ustaw |
|---|---|---|---|---|
| USB-C | USB | Stacja naziemna | SERIAL0 | — |
T1 R1 + SDA SCL | UART1 + I2C2 | GPS + zewnętrzny kompas | SERIAL1 | SERIAL1_PROTOCOL = 5 |
T2 R2 | UART2 | Cyfrowy VTX / OSD | SERIAL2 | SERIAL2_PROTOCOL = 42 |
T3 R3 | UART3 | Radio telemetrii | SERIAL3 | SERIAL3_PROTOCOL = 2 |
T4 R4 | UART4 | Wolny (np. komputer pokładowy) | SERIAL4 | wg potrzeb |
| Pin 7 ESC | UART7 RX | Telemetria ESC | SERIAL5 | SERIAL5_PROTOCOL = 16 |
T8 R8 | UART8 | Wolny | SERIAL6 | wg potrzeb |
T6 R6 | UART6 | Odbiornik RC (CRSF/ELRS) | SERIAL7 | SERIAL7_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
- Akcelerometr: kalibracja w sześciu pozycjach, potem poziomowanie.
- Kompas: kalibracja na maszynie z zewnętrznym modułem zamontowanym w docelowym położeniu.
- Radio: kalibracja kanałów i przełącznik trybów lotu.
- Failsafe: failsafe radia, failsafe baterii i (z GPS) geofence.
- 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:
- Przytrzymaj przycisk BOOT i podłącz USB-C.
- Płytka pojawi się jako
DFU in FS Mode(USB ID 0483:DF11). - 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.