Innehållsförteckning:

Temperatur CubeSat Ben & Kaiti & Q Hour 1: 8 Steg
Temperatur CubeSat Ben & Kaiti & Q Hour 1: 8 Steg

Video: Temperatur CubeSat Ben & Kaiti & Q Hour 1: 8 Steg

Video: Temperatur CubeSat Ben & Kaiti & Q Hour 1: 8 Steg
Video: Basic Satellite Design- Part picking for a 1U cubesat 2024, November
Anonim
Temperatur CubeSat Ben & Kaiti & Q Hour 1
Temperatur CubeSat Ben & Kaiti & Q Hour 1
Temperatur CubeSat Ben & Kaiti & Q Hour 1
Temperatur CubeSat Ben & Kaiti & Q Hour 1

Har du någonsin velat göra något själv som kan skickas till rymden och ta temperaturen på en annan planet? I vår gymnasiefysikklass fick vi i uppdrag att bygga en CubeSat med en fungerande arduino med huvudfrågan Hur kan vi få detta att fungera på Mars? Vi bestämde oss för att låta den mäta temperaturen på planeten, för vem skulle inte vilja veta hur heta mars är? Vi behövde dock göra det av något prisvärt, men också hållbart. Därför använde vi Legos. Detta gjorde CubeSat hållbar och hjälpte oss att nå storlekarna ganska enkelt-även om alla bitar var lite irriterande! Vårt mål var att ha en fullt fungerande sensor som kan ta temperaturen i omgivningen och en skyddande CubeSat runt den.

Steg 1: Samla material/skissa på CubeSat

Samlar material/skisserar CubeSat
Samlar material/skisserar CubeSat
Samlar material/skisserar CubeSat
Samlar material/skisserar CubeSat

Det allra första du kommer att vilja göra är att skissa CubeSat. Du måste ha en uppfattning om vad du vill bygga innan du bygger det. En av bilderna ovan är av CubeSat -skisser vi gjort. Samla sedan ditt material. För CubeSat vi bygger använder vi Legos. Vi valde Legos eftersom de är lätta att få ihop och sätta ihop, och samtidigt är de hållbara och kommer att utföra de nödvändiga uppgifterna bra. Så du måste skaffa några Legos. skaffa ett par breda basstycken, det vill säga 10cm X 10 cm X 10 cm, eller några basstycken som kan sättas ihop till en 10 x 10 bit. För vår CubeSat var vi tvungna att skaffa flera basstycken och sätta ihop dem för att få en bas på 10 cm x 10 cm. Du måste också få Legos för att göra ett takstycke i samma storlek. När du har fått dessa Legos måste du få massor av små Legos för att bygga upp väggarna i CubeSat. Se till att dessa Legos är ganska smala, så att de inte tar upp för mycket av interiören i CubeSat.

Steg 2: Bygg Cubesat

Bygga Cubesat
Bygga Cubesat
Bygga Cubesat
Bygga Cubesat
Bygga Cubesat
Bygga Cubesat

Först byggde vi denna 10x10x10 skönhet. Det krävdes många olika mönster. Först hade vi en hylla i mitten men vi bestämde senare att det var onödigt att ha. Om du väljer att ha en hylla i mitten rekommenderar jag bara en hylla eftersom du måste ta isär den varje gång du sätter in och tar ut din Arduino och sensor. Vi lade till små fönster så att vi kan titta snabbt inuti medan toppen är stängd så att vi kan se att allt fungerar smidigt. För att göra CubeSat mer stabil sätter vi ihop två lager Lego längst ner. Ju mer stabil desto bättre, eftersom denna CubeSat kommer att behöva klara många olika hinder.

Steg 3: Anslutning och kodning av Arduino

Kabeldragning och kodning av Arduino
Kabeldragning och kodning av Arduino
Kabeldragning och kodning av Arduino
Kabeldragning och kodning av Arduino
Kabeldragning och kodning av Arduino
Kabeldragning och kodning av Arduino

Det andra steget i det här projektet är där du måste koppla arduino. Detta steg är mycket viktigt, för om detta inte görs på rätt sätt kommer inte kuben att kunna avläsa temperaturen. För att slutföra kabeldragningen av arduino behöver du några material. Dessa material är ett batteri, arduino, ett SD -kort, bygelkablar, en brödbräda, en temperatursensor och en dator. Datorn kommer att användas för att se om ledningarna fungerar som de ska. Här är en webbplats som var till stor hjälp för att vägleda oss om hur du kopplar arduino:

create.arduino.cc/projecthub/TheGadgetBoy/…

Bilderna och fritzningsdiagrammet ovan kan också hjälpa dig. Arduino -kodningen testas också på datorn för att se om den fungerar. Om allt fungerar kan arduino tas ut ur datorn och är redo att gå.

Koda:

// Datakabel är ansluten till port 2 på Arduino

#define ONE_WIRE_BUS 2

File sensorData;

// Konfigurera en oneWire -instans för att kommunicera med alla OneWire -enheter (inte bara Maxim/Dallas temperatur -IC: er)

OneWire oneWire (ONE_WIRE_BUS);

// Inkludera de bibliotek vi behöver

#omfatta

#omfatta

#omfatta

// Passera vår oneWire -referens till Dallas Temperature.

DallasTemperatursensorer (& oneWire);

// matriser för att hålla enhetsadress

DeviceAdrress insideThermometer;

/*

* Inställningsfunktion. Här gör vi grunderna

*/

void setup (void)

{

pinMode (10, OUTPUT);

SD. Började (4);

// starta seriell port

Serial.begin (9600);

Serial.println ("Dallas Temperature IC Control Library Demo");

// hitta enheter på bussen

Serial.print ("Hitta enheter …");

sensorer.start ();

Serial.print ("Hittat");

Serial.print (sensors.getDeviceCount (), DEC);

Serial.println ("enheter.");

// rapportera kraven på parasitkraft

Serial.print ("Parasitkraft är:");

if (sensors.isParasitePowerMode ()) Serial.println ("ON");

annars Serial.println ("AV");

/*Tilldela adress manuellt. Adresserna nedan kommer att ändras

till giltiga enhetsadresser på din buss. Enhetsadress kan hämtas

genom att använda antingen oneWire.search (deviceAddress) eller individuellt via

sensors.getAddress (deviceAddress, index) Observera att du måste använda din specifika adress här

insideThermometer = {0x28, 0x1D, 0x39, 0x31, 0x2, 0x0, 0x0, 0xF0};

Metod 1:

Sök efter enheter på bussen och tilldela baserat på ett index. Helst, du skulle göra detta för att initialt upptäcka adresser på bussen och sedan

använd dessa adresser och tilldela dem manuellt (se ovan) när du vet det

enheterna på din buss (och förutsatt att de inte ändras).

*/ if (! sensors.getAddress (insideThermometer, 0)) Serial.println ("Det gick inte att hitta adressen för enhet 0");

// metod 2: sök ()

// search () letar efter nästa enhet. Returnerar 1 om en ny adress har varit

// återvände. En nolla kan innebära att bussen är kortsluten, det finns inga enheter, // eller så har du redan hämtat dem alla. Det kan vara en bra idé att

// kolla CRC för att se till att du inte fick skräp. Beställningen är

// deterministisk. Du får alltid samma enheter i samma ordning

//

// Måste ringas före sökning ()

//oneWire.reset_search ();

// tilldelar insideThermometer den första adressen som hittades

// if (! oneWire.search (insideThermometer)) Serial.println ("Det gick inte att hitta adressen för insideThermometer");

// visa adresserna vi hittade på bussen

Serial.print ("Device 0 Address:");

printAddress (insideThermometer);

Serial.println ();

// ställ in upplösningen till 9 bitar (Varje Dallas/Maxim -enhet kan flera olika upplösningar)

sensorer.setResolution (inutiTermometer, 9);

Serial.print ("Enhet 0 -upplösning:");

Serial.print (sensors.getResolution (insideThermometer), DEC);

Serial.println ();

}

// funktion för att skriva ut temperaturen för en enhet

void printTemperature (DeviceAddress deviceAddress)

{

// metod 1 - långsammare

//Serial.print("Temp C: ");

//Serial.print(sensors.getTempC(deviceAddress));

//Serial.print ("Temp F:");

//Serial.print(sensors.getTempF(deviceAddress)); // Ringer ett andra samtal till getTempC och konverterar sedan till Fahrenheit

// metod 2 - snabbare

float tempC = sensorer.getTempC (deviceAddress);

if (tempC == DEVICE_DISCONNECTED_C)

{

Serial.println ("Fel: Det gick inte att läsa temperaturdata");

lämna tillbaka;

}

sensorData = SD.open ("log.txt", FILE_WRITE);

if (sensorData) {

Serial.print ("Temp C:");

Serial.print (tempC);

Serial.print ("Temp F:");

Serial.println (DallasTemperature:: toFahrenheit (tempC)); // Konverterar tempC till Fahrenheit

sensorData.println (tempC);

sensorData.close ();

}

}

/*

* Huvudfunktion. Det kommer att begära tempC från sensorerna och visa på Serial.

*/

void loop (void)

{

// ringa sensorer.requestTemperatures () för att utfärda en global temperatur

// begäran till alla enheter på bussen

Serial.print ("Begär temperaturer …");

sensors.requestTemperatures (); // Skicka kommandot för att få temperaturer

Serial.println ("KLAR");

// Det svarar nästan omedelbart. Låt oss skriva ut data

printTemperature (insideThermometer); // Använd en enkel funktion för att skriva ut data

}

// funktion för att skriva ut en enhetsadress

void printAddress (DeviceAddress deviceAddress)

{

för (uint8_t i = 0; i <8; i ++)

{

if (deviceAddress <16) Serial.print ("0");

Serial.print (deviceAddress , HEX);

}

}

Svara Framåt

Steg 4: Kontrollera över Cubesat

Kontroll över Cubesat
Kontroll över Cubesat
Kontroll över Cubesat
Kontroll över Cubesat

Nu när CubeSat, kod och ledningar för a Arduino är klar kör du snart test. Om dessa test misslyckas kan din CubeSat eventuellt förstöras helt, tillsammans med din Arduino. Därför vill du se till att din Arduino är redo för detta. Det är där detta steg kommer in för att spela, kontrollera över CubeSat. Först måste du placera din Arduino säkert inuti CubeSat och se till att den inte skakar runt. Då måste du se till att alla bitar av CubeSat sitter ordentligt på plats. Det kan inte finnas några lösa bitar, annars är det mer troligt att CubeSat lossnar under testerna. Om du kontrollerar din CubeSat noggrant bör de tester som den genomgår enkelt klaras.

Steg 5: Stränga upp CubeSat

Stränga upp CubeSat
Stränga upp CubeSat

Detta steg kommer att förberedas för det första testet som CubeSat kommer att gå igenom. I testet kommer CubeSat att svängas runt i snabb takt i en cirkel i 30 sekunder. Du måste se till att CubeSat är hårt spänd så att den inte flyger iväg. Vi knöt 2 strängar helt runt CubeSat och band dem tätt. Sedan lade vi till en annan lång sträng, som var bunden runt de två första. Vi knöt denna sträng flera gånger upptill och nedtill så den var så säker som möjligt. Detta kan ta flera försök eftersom du vill göra strängen perfekt så att den inte lossnar under flygningen.

Steg 6: Swingtestet

Swingtestet
Swingtestet

För säkerhets skull i detta steg, var noga med att bära skyddsglasögon för att skydda dina ögon. I det här steget kommer du att köra CubeSat genom ett test för att se om den skyddar Arduino tillräckligt bra för att den ska kunna utföra sin uppgift (att hitta temperatur). Det första testet är det som behöver strängningen. I detta test kommer Arduino att svängas runt (som visas på bilden/videon ovan)- (ibland har videon problem med att ladda). En modell Mars kan placeras i mitten. För att lyckas med detta test måste Arduino svänga runt utan att komma loss, varför det måste spännas upp bra och Arduino måste fungera fullt ut efter att testet är klart. Det är därför du måste se till att Arduino är säkert säkrad i CubeSat.

Steg 7: Testa 2- skakningstestet

Test nr 2- skakningstestet
Test nr 2- skakningstestet

I detta steg kommer din CubeSat att genomgå test nr 2. Detta test är skakprovet. I detta test kommer CubeSat att placeras i en hållare som visas på bilden/videon (ibland har videon problem med att ladda) ovan och kommer att skakas våldsamt fram och tillbaka i 30 sekunder. För att klara detta test måste din CubeSat och Arduino fortfarande fungera fullt ut efter att de skakats.

Steg 8: Resultat/slutförd temperatur CubeSat

Resultat/slutförd temperatur CubeSat
Resultat/slutförd temperatur CubeSat
Resultat/slutförd temperatur CubeSat
Resultat/slutförd temperatur CubeSat
Resultat/slutförd temperatur CubeSat
Resultat/slutförd temperatur CubeSat

I slutändan kunde vår CubeSat framgångsrikt registrera temperaturen medan vi genomgick varje test. Data läste konsekvent 26-30 grader Celsius i varje test. Detta är samma sak som 78-86 grader Fahrenheit. Men vi sprang in på några problem på vägen. Till exempel fungerade inte kodningen av arduinoen flera gånger och läste 126 grader Celsius. Det tog flera försök att uppnå rätt temperatur. Några råd jag skulle ge till alla som gör det här projektet skulle vara att prova flera varianter av kod och ledningar och se till att din arduino passar tätt in i CubeSat. Du kan behöva dra åt gapet inuti CubeSat för att se till att arduino passar perfekt inuti. Vi hade några problem med att arduino var för lös i CubeSat.

I detta projekt måste du också tillämpa dina kunskaper i fysik. Fysikkunskaper om teknik, energi och kraft kommer att behöva tillämpas under hela projektet. Under hela projektet lärde vi oss mer om solsystemet och ny teknik som CubeSats. Vi lärde oss också om gravitationskraft och hur denna kraft kan påverka CubeSat. Ett mycket viktigt ämne med detta projekt var satellitrörelse. Vi lärde oss om satellitrörelser genom att använda hastighet, nettokraft och gravitation. Detta skulle hjälpa oss att hitta satelliternas projektiler.

När din CubeSat och arduino har klarat testerna och fungerar korrekt är du klar. Din CubeSat ska kunna överleva Mars atmosfär. Se till att sensorn också registrerade temperaturen under testerna. Din CubeSat är redo att gå till rymden!

Rekommenderad: