Buenas tardes, hoy publicaré las instrucciones para fabricar un cuadrópodo, un robot de cuatro patas. Las partes del robot se imprimen en una impresora 3D como controlador - ESP8266, pero puede usar Arduino, Nano o Mini por ejemplo. Gestión vía web - interfaz. Conexión wifi.
Como dije anteriormente, los detalles se imprimen en una impresora 3D. Si tiene algún problema, de lo contrario, deberá encontrar a alguien para imprimir o solicitar una impresión.
Video de robot de cuatro patas:
Entonces necesitamos:
- ESP 8266 - 12E
- regulador de voltaje 3.3v
- Baterías Li-ion 18650 2 pcs.
- Servo SG-90 8 uds.
- cambiar
- botón
- cables
- conector PLS
- USB-TTL
- 3x20 tornillos
- tuercas y arandelas de 3 mm
- taladro 3.2
- taladro o destornillador
Paso 1 Caso.
Para hacer el cuerpo y las piernas, debe imprimir las siguientes partes en una impresora 3D:
Le llamo la atención sobre el hecho de que los archivos k_body y k_others deben imprimirse una vez, ¡y el archivo k_legs es dos! Puedes imprimir en cualquier color. Realizamos el montaje según el esquema:
En las juntas de las patas usamos pernos de 3x20, insertamos las baterías dentro de la caja y retiramos los cables, los conectamos en paralelo. No olvide quitar un par de cables adicionales para cargar, será muy inconveniente quitar las baterías para cargar, es mucho más fácil quitar inmediatamente un par de cables con un conector. Al armar, asegúrese de que todos los servos estén en la posición de 90 grados. Para configurar el servo a 90 grados, debe conectarlo al controlador (Arduino, por ejemplo) y usar un código simple para rotar el servo. Puedes hacer esto manualmente. Para hacer esto, coloque la palanca en el eje del servo y gírela hasta que los topes del engranaje no estén en el medio. Esto debe hacerse con mucho cuidado, ya que los engranajes son de plástico y hay una alta probabilidad de romper los dientes. Recomiendo usar la primera opción, ciertamente es más larga, pero el servo definitivamente permanecerá intacto.
En el último momento decidí pintar mi el modelo en color azul-rojo.
Paso 2 Electricista.
Y aquí hay varias opciones posibles. En mi opinión, lo más óptimo es usar el ESP 8266 - 12E como controlador. En primer lugar, tiene el número requerido de pines para conectar todos los servos.En segundo lugar, el módulo Wi-Fi incorporado, que facilita enormemente el proceso de administración y conexión. Tercero, puede programar fácilmente en el IDE de Arduino. Es mejor elegir un módulo con 4 Mb de memoria. Entonces, para ejecutar y flashear el ESP-8266, debe hacer un enlace mínimo. Solo el pin VCC está conectado directamente a la fuente de alimentación, los pines restantes: CH_PD, RESET, GPIO0, GPIO2, deben extraerse a la fuente de alimentación (VCC) a través de una resistencia. Las resistencias de 10kOm se pueden reemplazar con otras, desde 4.7kOm a 50kOm, excepto GPIO15; su valor debe ser de hasta 10k. Directamente, al menos (GND) de la fuente de alimentación, conectamos solo GND, y también sacamos GPIO0 a través de la resistencia a 10kOm, para poner el módulo en modo de descarga de firmware, a GND. No olvide agregar un botón para reiniciar y sacar el conector USB-TTL para el firmware. Para todos los servos, cortamos los cables para que no interfieran y no se cuelguen, pero al mismo tiempo es lo suficientemente libre como para que las patas puedan moverse en silencio. Conectamos todos los cables rojos de los servos directamente al más de las baterías, y los cables marrones al menos. Suelde los cables naranjas al ESP de acuerdo con el esquema:
Los servos están numerados de la siguiente manera:
Servo 0 - GPIO4 (cuando se ve desde arriba de la pierna izquierda inferior, la unidad en la carcasa)
Servo 1 - GPIO5 (pierna izquierda inferior, impulsión del pie)
Servo 2 - GPIO0 (pata superior izquierda, unidad en el chasis)
Servo 3 - GPIO10 (pierna superior izquierda, impulsión del pie)
Servo 4 - GPIO12 (pata superior derecha, unidad en el chasis)
Servo 5 - GPIO13 (pierna superior derecha, impulsión del pie)
Servo 6 - GPIO14 (pata inferior derecha, unidad en el chasis)
Servo 7 - GPIO16 (pierna derecha inferior, transmisión a pie)
Lo más conveniente es soldar primero el fleje mínimo de las resistencias. Luego pegamos el ESP en una cinta de doble cara, y luego soldamos todos los cables de los servos, nos olvidamos del estabilizador de voltaje para ESP. El ESP se alimenta a través de un estabilizador de 3.3 voltios, y los servos se dirigen directamente a las baterías.
Te contaré un poco sobre otras opciones. Puede usar Arduino Mini o Nano como controlador. Luego conectamos todos los servos a Arduino y llevamos a cabo la comunicación a través de ESP 8266-01. En ESP, deberá completar el firmware para transmitir los comandos de Arduino y conectarlo a los pines Arduino RX TX. En este caso, tanto el circuito como el firmware son diferentes. La próxima vez escribiré instrucciones para esta opción, pero por ahora, regresemos a nuestro ESP 8266-12E.
Paso 3 Preparar el entorno de programación.
Para escribir y editar firmware para ESP, debe instalar el complemento para ESP en Arduino IDE a través de Boards Manager:
1. Instale el IDE Arduino desde el sitio web oficial Arduino.cc
2. Inicie Arduino IDE, luego Archivo - Configuración - en el campo URL de Boards Manager adicional, inserte un enlace a la versión estable http://arduino.esp8266.com/package_esp8266com_index.json
o para la compilación nocturna http://arduino.esp8266.com/staging/package_esp8266com_index.json haga clic en Aceptar (en este campo puede ingresar varios enlaces separados por comas)
3. Herramientas - Junta - Gerente de Juntas
4. En el Administrador de Tableros, ingrese esp8266 en el campo de filtro o desplácese manualmente por la lista y haga clic en el Foro de la Comunidad ESP8266 by ESP8266
5. Haga clic en Instalar y espere a que termine la descarga (aproximadamente 130 megabytes). Si la descarga es demasiado rápida, es posible que ya haya instalado el IDE de Arduino para ESP8266 y necesite borrar el caché de Boards Manager, de lo contrario todavía tendrá instalada la versión anterior. Primero debe desinstalar la versión anterior y luego debe eliminar los archivos de caché. Para Win7 x64, elimine los archivos de la carpeta C: \ Users \ User \ AppData \ Roaming \ Arduino15 y repita todo desde el paso 2
6. Cierre Boards Manager y en el menú Herramientas, seleccione Board - Generic ESP8266
7. Configure la frecuencia de su módulo en 80 o 160Mhz, tamaño de memoria flash y seleccione el puerto serie al que está conectado su adaptador USB-TTL
8. También debe agregar archivos del archivo a la carpeta de herramientas (ubicada en la ubicación de instalación de Arduino IDE) para acceder al sistema de archivos ESP.
Paso 4 Firmware.
Queda por editar el boceto y llenarlo con ESP.
En el campo "Cadena _ssid =" ";" entre comillas indica a qué punto de acceso desea conectarse.
"String _password =" ";" es la contraseña para esta red.
"String _ssidAP =" Quadrapinky ";" El nombre de la red que el ESP generará si no se conecta a la existente.
"String _passwordAP =" 12051005 ";" - la contraseña de la red que el ESP generará si no se conecta a la existente.
"String SSDP_Name =" Quadrapinky ";" Nombre SSDP
Recuerde cargar archivos adicionales a ESP. Esto se hace a través de la pestaña Herramientas: carga de datos de croquis ESP8266
Después de comenzar, ESP intenta conectarse al punto de acceso especificado en el boceto, si tiene éxito, debe determinar la dirección IP de nuestro robot y conectarse a esta dirección a través de un navegador. También puede pasar por una computadora a la infraestructura de red, encontrar nuestro robot allí y hacer doble clic para conectarse. Si la conexión falla, el ESP se convierte en el punto de acceso. Luego se puede obtener acceso conectándose a un nuevo punto de acceso e ingresando 192.168.1.1 en el navegador.
La interfaz web consta de dos páginas. El primero en controlar. El segundo es para la personalización. En la segunda página, puede especificar el punto de acceso al que desea conectarse, así como el nombre del robot y el nombre y la contraseña del punto de acceso que levanta el ESP. Todos los cambios surten efecto después de un reinicio. También puede reiniciar el módulo a través de la interfaz web.