Inhoudsopgave:

Een Cubesat bouwen met een Arduino en accelerometer: 5 stappen
Een Cubesat bouwen met een Arduino en accelerometer: 5 stappen

Video: Een Cubesat bouwen met een Arduino en accelerometer: 5 stappen

Video: Een Cubesat bouwen met een Arduino en accelerometer: 5 stappen
Video: Building a CubeSat for less than $1000 -- Part 1 -- It should be possible 2024, November
Anonim
Hoe een Cubesat te bouwen met een Arduino en accelerometer
Hoe een Cubesat te bouwen met een Arduino en accelerometer

Onze namen zijn Brock, Eddie en Drew. Het belangrijkste doel van onze natuurkundeles is om van de aarde naar Mars te reizen terwijl we de baan rond Mars simuleren met behulp van een Cube Sat en het verzamelen van gegevens. Het doel van onze groep voor dit project is om gegevens te verzamelen met behulp van een versnellingsmetersensor die aan onze Arduino zal worden bevestigd in een Cube Sat die in een baan om "Mars" zal draaien om de zwaartekracht op die planeet te vinden. Enkele mogelijke beperkingen voor deze specifieke taak zijn dat de code niet op de juiste manier werkt, de versnellingsmeter die geen gegevens verzamelt en de limiet die de CubeSat kan wegen. Hoewel er vele anderen zijn die iedereen kan tegenkomen, waren dat degenen waar onze groep mee te maken had. Een video van ons eindproject en testen is hier te vinden https://www.youtube.com/embed/u1_o38KSrEc -Eddie

Stap 1: Materialenlijst

Materialenlijst
Materialenlijst
Materialenlijst
Materialenlijst
Materialenlijst
Materialenlijst

ALLE VERMELDE MATERIALEN GAAN BINNEN CUBESAT

1. Arduino & stroomkabel https://www.amazon.com/Elegoo-EL-CB-001-ATmega328…: arduino is ontworpen om elektronica toegankelijker te maken voor kunstenaars, ontwerpers, hobbyisten en iedereen die geïnteresseerd is in het maken van interactieve objecten of omgevingen

: stroom van en naar uw Arduino en computer toestaan

2. Breadboard

: een bord voor het maken van een experimenteel model van een elektrisch circuit

MATERIALEN BEVESTIGD AAN BREADBOARD

1. Arduino-versnellingsmeter

:een instrument voor het meten van versnelling of voor het detecteren en meten van trillingen

2. Arduino SD-kaartmodule

: hiermee kunt u massaopslag en datalogging aan uw project toevoegen

3. Arduino-draden

:transfers code door Arduino en breadboard

4. LED-licht

:een LED is een klein lampje (het staat voor "light emitting diode") dat werkt met relatief weinig stroom

-Drew

Stap 2: Benodigde hulpmiddelen en veiligheidspraktijken

NOODZAKELIJK GEREEDSCHAP

1. Exacto-mes

- we hebben een exacto-mes gebruikt om de vorm van de Arduino en Breadboard door piepschuim te snijden en te volgen, om de Arduino en Breadboard te beschermen voor het geval er ongelukken zijn

2. Heet lijmpistool

- we gebruikten een heet lijmpistool om het piepschuim aan de zijkanten van onze Cubesat te lijmen om ervoor te zorgen dat onze Arduino en Breadboard veilig zijn

3. piepschuim

- we hebben stukjes piepschuim gebruikt om de Arduino en het breadboard aan de zijkanten van onze Cubesat te bevestigen, ook om een kussen mogelijk te maken als Cubesat valt of wordt geschud

VEILIGHEIDSVOORSCHRIFTEN

1. de eerste veiligheidspraktijk die we afdwongen, was ervoor zorgen dat we de 3D-printer niet aanraakten toen deze de Cubesat aan het printen was. de 3D-printer wordt erg heet en het is belangrijk om te onthouden dat u deze niet aanraakt.

2. toen we het exacte mes gebruikten om de stukjes piepschuim uit te snijden, moesten we er karton onder leggen om ervoor te zorgen dat de tafels niet beschadigd raakten. we moesten ook een veiligheidsbril dragen bij het gebruik van het mes voor het geval er iets in ons gezicht of rond onze werkruimte vloog.

3. Draag bij het gebruik van gereedschap dat zwaar werk vereist een veiligheidsbril.

4. Als je de Cubesat eenmaal aan de orbiter hebt bevestigd, moet je de mensen rond de orbiter waarschuwen dat je je Cubesat gaat testen en een veiligheidsbril dragen om ervoor te zorgen dat alle lichaamsdelen en mensen veilig zijn.

-Drew

Stap 3: Hoe:

Hoe
Hoe
Hoe
Hoe
Hoe
Hoe

Hoe bouw je een CubeSat

1. om het CubeSat-bouwproces te starten, moet u modellen van de CubeSat zoeken die 10x10x10 zijn en een STL-bestand bij de hand hebben.

2. wanneer je een model hebt gevonden dat een breadboard en een Arduino veilig vasthoudt, moet je de bestanden downloaden op een flashstation zodat je toegang hebt tot de bestanden op de 3D-printer.

3. nadat de juiste bestanden op de flashdrive zijn gedownload, kunt u de flashdrive aansluiten op de computer die is aangesloten op de 3D-printer.

4. Zorg er tijdens het afdrukken voor dat u de juiste bestanden selecteert en dat alle draden, codes en ingangen correct zijn aangesloten tussen de computer en de 3D-printer. dit zorgt ervoor dat de CubeSat correct wordt afgedrukt en dat alles volgens plan verloopt.

5. wijs elk groepslid een bepaalde tijd toe om de printer en CubeSat-voortgang efficiënt te controleren om eventuele problemen op te vangen. de mogelijkheid om een teamlid de voortgang ongeveer elke 2-3 uur te laten controleren, zal voldoende hulp bieden om eventuele problemen op te lossen en de voortgang te bekijken die zal worden gemaakt.

-Eddie

DE CODE:

#include #include #include #include

const int MPU=0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; dubbele steek, rol;

Bestandsgegevens;

ongeldige setup(){

pinMode (10, UITGANG); // moet pin 10 instellen om uit te voeren, zelfs als deze niet wordt gebruikt; // pin 7 instellen om led SD.begin (4) te laten branden; //begint sd-kaart met CS ingesteld op pin 4 Serial.begin (9600); Serial.println(F("BMP280-test")); Draad.begin(); Wire.beginTransmission (MPU); Draad.schrijven (0x6B); Draad.schrijven(0); Wire.endTransmission (waar); Serieel.begin(9600); } void loop(){ Wire.beginTransmission(MPU); Draad.schrijven (0x3B); Wire.endTransmission (false); Wire.requestFrom (MPU, 14, waar);

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

// Acceleratie data correctie AcXoff = -950; AcYoff = -300; AcZoff = 0;

//Temperatuurcorrectie toff = -1600;

// Gyro-correctie GyXoff = 480; GyYoff = 170; GyZoff = 210;

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

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

// lees gyrogegevens GyX=(Wire.read()<<8|Wire.read()) + GyXoff; GyY=(Wire.read()<<8|Wire.read()) + GyYoff; GyZ=(Wire.read()<<8|Wire.read()) + GyZoff;

Data = SD.open("Log.txt", FILE_WRITE); // opent bestand genaamd "Log"

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

// stuur de gegevens naar de seriële poort Serial.print ("Angle: "); Serial.print("Pitch = "); Serial.print (pitch); Serial.print(" | Roll = "); Serial.println(rol);

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

Serial.print("Versnellingsmeter: "); Serieel.print("X = "); Seriële.afdruk (AcX); Serial.print(" | Y = "); Seriële.afdruk (AcY); Serial.print(" | Z = "); Serial.println(AcZ);

Serial.print("Gyroscoop: "); Serieel.print("X = "); Seriële.afdruk (GyX); Serial.print(" | Y = "); Serieafdruk (GyY); Serial.print(" | Z = "); Seriële.println(GyZ); Serieel.println(" ");

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

Gegevens.print(tf); Data.println(t); Data.print(AcX); // schrijft acel-gegevens naar het bestand Data.print(", "); // drukt een komma af in het bestand Data.print(AcY); Gegevens.print(", "); Data.print(AcZ); Gegevens.print(", "); Gegevens.print(GyX); Gegevens.print(", "); Gegevens.print(GyY); Gegevens.print(", "); Data.println(GyZ);

vertraging (1000); }

// converteer de accel-gegevens naar pitch / roll void getAngle (int Vx, int Vy, int Vz) {dubbel x = Vx; dubbele y = Vy; dubbele z = Vz;

}

}

DE CODE (VERVOLG):

- dit is de code die we hebben gebruikt om gegevens van de versnellingsmeter en SD-kaart te verzamelen.

- nadat we onze Arduino en Breadboard hadden bedraad om eruit te zien als die in het frizzing-diagram, hebben we de SD-kaart in de SD-kaartadaptermodule gestoken en zijn we ons verder gaan voorbereiden op onze laatste tests.

-we hadden lange tijd problemen met de code, maar de bovenstaande code is de laatste code die we hebben gebruikt en die ons de gegevens heeft gegeven die we voor onze presentatie hebben gebruikt.

-deze code verzamelt de gegevens van de versnellingsmeter en brengt de informatie over naar de SD-kaart.

-de SD-kaart is aangesloten op de USB en aangesloten op de computer. van daaruit werd de informatie in onze computer gezet.

-Brock

BEDRADING VAN DE ARDUINO:

- terwijl we de Arduino bedraden, worstelden we met blindgangers en blindgangers Arduino's.

- we moesten de bedrading van onze Arduino meerdere keren corrigeren vanwege onjuiste bedrading.

- om ervoor te zorgen dat de bedrading en codering correct zijn, moet u ervoor zorgen dat uw draden volledig zijn beveiligd en dat uw code correct wordt verwerkt.

FRITZEND SCHEMA:

- het fritzing-diagram was ongecompliceerd en gemakkelijk te volgen

- we hadden problemen met het diagram toen de SD-kaartmodule geen deel uitmaakte van het fritzing-programma. daarom moesten we online zoeken naar een downloadbaar onderdeel om in het diagram op te nemen

- we hadden het diagram voltooid door de juiste onderdelen en programma's in het diagram op te nemen

-Drew

Stap 4: Resultaten/geleerde lessen

Onze grafiek laat een duidelijke temperatuurstijging zien, waarschijnlijk doordat de verwarming tijd nodig heeft om de maximale temperatuur te bereiken.

Voor dit project was de fysica die we tegenkwamen de middelpuntzoekende kracht die de CubeSat in een baan om de aarde hield.

-Brock

Aanbevolen: