Herramientas de usuario

Herramientas del sitio


Barra lateral

Traducciones de esta página:

Página principal

Análisis y comparativas

Eventos Guías Herramientas Información de interés Proyectos > Usuarios Varios Wiki Privado

No hay páginas en esta sección.

old admin

No hay páginas en esta sección.

proyectos:curiosity_btl

Curiosity BTL

Curiosity MSL
1. La Mars Science Laboratory (abreviada MSL), conocida como Curiosity (Curiosidad en español), es una misión espacial que incluye un astromóvil de exploración marciana dirigida por la NASA. Fuente: Wikipedia

Curiosity BTL (Bricolabs Technology Laboratory) es un proyecto para replicar a escala el rover marciano MSL en un modelo imprimible.

464396e3-3773-4d24-80c0-8d5a307547a3.jpeg

Afortunadamente no tendrá que llegar a tus manos en una maniobra como los 7 minutos de terror, o en el estado de la pobre Schiaparelli. Toda la información necesaria para construirla y programarla estará aquí.

Mecánica

La parte mecánica es un curioso mecanismo con balancines llamado rocker-bogie y una barra estabilizadora que equilibra los trenes de ambos lados. Tiene 6 ruedas motrices y 4 ruedas directrices. Según NASA es capaz de superar obstáculos dos veces el diámetro de la rueda.

Hay dos diseños, a escalas 1:5 y 1:10.

Modelo escala 1:5

El diseño completo de las piezas imprimibles está en Github y Thingiverse.

assembly.jpg

cbtl_2.jpg

75aff6e9-3b2f-486d-8964-294b9db05791.jpeg

cbtl_3.jpg

  • 4 servos 3003
  • 6 motores 2418 / 25D
  • 4 rodamientos 15x35x11
  • 8 perfiles de aluminio 10x10mm (2 x 135mm, 2 x 125mm, 2 x 100mm, 2 x 115mm)
  • Una plancha de 3mm de Dibond de 240x280mm (opcional marco de perfil de aluminio por debajo)
  • Tornillería variada de M2.5, M3, M4 y M5.

Hay dos opciones para las ruedas: una con cubiertas comerciales (Pololu Dagu) y otra con cubiertas impresas en 3D con filamento elástico.

3dprinted_vs_dagu.jpg

En este enlace puedes verlo en funcionamiento.

Modelo escala 1:10

Esta parte del proyecto ha evolucionado con mejoras y ahora es Perseverance. En Github y Thingiverse se mantiene el original como código legacy. Si empiezas de cero, te recomendamos que te pases a Perseverance.

Variantes (fork)

Electrónica

Para controlar 6 motores con inversión de giro y 4 servos necesitamos muchas salidas PWM. Una manera de hacerlo que permite ser controlado indistintamente con un Arduino o una Raspberry Pi es basarse en una controladora de 16 servos con bus i2c de Adafruit.

La alternativa sencilla a esto es utilizar un Arduino Mega2560, en su versión original o la versión compacta que se ofrece como alternativa (aunque con chip de comunicaciones CH340). Para la versión 1:10 se han utilizado drivers L9110. Para la versión XL se han utilizado drivers L298.

Para el Arduino Mega original se ha utilizado una shield que replica todas las salidas añadiendo a cada una alimentación y masa, y además tiene un zócalo para un módulo BluetoothBee. Con ella y los drivers L298, puede hacerse un cableado muy limpio con una cinta Dupont hembra-hembra de 20 cm con 19 cables con el siguiente orden:

7-30-31-32-33-6-5-34-35-36-37-4-3-38-39-40-41-2-GND

foto_11-4-19_20_15_45.jpg

Hay una pieza para montar los tres drivers en la parte trasera del rover, donde el original tiene el generador eléctrico de radioisótopos (RTG), y opcionalmente puedes ponerle una cubierta que los protegerá un poco y se asemeja al RTG original.

Esa disposición de cableado permite utilizar un código muy sencillo para operar cada motor por separado.

void setmotor(int m, int v){
int pwm = 8-m;
int dir1 = 28+2*m;
int dir2 = 29+2*m;
v = constrain (v,-255,255);
digitalWrite(dir1,v>=0);
digitalWrite(dir2,v<0);
analogWrite(pwm,abs(v));
}

Puedes ver más detalles del uso de ese driver de motores (y otros) e nuestra wiki.

cableado.jpg

En el mástil irá montada una cámara para poder conducir Curiosity por radiocontrol con gafas FPV (First Person View) o un monitor externo. Puede ser una cámara dedicada como las usadas en drones o una GoPro. En cualquier caso será un sistema independiente del control de movimiento, tanto si este es autónomo como si es teledirigido desde Bluetooth o con un mando infrarrojo.

Programación

Avanzar recto es una maniobra sencilla. Para describir una curva habrá que girar los servos de las esquinas, en dirección opuesta los de delante y los de atrás. Y para girar sobre su propio eje será necesario que el eje de todas la ruedas apunte al centro del rover. Programar el giro de los servos requerirá una calibración de ajuste una vez montados.

Los programas para Arduino MEGA están aquí. Hay un programa para probar y calibrar los servos, un programa de movimientos aleatorios y un programa para manejarlo con una emisora de radiocontrol Turnigy.

Programa básico para Arduino

José Antonio Vacas @javacasm tieen ya un desarrollo basado en Arduino con diferentes niveles de complejidad, con los programas y los esquemas electrónicos.

Equipo

Enlaces

proyectos/curiosity_btl.txt · Última modificación: 2022/06/25 17:55 por Félix Sánchez-Tembleque