Sadržaj:
Video: Kako izgraditi Cubesat s Arduinom i akcelerometrom .: 5 koraka
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Zovemo se Brock, Eddie i Drew. Glavni cilj našeg razreda fizike je putovati sa Zemlje na Mars dok simulira orbitu oko Marsa koristeći Cube Sat i prikupljajući podatke. Cilj naših grupa za ovaj projekt je prikupiti podatke pomoću senzora akcelerometra koji će biti pričvršćen na naš Arduino unutar kocke satelita koja će kružiti oko "Marsa" kako bi pronašla gravitacijsku silu na tom planetu. Neka moguća ograničenja za ovaj specifični zadatak bila bi da kôd ne radi na ispravan način, mjerač ubrzanja ne prikuplja podatke i granica koju CubeSat može izvagati. Iako postoji mnogo drugih s kojima bi se svaka osoba mogla susresti, s tim se naša grupa suočila. Videozapis našeg završnog projekta i testiranja možete pronaći ovdje https://www.youtube.com/embed/u1_o38KSrEc -Eddie
Korak 1: Popis materijala
SVI NAVEDENI MATERIJALI IDU U CUBESAT
1. Arduino i kabel za napajanje https://www.amazon.com/Elegoo-EL-CB-001-ATmega328…: arduino je osmišljen kako bi elektroniku učinio pristupačnijom umjetnicima, dizajnerima, hobistima i svima zainteresiranima za stvaranje interaktivnih objekata ili okruženja
: dopustite napajanje i iz vašeg Arduina i računala
2. Oglasna ploča
: ploča za izradu eksperimentalnog modela električnog kruga
MATERIJALI PRIKLJUČENI NA ISUŠTENJE
1. Arduino akcelerometar
: instrument za mjerenje ubrzanja ili za otkrivanje i mjerenje vibracija
2. Modul Arduino SD kartice
: omogućuje vam dodavanje masovne pohrane i bilježenja podataka u vaš projekt
3. Arduino žice
: prenosi kôd kroz Arduino i matičnu ploču
4. LED svjetlo
: LED je mala svjetlost (označava "diodu koja emitira svjetlost") koja radi s relativno malom snagom
-Nacrtati
Korak 2: Potrebni alati i sigurnosne prakse
ALATI POTREBNI
1. Nož Exacto
- koristili smo egzaktni nož za rezanje i praćenje oblika Arduina i Breadboard -a kroz stiropor, kako bismo zaštitili Arduino i Breadboard u slučaju nesreća
2. Pištolj za vruće ljepilo
- koristili smo pištolj za vruće ljepilo da zalijepimo stiropor sa strana našeg Cubesat -a kako bismo bili sigurni da su naši Arduino i Breadboard sigurni
3. Stiropor
- koristili smo komade stiropora za pričvršćivanje Arduina i matične ploče sa strana našeg Cubesat -a, također kako bismo omogućili jastuk ako Cubesat padne ili se protrese okolo
SIGURNOSNE PRAKSE
1. prva sigurnosna praksa koju smo primijenili bila je paziti da ne dodirnemo 3D pisač dok je ispisivao Cubesat. 3D pisač će se jako zagrijati i važno ga je zapamtiti da ga ne dodirujete.
2. kada smo pomoću egzaktnog noža izrezali komade stiropora, morali smo ispod staviti karton kako se stolovi ne bi oštetili. morali smo nositi i zaštitne naočale kada smo koristili kutiju s nožem, sve nam je letjelo u lice ili oko radnog prostora.
3. pri korištenju alata koji zahtijevaju težak rad, iz sigurnosnih razloga nosite naočale.
4. nakon što pričvrstite Cubesat na orbiter, upozorite ljude oko orbita da ćete testirati svoj Cubesat i nositi naočale kako biste bili sigurni da su svi dijelovi tijela i ljudi sigurni.
-Nacrtati
Korak 3: Kako:
Kako izgraditi CubeSat
1. da biste započeli proces izgradnje CubeSat -a, morate pretraživati modele CubeSat -a koji su 10x10x10 i imaju STL datoteku pri ruci.
2. kada pronađete model koji će raditi na sigurnom držanju matične ploče i Arduina, morate preuzeti datoteke na flash pogon kako biste mogli pristupiti datotekama na 3D pisaču.
3. nakon što su ispravne datoteke preuzete na flash pogon, možete spojiti flash pogon na računalo koje je spojeno na 3D pisač.
4. prilikom ispisa provjerite jeste li odabrali ispravne datoteke i jesu li sve žice, kodovi i ulazi ispravno ožičeni između računala i 3D pisača. to će osigurati da je CubeSat ispravno ispisan i da sve ide prema planu.
5. dodijelite svakom članu grupe određeno vrijeme za učinkovitu provjeru pisača i napredak CubeSat -a kako bi se uhvatili svi problemi na koje možete naići. mogućnost da član tima provjerava napredak otprilike svaka 2-3 sata, pružit će dovoljno pomoći za rješavanje problema i pratiti napredak koji će se postići.
-Eddie
KOD:
#include #include #include #include
const int MPU = 0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; dvostruki korak, kotrljanje;
Podaci datoteke;
void setup () {
pinMode (10, OUTPUT); // mora postaviti pin 10 na izlaz čak i ako se ne koristi; // postavljanje pina 7 za paljenje LED SD.begin (4); // započinje SD karticu s CS postavljenim na pin 4 Serial.begin (9600); Serial.println (F ("BMP280 test")); Wire.begin (); Wire.beginTransmission (MPU); Wire.write (0x6B); Wire.write (0); Wire.endTransmission (istina); Serial.begin (9600); } void loop () {Wire.beginTransmission (MPU); Wire.write (0x3B); Wire.endTransmission (lažno); Wire.requestFrom (MPU, 14, istina);
int AcXoff, AcYoff, AcZoff, GyXoff, GyYoff, GyZoff; int temp, toff; dvostruki t, tx, tf;
// Ispravak podataka o ubrzanju AcXoff = -950; AcYoff = -300; AcZoff = 0;
// Korekcija temperature toff = -1600;
// Žiro korekcija GyXoff = 480; GyYoff = 170; GyZoff = 210;
// čitanje podataka o pristupu AcX = (Wire.read () << 8 | Wire.read ()) + AcXoff; AcY = (Wire.read () << 8 | Wire.read ()) + AcYoff; AcZ = (Wire.read () << 8 | Wire.read ()) + AcYoff;
// očitavanje temperaturnih podataka temp = (Wire.read () << 8 | Wire.read ()) + toff; tx = temp; t = tx/340 + 36,53; tf = (t * 9/5) + 32;
// čitanje žiroskopskih podataka GyX = (Wire.read () << 8 | Wire.read ()) + GyXoff; GyY = (Wire.read () << 8 | Wire.read ()) + GyYoff; GyZ = (Wire.read () << 8 | Wire.read ()) + GyZoff;
Podaci = SD.open ("Log.txt", FILE_WRITE); // otvara datoteku pod nazivom "Dnevnik"
// dobiti pitch/roll getAngle (AcX, AcY, AcZ);
// šalje podatke s serijskog porta Serial.print ("Kut:"); Serial.print ("Pitch ="); Serijski.ispis (visina); Serial.print ("| Roll ="); Serial.println (rola);
Serial.print ("Temp:"); Serial.print ("Temp (F) ="); Serijski.ispis (tf); Serial.print ("| Temp (C) ="); Serijski.println (t);
Serial.print ("Akcelerometar:"); Serial.print ("X ="); Serijski.ispis (AcX); Serial.print ("| Y ="); Serijski.ispis (AcY); Serial.print ("| Z ="); Serijski.println (AcZ);
Serial.print ("Žiroskop:"); Serial.print ("X ="); Serijski.ispis (GyX); Serial.print ("| Y ="); Serijski.ispis (GyY); Serial.print ("| Z ="); Serijski.println (GyZ); Serial.println ("");
Data.print (visina); Data.println (rola);
Data.print (tf); Data.println (t); Data.print (AcX); // zapisuje acel podatke u datoteku Data.print (","); // ispisuje zarez u datoteci Data.print (AcY); Data.print (","); Data.print (AcZ); Data.print (","); Data.print (GyX); Data.print (","); Data.print (GyY); Data.print (","); Data.println (GyZ);
kašnjenje (1000); }
// pretvaramo akceleracijske podatke u pitch/roll void getAngle (int Vx, int Vy, int Vz) {double x = Vx; dvostruki y = Vy; dvostruko z = Vz;
}
}
KOD (NASTAVAK):
-to je kod koji smo koristili za prikupljanje podataka s akcelerometra i SD kartice.
-Nakon što smo naš Arduino i Breadboard ožičili kako bi izgledali kao na dijagramu frizinga, uključili smo SD karticu u adapterski modul SD kartice i nastavili se spremati za naše konačno testiranje.
-Dugo smo imali problema s kodom, ali gore navedeni kod je konačni kod koji smo koristili i koji nam je dao podatke koje smo koristili za našu prezentaciju.
-ovaj kôd prikuplja podatke s mjerača ubrzanja i prenosi podatke na SD karticu.
-SD kartica je priključena na USB i priključena na računalo. odatle su informacije stavljene u naše računalo.
-Jazavac
OŽIČAVANJE ARDUINA:
- dok smo ožičavali Arduino, borili smo se s dosadnim žicama i glupim Arduinosom.
- morali smo više puta ispraviti ožičenje našeg Arduina zbog pogrešnog ožičenja.
- kako biste osigurali ispravno ožičenje i kodiranje, provjerite jesu li vaše žice u potpunosti osigurane i koda ispravno obrađena.
DIJAGRAM ZA FRITZIRANJE:
- dijagram fritzinga bio je ravno naprijed i lako ga je pratiti
- naišli smo na probleme s dijagramom kada modul SD kartice nije bio dio programa za fritzing. zbog toga smo morali na internetu tražiti dio koji se može preuzeti i uključiti u dijagram
- dovršili smo dijagram uključivanjem ispravnih dijelova i programa u dijagram
-Nacrtati
Korak 4: Rezultati/naučene lekcije
Naš grafikon prikazuje jasan porast temperature, vjerojatno zbog toga što je grijaču potrebno vrijeme da postigne maksimalnu temperaturu.
Za ovaj projekt, fizika na koju smo naišli bila je centripetalna sila koja je držala CubeSat u orbiti.
-Jazavac