DOCS/Poradnik MCS
|

Rozdział 1: Architektura Sprzętowa MCS

Część 1: Przyjazna Encyklopedia (Dla Każdego)

Tryb MCS eliminuje potrzebę zabierania na tor komputera PC. Serce stacji sterującej znajduje się w przenośnym stanowisku operatora, a z pojazdem komunikuje się przez wybrane łącze.

🚗 1. Główne Komponenty

  1. Komputer stacji (Raspberry Pi 5): Odczytuje kierownicę lub pad USB, udostępnia stronę konfiguracyjną Wi-Fi i uruchamia konwersję sygnałów.
  2. Koprocesor sterujący (RP2350 / opcjonalnie ESP32): Opcjonalny bridge czasu rzeczywistego do wyjść PPM, iBUS, SBUS lub CRSF zależnie od firmware. Czas reakcji i jitter należy zmierzyć na docelowym zestawie.
  3. Moduł Nadawczy Dalekiego Zasięgu (Tier 3 CRSF Direct): Zewnętrzny nadajnik ExpressLRS (np. RadioMaster Nomad USB) wpinany bezpośrednio do gniazda USB Raspberry Pi 5. W tej konfiguracji sygnał CRSF transmitowany jest bezpośrednio przez wbudowany mostek USB UART, eliminując konieczność stosowania koprocesora!
  4. Zasilanie (BEC): Raspberry Pi 5 oraz koprocesor potrzebują stabilnego zasilania 5V o wydajności prądowej minimum 5A (zalecany dedykowany moduł UBEC zasilany z głównego pakietu napędowego LiPo).

🔌 2. Połączenie Urządzeń

  • Podłącz swoją kierownicę USB (np. Thrustmaster T128X) lub kontroler bezpośrednio do jednego z niebieskich portów USB 3.0 w Raspberry Pi 5.
  • Konfiguracja Trenera (Tier 1/2): Wyjście sygnałowe (wtyk Jack 3.5mm) z koprocesora RP2350 (lub złącze JR AUX) połącz bezpośrednio z portem DSC (Trenera) w aparaturze RC.
  • Konfiguracja Cyfrowa ELRS (Tier 3): Podłącz moduł RadioMaster Nomad bezpośrednio do portu USB w Raspberry Pi 5 kablem USB-C.

Część 2: Inżynieryjny Deep Dive (Dla Specjalistów)

Integracja sprzętowa MCS opiera się na dwóch elastycznych ścieżkach wykonawczych: wydzieleniu generowania sygnałów impulsowych do dedykowanego koprocesora RP2350 (z maszynami stanów PIO) LUB bezpośredniej cyfrowej transmisji pakietowej CRSF do zewnętrznych modułów nadawczych USB (RadioMaster Nomad).

graph TD
    Wheel[Kierownica USB / Pad] -->|evdev / raw input| RPi5[Raspberry Pi 5]
    RPi5 -->|FastAPI WebUI / REST| Mobile[Smartfon / Tablet]
    RPi5 -->|UART Primary GPIO 14/15 115200 bps| RP2350[Koprocesor RP2350]
    RP2350 -->|PIO Generator: PPM / SBUS / CRSF| Trainer[Port DSC Aparatury RC]
    RPi5 -->|Direct USB Serial /dev/ttyUSB0 115200 bps| Nomad[RadioMaster Nomad USB Module]
    Nomad -->|2.4GHz / 868MHz ExpressLRS| Receiver[Odbiornik ER5C / EP1 na Modelu]

1. Mostek Komunikacyjny RPi 5 ↔ RP2350

  • Komunikacja niskopoziomowa odbywa się poprzez dedykowany interfejs szeregowy UART (/dev/ttyAMA0 lub /dev/ttyAMA3) z prędkością 115200 bps (z opcją przesyłania ramek CRSF do 420000 bps).
  • Ramka danych sterujących przesyłana do koprocesora ma strukturę binarną: [0xAA] [Tryb] [CH1_H] [CH1_L] ... [CH8_H] [CH8_L] [XOR Checksum] (łącznie 19 bajtów).
  • RP2350 dekoduje ramkę w przerwaniu i natychmiast aktualizuje wartości kanałów generowanej ramki PPM/SBUS/CRSF.

2. RadioMaster Nomad USB (CP2102) i Sterownik CRSF Direct na Linuxie

W trybie bezpośrednim moduł nadawczy RadioMaster Nomad podłączany jest do portu USB RPi 5:

  • Piny Sprzętowe (Hardware Layout): Wbudowany mostek USB UART (Silicon Labs CP2102) na płytce modułu Nomad jest fizycznie połączony z domyślnym portem UART0 mikrokontrolera ESP32: RX pin: 3 oraz TX pin: 1. Kategorycznie zabrania się zmiany tych pinów w WebUI ExpressLRS (/#hardware), gdyż odcina to komunikację z Raspberry Pi.
  • Baudrate pod Linuxem: W odróżnieniu od środowiska Windows, standardowy sterownik cp210x w jądrze Linuxa przy niestandardowej prędkości 420000 bps gubi bajty i generuje błędy sumy kontrolnej. Oficjalnym standardem komunikacji w MCS jest stabilne 115200 bps.
  • Ciągły Heartbeat i Strumień Ramek: Moduł wymaga ciągłego nadawania z częstotliwością 100 Hz (z ramkami neutralnymi 1500 µs w stanie DISARM) oraz przesyłania pakietu Heartbeat 0x0B co 100 ms, aby zapobiec przejściu toru radiowego w uśpienie (pomarańczowe miganie RF Idle).

3. Połączenie Szeregowe i Zasilanie

  • Połączenie koprocesora z Raspberry Pi wymaga linii sygnałowych UART (TXD0 -> RXD, RXD0 -> TXD) oraz wspólnej linii masy (GND), która jest kluczowa dla eliminacji zakłóceń w komunikacji.
  • Koprocesor jest zasilany napięciem +5V i +3.3V z szyny GPIO Raspberry Pi 5 z lokalnym stabilizatorem LDO (AP2112K-3.3) eliminującym szumy logiczne.