TARS MK4 - wydajny komputer pokładowy do rakiety amatorskiej

TARS MK4 - wydajny komputer pokładowy do rakiety amatorskiej

Amatorskie rakiety to temat niezbyt popularny w Polsce, jednakże np. w USA to bardzo ważny dział modelarstwa. Powstają tam różne konstrukcje, w tym bardzo zaawansowane pojazdy, korzystające z komputerów pokładowych do nawigacji i telemetrii. Przedstawiona poniżej konstrukcja komputera pokładowego TARS to właśnie przykład takiego systemu. W poniższym artykule opisano rozwój, budowę, funkcje oraz zastosowania urządzenia.

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.

Rysunek 1. Poszczególne wersje rozwojowe systemu komputera pokładowego i sensorów z lat 2020-2023, które doprowadziły do budowy TARS MK4

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.

Rysunek 2. Schemat modułu zasilania PMB
Rysunek 3. Schemat modułu sterowania FCB
Rysunek 4. Schemat modułu telemetrii TELEM

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ą.
Rysunek 5. Rysunek ścieżek modułu zasilania PMB
Rysunek 6. Rysunek ścieżek modułu sterowania FCB
Rysunek 7. Rysunek ścieżek modułu telemetrii TELEM

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.

Fotografia 1. Złożony moduł komputera pokładowego

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.

Rysunek 8. Schemat blokowy obrazujący algorytm lotu w postaci dyskretnych stanów

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.

Rysunek 9. Oprogramowanie stacji naziemnej do odbioru i wyświetlania danych telemetrycznych

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.

Fotografia 2. Zdjęcie z rakiety w locie

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:

  1. https://www.illinoisspacesociety.org/
  2. https://t.ly/_NXEq
  3. https://github.com/ISSUIUC/TARS-Software
  4. https://github.com/ISSUIUC/ISS-PCB
Artykuł ukazał się w
Elektronika Praktyczna
luty 2024
DO POBRANIA
Materiały dodatkowe

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik czerwiec 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio maj - czerwiec 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje maj 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna czerwiec 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich czerwiec 2024

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów