Konwerter Radio -> eLeReS serial.
Moderatorzy: marbalon, moderatorzy2014, moderatorzy
Konwerter Radio -> eLeReS serial.
Wersja 1.24b oprogramowania do nadajnika eleresa potrafi przyjmować dane kanałów nie tylko jako sygnał PPM, ale też jako dane odbierane portem szeregowym (UART) używając swojego własnego protokołu.
Umożliwia to proste sterowanie modułem nadajnika przy pomocy własnych projektów, bezprzewodowe przesyłanie sygnału z aparatury do nadajnika eleres na maszcie przy pomocy zwykłych modułów BlueTooth albo innych radiomodemów, oraz zmniejszenie opóźnienia toru RC wykorzystując protokół PXX (dostępny w aparaturach 9X, 9XR, Taranis) i opisany tutaj konwerter.
Konwerter ten został oparty na płytce Arduino ProMini (5V, 16MHz) na procesorze Mega328p, lub na dowolnym innym arduino z procesorem 328p pracującym na 16MHz.
Podłączenie konwertera jest banalnie proste.
GND z arduino podłączamy do GND na wyjściu na moduł z aparatury oraz z GND eLeReS'a/BT/modemu ect.
RAW z adruino podłączamy do wyjścia zasilania dla modułu z aparatury (5-15V).
D8 z arduino podłączamy do wyjścia PPM/PXX/DSM2 czy też S.BUS z aparatury.
No i na wyjściu TXO z arduino (inaczej D1) dostajemy dane UART które możemy podłączyć wprost do pinu RX eLeReS'a (lub przez rezystor 1K jeśli mamy eLeReS V1), albo przesłać bezprzewodowo BlueTooth'em czy radiomodemem. Prędkość komunikacji wynosi 58823baud (kompatybilne z 57600 baud w BT czy radiomodemach).
Dodatkowo wejścia D2 i D9 arduino służą do wyboru formatu sygnału który wychodzi z aparatury. I tak:
D2 i D9 nie podłączone do niczego - Protokół PXX
D2 do GND, D9 nie podłączone - Protokół PPM
D9 do GND, D2 nie podłączone - Protokół S.BUS
D2 i D9 do GND (naraz) - Protokół DSM2/DSMX
Ot cała filozofia podłączenia. Zalecam dodać dwa szeregowe rezystory 470ohm - 1k na wejściu i wyjściu sygnału z arduino, czyli na D8 i TXO. Nie są konieczne, ale mogą uratować Arduino/eleresa przy błędach w połączeniach.
Edit:
Zapomniałem o jeszcze jednym feature. Wejścia binarne. Są na wejściach D3-D7 arduino i działają tak samo jak wejścia binarne na eLeReSie. Czyli połączenie któregoś z nich z masą powoduje pojawienie się napięcia na odpowiednim wyjściu RX.
D3 to BIN10, D4 to BIN11 ... D7 = BIN14
Teraz programujemy Arduino przy pomocy Xloader'a następującym plikiem:
Soft Konwertera eLeReS v 1.02
Soft 1.02 ma poprawiony błąd załączania D9 jako wyjście co powodowało duży pobór prądu i grzanie się arduino jeśli został wybrany protokół S.BUS lub DSM2/DSMX.
Nowy soft mający jednocześnie transkoder telemetrii eleresa na format frsky co umożliwia wyświetlanie telemetrii eleresa na wyświetlaczu aparatury 9X 9XR 9XR Pro (soft ER9X lub OpenTx).
Soft Konwertera eLeReS v 2.02
Opis co i jak jest na 6 stronie tego wątku.
Najnowszy soft mający jednocześnie transkoder telemetrii eleresa na format frsky typu D oraz S.PORT
co umożliwia wyświetlanie telemetrii eleresa na wyświetlaczu aparatury 9X 9XR 9XR Pro Taranis Horus .
Soft Konwertera eLeReS v 2.07
A tak wyglądają podłączenia (dzięki pawelsky za rysunek !)
Dokładniejszy opis co i jak jest na 13 i 14 stronie tego wątku.
O prawidłowości pracy konwertera mówi sposób świecenia czy też mrugania diody LED na płytce arduino. I tak:
Dla softu w wersji 1.x:
-Dioda mruga seriami po 3 razy - brak sygnału wejściowego - wyłączone wysyłanie danych
-Dioda świeci cały czas - wszystko OK - wysyłane są dane uartem
-Dioda szybko mruga - S.BUS w trybie failsafe - wyłączone wysyłanie danych
Dla softu w wersji 2.x:
-1 błysk - brak sygnału wejściowego i telemetrii,
-2 błyski - jest sygnał wejściowy,
-3 błyski - jest sygnał wejściowy i odbierana telemetria
-Dwa rzadsze błyski - jest tylko telemetria.
################################################################################################################################
A tutaj są szczegóły protokołu eLeReS serial, jakby ktoś chciał go użyć w swoich programach.
Protokół UART: 58823baud,n,8,1 (może być 57600baud).
Ilość bajtów w ramce zależna od ilości przesyłanych kanałów.
Ramka może być powtarzana co 8-40ms (zalecane 17-32ms)
Znaczenie poszczególnych bajtów ramki:
Bajt1 - 0xF0 - Nagłówek1 , stały
Bajt2 - 0xA3 lub 0xA5 - Nagłówek2. 0xA3 normalny, 0xA5 sygnalizacja żądania trybu micropower lub bind
Bajt3 - N - ilość kanałów w paczce (4-16)
Bajt od 4 do 2*N+4 - dane kolejnych kanałów (młodszy-starszy w us), ilość bajtów zależna od bajtu 3 (N)
Bajt 2*N+5 - stan kanałów binarnych i/lub funkcji specjalnych - opis poniżej
Bajt 2*N+6 - suma kontrolna pakietu
Bajt stanu kanałów binarnych:
-Bit0..Bit4 - stan wejść binarnych BIN10..BIN14 (jeśli bity 5,6,7 są równe 0). "1" załącza dany kanał binarny.
-Wartość 0x3E przy jednoczesnym nagłówku 2 jako 0xA5 - wymuś bindowanie nadajnika - TX wchodzi w tryb BIND.
-Zapalony bit 6 (0x40) przy jednoczesnym nagłówku 2 jako 0xA5 - wymuś przejście w micropower.
Wyjście poprzez wyłączenie zasilania. Ten stan może trwać przez jedną ramkę, albo ciągle, aż do wyłączenia zasilania.
Suma kontrolna jest liczona jako suma modulo 256 poszczególnych transmitowanych bajtów począwszy od bajtu 3 (ilość kanałów)
i skończywszy na bajcie stanu kanałów binarnych, XOR 0x5A. Czyli po zsumowaniu bajtów robimy XOR 0x5A i tą wartość wysyłamy
jako suma kontrolna paczki.
Transmitując dane kanałów używamy zawsze nagłówka 2 normalnego, czyli 0xA3. Tylko jak bajt kanałów binarnych mówi o funkcji specjalnej, to jednocześnie zmieniamy nagłówek 2 na 0xA5.
Stan poszczególnych kanałów to dwa bajty uint16_t. Młodszy najpierw. Zakres od 800-2200 czyli od 800us do 2200us.
################################################################################################################################
Umożliwia to proste sterowanie modułem nadajnika przy pomocy własnych projektów, bezprzewodowe przesyłanie sygnału z aparatury do nadajnika eleres na maszcie przy pomocy zwykłych modułów BlueTooth albo innych radiomodemów, oraz zmniejszenie opóźnienia toru RC wykorzystując protokół PXX (dostępny w aparaturach 9X, 9XR, Taranis) i opisany tutaj konwerter.
Konwerter ten został oparty na płytce Arduino ProMini (5V, 16MHz) na procesorze Mega328p, lub na dowolnym innym arduino z procesorem 328p pracującym na 16MHz.
Podłączenie konwertera jest banalnie proste.
GND z arduino podłączamy do GND na wyjściu na moduł z aparatury oraz z GND eLeReS'a/BT/modemu ect.
RAW z adruino podłączamy do wyjścia zasilania dla modułu z aparatury (5-15V).
D8 z arduino podłączamy do wyjścia PPM/PXX/DSM2 czy też S.BUS z aparatury.
No i na wyjściu TXO z arduino (inaczej D1) dostajemy dane UART które możemy podłączyć wprost do pinu RX eLeReS'a (lub przez rezystor 1K jeśli mamy eLeReS V1), albo przesłać bezprzewodowo BlueTooth'em czy radiomodemem. Prędkość komunikacji wynosi 58823baud (kompatybilne z 57600 baud w BT czy radiomodemach).
Dodatkowo wejścia D2 i D9 arduino służą do wyboru formatu sygnału który wychodzi z aparatury. I tak:
D2 i D9 nie podłączone do niczego - Protokół PXX
D2 do GND, D9 nie podłączone - Protokół PPM
D9 do GND, D2 nie podłączone - Protokół S.BUS
D2 i D9 do GND (naraz) - Protokół DSM2/DSMX
Ot cała filozofia podłączenia. Zalecam dodać dwa szeregowe rezystory 470ohm - 1k na wejściu i wyjściu sygnału z arduino, czyli na D8 i TXO. Nie są konieczne, ale mogą uratować Arduino/eleresa przy błędach w połączeniach.
Edit:
Zapomniałem o jeszcze jednym feature. Wejścia binarne. Są na wejściach D3-D7 arduino i działają tak samo jak wejścia binarne na eLeReSie. Czyli połączenie któregoś z nich z masą powoduje pojawienie się napięcia na odpowiednim wyjściu RX.
D3 to BIN10, D4 to BIN11 ... D7 = BIN14
Teraz programujemy Arduino przy pomocy Xloader'a następującym plikiem:
Soft Konwertera eLeReS v 1.02
Soft 1.02 ma poprawiony błąd załączania D9 jako wyjście co powodowało duży pobór prądu i grzanie się arduino jeśli został wybrany protokół S.BUS lub DSM2/DSMX.
Nowy soft mający jednocześnie transkoder telemetrii eleresa na format frsky co umożliwia wyświetlanie telemetrii eleresa na wyświetlaczu aparatury 9X 9XR 9XR Pro (soft ER9X lub OpenTx).
Soft Konwertera eLeReS v 2.02
Opis co i jak jest na 6 stronie tego wątku.
Najnowszy soft mający jednocześnie transkoder telemetrii eleresa na format frsky typu D oraz S.PORT
co umożliwia wyświetlanie telemetrii eleresa na wyświetlaczu aparatury 9X 9XR 9XR Pro Taranis Horus .
Soft Konwertera eLeReS v 2.07
A tak wyglądają podłączenia (dzięki pawelsky za rysunek !)
Dokładniejszy opis co i jak jest na 13 i 14 stronie tego wątku.
O prawidłowości pracy konwertera mówi sposób świecenia czy też mrugania diody LED na płytce arduino. I tak:
Dla softu w wersji 1.x:
-Dioda mruga seriami po 3 razy - brak sygnału wejściowego - wyłączone wysyłanie danych
-Dioda świeci cały czas - wszystko OK - wysyłane są dane uartem
-Dioda szybko mruga - S.BUS w trybie failsafe - wyłączone wysyłanie danych
Dla softu w wersji 2.x:
-1 błysk - brak sygnału wejściowego i telemetrii,
-2 błyski - jest sygnał wejściowy,
-3 błyski - jest sygnał wejściowy i odbierana telemetria
-Dwa rzadsze błyski - jest tylko telemetria.
################################################################################################################################
A tutaj są szczegóły protokołu eLeReS serial, jakby ktoś chciał go użyć w swoich programach.
Protokół UART: 58823baud,n,8,1 (może być 57600baud).
Ilość bajtów w ramce zależna od ilości przesyłanych kanałów.
Ramka może być powtarzana co 8-40ms (zalecane 17-32ms)
Znaczenie poszczególnych bajtów ramki:
Bajt1 - 0xF0 - Nagłówek1 , stały
Bajt2 - 0xA3 lub 0xA5 - Nagłówek2. 0xA3 normalny, 0xA5 sygnalizacja żądania trybu micropower lub bind
Bajt3 - N - ilość kanałów w paczce (4-16)
Bajt od 4 do 2*N+4 - dane kolejnych kanałów (młodszy-starszy w us), ilość bajtów zależna od bajtu 3 (N)
Bajt 2*N+5 - stan kanałów binarnych i/lub funkcji specjalnych - opis poniżej
Bajt 2*N+6 - suma kontrolna pakietu
Bajt stanu kanałów binarnych:
-Bit0..Bit4 - stan wejść binarnych BIN10..BIN14 (jeśli bity 5,6,7 są równe 0). "1" załącza dany kanał binarny.
-Wartość 0x3E przy jednoczesnym nagłówku 2 jako 0xA5 - wymuś bindowanie nadajnika - TX wchodzi w tryb BIND.
-Zapalony bit 6 (0x40) przy jednoczesnym nagłówku 2 jako 0xA5 - wymuś przejście w micropower.
Wyjście poprzez wyłączenie zasilania. Ten stan może trwać przez jedną ramkę, albo ciągle, aż do wyłączenia zasilania.
Suma kontrolna jest liczona jako suma modulo 256 poszczególnych transmitowanych bajtów począwszy od bajtu 3 (ilość kanałów)
i skończywszy na bajcie stanu kanałów binarnych, XOR 0x5A. Czyli po zsumowaniu bajtów robimy XOR 0x5A i tą wartość wysyłamy
jako suma kontrolna paczki.
Transmitując dane kanałów używamy zawsze nagłówka 2 normalnego, czyli 0xA3. Tylko jak bajt kanałów binarnych mówi o funkcji specjalnej, to jednocześnie zmieniamy nagłówek 2 na 0xA5.
Stan poszczególnych kanałów to dwa bajty uint16_t. Młodszy najpierw. Zakres od 800-2200 czyli od 800us do 2200us.
################################################################################################################################
Pzdr. -----MIŚ-----
Re: Konwerter Radio -> eLeReS serial.
Super, spróbuję zestawić w całość tor transmisyjny wykorzystaniem konwertera Radio -> eLeReS serial w miejsce konwertera S.BUS->PPM
Zbyszek
Re: Konwerter Radio -> eLeReS serial.
No to teraz retransmisja do modułu na maszcie staje się bardzo prosta Pytanie czy używając PXX w radiu idzie 12 kanałów, czy pełne 16 jak dla SBUS ?
Pozdrawiam
Krzysiek
Krzysiek
- automaciek
- Posty: 1035
- Rejestracja: wtorek 16 paź 2012, 08:03
- Lokalizacja: szczecin
- Kontakt:
Konwerter Radio -> eLeReS serial.
Sen o aparaturze bez anteny sie ziścił.
Zapraszam na: http://automaciek.webhop.net oraz na miniblog modelarza: http://automaciek1.esy.es/
Nowy członek rodziny : PENTAX K-S2 https://www.flickr.com/photos/141377769@N08/
Nowy członek rodziny : PENTAX K-S2 https://www.flickr.com/photos/141377769@N08/
Re: Konwerter Radio -> eLeReS serial.
w SBUS kanały 13-16 zamieniane są na cyfrowe - ograniczenie jest w eLeReS-iepilot pisze:No to teraz retransmisja do modułu na maszcie staje się bardzo prosta Pytanie czy używając PXX w radiu idzie 12 kanałów, czy pełne 16 jak dla SBUS ?
Zbyszek
Re: Konwerter Radio -> eLeReS serial.
Miś mam arduino nano v3, siedi tam hex. od Odbiornik/Diversity AV 1.2 + 5.8GHz - Projekt Misia i Piotra, próbuje teraz w to samo arduino wgrać hex od eleres serial i za żadne skarby nie idzie jest cały czas uploading
edit: ok sprawa rozwiązana podłączyłem się zewnętrznym konwerterem pod złącza tx i rx i wgrało hex-a.
Po podłączeniu i uruchomieniu dioda zapala się swiatlem ciągłym na zielono następnie łącze wyjście tx i gnd pod uart do MOD-a i zasilam eleresa dioda czerwona na eleresie mruga tak jak by nie widział ppm zielona sporadycznie pomruguje D2 zwarte z gnd
edit: ok sprawa rozwiązana podłączyłem się zewnętrznym konwerterem pod złącza tx i rx i wgrało hex-a.
Po podłączeniu i uruchomieniu dioda zapala się swiatlem ciągłym na zielono następnie łącze wyjście tx i gnd pod uart do MOD-a i zasilam eleresa dioda czerwona na eleresie mruga tak jak by nie widział ppm zielona sporadycznie pomruguje D2 zwarte z gnd
Optic 6 (expander 12ch), eleres mod, OSD Remzibi, Fox 800, AP eleres V2, sony 600, gopro 4 sliver, pixhawk
Re: Konwerter Radio -> eLeReS serial.
pilot, Er9X posyła 16 w PXX. Ale pamietaj że eleres posle tylko 12 proporcjonalnych, i przerobi kanaył 13-16 na kanały binarne.
arek2081, A do MOD'a wgrałeś soft 1.24b ?
arek2081, A do MOD'a wgrałeś soft 1.24b ?
Pzdr. -----MIŚ-----
- automaciek
- Posty: 1035
- Rejestracja: wtorek 16 paź 2012, 08:03
- Lokalizacja: szczecin
- Kontakt:
Konwerter Radio -> eLeReS serial.
Pytanko, czy jest jakiś moduł BT "master" poza hc-05 do stworzenia połączenia apka-nadajnik.
Zapraszam na: http://automaciek.webhop.net oraz na miniblog modelarza: http://automaciek1.esy.es/
Nowy członek rodziny : PENTAX K-S2 https://www.flickr.com/photos/141377769@N08/
Nowy członek rodziny : PENTAX K-S2 https://www.flickr.com/photos/141377769@N08/
Re: Konwerter Radio -> eLeReS serial.
automaciek, Nie znam. Wszystkie chińczyki z rc-timer czy HK są tylko slave. Tak że może być trudno znaleźć inny.
Pzdr. -----MIŚ-----
Re: Konwerter Radio -> eLeReS serial.
Tak wgrałem.
Miś a może problem jest w tym że mam założony w apce Twój expander?
Miś a może problem jest w tym że mam założony w apce Twój expander?
Optic 6 (expander 12ch), eleres mod, OSD Remzibi, Fox 800, AP eleres V2, sony 600, gopro 4 sliver, pixhawk
Re: Konwerter Radio -> eLeReS serial.
Miś to rozumiem że wkładając konwerter do aparatury (mam 9XR - gdzie znajdę wyjście PXX ?) oraz wkładając moduł Bluetooth ale ten w wersji master (czyli HC-05) mogę wyjść na maszt itp przesyłając Bluetoothem potrzebne dane do eLeReS'a (czyli do nadajnika albo równocześnie do trackera) Zgadza się?
infekcja FPV postępuje w zastraszającym tempie...
Re: Konwerter Radio -> eLeReS serial.
Więc tak po podłączeniu do spekrum dx6 wszystko działa po kablach tx z adruino bezpośrednio do rx MOD-a więc penie jakiś problem z expanderem tylko co?
Idąc dalej, czyli zastosowanie radiomodemów (protokół zmieniony na raw) nie ma już komunikacji, mruga zielona i czerwona (częściej pali się zielona), odbiornik na chwile się łączy i rozłącza ale to pewnie kwestia ustawień radiomodemów, i tak zastosuje blutacze.
Idąc dalej, czyli zastosowanie radiomodemów (protokół zmieniony na raw) nie ma już komunikacji, mruga zielona i czerwona (częściej pali się zielona), odbiornik na chwile się łączy i rozłącza ale to pewnie kwestia ustawień radiomodemów, i tak zastosuje blutacze.
to chyba się w nadajniku zmienia ppm na pxx a wyjście jest to samoRurek pisze:mam 9XR - gdzie znajdę wyjście PXX ?
Optic 6 (expander 12ch), eleres mod, OSD Remzibi, Fox 800, AP eleres V2, sony 600, gopro 4 sliver, pixhawk
Re: Konwerter Radio -> eLeReS serial.
arek2081, Faktycznie jest gdzieś błąd przy współpracy z Expanderem. Wystarczy w ekspanderze zmniejszyć ilość kanałów wyjściowych do 11 i wszystko wraca do normy i zaczyna działać. Pracuję nad znalezieniem problemu.
Pzdr. -----MIŚ-----
Re: Konwerter Radio -> eLeReS serial.
To ja powrócę do moich koncepcji
A więc widzę że nowe możliwości zestawienia zabawek istnieją...
Miś pisałeś niecałe trzy miesiące temu tak:
I teraz z tego co moja bania przyjmuje można zrobić tak:
1) aparatura trzymana w ręku ma w sobie nowy konwerter PPM/PPX/SBUS--> UART oraz moduł Bluetooth (jaki? master czy slave?) i tylko te dwa dinksy są w aparaturze plus ewentualnie srajfon/phablet z programem TrackMyRC
2) w tzw puszce na maszcie (czy też bazie walizce czy jakkolwiek to nie nazwać) byłyby:
-nadajnik eLeReS
-moduł eLeReS trackera
-eLdiSP
-wiadro modułów BT
No i moje pytanie (prośba) jakbyś to czytelnie rozpisał to ja to ładnie narysuję
Ewentualnie wariant drugi dla kolegów którzy wolą mieć eLDisp'a na aparaturze a nie przy trackerze...
Narysuję oba warianty.
Na razie to kojarzę tylko że kabelkiem połączone będą eLeResy w puszce (a może eLDisp też?) a BLuetoothem trzeba zapewnić łączność
a) jednokierunkową aparatura--> puszka
b) dwukierunkową puszka<-->srajfon lub w drugim wariancie puszka<-->eLdisp
Zgadza się?
A więc widzę że nowe możliwości zestawienia zabawek istnieją...
Miś pisałeś niecałe trzy miesiące temu tak:
w wątku--> http://rc-fpv.pl/viewtopic.php?p=374870#p374870miś pisze:Rurek, może niedługo Twoje dylematy zostaną rozwiązane, bo właśnie testuje nową funkcjonalność w nadajniku eLeReSa, czyli odbieranie danych o kanałach RC (czyli pozycji drążków) poprzez UART, a nie tylko poprzez PPM.
Więc nadajnik eleresa będzie można zamontować na maszcie wraz z trackerem i jednym lub dwoma modułami BT, a przy aparaturze dajemy moduł BT + specjalny konwerter z PPM na serial. No i łączność pomiędzy aparaturą a masztem mamy poprzez BT. Ten sam BT będzie potrafił przesłać telemetrię z TX na maszcie do eLDispa na aparaturze.
A drugi BT na maszcie do TrackMyRC, jak ktoś go chce.
I teraz z tego co moja bania przyjmuje można zrobić tak:
1) aparatura trzymana w ręku ma w sobie nowy konwerter PPM/PPX/SBUS--> UART oraz moduł Bluetooth (jaki? master czy slave?) i tylko te dwa dinksy są w aparaturze plus ewentualnie srajfon/phablet z programem TrackMyRC
2) w tzw puszce na maszcie (czy też bazie walizce czy jakkolwiek to nie nazwać) byłyby:
-nadajnik eLeReS
-moduł eLeReS trackera
-eLdiSP
-wiadro modułów BT
No i moje pytanie (prośba) jakbyś to czytelnie rozpisał to ja to ładnie narysuję
Ewentualnie wariant drugi dla kolegów którzy wolą mieć eLDisp'a na aparaturze a nie przy trackerze...
Narysuję oba warianty.
Na razie to kojarzę tylko że kabelkiem połączone będą eLeResy w puszce (a może eLDisp też?) a BLuetoothem trzeba zapewnić łączność
a) jednokierunkową aparatura--> puszka
b) dwukierunkową puszka<-->srajfon lub w drugim wariancie puszka<-->eLdisp
Zgadza się?
infekcja FPV postępuje w zastraszającym tempie...