INSTITUTO TECNOLÓGICO SUPERIOR DE PÁNUCO
División de Ingeniería Electrónica
Diseño, desarrollo y armado de
robot multifuncional para
competencias categoría
10 cm x 10 cm.
Presenta:
Tomás Alberto Jiménez Castillo IE22CO118
Jocsan Cruz Nava IE22CO106
Asesor:
M.E. Juan Carlos Ramírez Vázquez
Diseño, desarrollo y armado de robot multifuncional para competencias
Contenido
Problemática........................................................................................................................................................... 3
Justificación............................................................................................................................................................ 3
Hipótesis................................................................................................................................................................. 3
Objetivo General..................................................................................................................................................... 3
Resumen................................................................................................................................................................ 3
Esp-32................................................................................................................................................................ 3
Procesador..................................................................................................................................................... 4
Memoria.......................................................................................................................................................... 4
Conectividad inalámbrica:............................................................................................................................... 4
Interfaces periféricas...................................................................................................................................... 4
Seguridad....................................................................................................................................................... 4
Administración de energía.............................................................................................................................. 5
Puente H L298.................................................................................................................................................... 5
Método de investigación......................................................................................................................................... 6
Antecedentes.......................................................................................................................................................... 6
Materiales............................................................................................................................................................... 6
Diseño de chasis.................................................................................................................................................... 7
Pines del ESP-32................................................................................................................................................ 7
Pines de Módulo L298........................................................................................................................................ 8
Shield de Expansión para ESP-32...................................................................................................................... 8
Conexiones entre ESP-32 y Módulo L298.............................................................................................................. 9
Código para ESP-32............................................................................................................................................. 10
Conclusión............................................................................................................................................................ 13
Bibliografía............................................................................................................................................................ 14
1 | Página
Diseño, desarrollo y armado de robot multifuncional para competencias
Imágenes
Ilustración 1 Robot multifuncional para competencia, medidas 10 cm x 10 cm......................................................3
Ilustración 2 ESP-32 – Fuente: Espressif Systems Co........................................................................................... 4
Ilustración 3 Esquema de L298 - Fuente: [Link]...................................................................5
Ilustración 4 diseño del chasis que se usó para el proyecto del robot, este diseño se cortó en cortadora láser....7
Ilustración 5 pinout de ESP-32 – Fuente: Espressif Systems Co...........................................................................7
Ilustración 6 Pinout del módulo L298 – Fuente: [Link]..........................................................8
Ilustración 7 Colocado de shield de expansión para ESP-32 - Fuente: Mercado Negro........................................8
Ilustración 8 capacitores conectados en lo motores............................................................................................... 9
Ilustración 9 vista superior del robot, se muestran conexiones y distribución de los componentes........................9
2 | Página
Diseño, desarrollo y armado de robot multifuncional para competencias
Problemática
El proyecto del robot multifuncional para competencias de categoría 10 cm x 10 cm, fue realizado para competir
en el evento de SIWINI CHALLENGE POZA RICA 2023 que era parte del congreso - torneo internacional de
robótica reto Veracruz por la ciencia 2023
Ilustración 1 Robot multifuncional para competencia, medidas 10 cm x 10 cm.
Justificación
Crear este tipo de proyectos de robótica, aparte de participar en el evento trae consigo muchísimo aprendizaje
sobre la robótica, desde hacer pruebas con los motores, creación del chasis, ensamblado del robot, hasta la
programación que lleva consigo, este tipo de proyectos fortalecen los conocimientos aprendidos en clase para
complementar conocimientos en las electrónica.
Hipótesis
Aplicar los conocimientos de clase, como lo también visto en un curso de arduino fue complementario para
poder conocer un poco más el entorno de programación de arduino, en nuestro caso no usamos una placa de
arduino para programar, sino una ESP-32 que ya incluye módulos de wifi y bluetooth.
Objetivo General
Diseñar y armar un robot multifuncional para competencias, y poder ir aprendiendo en el proceso que conlleva
el diseño, programación y el desarrollo general de todo el robot.
Resumen
Esp-32
ESP32 es la denominación de una familia de chips SoC de bajo coste y consumo de energía, con tecnología
Wi-Fi y Bluetooth de modo dual integrada. El ESP32 emplea un microprocesador Tensilica Xtensa LX6 en sus
variantes de simple y doble núcleo e incluye interruptores de antena, balun de radiofrecuencia, amplificador de
potencia, amplificador receptor de bajo ruido, filtros, y módulos de administración de energía. El ESP32 fue
creado y desarrollado por Espressif Systems y es fabricado por TSMC utilizando su proceso de 40 nm.1 Es un
sucesor de otro SoC, el ESP8266. (Naylamp Mechatronics, s.f.)
3 | Página
Diseño, desarrollo y armado de robot multifuncional para competencias
Ilustración 2 ESP-32 – Fuente: Espressif Systems Co.
Las características del ESP32 incluyen:
Procesador
CPU: microprocesador de 32-bit Xtensa LX6 de doble núcleo (o de un solo núcleo), operando a 160 o
240 MHz y rindiendo hasta 600 DMIPS
Co-procesador de ultra baja energía (ULP)
Memoria
520 KiB SRAM
Conectividad inalámbrica:
Wi-Fi: 802.11 b/g/n
Bluetooth: v4.2 BR/EDR y BLE
Interfaces periféricas
12-bit SAR ADC de hasta 18 canales
2 × 8-bit DACs
10 × sensores de tacto (sensores capacitivos GPIOs)
4 × SPI
2 × interfaces I²S
2 × interfaces I²C
3 × UART
Controlador host SD/SDIO/CE-ATA/MMC/eMMC
Controlador esclavo SDIO/SPI
Interfaz Ethernet MAC con DMA dedicado y soporte para el protocolo IEEE 1588 Precision Time
Protocol
Bus CAN 2.0
Controlador remoto infrarrojo (TX/RX, hasta 8 canales)
Motor PWM
LED PWM (hasta 16 canales)
Sensor de efecto Hall
Pre-amplificador analógico de ultra baja potencia
(Naylamp Mechatronics, s.f.)
Seguridad
Soporta todas las características de seguridad estándar de IEEE 802.11, incluyendo WFA, WPA/WPA2
y WAPI
Arranque seguro
Cifrado flash
1024-bit OTP, hasta 768-bit para clientes
4 | Página
Diseño, desarrollo y armado de robot multifuncional para competencias
Criptografía acelerada por hardware: AES, SHA-2, RSA, criptografía de curva elíptica (ECC), generador
de números aleatorios (RNG)
(Naylamp Mechatronics, s.f.)
Administración de energía
Regulador interno de baja caída
Dominio de poder individual para RTC
Corriente de 5μA en modo de suspensión profundo
Despierta por interrupción de GPIO, temporizador, medidas de ADC, interrupción por sensor de tacto
capacitivo
(Naylamp Mechatronics, s.f.)
Puente H L298
El módulo L298N posee dos canales de Puente H, pudiéndolos utilizar para controlar dos motores DC o un
motor Pasó a Paso, controlando el sentido de giro y velocidad.
Básicamente está conformado por un driver L298N sus diodos de protección y un regulador de voltaje de
5V(78M05) (Naylamp Mechatronics, s.f.)
Su esquema electrónico es el siguiente:
Ilustración 3 Esquema de L298 - Fuente: [Link]
Posee un conector de 6 pines para ingresar las señales TTL para controlar los motores, una bornera de tres
pines para la alimentación, y dos borneras de 2 pines para la salida a los motores.
5 | Página
Diseño, desarrollo y armado de robot multifuncional para competencias
Método de investigación
Diseñar un robot que sea
multifuncional para
competencias
Realizar el ensamblado Buscar dispositivos que
del robot para utilizarlo podemos implementar en
en competencias de el robot
robótica
Seleccionar cuales
componentes usaremos para
construir nuestro robot en un
espacio óptimo de 10cm x
10cm
Antecedentes
Al principio no teníamos a consideración las medidas de la competencia que para la categoría que se iba a
competir deberían ser 10 cm de ancho por 10 cm de largo como máximo. Es por ello que se cambió el diseño
de un robot que ya teníamos, para actualizarlo, llantas, chasis, módulos, etc.
Materiales
1 ESP-32 de 30 pines
1 Shield para ESP-32 de 30 pines
Cables o Jumpers
1 Módulo L298n
Porta pila Triple 18650
3 Baterías 18650 4.2 v 9800mAh
1 Switch Balancín mini
4 Capacitores cerámicos de 100nF
1 metro de cable estañado negro
1 metro de cable estañado blanco
1 Plug invertido
6 Tornillos M3 – 16mm
6 Tuercas de Bloqueo M3
3 Tornillos máquina – 2’’
4 tornillos máquina – 0.5’’
3 arandelas de presión 6-32
4 paquetes de Motorreductor N20 (incluye motores, soportes y tonillos)
1 paquete de chasis de MDF
6 | Página
Diseño, desarrollo y armado de robot multifuncional para competencias
Soportes hechos en impresora 3D
Diseño de chasis
Ilustración 4 diseño del chasis que se usó para el proyecto del robot, este diseño se cortó en cortadora láser
Pines del ESP-32
Ilustración 5 pinout de ESP-32 – Fuente: Espressif Systems Co.
7 | Página
Diseño, desarrollo y armado de robot multifuncional para competencias
Pines de Módulo L298
Ilustración 6 Pinout del módulo L298 – Fuente: [Link]
Shield de Expansión para ESP-32
Ilustración 7 Colocado de shield de expansión para ESP-32 - Fuente: Mercado Libre
En la ilustración 6, se nos muestra como insertar nuestra ESP-32 en la placa de expansión conocida como
shield, en nuestro paso vemos que en la parte de pines de salida vemos que dice G, V, S, y en los laterales ya
dicen que pin es cada uno, pero debemos conectarnos en la fila en donde está la letra S.
8 | Página
Diseño, desarrollo y armado de robot multifuncional para competencias
Conexiones entre ESP-32 y Módulo L298
Conecte la salida positiva del porta pilas al switch mientras que la salida negativa (ground) conéctelo al
plug invertido y de ahí mismo mande otro cable al ground del módulo L298
La salida positiva + del switch mándela al plug y otra mándela al puerto de 6v – 12v del L298
A cada uno de los motores conécteles un capacitor cerámico en paralelo
Conecte dos motores en paralelo y mándelos a la bornera de entrada de motor A del L298, lo mismo
haga con los otros dos motores, conéctelos en paralelo y mándelos a la bornera del entrada del motor B
Conecte el puerto IN1 del L298 al puerto D26 del ESP-32
Conecte el puerto IN2 del L298 al puerto D27 del ESP-32
Conecte el puerto IN3 del L298 al puerto D33 del ESP-32
Conecte el puerto IN4 del L298 al puerto D32 del ESP-32
Ilustración 8 capacitores conectados en lo motores
Ilustración 9 vista superior del robot, se muestran conexiones y distribución de los componentes
Ahora que ya tiene las conexiones en ese orden, cargaremos el código en la ESP-32, para cargar el código
usamos el IDE de arduino.
9 | Página
Diseño, desarrollo y armado de robot multifuncional para competencias
Código para ESP-32
A continuación se mostrara el código que se realizó en el IDE de Arduino para poder usar nuestro robot.
#include <analogWrite.h>
#include <BluetoothSerial.h>
BluetoothSerial SerialBT;
//#include <SoftwareSerial.h>
//SoftwareSerial blt(2, 3); // RX, TX
#define IN1 26
#define IN2 27
#define IN3 33
#define IN4 32
#define IN2_1 23
#define IN2_2 22
#define IN2_3 19
#define IN2_4 18
int PWM; //VARIABLE DE PWM
int BAJO=150; //VARIABLE DE VELOCIDAD 1
int MEDIO=200; //VARIABLE DE VELOCIDAD 2
int ALTO=255; //VARIABLE DE VELOCIDAD 3
char DATO;
void setup()
{
//INICIALIZANDO PINS DE SALIDA
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(IN2_1, OUTPUT);
pinMode(IN2_2, OUTPUT);
pinMode(IN2_3, OUTPUT);
pinMode(IN2_4, OUTPUT);
//PUERTOS DE COMUNIACION SERIAL Y BLUETOOTH
[Link](115200);
[Link]("SOCCER_BOT_002");
//VELOCIDAD DE INICIO MAXIMA
PWM=ALTO;
//ROBOT EN PARO
analogWrite(IN1, 0);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, 0);
10 | Página
Diseño, desarrollo y armado de robot multifuncional para competencias
analogWrite(IN2_1, 0);
analogWrite(IN2_2, 0);
analogWrite(IN2_3, 0);
analogWrite(IN2_4, 0);
//RETARDO DE INICIO
//delay(3000);
}
void loop()
{
if ([Link]())
{
DATO=[Link]();
[Link](DATO);
}
//PARO
if(DATO=='S')
{
analogWrite(IN1, 0);
analogWrite(IN2, 0);
analogWrite(IN3, 0);
analogWrite(IN4, 0);
analogWrite(IN2_1, 0);
analogWrite(IN2_2, 0);
analogWrite(IN2_3, 0);
analogWrite(IN2_4, 0);
}
//AVANZAR
if(DATO=='B')
{
analogWrite(IN1, 0);
analogWrite(IN2, PWM);
analogWrite(IN3, 0);
analogWrite(IN4, PWM); //DERECHO
analogWrite(IN2_1, PWM);
analogWrite(IN2_2, 0);
analogWrite(IN2_3, PWM);
analogWrite(IN2_4, 0); //IZQUIERDO
}
//REVERSA
if(DATO=='A')
{
analogWrite(IN1, PWM);
analogWrite(IN2, 0);
analogWrite(IN3, PWM);
analogWrite(IN4, 0);
analogWrite(IN2_1, 0);
analogWrite(IN2_2, PWM);
analogWrite(IN2_3, 0);
11 | Página
Diseño, desarrollo y armado de robot multifuncional para competencias
analogWrite(IN2_4, PWM);
}
//VUELTA IZQUIERDA
if(DATO=='C')
{
analogWrite(IN1, 0);
analogWrite(IN2, PWM);
analogWrite(IN3, 0);
analogWrite(IN4, PWM); //DERECHO
analogWrite(IN2_1, 0);
analogWrite(IN2_2, PWM);
analogWrite(IN2_3, 0);
analogWrite(IN2_4, PWM); //IZQUIERDO
}
//VUELTA DERECHA
if(DATO=='D')
{
analogWrite(IN1, PWM);
analogWrite(IN2, 0);
analogWrite(IN3, PWM);
analogWrite(IN4, 0); //DERECHA
analogWrite(IN2_1, PWM);
analogWrite(IN2_2, 0);
analogWrite(IN2_3, PWM);
analogWrite(IN2_4, 0); //IZQUIERDO
}
//VELOCIDAD BAJA
if(DATO=='1')
{
PWM=BAJO;
}
//VELOCIDAD MEDIA
if(DATO=='2')
{
PWM=MEDIO;
}
//VELOCIDAD ALTA
if(DATO=='3')
{
PWM=ALTO;
}
Una vez ya cargado el código en la ESP-32 debemos hacer varias pruebas para verificar si el robot funciona
correctamente.
12 | Página
Diseño, desarrollo y armado de robot multifuncional para competencias
Conclusión
El desarrollo de este proyecto fue demasiado desafiante como a la vez emocionante, poder aplicar los
conocimientos que uno va adquiriendo es muy gratificante. Con este proyecto vimos los diferentes aspectos que
se involucran en conjunto, como lo son, la programación para poder decidir cómo mover el robot, si avanzar,
retroceder, derecha o izquierda, el diseño del chasis y como optimizar el espacio para que nada sobrepasara
los 10 x 10 centímetros, la conexión física de los diferentes módulos tanto la L298 y la ESP-32 porque al
momento de estar viendo el código, uno se da cuenta que va haciendo esto o el otro, los puertos que se
declaran y demás, también cuando uno prueba varias veces el robot para verificar si se presenta alguna falla, o
si todo funciona perfectamente. Son distintos aspectos que se involucran para poder así tener todo el sistema
de robot y que su funcionamiento sea el adecuado.
13 | Página
Diseño, desarrollo y armado de robot multifuncional para competencias
Bibliografía
Galdós, L. L. (1991). Matemáticas Galdós . En L. L. Galdós, Matemáticas Galdós (pág. 553). Madrid, España:
Cultural, S. A.
Naylamp Mechatronics, P. (s.f.). Módulo MPU6050: Acelerómetro, Giroscopio I2C. Obtenido de
[Link]: [Link]
[Link]
Bitwise Ar. (2018, 22 diciembre). Arduino desde cero en Español - Capítulo 44 - NANO modelos FT232RL y
CH340G (con enlaces a drivers) [Vídeo]. YouTube. [Link]
Tutorial de Uso del Módulo L298N. (n.d.). Naylamp Mechatronics - Perú.
[Link]
Micromotor DC N20 12V/300RPM. (n.d.). Naylamp Mechatronics - Perú. Retrieved November 15, 2023, from
[Link]
Siwini Challenge Poza Rica 2023. (n.d.). [Link]. Retrieved November 15, 2023,
from [Link]
14 | Página