Temperatur CubeSat Ben & Kaiti & Q Time 1: 8 trinn
Temperatur CubeSat Ben & Kaiti & Q Time 1: 8 trinn
Anonim
Temperatur CubeSat Ben & Kaiti & Q Time 1
Temperatur CubeSat Ben & Kaiti & Q Time 1
Temperatur CubeSat Ben & Kaiti & Q Time 1
Temperatur CubeSat Ben & Kaiti & Q Time 1

Har du noen gang ønsket å lage noe selv som kan sendes til verdensrommet og ta temperaturen på en annen planet? I vår fysikkundervisning på videregående skole fikk vi i oppdrag å bygge en CubeSat med en fungerende arduino med hovedspørsmålet Hvordan kan vi få dette til å fungere på Mars? Vi bestemte oss for å måle temperaturen på planeten, for hvem vil ikke vite hvor varm mars er? Vi trengte imidlertid å gjøre det ut av noe rimelig, men også holdbart. Derfor brukte vi Legos. Dette gjorde CubeSat holdbar og hjalp oss med å nå dimensjonene ganske enkelt-selv om alle bitene var litt irriterende! Målet vårt var å ha en fullt fungerende sensor som kan ta temperaturen i området rundt og en beskyttende CubeSat rundt den.

Trinn 1: Samle materialer/skissere CubeSat

Samle materialer/skissere CubeSat
Samle materialer/skissere CubeSat
Samle materialer/skissere CubeSat
Samle materialer/skissere CubeSat

Det aller første du vil gjøre er å tegne CubeSat. Du må ha en ide om hva du vil bygge før du bygger det. En av bildene ovenfor er av CubeSat -skisser vi har laget. Deretter samler du materialet ditt. For CubeSat vi bygger bruker vi Legos. Vi valgte Legos fordi de er enkle å få og sette sammen, og samtidig er de holdbare og vil utføre de nødvendige oppgavene godt. Så du må skaffe deg noen Legos. få et par brede bunnstykker, som er 10 cm x 10 cm x 10 cm, eller noen få bunnstykker som kan settes sammen til et 10 x 10 stykke. For vår CubeSat måtte vi skaffe flere bunnstykker og sette dem sammen for å lage en 10 cm x 10 cm bunn. Du må også få Legos til å lage et takstykke i samme størrelse. Etter at du har fått disse Legos, må du få massevis av små Legos for å bygge opp veggene i CubeSat. Sørg for at disse legoene er ganske tynne, så de ikke tar for mye av interiøret i CubeSat.

Trinn 2: Bygg Cubesat

Å bygge Cubesat
Å bygge Cubesat
Å bygge Cubesat
Å bygge Cubesat
Å bygge Cubesat
Å bygge Cubesat

Først bygde vi denne 10x10x10 skjønnheten. Det tok mange forskjellige design. Først hadde vi en hylle i midten, men vi bestemte oss senere for at det var unødvendig å ha. Hvis du velger å ha en hylle i midten, vil jeg kun anbefale en hylle fordi du må ta den fra hverandre hver gang du setter inn og tar ut Arduino og sensor. Vi la til små vinduer slik at vi kan se raskt inne mens toppen er lukket, slik at vi kan se at alt fungerer jevnt. For å gjøre CubeSat mer stabil setter vi sammen to lag Lego nederst. Jo mer stabil jo bedre, fordi denne CubeSat må kunne overleve mange forskjellige hindringer.

Trinn 3: Kabling og koding av Arduino

Kabling og koding av Arduino
Kabling og koding av Arduino
Kabling og koding av Arduino
Kabling og koding av Arduino
Kabling og koding av Arduino
Kabling og koding av Arduino

Det andre trinnet i dette prosjektet er hvor du må koble arduinoen. Dette trinnet er veldig viktig, fordi hvis dette ikke er gjort riktig, vil terningen ikke kunne lese temperaturen. For å fullføre ledningene til arduinoen trenger du noen materialer. Disse materialene er et batteri, arduino, et SD -kort, jumperkabler, et brødbrett, en temperatursensor og en datamaskin. Datamaskinen vil bli brukt til å se om ledningene fungerer som de skal. Her er et nettsted som var veldig nyttig for å veilede oss om hvordan du kobler arduinoen:

create.arduino.cc/projecthub/TheGadgetBoy/…

Bildene og fritzing -diagrammet ovenfor kan også hjelpe deg. Kodingen av arduino vil også bli testet på datamaskinen for å se om den fungerer. Hvis alt fungerer, kan arduinoen tas ut av datamaskinen og er klar til bruk.

Kode:

// Datakabelen er koblet til port 2 på Arduino

#define ONE_WIRE_BUS 2

File sensorData;

// Sett opp en oneWire -forekomst for å kommunisere med alle OneWire -enheter (ikke bare Maxim/Dallas temperatur -ICer)

OneWire oneWire (ONE_WIRE_BUS);

// Inkluder bibliotekene vi trenger

#inkludere

#inkludere

#inkludere

// Pass vår oneWire -referanse til Dallas Temperature.

DallasTemperatursensorer (& oneWire);

// matriser for å holde enhetsadressen

DeviceAdrress insideThermometer;

/*

* Oppsettfunksjon. Her gjør vi det grunnleggende

*/

ugyldig oppsett (ugyldig)

{

pinMode (10, OUTPUT);

SD. Begynte (4);

// start seriell port

Serial.begin (9600);

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

// finn enheter på bussen

Serial.print ("Finner enheter …");

sensorer.begynner ();

Serial.print ("funnet");

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

Serial.println ("enheter.");

// rapporter parasittkrav

Serial.print ("Parasittkraft er:");

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

ellers Serial.println ("AV");

/*Tildel adresse manuelt. Adressene nedenfor vil bli endret

til gyldige enhetsadresser på bussen din. Enhetsadressen kan hentes

ved å bruke enten oneWire.search (deviceAddress) eller individuelt via

sensors.getAddress (deviceAddress, index) Vær oppmerksom på at du må bruke din spesifikke adresse her

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

Metode 1:

Søk etter enheter på bussen og tilordne basert på en indeks. Ideelt sett, du ville gjøre dette for å først oppdage adresser på bussen og deretter

bruk disse adressene og tildel dem manuelt (se ovenfor) når du vet det

enhetene på bussen din (og forutsatt at de ikke endres).

*/ if (! sensors.getAddress (insideThermometer, 0)) Serial.println ("Kan ikke finne adressen til enhet 0");

// metode 2: søk ()

// søk () ser etter den neste enheten. Returnerer 1 hvis en ny adresse har vært

// returnert. En null kan bety at bussen er kortsluttet, det er ingen enheter, // eller du har allerede hentet dem alle. Det kan være en god idé å

// sjekk CRC for å sikre at du ikke fikk søppel. Ordren er

// deterministisk. Du vil alltid få de samme enhetene i samme rekkefølge

//

// Må ringes før søk ()

//oneWire.reset_search ();

// tildeler insideThermometer den første adressen som ble funnet

// if (! oneWire.search (insideThermometer)) Serial.println ("Kan ikke finne adressen til insideThermometer");

// vis adressene vi fant på bussen

Serial.print ("Enhet 0 -adresse:");

printAddress (insideThermometer);

Serial.println ();

// sett oppløsningen til 9 bit (Hver Dallas/Maxim -enhet har flere forskjellige oppløsninger)

sensors.setResolution (innvendigTermometer, 9);

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

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

Serial.println ();

}

// funksjon for å skrive ut temperaturen for en enhet

void printTemperature (DeviceAddress deviceAddress)

{

// metode 1 - tregere

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

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

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

//Serial.print(sensors.getTempF(deviceAddress)); // Tar et nytt anrop til getTempC og konverterer deretter til Fahrenheit

// metode 2 - raskere

flyt tempC = sensorer.getTempC (deviceAddress);

hvis (tempC == DEVICE_DISCONNECTED_C)

{

Serial.println ("Feil: Kunne ikke lese temperaturdata");

komme tilbake;

}

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)); // Konverterer tempC til Fahrenheit

sensorData.println (tempC);

sensorData.close ();

}

}

/*

* Hovedfunksjon. Det vil be om tempC fra sensorene og vises på Serial.

*/

void loop (void)

{

// ring sensorer.requestTemperatures () for å utstede en global temperatur

// forespørsel til alle enheter på bussen

Serial.print ("Ber om temperaturer …");

sensors.requestTemperatures (); // Send kommandoen for å få temperaturer

Serial.println ("DONE");

// Den reagerer nesten umiddelbart. La oss skrive ut dataene

printTemperature (innvendigTermometer); // Bruk en enkel funksjon for å skrive ut dataene

}

// funksjon for å skrive ut en enhetsadresse

void printAddress (DeviceAddress deviceAddress)

{

for (uint8_t i = 0; i <8; i ++)

{

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

Serial.print (deviceAddress , HEX);

}

}

Svar fremover

Trinn 4: Kontrollere Cubesat

Kontroller over Cubesat
Kontroller over Cubesat
Kontroller over Cubesat
Kontroller over Cubesat

Nå som CubeSat, kode og ledninger til a Arduino er fullført, kjører du snart tester. Hvis disse testene mislykkes, kan CubeSat potensielt bli fullstendig ødelagt sammen med Arduino. Derfor vil du sørge for at Arduino er klar for dette. Det er der dette trinnet kommer inn for å spille, sjekke over CubeSat. Først må du plassere Arduino sikkert inne i CubeSat, og sørge for at den ikke vil jiggle rundt. Deretter må du sørge for at alle biter av CubeSat er sikkert på plass. Det kan ikke være løse stykker, eller det er mer sannsynlig at CubeSat kommer til å gå fra hverandre under testene. Hvis du kontrollerer CubeSat godt, bør testene den gjennomgår enkelt bestås.

Trinn 5: Strenge opp CubeSat

Strenger opp CubeSat
Strenger opp CubeSat

Dette trinnet vil være i forberedelse til den første testen CubeSat skal gjennomgå. I testen vil CubeSat svinges rundt i et raskt tempo i en sirkel i 30 sekunder. Du må sørge for at CubeSat er strammet godt opp slik at den ikke flyr av. Vi knyttet 2 strenger helt rundt CubeSat, og bandt dem tett. Deretter la vi til en annen lang streng, som var bundet rundt de to første. Vi knyttet denne snoren flere ganger øverst og nederst, så den var så sikret som mulig. Dette kan ta flere forsøk fordi du vil gjøre strengen perfekt, slik at den ikke løsner under flyging.

Trinn 6: Swing -testen

Swing -testen
Swing -testen

For sikkerhet i dette trinnet må du bruke briller for å beskytte øynene dine. I dette trinnet vil du kjøre CubeSat gjennom en test for å se om den beskytter Arduino godt nok til at den kan utføre oppgaven (finne temperatur). Den første testen er den som trenger strengen. I denne testen vil Arduino svinge rundt (som vist på bildet/videoen ovenfor)- (noen ganger har videoen problemer med å laste). En modell Mars kan plasseres i midten. For å fullføre denne testen, må Arduino ha svingt rundt uten å komme uten tilknytning, og derfor må den festes godt opp, og Arduino må fungere fullt ut etter at testen er ferdig. Det er derfor du må sørge for at Arduino er godt sikret i CubeSat.

Trinn 7: Test nr. 2- ristetesten

Test nr. 2- ristetesten
Test nr. 2- ristetesten

I dette trinnet vil CubeSat gå gjennom test nr. 2. Denne testen er ristetesten. I denne testen blir CubeSat plassert i en holder som vist på bildet/videoen (noen ganger har videoen problemer med å laste) ovenfor og vil bli ristet voldsomt frem og tilbake i 30 sekunder. For å bestå denne testen må CubeSat og Arduino fortsatt fungere fullt ut etter at de er rystet.

Trinn 8: Resultater/fullført temperatur CubeSat

Resultater/Fullført temperatur CubeSat
Resultater/Fullført temperatur CubeSat
Resultater/Fullført temperatur CubeSat
Resultater/Fullført temperatur CubeSat
Resultater/Fullført temperatur CubeSat
Resultater/Fullført temperatur CubeSat

Til slutt klarte vår CubeSat å registrere temperaturen mens han gikk gjennom hver test. Dataene viser konsekvent 26-30 grader Celsius i hver test. Dette er det samme som 78-86 grader Fahrenheit. Imidlertid løp vi inn på noen problemer på veien. For eksempel fungerte ikke kodingen av arduinoen flere ganger, og den leste 126 grader Celsius. Det tok flere forsøk for å oppnå riktig temperatur. Noen råd jeg vil gi til alle som gjør dette prosjektet, ville være å prøve flere varianter av kode og ledninger, og å sørge for at arduinoen din passer godt inn i CubeSat. Du må kanskje stramme gapet inne i CubeSat for å sikre at arduinoen passer perfekt inni. Vi hadde et problem med at arduinoen var for løs i CubeSat.

I dette prosjektet må du også bruke dine fysikkunnskaper. Fysikk kunnskap om teknologi, energi og kraft må brukes gjennom hele prosjektet. Gjennom hele prosjektet lærte vi mer om solsystemet og nye teknologier som CubeSats. Vi lærte også om gravitasjonskraft, og hvordan denne kraften kan påvirke CubeSat. Et veldig viktig tema med dette prosjektet var satellittbevegelse. Vi lærte om satellittbevegelse ved å bruke hastighet, nettokraft og tyngdekraft. Dette vil hjelpe oss med å finne prosjektilene til satellitter.

Når CubeSat og arduino har bestått testene og fungerer som de skal, er du ferdig. CubeSat skal være i stand til å overleve atmosfæren på Mars. Sørg for at sensoren også registrerte temperaturen gjennom testene. CubeSat er klar til å gå til verdensrommet!

Anbefalt: