Orientacyjny Budżet: ~151 - 400 PLN

Tier 2: Wi-Fi Control (ESP32 Racer & PCA9685 Hub)

Niezależne sterowanie bezprzewodowe przez Wi-Fi z podglądem FPV MJPEG i sterownikiem PWM serw.

📋 Zarys Techniczny i Opis Działania

Tier 2 wprowadza komputer pokładowy ESP32 (ESP32-CAM, ESP32-WROVER-DEV lub LilyGO T-SIMCAM S3). Układ łączy się z siecią Wi-Fi i generuje sygnały PWM dla skrętu oraz gazu przy użyciu sterownika PCA9685 (adres I2C 0x40), przesyłając jednocześnie płynny wideo-stream FPV MJPEG do stacji GCS bez stosowania zewnętrznych rezystorów na szynie I2C.

⚙️ Kluczowe Elementy Architektury

  • Bezpośrednie Połączenie I2C (No Resistor): Płytka PCA9685 posiada wbudowane rezystory podciągające I2C. Linie SDA i SCL łączy się bezpośrednio z pinami ESP32.
  • I2C Pin Remapping: W płytkach ESP32-WROVER-DEV zastosowano dedykowaną reamapację I2C na GPIO 13 (SDA) i GPIO 14 (SCL) ze względu na konflikt szyny kamery OV2640.
  • Auto-kalibracja Kwarcu: Połączenie wyjścia PWM 15 z pinem GPIO 12 wymusza sprzętowy autotest częstotliwości kwarcu PCA9685 przy uruchomieniu.
  • FreeRTOS Core Isolation: Strumieniowanie wideo MJPEG oddelegowano do osobnego zadania FreeRTOS na Rdzeniu 0 z podwójnym buforowaniem PSRAM (fb_count = 2).

🛠️ Tabela Części i Listy Zakupów (BOM)

KomponentRola w ArchitekturzeSzacowany Koszt
ESP32-CAM / WROVER / T-SIMCAM S3Mikro kontroler pokładowy z modułem kamery~35 - 75 PLN
Sterownik PWM PCA9685 (16-ch)Generator sygnałów PWM 50Hz dla serw i ESC (I2C 0x40)~20 - 30 PLN
Przetwornica UBEC 5V/3AStabilne zasilanie logiki i serwomechanizmów~20 PLN

Niski Koszt & Łatwy Montaż

Pozwala przekształcić dowolny prosty model RC w pojazd sterowany z komputera PC.

Bezpośrednie Łącza I2C

Szyna I2C SDA/SCL łączy się bezpośrednio z ESP32 — nie wymaga dokładania rezystorów.

📸 Galeria Schematów i Zdjęć Sprzętowych

Widok podwozia RC Crawlera z kompletem elektroniki (ESP32, PCA9685, ESC, UBEC 5V i LiPo)

Widok podwozia RC Crawlera z kompletem elektroniki (ESP32, PCA9685, ESC, UBEC 5V i LiPo)

🔍 Powiększ
Schemat wyprowadzeń ESP32-WROVER-DEV z dedykowanymi pinami I2C (GPIO 13 SDA, GPIO 14 SCL)

Schemat wyprowadzeń ESP32-WROVER-DEV z dedykowanymi pinami I2C (GPIO 13 SDA, GPIO 14 SCL)

🔍 Powiększ
Zbliżenie na bezpośrednie podłączenie przewodów magistrali I2C (SDA/SCL) ze sterownikiem PCA9685

Zbliżenie na bezpośrednie podłączenie przewodów magistrali I2C (SDA/SCL) ze sterownikiem PCA9685

🔍 Powiększ
Zworka autokalibracji kwarcu PCA9685 (wyjście PWM 15 połączone z pinem GPIO 12)

Zworka autokalibracji kwarcu PCA9685 (wyjście PWM 15 połączone z pinem GPIO 12)

🔍 Powiększ
Montaż obiektywu kamery OV2640 na przodzie podwozia dla podglądu FPV

Montaż obiektywu kamery OV2640 na przodzie podwozia dla podglądu FPV

🔍 Powiększ
Podłączenie przetwornicy UBEC 5V/3A zasilającej zacisk V+ serwomechanizmów

Podłączenie przetwornicy UBEC 5V/3A zasilającej zacisk V+ serwomechanizmów

🔍 Powiększ
Wybór definicji płytki (#define BOARD_WROVER_DEV) w kodzie źródłowym

Wybór definicji płytki (#define BOARD_WROVER_DEV) w kodzie źródłowym

🔍 Powiększ
Włączenie obsługi pamięci bufora PSRAM (PSRAM: Enabled) w narzędziach Arduino IDE

Włączenie obsługi pamięci bufora PSRAM (PSRAM: Enabled) w narzędziach Arduino IDE

🔍 Powiększ
Konfiguracja adresu IP i portu połączenia bezprzewodowego w stacji RCSIM GCS

Konfiguracja adresu IP i portu połączenia bezprzewodowego w stacji RCSIM GCS

🔍 Powiększ
Płynny strumień wideo FPV MJPEG z telemetrią odebrany w stacji GCS

Płynny strumień wideo FPV MJPEG z telemetrią odebrany w stacji GCS

🔍 Powiększ

📺 Poradnik Wideo i Demonstacja

Instrukcja Budowy: Tier 2: Wi-Fi Control (ESP32 Racer & PCA9685 Hub)

Instrukcja Budowy: Tier 2: Wi-Fi Control (ESP32 Racer & PCA9685 Hub)

🛠️ Konfiguracja Arduino IDE, Biblioteki & Wgrywanie

1. Adres Menedżera Płytek (Boards Manager URL)

Wklej poniższy oficjalny adres w: Plik -> Preferencje (Ctrl + ,) -> Dodatkowe adresy URL do menedżera płytek:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

📦 Pakiet do zainstalowania: esp32 by Espressif Systems (wersja 2.0.x / 3.x) — Menedżer Płytek (Boards Manager)

2. Wymagane Biblioteki (Menedżer Bibliotek - Ctrl + Shift + I)

Nazwa BibliotekiAutorRola / Zastosowanie
Adafruit PWM Servo Driver LibraryAdafruitSterowanie PCA9685 po I2C dla 16 kanałów serw i ESC
Adafruit BusIOAdafruitWymagana zależność magistrali I2C/SPI dla bibliotek Adafruit
MPU6050_lightrfetickLekki i szybki odczyt żyroskopu i akcelerometru IMU
TinyGPSPlus (dla V3 GPS)Mikal HartParsowanie ramek NMEA z modułu GPS (dla wersji V3)
esp_camera, WiFi, WireEspressif (Built-in)Wbudowane w rdzeń ESP32 — nie wymagają osobnej instalacji

3. Ustawienia Menu Narzędzia (Tools Menu Settings)

Opcja w NarzędziaWartośćUwagi / Dlaczego tak
Board (Płytka)"ESP32 Wrover Module" / "AI Thinker ESP32-CAM"Dla modułów z PSRAM wybierz Wrover Module, dla klasycznych CAM wybierz AI Thinker
Partition Scheme"Huge APP (3MB No OTA/1MB SPIFFS)"KRYTYCZNE: Domyślna partycja nie pomieści kodu ze stosem Wi-Fi, kamerą i serwerem MJPEG
Flash Frequency40MHzZapewnia stabilną i bezbłędną pracę pamięci SPI Flash
Flash ModeDIOStandardowy, bezpieczny tryb odczytu pamięci Flash
Upload Speed115200 (lub 921600)115200 eliminuje błędy CRC/timeout na tanich programatorach UART
Core Debug LevelNoneWyłącza zbędny narzut diagnostyczny na porcie szeregowym
Erase All Flash Before Sketch UploadDisabledStandardowe wgrywanie szkicu

⚠️ Ważne Wskazówki Wgrywania & Zabezpieczenia Sprzętowe

  • Tryb Bootloadera (ESP32-CAM bez konwertera): Przed wgraniem połącz zworką pin GPIO 0 (IO0) do masy GND i wciśnij przycisk RST na płytce.
  • Uruchomienie programu: Po pomyślnym wgraniu szkicu (Done uploading) ZAWSZE odłącz pin GPIO 0 od GND i ponownie wciśnij przycisk RST.
  • Zasilanie Zewnętrzne BEC 5V: ESP32 z włączoną kamerą i Wi-Fi generuje impulsy do 500mA. Podłącz zasilanie z zewnętrznego BEC-a 5V/2A do pinu 5V, unikając słabych linii 3.3V konwertera USB.
  • Wspólna Masa (GND): Wszystkie masy (ESP32 GND, PCA9685 GND, BEC GND, ESC GND) MUSZĄ być fizycznie spięte razem.

🚀 Instrukcja Montażu Krok po Kroku

1

Skonfiguruj Środowisko Arduino IDE

Dodaj adres URL Espressif w Preferencjach, zainstaluj pakiet płytki `esp32` w Menedżerze Płytek oraz wymagane biblioteki (Adafruit PWM Servo Driver, BusIO, MPU6050_light).

2

Ustaw Narzędzia (Huge APP)

Wybierz płytkę ESP32 Wrover Module lub AI Thinker, ustaw schemat partycji Huge APP (3MB No OTA), Flash Frequency 40MHz, Flash Mode DIO oraz Upload Speed 115200.

3

Ustaw Dane Wi-Fi i Wgraj Firmware

W pliku `.ino` podaj SSID i hasło sieci Wi-Fi. Zewrzyj GPIO 0 do GND, wciśnij RST, wgraj szkic, a po zakończeniu odłącz GPIO 0 i ponownie zresetuj płytkę.

4

Podłącz Magistralę I2C i Kalibrację

Połącz ESP32 bezpośrednio z PCA9685 (SDA -> GPIO 13, SCL -> GPIO 14 na WROVER) oraz zworkę autokalibracji (PWM 15 -> GPIO 12). Podłącz wspólne GND i zasilanie UBEC 5V.

5

Uruchom Strumień w GCS

Odczytaj adres IP z Monitora Szeregowego (115200) i wpisz go w zakładce Konfiguracja GCS, aby odebrać wideo FPV MJPEG i sterować pojazdem.