Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Robot FPV Rover controlado por Wi-Fi (con Arduino y ESP8266)

Componentes y suministros

Arduino UNO
× 1
Arduino Proto Shield
× 1
Espressif ESP8266 ESP-01
× 1
Motor paso a paso 28BYJ
× 2
controlador paso a paso ULN2003
× 1
dispositivo Android
× 1
Resistencia 1k ohm
× 1
Resistencia 100k ohm
× 2
Banco de energía
× 1
Ruedas de 42x19 mm con banda de rodadura de goma
× 2
rueda omnidireccional de bola de acero de 49x20x32 mm
× 1
Tornillos M2 x 10 mm
× 12
Tuercas M2 x 1,5 mm
× 12
Pernos M3 x 10 mm
× 8
Tuercas M3 x 1,5 mm
× 8
tornillos de 5/32 "x 1"
× 3
5/32 "nueces
× 6
Clip para selfies de mano
× 1
Soporte de aluminio de 3 x 3 cm
× 2
lámina acrílica de 2 mm
× 1

Herramientas y máquinas necesarias

Taladradora
Sierra de mano

Aplicaciones y servicios en línea

Cámara web IP
Autodesk Fusion 360
Draftsight
Arduino IDE
Bloc de notas ++

Acerca de este proyecto

Este tutorial muestra cómo diseñar un rover robótico de dos ruedas controlado de forma remota a través de una red wi-fi, utilizando un Arduino Uno conectado a un módulo Wi-Fi ESP8266 y dos motores paso a paso. El robot se puede controlar desde un navegador de Internet normal, utilizando una interfaz diseñada en HTML. Se utiliza un teléfono inteligente Android para transmitir video y audio desde el robot a la interfaz de control del operador.

Hay muchos kits robóticos disponibles en línea con varias formas, dimensiones y precios. Pero, dependiendo de su aplicación, ninguno de ellos encajará y es posible que descubra que son demasiado costosos para sus experimentos. O tal vez solo desee hacer su estructura mecánica en lugar de comprar una completa.Este tutorial también muestra cómo diseñar y construir un marco acrílico de bajo costo para su propio proyecto robótico, utilizando solo herramientas comunes para aquellos que no tienen acceso a esas costosas impresoras 3D o cortadoras láser. Se presenta una plataforma robótica simple.

Esta guía puede adaptarse para cambiar su forma o interfaz de control. Fue adaptado para otros de mis proyectos robóticos ("Robô da Alegria"), que puedes consultar en los enlaces a continuación:

https://hackaday.io/project/12873-rob-da-alegria -...

https://github.com/ferauche/RoboAlegria

https://hackaday.io/project/12873-rob-da-alegria -...

[Advertencia:algunas de las fotos están desactualizadas porque el diseño se mejoró aún más. Sin embargo, la idea presentada aquí sigue siendo válida.]

Paso 1:herramientas

Se necesitan las siguientes herramientas para la construcción de este prototipo:

  • Sierra de mano (para realizar cortes iniciales de la lámina acrílica)
  • Destornillador (para la colocación de tornillos y tuercas)
  • Regla (para medir las dimensiones)
  • Cuchillo (para cortar la lámina acrílica)
  • Máquina perforadora (para crear agujeros para los pernos)
  • Papel de lija (para suavizar los bordes ásperos)

Paso 2:estructura mecánica y materiales

Para construir un robot personalizado, primero tendrás que diseñar tu estructura mecánica. Puede ser fácil, según su aplicación, o estar lleno de detalles y limitaciones. Es posible que deba diseñarlo en un software CAD 3D o simplemente dibujarlo en 2D, según la complejidad de su modelo.

También puede comprar la estructura completa en línea si no desea construir su propia estructura mecánica. Hay muchos kits robóticos disponibles en línea. En este caso, puede saltar al Paso 6.

Para este tutorial, se diseñó un marco acrílico de bajo costo para la conexión de los motores y otros componentes. La estructura presentada en este tutorial fue diseñada en 3D utilizando el software CAD 123D Design. Posteriormente, cada pieza se convirtió en 2D utilizando el software Draftsight.

Se utilizaron los siguientes materiales:

  • Lámina acrílica de 2 mm
  • Ruedas de 42x19 mm con banda de rodadura de goma (x2)
  • Rueda omnidireccional de bola de acero de 49x20x32 mm (x1)
  • Tornillos M2 x 10 mm (x12)
  • Tuercas M2 x 1,5 mm (x12)
  • Pernos M3 x 10 mm (x8)
  • Tuercas M3 x 1,5 mm (x8)
  • Pernos de 5/32 "x 1" (x3)
  • Tuercas de 5/32 "(x6)
  • Clip de palo para selfies de mano
  • Soporte de aluminio de 3 x 3 cm (x4)

La construcción de la estructura de la base se divide en los siguientes pasos:

  • Corte la base acrílica de acuerdo con las dimensiones del dibujo 2D;
  • Taladre los agujeros en las posiciones que se muestran en el dibujo 2D;
  • Monte los componentes con pernos y tuercas de acuerdo con el dibujo 3D.

Desafortunadamente, el diámetro del eje del motor paso a paso es mayor que el orificio de la rueda. Por lo tanto, probablemente necesitará usar pegamento para acoplar esos componentes. Para este tutorial improvisé un acoplamiento de madera entre el eje del motor y la rueda.

FMAR9JBITKJE83H.123dx F21RD24ITKJE8AJ.dwg FPTGSODITKJE8AN.pdf

Paso 3:Cortar la estructura

Primero deberá transferir las dimensiones de su modelo a la lámina acrílica. Imprima su dibujo 2D con una impresora común en un papel adhesivo, luego corte el papel en las dimensiones adecuadas y aplique esa máscara en la superficie del acrílico.

Puede usar una sierra de mano para cortar el acrílico de acuerdo con sus dimensiones o usar la técnica de rotura que se describe a continuación.

Con una navaja y con ayuda de una regla o una escala, corta el acrílico en líneas rectas. No necesitará cortar toda la hoja, simplemente márquela para crear algunas pistas donde luego se cortará la pieza.

Coloca el acrílico sobre una superficie plana, mantenlo en su lugar con unas abrazaderas y aplica un poco de presión hasta que la hoja se rompa en dos. Repita este proceso hasta que todos los cortes estén hechos. Después de eso, puede usar un papel de lija para suavizar los bordes ásperos.

Paso 4:Perforar la base

Taladre los agujeros en las posiciones que se muestran en el dibujo 2D (indicado en la máscara) con una máquina perforadora.

El acrílico es relativamente fácil de perforar. Entonces, si no desecha una máquina perforadora, puede perforar los agujeros manualmente con una herramienta afilada, como un cuchillo. También puede usarlo para agrandar agujeros pequeños para que se ajusten al tamaño de los pernos.

Quítese la mascarilla y su base estará lista.

Paso 5:Montaje de la estructura

Monte los componentes con pernos y tuercas de acuerdo con las imágenes y su estructura estará lista para funcionar.

Los tornillos M3 se utilizan para la instalación de los motores paso a paso, mientras que los de 5/32 "se utilizan para la instalación de la rueda delantera y el clip del smartphone.

Ahora tómate un descanso y comienza a asaltar el circuito en el siguiente paso ...

Paso 6:Electrónica

Necesitará los siguientes componentes electrónicos:

  • Arduino Uno (comprar)
  • ESP8266 (comprar)
  • Protoshield (para una versión más compacta) o una placa de pruebas normal (comprar)
  • Resistencia de 1 kohm (x2)
  • Resistencia de 10 kohmios (x1)
  • Algunos cables de puente
  • Motor paso a paso con controlador ULN2003 (x2) (compra / compra)
  • Una computadora (para compilar y cargar código Arduino)
  • Banco de energía (comprar)
  • cable USB

No necesitarás herramientas específicas para el montaje del circuito. Todos los componentes se pueden encontrar en línea en su tienda de comercio electrónico favorita. El circuito está alimentado por un banco de energía conectado al puerto USB de Arduino.

Conecte todos los componentes de acuerdo con el esquema. Necesitará algunos cables de puente para conectar el módulo ESP-8266 y los motores paso a paso. Puede usar un protoshield (para un circuito más compacto), una placa de pruebas ordinaria o diseñar su propio escudo Arduino. Conecte el cable USB a la placa Arduino Uno y continúe con el siguiente paso.

Paso 7:Código Arduino

Instale el IDE de Arduino más reciente. En este proyecto se utilizó la biblioteca stepper.h para el control de los motores paso a paso. No se necesitaba una biblioteca adicional para la comunicación con el módulo ESP-8266. Verifique la velocidad en baudios de su ESP8266 y configúrela correctamente en el código.

Descargue el código Arduino (stepperRobot.ino) y reemplace el XXXXX por el SSID de su enrutador wifi y YYYYY por la contraseña del enrutador. Conecte la placa Arduino al puerto USB de su computadora y cargue el código.

FG1K5KJITKJFW2R.ino

Paso 8:cámara IP de Android

Se utilizó un teléfono inteligente Android para transmitir el video y el audio del robot a la interfaz de control. Puede encontrar la aplicación en la tienda Google Play (https://play.google.com/store/apps/details?id=com.pas.webcam).

Instálelo y continúe con el siguiente paso.

Paso 9:coloque los circuitos en el robot

Instale los circuitos en la parte superior del robot usando algunos pernos M1, como se muestra en las imágenes.

Después de eso, pegue su banco de energía en la parte posterior del robot con una cinta de doble cara (porque es fácil de quitar más adelante) y coloque su teléfono inteligente en el clip.

Paso 10:interfaz de control basada en web

Se diseñó una interfaz html para el control del robot.

Descarga interface.rar y extrae todos los archivos a una carpeta determinada. Luego ábrelo en Firefox.

Se utiliza un formulario de cuadro de texto en esa interfaz para ingresar las direcciones IP del módulo ESP y del servidor de video / audio (desde la aplicación Android IP Webcam).

Hay una prueba pero, que hará que el robot gire hasta que se reciba otro comando. Las teclas de flecha del teclado se utilizan para mover el robot hacia adelante o hacia atrás y para rotar hacia la izquierda o hacia la derecha.

FQTAWF5ITKJFW4O.rar

Paso 11:uso

Cuando se reinicia el Arduino, intentará conectar su red wi-fi automáticamente. Utilice el monitor serial para verificar si la conexión fue exitosa y para obtener qué IP fue asignada a su ESP-8266 por su enrutador. Abra el archivo html en un navegador de Internet (Firefox) e informe esta dirección IP en el cuadro de texto.

También puede utilizar otros medios para averiguar qué dirección IP asignó el enrutador a su dispositivo.

Desconecte el Arduino Uno de su computadora y conéctelo al banco de energía. Espere a que vuelva a conectarse.

Inicie la aplicación IP Webcam en el teléfono inteligente conectado al robot. Escriba la IP de video / audio en su interfaz de control y conéctese al servidor y estará listo para comenzar. Es posible que deba reducir la resolución del video en la aplicación para reducir la demora durante la transmisión.

Haga clic y mantenga presionados los botones de flecha de su teclado para rotar el robot o moverlo hacia adelante o hacia atrás y divertirse explorando su entorno.

Código

  • Arduino
  • interfaz de control html
Arduino Arduino
Código Arduino.
 // incluye bibliotecas # include  #include  SoftwareSerial esp8266 (3, 2); // RX pin =3, TX pin =2 // definición de variables # define DEBUG true // muestra mensajes entre ESP8266 y Arduino en el puerto serialconst int stepsPerRevolution =500; int state =5; Stepper rightStepper (stepsPerRevolution, 8,10, 9,11); Stepper leftStepper (stepsPerRevolution, 4,6,5,7); // ***** // SETUP // ***** void setup () {// iniciar la comunicación Serial.begin (9600 ); esp8266.begin (19200); sendData ("AT + RST \ r \ n", 2000, DEPURACIÓN); // restablecer el módulo sendData ("AT + CWMODE =1 \ r \ n", 1000, DEBUG); // establecer el modo de estación sendData ("AT + CWJAP =\" XXXXX \ ", \" YYYYY \ "\ r \ n", 2000, DEBUG); // conecta la red wi-fi while (! esp8266.find ("OK")) {// espera la conexión} sendData ("AT + CIFSR \ r \ n", 1000, DEBUG); // muestra la dirección IP sendData ("AT + CIPMUX =1 \ r \ n", 1000, DEBUG); // permitir múltiples conexiones sendData ("AT + CIPSERVER =1,80 \ r \ n", 1000, DEBUG); // iniciar el servidor web en el puerto 80 // Definir la velocidad del motor rightStepper.setSpeed ​​(60); leftStepper.setSpeed ​​(60); } void loop () {if (esp8266.available ()) // verificar los datos entrantes {if (esp8266.find ("+ IPD,")) // si hay un mensaje {String msg; esp8266.find ("?"); // busca el mensaje msg =esp8266.readStringUntil (''); // leer el mensaje completo String command =msg.substring (0, 3); // primeros 3 caracteres =comando String valueStr =msg.substring (4); // siguientes 3 caracteres =valor int valor =valueStr.toInt (); if (DEBUG) {Serial.println (comando); Serial.println (valor); } // avanzar if (comando =="cm1") {estado =1; } // retroceder if (comando =="cm2") {estado =2; } // girar a la derecha if (comando =="cm3") {estado =3; } // girar a la izquierda if (comando =="cm4") {estado =4; } // no hacer nada si (comando =="cm5") {estado =5; }}} // avanzar if (estado ==1) {rightStepper.step (1); leftStepper.step (-1); } // retroceder if (estado ==2) {rightStepper.step (-1); leftStepper.step (1); } // moverse a la derecha if (state ==3) {rightStepper.step (1); leftStepper.step (1); } // moverse a la izquierda if (estado ==4) {rightStepper.step (-1); leftStepper.step (-1); } // no hacer nada si (estado ==5) {}} // ******************* // Funciones auxiliares // ******** *********** String sendData (String command, const int timeout, boolean debug) {String response =""; esp8266.print (comando); tiempo int largo =millis (); while ((tiempo + tiempo de espera)> millis ()) {while (esp8266.available ()) {char c =esp8266.read (); respuesta + =c; }} if (debug) {Serial.print (respuesta); } respuesta de devolución;} 
interfaz de control html HTML
 Sin vista previa (solo descarga). 

Piezas y carcasas personalizadas

Archivo de diseño 123D. robot.123dx2D diseño de la base. base.dwg

Esquemas

Esquema del circuito Conexión del tablero del circuito Archivo de falla del circuito wistepper% 20-% 20rev1.fzz

Proceso de manufactura

  1. Robot Raspberry Pi controlado por Bluetooth
  2. Cree su robot de transmisión de video controlado por Internet con Arduino y Raspberry Pi
  3. Robot desinfectante con luces ultravioleta
  4. Obstáculos que evitan el robot con servomotor
  5. Sensor capacitivo de huellas dactilares con Arduino o ESP8266
  6. Controlar un robot Roomba con Arduino y un dispositivo Android
  7. Brazo robótico controlado por Nunchuk (con Arduino)
  8. Arduino Nano:Controla 2 motores paso a paso con joystick
  9. Robot controlado por voz
  10. Determinación de la salud de una planta con TinyML
  11. Control del servomotor con Arduino y MPU6050