Cuprins:

Temperatura CubeSat Ben & Kaiti & Q Ora 1: 8 pași
Temperatura CubeSat Ben & Kaiti & Q Ora 1: 8 pași
Anonim
Temperatura CubeSat Ben și Kaiti și Q Ora 1
Temperatura CubeSat Ben și Kaiti și Q Ora 1
Temperatura CubeSat Ben & Kaiti și Q Ora 1
Temperatura CubeSat Ben & Kaiti și Q Ora 1

Ați dorit vreodată să creați singur ceva care să poată fi trimis în spațiu și să preia temperatura unei alte planete? În clasa noastră de fizică din liceu, am fost desemnați să construim un CubeSat cu un arduino funcțional, cu întrebarea principală Cum putem face acest lucru să funcționeze pe Marte? Am decis să măsurăm temperatura pe planetă, pentru că cine nu ar vrea să știe cât de fierbinte este Marte? Cu toate acestea, trebuia să-l facem din ceva accesibil, dar și durabil. Prin urmare, am folosit Legos. Acest lucru a făcut ca CubeSat să fie durabil și ne-a ajutat să atingem dimensiunile de dimensionare destul de ușor - chiar dacă toate piesele erau puțin greoaie! Scopul nostru a fost de a avea un senzor pe deplin funcțional, care poate prelua temperatura zonei înconjurătoare și un CubeSat de protecție în jurul său.

Pasul 1: Adunarea materialelor / schițarea CubeSat

Adunarea materialelor / schițarea CubeSat
Adunarea materialelor / schițarea CubeSat
Adunarea materialelor / schițarea CubeSat
Adunarea materialelor / schițarea CubeSat

Primul lucru pe care vrei să-l faci este să schițezi CubeSat. Va trebui să aveți o idee despre ceea ce doriți să construiți înainte de a-l construi. Una dintre fotografiile de mai sus este cea a schițelor CubeSat pe care le-am făcut. Apoi, adunați-vă materialele. Pentru CubeSat pe care îl construim, folosim Legos. Am ales Legos, deoarece acestea sunt ușor de obținut și de asamblat și, în același timp, sunt durabile și vor îndeplini bine sarcinile necesare. Deci, va trebui să obțineți niște Legos. obțineți câteva piese de bază late, adică 10cm X 10 cm X 10 cm, sau câteva piese de bază care pot fi puse împreună la o bucată de 10 pe 10. Pentru CubeSat, a trebuit să obținem mai multe piese de bază și să le punem împreună pentru a face o bază de 10 cm pe 10 cm. De asemenea, va trebui să obțineți Legos pentru a face o piesă de acoperiș de aceeași dimensiune. După ce veți obține acele Legos, va trebui să obțineți o grămadă de mici Legos pentru a construi zidurile CubeSat. Asigurați-vă că aceste Legos sunt destul de subțiri, astfel încât să nu ocupe prea mult din interiorul CubeSat.

Pasul 2: Construirea Cubesat

Construirea Cubesat
Construirea Cubesat
Construirea Cubesat
Construirea Cubesat
Construirea Cubesat
Construirea Cubesat

În primul rând, am construit această frumusețe de 10x10x10. A fost nevoie de multe modele diferite. Mai întâi am avut un raft la mijloc, dar mai târziu am decis că nu este necesar să avem. Dacă alegeți să aveți un raft în mijloc, aș recomanda un singur raft, deoarece va trebui să îl desfaceți de fiecare dată când introduceți și scoateți Arduino și senzorul. Am adăugat ferestre mici, astfel încât să putem arunca o privire rapidă în interior, în timp ce partea superioară este închisă, astfel încât să putem vedea totul funcționând fără probleme. Pentru a face CubeSat mai stabil, am pus împreună două straturi de Lego în partea de jos. Cu cât este mai stabil, cu atât mai bine, deoarece acest CubeSat va trebui să poată supraviețui multor obstacole diferite.

Pasul 3: Cablarea și codarea Arduino

Cablarea și codarea Arduino
Cablarea și codarea Arduino
Cablarea și codarea Arduino
Cablarea și codarea Arduino
Cablarea și codarea Arduino
Cablarea și codarea Arduino

Al doilea pas al acestui proiect este locul în care va trebui să conectați arduino. Acest pas este foarte important, deoarece, dacă acest lucru nu se face corect, atunci cubul sat nu va putea citi temperatura. Pentru a finaliza cablarea arduino, veți avea nevoie de câteva materiale. Aceste materiale sunt o baterie, arduino, un card SD, fire jumper, o placă de măsurare, un senzor de temperatură și un computer. Calculatorul va fi folosit pentru a vedea dacă cablajul funcționează corect. Iată un site web care ne-a fost de mare ajutor în a ne ghida cu privire la modul de conectare a arduino-ului:

create.arduino.cc/projecthub/TheGadgetBoy/…

Imaginile și diagrama înfricoșătoare de mai sus vă pot ajuta, de asemenea. Codificarea arduino va fi, de asemenea, testată pe computer pentru a vedea dacă funcționează. Dacă totul funcționează, arduino-ul poate fi scos din computer și este gata de pornire.

Cod:

// Cablul de date este conectat la portul 2 de pe Arduino

#define ONE_WIRE_BUS 2

File sensorData;

// Configurați o instanță oneWire pentru a comunica cu orice dispozitiv OneWire (nu doar cu circuite integrate de temperatură Maxim / Dallas)

OneWire oneWire (ONE_WIRE_BUS);

// Includeți bibliotecile de care avem nevoie

#include

#include

#include

// Treceți referința noastră oneWire la temperatura Dallas.

Senzori de temperatură Dallas (& oneWire);

// matrici pentru a păstra adresa dispozitivului

Adresa dispozitivului în interiorul termometrului;

/*

* Funcția de configurare. Aici facem elementele de bază

*/

configurare nulă (nulă)

{

pinMode (10, OUTPUT);

SD.begin (4);

// pornește portul serial

Serial.begin (9600);

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

// localizați dispozitivele pe autobuz

Serial.print („Localizarea dispozitivelor …”);

sensors.begin ();

Serial.print („Găsit”);

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

Serial.println ("dispozitive.");

// raportează cerințele de putere ale paraziților

Serial.print ("Puterea parazitului este:");

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

else Serial.println ("OFF");

/ * Atribuiți adresa manual. Adresele de mai jos vor fi modificate

la adresele de dispozitiv valide din autobuzul dvs. Adresa dispozitivului poate fi recuperată

utilizând fie oneWire.search (deviceAddress), fie individual prin

sensors.getAddress (deviceAddress, index) Rețineți că va trebui să utilizați adresa dvs. specifică aici

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

Metoda 1:

Căutați dispozitive pe autobuz și atribuiți pe baza unui index. Ideal, ați face acest lucru pentru a descoperi inițial adrese în autobuz și apoi

utilizați acele adrese și atribuiți-le manual (a se vedea mai sus) odată ce știți

dispozitivele din autobuzul dvs. (și presupunând că nu se schimbă).

* / if (! sensors.getAddress (insideTermmometer, 0)) Serial.println ("Imposibil de găsit adresa pentru dispozitivul 0");

// metoda 2: search ()

// search () caută următorul dispozitiv. Returnează 1 dacă a fost o nouă adresă

// întors. Un zero ar putea însemna că autobuzul este scurtcircuitat, nu există dispozitive, // sau le-ați recuperat deja pe toate. Ar putea fi o idee bună să

// verificați CRC pentru a vă asigura că nu ați primit gunoi. Ordinea este

// determinat. Veți primi întotdeauna aceleași dispozitive în aceeași ordine

//

// Trebuie apelat înainte de căutare ()

//oneWire.reset_search ();

// atribuie prima adresă găsită în interiorul termometrului

// if (! oneWire.search (insideThermometer)) Serial.println ("Imposibil de găsit adresa pentru insideThermometer");

// arată adresele pe care le-am găsit în autobuz

Serial.print ("Adresa dispozitivului 0:");

printAddress (în interiorul termometrului);

Serial.println ();

// setați rezoluția la 9 biți (fiecare dispozitiv Dallas / Maxim este capabil de mai multe rezoluții diferite)

sensors.setResolution (în interiorul termometrului, 9);

Serial.print ("Rezoluția dispozitivului 0:");

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

Serial.println ();

}

// funcție pentru a imprima temperatura pentru un dispozitiv

void printTemperature (DeviceAddress deviceAddress)

{

// metoda 1 - mai lentă

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

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

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

//Serial.print(sensors.getTempF(deviceAddress)); // Face un al doilea apel pentru a obțineTempC și apoi se convertește în Fahrenheit

// metoda 2 - mai rapidă

float tempC = sensors.getTempC (deviceAddress);

if (tempC == DEVICE_DISCONNECTED_C)

{

Serial.println ("Eroare: nu s-au putut citi datele de temperatură");

întoarcere;

}

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)); // Convertește tempC în Fahrenheit

sensorData.println (tempC);

sensorData.close ();

}

}

/*

* Functie principala. Va solicita temperatura de la senzori și va fi afișată pe Serial.

*/

bucla nulă (nulă)

{

// apelează sensors.requestTemperatures () pentru a emite o temperatură globală

// solicitați tuturor dispozitivelor de pe autobuz

Serial.print („Cererea temperaturilor …”);

sensors.requestTemperatures (); // Trimiteți comanda pentru a obține temperaturi

Serial.println ("GĂSIT");

// Răspunde aproape imediat. Să imprimăm datele

printTemperature (insideTermmometer); // Folosiți o funcție simplă pentru a imprima datele

}

// funcție pentru a imprima adresa unui dispozitiv

void printAddress (DeviceAddress deviceAddress)

{

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

{

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

Serial.print (deviceAddress , HEX);

}

}

Răspundeți înainte

Pasul 4: Verificarea peste Cubesat

Verificând peste Cubesat
Verificând peste Cubesat
Verificând peste Cubesat
Verificând peste Cubesat

Acum că CubeSat, codul și cablajul unui Arduino sunt terminate, veți rula teste în curând. Dacă aceste teste nu reușesc, CubeSat ar putea fi distrus complet, împreună cu Arduino. Prin urmare, veți dori să vă asigurați că Arduino este pregătit pentru acest lucru. Aici intervine acest pas pentru a juca, verificând CubeSat. Mai întâi, va trebui să plasați Arduino în siguranță în interiorul CubeSat și să vă asigurați că nu va zbura. Apoi, va trebui să vă asigurați că toate piesele CubeSat sunt fixate în siguranță. Nu pot exista piese libere sau CubeSat va fi mai probabil să se destrame în timpul testelor. Dacă verificați cu fermitate CubeSat-ul dvs., testele pe care le trece ar trebui să fie trecute cu ușurință.

Pasul 5: Încordarea CubeSat

Încordarea CubeSat
Încordarea CubeSat

Acest pas va fi pregătitor pentru primul test prin care va trece CubeSat. În test, CubeSat va fi rotit într-un ritm rapid într-un cerc timp de 30 de secunde. Va trebui să vă asigurați că CubeSat este strâns strâns, astfel încât să nu se desprindă. Am legat complet 2 corzi în jurul CubeSat și le-am legat strâns. Apoi, am adăugat un alt șir lung, care a fost legat în jurul primelor două. Am înnodat acest șir de mai multe ori în partea de sus și de jos, astfel încât să fie cât mai sigur posibil. Acest lucru poate dura mai multe încercări, deoarece doriți să faceți șirul perfect, astfel încât să nu se desprindă în timpul zborului.

Pasul 6: Testul Swing

Testul Swing
Testul Swing

Pentru siguranță în acest pas, asigurați-vă că purtați ochelari de protecție pentru a vă proteja ochii. În acest pas, veți rula CubeSat printr-un test pentru a vedea dacă protejează Arduino suficient de bine pentru a-și îndeplini sarcina (găsirea temperaturii). Primul test este cel care are nevoie de șiruri. În acest test, Arduino va fi rotit (așa cum se arată în imaginea / videoclipul de mai sus) - (uneori videoclipul are probleme la încărcare). Un model Marte poate fi plasat în mijloc. Pentru a finaliza cu succes acest test, Arduino va trebui să se învârtă fără să vină fără atașament, motiv pentru care trebuie să fie strâns bine și Arduino va trebui să funcționeze pe deplin după terminarea testului. De aceea, trebuie să vă asigurați că Arduino este bine fixat în CubeSat.

Pasul 7: Testul nr. 2- Testul Shake

Test # 2- Testul Shake
Test # 2- Testul Shake

În acest pas, CubeSat va trece prin testul nr. 2. Acest test este testul de shake. În acest test, CubeSat va fi plasat într-un suport așa cum se arată în imagine / videoclip (uneori videoclipul are probleme la încărcare) de mai sus și va fi agitat violent înainte și înapoi timp de 30 de secunde. Pentru a trece acest test, CubeSat și Arduino vor trebui să funcționeze pe deplin după ce sunt agitate.

Pasul 8: Rezultate / Temperatură finalizată CubeSat

Rezultate / Temperatură completată CubeSat
Rezultate / Temperatură completată CubeSat
Rezultate / Temperatură completată CubeSat
Rezultate / Temperatură completată CubeSat
Rezultate / Temperatură completată CubeSat
Rezultate / Temperatură completată CubeSat

În cele din urmă, CubeSat a reușit să înregistreze cu succes temperatura în timp ce trecea prin fiecare test. Datele au citit în mod constant 26-30 de grade Celsius în fiecare test. Este la fel ca 78-86 grade Fahrenheit. Cu toate acestea, am întâmpinat câteva probleme pe drum. De exemplu, de mai multe ori codarea arduino-ului nu a funcționat și a citit 126 de grade Celsius. Au fost necesare mai multe încercări pentru a atinge temperatura corectă. Unele sfaturi pe care le-aș da oricui face acest proiect ar fi să încerce mai multe variante de cod și cablare și să te asiguri că arduino-ul tău se potrivește bine cu CubeSat. Poate fi necesar să strângeți spațiul din interiorul CubeSat pentru a vă asigura că arduino se potrivește perfect în interior. Am avut unele probleme cu arduino-ul prea slab în CubeSat.

În acest proiect, va trebui, de asemenea, să vă aplicați cunoștințele de fizică. Cunoștințele fizicii despre tehnologie, energie și forță vor trebui aplicate pe tot parcursul proiectului. De-a lungul proiectului am aflat mai multe despre sistemul solar și despre noile tehnologii precum CubeSats. De asemenea, am aflat despre forța gravitațională și despre modul în care această forță ar putea afecta CubeSat. Un subiect foarte important al acestui proiect a fost mișcarea prin satelit. Am aflat despre mișcarea satelitului folosind viteza, forța netă și gravitația. Acest lucru ne-ar ajuta să găsim proiectilele sateliților.

După ce CubeSat și arduino au trecut cu succes testele și au funcționat corect, ați terminat. CubeSat ar trebui să poată supraviețui atmosferei lui Marte. Asigurați-vă că senzorul a înregistrat cu succes temperatura și în timpul testelor. CubeSat-ul dvs. este gata să meargă în spațiu!

Recomandat: