Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
proyectos:perseverance [2022/06/06 18:45] – [Conexionado de Arduino] Félix Sánchez-Tembleque | proyectos: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 | + | * Una plancha |
* 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: | ||
{{: | {{: | ||
- | 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 | + | 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 |
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:// | 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:// | ||
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. | + | 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. |
+ | |||
+ | {{: | ||
+ | |||
+ | Para saber qué posición elegir necesitamos saber la dirección de giro de los motores | ||
{{: | {{: | ||
Línea 62: | Línea 66: | ||
* 1/1: es imposible, si sucede revisa el cableado. | * 1/1: es imposible, si sucede revisa el cableado. | ||
- | {{: | + | {{: |
==== 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 |
- | {{: | + | {{: |
+ | |||
+ | ==== Montaje completo ==== | ||
+ | |||
+ | El diagrama de bloques del control es el siguiente | ||
+ | |||
+ | {{: | ||
+ | |||
+ | El esquema se refiere al flujo de información, | ||
+ | |||
+ | La implementación física, por debajo del Dibond es la siguiente. | ||
+ | |||
+ | {{: | ||
===== Programación ===== | ===== Programación ===== | ||
Línea 74: | 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 | + | 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 |
< | < | ||
Línea 87: | Línea 103: | ||
servo6.write(s6giro); | servo6.write(s6giro); | ||
} | } | ||
- | | + | |
servo1.write(s1center); | servo1.write(s1center); | ||
servo3.write(s3center); | servo3.write(s3center); | ||
servo4.write(s4center); | servo4.write(s4center); | ||
servo6.write(s6center); | servo6.write(s6center); | ||
+ | } | ||
} | } | ||
</ | </ | ||
- | El programa completo está [[https:// | + | El programa completo está [[https:// |
===== Equipo ===== | ===== Equipo ===== |