Tabla de contenido:
- Paso 1: lo que necesita
- Paso 2: imprima un chasis
- Paso 3: prepara el puente en H
- Paso 4: cableado de los módulos
- Paso 5: Configuración del controlador
- Paso 6: Código
- Paso 7: atornillarlo todo junto
- Paso 8: Unas palabras sobre las reglas de combate de robots
- Paso 9: información adicional sobre motores
- Paso 10: actualizaciones y mejoras
Video: Control barato del robot de combate Arduino: 10 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
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
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
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
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:
- Cables sueltos (livianos pero más frágiles) (imagen 1)
- Perfboard (más pesado que 1 pero más robusto con una huella más grande) (imagen 2)
- 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
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
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
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
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
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:
Aerodeslizador de vectorización de empuje RC (utilizado en aviones de combate): 4 pasos (con imágenes)
RC Thrust Vectoring Hovercraft (usado en Jet Fighters): Inscríbete en mi curso de 'Electrónica en pocas palabras' aquí: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK También echa un vistazo a mi canal de youtube aquí para más proyectos y tutoriales de electrónica: https://www.youtube.com/channel/UCelOORs
EL CONTROL DESLIZADOR DE CÁMARA DIY DE 48 ", MOTORIZADO, IMPULSADO POR CORREA, MÁS BARATO DE INTERNET: 12 pasos (con imágenes)
EL DESLIZADOR DE CÁMARA BRICOLAJE MOTORIZADO, IMPULSADO POR CORREA, 48 "MÁS BARATO DE INTERNET: Parallax Printing presenta una solución económica para la fotografía de paralaje motorizada. la plataforma quitando el cor
Liberación del cable del control remoto Olympus Evolt E510 (versión 2 con enfoque automático en el control remoto): 6 pasos (con imágenes)
Lanzamiento del cable del control remoto Olympus Evolt E510 (versión 2 con enfoque automático en el control remoto): Ayer construí un control remoto simple de un botón para mi Olympus E510. La mayoría de las cámaras tienen un botón disparador (el que presiona para tomar una foto) que tiene dos modos. Si se presiona suavemente el botón, la cámara se enfocará automáticamente y medirá la luz
El adaptador I2C (I-Squared-C) más barato del mundo: 5 pasos (con imágenes)
El adaptador I2C (I-Squared-C) más barato del mundo: ¡Cree una interfaz de sensor para su computadora por menos de un dólar! Actualización 6/9/08: Después de explorar varias vías, he llegado a la conclusión de que no existe una manera práctica de implementar esta técnica en Microsoft. Windows. Esto no es una mezquindad contra el sistema operativo, realmente me rompí
Cómo diseñar y construir un robot de combate: 11 pasos (con imágenes)
Cómo diseñar y construir un robot de combate: * NOTA: debido a que los Battlebots están nuevamente en el aire, este instructable ha estado recibiendo mucha tracción. Si bien gran parte de la información aquí sigue siendo buena, tenga en cuenta que ha cambiado bastante en el deporte en los últimos 15 años * Los robots de combate han sido