Inhoudsopgave:

Temperatuur CubeSat Ben & Kaiti & Q Hour 1: 8 stappen
Temperatuur CubeSat Ben & Kaiti & Q Hour 1: 8 stappen

Video: Temperatuur CubeSat Ben & Kaiti & Q Hour 1: 8 stappen

Video: Temperatuur CubeSat Ben & Kaiti & Q Hour 1: 8 stappen
Video: RB 18 - PICASSO, een Belgische cubesat van het BIRA 2024, November
Anonim
Temperatuur CubeSat Ben & Kaiti & Q Hour 1
Temperatuur CubeSat Ben & Kaiti & Q Hour 1
Temperatuur CubeSat Ben & Kaiti & Q Hour 1
Temperatuur CubeSat Ben & Kaiti & Q Hour 1

Heb je ooit zelf iets willen maken dat naar de ruimte kan worden gestuurd en de temperatuur van een andere planeet kan opnemen? In onze natuurkundeles op de middelbare school kregen we de opdracht om een CubeSat te bouwen met een functionerende arduino met als hoofdvraag Hoe kunnen we dit op Mars laten werken? We besloten om het de temperatuur op de planeet te laten meten, want wie zou niet willen weten hoe heet Mars is? We moesten er echter iets betaalbaars van maken, maar ook duurzaam. Daarom hebben we Lego gebruikt. Dit maakte de CubeSat duurzaam en hielp ons de afmetingen vrij gemakkelijk te bereiken, zelfs als alle stukken een beetje vervelend waren! Ons doel was om een volledig functionerende sensor te hebben die de omgevingstemperatuur kan opnemen, en een beschermende CubeSat eromheen.

Stap 1: Verzamelen van materialen/schetsen van de CubeSat

Materialen verzamelen/de CubeSat schetsen
Materialen verzamelen/de CubeSat schetsen
Materialen verzamelen/de CubeSat schetsen
Materialen verzamelen/de CubeSat schetsen

Het allereerste dat u wilt doen, is de CubeSat schetsen. U moet een idee hebben van wat u wilt bouwen voordat u het gaat bouwen. Een van de bovenstaande afbeeldingen is van CubeSat-schetsen die we hebben gemaakt. Verzamel vervolgens uw materialen. Voor de CubeSat die we aan het bouwen zijn, gebruiken we Lego. We hebben voor Lego gekozen omdat ze gemakkelijk te krijgen en in elkaar te zetten zijn, en tegelijkertijd duurzaam zijn en de vereiste taken goed uitvoeren. Dus je zult wat Lego moeten kopen. koop een paar brede basisstukken, die 10 cm x 10 cm x 10 cm zijn, of een paar basisstukken die kunnen worden samengevoegd tot een stuk van 10 bij 10. Voor onze CubeSat moesten we meerdere basisstukken krijgen en deze samenvoegen om een basis van 10 cm bij 10 cm te maken. Je hebt ook Lego nodig om een dakstuk van dezelfde grootte te maken. Nadat je die Lego's hebt gekregen, moet je een heleboel kleine Lego's hebben om de muren van de CubeSat op te bouwen. Zorg ervoor dat deze Lego's vrij dun zijn, zodat ze niet te veel van het interieur van de CubeSat in beslag nemen.

Stap 2: De Cubesat bouwen

De Cubesat bouwen
De Cubesat bouwen
De Cubesat bouwen
De Cubesat bouwen
De Cubesat bouwen
De Cubesat bouwen

Eerst hebben we deze schoonheid van 10x10x10 gebouwd. Er waren veel verschillende ontwerpen nodig. Eerst hadden we een plank in het midden, maar later besloten we dat dat niet nodig was. Als je ervoor kiest om een plank in het midden te hebben, zou ik slechts één plank aanraden, omdat je deze uit elkaar moet halen elke keer dat je je Arduino en sensor erin steekt en eruit haalt. We hebben kleine vensters toegevoegd zodat we snel naar binnen kunnen kijken terwijl de bovenkant gesloten is, zodat we kunnen zien dat alles soepel werkt. Om de CubeSat stabieler te maken, hebben we aan de onderkant twee lagen Lego samengevoegd. Hoe stabieler, hoe beter, want deze CubeSat zal veel verschillende obstakels moeten kunnen overwinnen.

Stap 3: Bedrading en codering van de Arduino

Bedrading en codering van de Arduino
Bedrading en codering van de Arduino
Bedrading en codering van de Arduino
Bedrading en codering van de Arduino
Bedrading en codering van de Arduino
Bedrading en codering van de Arduino

De tweede stap van dit project is waar je de Arduino moet bedraden. Deze stap is erg belangrijk, want als dit niet goed wordt gedaan, kan de Cube Sat de temperatuur niet aflezen. Om de bedrading van de arduino te voltooien, heb je wat materialen nodig. Deze materialen zijn een batterij, arduino, een SD-kaart, jumperdraden, een breadboard, een temperatuursensor en een computer. De computer wordt gebruikt om te zien of de bedrading goed werkt. Hier is een website die erg nuttig was om ons te begeleiden bij het aansluiten van de Arduino:

create.arduino.cc/projecthub/TheGadgetBoy/…

De afbeeldingen en het fritzing-diagram hierboven kunnen u ook helpen. De codering van de arduino wordt ook getest op de computer om te zien of deze werkt. Als alles werkt, kan de arduino uit de computer worden gehaald en is hij klaar voor gebruik.

Code:

// Datadraad is aangesloten op poort 2 op de Arduino

#define ONE_WIRE_BUS 2

Bestand sensorData;

// Stel een oneWire-instantie in om te communiceren met alle OneWire-apparaten (niet alleen Maxim/Dallas-temperatuur-IC's)

OneWire éénWire(ONE_WIRE_BUS);

// Voeg de bibliotheken toe die we nodig hebben

#erbij betrekken

#erbij betrekken

#erbij betrekken

// Geef onze oneWire-referentie naar Dallas Temperature door.

DallasTemperatuursensoren (&oneWire);

// arrays om het apparaatadres vast te houden

DeviceAddress insideThermometer;

/*

* Instelfunctie. Hier doen we de basis

*/

ongeldige setup (ongeldig)

{

pinMode (10, UITGANG);

SD.begin(4);

// start seriële poort

Serieel.begin(9600);

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

// lokaliseer apparaten in de bus

Serial.print("Apparaten lokaliseren…");

sensoren.begin();

Serial.print("Gevonden ");

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

Serial.println ("apparaten.");

// rapporteer stroomvereisten voor parasieten

Serial.print("Parasietenkracht is: ");

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

else Serial.println ("UIT");

/*Wijs adres handmatig toe. De onderstaande adressen zullen worden gewijzigd

naar geldige apparaatadressen op uw bus. Apparaatadres kan worden opgehaald

door ofwel oneWire.search(deviceAddress) of afzonderlijk via. te gebruiken

sensors.getAddress(deviceAddress, index) Merk op dat u hier uw specifieke adres moet gebruiken

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

Methode 1:

Apparaten op de bus zoeken en toewijzen op basis van een index. Ideaal, je zou dit doen om in eerste instantie adressen in de bus te ontdekken en dan

gebruik die adressen en wijs ze handmatig toe (zie hierboven) zodra je het weet

de apparaten op je bus (en ervan uitgaande dat ze niet veranderen).

*/ if (!sensors.getAddress(insideThermometer, 0)) Serial.println("Kan adres voor apparaat 0 niet vinden");

// methode 2: zoeken()

// search() zoekt naar het volgende apparaat. Retourneert 1 als een nieuw adres is geweest

// geretourneerd. Een nul kan betekenen dat de bus is kortgesloten, er zijn geen apparaten, // of je hebt ze allemaal al opgehaald. Het is misschien een goed idee om

// controleer de CRC om er zeker van te zijn dat je geen rommel hebt gekregen. De bestelling is:

// deterministisch. Je krijgt altijd dezelfde apparaten in dezelfde bestelling

//

// Moet worden aangeroepen voor zoeken()

//oneWire.reset_search();

// wijst het eerste gevonden adres toe aan insideThermometer

//if (!oneWire.search(insideThermometer)) Serial.println("Kan adres voor insideThermometer niet vinden");

// laat de adressen zien die we in de bus hebben gevonden

Serial.print("Apparaat 0 Adres: ");

printAddress (binnenthermometer);

Serieel.println();

// stel de resolutie in op 9 bit (elk Dallas/Maxim-apparaat kan verschillende resoluties aan)

sensoren.setResolution (insideThermometer, 9);

Serial.print ("Resolutie apparaat 0: ");

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

Serieel.println();

}

// functie om de temperatuur voor een apparaat af te drukken

void printTemperature (DeviceAddress deviceAddress)

{

// methode 1 - langzamer

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

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

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

//Serial.print(sensors.getTempF(deviceAddress)); // Doet een tweede oproep naar getTempC en converteert vervolgens naar Fahrenheit

// methode 2 - sneller

float tempC = sensors.getTempC(deviceAddress);

if(tempC == DEVICE_DISCONNECTED_C)

{

Serial.println ("Fout: kon temperatuurgegevens niet lezen");

opbrengst;

}

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

if (sensorgegevens) {

Serial.print("Temp C: ");

Serial.print(tempC);

Serial.print(" Temp F: ");

Serial.println(DallasTemperature::toFahrenheit(tempC)); // Converteert tempC naar Fahrenheit

sensorData.println(tempC);

sensorData.close();

}

}

/*

* Hoofdfunctie. Het zal de tempC van de sensoren opvragen en op Serieel weergeven.

*/

lege lus (leegte)

{

// bel sensors.requestTemperatures() om een globale temperatuur uit te geven

// verzoek aan alle apparaten op de bus

Serial.print("Temperaturen opvragen…");

sensoren.requestTemperatures(); // Stuur het commando om temperaturen te krijgen

Serial.println("KLAAR");

// Het reageert bijna onmiddellijk. Laten we de gegevens afdrukken

printtemperatuur (binnenthermometer); // Gebruik een eenvoudige functie om de gegevens af te drukken

}

// functie om een apparaatadres af te drukken

void printAddress(DeviceAddress deviceAddress)

{

voor (uint8_t ik = 0; ik < 8; i++)

{

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

Serial.print(apparaatAdres, HEX);

}

}

BeantwoordenDoorsturen

Stap 4: Controle over de Cubesat

Controle over de Cubesat
Controle over de Cubesat
Controle over de Cubesat
Controle over de Cubesat

Nu de CubeSat, de code en de bedrading van de Arduino voltooid zijn, ga je binnenkort testen uitvoeren. Als deze tests niet slagen, kan uw CubeSat mogelijk volledig worden vernietigd, samen met uw Arduino. Daarom wil je ervoor zorgen dat je Arduino hier klaar voor is. Dat is waar deze stap om de hoek komt kijken, het controleren van de CubeSat. Eerst moet je je Arduino veilig in de CubeSat plaatsen en ervoor zorgen dat hij niet gaat wiebelen. Vervolgens moet u ervoor zorgen dat alle onderdelen van de CubeSat goed op hun plaats zitten. Er mogen geen losse stukjes zijn, anders zal de CubeSat eerder uit elkaar vallen tijdens de tests. Als u uw CubeSat goed controleert, moeten de tests die hij doorstaat gemakkelijk worden doorstaan.

Stap 5: De CubeSat ophangen

De CubeSat ophangen
De CubeSat ophangen

Deze stap is een voorbereiding op de eerste test die de CubeSat zal doorlopen. In de test wordt de CubeSat gedurende 30 seconden in een snel tempo in een cirkel rondgezwaaid. U moet ervoor zorgen dat de CubeSat stevig is opgehangen, zodat hij niet wegvliegt. We bonden 2 touwtjes helemaal om de CubeSat, en bonden ze stevig vast. Daarna voegden we nog een lang touw toe, dat om de eerste twee was gebonden. We hebben dit touw meerdere keren aan de boven- en onderkant geknoopt, zodat het zo goed mogelijk vast zat. Dit kan meerdere pogingen vergen omdat je de snaar perfect wilt maken, zodat hij niet losraakt tijdens de vlucht.

Stap 6: De schommeltest

De schommeltest
De schommeltest

Draag voor de veiligheid bij deze stap een veiligheidsbril om uw ogen te beschermen. In deze stap laat u de CubeSat door een test lopen om te zien of deze de Arduino goed genoeg beschermt om zijn taak uit te voeren (temperatuur vinden). De eerste test is degene die het rijgen nodig heeft. In deze test wordt de Arduino rondgezwaaid (zoals weergegeven in de afbeelding / video hierboven) - (soms heeft de video moeite met laden). In het midden kan een model Mars worden geplaatst. Om deze test met succes te voltooien, moet de Arduino rondgezwaaid zijn zonder los te komen, daarom moet hij goed worden opgehangen, en de Arduino moet volledig functioneren nadat de test is voltooid. Zorg er daarom voor dat de Arduino goed vastzit in de CubeSat.

Stap 7: Test #2- de schudtest

Test #2- de schudtest
Test #2- de schudtest

In deze stap doorloopt uw CubeSat test #2. Deze test is de schudtest. In deze test wordt de CubeSat in een houder geplaatst zoals weergegeven in de afbeelding/video (soms heeft de video moeite met laden) hierboven en wordt 30 seconden krachtig heen en weer geschud. Om deze test te doorstaan, moeten uw CubeSat en Arduino nog steeds volledig functioneren nadat ze zijn geschud.

Stap 8: Resultaten/voltooide temperatuur CubeSat

Resultaten/Voltooide temperatuur CubeSat
Resultaten/Voltooide temperatuur CubeSat
Resultaten/Voltooide temperatuur CubeSat
Resultaten/Voltooide temperatuur CubeSat
Resultaten/Voltooide temperatuur CubeSat
Resultaten/Voltooide temperatuur CubeSat

Uiteindelijk was onze CubeSat in staat om de temperatuur tijdens elke test met succes te registreren. De gegevens geven bij elke test consequent 26-30 graden Celsius aan. Dit is hetzelfde als 78-86 graden Fahrenheit. Onderweg kwamen we echter wel wat problemen tegen. Meerdere keren werkte de codering van de arduino bijvoorbeeld niet en las 126 graden Celsius. Er waren meerdere pogingen nodig om de juiste temperatuur te bereiken. Een advies dat ik iedereen zou geven die dit project doet, zou zijn om meerdere variaties van code en bedrading te proberen, en ervoor te zorgen dat je arduino goed in de CubeSat past. Mogelijk moet u de opening in de CubeSat kleiner maken om ervoor te zorgen dat de Arduino er perfect in past. We hadden een probleem met het feit dat de Arduino te los in de CubeSat zat.

In dit project moet je ook je kennis van de natuurkunde toepassen. Fysische kennis van technologie, energie en kracht zal gedurende het hele project moeten worden toegepast. Tijdens het project leerden we meer over het zonnestelsel en over nieuwe technologieën zoals CubeSats. We hebben ook geleerd over zwaartekracht en hoe deze kracht de CubeSat kan beïnvloeden. Een heel belangrijk onderwerp bij dit project was satellietbeweging. We leerden over satellietbewegingen door gebruik te maken van snelheid, nettokracht en zwaartekracht. Dit zou ons helpen de projectielen van satellieten te vinden.

Zodra uw CubeSat en arduino de tests met succes hebben doorstaan en naar behoren werken, bent u klaar. Je CubeSat zou de atmosfeer van Mars moeten kunnen overleven. Zorg ervoor dat de sensor ook tijdens de tests de temperatuur met succes heeft geregistreerd. Je CubeSat is klaar om de ruimte in te gaan!

Aanbevolen: