Spisu treści:

CanSat - Przewodnik dla początkujących: 6 kroków
CanSat - Przewodnik dla początkujących: 6 kroków

Wideo: CanSat - Przewodnik dla początkujących: 6 kroków

Wideo: CanSat - Przewodnik dla początkujących: 6 kroków
Wideo: Rakieta nośna CanSat 1 lot testowy 2024, Lipiec
Anonim
CanSat - Przewodnik dla początkujących
CanSat - Przewodnik dla początkujących
CanSat - Przewodnik dla początkujących
CanSat - Przewodnik dla początkujących
CanSat - Przewodnik dla początkujących
CanSat - Przewodnik dla początkujących

Głównym celem tej instrukcji jest dzielenie się krok po kroku procesem rozwoju CanSata. Ale zanim zaczniemy, wyjaśnijmy, czym jest CanSat i jakie są jego główne funkcje, korzystając również z okazji, przedstawimy nasz zespół. Projekt ten rozpoczął się jako projekt rozbudowy naszego uniwersytetu, Universidade Tecnológica Federal do Paraná (UTFPR), kampusu Cornélio Procópio. Kierując się naszym doradcą, opracowaliśmy plan działania z zamiarem wejścia do CanSats, co oznaczało przestudiowanie wszystkich jego aspektów i cech, aby móc zrozumieć, jak to działa, co ostatecznie zaowocuje budową CanSat i opracowanie tego przewodnika. CanSat jest klasyfikowany jako pikosatelita, co oznacza, że jego waga jest ograniczona do 1 kg, ale normalnie CanSat waży około 350 g, a jego konstrukcja opiera się na puszce po napojach gazowanej, cylindrze o średnicy 6,1 cm i wysokości 11,65 cm. Model ten został przedstawiony z zamiarem uproszczenia procesu rozwoju satelity, aby umożliwić dostęp uczelniom do tych technologii, które zyskały popularność dzięki konkursom, które przyjęły ten wzór. Ogólnie rzecz biorąc, CanSats opierają się na 4 strukturach, tj. systemie elektroenergetycznym, systemie detekcyjnym, systemie telemetrycznym i systemie głównym. Przyjrzyjmy się więc bliżej każdemu systemowi: - System elektroenergetyczny: ten system jest odpowiedzialny za dostarczanie energii elektrycznej pozostałym, zgodnie z jego potrzebami. Innymi słowy, ma dostarczać systemom niezbędne napięcie i prąd, przestrzegając jego ograniczeń. Może również zawierać elementy zabezpieczające, aby zagwarantować bezpieczeństwo i prawidłowe zachowanie innych systemów. Zwykle opiera się na baterii i obwodzie regulatora napięcia, ale można dodać wiele innych funkcji, takich jak techniki zarządzania energią i kilka rodzajów zabezpieczeń. - System czujników: system ten składa się ze wszystkich czujników i urządzeń odpowiedzialnych za zbieranie wymaganych danych. można go podłączyć do głównego systemu na kilka sposobów, między innymi protokoły szeregowe, protokoły równoległe, dlatego tak ważne jest opanowanie wszystkich tych technik, aby móc określić najwygodniejszą. Generalnie najczęściej wybierane są protokoły szeregowe, ze względu na mniejszą liczbę połączeń i uniwersalność, zdecydowanie najpopularniejsze to protokoły SPI, I2C i UART. - System telemetryczny: ten system jest odpowiedzialny za ustanowienie komunikacji bezprzewodowej między CanSat a naziemną stacją kontroli, która obejmuje protokół komunikacji bezprzewodowej i sprzęt. - System główny: ten system jest odpowiedzialny za połączenie wszystkich innych systemów w taki sposób, aby również kontrolować i synchronizować ich sekwencję działania jako organizmu.

Krok 1: Główny system

Główny system
Główny system

Z wielu powodów wybraliśmy mikrokontroler oparty na ARM® Cortex®-M4F, jest to mikrokontroler o małej mocy, który oferuje znacznie wyższą moc obliczeniową, a także kilka funkcji, które nie są powszechnie spotykane w mikrokontrolerach RISK, takich jak funkcje DSP. Cechy te są o tyle ciekawe, że umożliwiają zwiększenie złożoności funkcji aplikacji CanSat, bez konieczności zmiany mikrokontrolera (oczywiście z uwzględnieniem jego ograniczeń).

Tak długo, jak projekt miał kilka ograniczeń finansowych, wybrany mikrokontroler również miał być przystępny cenowo, więc zgodnie ze specyfikacjami wybraliśmy MCU TM4C123G oparty na ARM® Cortex®-M4F LaunchPad, jest to launchpad, który właśnie pasował do naszego projektu. Również dokumentacja (arkusze danych i dokumentacja charakterystyki dostarczona przez producenta) oraz IDE MCU były zaletami, które naprawdę należy wziąć pod uwagę, o ile bardzo pomogły w procesie rozwoju.

W tym Cansat postanowiliśmy zachować prostotę i po prostu rozwinąć go za pomocą launchpada, ale oczywiście w przyszłych projektach nie będzie to możliwe, biorąc pod uwagę, że kilka funkcji zawartych w launchpadzie nie jest tak naprawdę potrzebnych dla naszego projektu, plus jego format bardzo ograniczył projekt konstrukcji naszego CanSata, o ile wymiary CanSata są minimalne.

Tak więc, po wybraniu odpowiedniego „mózgu” dla tego systemu, następnym krokiem było opracowanie jego oprogramowania, również dla uproszczenia zdecydowaliśmy się po prostu użyć programu sekwencyjnego, który wykonuje następującą sekwencję z częstotliwością 1 Hz:

Odczyty czujników > przechowywanie danych > transmisja danych

Część dotycząca czujników zostanie wyjaśniona później w systemie wykrywania, a transmisja danych zostanie wyjaśniona w systemie telemetrycznym. W końcu chodziło o nauczenie się programowania mikrokontrolera, w naszym przypadku musieliśmy nauczyć się następujących funkcji MCU, GPIO, modułu I2C, modułu UART i modułu SPI.

GPIO, lub po prostu wejście i wyjście ogólnego przeznaczenia, to porty, które mogą być używane do wykonywania kilku funkcji, o ile są odpowiednio ustawione. Biorąc pod uwagę, że nie używamy żadnych bibliotek C dla GPIO, nawet dla innych modułów, mieliśmy skonfigurować wszystkie niezbędne rejestry. Z tego powodu napisaliśmy podstawowy poradnik zawierający przykłady i opisy związane z rejestrami używanych przez nas modułów, które są dostępne poniżej.

Ponadto, aby uprościć i uporządkować kod, stworzono kilka bibliotek. Biblioteki powstały więc w następujących celach:

- protokół SPI

- Protokół I2C

- protokół UART

- NRF24L01+ - transceptor

Te biblioteki są również dostępne poniżej, ale pamiętaj, że używaliśmy IDE Keil uvision 5, więc te biblioteki nie będą działać z kompozytorem kodu. Wreszcie, po stworzeniu wszystkich bibliotek i nauczeniu się wszystkich potrzebnych rzeczy, ostateczny kod został złożony i jak można sobie wyobrazić, jest on również dostępny poniżej.

Krok 2: System wykrywania

System wykrywania
System wykrywania
System wykrywania
System wykrywania
System wykrywania
System wykrywania
System wykrywania
System wykrywania

System ten składa się ze wszystkich czujników i urządzeń odpowiedzialnych za zbieranie informacji o warunkach pracy CanSata. W naszym przypadku wybraliśmy następujące czujniki:

- 3-osiowy akcelerometr cyfrowy - MPU6050

- żyroskop cyfrowy 3 osiowy - MPU6050

- 3-osiowy magnetometr cyfrowy - HMC5883L

- barometr cyfrowy - BMP280

- i GPS - Tyco A1035D

Wybory opierały się głównie na dostępności, co oznaczało, że dopóki parametry mechaniczne i elektryczne (protokół komunikacyjny, zasilanie itp.) były zgodne z naszym projektem, do wyborów nie były narzucane żadne dalsze parametry, również dlatego, że w przypadku niektórych czujników dostępność opcji była ograniczona. Po zdobyciu czujników przyszedł czas na ich uruchomienie.

Pierwszym, który został zbadany, był 3-osiowy cyfrowy akcelerometr i żyroskop, zwany MPU6050 (można go łatwo znaleźć w dowolnym miejscu, o ile jest szeroko stosowany w projektach ARDUINO), jego komunikacja opiera się na protokole I2C, protokole, w którym każdy slave posiada adres, co pozwala na równoległe podłączenie kilku urządzeń, biorąc pod uwagę długość adresu 7 bitów, do tej samej magistrali szeregowej można podłączyć około 127 urządzeń. Ten protokół komunikacyjny działa na dwóch magistralach, magistrali danych i magistrali zegara, więc w celu wymiany informacji master musi wysłać 8 cykli zegara (swoją drogą informacja musi zmieścić się na bajt, o ile ta komunikacja jest oparta na rozmiar w bajtach) w operacji odbierania lub przesyłania. Adres MPU6050 to 0b110100X, a X służy do wywołania (wskazuje) operacji odczytu lub zapisu (0 oznacza operację zapisu, a 1 oznacza operację odczytu), więc za każdym razem, gdy chcesz odczytać czujnik, użyj jego adresu jako 0xD1 a kiedy chcesz pisać, po prostu użyj jego adresu jako 0xD0.

Po zapoznaniu się z protokołem I2C faktycznie przebadano MPU6050, czyli odczytano jego kartę katalogową, w celu uzyskania niezbędnych informacji do jego pracy, dla tego czujnika wystarczyło skonfigurować tylko trzy rejestry, zarządzanie energią 1 rejestr - adres 0x6B (w celu zagwarantowania, że czujnik nie jest w trybie uśpienia), rejestr konfiguracji żyroskopu - adres 0x1B (w celu skonfigurowania pełnego zakresu skali żyroskopu) i wreszcie rejestr konfiguracji akcelerometru - adres 0x1C (w w celu skonfigurowania pełnego zakresu skali dla akcelerometru). Istnieje kilka innych rejestrów, które można skonfigurować, co pozwala na optymalizację działania czujnika, ale dla tego projektu te konfiguracje wystarczą.

Tak więc, po prawidłowym skonfigurowaniu czujnika, jesteś teraz w stanie go odczytać. Pożądana informacja ma miejsce pomiędzy rejestrem 0x3B a rejestrem 0x48, każda wartość osi składa się z dwóch bajtów, które są zakodowane w sposób uzupełnienia do 2, co oznacza, że odczytane dane muszą być przekonwertowane, aby były znaczące (te rzeczy będą omówione później).

Po zakończeniu pracy z MPU6050 nadszedł czas, aby zbadać 3-osiowy magnetometr cyfrowy o nazwie HMC5883L (można go również łatwo znaleźć w dowolnym miejscu, o ile jest szeroko stosowany w projektach ARDUINO), i ponownie jego protokołem komunikacyjnym jest protokół szeregowy I2C. Jego adres to 0b0011110X, a X służy do wywoływania (wskazuje) operacji odczytu lub zapisu (0 oznacza operację zapisu, a 1 oznacza operację odczytu), więc za każdym razem, gdy chcesz odczytać czujnik, użyj jego adresu jako 0x3D i zawsze chcesz napisać, po prostu użyj jego adresu jako 0x3C.

W tym przypadku, aby zainicjalizować HMC5883L należało skonfigurować trzy rejestry, rejestr konfiguracyjny A - adres 0x00 (w celu skonfigurowania szybkości wyprowadzania danych i trybu pomiaru), rejestr konfiguracyjny B - adres 0x01 (w celu skonfigurowania wzmocnienia czujnika) i wreszcie rejestr trybu - adres 0x02 (w celu skonfigurowania trybu pracy urządzenia).

Tak więc, po prawidłowym skonfigurowaniu HMC5883L, można go teraz przeczytać. Pożądana informacja ma miejsce pomiędzy rejestrem 0x03 a rejestrem 0x08, każda wartość osi składa się z dwóch bajtów, które są zakodowane w sposób uzupełnienia do 2, co oznacza, że odczytane dane muszą być przekonwertowane, aby były znaczące (te rzeczy będą omówione później). W szczególności, dla tego czujnika powinieneś odczytać wszystkie informacje na raz, w przeciwnym razie może nie działać tak, jak proponowano, o ile dane wyjściowe są zapisywane do tych rejestrów tylko wtedy, gdy wszystkie rejestry zostały zapisane. więc koniecznie przeczytaj je wszystkie.

Na koniec zbadano barometr cyfrowy, kolejny czujnik protokołu I2C, zwany również BMP280 (można go również łatwo znaleźć w dowolnym miejscu, o ile jest szeroko stosowany w projektach ARDUINO). Jego adres to b01110110X, a X jest używany do wywołania (wskazuje) operacji odczytu lub zapisu (0 oznacza operację zapisu, a 1 oznacza operację odczytu), więc za każdym razem, gdy chcesz odczytać czujnik, po prostu użyj jego adresu jako 0XEA i zawsze chcesz napisać, po prostu użyj jego adresu jako 0XEB. Ale w przypadku tego czujnika adres I2C można zmienić zmieniając poziom napięcia na pinie SDO, więc jeśli do tego pinu zastosujesz GND to adres będzie b01110110X a jeśli zastosujesz VCC do tego pinu adres będzie być b01110111X, również aby włączyć moduł I2C w tym czujniku należy podać poziom VCC na pin CSB czujnika, inaczej nie będzie działał poprawnie.

Dla BMP280 miały być skonfigurowane tylko dwa rejestry, aby działał, rejestr ctrl_meas - adres 0XF4 (w celu ustawienia opcji akwizycji danych) oraz rejestr konfiguracyjny - adres 0XF5 (w celu ustawienia szybkości, filtr i opcje interfejsu czujnika).

Po zakończeniu konfiguracji nadszedł czas na to, co naprawdę się liczy, na same dane, w tym przypadku pożądana informacja ma miejsce pomiędzy rejestrami 0XF7 i 0XFC. Zarówno temperatura, jak i wartość ciśnienia składają się z trzech bajtów, które są zakodowane w sposób dopełnienia do dwójek, co oznacza, że odczytane dane muszą zostać przekonwertowane, aby miały sens (te rzeczy zostaną omówione później). Również dla tego czujnika, w celu uzyskania większej precyzji, istnieje kilka współczynników korekcji, które można wykorzystać podczas przetwarzania danych, znajdują się one pomiędzy rejestrami 0X88 i 0XA1, tak jest 26 bajtów współczynników korekcji, więc jeśli precyzja jest nie tak ważne, po prostu zapomnij o nich, inaczej nie ma innego wyjścia.

I wreszcie GPS - Tyco A1035D, ten opiera się na protokole szeregowym UART, w szczególności z szybkością 4800 kb/s, bez bitów parzystości, 8 bitów danych i 1 bit stopu. UART lub uniwersalny asynchroniczny odbiornik/nadajnik, jest protokołem szeregowym, w którym synchronizacja informacji odbywa się za pomocą oprogramowania, dlatego jest to protokół asynchroniczny, również ze względu na tę cechę, szybkość przesyłania i odbierania informacji jest znacznie mniejsza. Specjalnie dla tego protokołu pakiety muszą zaczynać się od bitu startu, ale bit stopu jest opcjonalny, a rozmiar pakietów ma długość 8 bitów.

W przypadku GPS - Tyco A1035D wymagane były dwie konfiguracje, czyli setDGPSport (polecenie 102) i Query/RateControl (polecenie 103), wszystkie te informacje, plus więcej opcji są dostępne w instrukcji NMEA, protokole stosowany w większości modułów GPS. Polecenie 102 służy do ustawienia szybkości transmisji, ilości bitów danych oraz istnienia lub braku bitów parzystości i bitów stopu. Polecenie 103 służy do sterowania wyjściem standardowych komunikatów NMEA GGA, GLL, GSA, GSV, RMC i VTG, są one szczegółowo opisane w instrukcji obsługi, ale w naszym przypadku wybrano komunikat GGA, który oznacza Global Stałe dane systemu pozycjonowania.

Po prawidłowym skonfigurowaniu GPS - TycoA1035D wystarczy teraz odczytać port szeregowy i przefiltrować otrzymany ciąg według wybranych parametrów, aby umożliwić przetwarzanie informacji.

Po zapoznaniu się z wszystkimi niezbędnymi informacjami o wszystkich czujnikach, wystarczyło tylko trochę wysiłku, aby zebrać wszystko w tym samym programie, również przy użyciu bibliotek komunikacji szeregowej.

Krok 3: System telemetrii

System telemetrii
System telemetrii

System ten jest odpowiedzialny za nawiązanie komunikacji między kontrolą naziemną a CanSatem, poza parametrami projektowymi, został również ograniczony w kilka innych sposobów, o ile transmisja RF jest dozwolona tylko w niektórych pasmach częstotliwości, które nie są zajęte ze względu na inne usługi RF, takie jak usługi mobilne. Te ograniczenia są różne i mogą się zmieniać w zależności od kraju, dlatego ważne jest, aby zawsze sprawdzać dozwolone pasma częstotliwości do powszechnego użytku.

Na rynku dostępnych jest wiele opcji radiostacji w przystępnych cenach, wszystkie te systemy oferują różne sposoby modulacji na różnych częstotliwościach, do tego systemu wybraliśmy transceiver RF 2,4 GHz, NRF24L01+, ze względu na to, że już posiadał dobrze ugruntowany protokół komunikacyjny, jak również systemy weryfikacji, takie jak systemy automatycznego potwierdzania i automatycznej retransmisji. Co więcej, jego szybkość transmisji może osiągnąć prędkość do 2 Mb/s przy rozsądnym zużyciu energii.

Więc zanim zaczniemy pracować nad tym transceiverem, dowiedzmy się trochę więcej o NRF24L01+. Jak wspomniano wcześniej, jest to radio oparte na częstotliwości 2,4 GHz, które można skonfigurować jako odbiornik lub nadajnik. W celu nawiązania komunikacji każdy transceiver otrzymuje adres, który może być skonfigurowany przez użytkownika, adres może mieć długość od 24 do 40 bitów w zależności od potrzeb. Transakcje danych mogą odbywać się w sposób pojedynczy lub ciągły, rozmiar danych jest ograniczony do 1 bajta, a każda transakcja może generować warunek potwierdzenia lub nie, zgodnie z konfiguracjami transceivera.

Możliwych jest również kilka innych konfiguracji, takich jak wzmocnienie w kierunku wyjścia sygnału RF, istnienie lub brak procedury automatycznej retransmisji (jeśli tak, można wybrać opóźnienie, liczbę prób spośród innych cech) i kilka innych funkcje, które niekoniecznie są przydatne w tym projekcie, ale i tak są dostępne w arkuszu danych komponentu, w przypadku zainteresowania nimi.

NRF24L01+ "mówi" językiem SPI, jeśli chodzi o komunikację szeregową, więc kiedy chcesz czytać lub pisać ten transceiver, po prostu użyj do tego protokołu SPI. SPI jest protokołem szeregowym, jak wspomniano wcześniej, w którym wybór urządzeń podrzędnych odbywa się za pomocą pinu CHIPSELECT (CS), który wraz z charakterystyką pełnego dupleksu (zarówno master, jak i slave może nadawać i odbierać w sposób równoległy) tego protokołu pozwala na znacznie większe prędkości transakcji danych.

Arkusz danych NRF24L01+ zawiera zestaw poleceń do odczytu lub zapisu tego komponentu, istnieją różne polecenia dostępu do rejestrów wewnętrznych, ładunku RX i TX między innymi operacjami, więc w zależności od żądanej operacji może wymagać określonej komendy do wykonaj to. Dlatego ciekawie byłoby zajrzeć do arkusza danych, w którym znajduje się lista zawierająca i wyjaśniająca wszystkie możliwe działania na transceiverze (nie będziemy ich tutaj wymieniać, ponieważ nie jest to główny punkt tej instrukcji).

Oprócz transceivera, kolejnym ważnym elementem tego systemu jest protokół, przez który wszystkie pożądane dane są wysyłane i odbierane, o ile system ma pracować z kilkoma bajtami informacji jednocześnie, ważne jest, aby znać znaczenie każdego bajtu, po to właśnie działa protokół, pozwala systemowi w zorganizowany sposób identyfikować wszystkie odbierane i przesyłane dane.

W celu uproszczenia, używany protokół (dla nadajnika) składał się z nagłówka składającego się z 3 bajtów, po którym następowały dane czujnika, o ile wszystkie dane czujnika składały się z dwóch bajtów, to każdemu z danych czujnika nadawany był numer identyfikacyjny rozpoczynający się od 0x01 i następujące w porządku półksiężycowym, więc na każde dwa bajty przypada bajt identyfikacyjny, w ten sposób sekwencja nagłówka nie mogłaby zostać przypadkowo powtórzona zgodnie z odczytami czujnika. Odbiornik okazał się tak prosty jak nadajnik, protokół wystarczył, aby rozpoznać nagłówek wysłany przez nadajnik i po prostu zapisać odebrane bajty, w tym przypadku zdecydowaliśmy się użyć wektora do ich przechowywania.

Więc po zdobyciu całej wymaganej wiedzy na temat transceivera i ustaleniu protokołu komunikacyjnego, nadszedł czas, aby wszystko połączyć w ten sam kawałek kodu, a na koniec zrobić oprogramowanie CanSat.

Krok 4: System zasilania

Ten system jest odpowiedzialny za dostarczanie innym systemom energii, której potrzebują do prawidłowego działania, w tym przypadku zdecydowaliśmy się po prostu użyć baterii i regulatora napięcia. Tak więc w celu doboru baterii przeanalizowano niektóre parametry pracy CanSata, które pomogłyby w zdefiniowaniu modelu i mocy niezbędnej do zasilania całego systemu.

Biorąc pod uwagę, że CanSat powinien wytrzymać kilka godzin włączenia, najwłaściwszą rzeczą do zrobienia było rozważenie najbardziej ekstremalnych sytuacji poboru mocy, w których każdy moduł i system podłączony do CanSata pobierałby jak największy prąd. Jednak ważne jest również, aby w tym momencie zachować rozsądek, aby nie zawyżać baterii, co również nie jest interesujące ze względu na ograniczenia wagi CanSata.

Po zapoznaniu się ze wszystkimi arkuszami danych komponentów wszystkich systemów, całkowity prąd pobierany przez system wynosił około 160 mAh, biorąc pod uwagę autonomię 10 godzin, bateria 1600 mAh wystarczyła do zagwarantowania systemowi właściwych warunków pracy.

Po zapoznaniu się z niezbędnym ładowaniem akumulatora, pomimo autonomii należy wziąć pod uwagę dalsze aspekty, takie jak rozmiar, waga, temperatura pracy (o ile CanSat jest trzymany w rakiecie), napięcia i siły potrzebne do którym to samo podlega m.in.

Krok 5: Struktura

Konstrukcja jest bardzo ważna dla bezpieczeństwa CanSata, chociaż była trochę zaniedbana w tym projekcie (właściwie nie było dużego zainteresowania rozwojem mechanicznej części CanSata, ze względu na to, że wszyscy członkowie kursu był związany z elektroniką). Dopóki projekt opierał się na istniejącym wzorcu, wzorze CanSat, nie trzeba było wiele zastanawiać się, jak ma wyglądać, więc powinien być ukształtowany w formacie walca, o średnicy około 6,1 cm i około 11, 65 cm wzrostu (te same miary puszki po napoju gazowanym).

Po skończeniu ze strukturą zewnętrzną całą uwagę skupiono na systemie mocowania, odpowiedzialnym za utrzymywanie wszystkich desek wewnątrz cylindrycznej konstrukcji, a także umożliwiającym pochłanianie przyspieszeń, którym poddawany byłby CanSat, po krótkiej dyskusji na ten temat., zdecydowano się połączyć obie konstrukcje poprzez formowanie pianki o wysokiej gęstości, do pożądanych kształtów.

Konstrukcja zewnętrzna została wykonana z rur PVC o żądanej średnicy, w celu zamknięcia konstrukcji zastosowano osłony rur PVC

Krok 6: Wnioski i przyszłe myśli

CanSat wciąż musi zostać przetestowany w działaniu, faktycznie ubiegamy się o zawody rakietowe (które odbędą się w grudniu), również po przejściu przez cały budynek (tak naprawdę wciąż musimy dokończyć kilka rzeczy) i rozwój proces, pewne perspektywy i notatki, które naszym zdaniem byłoby interesujące podzielić się z wami wszystkimi zaobserwowanymi, głównie o zmaganiach, wskazówkach, a nawet dobrych doświadczeniach, więc oto idzie:

- Początek projektu okazał się najbardziej płodnym okresem rozwoju całego projektu, niestety grupa straciła zainteresowanie projektem w jego terminie, może z powodu braku natychmiastowych rezultatów, a może po prostu braku komunikacji z projektu wyszło kilka dobrych rzeczy

- Wymagało to wiele wysiłku, aby transceiver działał, ponieważ wszystkie biblioteki zostały opracowane od podstaw, również dlatego, że do przetestowania tego rodzaju rzeczy potrzeba dwóch różnych programów i konfiguracji

- W naszym przypadku nie był to najlepszy pomysł na pracę na mikrokontrolerach opartych na konfiguracjach rejestrów, nie wszyscy członkowie byli w stanie nadążyć za resztą grupy, co prowadziło do pewnych problemów, takich jak podział zadań. Istnieje mnóstwo przyzwoitych bibliotek C dla mikrokontrolera, którego używaliśmy, więc byłoby znacznie lepszym pomysłem na wykorzystanie tych zasobów, jest też IDE o nazwie Code Composer, które również oferuje mnóstwo zasobów dla tych mikrokontrolerów

- CanSat wciąż wymaga wielu ulepszeń, to doświadczenie opierało się na podstawowych technikach i umiejętnościach, także kilka kwestii nie zostało wziętych pod uwagę, więc miejmy nadzieję, że w przyszłości topowa wersja tego CanSata może stać się rzeczywistością przy większym wysiłku i ciężkiej pracy.

Zalecana: