Tabla de contenido:

Raspberry Pi Cam Tank V1.0: 8 pasos (con imágenes)
Raspberry Pi Cam Tank V1.0: 8 pasos (con imágenes)

Video: Raspberry Pi Cam Tank V1.0: 8 pasos (con imágenes)

Video: Raspberry Pi Cam Tank V1.0: 8 pasos (con imágenes)
Video: I Can Save You Money! – Raspberry Pi Alternatives 2024, Mes de julio
Anonim
Image
Image
Tanque de cámara Raspberry Pi V1.0
Tanque de cámara Raspberry Pi V1.0

Me encantan los tanques desde que era pequeño. Construir mi propio tanque de juguete es siempre uno de mis sueños. Pero debido a la falta de conocimientos y habilidades. El sueño es solo un sueño.

Después de años de estudios en ingeniería y diseño industrial. Adquirí habilidades y conocimientos. Y gracias a las impresoras 3D hobby más económicas. Finalmente puedo dar mi paso.

¿Qué características quiero que tenga este tanque?

  • Control remoto
  • Ruedas inactivas suspendidas (¡como el tanque real!)
  • Tiene una torreta giratoria y una pistola BB inclinable que puede disparar balas de 6 mm
  • Puede transmitir video al controlador para que pueda controlarlo desde lejos

Al principio, planeé usar arduino como controlador, pero después de investigar un poco, descubrí que no hay una forma práctica de transmitir video por sí solo. Sin embargo, Raspberry Pi parece ser un buen candidato para la transmisión de video. ¡Y puedes controlarlo a través de tu esposa desde tu teléfono!

Empecemos.

Paso 1: Piezas necesarias

Para controlar

Raspberry Pi versión B

Concentrador USB con alimentación (Belkin F4u040)

Cámara web USB (Logitech C270)

Llave wifi (Edimax)

Cable de puente hembra a macho

Para conducir

Dos servo o motor continuo de alto par (para dos ruedas motrices)

Una montura de acero de 1/8 para ejes de rueda (comprada en Home Depot y económica)

Diez cojinetes de manguito (pedido en Mcmaster)

Algunos resortes para suspensión (compré un surtido de resortes en Harbor Freight, económico)

Para torreta

Un juguete de pistola BB automática

Un mini motor de CC de alto par

Un micro servo para inclinarse hacia arriba y hacia abajo

Un poco de acero de 1/4 montó como eje de la pistola

Otras cosas

Imprimí en 3D la mayoría de las partes de este tanque, si tiene fácil acceso a un cortador láser, eso también funcionaría.

Usé filamento PLA para imprimir porque es más fácil de manejar (no hay problemas de envoltura en ABS). Pero, muy difícil de lijar, cortar, perforar más tarde.

Puede pensar que la impresión 3D es buena para piezas personalizadas y puede imprimir piezas muy complicadas como una sola pieza. Eso es verdad. Sin embargo, creo que esa forma no es práctica y económica para un aficionado. Las razones son:

Tu impresora aficionada no será tan precisa.

Cometerá errores en la medición y los cálculos (tolerancia, alineación, etc.).

De todos modos, es muy probable que sus impresiones no funcionen o no quepan en su primera toma. Está bien para una pequeña parte, simplemente puede cambiar el modelo y luego reimprimir. Pero para una parte más importante y complicada, es frustrante saber que algo anda mal después de horas de impresión. Es una pérdida de tiempo y material. Así que aquí está mi enfoque:

Para cualquier cosa es simétrica, imprima solo la mitad, pruébelo, si todo funciona bien, imprima todo.

Modelando la pieza pensando en la impresión 3D. ¿Podría haber una superficie plana para sujetar la plataforma de la impresora? ¿Podría dividirse en piezas más pequeñas para evitar una gran estructura de soporte?

Para las piezas que tienen muchas características (que interactúan con muchas otras piezas), divida el modelo en módulos. Entonces, si una función falla, no tiene que volver a imprimir toda la parte. Simplemente modifique el módulo y vuelva a imprimirlo. Utilizo tornillos y tuercas para conectarlos.

Sea un buen amigo con herramientas de mano, sierra de mano, X-acto, taladro eléctrico, pistola de pegamento caliente. Si puede corregir un error de impresión, corríjalo.

Esto explica por qué mi tanque tiene tantas partes. Todavía estoy modificando esas partes y una vez que encontré una buena combinación, puedo imprimirlas juntas como una sola pieza. Entonces ese sería mi Cam Tank v2.0.

Paso 2: el sistema de conducción

Image
Image
El sistema de conducción
El sistema de conducción
El sistema de conducción
El sistema de conducción

Suspensión

Al principio hice un prototipo sin suspensión, solo ejes en la parte inferior del casco con cojinetes y ruedas. Pero pensando en la comodidad del operador (¡lo conduciré viendo el video en tiempo real!), Decidí agregar suspensión para hacerlo más fresco.

Todo lo que tengo son algunos resortes helicoidales, sin hidráulica, sin ballesta. Al principio experimenté un mecanismo de barra de torsión con PLA. (La suspensión de barra de torsión es común en algunos tanques). Resulta que después de un par de torsiones, la barra de PLA impresa se ablanda y eventualmente se rompe. El ABS podría ser mejor para este propósito, pero nunca lo intenté. Entonces, después de investigar más, encontré el diseño de suspensión de Christie, aquí hay un video corto que muestra cómo funciona.

Sin embargo, la suspensión de Christie tiene muchas piezas pequeñas, y entonces no tengo confianza en mi impresora. Así que hice una suspensión como esta.

(imagen)

Esta configuración ocupa demasiado espacio interior. Entonces giro el brazo interno 90 grados. Observe que la primera y la última rueda se acortaron

Tensor trasero

Pensé que cuando el tanque pasaba por encima de algunos obstáculos, las ruedas inactivas podrían moverse hacia arriba y la pista perdería tensión. Así que agregué un mecanismo tensor en la rueda trasera. Básicamente son dos resortes que empujan el eje real todo el tiempo, ejerciendo algo de fuerza sobre él para apretar las orugas.

Ruedas motrices y orugas

Diseñé estas orugas y ruedas motrices en solidworks. No sé mucho sobre ingeniería mecánica, por lo que no puedo hacer el cálculo de engranajes. Así que simulé piezas en solidworks para ver si funcionaban antes de presionar el botón Imprimir. Cada pista está conectada con un filamento de repuesto de 3 mm. Funciona bastante bien con un poco de lijado. Pero el diseño de la pista tiene un defecto, la superficie que toca el suelo es demasiado lisa y es difícil de agarrar. Si lo imprimo al revés, podría agregar un poco de huella, pero costará mucho material de soporte debido al diente. Soluciones futuras: 1: imprima el diente por separado y luego péguelos juntos. 2. Aplique un poco de pintura en aerosol para revestimiento de caucho.

Luego imprimí la carcasa para los servos y me aseguré de que la rueda motriz se pueda unir al brazo del servo con tornillos.

Paso 3: sistema de armas

Image
Image
Sistema de armas
Sistema de armas
Sistema de armas
Sistema de armas

Esta parte es la más emocionante para mí. Puedes comprar un tanque de juguete con cámara. Pero no encontré un juguete, una cámara combinada y un arma.

Compré esta pistola de juguete automática de airsoft por $ 9.99 en oferta. (Cuesta alrededor de 20 dólares ahora y podría probar algo más barato más adelante) Y derribarlo para comprender el mecanismo. Puedo cortar totalmente el cuerpo y pegarlo a mi tanque. Pero no me gusta el medio cuerpo de aspecto feo. Así que tomé algunas medidas y remodelé la parte mecánica. De estas piezas aprendí una lección de la impresión 3D: siempre te equivocarás. Se necesitan 5 impresiones para que todas las piezas encajen, y mucho corte, lijado y pegado en caliente para que funcione perfectamente.

Después de que cada parte de la pistola de juguete se moviera correctamente en mi cuerpo replicado, imprimí otras cuatro partes para sujetar el cuerpo. Y agregó el equipo de inclinación, el embudo BB Bullet y el soporte de la cámara. Todas estas piezas están atornilladas al cuerpo de la pistola. Eventualmente, se pueden combinar en al menos dos partes. Pero creo que todavía no estoy listo.

En la base de la torreta, agregué un micro servo, para inclinar, y un micro motor DC para girar.

Luego comencé a probar la pistola, conecté 4 baterías AA y dispara bien. Me alegré mucho de que funcionara bien. Pero al día siguiente encontré un problema.

Aquí está el video de mi prueba de armas. la torreta estaba conectada a un adaptador de 3v.

Paso 4: configura la Pi

Esta es la parte más importante, el corazón de nuestro tanque: ¡Raspberry Pi!

Si aún no has jugado a Raspberry Pi. Recomiendo comenzar con este libro: Comenzando con raspberry pi por MAKE. Puede obtener los conceptos básicos y una comprensión integral de Pi.

Obtenga el último sistema operativo raspbian.

La siguiente herramienta que recomiendo mucho es el Escritorio remoto. Aquí está el tutorial de Adam Riley. Después de la configuración, puede ver el escritorio de Pi en su PC (no probado en Mac). Por lo tanto, ejecutar el Pi "desnudo" significa que no se necesita pantalla, mouse ni teclado. Algunos de mis amigos están usando la línea de comandos ssh. Pero prefiero el escritorio.

Según investigaciones anteriores, sabía que Raspberry Pi es capaz de transmitir video. Así que comencé a jugar con diferentes aplicaciones en el Pi. Muchas de las aplicaciones tienen un retraso prolongado (segundos) o una velocidad de fotogramas baja. Después de un par de semanas de deambular por videos y tutoriales en línea, afortunadamente encontré la solución. Un video en youtube sobre webiopi me dio muchas esperanzas. Más investigaciones me hicieron creer que este es el camino correcto a seguir.

Webiopi es un marco que facilitó la conexión entre Pi y otros dispositivos de Internet. Controla todos los Pi GPIOS y luego inicia un servidor que contiene html personalizado. Puede obtener acceso a este html desde otros dispositivos (computadora, teléfono inteligente, etc.) y hacer clic en un botón en el navegador a una distancia wifi, se activa un GPIO.

El video me llenó de esperanza, está basado en un tutorial de webiopi - proyecto cambot. Aparece en MagPi magzine # 9 [html] [pdf] y # 10 [html] [pdf]. ¡Gracias Eric PTAK!

Siguiendo el tutorial paso a paso, ¡puedes hacer un cambot de dos ruedas! Así es como funciona: conecte dos motores con un puente H, luego controle el puente H con 6 pines GPIO para controlar la dirección y la velocidad. Webiopi se utiliza para controlar los GPIO. Y el transmisor-j.webp

Si eres nuevo en Pi o Linux como yo lo era hace meses, es posible que tengas un pequeño problema después de seguir todos los pasos. Puede ejecutar el código Python para webiopi y la transmisión de video por separado, pero ¿no sabe cómo ejecutarlos juntos? Me tomó un tiempo saber que puedes agregar un & después de un comando (& es muy difícil de buscar en Google, por cierto), eso significa que quieres que este comando se ejecute en segundo plano. Entonces haré esto cada vez:

sudo python cambot.py y

sudo./stream.sh

Creo que crea un archivo bash que contiene el comando anterior en un archivo y lo ejecuta una vez. Aún no lo he probado.

Así que probé esta configuración básica con dos motores de CC, funciona, pero el motor que tengo no es lo suficientemente potente. Me lleva a otra opción: servos continuos.

Entonces surge una nueva pregunta: ¿Webiopi es compatible con servos controlados por PWM?

La respuesta es sí, pero no por sí sola: se necesita RPIO para generar software PWM

Instalación de RPIO (no tengo suerte con el primer método de instalación de apt-get. El método github funciona muy bien para mí)

Código de muestra y otras discusiones

¡Ahora tu bot está actualizado con dos servos! ¡Piense en lo que puede hacer con los brazos adicionales!

Modifiqué el código de muestra anterior para que se ajustara a mi tanque. No necesitas un título en informática para hacer esto. Es bueno siempre que pueda comprender el código de muestra y sepa qué copiar y dónde cambiar.

Paso 5: Conexión electrónica

Conexión electrónica
Conexión electrónica
Conexión electrónica
Conexión electrónica
Conexión electrónica
Conexión electrónica

El banco de energía que compré, Anker Astro Pro, tiene dos puertos USB y un puerto de 9v (la razón principal por la que compré este). Intenté encender el Pi, el dongle wifi y la cámara web con un puerto USB. No arranca. Así que utilicé el otro puerto USB para un concentrador USB con alimentación.

Entonces pensé que tal vez podría alimentar los servos con el puerto del concentrador USB. Funciona, pero la conexión wifi es muy, muy inestable.

Para resolver este problema, traje 4 baterías AA para alimentar las necesidades del servo de 6V. Rayé el cable USB para exponer el cable de tierra (negro) y lo conecté con la tierra del paquete de baterías AA.

3 servos, rojo a 6V, negro a tierra y pin de señal conectado a pines GPIO.

Según lo planeado, el motor giratorio de la torreta y el motor de la pistola también deben funcionar con 6V con un control de puente en H. Pero cuando conecté todo, ¡el arma no dispara! Parece que el motor está intentando girar, pero no puede accionar los engranajes. El voltaje de salida es correcto, pero parece que no hay suficiente corriente para conducir. También probé MOSFET sin suerte.

Tengo que renunciar a esta parte por razones de tiempo. Y es por eso que en la prueba de pistola tengo que conectar el motor de la pistola al adaptador manualmente. Aún queda mucho por aprender en electrónica. En el peor de los casos, siempre podía controlar la pistola con un servo de apretar y soltar el gatillo.

Paso 6: Interfaz

Image
Image
Interfaz
Interfaz
Interfaz
Interfaz

También modifiqué las interfaces de los códigos de muestra de cambot y rasprover. Como planeaba usar un teléfono inteligente como controlador, optimicé el diseño de mi teléfono (galaxy note3).

La mayoría de los diseños y estilos se pueden editar en index.html. Sin embargo, el estilo del botón predeterminado (gris oscuro con borde negro) se define en el archivo webiopi.css ubicado en / usr / share / webiopi / htdocs. Usé la terminal para ejecutar sudo nano con el fin de modificarlo.

La transmisión de video se encuentra en el centro de la pantalla, el control de conducción en el lado izquierdo y el control de armas en el derecho. Diseñé el control de conducción como dos conjuntos de arriba (adelante), detener, abajo (atrás) con el fin de obtener un control más preciso, pero en el video se puede ver que a veces es incómodo.

Paso 7: Plan futuro

Como puede ver, este proyecto aún no está terminado. Gracias al concurso de Raspberry Pi, hice muchas cosas la semana pasada, tratando de terminarlo antes de la fecha límite. Gira bastante bien hasta que descubrí que el arma no dispara …

Tiene mucho más que mejorar, pero espero que puedas aprender algo de mi experiencia.

Plan a corto plazo:

¡Haz que el arma funcione!

Contenedor más grande para más BB

El tanque necesita explorar el mundo: ¡salga del wifi doméstico!

Configure un nodo ad-hoc en Pi, para que el teléfono pueda conectarse a él en cualquier lugar

Ejecute el comando del tanque al inicio

Agregue un botón de apagado para apagar Pi de manera segura.

Plan de largo plazo:

Mejor sistema de conducción para estabilidad y agarre

Diseñe mi propia placa de circuito en lugar de una placa de pruebas ahora

Grabación de video en primera persona

¿Otra arma? ¡Hagámoslo un barco de batalla!

¿Agregar sensores para auto patrullaje?

¡Visión por computadora para la orientación automática!

Controla el tanque muy lejos: ¡lo veré todo en casa!

Paso 8: ¡Gracias por leer

Gracias por leer mi pobre inglés (no es mi lengua materna). Espero que te hayas divertido o hayas aprendido algo aquí. Este será un proyecto en curso, por lo que si tiene experiencia en algún campo, agradezco su consejo.

Si tiene alguna pregunta, deje un comentario, haré todo lo posible para responderla.

Permítanme hacer una actualización, The Cam Tank2.0, en un futuro próximo.

Por fin, aquí hay un video que muestra el escenario de la batalla. Es bastante divertido.

¡Disfruta y hasta la próxima!

Recomendado: