Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Moduły do FPV - transmitowanie danych przez kanał audio

02 Sty 2015 19:13 1341 28
  • Poziom 22  
    Witam, buduję pojazd sterowany autonomicznie/zdalnie (do wyboru). Chcę, żeby transmitował na żywo wideo z pokładu, więc kupiłem moduły do transmisji na 2,4Ghz. Ponieważ muszę też wysyłać też komendy do pojazdu, nabyłem od razu 2 zestawy Tx-Rx, jeden do transmisji wideo do mnie, drugi do nadawania ode mnie. I teraz mam problem, dane chciałem wysyłać na kanale audio (dzielnik napięcia na wejściu nadajnika, by z 5V w stanie 1 z µC, uzyskać ok 1V). Pod odbiornik podpiąłem się multimetrem (między masą, a wyjściem) i niestety nic się nie dzieje, nie ma napięcia (ewentualnie jakieś 3-4 mV), niezależnie od tego, czy daję ten 1V na nadajniku, czy nie ..
  • Poziom 34  
    Z podanego opisu można wywnioskować, że usiłujesz przesłać stały poziom. To się nie uda. Sygnał audio nie zawiera składowej stałej.
  • Poziom 22  
    Rozumiem .. A czy dałoby się w ten sposób (kanałem audio) przesyłać jakieś binarne dane ? Jak testowałem wcześniej tanie układy na 433MHz, wystarczyło podać +5V na wejście nadajnika i na odbiorniku także wychodził stan wysoki ..

    Dodano po 1 [minuty]:

    I czy gdybym używał kanału wideo, byłaby jakaś różnica ?
  • Poziom 34  
    Musisz tak zakodować dane aby czas trwania stanu 1 i stanu 0 był jednakowy.
    Przykładem takiego sposobu są różne wersje kodu Manchester.
  • Poziom 22  
    A nie ma jakiegoś hardware'owego sposobu typu komparator ..? Bo cały kod mam już napisany przy użyciu biblioteki VirtualWire (na Arduino) ..
  • Poziom 34  
    Realizacja programowa potrzebnego kodowania jest bardzo prosta. Nieco trudniej jest odkodować sygnał. Wszytko zależy jednak od przepustowości jaką chcesz osiągnąć.
    Powinieneś również zadbać o korekcję błędów lub przynajmniej wprowadzić mechanizmy ich wykrywania.
  • Poziom 22  
    Dzięki za pomoc, znalazłem nawet coś prostszego - biblioteka manchester na Arduino :D Spróbuję jakoś skomunikować ze sobą układy, zobaczymy, co z tego wyniknie ..
  • Poziom 22  
    Tak więc wgrałem bibliotekę, napisałem prosty program, na starych modułach (433MHz) działa bez problemu, na nowych nie ma komunikacji .. Myślę, że coś "skopałem" przy podłączeniu - próbowałem podłączać przez dzielnik do nadajnika i także bez dzielnika .. Efekt ten sam .. Nie mam niestety oscyloskopu by zobaczyć co wychodzi z odbiornika ..
  • Poziom 34  
    Do odbiornika podłącz słuchawkę. Zamiast oscyloskopu użyj karty dźwiękowej w PC. Wszytko przecież musi działać w paśmie akustycznym.
  • Poziom 22  
    Kurczę, nie wpadłem na to :D A nadajnik podłączać przez dzielnik czy nie ..? Bo z tego co czytałem, to sygnał audio to jakieś 2V ..
  • Poziom 34  
    Myślę, że czułość wejścia audio jest rzędu 0.5V.
  • Poziom 22  
    Sprawdzałem teraz z słuchawką - gdy nadajnik nie jest podłączony, słychać tylko szum, gdy jest, słychać powtarzające się z dużą częstotliwością piknięcia .. Tak więc procek cośtam nadaje, i odbiornik to odbiera, tylko drugie arduino nie chce tego odczytać .. To wina napięcia ..? Dać na odbiorniku przetwornik cyfrowy ?
  • Poziom 34  
    1. Sprawdź, czy sygnał jaki chcesz przetransmitować ma odpowiednią częstotliwość.
    2. Wygeneruj przebieg prostokątny o częstotliwości ~1000Hz.
    Zobacz jak przechodzi on przez tor audio. Zmodyfikują odpowiednio dzielnik wyjściowy
    3. Zbuduj układ zamieniający to co wychodzi z odbiornika na sygnał prostokątny o poziomach napięć akceptowalnych przez Arduino.
  • Poziom 22  
    A, i zamiast dwóch tranzystorów na dzielniku wstawiłem potencjometr - zgodnie z oczekiwaniami zmienia się tylko głośność sygnału w słuchawce
  • Poziom 34  
    Jeśli będzie wysyłał same zera lub same jedynki to w słuchawce powinien być słyszalny jednostajny pisk.
  • Poziom 22  
    Wiem, na razie to brzmi raczej jak sinusoida .. Cóż, są to układy do transmitowania dźwięku, nie danych .. Równie dobrze można by tak próbować z krótkofalówkami :)

    Dodano po 41 [minuty]:

    Właściwie, zna może Kolega jakieś moduły do transmisji danych na ok. 500m? Prędkość może być niska, chodzi o wydawanie bardzo prostych komend ..
  • Poziom 11  
    Jak już jesteś przy arduino to masz nrf24l01 + pa na 2 takich spokojnie możesz zrobić link na 1-2 km . Jak latasz na 2,4 to są też wersje na 433MHz lub inne moduły choćby rfm , biblioteki znajdziesz w sieci . Osobiście korzystam w innym projekcie z nrf i sobie chwalę ;)
  • Poziom 22  
    Niedawno przebudowywałem moją konstrukcję, wykorzystałem moduły do transmisji danych 433MHz (ACP220). Umożliwiają one transmisję dwukierunkową. Odnalazłem też w swoich zbiorach kamerę z wyjściem PAL i monitorek, z wejściem w tym samym standardzie. Więc grzech byłoby nie wykorzystać drugiego kierunku transmisji i nie dodać FPV :D Jak wygląda i jak można transmitować taki sygnał analogowy ? Cyfrowy - sprawa prosta, są ramki, bity stopu/startu itd. Ale jak to się ma z analogiem ..?
  • Poziom 22  
    W sumie jedyne rozwiązanie jakie na razie wpadło mi do głowy to :
    kamera -> ADC -> moduł TX -> moduł RX -> DAC -> monitor
  • Poziom 34  
    xdiax napisał:
    W sumie jedyne rozwiązanie jakie na razie wpadło mi do głowy to :
    kamera -> ADC -> moduł TX -> moduł RX -> DAC -> monitor

    Bez kompresji do przesłania obrazu potrzebne jest łącze o przepustowości rzędu 100Mbps. Czyli mniej więcej 1000 razy szybsze niż może zapewnić wskazany moduł. Poza tym ograniczeniem cała koncepcja jest dobra
  • Poziom 22  
    Rozumiem .. Swoją drogą, mam moduły "wypatroszone" z kamery bezprzewodowej - pracują na 2,4GHz i umożliwiają jakieś ~50m zasięgu. Składają się z uC który zapewne przeprowadza właśnie kompresję oraz części odpowiedzialnej za wysyłanie danych anteną. Dałoby się to jakoś wykorzystać ? Np. APC220 służyłyby jako przekaźnik ..
  • Poziom 34  
    To zapewne są moduły do analogowego przesyłania obrazu. Żadna kompresja w nich nie jest przeprowadzana.
  • Poziom 22  
    Niestety moja wiedza na temat sygnału analogowego jest znikoma :(

    Dodano po 6 [minuty]:

    W takim sygnale steruje się obrazem za pomocą częstotliwości, czy napięcia ? A może obu rzeczy ? W internecie nie za bardzo widzę informację na ten temat ..
  • Poziom 34  
    Jasność danego punktu określa napięcie z zakresu 0.3-1V
    Kolor nieco upraszczając zależy od częstotliwości.
  • Poziom 22  
    A jak wyznaczany jest piksel, który aktualnie jest "ustawiany" ?
  • Poziom 22  
    O, tego właśnie szukałem, dziękuję :D
  • Poziom 43  
    xdiax napisał:
    Rozumiem .. Swoją drogą, mam moduły "wypatroszone" z kamery bezprzewodowej - pracują na 2,4GHz i umożliwiają jakieś ~50m zasięgu. Składają się z uC który zapewne przeprowadza właśnie kompresję oraz części odpowiedzialnej za wysyłanie danych anteną. Dałoby się to jakoś wykorzystać ? Np. APC220 służyłyby jako przekaźnik ..
    To jest pytanie w stylu "mam samochód, da się do niego nalać paliwo"
    Może podaj jakieś szczegóły tych modułów.
  • Poziom 22  
    Czyli właściwie można by zapisywać do bufora i wysyłać po jednej klatce .. sęk w tym, że ADC w µC jest raczej zbyt wolne - czas wysyłania informacji o jednym pikselu to tylko 60µs, a zgubiony jeden piksel jest już dość widoczny .. Dałoby się wykorzystać moduły z kamery do przetwarzania danych, natomiast APC220 jako przekaźnik ? Od razu mówię, że nie mam możliwości wpiąć się w nadajniku pomiędzy koder i tor radiowy, wszystko jest w SMD :(

    Dodano po 4 [minuty]:

    Rozumiem, nikt nie jest tu wróżką :) Niestety informacji o nich za bardzo nie mam, pracują na częstotliwości 2,4GHz, są zasilanie z 5V. Jedyne jakie mają wyprowadzenia to Vcc, Gnd, wejście audio i wejście zespolonego sygnału wizji. Odbiornik tak samo.

    Dodano po 2 [godziny] 19 [minuty]:

    Hmm, raczej nie dałoby się przekazywać sygnału tak prostacką metodą jak podłączenie anteny nadajnika do wejścia APC220 i tak samo z odbiornikiem ? Z tego co wiem, tam powinien być sinus o zmiennej szerokości impulsu .. Ale wolę skonsultować to na elektrodzie ..