Cuprins:

Cum să construiești un Cubesat cu un Arduino și un accelerometru .: 5 pași
Cum să construiești un Cubesat cu un Arduino și un accelerometru .: 5 pași

Video: Cum să construiești un Cubesat cu un Arduino și un accelerometru .: 5 pași

Video: Cum să construiești un Cubesat cu un Arduino și un accelerometru .: 5 pași
Video: 6th Annual STM Conference - Session 3: SSA Tech & Decision Making 2024, Noiembrie
Anonim
Cum să construiești un Cubesat cu un Arduino și un accelerometru
Cum să construiești un Cubesat cu un Arduino și un accelerometru

Numele noștri sunt Brock, Eddie și Drew. Scopul principal al clasei noastre de fizică este să călătorim de pe Pământ pe Marte în timp ce simulăm orbita din jurul lui Marte folosind un Cube Sat și colectăm date. Scopul grupurilor noastre pentru acest proiect este de a colecta date folosind un senzor accelerometru care va fi atașat la Arduino în interiorul unui Cube Sat care va orbita pe „Marte” pentru a găsi forța gravitațională pe acea planetă. Unele constrângeri posibile pentru această sarcină specifică ar fi codul care nu funcționează corect, accelerometrul nu colectează date și limita pe care CubeSat o poate cântări. Deși există multe alte persoane pe care le-ar putea întâlni orice persoană, acestea au fost cele cu care s-a confruntat grupul nostru. Un videoclip al proiectului și testării noastre finale poate fi găsit aici https://www.youtube.com/embed/u1_o38KSrEc -Eddie

Pasul 1: Lista materialelor

Lista materialelor
Lista materialelor
Lista materialelor
Lista materialelor
Lista materialelor
Lista materialelor

TOATE MATERIALELE ENUMERATE SE INTRA DIN CUBESAT

1. Arduino și cablu de alimentare https://www.amazon.com/Elegoo-EL-CB-001-ATmega328…: arduino este conceput pentru a face electronica mai accesibilă artiștilor, designerilor, pasionaților și oricui este interesat să creeze obiecte interactive sau medii

: permite alimentarea către și de la Arduino și computer

2. Breadboard

: o placă pentru realizarea unui model experimental al unui circuit electric

MATERIALE ATASATE PE PANOU

1. Accelerometru Arduino

: un instrument pentru măsurarea accelerației sau pentru detectarea și măsurarea vibrațiilor

2. Modul de card SD Arduino

: vă permite să adăugați stocarea în masă și înregistrarea datelor în proiectul dvs.

3. Arduino Wires

: transferă cod în întregul Arduino și panoul de testare

4. Lumina LED

: un LED este o lumină mică (înseamnă „diodă emițătoare de lumină”) care funcționează cu o putere relativ mică

-Draw

Pasul 2: Instrumente necesare și practici de siguranță

INSTRUMENTE NECESARE

1. Cuțit Exacto

- am folosit un cuțit exacto pentru a tăia și urmări forma Arduino și Breadboard prin Styrofoam, pentru a proteja Arduino și Breadboard în cazul în care există accidente

2. Pistol de lipit fierbinte

- am folosit un pistol de lipit fierbinte pentru a lipi Styrofoam pe părțile laterale ale Cubesat-ului nostru pentru a ne asigura că Arduino și Breadboard sunt sigure

3. Spuma de poliester

- am folosit bucăți de spumă de poliester pentru a fixa Arduino și panoul de prindere pe laturile Cubesat-ului nostru, de asemenea, pentru a permite o pernă dacă Cubesat este scăpat sau scuturat

PRACTICI DE SIGURANȚĂ

1. prima practică de siguranță pe care am aplicat-o a fost să ne asigurăm că nu atingem imprimanta 3D când tipărea Cubesat. imprimanta 3D se va încălzi foarte mult și este important să vă amintiți să nu o atingeți.

2. când folosim cuțitul exacto pentru a tăia bucățile de poliestir, a trebuit să așezăm carton dedesubt pentru a ne asigura că mesele nu vor fi deteriorate. de asemenea, a trebuit să purtăm ochelari de protecție atunci când folosim cuțitul, în cazul în care orice ne-a zburat în față sau în jurul spațiului nostru de lucru.

3. atunci când utilizați unelte care necesită muncă grea, asigurați-vă că purtați ochelari de protecție din motive de siguranță.

4. odată ce ați atașat Cubesat la orbiter, asigurați-vă că avertizați oamenii din jurul orbitatorului că veți testa Cubesat și veți purta ochelari de protecție pentru a vă asigura că toate părțile corpului și oamenii sunt în siguranță.

-Draw

Pasul 3: Cum să:

Cum să
Cum să
Cum să
Cum să
Cum să
Cum să

Cum se construiește un CubeSat

1. pentru a începe procesul de construire CubeSat, trebuie să căutați modele ale CubeSat care să fie de 10x10x10 și să aibă la îndemână un fișier STL.

2. când ați găsit un model care va funcționa în menținerea în siguranță a unei plăci și a unui Arduino, trebuie să descărcați fișierele de pe o unitate flash, astfel încât să puteți accesa fișierele de pe imprimanta 3D.

3. după ce fișierele corecte au fost descărcate pe unitatea flash, puteți conecta unitatea flash la computerul conectat la imprimanta 3D.

4. când tipăriți, asigurați-vă că selectați fișierele corecte și că toate firele, codurile și intrările sunt corect conectate între computer și imprimanta 3D. acest lucru vă va asigura că CubeSat este imprimat corect și totul merge conform planului.

5. alocați fiecărui membru al grupului un timp desemnat pentru a verifica în mod eficient imprimanta și progresul CubeSat pentru a detecta orice probleme cu care ați putea întâmpina. posibilitatea de a avea un membru al echipei care verifică progresul la fiecare 2-3 ore, va oferi suficientă asistență pentru a remedia orice problemă și pentru a urmări progresele care vor fi realizate.

-Eddie

CODUL:

#include #include #include #include

const int MPU = 0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; pas dublu, rulare;

Date de fișiere;

configurare nulă () {

pinMode (10, OUTPUT); // trebuie să setați pinul 10 la ieșire chiar dacă nu este utilizat; // setarea pinului 7 pentru a aprinde ledul SD.begin (4); // începe cardul SD cu CS setat la pinul 4 Serial.begin (9600); Serial.println (F ("test BMP280")); Wire.begin (); Wire.beginTransmission (MPU); Wire.write (0x6B); Wire.write (0); Wire.endTransmission (adevărat); Serial.begin (9600); } void loop () {Wire.beginTransmission (MPU); Wire.write (0x3B); Wire.endTransmission (fals); Wire.requestFrom (MPU, 14, adevărat);

int AcXoff, AcYoff, AcZoff, GyXoff, GyYoff, GyZoff; int temp, toff; dublu t, tx, tf;

// Corectarea datelor de accelerare AcXoff = -950; AcYoff = -300; AcZoff = 0;

// Toff de corecție a temperaturii = -1600;

// Gyro correction GyXoff = 480; GyYoff = 170; GyZoff = 210;

// citește datele de accelerație AcX = (Wire.read () << 8 | Wire.read ()) + AcXoff; AcY = (Wire.read () << 8 | Wire.read ()) + AcYoff; AcZ = (Wire.read () << 8 | Wire.read ()) + AcYoff;

// citire date temperatură temp = (Wire.read () << 8 | Wire.read ()) + toff; tx = temp; t = tx / 340 + 36,53; tf = (t * 9/5) + 32;

// citire date giroscopice GyX = (Wire.read () << 8 | Wire.read ()) + GyXoff; GyY = (Wire.read () << 8 | Wire.read ()) + GyYoff; GyZ = (Wire.read () << 8 | Wire.read ()) + GyZoff;

Date = SD.open ("Log.txt", FILE_WRITE); // deschide fișierul numit „Jurnal”

// get pitch / roll getAngle (AcX, AcY, AcZ);

// trimiteți datele prin portul serial Serial.print ("Unghi:"); Serial.print ("Pitch ="); Serial.print (pitch); Serial.print ("| Roll ="); Serial.println (roll);

Serial.print ("Temp:"); Serial.print ("Temp (F) ="); Serial.print (tf); Serial.print ("| Temp (C) ="); Serial.println (t);

Serial.print ("Accelerometru:"); Serial.print ("X ="); Serial.print (AcX); Serial.print ("| Y ="); Serial.print (AcY); Serial.print ("| Z ="); Serial.println (AcZ);

Serial.print ("Giroscop:"); Serial.print ("X ="); Serial.print (GyX); Serial.print ("| Y ="); Serial.print (GyY); Serial.print ("| Z ="); Serial.println (GyZ); Serial.println ("");

Data.print (pitch); Data.println (roll);

Data.print (tf); Data.println (t); Data.print (AcX); // scrie acel acel date în fișierul Data.print (","); // tipărește virgula în fișierul Data.print (AcY); Data.print (","); Data.print (AcZ); Data.print (","); Data.print (GyX); Data.print (","); Data.print (GyY); Data.print (","); Data.println (GyZ);

întârziere (1000); }

// convertiți datele de accelare în pitch / roll void getAngle (int Vx, int Vy, int Vz) {double x = Vx; y dublu = Vy; dublu z = Vz;

}

}

CODUL (CONT.):

- acesta este codul pe care l-am folosit pentru a aduna date de pe accelerometru și card SD.

-După ce am conectat Arduino și Breadboard-ul nostru pentru a arăta ca cel de pe diagrama frizting, am introdus cardul SD în modulul adaptorului cardului SD și ne-am pregătit în continuare pentru testarea noastră finală.

-avem probleme cu codul pentru o lungă perioadă de timp, dar codul dat mai sus este codul final pe care l-am folosit care ne-a dat datele pe care le-am folosit pentru prezentarea noastră.

-acest cod colectează datele de pe accelerometru și transferă informațiile în cardul SD.

-cardul SD a fost conectat la USB și conectat la computer. de acolo informațiile au fost introduse în computerul nostru.

-Brock

Cablarea ARDUINO:

- în timp ce conectam Arduino, ne-am luptat cu fire și dud Arduinos.

- a trebuit să corectăm cablarea Arduino de mai multe ori din cauza cablării incorecte.

- pentru a asigura cablarea și codarea corectă, asigurați-vă că firele dvs. sunt securizate în întregime și că procesul dvs. de cod este corect.

DIAGRAMA DE ÎNGRIJIRE:

- diagrama fritzing a fost direct înainte și ușor de urmărit împreună cu

- ne-am confruntat cu probleme cu diagrama atunci când modulul cardului SD nu făcea parte din programul fritzing. din această cauză, a trebuit să căutăm online o parte descărcabilă pe care să o includem pe diagramă

- am finalizat diagrama prin includerea pieselor și programelor corecte în diagramă

-Draw

Pasul 4: Rezultate / Lecții învățate

Graficul nostru arată o creștere clară a temperaturii, probabil datorită încălzitorului care a luat timp pentru a atinge temperatura maximă.

Pentru acest proiect, fizica cu care ne-am confruntat a fost forța centripetă care păstrează CubeSat orbitând.

-Brock

Recomandat: