Turinys:

Kaip sukurti „Cubesat“naudojant „Arduino“ir akselerometrą: 5 žingsniai
Kaip sukurti „Cubesat“naudojant „Arduino“ir akselerometrą: 5 žingsniai

Video: Kaip sukurti „Cubesat“naudojant „Arduino“ir akselerometrą: 5 žingsniai

Video: Kaip sukurti „Cubesat“naudojant „Arduino“ir akselerometrą: 5 žingsniai
Video: Time synchronization between modules. (Синхронизация таймеров нано спутника) 2024, Lapkritis
Anonim
Kaip sukurti „Cubesat“naudojant „Arduino“ir akselerometrą
Kaip sukurti „Cubesat“naudojant „Arduino“ir akselerometrą

Mūsų vardai yra Brockas, Edis ir Drew. Pagrindinis mūsų fizikos pamokos tikslas yra keliauti iš Žemės į Marsą, imituojant orbitą aplink Marsą naudojant „Cube Sat“ir renkant duomenis. Mūsų grupių tikslas šiame projekte yra rinkti duomenis naudojant akselerometro jutiklį, kuris bus pritvirtintas prie mūsų „Arduino“kubo šeštadienio viduje, kuris skrieja aplink Marsą, kad surastų gravitacinę jėgą toje planetoje. Kai kurie galimi šios konkrečios užduoties suvaržymai būtų netinkamai veikiantis kodas, akselerometras nerenka duomenų ir riba, kurią gali sverti „CubeSat“. Nors yra daug kitų, su kuriais gali susidurti bet kuris žmogus, su jais susidūrė mūsų grupė. Mūsų galutinio projekto ir bandymų vaizdo įrašą rasite čia https://www.youtube.com/embed/u1_o38KSrEc -Eddie

1 žingsnis: medžiagų sąrašas

Medžiagų sąrašas
Medžiagų sąrašas
Medžiagų sąrašas
Medžiagų sąrašas
Medžiagų sąrašas
Medžiagų sąrašas

VISOS MEDŽIAGOS, KURIOS SURENGTOS, KELIUOSI Į CUBESAT

1. „Arduino“ir maitinimo kabelis https://www.amazon.com/Elegoo-EL-CB-001-ATmega328…: „arduino“sukurtas taip, kad elektronika būtų labiau prieinama menininkams, dizaineriams, mėgėjams ir visiems, norintiems kurti interaktyvius objektus ar aplinką

: leiskite energiją į „Arduino“ir kompiuterį

2. Duonos lenta

: plokštė, skirta eksperimentiniam elektros grandinės modeliui sukurti

MEDŽIAGOS, PRIEDĖTOS prie BREADBOARD

1. „Arduino“akselerometras

: prietaisas pagreičiui matuoti arba vibracijai aptikti ir matuoti

2. „Arduino“SD kortelės modulis

: tai leidžia prie jūsų projekto pridėti masinę saugyklą ir duomenų registravimą

3. „Arduino“laidai

: perkelia kodą visame „Arduino“ir „breadboard“

4. LED lemputė

: šviesos diodas yra maža lemputė (ji reiškia „šviesos diodas“), kuri veikia palyginti mažai energijos

-Drew

2 žingsnis: reikalingi įrankiai ir saugos praktika

REIKALINGI ĮRANKIAI

1. „Exacto“peilis

- „Exo“peiliu perpjovėme „Arduino“ir „Breadboard“formą per polistirolo putas, kad apsaugotume „Arduino“ir „Breadboard“atvejus

2. Karšto klijų pistoletas

- Mes panaudojome karšto klijų pistoletą, kad klijuotume polistirolą prie mūsų „Cubesat“šonų, kad mūsų „Arduino“ir „Breadboard“būtų saugūs

3. Putplastis

- mes panaudojome polistirolo gabalus, kad pritvirtintume „Arduino“ir duonos lentą prie mūsų „Cubesat“šonų, taip pat suteiksime pagalvėlę, jei „Cubesat“nukris arba suplaks

SAUGOS PRAKTIKA

1. Pirmoji saugos praktika, kurios laikėmės, buvo užtikrinti, kad neliesdami 3D spausdintuvo spausdindami „Cubesat“. 3D spausdintuvas labai įkais, todėl nepamirškite jo neliesti.

2. kai norėdami išpjauti putų polistirolo gabalus, naudojome peilį peiliu, po juo turėjome įdėti kartono, kad nebūtų pažeisti stalai. mes taip pat turėjome dėvėti akinius, kai naudojome peilį, bet kas skrido į veidus ar aplink mūsų darbo vietą.

3. naudodami bet kokius įrankius, kuriems reikia sunkaus darbo, būtinai dėvėkite apsauginius akinius.

4. kai pritvirtinsite „Cubesat“prie orbitos, būtinai įspėkite aplink orbitą esančius žmones, kad išbandysite „Cubesat“ir dėvėkite akinius, kad įsitikintumėte, jog visos kūno dalys ir žmonės yra saugūs.

-Drew

3 veiksmas: kaip:

Kaip
Kaip
Kaip
Kaip
Kaip
Kaip

Kaip sukurti „CubeSat“

1. Norėdami pradėti „CubeSat“kūrimo procesą, turite ieškoti „CubeSat“modelių, kurių dydis yra 10x10x10 ir kurie turi patogų STL failą.

2. radę modelį, kuris veiks saugiai laikant duonos lentą ir „Arduino“, turite atsisiųsti failus į „flash drive“, kad galėtumėte pasiekti 3D spausdintuvo failus.

3. atsisiųsdami teisingus failus į „flash“diską, galite prijungti „flash drive“prie kompiuterio, prijungto prie 3D spausdintuvo.

4. spausdindami įsitikinkite, kad pasirinkote tinkamus failus ir visi laidai, kodai ir įvestys yra tinkamai prijungti tarp kompiuterio ir 3D spausdintuvo. tai užtikrins, kad „CubeSat“bus atspausdintas teisingai ir viskas vyks pagal planą.

5. paskirkite kiekvienam grupės nariui tam skirtą laiką, kad jis galėtų efektyviai patikrinti spausdintuvą ir „CubeSat“pažangą, kad išspręstų galimas problemas. turėdamas galimybę komandos nariui tikrinti pažangą maždaug kas 2-3 valandas, suteiks pakankamai pagalbos, kad išspręstų visas problemas ir stebėtų padarytą pažangą.

-Edi

KODAS:

#įtraukimas #įtraukimas #įtraukimas #įtraukimas

const int MPU = 0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; dvigubas žingsnis, ritinys;

Failo duomenys;

void setup () {

pinMode (10, OUTPUT); // turi nustatyti 10 kaištį į išvestį, net jei jis nenaudojamas; // nustatant kaištį 7, kad užsidegtų LED SD.begin (4); // prasideda SD kortelė su CS nustatyta į pin 4 Serial.begin (9600); Serial.println (F („BMP280 testas“)); Wire.begin (); Wire.beginTransmission (MPU); Wire.write (0x6B); Wire.write (0); Wire.endTransmission (tiesa); Serial.begin (9600); } void loop () {Wire.beginTransmission (MPU); Wire.write (0x3B); Wire.endTransmission (klaidinga); Wire.requestFrom (MPU, 14, tiesa);

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

// Įsibėgėjimo duomenų taisymas AcXoff = -950; AcYoff = -300; AcZoff = 0;

// Temperatūros korekcija toff = -1600;

// Giroskopo korekcija GyXoff = 480; GyYoff = 170; GyZoff = 210;

// skaityti accel duomenis AcX = (Wire.read () << 8 | Wire.read ()) + AcXoff; AcY = (Wire.read () << 8 | Wire.read ()) + AcYoff; AcZ = (Wire.read () << 8 | Wire.read ()) + AcYoff;

// skaityti temperatūros duomenis temp = (Wire.read () << 8 | Wire.read ()) + toff; tx = temperatūra; t = tx/340 + 36,53; tf = (t * 9/5) + 32;

// skaityti giroskopo duomenis GyX = (Wire.read () << 8 | Wire.read ()) + GyXoff; GyY = (Wire.read () << 8 | Wire.read ()) + GyYoff; GyZ = (Wire.read () << 8 | Wire.read ()) + GyZoff;

Duomenys = SD.open ("Log.txt", FILE_WRITE); // atidaro failą pavadinimu „Žurnalas“

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

// išsiųsti duomenis iš serijinio prievado Serial.print ("Angle:"); Serial.print ("Pitch ="); Serijinis atspaudas (žingsnis); Serial.print ("| Roll ="); Serial.println (ritinys);

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

Serial.print („Akselerometras:“); Serijinis atspaudas ("X ="); Serial.print (AcX); Serijinis atspaudas ("| Y ="); Serial.print (AcY); Serijinis atspaudas ("| Z ="); Serial.println (AcZ);

Serial.print („Giroskopas:“); Serijinis atspaudas ("X ="); Serial.print (GyX); Serijinis atspaudas ("| Y ="); Serial.print (GyY); Serijinis atspaudas ("| Z ="); Serial.println (GyZ); Serial.println ("");

Data.print (žingsnis); Data.println (ritinys);

Data.print (tf); Duomenys.println (t); Data.print (AcX); // įrašo acel duomenis į failą Data.print (","); // spausdina kablelį faile Data.print (AcY); Data.print (","); Data.print (AcZ); Data.print (","); Data.print (GyX); Data.print (","); Data.print (GyY); Data.print (","); Data.println (GyZ);

vėlavimas (1000); }

// konvertuoti accel duomenis į pitch/roll void getAngle (int Vx, int Vy, int Vz) {double x = Vx; dvigubas y = Vy; dvigubas z = Vz;

}

}

KODAS (TĘSTI):

-tai yra kodas, kurį naudojome rinkdami duomenis iš akselerometro ir SD kortelės.

-prijungę „Arduino“ir „Breadboard“, kad jie atrodytų taip, kaip parodyta schemoje, prijungėme SD kortelę prie SD kortelės adapterio modulio ir toliau ruošėmės paskutiniam bandymui.

-Ilgą laiką turėjome problemų su kodu, tačiau aukščiau pateiktas kodas yra galutinis kodas, kurį naudojome ir kuris suteikė mums duomenis, kuriuos naudojome pristatymui.

-šis kodas renka duomenis iš akselerometro ir perkelia informaciją į SD kortelę.

-SD kortelė buvo prijungta prie USB ir prijungta prie kompiuterio. iš ten informacija buvo įdėta į mūsų kompiuterį.

-Brokas

SUSIJUSIOS ARDUINO:

- prijungdami „Arduino“, mes kovojome su nešvariais laidais ir duduriais „Arduinos“.

- dėl neteisingų laidų teko kelis kartus taisyti „Arduino“laidus.

- kad užtikrintumėte teisingą laidų prijungimą ir kodavimą, įsitikinkite, kad laidai yra visiškai pritvirtinti ir kodo apdorojimo procesas yra teisingas.

FRITZINĖ DIAGRAMA:

- Fritzing schema buvo tiesiai į priekį ir lengvai sekama

- susidūrėme su diagramos problemomis, kai SD kortelės modulis nebuvo fritzavimo programos dalis. dėl to turėjome internete ieškoti atsisiunčiamos dalies, kurią įtraukti į diagramą

- Mes užpildėme schemą įtraukdami į schemą teisingas dalis ir programas

-Drew

4 žingsnis: Rezultatai/išmoktos pamokos

Mūsų grafikas rodo aiškų temperatūros kilimą, greičiausiai dėl to, kad šildytuvui reikia laiko pasiekti maksimalią temperatūrą.

Šiam projektui fizika, su kuria susidūrėme, buvo centripetinė jėga, išlaikanti „CubeSat“orbitą.

-Brokas

Rekomenduojamas: