Spisu treści:

Temperatura CubeSat Ben & Kaiti & Q Godzina 1: 8 kroków
Temperatura CubeSat Ben & Kaiti & Q Godzina 1: 8 kroków

Wideo: Temperatura CubeSat Ben & Kaiti & Q Godzina 1: 8 kroków

Wideo: Temperatura CubeSat Ben & Kaiti & Q Godzina 1: 8 kroków
Wideo: Aerospace Engineering Brown Bag Lecture Series, Ben Breer and Keshav Ramanathan 2024, Listopad
Anonim
Temperatura CubeSat Ben & Kaiti & Q Godzina 1
Temperatura CubeSat Ben & Kaiti & Q Godzina 1
Temperatura CubeSat Ben & Kaiti & Q Godzina 1
Temperatura CubeSat Ben & Kaiti & Q Godzina 1

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

Zbieranie materiałów/szkicowanie CubeSata
Zbieranie materiałów/szkicowanie CubeSata
Zbieranie materiałów/szkicowanie CubeSata
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

Budowa Cubesata
Budowa Cubesata
Budowa Cubesata
Budowa Cubesata
Budowa Cubesata
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

Okablowanie i kodowanie Arduino
Okablowanie i kodowanie Arduino
Okablowanie i kodowanie Arduino
Okablowanie i kodowanie Arduino
Okablowanie i kodowanie Arduino
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

Sprawdzanie nad Cubesat
Sprawdzanie nad Cubesat
Sprawdzanie nad Cubesat
Sprawdzanie 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

Naciąganie CubeSata
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

Test huśtawki
Test huśtawki

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

Test nr 2 – test wstrząsania
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

Wyniki/ukończony pomiar temperatury CubeSat
Wyniki/ukończony pomiar temperatury CubeSat
Wyniki/ukończony pomiar temperatury CubeSat
Wyniki/ukończony pomiar temperatury CubeSat
Wyniki/ukończony pomiar temperatury CubeSat
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: