Radiomodem "za grosze"

czyli cała reszta elektroniki - jak OSD, Autopiloty, itp

Moderatorzy: moderatorzy2014, moderatorzy

Awatar użytkownika
mkrawcz1
Posty: 1772
Rejestracja: piątek 18 lut 2011, 11:38
Lokalizacja: Warszawa-Wilanów

Radiomodem "za grosze"

Post autor: mkrawcz1 »

Przepisuję z sąsiedniego forum ;-)
Nie wiem, czy we właściwym dziale, ale...
Panowie z 3DRobotics wypuścili takie coś:
http://diydrones.com/profiles/blogs/ann ... try-system
jako alternatywę dla XBee.
Pracuje toto w oparciu o moduły radiomodemów firmy Hope:
http://www.hoperf.com/rf_fsk/fsk/HM-TRP.htm
http://www.hoperf.com/upload/rf_app/hm-trp.pdf
oraz zmodyfikowany firmware:
https://github.com/tridge/SiK
Po skonfigurowaniu dwóch modułów mamy dwukierunkowe łącze RS-232 TTL z prędkościami dochodzącymi do 250kbps, z korekcją błędów (ECC), konfiguracją komendami AT/RT oraz konfiguratorem, dodatkowymi funkcjami dla ArduPilot Mega etc.

Życzą sobie za to cudo $85.99 za zestaw "ziemia" plus "powietrze".
Są też dostępne komponenty luzem. Niestety koszt wysyłki z USA jest znaczny...

Jako że "Polak potrafi", postanowiłem wejść w posiadanie taniej.
Jako że kradzież odpada (za daleko ;-) ), zacząłem kombinować.
Moduły HM-TRP na 433 i 868MHz są dostępne tu:
http://www.maritex.com.pl/pl/shop/produ ... pid/18588/ (433)
http://www.maritex.com.pl/pl/shop/produ ... pid/21958/ (868)
w cenie trochę ponad 50 PLN/szt.
Firmware pod linkiem powyżej, ale ma wadę - do kompilacji wymaga maszyny pod Linuxem (niby można pod Win, ale mi się nie udało). Jakby ktoś nie chciał walczyć z samodzielną kompilacją - PW/mail do mnie.
Wystarczy do modułu wgrać bootloader, sam firmware można potem załadować z poziomu konfiguratora.
Następny problem - programator C2. Tridge (twórca firmware) poleca "SiLabs USB debug adapter":
http://www.silabs.com/products/mcu/Pages/USBDebug.aspx
ale cena $35 + wysyłka ( http://www.supplier-direct.com/silabs/C ... %20Adapter ) czyni to przedsięwzięcie średnio opłacalnym...
Poszukałem i znalazłem taką stronkę:
http://silabs.org.ua/sp_en.htm
Jest na niej soft do programowania:
http://silabs.org.ua/slabprog.zip
który współpracuje m. in. z programatorem FlashBlaster2:
http://dilogic.hr/Downloads/Documents/FLashBlaster2.pdf
Kupić go - też drogo, ale Chorwaci to taki miły naród, że publikują też schemat:
http://dilogic.hr/Downloads/Documents/flblastsch2.pdf
Programator ten obsługuje zarówno JTAG (nam zbędny), jak i C2 (linie C2DAT, C2CK). Do tego zasilanie (3,3V MAKSYMALNIE) i masa i można jechać :-)
Problemem okazał się soft do programowania - nie czytał plików HEX spod Linuxa (inne znaki końca wiersza) oraz plików ponad 32kB. Krótka korespondencja z twórcą (Roma - bardzo miły człowiek, pozdrawiam :-) ) i udało się to przezwyciężyć - aktualna wersja śmiga, aż miło.
Na module HM-TRP oprócz pinów/pól lutowniczych na krawędzi (opisane na PCB) mamy 4 pola, służące do przyłączenia interfejsu C2. Trzymając PCB stroną elementów do siebie, ze złączem anteny na górze po lewej, od prawej na małych polach lutowniczych mamy:
- masa,
- +Vcc (3,3V),
- C2D
- C2CK

Lutujemy sobie programator (ja 'na pająka'), podlutowujemy HM-TRP, podłączamy zasilanie i...........
...........i zaczynamy szukać komputera z portem LPT. Jak już znajdziemy (a może to być najtrudniejsze z całego tego przedsięwzięcia), odpalamy SlabProg, wybieramy właściwy port LPT i jego prędkość (bez szaleństwa, ale i nie za wolno), kasujemy pamięć (ALLMEM ERASE), ładujemy plik (OPEN, wybieramy właściwy plik dla radia, ja miałem \bootloader.hm_trp\bootloader.hm_trp.433, dla 868MHz będzie odpowiednio \bootloader.hm_trp\bootloader.hm_trp.868), programujemy (ALLMEM PROGRAM) i po zakończonym sukcesem programowaniu resetujemy (DEVICE RESET). Teraz na module powinna się zaświecić czerwona dioda - znak, że moduł ma sprawny bootloader i jest gotowy na przyjęcie firmware.
Firmware można wgrać na dwa sposoby: albo tak samo jak bootloader, albo programem do konfiguracji.
Wariant 1: otwieramy plik \radio.hm_trp\radio.hm_trp.hex i wybieramy CHANGED PROGRAM. Twórca SlabProg tego nie zaleca, bo warunek powodzenia jest taki, że bootloder i firmware nie dzielą żadnego bloku pamięci. Jako że jestem krnąbrny, to spróbowałem i mam SOA#1. Niemniej czujcie się ostrzeżeni ;-)
Wariant 1 poprawiony: można obydwa pliki HEX połączyć w jeden i zaprogramować tak jak bootloader (ALLMEM PROGRAM) - tak zalecał Roma.
Wariant 2: jak już mamy bootloader i czerwony LED świeci, odlutowujemy programator (nie wyrzucać - w końcu potrzebujemy co najmniej dwóch modułów :-)) i podłączamy przejściówkę USB-RS TTL 3,3V (piny GND, DRX i DTX - chyba jasne) oraz wciąż jakieś zasilanie (przypominam - 3,3V). Ja przylutowałem scalony stabilizator LM1085-3.3 i kondensator tantalowy 10uF/10V. W szereg z RX i TX dałem dławiki SMD jak na oryginalnym schemacie z 3DR. Zapinamy toto do PC i lokalizujemy port COM, na którym się wykryło. Potem ściągamy 3DR Radio config tool:
http://vps.oborne.me/3drradioconfig.zip
Wypakowujemy i odpalamy, wybieramy port COM oraz prędkość (57600), a następnie Upload firmware (Local). Konfigurator sam sobie ściąga najnowszy firmware (na dziś jest to 1.5) i wgrywa do modułu. Teraz tylko reset i można przez Load Settings zobaczyć, jak mamy domyślnie skonfigurowany moduł.
Teoretycznie przez ten sam soft możemy też skonfigurować moduł, ale mnie się coś nie chce zapisywać... Zamiast tego używam komend AT ze strony http://code.google.com/p/ardupilot-mega/wiki/3DRadio i one działają.

Wg powyższego konfigurujemy również drugi moduł, ustawiamy w nim ten sam NET ID i w tym momencie mamy parę połączonych modemów - jeżeli obydwa są włączone, to zielony LED świeci ciągle, czerwony miga przy transmisji.
Użytkownicy APM/APM2 i Mission Plannera mogą konfigurować bezpośrednio z APM.

Na dziś tyle, dopiero odpaliłem to cudo, zobaczymy, jak daleko słychać 100mW ;-)

W razie pytań - zapraszam do kontaktu.

I NA KONIEC WAŻNA UWAGA: to, że zadziałało u mnie nie oznacza, że musi zadziałać u Ciebie - wszystko powyższe to wskazówki, wszelkie działania podejmujesz na własne ryzyko i sam musisz ponieść ich ewentualne konsekwencje :-)

PS. Zapomniałem o antenie, ale to było tak oczywiste... Do wyprowadzeń "na górze" HM-TRP podlutowałem kawałek koncentryka (ekran do GND, żyła środkowa do ANT) z zaciśniętym na końcu złączem żeńskim SMA, do którego wkręcam antenę na 433MHz.
Awatar użytkownika
mkrawcz1
Posty: 1772
Rejestracja: piątek 18 lut 2011, 11:38
Lokalizacja: Warszawa-Wilanów

Post autor: mkrawcz1 »

Przydałaby mi się pomoc któregoś z kolegów z Wawy (szczególnie Ursynów) przy testowaniu zasięgu. Niezbędny laptop z Win XP lub nowszym, idealnie, gdyby był samochód (zakładam zasięgi większe niż 200m ;-)) i przejściówka USB - TTL z zasilaniem 5V 500mA (mam jedną, druga na 3,3V nie pozwala osiągnąć mocy maksymalnej). Jakby nie było przejściówki - będziem kombinować z BEC :-)
Chętnego do pomocy proszę o kontakt na PW lub mail.
Awatar użytkownika
Rurek
Posty: 16419
Rejestracja: środa 10 mar 2010, 15:21
Lokalizacja: AIP ENR 5.5 - AAA 153 :-)

Post autor: Rurek »

Na zlocie mamy mieć pole o długości 2000m i laptopów tak z pięćdziesiąt :-)
infekcja FPV postępuje w zastraszającym tempie...
Awatar użytkownika
mkrawcz1
Posty: 1772
Rejestracja: piątek 18 lut 2011, 11:38
Lokalizacja: Warszawa-Wilanów

Post autor: mkrawcz1 »

No ja niestety w weekend czasowy nie jestem :-( Choć mocno się przymierzałem...
Dopiero niedziela po południu będzie luźniej.
Doświadczenie - wiedza, którą zdobyłeś tuż po tym, kiedy była ci najbardziej potrzebna...
Awatar użytkownika
mkrawcz1
Posty: 1772
Rejestracja: piątek 18 lut 2011, 11:38
Lokalizacja: Warszawa-Wilanów

Post autor: mkrawcz1 »

Pierwsze testy (z pomocą Tomka "Cobry" - niniejszym dziękuję):
- jeden z modułów na statywie z anteną Dragonlink,
- drugi z modułów "w łapie" z domowej produkcji dipolem 1/2 fali.
Maksymalny zasięg na ziemi - 435m (jeden z modułów tuż za dość gęstą kępą drzew), RSSI ok. 50%. Prędkość transmisji "air" 64kbps. Prawdopodobnie trzymanie anteny w ręku nie pomaga... Na razie nie było jak sprawdzić przy wolniejszej transmisji.
Co ciekawe, pracujący tuż obok eLeReS nieznacznie wpływa na RSSI.
Być może wkrótce testy w powietrzu.
Doświadczenie - wiedza, którą zdobyłeś tuż po tym, kiedy była ci najbardziej potrzebna...
bartwaw
Posty: 1258
Rejestracja: sobota 05 mar 2011, 20:39
Lokalizacja: Zabrze
Kontakt:

Post autor: bartwaw »

Można wiedzieć jak postępy ?
Strona mojej kochanej córeczki:
http://www.igunia.pl
Jak nie wiesz na co przeznaczyć 1% odpisu z podatku - zajrzyj.
Awatar użytkownika
mkrawcz1
Posty: 1772
Rejestracja: piątek 18 lut 2011, 11:38
Lokalizacja: Warszawa-Wilanów

Post autor: mkrawcz1 »

Niestety z przyczyn zawodowo-rodzinnych nie było na razie czasu na dalsze testy.
Odwlecze się zapewne do wakacji.
Jeżeli któryś z kolegów chce się samodzielnie pobawić i podeśle mi 2 szt. HM-TRP, mogę zflashować i będzie co testować (trzeba będzie uzupełnić paroma elementami, szczegóły na PW).
Doświadczenie - wiedza, którą zdobyłeś tuż po tym, kiedy była ci najbardziej potrzebna...
Awatar użytkownika
mkrawcz1
Posty: 1772
Rejestracja: piątek 18 lut 2011, 11:38
Lokalizacja: Warszawa-Wilanów

Post autor: mkrawcz1 »

Dziś po raz kolejny dzięki pomocy Tomka "Cobry" udało się coś potestować.
1. Na ziemi chińska antenka chińska magnesowa, przyczepiona do samochodu. W powietrzu chińska antenka "rubber duck" - generalnie bez szału...
RSSI w momencie utraty zasięgu - 36%, odległość 540m, wysokość 160m
Obrazek


2. Na ziemi Nagoya trzymana poziomo "w łapce", w powietrzu "domorobny" dipol, przylepiony poziomo do wierzchu latającego skrzydła.
RSSI w momencie utraty zasięgu - 25%, odlgłość 1400m, wysokość ok. 240m
W tym miejscu były też problemy z linkiem video i zasięgiem RC.
Obrazek

Prędkość "air" - 64kbps
Prędkość UART - 57kbps
Video 1,2GHz, LRS 433MHz 1 W.
Modemy na pełnym paśmie, maks ilość jednoczesnych kanałów, 100mW.
Doświadczenie - wiedza, którą zdobyłeś tuż po tym, kiedy była ci najbardziej potrzebna...
Awatar użytkownika
--mi--
Posty: 311
Rejestracja: poniedziałek 01 lut 2010, 16:50
Lokalizacja: Wwwawa

Post autor: --mi-- »

Rozumiem że w tych testach występowała częstotliwość 868Mhz?
---------------------
Pozdrawiam
Michał
Awatar użytkownika
mkrawcz1
Posty: 1772
Rejestracja: piątek 18 lut 2011, 11:38
Lokalizacja: Warszawa-Wilanów

Post autor: mkrawcz1 »

Nie, 433MHz :-) Jakoś sobie z LRS nie wchodzą w drogę, choć Tomek twierdzi, że w czasie lotu kilka razy "szarpnęło" sterami.
Doświadczenie - wiedza, którą zdobyłeś tuż po tym, kiedy była ci najbardziej potrzebna...
Awatar użytkownika
cobra
Posty: 2876
Rejestracja: poniedziałek 01 lut 2010, 22:07
Lokalizacja: Warszawa

Post autor: cobra »

Potwierdzam. Potem latałem jeszcze bez Twojego "ustrojstwa" na pokładzie i feilsejfów nie doświadczyłem. Z wizją w tamtym miejscu problemy nadal były.
________________
Cobra
Awatar użytkownika
elektron
Posty: 1169
Rejestracja: sobota 29 sty 2011, 22:37
Lokalizacja: Dęblin/Warszawa
Kontakt:

Post autor: elektron »

jak tam idą testy ?;)
Awatar użytkownika
mkrawcz1
Posty: 1772
Rejestracja: piątek 18 lut 2011, 11:38
Lokalizacja: Warszawa-Wilanów

Post autor: mkrawcz1 »

U mnie na razie cisza. Został mi tylko 1 moduł, czekam na zamówione 433 i 868.
Doświadczenie - wiedza, którą zdobyłeś tuż po tym, kiedy była ci najbardziej potrzebna...
grzesiek312
Posty: 1
Rejestracja: piątek 16 lis 2012, 14:40
Lokalizacja: Wrocław

Post autor: grzesiek312 »

Można prosić o jakieś szczegóły dzialania modułu po wgraniu nowego firmware ?
Interesuje mnie przede wszystkim baudrate, który na fabrycznym oprogramowaniu dochodził do 57600 (a producent podaje, że moduł ma pracować na max 115200). Dodatkowo interesuje mnie kwestia usypiania modułów, tzn. jaki jest czas usypiania i wybudzania modułu. Jeśli ktoś przeprowadził takie testy na modułach z nowym oprogramowaniem, będę bardzo wdzięczny za podzielenie się wynikami ów testów.
Awatar użytkownika
mkrawcz1
Posty: 1772
Rejestracja: piątek 18 lut 2011, 11:38
Lokalizacja: Warszawa-Wilanów

Post autor: mkrawcz1 »

http://code.google.com/p/ardupilot-mega/wiki/3DRadio
Baud rate "air" do 250k, na UART - do 115k.
Z tego, co wiem, usypianie nie jest obsługiwane.
Doświadczenie - wiedza, którą zdobyłeś tuż po tym, kiedy była ci najbardziej potrzebna...
ODPOWIEDZ