Spisu treści:

Tania kamera 3D Fpv dla Androida: 7 kroków (ze zdjęciami)
Tania kamera 3D Fpv dla Androida: 7 kroków (ze zdjęciami)

Wideo: Tania kamera 3D Fpv dla Androida: 7 kroków (ze zdjęciami)

Wideo: Tania kamera 3D Fpv dla Androida: 7 kroków (ze zdjęciami)
Wideo: TEST DRONA z ALLEGRO za 269 PLN | dron e90 pro 2024, Lipiec
Anonim
Tania kamera 3D Fpv na Androida
Tania kamera 3D Fpv na Androida
Tania kamera 3D Fpv na Androida
Tania kamera 3D Fpv na Androida

FPV to całkiem fajna rzecz. A w 3d byłoby jeszcze lepiej. Trzeci wymiar nie ma większego sensu przy dużych odległościach, ale dla wewnętrznego mikrokwadrakoptera jest idealny.

Więc spojrzałem na rynek. Ale kamery, które znalazłem, były zbyt ciężkie dla mikrokwadrokoptera i potrzebujesz do tego drogich gogli. Inną możliwością byłoby użycie dwóch kamer i dwóch nadajników. Ale znowu masz problem z drogimi goglami.

Więc postanowiłem zrobić własne. Wszystkie kamery na rynku wykorzystują układy FPGA do tworzenia obrazu 3D. Ale chciałem, żeby było to tanie i łatwe. Nie byłem pewien, czy to zadziała, ale próbowałem użyć dwóch układów scalonych Sync Separator, mikrokontrolera do zarządzania synchronizacją i analogowego układu scalonego do przełączania między kamerami. Największym problemem jest zsynchronizowanie kamer, ale można to zrobić za pomocą kontrolera. Wynik jest całkiem niezły.

Kolejnym problemem były gogle 3d. Zwykle potrzebujesz specjalnych gogli 3D, które są dość drogie. Próbowałem kilku rzeczy, ale nie udało mi się tego rozwiązać tylko elektroniką. Postanowiłem więc użyć video grabbera USB i Raspberry Pi z google kartonem. Działało to całkiem nieźle. Ale nie było zbyt miło włożyć ekran do kartonu i mieć pod ręką całą elektronikę. Więc zacząłem pisać aplikację na Androida. W końcu miałem kompletny system 3d FPV dla Androida za mniej niż 70 Euro.

Występuje opóźnienie około 100ms. To z powodu grabbera wideo. Jest wystarczająco mały, aby z nim latać.

Aby zrobić kamerę, potrzebujesz całkiem dobrych umiejętności lutowania, ponieważ jest to samodzielna płytka drukowana, ale jeśli masz trochę doświadczenia, powinieneś być w stanie to zrobić.

OK, zacznijmy od listy części.

Krok 1: Lista części

Lista części
Lista części

Kamera 3D:

  • PCB: płytkę z częściami można dostać tutaj (około 20 euro)
  • 2 kamery: Powinien działać z prawie każdą parą kamer FPV. Muszą mieć ten sam TVL i tę samą częstotliwość zegara. Dobrym wyborem jest użycie kamerek, dzięki którym można łatwo uzyskać dostęp do Christal. Użyłem pary tych małych kamer z obiektywami 170 stopni, ponieważ chciałem użyć ich w Micro Quad. (około 15 do 20 euro)
  • Nadajnik FPV: używam tego (około 8 Euro)
  • Odbiornik FPV (ja miałem jeden leżący)
  • Ramka drukowana 3D
  • Video grabber Easycap UTV007: Ważne jest, aby mieć chipset UTV007. Możesz wypróbować inne video grabbery UVC, ale nie ma gwarancji, że działa (około 15 Euro)
  • Kabel USB OTG (około 5 Euro)
  • Aplikacja 3d FPV Viewer na Androida: wersja Lite lub pełna wersja
  • jakiś karton Google. Po prostu wygoogluj to (około 3 euro)

Dodatkowe potrzeby:

  • Lutownica
  • Doświadczenie lutowania
  • szkło powiększające
  • Programista AVR
  • PC z avrdude lub innym oprogramowaniem do programowania AVR
  • Smartfon z systemem Android z obsługą USB OTG
  • Drukarka 3d do uchwytu aparatu

Krok 2: Złóż PCB

Złóż płytkę drukowaną
Złóż płytkę drukowaną
Złóż płytkę drukowaną
Złóż płytkę drukowaną

"ładowanie="leniwe"

Image
Image
Wnioski, dodatkowe informacje i kilka wskazówek
Wnioski, dodatkowe informacje i kilka wskazówek

Wniosek: aparat działa całkiem nieźle. Nawet jeśli nie jest idealny, jest użyteczny. Jest opóźnienie około 100ms, ale do normalnego latania i testowania 3d fpv jest ok.

Informacje i porady:

- Jeśli nie masz smartfona z Androidem, który obsługuje easycap UTV007 lub UVC, możesz go łatwo kupić na e-bay. Kupiłem starą Motorolę Moto G2 2014 za 30 Euro.

- Aparat nie synchronizuje się za każdym razem. Jeśli nie masz zdjęcia lub zdjęcie jest nieprawidłowe, spróbuj kilka razy ponownie uruchomić aparat. Dla mnie to zawsze działało po kilku próbach. Może ktoś może ulepszyć kod źródłowy dla lepszej synchronizacji.

- Jeśli nie zsynchronizowałeś zegara kamer, jedno zdjęcie będzie powoli zwiększało się lub zmniejszało. Mniej niepokojące jest obrócenie kamer o 90 stopni, że obraz leci w lewo lub w prawo. Możesz dostosować rotację w aplikacji.

- Czasami lewa i prawa strona zmieniają się losowo. Jeśli tak się stanie, uruchom ponownie aparat. Jeśli problem nadal występuje, spróbuj ustawić parametr DIFF_LONG w 3dcam.h wyżej, przekompiluj kod i ponownie sflashuj plik szesnastkowy.

- Możesz ustawić standard na PAL, ustawiając PB0 i PB1 na +5V

- Możesz ustawić standard na NTSC, ustawiając tylko PB0 na +5V

- Gdy PB0 i PB1 nie są podłączone, tryb automatycznego wykrywania jest aktywny z dużą różnicą (standard)

- Gdy tylko PB1 jest podłączony do +5V, tryb automatycznego wykrywania jest aktywny z niewielką różnicą. Spróbuj tego, jeśli widzisz część pierwszego zdjęcia na dole drugiego zdjęcia. Ryzyko losowej zmiany zdjęć jest wyższe.

- Używam trybu standardowego z kamerami PAL zsynchronizowanymi z zegarem, ale ustawiłem aplikację na NTSC. Dzięki tej regulacji mam wynik NTSC i nie ma ryzyka przypadkowej zmiany zdjęć.

- Miałem bardzo złe zniekształcenia kolorów w przypadku kamer PAL niezsynchronizowanych z zegarem. W przypadku kamer NTSC tak się nie stało. Ale i tak synchronizacja zegarów jest lepsza dla obu standardów.

Szczegóły dotyczące kodu:

Kod jest udokumentowany w pliku 3dcam.h. Można tam dokonać wszystkich ważnych ustawień. Kilka komentarzy na temat definicji:

MIN_COUNT: po tej liczbie linii strona jest przełączana na drugą kamerę. Zostaw to tak, jak jest. MAX_COUNT_PAL: Ta opcja jest używana tylko w trybie PAL. Po tej liczbie wierszy obraz jest przełączany z powrotem do pierwszego aparatu. Możesz pobawić się tym parametrem, jeśli używasz trybu PAL. MAX_COUNT_NTSC: To samo dla NTSCDIFF_LONG/DIFF_SHORT: Te parametry są używane w trybie automatycznego wykrywania. Ta liczba jest odejmowana od czasu automatycznego wykrycia przełączenia. Możesz bawić się tymi parametrami. MAX_OUTOFSYNC: Miało to na celu sprawdzenie synchronizacji kamer, ale nigdy nie działało dobrze. Po prostu zostaw to tak, jak jest lub spróbuj wdrożyć je samodzielnie.

Jeśli używasz mojej płytki drukowanej, pozostaw resztę definicji bez zmian. Plik makefile znajduje się w folderze Debug.

Otóż to. Wkrótce dodam film z lotu i instrukcję dla quadkoptera. Na razie jest tylko film testowy kamery.

Aktualizacja 5. Sierpień 2018: Zrobiłem nowy program AVR dla kamer z synchronizacją zegara. Nie wiem, czy to działa, gdy nie synchronizujesz zegarów. Jeśli masz zsynchronizowane kamery, powinieneś go użyć.

Może się zdarzyć, że w kamerach PAL występują zniekształcenia kolorów. Zresetuj AVR, aż uzyskasz dobry obraz dla obu kamer. W tym celu dodałem przycisk resetowania do mojej płytki drukowanej.

Może się zdarzyć, że masz losowo zmieniające się obrazy z kamer NTSC. Zresetuj odbiornik AVR, aż przestanie się zmieniać losowo. Możesz także pobawić się parametrem DIFF_SHORT w kodzie źródłowym.

W ostatniej wersji jest kilka zmian:

  • PAL/NTSC zostaje automatycznie wykryty. Wybór ręczny zostanie usunięty.
  • Aby ustawić DIFF_SHORT ustaw PB1 na +5V. Powinieneś to zrobić, jeśli widzisz część drugiego obrazu na dole pierwszego obrazu.
  • Kamery zawsze się synchronizują.

Tutaj jest link

Aktualizacja 22. stycznia 2019: Miałem okazję przetestować kamerę z goglami 3D naprzemiennymi w terenie. Działa bez opóźnień. (Testowane z bardzo starymi goglami Virtual IO iGlasses i Headplay 3D)

Zalecana: