logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Esp32 + ArduCam OV2640 Problem z obrazem (video stream)

Mires98 04 Kwi 2022 14:27 3144 8
REKLAMA
  • #1 19963563
    Mires98
    Poziom 6  
    Posty: 14
    Ocena: 1
    Witam,
    Mam problem z obrazem z kamery ArduCam OV2640 (dokładnie ta: https://botland.com.pl/kamery-do-arduino-i-raspberry-pi/6837-modul-kamery-arducam-ov2640-2mpx-1600x1200px-60fps-z-obiektywem-ls-4011-m12x05-5904422349790.html).
    Korzystam z gotowego przykładu w Arduino IDE na ESP32 (https://github.com/espressif/arduino-esp32/tree/master/libraries/ESP32/examples/Camera/CameraWebServer).
    Obraz jest przesyłamy poprzez sieć Wi-Fi, bez żadnych zacięć czy opóźnień. Problemem jest obraz na którym są zakłócenia (czarne, migające plamy i poziome linie).
    Esp32 + ArduCam OV2640 Problem z obrazem (video stream)
    Esp32 z którego korzystam to ESP32-DevKitC-VE (WROVER-E). Jedyne co pomaga trochę zmniejszyć zakłócenia to obniżenie zegara XCLK za czym idzie spadek FPS, lecz do końca nie rozwiązuje problemu.
    Druga sprawa to rozdzielczość kamery. Powinna działać do 1600 x 1200 a jej max to 800×600 przy większej obraz się nie wyświetla. Podłączenie kamery zgodnie z camera_pins.h (CAMERA_MODEL_WROVER_KIT) w przykładowym programie.
    Szukam jakiś sugestii, propozycji rozwiązania problemów. Dopiero zaczynam bawić się z kamerami i za bardzo jeszcze nie ogarniam pewnych kwestii. Z góry dziękuje za odpowiedz.
  • REKLAMA
  • #2 19964156
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #3 19964390
    Mires98
    Poziom 6  
    Posty: 14
    Ocena: 1
    Pomyliłem się z wersją ESP mam ESP32-DEVKITC-VIE z wbudowanym złączem I-PEX, przelutuje rezystor z anteny wbudowanej na I-PEX i sprawdzę choć wątpię że to kwestia zasięgu, ruter mam 1m od płytki ale warto sprawdzić.

    Zmodyfikowałem kod i wywala takie błędy:
    Esp32 + ArduCam OV2640 Problem z obrazem (video stream)
    Po czym jest reboot zawsze powyżej SVGA. Płytka ma 8 MB PSRAM powinna ogarnąć UXGA. ESP32 CAM mająca 4 MB PSRAM na tym samym programie daje radę na nikim FPS.

    PSRAM niby mam włączony w Arduino IDE:
    Esp32 + ArduCam OV2640 Problem z obrazem (video stream)

    Jak go wyłączę i bufor rami korzysta z DRAM to max rozdzielczość to VGA dalej wywala.
    Testowałem też na ESP32-DevKitC-32E V4 (ESP-WROOM-32E) z DRAM i jest to samo.
    Znalazłem podobny projekt https://www.youtube.com/watch?v=qsBIUTUxpEM&ab_channel=anErik
    Rozdzielczość jakoś przeżyje, bo w sumie VGA/SVGA mi wystarczy. Kamera będzie wykorzystywana do robota sterowanego przez Wi-Fi smartfonem. Najbardziej mi zależy na zniwelowaniu zakłóceń obrazu.
  • REKLAMA
  • #4 19964435
    Konto nie istnieje
    Poziom 1  
  • #5 19965023
    Mires98
    Poziom 6  
    Posty: 14
    Ocena: 1
    khoam napisał:
    Przy jakim ustawieniu XCLK?

    Przy 20 Mhz. Testowałem jeszcze 10 i 6 ale ciągle jest to samo.
    khoam napisał:
    Nie chodzi tyle o zasięg, co o zakłócenia w antence pcb.

    Zamontowałem zewnętrzą antenę lecz zakłócenia są takie same, nic nie pomogło.
    Doczytałem na stronie https://github.com/espressif/esp32-camera obsługiwane Soc dla ESP32 to : ESP32, ESP32-S2, ESP32-S3 może to jest przyczyną problemu, brak wsparcia dla ESP32-WROVER-E.
  • REKLAMA
  • #6 19965030
    Konto nie istnieje
    Poziom 1  
  • #7 21467966
    rysin
    Poziom 12  
    Posty: 56
    Ocena: 10
    @khoam W którym pliku należy zmodyfikować, bo mam ten sam problem?
  • #8 21515640
    Mocny Amper
    Poziom 11  
    Posty: 87
    Ocena: 19
    khoam napisał:

    Dla trybu FRAMESIZE_UXGA nie powinno być więcej niż 10 MHz.


    Dlaczemu? W swoim projekcie używam 1600x1200 z zegarem 20MHz, śmiga bez problemu, o ile 5 FPS można nazwać śmiganiem. Kamerka jest na 15 cm taśmie. Ale nie robię streamingu wideo, tylko zapis na kartę. No i moja płytka to LilyGO TTGO Camera Plus, ponieważ ESP-CAM nadaje się do wszystkiego, ale nie do kamery.

    Rozdziałka tylko 800x600 wskazuje problemy z brakiem pamięci. Czy twój projekt nie próbuje robić np. dekompresji ramki obrazu? Bo 1600x1200 RGB888 nijak nie wciśniesz w pamięć, i niech 8MB cię nie zmyli, bo tylko 4MB naraz możesz mieć.
  • #9 21515734
    Konto nie istnieje
    Poziom 1  

Podsumowanie tematu

LABEL_AI_GENERATED
Problem dotyczy zakłóceń obrazu (czarne migające plamy, poziome linie) podczas strumieniowania wideo z kamery ArduCam OV2640 podłączonej do ESP32-DevKitC-VE (WROVER-E) przez Wi-Fi. Użytkownik korzysta z przykładowego kodu CameraWebServer z Arduino IDE. Obniżenie zegara XCLK zmniejsza zakłócenia, ale ich nie eliminuje. Maksymalna rozdzielczość kamery w praktyce to 800×600, wyższe ustawienia (np. 1600×1200) nie działają lub powodują błędy i rebooty. Podejrzewa się problemy z wykryciem pamięci PSRAM, która jest wymagana do obsługi wyższych rozdzielczości (UXGA). Włączenie PSRAM w Arduino IDE nie rozwiązuje problemu. Próby zmiany anteny i obniżenia zegara XCLK (20 MHz, 10 MHz, 6 MHz) nie przynoszą poprawy. Dyskusja wskazuje, że ESP32-WROVER-E powinien obsługiwać kamerę, ale jakość połączeń i samego modułu może mieć wpływ. Zalecane jest ustawienie mniejszej liczby buforów (fb_count=1) oraz sprawdzenie poprawności konfiguracji i połączeń. Inny użytkownik potwierdza, że 1600×1200 działa na LilyGO TTGO Camera Plus, ale przy zapisie na kartę, nie przy streamingu, oraz że ograniczenia pamięci mogą uniemożliwiać wyższe rozdzielczości w trybie RGB888.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA