Orion III – App4HAB
Po dwóch udanych lotach z cyklu ORION, w 2018 roku przystąpiono do projektu App4HAB. ORION App4HAB miał na celu zapewnienie łatwego wykonywania lotów na dużych wysokościach dla osób bez umiejętności w dziedzinie elektroniki i telekomunikacji. Głównym zadaniem było m.in. zaprojektowanie aplikacji na smartfonie z systemem operacyjnym Android, która wykorzysta możliwości oferowane przez komputer mobilny.
Szczegóły startu
Wystartowaliśmy w bardzo sprzyjających warunkach pogodowych, z bezwietrzną pogodą i czystym niebem. Użyliśmy do tego celu mniejszego balonu CPR-1000 wypełnionego helem. Do jego napełnienia zużyto 20 litrów helu, który dawał nam około 2,3 kg wyporu. Spadochron, którego użyliśmy, to Klima GmbH 70 cm. Przy większym balonie i takiej samej ilości helu oczekiwaliśmy, że wysokość lotu będzie wyższa niż w poprzednim locie, w którym użyliśmy balonu o masie 800 g i osiągnęliśmy 27544 m. Niestety, osiągnięta wysokość była o około 900 m niższa. Najbardziej prawdopodobną przyczyną była różnica między producentami tych dwóch balonów.
App4HAB – koncept
Głównym celem projektu było opracowanie aplikacji dla systemu Android, która umożliwiałaby użytkownikom łatwe zbieranie, przechowywanie i przetwarzanie danych podczas lotu na dużej wysokości. Miała to być dostępna dla każdego platforma naukowa. Podstawowa funkcjonalność naszej aplikacji obejmowała m.in.:
- zbieranie danych dotyczących warunków atmosferycznych,
- sporządzanie dokumentacji – robienie zdjęć podczas lotu,
- wysyłania aktualnej pozycji balonu do stacji naziemnej.
Systemy z rodziny Android – ze swego założenia – nie są przeznaczone do lotów na dużych wysokościach i musieliśmy rozwiązać kilka interesujących problemów podczas planowania i rozwijania aplikacji. Podczas gdy dwie pierwsze funkcjonalności można opisać jako zwykłe „czynności telefoniczne” i mogą być łatwo zaimplementowane, trzecia jest trudna do osiągnięcia podczas lotu balonem na dużej wysokości z powodu braku zasięgu, np. systemu GSM/LTE.
AW tym celu zdecydowaliśmy się użyć aplikacji open source o nazwie APRSdroid. Służyła do przygotowania pakietów APRS z pozycją balonu i przesłania jej do radia pokładowego przy użyciu AFSK (Audio FSK). To pozwoliło nam podłączyć radio i smartfon za pomocą kabla audio i przesyłać pozycję telefonu za pomocą systemu APRS. Parametry urządzenia były ograniczone do zaledwie kilku, które mogły zapewnić czujniki telefonu. Niestety, nie mogliśmy dzięki niemu monitorować temperatury zewnętrznej, natężenia światła, temperatury powietrza wewnątrz kapsuły itp.
Zdecydowaliśmy się zaprojektować platformę, która będzie rejestrować wszystkie te parametry i przesyłać je do telefonu. W związku z tym umożliwiał on komunikację z urządzeniami zewnętrznymi, zapewniając gromadzenie większej ilości danych. Najprostszym sposobem podłączenia tego rodzaju urządzenia do telefonu było skorzystanie z wirtualnego portu szeregowego – korzystając z gniazda USB w samym telefonie.
Z powodu użycia portu USB do podłączenia do urządzenia zewnętrznego, nie mogliśmy go używać do ładowania telefonu podczas lotu, jego jedynym źródłem zasilania była wewnętrzna bateria. Aby zmniejszyć zużycie energii, zdecydowaliśmy się na włączanie i wyłączanie części funkcjonalności aplikacji w zależności od potrzeb. W tym celu postanowiliśmy użyć serwera, z którym telefon połączy się za pomocą Internetu, gdy zasięg będzie osiągalny. Dzięki temu mogliśmy monitorować zachowanie aplikacji przed startem i odbierać dane zebrane podczas lotu, o ile telefon utrzymywał połączenie internetowe.
Aplikacja App4HAB
Zespół pięciu studentów, składający się z zarówno doświadczonych, jak i początkujących programistów Androida, stworzyło od zera aplikację spełniającą wszystkie powyższe wymagania. Zaprojektowali, wdrożyli i przetestowali aplikację, a wśród technologii użytych w niej były:
- Kotlin – główny język programowania,
- Retrofit – komunikacja HTTP z serwerem kontrolnym,
- Dagger dla iniekcji zależności,
- Anko – zarządzanie zadaniami,
- Baza danych SQL i Room,
- Dostęp do USBserial do komunikacji z systemami gondoli.
Telefonem używanym w projekcie był Samsung Galaxy S8, dostarczony przez naszego partnera, Tieto Poland. Aplikacja aktualnie nie posiada interfejsu użytkownika, ponieważ była sterowana zdalnie przez serwer sterowania, ale planujemy dodać ją przed otwarciem źródła aplikacji. Została opracowana zgodnie z metodologią Scrum i przy użyciu aplikacji do zarządzania projektami Trello. Nad procesem rozwoju zespołu czuwał dr Zbigniew Szpunar, opiekun grupy projektowej, ponieważ aplikacja była również ostatecznym projektem zaliczeniowym. Działała bez zarzutu przez większość lotu. Jedynym problemem, który napotkaliśmy, było wyłączenie aplikacji na pół godziny przed lądowaniem i ponowne włączenie po lądowaniu.
Serwer kontroli App4HAB
Głównym celem serwera sterującego było zapewnienie zdalnego dostępu do aplikacji, co pozwalało włączyć większość funkcji aplikacji tuż przed startem, oszczędzając energię baterii podczas przygotowań do startu. Dodatkowo mogliśmy sprawdzić kondycję systemu i zarejestrowane dane przed i zaraz po starcie, kiedy telefon nadal miał dostęp do Internetu. Jest to proste złącze REST API z interfejsem użytkownika, umożliwiającym wysyłanie poleceń do telefonu i uzyskiwanie jego stanu kondycji. Oczekiwaliśmy, że telefon utrzyma połączenie z serwerem na wysokości około 3000 m, jednak ostatni pakiet odebrany przez serwer podczas wznoszenia został wysłany na wysokości 7030 m, chociaż powyżej 2000 m połączenia nie można było uznać za stabilne. Jednak w trakcie lotu telefon zdołał połączyć się z serwerem i załadować ostatnie zrobione zdjęcie na wysokości 13500 m! Tym samym zdołał połączyć się z naziemną siecią GSM.
Niestety, jakość zdjęcia jest niska, ponieważ aparat telefoniczny miał problemy z wybieraniem poprawnych parametrów obrazu podczas bardzo dynamicznego opadania z powrotem na powierzchnię Ziemi.
App4HAB – Data Unit
W celu zebrania danych, których nie mogły zarejestrować czujniki telefonu, zaprojektowaliśmy oddzielną jednostkę akwizycji danych opartą na Arduino Mega. Można podzielić ją na cztery główne części:
- Arduino Mega jako główny kontroler,
- Stworzony na potrzeby projektu tzw. shield Arduino z czujnikami umieszczonymi wewnątrz kapsuły,
- Zewnętrzny panel z czujnikami,
- Nadajnik LoRa,
Moduł akwizycji danych został zaprojektowany jako samodzielny projekt, którego można używać bez podłączonego do niego telefonu. Jest zasilany z własnego źródła pakietu baterii, rejestrując zebrane dane na karcie microSD na pokładzie i wysyłając dane do naszego mobilnego odbiornika za pośrednictwem radia LoRa w paśmie 70 cm.
Jednostka akwizycji danych jest w stanie monitorować m.in:
- Aktualna pozycja wg. systemu GPS,
- Temperaturę wewnątrz gondoli,
- Ciśnienie atmosferyczne,
- Napięcie i natężenie zasilania,
- Chwilowe zużycie prądu,
- Przyspieszenie (za pomocą akcelerometru),
- Natężenie promieniowania UV,
- Natężenie światła widzialnego.
Nadajnik systemu IoT – LoRa został zaprojektowany i zbudowany przez jednego z członków naszego zespołu. Moduł ten potrzebuje jedynie 4 μA w trybie uśpienia. Zastosowaliśmy również 4 diody LED i brzęczyk piezoelektryczny do monitorowania panelu bez konieczności podłączania do niej komputera. Diody LED dostarczają informacji o wszelkich błędach na pokładzie, a brzęczyk ma zastosowanie pomocnicze – akustyczne, tak aby ułatwić znalezienie aparatury po wylądowaniu.
System radiokomunikacji App4HAB
Płytka radiowa została oparta na module Dorji DRA818V z naszym niestandardowym systemem wykrywania dźwięku. Moduł radiowy zapewniał 0,5 W stałej mocy wyjściowej w paśmie 2 m (144 – 146 MHz). Płytka wykrywająca sygnał dźwiękowy służyła do sterowania PTT (push-to-talk) w module radiowym. Bez tej poprawy, nie byłoby możliwości używania nadajnika z urządzeniem takim jak smartfon do przesyłania ramek APRS. Płytka drukowana została zaprojektowana w środowisku Autodesk Eagle i wykonana na frezarce CNC.
Kamera
Oprócz aparatu w telefonie lot został również nagrany przez kamerę Xiaoyi Yi Cam 4K Action. Umieszczono ją po przeciwnej stronie kapsuły, kierując na horyzont. Kamera została ustawiona w tryb nagrywania video Full HD 1080p 60fps. Zmniejszyliśmy pole widzenia, aby zminimalizować zniekształcenia obrazu, które widzieliśmy w poprzednim locie. Mimo to efekt wklęsłej ziemi był nadal obecny, lecz w mniejszym stopniu. Aparat zasilany był z własnej baterii, ale był również podłączony do pakietu zasilania na pokładzie, zapewniając odpowiednie napięcie do ładowania urządzenia podczas całego lotu. Udało nam się przechwycić 152 minuty nagrań obejmujące start, lot, lądowanie i podjęcie ładunku.
Gondola
A17 Bazując na sprawdzonej konstrukcji, ponownie wykorzystaliśmy projekt gondoli z poprzedniego lotu. Gondolę wykonano z ekstrudowanych płyt styropianowych sklejonych w kształt prostopadłościanu o wymiarach 16x27x12 cm. Aby zmniejszyć masę kleju, postanowiliśmy połączyć płyty za pomocą wpustu i czopu. To znacznie zwiększyło powierzchnię łączenia i pozwoliło nam użyć mniej kleju. Wykorzystanie styroduru jako materiału budowlanego sprawdziło się doskonale, ponieważ jest bardzo łatwy w obróbce i zapewnia bardzo dobrą izolację termiczną. Wszystkie komponenty były utrzymywane w miejscu za pomocą bardzo mocnej taśmy. Zdecydowaliśmy, że tym razem nie użyjemy rzepu, ponieważ elementy delikatnie się przesuwały, do czego nie mogliśmy dopuścić w tej misji, ponieważ w kapsule było znacznie mniej dostępnego miejsca.
Podsumowanie w liczbach
Oczekiwane | Osiągnięte | |
Wysokość | 28 – 31 km | 26 682 m |
Temp. wewnątrz | 4°C | 2,8°C |
Czas lotu | 2 h | 2 h |
Odległość | 95 km ESE | 86 km ESE |
Urządzenia na pokładzie:
- Samsung Galaxy S8,
- Data unit – bazujący na Arduino Mega,
- Zewnętrzny panel z czujnikami,
- Kamera Yi 4K,
- Nadajnik VHF FM,
- Pakiety ogniw baterii Li-Po (2S 7,4 V, 3,9 Ah oraz 1S 3,7 V, 1,8 Ah),
- Awaryjny lokalizator – Radiosonda Vaisala RS41 ze zmodyfikowanym oprogramowaniem.
Start balonu odbył się 21 kwietnia 2018 roku o godzinie 10:35, na terenie Aeroklubu Wrocławskiego przy znakomitej pogodzie i bezchmurnym niebie. Zakończył o godzinie 12:35 (51,028691 N 18,200041 E).
Projekt zwyciężył w konkursie KoKoS 2018 – Konkurs Konstrukcji Studenckich w kategorii Sky.
Dziękujemy naszym partnerom i sponsorom za ogromne wsparcie: