Herramientas de usuario

Herramientas del sitio


proyectos:perseverance

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
proyectos:perseverance [2022/06/06 21:49] Félix Sánchez-Temblequeproyectos:perseverance [2022/06/10 11:20] (actual) – [Mecánica] Félix Sánchez-Tembleque
Línea 25: Línea 25:
 Aparte de las piezas impresas, para la parte mecánica necesitaremos los siguientes componentes: Aparte de las piezas impresas, para la parte mecánica necesitaremos los siguientes componentes:
  
-  * Una plancha de Dibond de 3mm y 120x140mm.+  * Una plancha sandwich tipo Dibond o Alupanel de 3mm y 120x140mm.
   * 4 servos sg90 con engranajes metálicos.   * 4 servos sg90 con engranajes metálicos.
   * 6 motores N20 con una relación de reducción alta, mínimo 1:100   * 6 motores N20 con una relación de reducción alta, mínimo 1:100
Línea 41: Línea 41:
 {{:proyectos:modulo_rc.png}} {{:proyectos:modulo_rc.png}}
  
-La operación del mando RC es sencilla, cada cruceta maneja las ruedas de un lado. Pulsando ambas hacia delante o atrás de moverá en ese sentido. Pulsando uno hacia delante y otro hacia atrás rotará sobre si mismo, pero para eso necesitaremos posicionar los servos.+La operación del mando RC es sencilla, cada cruceta maneja las ruedas de un lado. Pulsando ambas hacia delante o atrás de moverá en ese sentido. Pulsando uno hacia delante y otro hacia atrás rotará sobre si mismo, pero para eso necesitaremos girar las ruedas de las esquinas con los servos. Esto último no es imprescindible para que Perseverance se mueva, aunque mejora la fluidez.
  
 El módulo va montado en un soporte ad-hoc en la parte trasera. Y para protegerlo lleva una cubierta con la forma del [[https://mars.nasa.gov/mars2020/spacecraft/rover/electrical-power/|RTG]] de Perseverance. El módulo va montado en un soporte ad-hoc en la parte trasera. Y para protegerlo lleva una cubierta con la forma del [[https://mars.nasa.gov/mars2020/spacecraft/rover/electrical-power/|RTG]] de Perseverance.
Línea 51: Línea 51:
 ==== Posicionamiento de los servos ==== ==== Posicionamiento de los servos ====
  
-Cuando el rover avance o retroceda en línea recta, todos los servos deberán hacer que las ruedas estén paralelas. Cuando rote sobre si mismo debemos colocarlas de modo que sus ejes pasen por el mismo punto central. Y para saber qué posición elegir necesitamos saber la dirección de giro de los motores mandada por el módulo RC, lo que haremos con un circuito integrado con optoacopladores (CNY74-4) utilizados como sensores.+Cuando el rover avance o retroceda en línea recta, todos los servos deberán hacer que las ruedas estén paralelas. Cuando rote sobre si mismo debemos colocarlas de modo que sus ejes pasen por el mismo punto central. 
 + 
 +{{:proyectos:movimientos_rover.png|}} 
 + 
 +Para saber qué posición elegir necesitamos saber la dirección de giro de los motores comandada por el módulo RC, lo que haremos con un circuito integrado con optoacopladores (CNY74-4) utilizados como sensores.
  
 {{:proyectos:optoacoplador_motores_v2.png}} {{:proyectos:optoacoplador_motores_v2.png}}
Línea 66: Línea 70:
 ==== Conexionado de Arduino ==== ==== Conexionado de Arduino ====
  
-Las salidas del optoacoplador se configuran como entradas en un Arduino que a su vez dará salida PWM para controlar cuatro servos. En la foto se ve el montaje con un Arduino Pro Micro, pero cualquiera valdrá. Además se ha utilizado un pequeño step-up para garantizar la tensión de alimentación y que el sistema pueda alimentarse también con 4 pilas AA recargables.+Las salidas del optoacoplador se configuran como entradas (pines 10, 16, 14 y 15) en un Arduino que a su vez dará salida PWM para controlar cuatro servos (pines 3, 5, 6 y 9). En la foto se ve el montaje con un Arduino Pro Micro, pero cualquiera valdrá. Además se ha utilizado un pequeño step-up para garantizar la tensión de alimentación y que el sistema pueda alimentarse también con 4 pilas AA recargables.
  
 {{:proyectos:d022deec-dca8-40cc-8547-791bc3254bf4.jpeg|d022deec-dca8-40cc-8547-791bc3254bf4.jpeg}} {{:proyectos:d022deec-dca8-40cc-8547-791bc3254bf4.jpeg|d022deec-dca8-40cc-8547-791bc3254bf4.jpeg}}
  
 ==== Montaje completo ==== ==== Montaje completo ====
 +
 +El diagrama de bloques del control es el siguiente
 +
 +{{:proyectos:bloques_percy.png}}
 +
 +El esquema se refiere al flujo de información, la parte electrónica. La parte de alimentación es diferente: las pilas AA alimentan al receptor RC, y en la salida de su interruptor (positivo, cable rojo) hemos soldado un cable de alimentación para que al encender y apagar el módulo lo hagamos con todo lo demás. Ese cable alimenta los servos y el elevador DC-DC para el Arduino, que a su vez con su salida de 5V alimenta el optoacoplador. Para estas dos alimentaciones (directa de las pilas/5V de Arduino) utilizamos las dos líneas laterales de la placa de prototipado.
 +
 +La implementación física, por debajo del Dibond es la siguiente.
  
 {{:proyectos:e01efb18-bfca-4246-9488-b05e8f17aaf7.jpeg|e01efb18-bfca-4246-9488-b05e8f17aaf7.jpeg}} {{:proyectos:e01efb18-bfca-4246-9488-b05e8f17aaf7.jpeg|e01efb18-bfca-4246-9488-b05e8f17aaf7.jpeg}}
Línea 78: Línea 90:
 ==== Programa básico para Arduino ==== ==== Programa básico para Arduino ====
  
-Con la electrónica sencilla que hemos elegido sólo utilizaremos un Arduino para leer el sentido de giro de los motores con cuatro entradas digitales, y posicionaremos los servos con cuatro salidas PWM. Aquí puedes ver el código:+Con la electrónica sencilla que hemos elegido sólo utilizaremos un Arduino para leer el sentido de giro de los motores con cuatro entradas digitales, y posicionar los servos con cuatro salidas PWM. Aquí puedes ver el código:
 <code> <code>
  
Línea 96: Línea 108:
     servo4.write(s4center);     servo4.write(s4center);
     servo6.write(s6center);     servo6.write(s6center);
 +  }
 } }
  
 </code> </code>
  
-El programa completo está [[https://github.com/felixstdp/Perseverance/blob/main/perseverance.ino|aquí]].+El programa completo está [[https://github.com/felixstdp/Perseverance/blob/main/perseverance.ino|aquí]]. La lectura de los optoacopladores tiene algo de ruido por lo que se leen 5 veces y se hace un promedio.
  
 ===== Equipo ===== ===== Equipo =====
proyectos/perseverance.1654552188.txt.gz · Última modificación: 2022/06/06 21:49 por Félix Sánchez-Tembleque