Tabla de contenido:

Control barato del robot de combate Arduino: 10 pasos (con imágenes)
Control barato del robot de combate Arduino: 10 pasos (con imágenes)

Video: Control barato del robot de combate Arduino: 10 pasos (con imágenes)

Video: Control barato del robot de combate Arduino: 10 pasos (con imágenes)
Video: Un inventor adolescente crea un robot teledirigido con cartón 2024, Noviembre
Anonim
Control de robot de combate Arduino barato
Control de robot de combate Arduino barato
Control de robot de combate Arduino barato
Control de robot de combate Arduino barato
Control de robot de combate Arduino barato
Control de robot de combate Arduino barato

El resurgimiento de Battlebots en Estados Unidos y Robot Wars en el Reino Unido reavivó mi amor por la robótica de combate. Así que encontré un grupo local de creadores de bots y me sumergí de inmediato.

Luchamos en la báscula de peso de hormigas del Reino Unido (límite de peso de 150 gramos) y rápidamente me di cuenta de la forma tradicional de construir un bot que involucraba equipo RC: un transmisor RC caro, un receptor voluminoso o caro y ESC (controladores de velocidad electrónicos) que son cajas mágicas. que puede manejar mucha más corriente de la necesaria para un bot de este tamaño.

Habiendo usado Arduino en el pasado, quería intentar hacer las cosas de manera diferente y establecer un objetivo de un sistema Arduino que pueda recibir una señal legal de combate y controlar dos motores de accionamiento por alrededor de USD $ 5 (la mitad del costo de un ESC barato)

Para ayudar a lograr este objetivo, remezclé este instructable de automóvil RC, reduciendo el peso / costo del receptor y generando 4 señales PWM para ejecutar un chip h-bridge barato

Este instructivo se centrará en el sistema de control Arduino, pero agregaré información adicional para ayudar a las personas nuevas a construir su primer bot.

Descargo de responsabilidad:

Incluso a pequeña escala, la construcción / lucha de robots de combate puede ser peligrosa, emprenda bajo su propio riesgo

Paso 1: lo que necesita

Materiales:

Para el sistema de control:

  • 1x Arduino pro mini 5v (USD $ 1.70)
  • 1x módulo nRF24L01 ($ 1,14)
  • 1x módulo regulador de 3.3v ($ 0.32)
  • 1x módulo doble puente en h * ($ 0.90)

Para el resto de un bot de cuña básico:

  • 2x motorreductores micro ** (versión barata, versión confiable)
  • 1x batería de polímero de litio de 2 s
  • 1x cargador de equilibrio
  • 1x bolsa de carga de lipo
  • 1x interruptor
  • 1x conector de batería
  • cable misceláneo (utilicé algunos cables de puente Arduino que tenía por ahí)
  • tornillos pequeños
  • (opcional) epoxi
  • (opcional) Aluminio (de una lata de refresco)
  • (opcional) LED adicionales

Para un controlador básico:

  • 1x Arduino pro mini 5v
  • 1x módulo nRF24L01
  • 1x módulo regulador de 3.3v
  • 1x joystick Arduino

Instrumentos:

  • Destornillador
  • Soldador
  • Alicates
  • Impresora 3d (opcional, pero te facilita la vida)

* al mirar los módulos h-bridge, busque un módulo con las 4 entradas de señal una al lado de la otra, esto facilitará la conexión al Arduino más adelante

** consulte el paso final para obtener algunos consejos sobre cómo elegir las velocidades del motor

Paso 2: imprima un chasis

Imprimir un chasis
Imprimir un chasis

Antes de comenzar con el sistema de control, observe el diseño del bot que se va a construir. Siempre es mejor diseñar un bot desde el arma. Para un principiante, sugiero comenzar con una cuña básica, están diseñadas para ser robustas y empujar a los oponentes fuera del camino, lo que significa que es menos probable que te destruyan en tu primera pelea, además es más fácil tener una idea de la conducción cuando no lo haces. No tienes que preocuparte por un arma activa.

He diseñado un robot de cuña: "Ligeramente crudo", que ha sido probado en batalla tanto con armadura como sin armadura. Es un buen primer bot, fácil de imprimir y se puede ensamblar con 8 tornillos. Compruébalo en Thingiverse para ver un diseño superior diferente

Si no tiene una impresora 3D, pruebe con una biblioteca local, un espacio de hackers o un espacio de creación.

Agregar armadura adicional es fácil de hacer recién salido de la impresora, lijar tanto la cuña como la lata de refresco de aluminio con un papel de lija grueso, quitar el polvo del lijado, aplicar epoxi tanto al plástico como al aluminio, sujetarlo con abrazaderas o bandas de goma durante 12-24 horas

Actualmente no tengo un diseño de rueda pública, ya que he estado usando llantas de goma de un kit de robótica educativa sobre cubos impresos en 3D. En las próximas semanas, diseñaré un buje que utilizará juntas tóricas para el agarre. Una vez que las ruedas estén listas, actualizaré esta página y la página de Thingiverse.

Paso 3: prepara el puente en H

Prepara el puente en H
Prepara el puente en H

Los diferentes controladores de motor de puente h vienen en diferentes configuraciones, pero el módulo vinculado en la lista inicial viene con 2 bloques de terminales como salida. Estos bloques de terminales son pesados y voluminosos, por lo que es mejor quitarlos.

La forma más fácil de hacer esto es calentar ambas almohadillas al mismo tiempo con un soldador y mover con cuidado los bloques con un par de alicates.

Antes de continuar, decida si desea poder intercambiar los motores en su configuración. Si es así, los cables de puente Arduino se pueden soldar en la salida del módulo, luego el cable opuesto se puede soldar al motor, haciéndolos extraíbles según sea necesario.

Paso 4: cableado de los módulos

Cableado de los módulos
Cableado de los módulos
Cableado de los módulos
Cableado de los módulos
Cableado de los módulos
Cableado de los módulos

El cableado de los módulos se puede realizar de 3 formas diferentes, por lo que el paso del diseño es fundamental. La elección del arma afectará la forma del bot y la elección del cableado.

las 3 opciones son:

  1. Cables sueltos (livianos pero más frágiles) (imagen 1)
  2. Perfboard (más pesado que 1 pero más robusto con una huella más grande) (imagen 2)
  3. Placa de circuito personalizada (más pesada que 1 pero robusta y con una huella pequeña) diseño de placa adjunto (imagen 3)

independientemente de la elección realizada, las conexiones reales son las mismas.

Realice las siguientes conexiones dos veces (una para el controlador y otra para el receptor)

nRF24L01 (imagen de numeración de pines 4 **):

  • Pin 1 -> GND
  • Pin 2 -> pin de salida del módulo de 3.3v
  • Pin 3 -> Pin 9 de Arduino
  • Pin 4 -> Pin 10 de Arduino
  • Pin 5 -> Pin 13 de Arduino
  • Pin 6 -> Pin 11 de Arduino
  • Pin 7 -> Pin 12 de Arduino

Módulo de 3.3v:

  • Pin Vin -> Vcc *
  • Pin de salida -> pin 2 nRF (como arriba)
  • Pin GND -> GND

Arduino:

  • Pines 9-13 -> conectar a nRF como arriba
  • Crudo -> Vcc *
  • GND -> GND

Realice las siguientes conexiones una vez para diferenciar entre controlador y receptor

Para el controlador:

Palanca de mando:

  • + 5v -> Arduino 5v
  • vrx -> Pin A2 de Arduino
  • vry -> Pin A3 de Arduino
  • GND -> GND

Para el receptor:

módulo puente h:

  • Vcc -> Vcc *
  • B-IB -> Pin 2 de Arduino
  • B-IA -> Pin 3 de Arduino
  • A-IB -> Pin 4 de Arduino
  • A-IA -> Pin 5 de Arduino
  • GND -> GND

Esto se hace más fácil reemplazando los pines para Vcc y GND con cable, luego volteando la placa al revés y soldando los pines directamente en el Arduino, esto simplifica la soldadura y crea un montaje seguro para el controlador del motor.

* para que un robot de combate sea legal, se debe agregar un punto de aislamiento (interruptor o enlace extraíble) entre la batería y el circuito. Esto significa que el positivo de la batería debe estar conectado a un interruptor, luego el interruptor conectado a Vcc

** imagen de https://arduino-info.wikispaces.com/Nrf24L01-2.4GHz-HowTo, que es un gran recurso para el módulo nRF24L01

Paso 5: Configuración del controlador

Configuración del controlador
Configuración del controlador

Una vez que todo está conectado, es hora de un código.

Comenzando con el controlador, se necesitan algunos valores de potenciómetro para garantizar que el joystick exacto conectado funcione con el código de transmisión.

Cargue el código "joystickTestVals2". Este código se utiliza para leer los valores del potenciómetro y mostrarlos a través de serie

Con el código en ejecución y una ventana en serie abierta, comience mirando el valor "ARRIBA", empuje el joystick hacia la posición completamente hacia adelante, el valor "ARRIBA" probablemente saltará entre unos pocos números grandes, elija el más pequeño de los valores que vea, reste 10 de él (esto asegurará que empujar el joystick hasta el final dará toda su potencia) y anótelo como "Up Max" para permitir que el joystick vuelva al centro. Ahora elija el valor más grande que vea, agregue 20 y anótelo como "UpRestMax". Repita el proceso empujando la palanca hacia abajo e invirtiendo la suma / resta registrando los valores como "UpMin" y "UpRestMin"

Repite todo el proceso de nuevo para la izquierda y la derecha, comenzando presionando la palanca hacia la derecha, grabando "SideMax" y luego "SideRestMax" mientras se recupera y empujando hacia la izquierda para grabar "SideMin" y "SideRestMin".

Estos valores son muy importantes, especialmente todos los valores que contienen la palabra "Descanso". Estos valores crean la "zona muerta" en el centro del palo de modo que el bot no se mueva cuando el palo está descansando en el centro, asegúrese de que cuando el palo esté centrado los valores caigan entre "restMin" y "restMax" para ambos ejes

Paso 6: Código

Código
Código
Código
Código

El código dado hace todo para un bot de cuña básico con una estructura en su lugar para permitir que también se envíe un valor de pwm de arma.

Bibliotecas necesarias:

  • Biblioteca nRF24L01 desde aquí: GitHub
  • Software PWM desde aquí: Código de Google

Configura tu controlador:

abra el código txMix y cambie los valores límite del stick a los valores que anotó en el último paso. Esto asegurará que el código reaccione correctamente a su joystick (Imagen 1)

Personalizar tubería:

Para asegurarse de no interferir con nadie más en su evento, deberá cambiar la tubería de radio. En efecto, esto es un identificador y el receptor solo actuará con las señales de la tubería correcta, así que asegúrese de cambiar la tubería en ambos códigos a la misma cosa.

En la imagen se han resaltado 2 dígitos hexadecimales de la tubería. Estos son los dos dígitos que deben cambiarse para personalizar la tubería. Cambie "E1" a cualquier otro valor hexadecimal de 2 dígitos y anótelo para que pueda compararlo fácilmente con las tuberías de los oponentes en un evento.

Subir:

  • txMix al controlador
  • recibir al módulo receptor

Ejecutar el código:

txMix:

El código se lee en la posición del joystick como un valor "ARRIBA" y un valor "lateral". estos valores se limitan en función del valor máximo proporcionado para garantizar que se proporcione toda la potencia en la posición máxima de la palanca.

Luego, estos valores se verifican para asegurarse de que el palo se haya movido fuera de la posición neutral, si no tiene ceros, se envían.

Luego, los valores se mezclan individualmente en dos variables, una para la velocidad del motor izquierdo y otra para la velocidad del motor derecho. En estas variables, se usa un valor negativo para indicar que el motor está retrocediendo, ya que simplifica la mezcla.

Los valores de velocidad izquierda y derecha se separan luego en cuatro valores pwm, uno para cada uno: motor a la derecha hacia adelante, motor a la izquierda hacia adelante, motor a la derecha hacia atrás, motor a la izquierda hacia atrás.

A continuación, se envían los cuatro valores de pwm al receptor.

recibir:

Simplemente recibe señales del controlador, verifica que la señal no contenga valores de pwm hacia adelante y hacia atrás en un solo motor y luego aplica el pwm.

El receptor también falla en las cajas fuertes para apagar los motores cuando no se recibe una señal del controlador.

Paso 7: atornillarlo todo junto

Atornillarlo todo junto
Atornillarlo todo junto
Atornillarlo todo junto
Atornillarlo todo junto
Atornillarlo todo junto
Atornillarlo todo junto

Suelde conectores a los motores o suelde los motores directamente al puente h. (Prefiero los conectores para poder simplemente cambiar los enchufes si he conectado los motores incorrectamente)

Suelde el cable positivo del conector de la batería al pin central del interruptor y uno de los pines exteriores del interruptor al Vcc de los módulos conectados.

Suelde el cable negativo del conector de la batería al GND de los módulos conectados.

(Opcional) agregue LED adicionales entre Vcc y GND. Todos los robots de combate requieren una luz que esté encendida mientras el sistema tenga energía, dependiendo de los componentes que este sistema tenga LED en el Arduino, el módulo de 3.3v y el puente h, siempre que al menos uno de estos sea visible desde fuera del bot esta regla se cumple. Se pueden usar LED adicionales para asegurarse de que se cumpla esta regla y para personalizar la apariencia

Slightly Crude es fácil de atornillar, atornille primero los soportes del motor en su lugar, agregue los componentes electrónicos, luego atornille la tapa en su lugar, una pequeña cantidad de velcro ayudará a mantener el interruptor en la tapa

El controlador es suyo para diseñar e imprimir. Para las pruebas, he estado usando el controlador adjunto que se ha modificado del controlador BB8 V3 de James Bruton

Paso 8: Unas palabras sobre las reglas de combate de robots

Unas palabras sobre las reglas de combate de robots
Unas palabras sobre las reglas de combate de robots

Diferentes países, estados y grupos realizan eventos de combate de robots con diferentes reglas.

Creé este sistema y escribí esto para que sea lo más general posible al mismo tiempo que cumplo con las principales reglas que pertenecen a los sistemas RC (en particular, el sistema debe ser digital de 2.4GHz y tener un punto de aislamiento de batería). Para ejecutar este sistema o diseñar su propio primer bot, es mejor ponerse en contacto con su grupo local y obtener una copia de sus reglas.

Las reglas que ejecuta su grupo local son absolutas, no tome mi palabra en este instructivo sobre las reglas de su grupo.

Como este sistema Arduino es nuevo para la comunidad, lo más probable es que se le pida que lo pruebe antes de usarlo en un evento. He probado en batalla este sistema repetidamente contra equipos RC estándar y contra sí mismo sin ningún problema de interferencia, por lo que debería pasar cualquier prueba; sin embargo, los organizadores de su evento local tienen la última palabra, respeten su decisión. Si rechazan su uso, pregunte si hay un bot de préstamo con el que pueda pelear o pida una aclaración sobre por qué fue rechazado e intente solucionar el problema para el próximo evento.

Paso 9: información adicional sobre motores

Información adicional sobre motores
Información adicional sobre motores

Los micro-motores de engranajes usados en la clase de hormigas vienen en una gran variedad de velocidades y están marcados usando RPM o relación de engranajes. A continuación se muestra una conversión aproximada.

La mayoría de los bots usan motores entre 75: 1 y 30: 1 (con algunas excepciones usan 10: 1). Los bots con grandes armas giratorias pueden beneficiarse de motores 75: 1 más lentos, ya que la velocidad más lenta permite un mayor control. Los wedges, levantadores y flippers ágiles son mejores en 30: 1 en manos de un conductor experto. Recomiendo motores 50: 1 en una cuña para las primeras peleas solo para acostumbrarse al sistema y conducir

  • 12V 2000 RPM (o 6V 1000RPM) -> 30: 1
  • 6V 300RPM -> 50: 1

Paso 10: actualizaciones y mejoras

Han pasado un par de años desde que publiqué este ible y he aprendido mucho sobre este sistema, así que es hora de actualizarlos aquí. Lo más importante es la elección de los componentes, los componentes originales funcionaron relativamente bien pero a veces fallarían durante el combate. Los 2 grandes perpetradores son el H-Bridge y el módulo nrf24l01, debido a que elegí las partes más baratas que pude encontrar. Estos pueden solucionarse mediante:

  • Actualización del puente en H de 0,5 A a un puente en H de 1,5 A, como este: puente en H de 1,5 A
  • Actualización del módulo nrf24l01 a un diseño completamente SMD: Open smart NRF24l01

Junto con las nuevas actualizaciones de componentes, he diseñado algunos PCB nuevos que ayudan a compactar el RX y agregar más funciones al TX

También tengo algunos cambios de código por venir, así que estad atentos a esos

Recomendado: