oko Opublikowano 12 Sierpnia 2016 Udostępnij Opublikowano 12 Sierpnia 2016 Temat o systemach telemetrii w linkach RC na 433MHz. Najpierw napiszę czego bym chciał, potem dlaczego tego nie ma w istniejących rozwiązaniach, a potem jak to zrobić Krótko: chciałbym aby telemetria przekazywała tylko kilka parametrów, ale najlepiej jak się da w danych warunkach. Istniejące systemy marnują pasmo na niepotrzebne dane. Mam dwie sytuacje: -loty z FPV: wtedy dane wyświetlam na OSD. Od telemetrii chcę tylko pozycji GPS, kursu, ewentualnie wysokości. Kurs "do domu" obliczony będzie na ziemi. -loty bez FPV: wtedy trochę więcej, na przykład prędkość i napięcie/prąd Co więcej, pozycję można jeszcze "odchudzić". Stopień szerokości/długości to ponad 100 km, zasięg naszych dronów jest taki że część całkowita nie jest potrzebna. Albo można ją nadawać np co 5 próbkę. Za to może da radę zrobić sztuczny horyzont? Mam doświadczenia z dwoma systemami: Eleres i OpenLRSng. OpenLRSng transmituje mavlink. Niby w mavlinku można ustawiać częstotliwość emitowania grup danych, ale nie dla pojedynczych wielkości. Nie można też obciąć zakresu dla poszczególnych wartości, i pasmo jest marnowane na przykład na "heartbeat". Parsery źle reagują na dane transmitowane z niestandardową częstotliwością. Połączenie się ciągle rwie nawet przy małych odległościach. W Eleresie mavlink jest tłumaczony do wewnętrznego formatu i "na ziemi" pojawiają się na porcie szeregowym odkodowane, jawnym tekstem. Także nie da się wybrać które dane nas interesują. Są obowiązkowo transmitowane dane takie jak napięcie zasilania Rx-a, i chyba nawet jego temperatura. Informacje o kursie pojawiają się względnie rzadko (odświeżane co sekundę albo rzadziej) nawet przy 100% RSSI. Koncepcja: w dronie "odchudzanie" danych, transmisja po linku telemetrii, na ziemi wyświetlane na dwa sposoby: albo w aplikacji na telefonie, albo na ekraniku OpenElDisp. "Odchudzanie" można zrobić już w kontrolerze lotu albo w odbiorniku openLRSng, zmieści się to na procesorze 328. Ale na razie zrobię to jako osobną płytkę Arduino Mini Pro. Wczyta mavlink, wypuści dane przesłane "przeźroczystym" łączem szeregowym. Na telefon będzie zmodyfikowana wersja Tower czyli apki dla ArduPilota. A OpenElDisp to moja otwarta wersja takiego fajnego ekranika LCD/OLED pokazującego dane. Tu oryginał: http://rc-fpv.pl/viewtopic.php?t=7733 Usiłowałem go zmodyfikować, ale tam był mało perspektywiczny procesor 168 i parser mavlinka się nie mieścił. Zrobiłem więc od nowa na Arduino Pro Mini i wyświetlaczu OLED o przekątnej 2.42 cala. Bardzo dobrze na nim widać nawet w jasny dzień, a kosztuje około 20$: http://www.ebay.com/itm/I2C-2-42-OLED-128x64-Graphic-OLED-White-Display-Arduino-PIC-Multi-wii-/191835417966?hash=item2caa482d6e:g:3a0AAOSwQTVWBkTu Dodałem też pamięć EEPROM i dwa przełączniki-przyciski z telewizora ELEMIS Na razie interpretuje formaty Eleres i Mavlink, ale będzie też ten "chudy". W pamięci będzie zapisywać historię lotu, póki co pamięć podłączyłem ale jeszcze tego nie oprogramowałem. Ogólnie ma być to rozwiązanie "hakerskie", konfigurajcja będzie zapewne przez programowanie a nie przez zapisywanie w pamięci. Całość będzie dostępna wraz ze źródłami, mam nadzieję że uda się uzyskać zamierzony efekt. No chyba że są dostępne gotowe rozwiązania, na przykład w droższych systemach typu RangeLink? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi