Tabla de contenido:

HeadBot: un robot autoequilibrado para el aprendizaje y la divulgación STEM: 7 pasos (con imágenes)
HeadBot: un robot autoequilibrado para el aprendizaje y la divulgación STEM: 7 pasos (con imágenes)

Video: HeadBot: un robot autoequilibrado para el aprendizaje y la divulgación STEM: 7 pasos (con imágenes)

Video: HeadBot: un robot autoequilibrado para el aprendizaje y la divulgación STEM: 7 pasos (con imágenes)
Video: Как сделать самобалансирующегося робота 2024, Noviembre
Anonim
Image
Image
Imprima en 3D la carcasa, la tapa y la placa electrónica
Imprima en 3D la carcasa, la tapa y la placa electrónica

Headbot, un robot de dos pies de alto y autoequilibrado, es una creación del equipo de robótica de South Eugene (SERT, FRC 2521), un equipo competitivo de robótica de la escuela secundaria en la FIRST Robotics Competition, de Eugene, Oregon. Este popular robot de divulgación hace apariciones regulares en escuelas y eventos comunitarios donde atrae a multitudes de adultos y niños por igual. Debido a que el robot es duradero y fácil de operar con un teléfono o tableta Android, los niños de hasta tres años pueden conducirlo con éxito. Y debido a que el bot puede ponerse una amplia variedad de sombreros, máscaras y otros disfraces, es una adición entretenida para casi cualquier reunión. Los miembros de SERT usan el bot para reclutar nuevos miembros del equipo e inspirar un interés general en STEM en la comunidad.

El costo total del proyecto es de aproximadamente $ 200 (suponiendo que tenga una impresora 3D y un dispositivo Android), aunque puede reducirse a menos de $ 100 si tiene una tienda de electrónica bien surtida con fácil acceso a tubos termorretráctiles de soldadura., cables de puente, resistencias, condensadores, baterías y un cable micro USB. La construcción es sencilla si ya tiene algo de experiencia en electrónica, y brinda una gran oportunidad para aquellos que estén dispuestos a aprender. Para aquellos con un interés específico en robótica, Headbot también proporciona una buena plataforma para desarrollar habilidades en el ajuste proporcional-integral-derivado (PID) para el control de retroalimentación.

Suministros

Tenga en cuenta que la lista de piezas a continuación indica la cantidad de piezas necesarias de cada tipo, no la cantidad de paquetes. Algunos enlaces hacen referencia a páginas donde se pueden comprar varias piezas como un paquete (lo que proporciona algunos ahorros de costos); asegúrese de comprar la cantidad de paquetes necesarios para obtener la cantidad adecuada de piezas.

Componentes electrónicos

  • 1x microcontrolador ESP32
  • 2x motores paso a paso
  • 2x controladores de motor paso a paso A4988
  • 1x giroscopio / acelerómetro MPU-6050
  • Condensador 1x 100uF
  • 1x UBEC (circuito de eliminación de batería universal)
  • 1x divisor de voltaje (1x 10kohm y 1x resistencia de 26.7kohm)
  • 2x luces LED RGB de ánodo común de 5 mm
  • 6 resistencias de 220 ohmios
  • Cables de puente (macho-macho y hembra-hembra)
  • Cable eléctrico
  • 3 enchufes de conector JST SM
  • 2x caja de 4 baterías
  • Termorretráctil
  • Soldar

Hardware

  • 1x Carcasa, tapa y tablero eléctrico impresos en 3D (consulte las instrucciones a continuación)
  • Ruedas de disco de precisión de 2x 5"
  • 2 bujes de rueda de 0,770 "con diámetro interior de 5 mm
  • 8 pilas AA recargables y cargador
  • 1x cabeza de espuma de poliestireno
  • 1 pieza de 2,5 "de tubo de PVC de 3/4" (para sujetar la cabeza)
  • 8 arandelas de seguridad M3 (para montar motores)
  • 8 tornillos M3 x 8 mm (para montar motores)
  • 8 tornillos de 6-32 x 3/8 "(para montar ruedas en bujes)
  • 2x Zipties
  • Cinta adhesiva o cinta adhesiva
  • 2x varillas de metal rígido o alambres resistentes (p. Ej., Cortados de perchas de alambre) aprox. 30 cm de largo

Herramientas recomendadas

  • Pelacables
  • Cortador de cables
  • Soldador
  • Pistola de calor
  • Taladro eléctrico
  • Broca de pala de 1 "x 16"
  • Juego de llaves hexagonales
  • Pistola de silicona
  • Cable micro USB con enchufe en ángulo

Paso 1: Imprima en 3D la carcasa, la tapa y la placa electrónica

Imprima en 3D la carcasa, la tapa y la placa electrónica
Imprima en 3D la carcasa, la tapa y la placa electrónica
Imprima en 3D la carcasa, la tapa y la placa electrónica
Imprima en 3D la carcasa, la tapa y la placa electrónica

Imprima en 3D la carcasa, la tapa y la placa electrónica. Descarga los archivos stl aquí. Las piezas deben imprimirse con PLA a una resolución de 0,25 mm y un 20% de relleno, sin necesidad de balsas ni soportes.

Paso 2: agregue motores, ruedas y cinta a la carcasa

Image
Image
Prepare la placa electrónica
Prepare la placa electrónica

Motores: coloque los motores paso a paso en la parte inferior de la carcasa (con los cables saliendo por la parte superior de los motores) y asegúrelos con tornillos M3x8 mm y arandelas de contratuercas M3, utilizando una llave hexagonal o un destornillador adecuados. Coloque los cubos de las ruedas en los ejes y asegúrelos apretando los tornillos de fijación en la parte plana del eje.

Ruedas: Estire los anillos de goma alrededor del exterior del disco de la rueda. Coloque las ruedas en los cubos de las ruedas con los tornillos de 6-32x3 / 8”. (Las ruedas pueden estar bien ajustadas alrededor del cubo. Si es así, colóquelas lo mejor posible, luego apriete lentamente los tornillos poco a poco, moviéndose de tornillo en tornillo y repitiendo, para permitir que los tornillos tiren de la rueda en su lugar.)

Prepare la tapa y el tubo de PVC: agregue cinta adhesiva o cinta adhesiva en la parte superior de la carcasa para que la tapa se deslice con un ajuste firme y seguro. Agregue cinta adhesiva a un extremo del tubo de PVC de 2,5”de ¾” para que se deslice en el orificio de la tapa con un ajuste firme y seguro. Si es necesario, también se puede agregar cinta al otro extremo del PVC para asegurar un ajuste perfecto en el orificio en la base de la cabeza.

Paso 3: preparar la placa electrónica

Image
Image

Aplique cinta a la placa electrónica: agregue cinta adhesiva o cinta adhesiva a los lados de la placa electrónica para que se deslice dentro de los rieles en el interior de la carcasa con un ajuste perfecto.

Giroscopio / Acelerómetro MPU-6050: Suelde los pines al Giroscopio / Acelerómetro MPU-6050, con el lado largo de los pines en el mismo lado de la placa de circuito que los chips. Use una gran cantidad de pegamento caliente para asegurar la MPU al pequeño estante que sobresale de la base del tablero de electrones, orientado de modo que los pines queden a la izquierda del tablero mientras mira hacia el estante.

Controlador de motor paso a paso A4988: use un destornillador pequeño para girar el pequeño potenciómetro limitador de corriente en cada controlador de motor paso a paso A4988 en el sentido de las agujas del reloj tanto como sea posible. Despegue el papel de la cinta en los disipadores de calor para los controladores del motor y aplique para cubrir los chips en el medio de la placa de circuito. Use bastante pegamento caliente para asegurar los controladores del motor (con los potenciómetros hacia la parte superior) al lado de la placa electrónica opuesta al estante con la MPU, con los pines sobresaliendo a través de los dos pares de ranuras verticales en la parte superior de la placa electrónica (tenga cuidado de no pegar pegamento en los pines, que deben sobresalir del mismo lado que la MPU). Pase una brida a través de los pequeños orificios sobre cada controlador de motor para asegurarlo aún más en su lugar.

Microcontrolador ESP32: coloque un cable micro USB en el enchufe del microcontrolador ESP32 (esto se utilizará para mantener el extremo de la placa de circuito a una pequeña distancia de la placa electrónica, de modo que se pueda asegurar el acceso al enchufe después de que el ESP32 esté pegado en su lugar). Coloque el ESP32 con el enchufe a la derecha mirando hacia el lado del chip, y use mucho pegamento para asegurarlo en la placa de circuito, con los pines sobresaliendo a través de las ranuras horizontales en el medio de la placa hacia el lado de la MPU (tome cuidado de que no se pegue pegamento en las clavijas o en el cable USB). Después de que el pegamento se endurezca, retire el cable USB.

Paso 4: Circuito electrónico

Image
Image
Circuito electrónico
Circuito electrónico
Circuito electrónico
Circuito electrónico

Instrucciones generales: Siga el diagrama del circuito (descargue el pdf a continuación para obtener una versión de alta resolución) para crear los mazos de cables necesarios para conectar los componentes electrónicos. Las conexiones entre dos pines se pueden realizar directamente con cables de puente hembra-hembra individuales. Las conexiones entre 3 o más pines se pueden realizar con los mazos de cables más complejos que se describen a continuación. Los arneses se pueden crear cortando los puentes hembra-hembra por la mitad y luego soldando con otros componentes (resistencias, condensadores, enchufes, cables cortos) según corresponda. En todos los casos, use tubos termorretráctiles para aislar la junta de soldadura.

Paquetes de baterías: asegúrese de que los paquetes de baterías puedan deslizarse en las ranuras de la base de la carcasa impresa en 3D. Si no encajan, use una lima para darles forma hasta que encajen. Recorte los cables de dos de los enchufes del conector hembra JST SM (dejando aproximadamente una pulgada) y suelde uno a los cables de cada paquete de baterías.

Mazo de cables de alimentación principal: El mazo de cables de alimentación principal recibe la entrada de dos conectores macho JST SM, con el cable + de un conector que se une al cable - del otro para conectar los dos paquetes de baterías en serie (lo que da como resultado una entrada combinada de 12v). Los otros cables se unen a través del condensador de 100 uF (para amortiguar los picos de voltaje; la pata más corta de ese condensador se conecta al conductor -, mientras que la pata más larga se conecta al conductor de + 12v) y con un divisor de voltaje compuesto por una resistencia de 10 kohmios (conectado al cable -) y una resistencia de 26.7kohm (conectada al cable de + 12v), con un puente hembra entre las resistencias que van al pin SVP en el ESP32 (esto proporciona una entrada escalada con un máximo de 3.3v que se usa para proporcionar una lectura del voltaje restante en los paquetes de baterías). Los puentes hembra adicionales proporcionan + 12v (2 puentes) y - entradas (2 puentes) al VMOT y los pines GND vecinos, respectivamente, en los controladores paso a paso. Además, se suelda una eliminación universal de batería (UBEC) a los cables + 12v y - del arnés de alimentación principal (la entrada al UBEC es el lado con el condensador en forma de barril), con las salidas + 5v y - del UBEC soldadas a un enchufe hembra JST SM.

Entrada de 5v al ESP32: Suelde un conector macho JST SM a dos enchufes de puente hembra, para proporcionar entradas a las entradas de 5v y GND al ESP32 desde el UBEC (este enchufe permite una fácil desconexión cuando el ESP32 está siendo alimentado por el entrada micro USB, para cuando el código se carga en el microcontrolador).

Arnés de alimentación de 3.3v: Suelde 7 puentes hembra para conectar el pin de 3.3v en el ESP32 al pin VCC en el MPU, los pines VDD y MS1 en cada uno de los controladores del motor paso a paso y al puente macho que proporciona energía a los ojos LED (lo que permite una fácil desconexión de la alimentación a los ojos, cuando el ESP32 se alimenta desde el micro USB mientras se carga el código).

Arnés de tierra: Suelde 3 puentes hembra para conectar un pin GND en el ESP32 a los pines GND (junto al pin VDD) en cada uno de los controladores del motor paso a paso.

Arnés de habilitación paso a paso: Suelde 3 puentes hembra para conectar el pin P23 en el ESP32 a los pines ENABLE en cada uno de los controladores del motor paso a paso.

Conectores de un solo puente: los puentes simples se utilizan para realizar las siguientes conexiones:

  • GND en el ESP32 a GND en el MPU
  • P21 en el ESP32 a SCL en el MPU
  • P22 en el ESP32 a SDA en el MPU
  • P26 en el ESP32 a DIR en el controlador paso a paso izquierdo
  • P25 en el ESP32 a STEP en el controlador paso a paso izquierdo
  • Puente SLEEP y RESET en el controlador paso a paso izquierdo
  • P33 en el ESP32 a DIR en el controlador paso a paso derecho
  • P32 en el ESP32 a PASO en el controlador paso a paso derecho
  • Puente SLEEP y RESET en el controlador paso a paso derecho

Conecte el UBEC: El enchufe JST SM hembra en la salida del UBEC se puede conectar al enchufe macho correspondiente que suministra energía y tierra a las entradas 5v y GND en el ESP32. Sin embargo, este enchufe debe desconectarse cuando el ESP32 está siendo alimentado por un micro USB (por ejemplo, mientras se carga el código), o de lo contrario, una corriente inversa del ESP32 al arnés de alimentación principal interrumpirá el funcionamiento adecuado del ESP32.

Instale la placa de la electrónica: Deslice la placa de la electrónica en los rieles en el interior de la carcasa.

Conecte los cables del motor: conecte los cables del motor izquierdo al controlador paso a paso izquierdo, con los cables azul, rojo, verde y negro conectados a los pines 1B, 1A, 2A y 2B, respectivamente. Conecte los cables del motor derecho al controlador paso a paso derecho, con los cables azul, rojo, verde y negro conectados a los pines 2B, 2A, 1A y 1B, respectivamente (tenga en cuenta que los motores están cableados en forma de imagen especular, ya que tienen orientaciones opuestas). Meta el exceso de cableado del motor en la parte inferior de la carcasa.

Conecte los paquetes de baterías: Deslice los paquetes de baterías en sus bolsillos en la carcasa y conecte los enchufes del conector JST SM hembra a los enchufes macho correspondientes en la entrada del arnés de alimentación principal (los cables del paquete de baterías frontal se pueden guiar a través del agujero en el centro de la placa electrónica para acceder al enchufe en la parte trasera). Los paquetes de baterías se pueden desconectar para permitir una fácil inserción de baterías nuevas. Al colocar el interruptor de encendido en cualquiera de los paquetes de baterías en la posición de apagado, se desconectará la energía del circuito (ya que los paquetes están en serie); los interruptores en la parte posterior de los bots deben estar encendidos para que el circuito se energice.

Paso 5: preparar la cabeza y los ojos

Image
Image
Prepare la cabeza y los ojos
Prepare la cabeza y los ojos
Prepare la cabeza y los ojos
Prepare la cabeza y los ojos

Alargue el agujero en la base de la cabeza: Utilice el taladro de broca de pala de 1”para aumentar la profundidad del agujero en la parte inferior de la cabeza, de modo que termine por encima de la altura de los ojos (es útil poner un pequeño trozo de cinta en una ubicación adecuada en el eje de la broca para indicar cuándo se ha alcanzado una profundidad adecuada). Empuje la broca 2-3 en el agujero antes de perforar para no dañar la abertura del agujero (querrá un ajuste apretado en el tubo de PVC que lo asegurará a la tapa de la carcasa). Guarde algunos de los trozos más grandes de espuma de poliestireno para rellenar los ojos más tarde.

Cree ganchos para empujar / tirar de los cables: en un extremo de una varilla rígida de metal, doble una pequeña forma de N (esto se usará para empujar los cables para alimentar los ojos LED a través de la cabeza de espuma de poliestireno). Doble un pequeño gancho en el extremo de la otra varilla rígida de metal (esto se usará para sacar el alambre del agujero en la parte inferior de la cabeza).

Corra los cables: Ate bucles grandes en los extremos de los cables rojo, amarillo, verde y azul, con nudos apretados. Trabajando con un cable a la vez, enganche el lazo en el extremo del gancho en forma de N y empújelo a través del ojo de la cabeza, manteniendo el camino horizontal y apuntando hacia el agujero en el centro de la cabeza. Cuando se empuja el alambre en el orificio, use la varilla en forma de gancho para agarrar el lazo desde la parte inferior de la cabeza y tire de él del orificio, extrayendo también la otra varilla del ojo (dejando 2-3 pulgadas de alambre en la parte inferior de la cabeza). parte inferior de la cabeza y colgando fuera del ojo). Repita el proceso con los otros tres cables de colores, siguiendo el mismo camino desde el ojo hasta el orificio central (use una brida etiquetada para asegurar estos cables juntos e indicar qué ojo controlan). Repita con 4 cables más en el segundo ojo.

Conecte los LED RGB: acorte los cables de los LED RGB, asegurándose de marcar el ánodo común (el cable más largo y observe la ubicación del R (el cable único en un lado del ánodo, como se muestra en el diagrama del circuito) y Cables G y B (los dos cables en el otro lado del ánodo). Suelde los cables apropiados que cuelgan de uno de los ojos al LED (rojo al ánodo, amarillo a R, verde a G y azul a B), aislando las conexiones con tubo termorretráctil. Empuje los cables del LED en el cabezal, pero dejándolo sobresalir un poco hasta que pueda probarse. Repita el proceso con el otro LED y los cables del otro ojo.

Conecte los cables de puente: suelde una resistencia de 220 ohmios y un cable de puente con conector hembra en cada uno de los cables amarillo, verde y azul que sobresalen de la parte inferior de la cabeza. Una los dos cables rojos y suelde a un puente con un conector macho (nota: este es el único puente macho necesario en el circuito).

Conecte los puentes y coloque el cabezal: Pase los puentes a través del tubo de PVC en la tapa y deslice el PVC en el orificio de la cabeza, asegurándolo a la tapa. Conecte el puente de alimentación macho a un puente hembra en el arnés de alimentación de 3.3v y los puentes RGB hembra al ESP32 (cables amarillo, verde y azul del ojo izquierdo a P4, P0 y P2, respectivamente, y amarillo, verde y azul alambres del ojo derecho a P12, P14 y P27, respectivamente). Finalmente, coloque el cabezal / tapa en la carcasa principal.

Paso 6: cargue el código e instale la estación de controladores

Cargue el código e instale la Driver Station
Cargue el código e instale la Driver Station
Cargue el código e instale la Driver Station
Cargue el código e instale la Driver Station
Cargue el código e instale la Driver Station
Cargue el código e instale la Driver Station

Instalación del código HeadBot en el ESP32: Descargue e instale el IDE de Arduino en su computadora. Visite https://github.com/SouthEugeneRoboticsTeam/ursa y haga clic en "Descargar zip" debajo del botón verde "Clonar o descargar". Mueva la carpeta comprimida adentro a cualquier lugar de su computadora y cámbiele el nombre a "ursa"

Abra ursa.ino usando el IDE de Arduino. En el menú de preferencias en "Archivo", agregue https://dl.espressif.com/dl/package_esp32_index.json a las "URL adicionales del administrador de tableros". Instale esp32boards de Espressif Systems en Herramientas> Administrador de placas. Elija "módulo dev esp32" en Herramientas> Tablero. Instale la biblioteca PID by Brett Beauregard haciendo clic en "Administrar bibliotecas" en el menú "Sketch".

Conéctese al ESP32 usando el cable USB-MicroUSB. Seleccione el tablero en Herramientas. Presione y mantenga presionado el pequeño botón etiquetado "I00" al lado del conector micro USB en el ESP32, luego presione el botón de carga en el IDE de Arduino y suelte el "I00" cuando el IDE de Arduino diga que está "Conectando …". Una vez completada la carga, se puede desconectar el cable MicroUSB.

Instalación de la estación de controladores HeadBot: Descargue e instale Processing en su computadora. Visite https://github.com/SouthEugeneRoboticsTeam/ursa-ds-prototype y descargue el código. Abra "ursaDSproto.pde" utilizando el IDE de procesamiento. Instale las bibliotecas Ketai, Game Control Plus y UDP a través del administrador de bibliotecas de Processing (Sketch> Import Library). Si está ejecutando la estación de transmisión en su computadora, seleccione Modo Java en el menú desplegable en la parte superior derecha de la ventana Procesamiento; para ejecutarlo en Android, instale el Modo de procesamiento de Android haciendo clic en el menú desplegable "Java" en la parte superior derecha. Luego, conecte el dispositivo, habilite la depuración USB, seleccione Modo Android. Para ejecutar la estación de transmisión, haga clic en "Ejecutar croquis". Si su computadora está conectada a un dispositivo Android, la estación del controlador se instalará en él.

Paso 7: Inicie HeadBot y ajuste los valores PID

Image
Image
Concurso de robótica
Concurso de robótica

Inicio: asegúrese de que los paquetes de baterías estén conectados y que la salida UBEC esté conectada al conector de entrada ESP32. Con Headbot acostado de lado en una posición estable, enciéndalo deslizando el interruptor de encendido en ambos paquetes de baterías a la posición ON, dejando Headbot estacionario durante unos segundos mientras se inicializa el giroscopio. Después de una breve demora, debería poder ver la señal wifi de Headbot (SERT_URSA_00) en el dispositivo que usará para controlar el bot; selecciónelo e ingrese la contraseña "Headbot". Una vez establecida la conexión, ejecute la aplicación Drive Station en su teléfono / tableta, o ejecute el script de Drive Station en Procesando en su computadora. Una vez que el programa se inicia y se establece una conexión, debería ver que el valor de "tono" comienza a responder, mostrando la inclinación de Headbot.

Configuración de los valores de PID: para poder controlar Headbot, deberá ajustar los valores de PID. Para la versión de Headbot descrita aquí. Al hacer clic en el cuadrado en la parte superior izquierda de la estación de conducción, aparecerán controles deslizantes para ajustar los valores. Los tres controles deslizantes superiores son para ajustar P, I y D para el ángulo (PA, IA y DA); estos valores son de importancia primordial para permitir que Headbot mantenga su equilibrio. Los tres controles deslizantes inferiores son para ajustar P, I y D para la velocidad (PS, IS y DS); estos valores son importantes para permitir que Headbot ajuste correctamente su velocidad de conducción de acuerdo con la entrada del joystick. Los buenos valores iniciales con esta versión de Headbot son PA = 0.08, IA = 0.00, DA = 0.035, PS = 0.02, IS = 0.00 y DS = 0.006. Después de configurar estos valores, haga clic en el cuadro "Guardar configuración" en la parte superior izquierda de la estación de la unidad (esto guarda la configuración en una forma más duradera que sobrevivirá a un reinicio del bot).

Probar cosas: haga clic en la barra de joystick verde en la parte superior derecha de la estación de conducción para que aparezca un joystick para controlar el robot. Coloca a Headbot en una orientación casi equilibrada y presiona el recuadro Habilitar verde oscuro en la parte superior derecha (al presionar el recuadro rojo contiguo se inhabilitará el bot). Si todo va bien, tendrá un Headbot con autoequilibrio, pero lo más probable es que necesite ajustar los valores de PID. Por lo general, hay poca I o D en comparación con P, así que comience por ahí. Demasiado poco y no responderá. Demasiado y oscilará hacia adelante y hacia atrás. Comience Comience con los valores de Angle PID, haciendo pequeños cambios para ver cómo se ven afectadas las cosas. Algún término D para el bucle de ángulo puede ayudar a minimizar las oscilaciones, pero una pequeña cantidad puede generar rápidamente una gran cantidad de inestabilidad, por lo que debe usarse con moderación. Si los valores de ángulo son correctos, Headbot debería resistir algunos empujones suaves sin caer. Se esperan pequeñas sacudidas mientras Headbot está equilibrado, ya que los motores paso a paso se mueven en semitonos de 0,9 grados con cada ajuste.

Una vez que logre el equilibrio, intente conducir haciendo pequeños movimientos del joystick, haciendo pequeños ajustes de los valores de Speed PID para que el robot responda de manera suave y elegante. Aumentar el término I puede ser útil para contrarrestar que el robot no se adhiera a la velocidad establecida. Sin embargo, tenga en cuenta que los cambios en los valores de PID de velocidad requerirán ajustes adicionales en los valores de PID de ángulo (y viceversa), ya que los bucles PID interactúan.

Los cambios en el peso general y la distribución del peso de Headbot (como cuando se usan anteojos, máscaras, pelucas o sombreros) requerirán ajustes adicionales de los valores de PID. Además, si los disfraces desequilibran demasiado el equilibrio, es posible que deba modificar el valor inicial de pitchOffset en el código ursa.ino y volver a cargar el código en el ESP32.

Concurso de robótica
Concurso de robótica

Finalista en el Concurso de Robótica

Recomendado: