Spisu treści:
- Krok 1: Zbieranie materiałów/szkicowanie CubeSata
- Krok 2: Budowa Cubesata
- Krok 3: Okablowanie i kodowanie Arduino
- Krok 4: Sprawdzenie nad Cubesat
- Krok 5: Naciąganie CubeSata
- Krok 6: Test wymachu
- Krok 7: Test nr 2 – test wstrząsania
- Krok 8: Wyniki/ukończony pomiar temperatury CubeSat
Wideo: Temperatura CubeSat Ben & Kaiti & Q Godzina 1: 8 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Czy kiedykolwiek chciałeś zrobić coś samemu, co można wysłać w kosmos i zmierzyć temperaturę innej planety? Na naszej lekcji fizyki w liceum zostaliśmy przydzieleni do zbudowania CubeSata z działającym arduino z głównym pytaniem Jak możemy sprawić, by to zadziałało na Marsie? Postanowiliśmy, że będzie mierzył temperaturę na planecie, bo kto nie chciałby wiedzieć, jak gorący jest Mars? Musieliśmy jednak zrobić to z czegoś niedrogiego, ale też trwałego. Dlatego użyliśmy klocków Lego. To sprawiło, że CubeSat był wytrzymały i pomogło nam dość łatwo osiągnąć wymiary - nawet jeśli wszystkie elementy były trochę nieznośne! Naszym celem było posiadanie w pełni działającego czujnika, który może mierzyć temperaturę otoczenia oraz ochronnego CubeSata wokół niego.
Krok 1: Zbieranie materiałów/szkicowanie CubeSata
Pierwszą rzeczą, którą będziesz chciał zrobić, to naszkicować CubeSat. Musisz mieć pomysł na to, co chcesz zbudować, zanim to zbudujesz. Jedno z powyższych zdjęć przedstawia wykonane przez nas szkice CubeSat. Następnie zbierz swoje materiały. W przypadku CubeSata, który budujemy, używamy klocków Lego. Wybraliśmy klocki Lego, ponieważ są łatwe do zdobycia i złożenia, a jednocześnie są trwałe i dobrze wykonają wymagane zadania. Musisz więc zdobyć trochę klocków Lego. zdobądź kilka szerokich elementów podstawy, które mają wymiary 10 cm X 10 cm X 10 cm, lub kilka elementów podstawy, które można połączyć w element o wymiarach 10 na 10. W przypadku naszego CubeSata musieliśmy zdobyć wiele elementów bazowych i złożyć je razem, aby stworzyć bazę o wymiarach 10 cm na 10 cm. Będziesz także musiał zdobyć klocki Lego, aby zrobić kawałek dachu tego samego rozmiaru. Po zdobyciu tych klocków będziesz musiał zdobyć mnóstwo małych klocków, aby zbudować ściany CubeSata. Upewnij się, że te klocki Lego są dość chude, aby nie zajmowały zbyt wiele wnętrza CubeSata.
Krok 2: Budowa Cubesata
Najpierw zbudowaliśmy to piękno 10x10x10. Wymagało to wielu różnych projektów. Najpierw mieliśmy półkę na środku, ale później uznaliśmy, że jej nie trzeba. Jeśli zdecydujesz się na półkę na środku, polecam tylko jedną półkę, ponieważ będziesz musiał ją rozbierać za każdym razem, gdy wkładasz i wyjmujesz Arduino i czujnik. Dodaliśmy małe okienka, abyśmy mogli szybko zajrzeć do środka, gdy górna część jest zamknięta, dzięki czemu możemy zobaczyć, jak wszystko działa płynnie. Aby CubeSat był bardziej stabilny, połączyliśmy dwie warstwy Lego na dole. Im stabilniejszy, tym lepiej, ponieważ ten CubeSat będzie musiał przetrwać wiele różnych przeszkód.
Krok 3: Okablowanie i kodowanie Arduino
Drugim krokiem tego projektu jest podłączenie arduino. Ten krok jest bardzo ważny, ponieważ jeśli nie zostanie to zrobione poprawnie to kostka sat nie będzie mogła odczytać temperatury. Aby ukończyć okablowanie arduino, będziesz potrzebować kilku materiałów. Materiały te to bateria, arduino, karta SD, przewody połączeniowe, płytka stykowa, czujnik temperatury i komputer. Komputer zostanie użyty do sprawdzenia, czy okablowanie działa prawidłowo. Oto strona internetowa, która była bardzo pomocna w prowadzeniu nas, jak podłączyć arduino:
create.arduino.cc/projecthub/TheGadgetBoy/…
Pomóc mogą również powyższe zdjęcia i schemat fritzowania. Kodowanie arduino zostanie również przetestowane na komputerze, aby sprawdzić, czy działa. Jeśli wszystko działa, to arduino można wyjąć z komputera i jest gotowe do pracy.
Kod:
// Przewód danych jest podłączony do portu 2 w Arduino
#define ONE_WIRE_BUS 2
Plik sensorData;
// Skonfiguruj instancję oneWire do komunikacji z dowolnymi urządzeniami OneWire (nie tylko z układami temperatury Maxim/Dallas)
OneWire oneWire(ONE_WIRE_BUS);
// Dołącz potrzebne biblioteki
#włączać
#włączać
#włączać
// Przekaż nasze odniesienie oneWire do temperatury w Dallas.
DallasCzujniki temperatury(&oneWire);
// tablice do przechowywania adresu urządzenia
Adres urządzenia wewnątrzTermometr;
/*
* Funkcja konfiguracji. Tutaj robimy podstawy
*/
nieważne ustawienia (unieważnione)
{
pinMode (10, WYJŚCIE);
SD.początek(4);
// uruchom port szeregowy
Serial.początek(9600);
Serial.println("Demo biblioteki kontroli temperatury Dallas IC");
// zlokalizuj urządzenia w autobusie
Serial.print("Lokalizowanie urządzeń…");
czujniki.początek();
Serial.print("Znaleziono");
Serial.print(czujniki.getDeviceCount(), DEC);
Serial.println("urządzenia.");
// zgłoś wymagania dotyczące mocy pasożyta
Serial.print("Moc pasożyta to: ");
if (sensors.isParasitePowerMode()) Serial.println("WŁ");
else Serial.println("WYŁ");
/*Przypisz adres ręcznie. Poniższe adresy zostaną zmienione
na prawidłowe adresy urządzeń w Twoim autobusie. Adres urządzenia można pobrać
za pomocą oneWire.search(adres urządzenia) lub indywidualnie przez
sensors.getAddress(deviceAddress, index) Pamiętaj, że będziesz musiał użyć tutaj swojego konkretnego adresu
wewnątrzTermometr = { 0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0 };
Metoda 1:
Wyszukaj urządzenia na magistrali i przypisz je na podstawie indeksu. Idealnie, zrobiłbyś to, aby najpierw odkryć adresy w autobusie, a potem
użyj tych adresów i przypisz je ręcznie (patrz wyżej), gdy już wiesz
urządzenia w twoim autobusie (i zakładając, że się nie zmieniają).
*/ if (!sensors.getAddress(insideThermometer, 0)) Serial.println("Nie można znaleźć adresu urządzenia 0");
// metoda 2: szukaj()
// search() szuka następnego urządzenia. Zwraca 1, jeśli został wprowadzony nowy adres
// zwrócono. Zero może oznaczać zwarcie magistrali, brak urządzeń, // lub już pobrałeś je wszystkie. To może być dobry pomysł, aby
// sprawdź CRC, aby upewnić się, że nie masz śmieci. Zamówienie jest
// deterministyczny. Zawsze otrzymasz te same urządzenia w tej samej kolejności
//
// Musi zostać wywołana przed search()
//oneWire.reset_search();
// przypisuje pierwszy znaleziony adres do insideThermometer
//if (!oneWire.search(insideThermometer)) Serial.println("Nie można znaleźć adresu dla insideThermometer");
// pokaż adresy, które znaleźliśmy w autobusie
Serial.print("Adres urządzenia 0: ");
printAddress (wewnątrz termometru);
Serial.println();
// ustaw rozdzielczość na 9 bitów (każde urządzenie Dallas/Maxim może pracować w kilku różnych rozdzielczościach)
sensor.setResolution(wewnątrzTermometr, 9);
Serial.print("Rozdzielczość urządzenia 0: ");
Serial.print(czujniki.getResolution(wewnątrz termometru), DEC);
Serial.println();
}
// funkcja drukowania temperatury dla urządzenia
void printTemperature (adres urządzenia adres urządzenia)
{
// metoda 1 - wolniej
//Serial.print("Temp C: ");
//Serial.print(sensors.getTempC(deviceAddress));
//Serial.print("Temp F:");
//Serial.print(sensors.getTempF(adresurządzenia)); // Wykonuje drugie wywołanie getTempC, a następnie konwertuje na stopnie Fahrenheita
// metoda 2 - szybsza
float tempC = sensors.getTempC(adres urządzenia);
if(tempC == DEVICE_DISCONNECTED_C)
{
Serial.println("Błąd: nie można odczytać danych temperatury");
powrót;
}
sensorData = SD.open("log.txt", FILE_WRITE);
jeśli (sensorData) {
Serial.print("Temp C: ");
Serial.print(tempC);
Serial.print(" Temp F: ");
Serial.println(DallasTemperature::toFahrenheit(tempC)); // Konwertuje tempC na stopnie Fahrenheita
sensorData.println(tempC);
sensorData.close();
}
}
/*
* Główna funkcja. Poprosi o tempC z czujników i wyświetli na Serial.
*/
pusta pętla (pusta)
{
// wywołaj sensors.requestTemperature(), aby wystawić globalną temperaturę
// żądanie do wszystkich urządzeń w autobusie
Serial.print("Żądanie temperatur…");
sensory.żądanieTemperatury(); // Wyślij polecenie, aby uzyskać temperatury
Serial.println("GOTOWE");
// Odpowiada niemal natychmiast. Wydrukujmy dane
temperatura druku (wewnątrz termometru); // Użyj prostej funkcji do wydrukowania danych
}
// funkcja drukowania adresu urządzenia
void printAddress(DeviceAddress deviceAddress)
{
dla (uint8_t i = 0; i < 8; i++)
{
if (adresurządzenia < 16) Serial.print("0");
Serial.print(adresurządzenia, HEX);
}
}
OdpowiedzPrzekaż
Krok 4: Sprawdzenie nad Cubesat
Teraz, gdy CubeSat, kod i okablowanie Arduino są gotowe, wkrótce rozpoczniesz testy. Jeśli te testy nie powiodą się, Twój CubeSat może zostać całkowicie zniszczony wraz z Arduino. Dlatego upewnij się, że Twoje Arduino jest na to gotowe. W tym momencie wchodzi w grę ten krok, sprawdzanie CubeSata. Najpierw musisz bezpiecznie umieścić Arduino w CubeSat i upewnić się, że nie będzie się kołysał. Następnie musisz upewnić się, że wszystkie elementy CubeSata są bezpiecznie na swoim miejscu. Nie może być żadnych luźnych elementów, w przeciwnym razie CubeSat będzie bardziej podatny na rozpadanie się podczas testów. Jeśli mocno sprawdzisz swój CubeSat, testy, przez które przechodzi, powinny łatwo przejść.
Krok 5: Naciąganie CubeSata
Ten krok będzie przygotowaniem do pierwszego testu, przez który przejdzie CubeSat. W teście CubeSat będzie obracał się w szybkim tempie po okręgu przez 30 sekund. Musisz upewnić się, że CubeSat jest mocno naciągnięty, aby nie odleciał. Zawiązaliśmy 2 sznurki całkowicie wokół CubeSata i mocno je związaliśmy. Następnie dodaliśmy kolejny długi sznurek, który został zawiązany wokół dwóch pierwszych. Wielokrotnie zawiązaliśmy ten sznurek na górze i na dole, aby był jak najlepiej zabezpieczony. Może to wymagać wielu prób, ponieważ chcesz, aby sznurek był idealny, aby nie poluzował się podczas lotu.
Krok 6: Test wymachu
Ze względów bezpieczeństwa na tym etapie należy nosić okulary ochronne, aby chronić oczy. W tym kroku przeprowadzisz test CubeSata, aby sprawdzić, czy chroni Arduino wystarczająco dobrze, aby mógł wykonać swoje zadanie (znalezienie temperatury). Pierwszy test to ten, który wymaga naciągania. W tym teście Arduino będzie się obracać (jak pokazano na powyższym obrazku/wideo)- (czasami wideo ma problemy z ładowaniem). Pośrodku można umieścić model Marsa. Aby pomyślnie ukończyć ten test, Arduino będzie musiało się obrócić bez odłączania, dlatego musi być dobrze naciągnięte, a Arduino będzie musiało w pełni funkcjonować po zakończeniu testu. Dlatego musisz upewnić się, że Arduino jest dobrze zabezpieczone w CubeSat.
Krok 7: Test nr 2 – test wstrząsania
W tym kroku Twój CubeSat przejdzie test #2. Ten test jest testem wstrząsowym. W tym teście CubeSat zostanie umieszczony w uchwycie, jak pokazano na zdjęciu/filmie (czasami wideo ma problemy z ładowaniem) powyżej i będzie gwałtownie potrząsany tam iz powrotem przez 30 sekund. Aby przejść ten test, Twój CubeSat i Arduino będą musiały nadal działać po wstrząśnięciu.
Krok 8: Wyniki/ukończony pomiar temperatury CubeSat
W końcu nasz CubeSat był w stanie z powodzeniem rejestrować temperaturę podczas każdego testu. Dane konsekwentnie odczytują 26-30 stopni Celsjusza w każdym teście. To tyle samo, co 78-86 stopni Fahrenheita. Jednak po drodze natknęliśmy się na pewne problemy. Na przykład wielokrotnie kodowanie arduino nie działało i odczytywało 126 stopni Celsjusza. Osiągnięcie odpowiedniej temperatury wymagało wielu prób. Kilka rad, które dałbym każdemu, kto robi ten projekt, to wypróbowanie wielu odmian kodu i okablowania oraz upewnienie się, że twoje arduino ściśle pasuje do CubeSata. Być może trzeba będzie dokręcić szczelinę wewnątrz CubeSata, aby upewnić się, że arduino idealnie pasuje do środka. Mieliśmy problem ze zbyt luźnym arduino w CubeSat.
W tym projekcie będziesz musiał również zastosować swoją wiedzę z zakresu fizyki. Fizyczna wiedza na temat technologii, energii i siły będzie musiała być stosowana w całym projekcie. W trakcie projektu dowiedzieliśmy się więcej o układzie słonecznym i nowych technologiach, takich jak CubeSats. Dowiedzieliśmy się również o sile grawitacyjnej i o tym, jak ta siła może wpływać na CubeSata. Jednym z bardzo ważnych tematów związanych z tym projektem był ruch satelitarny. Dowiedzieliśmy się o ruchu satelitów, używając prędkości, siły wypadkowej i grawitacji. Pomogłoby nam to znaleźć pociski satelitów.
Gdy Twój CubeSat i arduino pomyślnie przejdą testy i będą działać poprawnie, to koniec. Twój CubeSat powinien być w stanie przetrwać w atmosferze Marsa. Upewnij się, że czujnik pomyślnie zarejestrował również temperaturę podczas testów. Twój CubeSat jest gotowy do podróży w kosmos!
Zalecana:
Gotowy do uruchomienia SSTV CubeSat: 7 kroków (ze zdjęciami)
Gotowy do startu SSTV CubeSat: Satelity to stworzone przez człowieka instrumenty, które zbierają informacje i dane z kosmosu. Od lat ludzie są pionierami technologii kosmicznej, a technologia kosmiczna jest bardziej dostępna niż kiedykolwiek. Wcześniej satelity były bardzo skomplikowane i drogie
Dzień tygodnia, kalendarz, godzina, wilgotność/temperatura z oszczędzaniem baterii: 10 kroków (ze zdjęciami)
Dzień tygodnia, kalendarz, czas, wilgotność / temperatura z oszczędzaniem baterii: Tryb oszczędzania energii odróżnia ten Instruktaż od innych przykładów pokazujących dzień tygodnia, miesiąc, dzień miesiąca, godzinę, wilgotność i temperaturę. To właśnie ta zdolność pozwala na uruchomienie tego projektu z akumulatora, bez t
Samouczek akcelerometru CubeSat: 6 kroków
CubeSat Accelerometer Tutorial: CubeSat to rodzaj zminiaturyzowanego satelity do badań kosmicznych, który składa się z wielokrotności jednostek sześciennych o wymiarach 10x10x10 cm i masie nie większej niż 1,33 kilograma na jednostkę. Cubesats umożliwiają wysyłanie dużej ilości satelitów w kosmos i w
Temperatura i wilgotność CubeSat: 7 kroków
Temperatura i wilgotność CubeSat: To jest nasz CubeSat. Zdecydowaliśmy, że chcemy zmierzyć temperaturę i wilgotność, ponieważ byliśmy ciekawi warunków w kosmosie. Wydrukowaliśmy naszą strukturę w 3D i znaleźliśmy najbardziej wydajne sposoby na zbudowanie tego modelu. Naszym celem było zbudowanie systemu, który
Cubesat do pomiaru temperatury i wilgotności: 5 kroków
Cubesat do pomiaru temperatury i wilgotności: Jak możemy zaprojektować, zbudować i zaprogramować model Mars Orbitera, który będzie zbierać dane i informować nas o konkretnych aspektach planety? Autor: Abe, Mason, Jackson i Wyatt