Tabla de contenido:

Cómo construir un Cubesat con un Arduino y un acelerómetro: 5 pasos
Cómo construir un Cubesat con un Arduino y un acelerómetro: 5 pasos

Video: Cómo construir un Cubesat con un Arduino y un acelerómetro: 5 pasos

Video: Cómo construir un Cubesat con un Arduino y un acelerómetro: 5 pasos
Video: CÓMO UTILIZAR un ACELERÓMETRO ► ARDUINO [ TUTORIAL 20 ] ✅ 2024, Noviembre
Anonim
Cómo construir un Cubesat con un Arduino y un acelerómetro
Cómo construir un Cubesat con un Arduino y un acelerómetro

Nuestros nombres son Brock, Eddie y Drew. El objetivo principal de nuestra clase de física es viajar de la Tierra a Marte mientras se simula la órbita alrededor de Marte usando un Cube Sat y recolectando datos. El objetivo de nuestro grupo para este proyecto es recopilar datos utilizando un sensor acelerómetro que se conectará a nuestro Arduino dentro de un Cube Sat que orbitará "Marte" para encontrar la fuerza gravitacional en ese planeta. Algunas posibles limitaciones para esta tarea específica serían que el código no funciona correctamente, el acelerómetro no recopila datos y el límite que puede pesar el CubeSat. Aunque hay muchos otros que cualquier persona puede encontrar, esos fueron los que enfrentó nuestro grupo. Puede encontrar un video de nuestro proyecto final y las pruebas aquí https://www.youtube.com/embed/u1_o38KSrEc -Eddie

Paso 1: Lista de materiales

Lista de materiales
Lista de materiales
Lista de materiales
Lista de materiales
Lista de materiales
Lista de materiales

TODOS LOS MATERIALES INDICADOS VAN DENTRO DE CUBESAT

1. Arduino y cable de alimentación https://www.amazon.com/Elegoo-EL-CB-001-ATmega328…: arduino está diseñado para hacer que la electrónica sea más accesible para artistas, diseñadores, aficionados y cualquier persona interesada en crear objetos o entornos interactivos.

: permite la alimentación desde y hacia su Arduino y su computadora

2. Protoboard

: una placa para hacer un modelo experimental de un circuito eléctrico

MATERIALES ADJUNTOS AL PANEL

1. Acelerómetro Arduino

: un instrumento para medir la aceleración o para detectar y medir vibraciones

2. Módulo de tarjeta SD Arduino

: le permite agregar almacenamiento masivo y registro de datos a su proyecto

3. Cables Arduino

: transfiere código a través de Arduino y protoboard

4. Luz LED

: un LED es una luz pequeña (significa "diodo emisor de luz") que funciona con relativamente poca energía

-Dibujó

Paso 2: Herramientas necesarias y prácticas de seguridad

HERRAMIENTAS NECESARIAS

1. Exacto Knife

- Usamos un cuchillo exacto para cortar y trazar la forma del Arduino y el tablero a través de espuma de poliestireno, para proteger el Arduino y el tablero en caso de que haya accidentes.

2. Pistola de pegamento caliente

- Usamos una pistola de pegamento caliente para pegar la espuma de poliestireno a los lados de nuestro Cubesat para garantizar que nuestro Arduino y Breadboard estén seguros

3. Espuma de poliestireno

- Usamos piezas de espuma de poliestireno para asegurar el Arduino y la placa de pruebas a los lados de nuestro Cubesat, también para permitir un cojín si Cubesat se cae o se agita

PRACTICAS DE SEGURIDAD

1. La primera práctica de seguridad que aplicamos fue asegurarnos de no tocar la impresora 3D cuando estaba imprimiendo el Cubesat. la impresora 3D se calentará mucho y es importante recordar no tocarla.

2. Al usar el cuchillo exacto para cortar los trozos de poliestireno, tuvimos que colocar cartón debajo para asegurarnos de que las mesas no se dañen. También tuvimos que usar gafas protectoras cuando usamos el cuchillo en caso de que algo volara en nuestras caras o alrededor de nuestro espacio de trabajo.

3. Cuando utilice herramientas que requieran trabajo duro, asegúrese de usar gafas protectoras por motivos de seguridad.

4. Una vez que conecte el Cubesat al orbitador, asegúrese de advertir a las personas alrededor del orbitador que probará su Cubesat y use gafas para asegurarse de que todas las partes del cuerpo y las personas estén a salvo.

-Dibujó

Paso 3: Cómo:

Cómo
Cómo
Cómo
Cómo
Cómo
Cómo

Cómo construir un CubeSat

1. Para comenzar el proceso de construcción de CubeSat, necesita buscar modelos de CubeSat que sean 10x10x10 y tengan un archivo STL a mano.

2. cuando haya encontrado un modelo que funcione para sostener una placa de pruebas y un Arduino de manera segura, debe descargar los archivos en una unidad flash para poder acceder a los archivos en la impresora 3D.

3. Una vez que se hayan descargado los archivos correctos en la unidad flash, puede conectar la unidad flash a la computadora que está conectada a la impresora 3D.

4. cuando esté imprimiendo, asegúrese de seleccionar los archivos correctos y de que todos los cables, códigos y entradas estén conectados correctamente entre la computadora y la impresora 3D. esto asegurará que el CubeSat se imprima correctamente y que todo salga según el plan.

5. Asigne a cada miembro del grupo un tiempo designado para verificar de manera eficiente el progreso de la impresora y CubeSat para detectar cualquier problema que pueda encontrar. Tener la posibilidad de que un miembro del equipo verifique el progreso aproximadamente cada 2 o 3 horas brindará suficiente asistencia para solucionar cualquier problema y observar el progreso que se realizará.

-Eddie

EL CÓDIGO:

#incluir #incluir #incluir #incluir

const int MPU = 0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; doble tono, balanceo;

Datos de archivo;

configuración vacía () {

pinMode (10, SALIDA); // debe establecer el pin 10 en salida incluso si no se usa; // configurar el pin 7 para encender el led SD.begin (4); // comienza la tarjeta sd con CS configurado en el pin 4 Serial.begin (9600); Serial.println (F ("prueba BMP280")); Wire.begin (); Wire.beginTransmission (MPU); Wire.write (0x6B); Wire.write (0); Wire.endTransmission (verdadero); Serial.begin (9600); } bucle vacío () {Wire.beginTransmission (MPU); Wire.write (0x3B); Wire.endTransmission (falso); Wire.requestFrom (MPU, 14, verdadero);

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

// Corrección de datos de aceleración AcXoff = -950; AcYoff = -300; AcZoff = 0;

// Corrección de temperatura toff = -1600;

// Corrección giroscópica GyXoff = 480; GyYoff = 170; GyZoff = 210;

// leer datos de aceleración AcX = (Wire.read () << 8 | Wire.read ()) + AcXoff; AcY = (Wire.read () << 8 | Wire.read ()) + AcYoff; AcZ = (Wire.read () << 8 | Wire.read ()) + AcYoff;

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

// lee los datos del giróscopo GyX = (Wire.read () << 8 | Wire.read ()) + GyXoff; GyY = (Wire.read () << 8 | Wire.read ()) + GyYoff; GyZ = (Wire.read () << 8 | Wire.read ()) + GyZoff;

Datos = SD.open ("Log.txt", FILE_WRITE); // abre un archivo llamado "Registro"

// obtener cabeceo / balanceo getAngle (AcX, AcY, AcZ);

// envía los datos por el puerto serie Serial.print ("Angle:"); Serial.print ("Pitch ="); Serial.print (paso); Serial.print ("| Roll ="); Serial.println (rollo);

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

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

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

Impresión de datos (paso); Data.println (rollo);

Impresión de datos (tf); Data.println (t); Impresión de datos (AcX); // escribe datos acel en el archivo Data.print (","); // imprime una coma en el archivo Data.print (AcY); Impresión de datos (","); Impresión de datos (AcZ); Impresión de datos (","); Impresión de datos (GyX); Impresión de datos (","); Impresión de datos (GyY); Impresión de datos (","); Data.println (GyZ);

retraso (1000); }

// convierte los datos de aceleración en cabeceo / balanceo void getAngle (int Vx, int Vy, int Vz) {double x = Vx; doble y = Vy; doble z = Vz;

}

}

EL CÓDIGO (CONT.):

-Este es el código que usamos para recopilar datos del acelerómetro y la tarjeta SD.

-Después de conectar nuestro Arduino y Breadboard para que se parezcan al diagrama de frizting, conectamos la tarjeta SD en el módulo adaptador de tarjeta SD y continuamos preparándonos para nuestra prueba final.

-Tuvimos problemas con el código durante mucho tiempo, pero el código dado arriba es el código final que usamos y que nos dio los datos que usamos para nuestra presentación.

-este código recopila los datos del acelerómetro y transfiere la información a la tarjeta SD.

-la tarjeta SD se conectó al USB y se conectó a la computadora. a partir de ahí, la información se puso en nuestra computadora.

-Brock

CONECTANDO EL ARDUINO:

- mientras conectamos el Arduino, luchamos con cables fallidos y Arduinos fallidos.

- Tuvimos que corregir el cableado de nuestro Arduino varias veces debido a un cableado incorrecto.

- para garantizar el cableado y la codificación correctos, asegúrese de que sus cables estén completamente asegurados y de que su código se procese correctamente.

DIAGRAMA DE FRITZING:

- el diagrama de fritzing era sencillo y fácil de seguir junto con

- Nos enfrentamos a problemas con el diagrama cuando el módulo de la tarjeta SD no formaba parte del programa de fritzing. debido a esto, tuvimos que buscar en línea una parte descargable para incluir en el diagrama

- habíamos completado el diagrama al incluir las piezas y los programas correctos en el diagrama

-Dibujó

Paso 4: Resultados / Lecciones aprendidas

Nuestro gráfico muestra un claro aumento de temperatura, probablemente debido a que el calentador tardó en alcanzar la temperatura máxima.

Para este proyecto, la física con la que nos encontramos fue la fuerza centrípeta que mantenía al CubeSat en órbita.

-Brock

Recomendado: