Tabla de contenido:

Robot cuadrúpedo controlado por AP WIFI ESP8266: 15 pasos (con imágenes)
Robot cuadrúpedo controlado por AP WIFI ESP8266: 15 pasos (con imágenes)

Video: Robot cuadrúpedo controlado por AP WIFI ESP8266: 15 pasos (con imágenes)

Video: Robot cuadrúpedo controlado por AP WIFI ESP8266: 15 pasos (con imágenes)
Video: Clase 11 - Control de Motores con el SHIELD Motores del la ESP8266 (nodeMCU) 2024, Mes de julio
Anonim
Image
Image

Este es un tutorial para hacer un robot de 12 DOF o cuatro patas (cuadrúpedo) usando el servo SG90 con servocontrolador y se puede controlar usando el servidor web WIFI a través del navegador del teléfono inteligente

El costo total de este proyecto es de alrededor de US $ 55 (para parte electrónica y marco de robot de plástico)

Paso 1: preparar el marco

Piezas electrónicas (Wemos D1 Mini)
Piezas electrónicas (Wemos D1 Mini)

Todo el objeto 3D se puede descargar gratis en www.myminifactory.com o www.thingiverse.com

Imprímelo usando soporte de material para alguna parte como pie, caderas y muslos

Lista de pieza impresa:

1x cuerpo base

1x cubierta

1x soporte de batería

4x caderas (tipo A y B)

4x Thight (tipo A y B)

4x Pie (tipo A y B)

Escudo 4x

12x Buje + 12x Tornillo de 2 mm

Paso 2: Ensamble el marco del robot

Siga el video paso a paso de arriba para ensamblar el marco, el tornillo es para orificio de 2 mm

Paso 3: Piezas electrónicas (Wemos D1 Mini)

Image
Image

Hay muchas variantes de NodeMCU en el mercado y básicamente tienen la misma funcionalidad, para este proyecto elijo Wemos D1 Mini.

Esta parte servirá como Servidores Web para nuestro cuadrúpedo como Punto de Acceso.

Lo que necesita es simplemente conectarse al AP cuadrúpedo y controlar todo el movimiento de su robot, y tal vez para el proyecto futuro mostrará todos los paneles de sensores que necesita …

Este D1 mini, es una placa mini WIFI basada en ESP-8266EX. y tiene 11 pines de entrada / salida digital, todos los pines tienen soporte para interrupción / pwm / I2C / un cable (excepto D0) 1 entrada analógica (entrada máxima de 3,3 V) una conexión Micro USB

Cómo empezar en:

  1. Instale para Arduino 1.6.7 desde el sitio web de Arduino.
  2. Inicie para Arduino y abra la ventana de Preferencias.
  3. en el campo URL del administrador de tableros adicionales. Puede agregar varias URL, separándolas con comas.
  4. Abra Tools → Board: xxx → Boards Manager e instale esp8266 by ESP8266 Community (y no olvide seleccionar su placa ESP8266 en el menú Tools> Board después de la instalación).

Para obtener más detalles, puede ver el video de arriba

Haga clic aquí para buscar en Aliexpress

Para este proyecto, todo lo que necesitas es conectar este Pin:

  1. El pin NodeMCU RX se conecta al pin Arduino Nano TX
  2. El pin NodeMCU TX se conecta al pin Arduino Nano RX
  3. El pin NodeMCU G se conecta al pin de salida DC-DC mini 5v Stepdown (-)
  4. El pin NodeMCU5V se conecta al pin de salida DC-DC mini 5v Stepdown (+)

PD: Para programar esta placa, debes desconectar todos los pines conectados al arduino y DC-DC se reducen, de lo contrario, obtendrás un error …

Paso 4: Piezas electrónicas (Arduino Nano)

Piezas electrónicas (Arduino Nano)
Piezas electrónicas (Arduino Nano)

Lo mismo con NodeMCU, para la placa arduino puedes usar cualquier placa que se ajuste a ti como Arduino Pro Mini, Arduino Nano o más.

Pero para este proyecto, elijo Arduino Nano, porque no necesito mucho de los pines que usé, es pequeño y no necesito FTDI para programarlo.

haga clic aquí para buscar en Aliexpress

Para este proyecto solo uso:

  1. El pin Arduino nano RX se conecta al pin NodeMCU TX
  2. El pin Arduino nano TX se conecta al pin NodeMCU RX
  3. El pin Ardiono nano A4 se conecta al pin PCA9685 SDA
  4. El pin Arduino nano A5 se conecta al pin SCL PCA9685
  5. El pin Arduino nano GND se conecta al pin de salida DC-DC mini 5v Stepdown (-)
  6. El pin Arduino nano 5V se conecta al pin de salida DC-DC mini 5v Stepdown (+)

consulte el esquema anterior para obtener más detalles

PD: Para programar esta placa, debes desconectar todos los pines conectados al NodeMCU y DC-DC se reducen, de lo contrario, obtendrás un error …

Paso 5: Componentes electrónicos (Tower Pro 9g Micro Servo)

Componentes electrónicos (Tower Pro 9g Micro Servo)
Componentes electrónicos (Tower Pro 9g Micro Servo)

Este es el mini servo más popular. Solo pesa 9 gramos y te da un par de torsión de 1,5 kg / cm. Bastante fuerte en cuanto a su tamaño. Adecuado para robots de tipo viga.

PD: este servo solo puede girar en un ángulo de 180 grados

Caracteristicas clave:

• Cuerpo translúcido

• Ligero

• Especificaciones de menos ruido:

• Dimensiones: 22,6 x 21,8 x 11,4 mm

• Longitud del cable del conector: 150 mm

• Velocidad de funcionamiento (4,8 V sin carga): 0,12 s / 60 grados

• Par de bloqueo (4,8 V): 1,98 kg / cm

• Rango de temperatura: 30 a 60 ° C (-22 a 140 ℉)

• Ancho de banda muerta: 4 usec

• Voltaje de funcionamiento: 3,5 - 8,4 voltios

Haga clic aquí para buscar el servo SG90 en Aliexpress

Paso 6: Piezas electrónicas (PWM / Servocontrolador de 16 canales y 12 bits - Interfaz I2C - PCA9685 para Arduino)

Piezas electrónicas (PWM / Servocontrolador de 16 canales y 12 bits - Interfaz I2C - PCA9685 para Arduino)
Piezas electrónicas (PWM / Servocontrolador de 16 canales y 12 bits - Interfaz I2C - PCA9685 para Arduino)

¿Quieres hacer un robot caminante? pero usar solo un microcontrolador tiene un número limitado de salidas PWM, ¡y se está agotando! No con el PWM / Servocontrolador Adafruit de 16 canales y 12 bits - interfaz I2C. ¡Con esta ruptura de pwm y servocontrolador, puede controlar 16 salidas PWM de funcionamiento libre con solo dos pines! ¿Necesita ejecutar más de 16 salidas PWM? No hay problema. Encadena hasta 62 de estas bellezas para obtener hasta 992 salidas PWM excepcionales.

Esta placa / chip usa una dirección I2C de 7 bits entre 0x60-0x80, seleccionable con puentes Bloque de terminales para la entrada de energía (o puede usar las rupturas de 0.1 "en el lateral) Protección de polaridad inversa en la entrada del bloque de terminales LED verde de buena alimentación 3 conectores de clavija en grupos de 4 para que pueda conectar 16 servos a la vez (los enchufes de servo son un poco más anchos que 0.1 ", por lo que solo puede apilar 4 uno al lado del otro en un encabezado de 0.1" Diseño "encadenado" Un lugar para colocar un gran condensador en la línea V + (en caso de que lo necesite) Resistencias de la serie de 220 ohmios en todas las líneas de salida para protegerlas y para hacer que los LED de conducción sean triviales. A diferencia de la familia TLC5940, no es necesario enviarle una señal continuamente atando su microcontrolador, ¡funciona completamente gratis! Es compatible con 5V, lo que significa que puede controlarlo desde un microcontrolador de 3.3V y aún conducir de forma segura hasta salidas de 6V (esto es bueno para cuando quieres controlar el blanco o el azul L ED con más de 3.4 voltajes directos) 6 pines de selección de dirección para que pueda cablear hasta 62 de estos en un solo bus i2c, un total de 992 salidas; eso es una gran cantidad de servos o LED PWM de frecuencia ajustable hasta aproximadamente 1.6 KHz de 12 bits resolución para cada salida - para servos, eso significa aproximadamente 4us de resolución a una tasa de actualización de 60Hz Salida configurable push-pull o open-Drain Pin de habilitación de salida para deshabilitar rápidamente todas las salidas.

haga clic aquí para buscar en Aliexpress

En este proyecto solo necesitamos 12 CH para todas las patas (3CH por pata), conecte este pin PCA9685 a Arduino Nano:

  1. PCA9685 VCC al pin de salida DC-DC mini 5v Stepdown (+)
  2. PCA9685 GND al pin de salida DC-DC mini 5v Stepdown (-)
  3. Salida de pin de salida PCA9685 Servo (PWM) V + a UBEC (+)
  4. PCA9685 Servo (PWM) alimentación GND a UBEC (-) Salida de clavija de salida
  5. PCA9685 SDA pinto el pin arduino nano A4
  6. Pin SCL PCA9685 al pin arduino nano A5
  7. PCA9685 CH0 al frente derecho, haga coincidir el color del cable con el color del enchufe PCA9685 (amarillo, rojo, marrón / negro)
  8. PCA9685 CH1 al pie delantero derecho, haga coincidir el color del cable con el color del enchufe PCA9685 (amarillo, rojo, marrón / negro)
  9. PCA9685 CH2 a la cadera delantera derecha, haga coincidir el color del cable con el color del enchufe PCA9685 (amarillo, rojo, marrón / negro)
  10. PCA9685 CH4 a la parte posterior derecha del muslo, haga coincidir el color del cable con el color del enchufe PCA9685 (amarillo, rojo, marrón / negro)
  11. PCA9685 CH5 al pie trasero derecho, haga coincidir el color del cable con el color del enchufe PCA9685 (amarillo, rojo, marrón / negro)
  12. PCA9685 CH6 a la cadera trasera derecha, haga coincidir el color del cable con el color del enchufe PCA9685 (amarillo, rojo, marrón / negro)
  13. PCA9685 CH8 al frente izquierdo, haga coincidir el color del cable con el color del enchufe PCA9685 (amarillo, rojo, marrón / negro)
  14. PCA9685 CH9 al pie delantero izquierdo, haga coincidir el color del cable con el color del enchufe PCA9685 (amarillo, rojo, marrón / negro)
  15. PCA9685 CH10 a la cadera delantera izquierda, haga coincidir el color del cable con el color del enchufe PCA9685 (amarillo, rojo, marrón / negro)
  16. PCA9685 CH12 en la parte posterior izquierda, haga coincidir el color del cable con el color del enchufe PCA9685 (amarillo, rojo, marrón / negro)
  17. PCA9685 CH13 al pie trasero izquierdo, haga coincidir el color del cable con el color del enchufe PCA9685 (amarillo, rojo, marrón / negro)
  18. PCA9685 CH14 a la cadera trasera izquierda, haga coincidir el color del cable con el color del enchufe PCA9685 (amarillo, rojo, marrón / negro)

PD: Algunos PCA9685 no tienen un conector de código de color, así que asegúrese de que el cable amarillo del servo SG90 vaya al pin de datos PWM, el cable rojo al pin V + y el negro / marrón al pin GND

Paso 7: Conexión de pin de PWM a servo

Conexión de pin de PWM a servo
Conexión de pin de PWM a servo
Conexión de pin de PWM a servo
Conexión de pin de PWM a servo

Haga clic y amplíe la imagen de arriba para ver la asignación de pines entre PCA9685 y los servos

PD: U solo usa 12CH de 16 CH para este proyecto, por lo que todavía le quedan 4CH para la expansión, como poner un servo de radar o ponerle un arma blaster nerf … Solo coloque un código adicional en el arduino y NodeMCU

Paso 8: Piezas electrónicas (UBEC)

Piezas electrónicas (UBEC)
Piezas electrónicas (UBEC)

El 3A-UBEC es un regulador DC-DC de modo conmutado que se suministra con un paquete de baterías de litio de 2-6 celdas (o una batería de NiMh / NiCd de 5-18 celdas) y genera un voltaje seguro constante para su receptor, giroscopio y servos. Es muy adecuado para helicópteros RC. En comparación con el UBEC de modo lineal, la eficiencia general del UBEC de modo de conmutación es mayor.

En este proyecto lo usamos para alimentar todos los servos, tiene filtrado por lo que reducirá el ruido que puede afectar la falla del motor y tiene un alto Amp que es suficiente para levantar la carga del robot.

haga clic aquí para buscar en Aliexpress

Conexión de clavija:

  1. UBEC (+) ROJO Salida del pin de salida al PCA9685 Servo (PWM) alimentación V +
  2. UBEC (-) NEGRO Salida de clavija a la toma de tierra PCA9685 Servo (PWM)
  3. Entrada UBEC (+) ROJA al pin (+) de la batería
  4. Entrada NEGRA UBEC (-) al pin del interruptor

Paso 9: Componentes electrónicos (DC-DC Mini Stepdown)

Piezas electrónicas (DC-DC Mini Stepdown)
Piezas electrónicas (DC-DC Mini Stepdown)
Piezas electrónicas (DC-DC Mini Stepdown)
Piezas electrónicas (DC-DC Mini Stepdown)

Casi tiene la misma función con UBEC, pero este es solo un simple módulo reductor DC-DC. Tiene potenciómetro que podemos ajustar la salida V (+) de 1V a 17V y no tiene filtrado.

haga clic aquí para buscarlo en Aliexpress

PD: recuerde, antes de usarlo, ajuste la salida V (+) a una salida de 5 V usando un voltímetro de CC

Conexión de clavija:

  1. Mini reductor (+) IN a la (+) batería
  2. Mini reductor (-) IN al pin del interruptor
  3. Mini stepdown (+) OUT en paralelo al pin NodeMCU (5V), Arduino nano (5V) y PCA9685 (VCC)
  4. Mini stepdown (-) OUT en paralelo al pin NodeMCU (G), Arduino nano (GND) y PCA9685 (GND)

Paso 10: Otra parte electrónica

Otra parte electrónica
Otra parte electrónica
Otra parte electrónica
Otra parte electrónica
Otra parte electrónica
Otra parte electrónica

Lo que necesita es alrededor (20 cables o menos) cable de puente hembra a hembra (búsqueda de cable de puente de Aliexpress)

Interruptor de bloqueo automático o puede usar otro tipo de interruptor (búsqueda de interruptor de bloqueo automático de Aliexpress)

y un par de conector JST de la batería al interruptor y reductor UBEC / DC-DC (búsqueda del conector JST de Aliexpress)

Paso 11: Fuente de energía

Fuente de alimentación
Fuente de alimentación
Fuente de alimentación
Fuente de alimentación

Hay una gran cantidad de fuente de alimentación que puedes usar, para mí prefiero usar una batería lipo 3S recargable. Tiene 11, 1 voltio de corriente y 500 mAh o más de capacidad (no demasiado para que pueda ser más liviano).

Pero el uso de lipo 3S necesita un cargador y no es barato, así que … puedes usar otra fuente de energía como una batería AAA, puedes usar una batería serial 6 AAA para que pueda producir una fuente de energía de alrededor de 9V y creo que es suficiente energía para este robot.

Haga clic aquí para buscar la batería Lipo 3S en Aliexpress

Haga clic aquí para buscar Lipo Charger

Haga clic aquí para buscar soporte de batería 6xAAA en Aliexpress

Paso 12: diagrama de cableado

Diagrama de alambre
Diagrama de alambre

Haga clic y amplíe la imagen de arriba para ver todo el diagrama de cableado de este proyecto

PD: necesita un poco de soldadura en alguna parte y coloque un encogimiento de cabeza de goma para sellarlo para la conexión entre el interruptor de encendido, UBEC y DC-DC reducen.

Paso 13: codificación y pose inicial

Codificación y pose inicial
Codificación y pose inicial

Conecte el arduino nano usando un cable de puerto mini USB a USB (pero no olvide desconectar todos los pines del wemos D1 mini y DC-DC stepdown) y abra "spider_driver_open_v3_ESP8266_Rev280918.ino" y flashee en el Arduino nano, pero no lo haga. t olvide seleccionar la placa arduino para el Arduino nano y seleccione el puerto correcto.

Lo siguiente es conectar el Wemos D1 mini a la computadora usando micro USB a USB (tampoco olvide desconectar todos los pines a DC-DC stepdown y Arduino nano). Luego abra "QuadrupetV2_310319_fix_connection_issue.ino" y flash en la placa, pero antes de eso seleccione la placa correcta de preferencia y seleccione el puerto correcto (más detalles, por favor vuelva al paso 3)

Después de que todo termine, puede volver a conectar todos los pines entre arduino nano, wemos D1 mini y DC-DC stepdown y encender el robot para ajustar la pose inicial correcta.

POSICIÓN INICIAL (Vea la imagen de arriba) reajuste toda la pierna lo más cerca posible de la imagen de arriba.

Después de encender el robot, si la posición de la pierna no es la misma que en la imagen de arriba, todo lo que necesita es:

  1. Desatornille el Servo Horn y separe el servo Horn del servo.
  2. Gire la pierna hasta que esté lo suficientemente cerca con la pose inicial
  3. Vuelva a colocar la bocina del servo y vuelva a tripularla.
  4. hazlo por todos, señorita partido de pierna

PD:

  1. QuadrupetV2_310419_fix_connection_issue.ino ya ha solucionado algún problema, como la dificultad de conexión (wifi) y el error de procesamiento de la página web, para quienes actualizan el programa anterior antes del 31-3-2019, descárguelo nuevamente arriba
  2. es necesario instalar una biblioteca adicional (cópiela en la carpeta de la biblioteca)

    • github.com/wimleers/flexitimer2
    • github.com/adafruit/Adafruit-PWM-Servo-Dri…
    • github.com/kroimon/Arduino-SerialCommand

Paso 14: controlar el robot

Controlando el Robot
Controlando el Robot

Debido a que este robot se ha convertido en un punto de acceso WIFI, todo lo que necesita es:

  1. Encender el robot
  2. Abra la configuración de wifi en su teléfono inteligente
  3. Conéctese al punto de acceso SpiderRobo con la contraseña "12345678"
  4. Abra el navegador web en su teléfono inteligente y escriba

Ahora su robot está listo para tomar su mando …

Paso 15: Para quién tiene un problema para abrir una página web o conectarse al AP

HE ARREGLADO ESTE PROBLEMA DESCARGARLO DE NUEVO DESDE EL PASO 13 ARRIBA (corregir @ 31-4-2019)

algunos de los mini clones Wemos D1 tienen un ESP defectuoso o defectuoso, y esto causa: - Difícil de conectar al AP

- Error al abrir la página

- Carga no terminada

Para obtener más detalles, consulte mi video de arriba …

Recomendado: