Tabla de contenido:
- Paso 1: requisitos
- Paso 2: Configuración del chip Bluetooth
- Paso 3: Fijación de las ruedas a los motores
- Paso 4: Creación del exterior
- Paso 5: Montaje de los componentes
- Paso 6: carga y ajuste del código
Video: Robot de equilibrio automático: 6 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
En este Instructable, le mostraremos cómo construir el robot de autoequilibrio que hicimos como proyecto escolar. Se basa en algunos otros robots, como el nBot y otro Instructable. El robot se puede controlar desde un teléfono inteligente Android a través de una conexión Bluetooth. Como este Instructable solo cubre el proceso de construcción, también hemos escrito un documento para cubrir los antecedentes técnicos del código y la electrónica. También contiene enlaces a las fuentes que se utilizaron, por lo que puede consultarlas si el documento no es lo suficientemente completo para usted.
Para seguir todos los pasos de este proyecto, necesitará algunas habilidades de impresión 3D o alguna otra forma inteligente de conectar las ruedas a los motores.
Paso 1: requisitos
El robot se basa en una placa controladora de cardán sin escobillas de Martinez. Hay algunas ligeras variaciones de esta placa, pero siempre que tenga una con un chip ATmega328 y controladores de motor L6234, debería estar bien. Si busca "Tablero de Martínez" en Google Imágenes, verá que hay algunos tableros con un conector fácil para el chip IMU y / o la batería, en lugar de encabezados de clavijas o agujeros. En el último caso, será útil si solicita un paquete de pines de cabecera, que luego puede soldar en los orificios.
Lista de
Algunos de los elementos de esta lista contienen enlaces a tiendas web.
- Controlador: Martinez BoardDX.com (también viene con la IMU y algunos pines de cabecera).
- IMU: MPU6050
- Batería (batería LiPo 3S de 450 mAh) Nota: también necesitará un cargador LiPo 3S eBay.com
- 2x Motor: motor sin escobillas 2208, KV100DX.com
- Ruedas (puede obtenerlas de juguetes existentes o LEGO)
- 6 tornillos M2 de 5 mm
- Tornillo 8x M3 (la longitud depende del material para su exterior, uno debe ser extra largo)
- Chip Bluetooth HC-05 (asegúrese de obtener uno con una placa de interfaz en serie conectada, no solo un chip desnudo) IMPORTANTE: Asegúrese de que el chip tenga un pin etiquetado como KEY.
- Cables: DuPont hembra a hembra Comprar un paquete de 20 cables será más que suficiente
- cinta de velcro
- Cable USB para conectar el controlador a la PC
- Opcional: Pines de encabezadoDX.com (puede cortarlos o romperlos a la longitud deseada)
- Arandelas y espaciadores de plástico
Finalmente, necesitas un poco de acrílico, madera o cartón -acompañado de pegamento o cinta adhesiva- para crear una estructura que contenga todos los componentes.
Paso 2: Configuración del chip Bluetooth
Una vez que tenga todas las piezas, es hora de configurar el chip Bluetooth. Necesitará un cable USB para conectar la placa controladora a su computadora, así como el IDE de Arduino para comunicarse con los componentes.
Para ello, deberá descargar el archivo:
HC-05_Serial_Interface.ino
Luego sigue estos pasos:
- Conecte el controlador a su computadora con un cable USB.
- Abra el archivo.ino con el IDE de Arduino.
- En el IDE, vaya a Tools, Board y asegúrese de que esté configurado en Arduino / Genuino Uno.
- Ahora vaya a Herramientas, Puerto y configúrelo en el puerto COM al que está conectado el controlador. Por lo general, solo hay un puerto. Si hay varios, verifique el Administrador de dispositivos (en Windows) para averiguar cuál es el controlador.
- Ahora, presione el botón Cargar en el IDE y espere a que finalice la carga. Luego, desconecte el cable USB de la computadora o del controlador.
Una vez hecho esto, conecte el HC-05 usando cables DuPont de la siguiente manera:
Controlador HC-05
LLAVE + 5V TIERRA TIERRA TXD RX RXD TX
Ahora conecte el cable USB nuevamente, luego conecte el pin VCC del HC-05 a otro + 5V en el controlador. El LED debe parpadear con un intervalo de ~ 1 segundo.
En el IDE de Arduino, seleccione el puerto COM correcto, luego vaya a Herramientas, Monitor de serie.
Establezca la opción Fin de línea en el Monitor de serie en NL y CR. Establezca la velocidad en baudios en 38400. Ahora puede usar el monitor en serie para enviar comandos de configuración al chip Bluetooth. Estos son los comandos:
AT Comprobar conexión
AT + NAME Obtener / establecer el nombre de visualización de Bluetooth AT + UART Obtener / establecer la velocidad en baudios AT + ORGL Restablecer los valores predeterminados de fábrica AT + PSWD Obtener / establecer la contraseña de Bluetooth
Para cambiar el nombre, la contraseña y la velocidad en baudios del dispositivo Bluetooth, envíe los siguientes comandos:
AT + NAME = "Nombre de ejemplo"
AT + PSWD = "PassWord123" AT + UART = "230400, 1, 0"
Las opciones de Nombre y Contraseña se pueden configurar como desee, solo asegúrese de configurar la velocidad en baudios utilizando exactamente el mismo comando que se enumera anteriormente. Esto lo establece en 230400 baudios, con 1 bit de parada y sin paridad. Después de configurar todo, vuelva a conectar el cable USB (para salir del modo de configuración) e intente emparejar su teléfono con el chip. Si todo funciona, desconecte el cable USB y continúe con el siguiente paso.
Paso 3: Fijación de las ruedas a los motores
Las ruedas que se utilizaron en este proyecto tienen un origen desconocido (estaban tiradas en un cajón con muchas otras cosas). Para unir las ruedas a los motores, imprimimos en 3D una pieza que coincidía con los orificios de los tornillos de los motores. Las piezas se atornillaron con tres tornillos 2M de 5 milímetros por motor. Ambas piezas tienen un pasador que encaja en los orificios de los ejes de las ruedas.
Se incluye el modelo de SolidWorks. Probablemente tendrá que modificarlo para sus ruedas o encontrar una solución práctica diferente para adaptarse a las ruedas. Por ejemplo, puede usar una Dremel para hacer un agujero del mismo tamaño que el motor (o un poquito más pequeño para darle un ajuste perfecto), luego puede presionar el motor en la rueda. Solo asegúrese de obtener las ruedas adecuadas para este trabajo si planea hacer esto.
Paso 4: Creación del exterior
Para el exterior, se utilizaron dos piezas de madera y se cortaron con la misma forma. Para empezar, marcamos la circunferencia del motor en la parte inferior central de la pieza. Luego marcamos cada esquina con una línea de 45 grados, asegurándonos de dejar suficiente espacio para que el motor se asiente en la parte inferior central. Luego sujetamos las dos piezas de madera juntas y cortamos las esquinas. Para terminar, lijamos las esquinas para hacerlas menos afiladas y quitar las astillas.
Ahora es el momento de hacer agujeros para los tornillos y el eje que sobresale de la parte trasera del motor. Si sujeta las piezas de madera juntas al perforar, solo tiene que perforar cada orificio una vez.
Para crear el diseño de los orificios de los tornillos, usamos un trozo de papel y lo colocamos en la parte posterior del motor y usamos un lápiz para presionar en los orificios de los tornillos, a través del papel. La hoja de papel con los cuatro orificios para tornillos se colocó sobre la madera para que pudiéramos marcar la ubicación de los orificios a perforar. Para perforar los orificios, utilice un taladro de 3,5 mm. Ahora, use un lápiz y una regla para encontrar el centro de estos agujeros y cree el agujero para el eje con un taladro de 5 mm. Fije los motores con tornillos M3, pero deje uno de los tornillos espaciados más anchos de un motor.
Para colocar el conector del motor y el cable dentro del robot, también perforamos un orificio de 8 mm un poco por encima del motor. Asegúrese de que haya suficiente espacio para que los cables se doblen sin estresarlos demasiado.
Es importante trabajar con la mayor precisión posible para crear un exterior simétrico (casi) perfecto
Paso 5: Montaje de los componentes
Marque una línea de guía central vertical en la madera para que pueda colocar los componentes en el centro. Puedes pegar todo a la madera con cinta de velcro. En nuestro robot usamos pequeños pernos y tuercas para asegurar la placa del controlador, pero también puede usar cinta de velcro (aún no la teníamos en el momento en que conectamos el controlador). Asegúrese de poder conectar un cable USB después de terminar la construcción.
Colocamos el controlador en el centro con el puerto USB apuntando hacia abajo, para que pudiéramos enchufar el cable entre las ruedas. También puede apuntarlo a uno de los lados.
Coloque la batería lo más alto posible, de modo que el robot se vuelva pesado en la parte superior. También coloque el puerto de carga en un lugar de fácil acceso cerca del borde.
Chip de bluetooth
Conecte el pin VCC del chip Bluetooth a + 5V en el controlador y el Bluetooth GND al GND del controlador. El pin TXD del controlador va al Bluetooth RX y el pin RXD del controlador va al pin Bluetooth TX. Luego, simplemente pegue el chip Bluetooth en algún lugar del panel de madera con cinta de velcro.
Chip de movimiento
El chip de movimiento tiene dos orificios para tornillos, por lo que unimos el chip con un espaciador, de tal manera que el centro del chip cae sobre el centro del motor. La orientación no importa, ya que el robot se calibra a sí mismo al arrancar. Asegúrese de usar una arandela de plástico debajo de la cabeza del tornillo para evitar cortocircuitos en el circuito.
Luego use cables DuPont para conectar los pines al controlador. Cada pin está etiquetado de la misma manera en el controlador que en el chip de movimiento, por lo que conectarlo es bastante evidente.
Interruptor de alimentación
Conectar un interruptor de encendido es fácil. Tomamos uno de un dispositivo viejo y lo desoldamos de su placa de circuito. Para usarlo como un interruptor de encendido para el robot, conecte el cable positivo de la batería al pin (asumiendo que es un interruptor de tres pines) en el lado en el que desea hacer la posición de encendido del interruptor. Luego, conecte el pin central a la entrada de energía positiva del controlador. Soldamos cables de DuPont al interruptor, de modo que la batería en sí no esté unida permanentemente al interruptor.
Conectando los lados
Ahora conoce la ubicación de los componentes y tiene los dos lados del robot. El paso final en la construcción del robot será conectar los dos lados entre sí. Usamos cuatro juegos de tres piezas de madera pegadas y atornilladas a los lados para que nuestro chip de movimiento estuviera en el eje medio del robot. Cabe decir que el material utilizado, siempre que sea lo suficientemente resistente, no importa demasiado. Incluso puede usar una conexión más pesada en la parte superior para aumentar aún más la altura del centro de masa. Pero a diferencia de la posición vertical del centro de masa, la posición horizontal del centro de masa debe mantenerse en su lugar tanto como sea posible, por encima del eje de la rueda, ya que codificar el código para el chip de movimiento se volvería bastante difícil si el centro horizontal de desplazados masivos.
Ahora está listo para cargar el código y ajustar el controlador.
Paso 6: carga y ajuste del código
Para cargar el código, necesita una computadora con el IDE de Arduino. Descargue el archivo.ino a continuación y ábralo con el IDE de Arduino. La carga al controlador se realiza de la misma manera que lo hizo con el código de la configuración de Bluetooth.
Para que el robot funcione, debe descargar la aplicación "Joystick bluetooth Commander" de Play Store. Encienda el robot y colóquelo en el suelo, ya sea en su parte delantera o trasera. Inicie la aplicación y conéctese al chip Bluetooth. El campo de datos 1 pasará de XXX a LISTO una vez que el robot se haya calibrado (5 segundos para colocarlo de lado, seguido de 10 segundos de calibración). Puede encender el robot cambiando el botón 1 en la aplicación. Ahora coloque el robot verticalmente en el suelo y suéltelo una vez que sienta que los motores se encienden. Aquí es cuando el robot comienza a equilibrarse.
El robot ahora está listo para ser ajustado, ya que su estabilidad probablemente no sea muy buena. Puede probar si funciona sin ajustes adicionales, pero debe hacer que el robot sea bastante idéntico al nuestro para que funcione correctamente. Por lo tanto, en la mayoría de los casos, debe ajustar el controlador para que funcione mejor con su robot. Es bastante fácil, a pesar de que requiere bastante tiempo. A continuación, le indicamos cómo hacerlo:
Afinando el controlador
En algún lugar del código, encontrará 4 variables, comenzando con una k. Estos son kp, kd, kc y kv. Comience estableciendo todos los valores en cero. El primer valor a establecer es kp. El valor de kp predeterminado es 0,17. Intente configurarlo en algo mucho más bajo, como 0.05. Apague el robot, cargue el código y vea cómo intenta equilibrar. Si cae hacia adelante, aumente el valor. La forma más inteligente de hacer esto es interpolando:
- Establezca el valor en algo bajo y pruébelo
- Establezca el valor en algo alto y pruébelo
- Establezca el valor en el promedio de los dos y pruébelo
- Ahora intente averiguar si se equilibró mejor en el valor bajo o alto y promedie el valor actual y aquel en el que funcionó mejor.
- Continúe hasta encontrar un punto óptimo
El punto óptimo para el valor de kp es cuando está al borde de la compensación insuficiente y excesiva. Entonces, a veces caerá hacia adelante porque no puede seguir el ritmo de su velocidad de caída, y otras veces caerá hacia atrás porque se sobrepasa en una dirección diferente.
Una vez que haya establecido el valor de kp, configure el kd. Esto se puede hacer de la misma manera que lo hizo con kp. Aumente este valor hasta que el robot esté casi equilibrado, de modo que se balancee hacia adelante y hacia atrás hasta que se caiga. Si lo establece demasiado alto, puede lograr que se equilibre bastante bien, pero cuando el equilibrio se altera demasiado, se caerá (como cuando lo empuja). Intente encontrar el punto en el que no esté del todo equilibrado, pero sí bastante cerca.
Como puede adivinar, ajustar el controlador puede requerir varios intentos, ya que se vuelve más difícil con cada nueva variable introducida. Entonces, si cree que no va a funcionar, comience de nuevo.
Ahora es el momento de configurar el kv. Interpole esto hasta que encuentre un valor en el que el robot deje de balancearse, se mantenga equilibrado y pueda manejar un empujón ligero. Cuando se establece demasiado alto, afecta negativamente la estabilidad. Intente jugar con kv y kp para encontrar un punto en el que sea más estable. Este es el paso de la afinación que lleva más tiempo.
El último valor es kc. Este valor hace que el robot vuelva a su última posición después de compensar un empujón u otra cosa. Puede probar el mismo método de interpolación aquí, pero 0.0002 debería funcionar bastante bien en la mayoría de los casos.
¡Eso es todo! Tu robot ahora está listo. Utilice el joystick de su teléfono inteligente para controlar el robot. Sin embargo, tenga cuidado, ya que avanzar a la velocidad máxima aún puede hacer que el robot se caiga. Juegue con las variables del controlador para compensar esto tanto como sea posible. El paso más lógico sería mirar el valor de kp para esto, ya que compensa directamente el ángulo actual del robot.
Nota importante sobre las baterías LiPo
Se recomienda que compruebe periódicamente el voltaje de su batería LiPo. Las baterías LiPo no deben descargarse a menos de 3 voltios por celda, que miden 9 voltios en un LiPo 3S. Si el voltaje cae por debajo de los 3 voltios por celda, habrá una pérdida permanente de capacidad de la batería. Si el voltaje cae por debajo de 2.5 voltios por celda, deseche la batería y compre una nueva. Cargar una celda LiPo con menos de 2.5 voltios es peligroso porque la resistencia interna se vuelve muy alta, lo que resulta en una batería caliente y un riesgo potencial de incendio durante la carga..
Recomendado:
Robot de equilibrio automático - Algoritmo de control PID: 3 pasos
Robot de autoequilibrio - Algoritmo de control PID: Este proyecto fue concebido porque estaba interesado en aprender más sobre los algoritmos de control y cómo implementar de manera efectiva bucles PID funcionales. El proyecto aún se encuentra en la fase de desarrollo ya que aún no se ha agregado un módulo Bluetooth que al
Robot de equilibrio automático de Magicbit: 6 pasos
Robot de autoequilibrio de Magicbit: este tutorial muestra cómo hacer un robot de autoequilibrio usando la placa de desarrollo Magicbit. Estamos utilizando magicbit como placa de desarrollo en este proyecto que se basa en ESP32. Por lo tanto, cualquier placa de desarrollo ESP32 se puede utilizar en este proyecto
Robot de equilibrio automático de dos ruedas: 7 pasos
Robot de autoequilibrio de dos ruedas: este instructivo pasará por el proceso de diseño y construcción de un robot de autoequilibrio. Como nota, solo quiero decir que los robots de autoequilibrio no son un concepto nuevo y han sido construidos y documentados por otros. Quiero aprovechar esta oportunidad
Creación de un robot de equilibrio automático Arduino controlado de forma remota: B-robot EVO: 8 pasos
Creación de un robot de equilibrio automático Arduino controlado de forma remota: B-robot EVO: ------------------------------------ -------------- ACTUALIZACIÓN: aquí hay una versión nueva y mejorada de este robot: ¡El B-robot EVO, con nuevas funciones! ------------ -------------------------------------- ¿Cómo funciona? B-ROBOT EVO es un control
Robot de equilibrio automático con algoritmo PID (STM MC): 9 pasos
Robot de autoequilibrio con algoritmo PID (STM MC): Recientemente se ha trabajado mucho en el autoequilibrio de objetos. El concepto de autoequilibrio comenzó con el equilibrio del péndulo invertido. Este concepto se extendió también al diseño de aeronaves. En este proyecto, hemos diseñado un pequeño mod