TARS MK4 jest flagowym, czwartym z rzędu komputerem pokładowym, zaprojektowanym do udziału w zawodach Spaceport America Cup 2023. Na rysunku 1 pokazano tę i wcześniejsze wersje systemu, co pozwala docenić trwający kilka lat proces rozwoju tego projektu.
Komputer ten ma zdolność do przesyłania danych telemetrycznych drogą radiową w czasie rzeczywistym, a także umożliwia śledzenie pozycji rakiety z wykorzystaniem GPS, autonomiczne ocenianie jej stanu podczas lotu oraz kontrolowanie apogeum rakiety za pomocą mechanizmu hamulca aerodynamicznego. Hamulec aerodynamiczny, po uruchomieniu, generuje opór, spowalniając rakietę i umożliwiając osiągnięcie określonej wysokości wymaganej w danej konkurencji, co ma duże znaczenie w zawodach rakiet amatorskich.
Zespół projektowy
Zespół składa się z około 100 studentów inżynierii z Uniwersytetu Illinois w Urbana-Champaign. Ich celem jest zostanie jednym z pierwszych zespołów akademickich, które zaprojektują, zbudują i wystrzelą dwustopniową rakietę na wysokość 100 km - na poziom tak zwanej linii Kármána, która jest umowną granicą kosmosu. Autorzy, mimo że mają przed sobą jeszcze długą drogę do przebycia, prezentują fragment jednego z projektów zakończonych w 2023 roku. Osoby zainteresowane organizacją Illinois Space Society lub zespołem Spaceshot mogą odwiedzić stronę internetową grupy: https://www.illinoisspacesociety.org/.
Moduły
Przedstawiony komputer ma konstrukcję modułową. Urządzenie składa się z trzech połączonych ze sobą płytek drukowanych. Jedna z nich odpowiada za zasilanie (PMB), druga wyposażona jest w główny mikrokontroler systemu wraz z zestawem sensorów, odpowiadających za kontrolę lotu (FCB), a trzecia mieści na sobie wszystkie moduły, niezbędne do telemetrii (TELEM).
Wszystkie projekty w zespole stworzono z wykorzystaniem pakietu KiCAD, który został wybrany jako jeden z najlepszych dostępnych, bezpłatnych pakietów oprogramowania do projektowania elektroniki. Zespół stworzył wewnętrzny przewodnik dotyczący wspólnej pracy nad projektami w KiCAD - wprowadzone zostały ścisłe wytyczne, mające na celu uniknięcie konfliktów plików, które mogą łatwo wystąpić przy współpracy wielu inżynierów, operujących na jednym projekcie. Na stronie z dokumentacją projektu znaleźć można wspomniane przewodniki, dotyczące współtworzenia projektów w KiCADzie oraz stosowania repozytorium na GitHubie.
Projektując nowy system, zespół często tworzy również diagramy blokowe, aby lepiej zrozumieć działanie całego urządzenia. Wybrane przez zespół narzędzie do rysowania diagramów, również jest bezpłatne i dostępne online - Draw.io.
Schemat i płytki drukowane
Schematy systemu pokazane są na rysunkach 2...4. Obejmują one trzy wspomniane wcześniej płytki.
Mikrokontroler
Do opisywanego systemu zespół wybrał moduł Teensy 4.1, ponieważ jest on kompatybilny z Arduino, niezwykle szybki i ma dużą liczbę linii I/O. Na pokładzie znajduje się również moduł z mikrokontrolerem ESP32-S3 i ATmega328P (jako pomocniczy mikrokontroler, dedykowany do telemetrii i zarządzania systemem zasilania w układzie).
Czujniki
Następnym krokiem było podjęcie decyzji, jakiego rodzaju czujników użyć. Autorzy rozpoczęli od selekcji interfejsu, który miałby być podstawową magistralą systemu - wybór padł na SPI, ponieważ zwykle oferuje on większą częstotliwość zbierania danych niż I²C.
Do oszacowania stanu rakiety używana jest kombinacja barometrów, akcelerometrów, żyroskopów i magnetometrów. W zależności od poziomu złożoności systemu można zintegrować w nim nawet kilka akcelerometrów - różnych układów o niskim i wysokim zakresie mierzonego przyspieszenia, aby uzyskać precyzyjniejsze dane we wszystkich fazach lotu.
Autorzy skorzystali z prostych do integracji sensorów:
- barometru MS5611,
- 9-osiowego modułu inercyjnego BNO0855 (akcelerometr, żyroskop i magnetometr),
- odbiornika sygnału GPS MAX-M10S.
Te trzy elementu powinny zaspokoić większość podstawowych potrzeb w zakresie estymacji stanu rakiety w każdej fazie lotu.
Stabilizacja napięcia
Do zasilania TARS MK4 wykorzystywany jest pakiet akumulatorów w konfiguracji 2S3P, co oznacza, że połączone są dwa akumulatory szeregowo, a następnie trzy takie zestawy łączone są równolegle. W projekcie użyto standardowych akumulatorów Adafruit 3,7 V 18650, co daje sumaryczne napięcie całego pakietu w zakresie od 6 V do 8,4 V. Ponieważ do zasilania serwa w systemie potrzebne jest napięcie nie większe niż 6 V, autorzy zdecydowali się na zintegrowanie przetwornicy obniżającej napięcie, ze względu na jej stosunkowo wysoką sprawność.
Twórcy systemu rekomendują wykorzystanie programu Webench Power Designer firmy Texas Instruments. Jest to doskonałe narzędzie pomagające w projektowaniu układów zasilania. Środowisko to jest dostępne w chmurze, poprzez stronę Texas Instruments i pozwala wybierać z szerokiej oferty tego producenta oraz dostosowywać projekty referencyjne do konkretnej aplikacji. Dzięki temu w prosty sposób wyliczyć można wartości wszystkich elementów dyskretnych dookoła stabilizatora dla wymaganych parametrów sekcji zasilania.
Moduł komunikacyjny
Autorzy zdecydowali się na wykorzystanie modułu RFM96 z interfejsem LoRa ze względu na jego wyjątkowy zasięg i małe zużycie energii. Poświęcając część prędkości transmisji danych, udało się w systemie zredukować pobór mocy i zapewnić doskonałe zasięgi. Transmisja ta jest w stanie uzyskać przesłanie około jednego pakietu danych na sekundę, co jest idealne w tego rodzaju aplikacji. Przeprowadzane były testy naziemne przy odległości około 10 kilometrów, co wykazało RSSI (wskaźnik siły odbieranego sygnału - im większa liczba, tym silniejszy sygnał) równy -100. Przy transmisji w czasie lotu, na pułapie lotu do ok. 30 000 stóp uzyskiwano nawet lepszy wynik z RSSI równym -80 RSSI. W przyszłości autorzy zamierzają wykorzystywać transceivery satelitarne i układy o większej przepustowości do przesyłania strumieniowego wideo na żywo.
Elementy powyżej to wszystkie główne składniki systemu, które należało przeanalizować przy projektowaniu komputera pokładowego dla amatorskiej rakiety. Oczywiście w systemie jest też szereg elementów wspomagających, ale te wymienione powyżej są najbardziej istotne. Oprócz powyższych modułów oczywiście komputer rakiety zawiera zestaw wyjść do sterowania wszystkich niezbędnych komponentów rakiety, takich jak ewentualne powierzchnie sterowe, czy wspominany na początku hamulec aerodynamiczny.
Płytki drukowane
Wszystkie płytki drukowane w systemie mają dwie warstwy, co pomogło ograniczyć koszty systemu. Kolejność płytek w stosie jest następująca: TELEM, FCB, PMB.
Modułowa konstrukcja komputera TARS MK4 pozwoliła na uzyskanie bardziej kompaktowego systemu z większą ilością miejsca na montaż powierzchniowy (SMD), a zarazem ułatwiła jednoczesną pracę kilku osób nad poszczególnymi modułami.
Oto ogólny przegląd zadań, jakie realizuje każda z płytek:
- PMB (dolna PCB, rysunek 5): zapewnia zasilanie: 3,3 V, 5 V i 6 V dla całego systemu,
- FCB (środkowa PCB, rysunek 6): dokonuje zapisu danych z czujników i oszacowania stanu rakiety,
- TELEM (górna PCB, rysunek 7): obsługuje wszystko związane z komunikacją radiową ze stacją naziemną.
Model 3D i integracja mechaniczna
Gotowy do montażu moduł (po uprzednim zabezpieczeniu niektórych elementów z uwagi na występujące na pokładzie rakiety przeciążenia) integrowany jest z pozostałą częścią systemu. Tutaj pomocne jest podpieranie się dokumentacją mechaniczną i wizualizacjami 3D, które umożliwiają lepszy ogląd systemu i analizę sposobu jego montażu. Autorzy przygotowali estetyczne rendery swoich płytek - osobno i razem, połączone - przy użyciu Blendera, a do finalnych obrazów wykorzystano Canva, aby dodać stylizowany tekst i tła. Gotowy moduł pokazano na fotografii 1. Płytki drukowane zabezpieczone są przed zwarciem z otaczającymi komponentami za pomocą taśmy kaptonowej.
Oprogramowanie
Po uruchomieniu płytki konieczne było stworzenie odpowiedniej architektury oprogramowania dla systemu. Oprogramowanie to zostało napisane w C++. W jego ramach autorzy dokładniej opisują trzy główne aspekty. Na rysunku 8 pokazano uproszczony schemat blokowy algorytmu, sterującego całym lotem.
Automat skończony (maszyna stanów)
System komputera pokładowego, kontrolujący lot, oparto na automacie skończonym, który służy do śledzenia globalnych zdarzeń podczas lotu i przełączania całego systemu oprogramowania między różnymi stanami operacyjnymi. Na przykład podczas etapu startu dane są rejestrowane z dużą częstotliwością i estymacja stanu zachodzi bardzo często, ale podczas lądowania system może przejść w tryb oszczędzania energii, gdzie nie trzeba pozyskiwać nowych danych, a jedynie przesyłać sygnał GPS co kilka sekund. Maszyna stanów zawarta w programie (patrz rysunek 9) umożliwia aktywację tych funkcji w odpowiednim momencie.
System operacyjny czasu rzeczywistego (RTOS)
W projekcie wykorzystano ChibiOS - kompaktowy i szybki system operacyjny czasu rzeczywistego, obsługujący wiele architektur i udostępniany na zasadach mieszanej licencji GNU General Public License w wersji 3 (GPL3) oraz Apache License 2.0 (w zależności od modułu). Jest rozwijany przez Giovanniego Di Sirio. Dodatkowe elementy obejmują ChibiOS/HAL - warstwę abstrakcji sprzętowej kompatybilną z ChibiOS/RT - oraz ChibiStudio, czyli darmowe środowisko programistyczne oparte na Eclipse, GNU Compiler Collection (GCC) i debugger ze wsparciem Joint Test Action Group (JTAG) OpenOCD. Zadaniem systemu operacyjnego jest obsługa:
- systemu GPS,
- rejestracji danych z czujników,
- telemetrii,
- algorytmu estymacji stanu.
Estymacja stanu
Algorytm estymacji stanu analizuje i przewiduje dalszą trasę rakiety w celu sterowania mechanizmem hamulca aerodynamicznego, co umożliwia osiągnięcie określonych wysokości.
W algorytmie używany jest filtr Kalmana, który jest zaprojektowany do dokonywania pomiarów w czasie i eliminowania niedokładności, takich jak zakłócenia czujników czy szumy ciśnienia, pochodzące z naddźwiękowego ruchu rakiety przez atmosferę oraz innych źródeł zakłóceń. Następnie algorytm ten wykorzystuje estymację aktualnego stanu pojazdu do przewidywania, dokąd zmierza on w najbliższej przyszłości. Na końcu artykułu znaleźć można link do repozytorium projektu na GitHubie, gdzie znajduje się kompletne oprogramowanie, dostępne na otwartej licencji.
Stacja naziemna
Do odbioru informacji z pojazdu wykorzystywana jest naziemna stacja telemetrii. Wątek telemetrii w oprogramowaniu pokładowym wysyła dane do wbudowanego w pojazd transceivera LoRa, który następnie przesyła je do odbiornika stacji naziemnej, gdzie są analizowane, a następnie wyświetlane w oprogramowaniu, stworzonym z wykorzystaniem platformy Electron Framework. Oprogramowanie to zostało zbudowane jako aplikacja oparta na przeglądarce, co umożliwia łatwe uruchomienie jej lokalnie na laptopie lub nawet hostowanie na stronie internetowej w chmurze, aby użytkownicy mogli przeglądać je na przykład na swoich telefonach.
Podsumowanie
Zwieńczeniem wysiłków całego zespołu był oczywiście start rakiety. Na fotografii 2 pokazano malowniczy widok z kamery na pokładzie rakiety. Start jest nie tylko sukcesem, ale także finalnym testem elektroniki. A po przetestowaniu systemu przystąpić można do kolejnej iteracji procesu projektowania. Jak pokazano na rysunku 1, nie jest to pierwsza wersja TARS. Na przestrzeni ponad trzech lat powstały aż cztery, a poprawny start tej wersji jest jednocześnie początkiem projektowania kolejnego modelu.
Autorzy zapowiadają, że za kilka miesięcy chcą wystrzelić kolejną rakietę z komputerem nowej generacji o nazwie MIDAS MK1. Konstrukcja ta ma na celu zmniejszenie wszystkiego, co obejmuje TARS, do jednej płytki i dodanie obwodów pirotechnicznych, umożliwiających inicjowanie zdarzeń w locie, takich jak uruchomienie spadochronu.
Nikodem Czechowski
Źródła: