Está en la página 1de 10

MODULO 4: NAVEGACIÓN DE VEHÍCULOS DE

ROBOTS MÓVIL EDUCATIVO

MÓDULO 4: NAVEGACION DE VEHICULOS DE ROBOTS MOVIL


EDUCATIVO
PARTICIPANTE: ELIAS CHURATA MAMANI

DOCENTE: M.Sc Lic. JULIO MAMANI LUQUE

FECHA: 20 De Octubre 2023


Drivers más utilizados en proyectos con motoreductores Arduino
A continuación vamos a detallar una lista de drivers utilizados muy comunmente en
proyectos de robótica casera, que conocemos de nuestros propios proyectos y para los que
hemos creado librerías. La lista incluye:
L9110
L298N
L297D
TB6612FNG
DRV8835
Si el motor una vez conectado no gira en el sentido deseado podemos cambiarlo muy
fácilmente tanto en el hardware (intermabiando los cables del motor o del driver) como en
el software (cambiando los pines en la programación).
L9110
Este pequeño driver (y su gemelo HG7881) sirve para controlar motores de entre 2.5 y 12
voltios y con un consumo máximo de 800 mA. El integrado sirve para controlar sólo un
motor, pero habitualmente se monta en placas con dos unidades para controlar dos motores.
Es el que utilizamos para los motores de tipo N20 del Sapoconcho.
La típica placa doble tiene cuatro fichas para atornillar los cables de los motores y seis
pines:
Dos de control PWM para el motor A (A-IA, A-IB).
Dos para el motor B (idem, B-IA, B-IB).
Dos de alimentación desde las pilas o baterías (VCC, GND).
La conexión ya la hemos visto para un Arduino Pro Micro. Para un cualquier otro es
similar, buscando siempre 4 pines PWM.

La lógica de operación de la placa para cada uno de los motores es la siguiente (la tabla
indica la señal en cada pin para el motor A).

Pin Giro adelante Giro atrás Parada

AI-A pwm 0 0

AI-B 0 pwm 0

Librerías de funcionaminto para L9110: en este enlace de Github puedes descargar los
archivos L9110.cpp y L9110.h. Deberás instalarlos en la carpeta de librerías de Arduino.
En ese mismo enlace puedes descargar varios ejemplos de programas para tu robot y ver la
sintaxis para llamar a las funciones de movimiento.
Una vez conectado el driver e instaladas las librerías deberás elegir un nombre para tu
robot, y decirle en qué pines has conectado el driver (en el ejemplo los pines 3, 5, 6 y 9), y
para eso comenzar tus programas de este modo:
#include <L9110.h>
L9110 nombredelrobot(3,5,6,9); // A-IA, A-IB, B-IA, B-IB
A continuación ya puedes usar dentro de tu código las funciones de movimiento de la
librería para moverte adelante, atras, girar y frenar.
L298N
Este driver es bastante mayor, tanto en tamaño como en potencia. Sirve para controlar
motores de entre 6 y 50 voltios y con un consumo máximo de 2 A. Un mismo integrado
sirve para controlar dos motores. Es el que usamos en el proyecto R2D2.

La típica placa tiene seis fichas para atornillar los cables de los motores y la alimentación
(más una salida regulada de 5 v) y seis pines:
Tres pines de control para el motor A, dos de ellos digitales (IN1, IN2) y uno PWM (ENA).
Otro tres con el mismo esquema para el motor B (IN3, IN4, ENB).
La operación del driver tiene la siguiente lógica (la tabla indica la señal en cada pin para el
motor A).

Pin Giro adelante Giro atrás Parada

IN1 LOW HIGH LOW

IN2 HIGH LOW LOW

ENA pwm pwm 0

Esquema de conexión con Arduino UNO

Librerías de funcionaminto para L298N: en este enlace de Github puedes descargar los
archivos L298N.cpp y L298N.h. Deberás como siempre instalarlos en la carpeta de librerías
de Arduino y empezar los programas con este código.
#include <L298N.h>
L298N nombredelrobot(3,5,6,9,11,12); // IN1, IN2, IN3, IN4, ENA, ENB
Las funciones de movimiento son similares a las del L9110.
Shield Ardumoto
Una versión especial del driver L298N viene ya premontado en una shield de Sparkfun para
Arduino que se llama Ardumoto. Las línaes de control ya están cableadas en las pistas de la
shield y una vez pinchada sobre un Arduino UNO sólo hay que conectar la alimentación y
los motores.

La lógica de funcionamiento es la misma y las librerías de programación puedes


encontrarlas aquí. Ahora no hay que indicar los pines de conexión porque están fijados, por
lo que la cabecera del programa es más simple.
#include <ardumoto.h>
ardumoto nombredelrobot;
L293D
Este driver puede encontrarse montado en una placa independiente, en una shield (que
puede controlar hasta 4 motores con dos integrados) o el integrado suelto, que es como lo
vamos a ver aquí ahora. Puede controlar dos motores entre 4.5 y 25 voltios y con un
consumo máximo de 600 mA.
El esquema de conexión es el siguiente:
La lógica de funcionamiento es la misma que en el L298N y por tanto la librería anterior es
válida sin cambios. Tiene dos pines de dirección (digitales) y uno PWM (enable) por cada
lado del integrado. Tambien dos entradas de alimentación, para los motores y para el propio
integrado.
Adafruit Motor Shield
Adafruit ha creado una shield con dos L293D para cuatro motores y puedes intentar crear tu
propia librería fijándote en la estructura de las nuestras. Pero en realidad Adafruit ya hizo
ese trabajo por ti.
TB6612FNG
Este driver de Toshiba es pequeño pero matón. Puede controlar dos motores entre 4.5 y
13.5 voltios y con un consumo máximo de 1 A sontenido, admitiendo picos de 3.2 A por
canal. Tiene además integrada una protección térmica para que no podamos quemarlo. Es el
que usamos en el proyecto Raptor y allí hay instrucciones detalladas para conectarlo.
Utiliza una lógica similar a la de los L298D y L293D, pero con un séptimo pin de control
que permite poner toda la placa en stand-by parando los dos motores a la vez. Las
conexiones entre un Arduino UNO y el driver pueden verse aquí.

Una característica especial de este driver, como el L293D, es que tiene dos entradas de
alimentación. Una para los motores, con la tensión de estos (4.5 a 13.5 voltios, etiquetada
como VM) y otra para el propio driver, que puede tomarse del propio pin de 5 voltios de
Arduino (VCC).
Redbot
El driver TB6612FNG también es el que integra la placa Redbot de SparkFun, para la que
creamos la librería RobotMovil.
La documentación de esta librería y un curso completo para hacer robots con esta placa está
en el proyecto RedBot.
DRV8835
Este pequeño driver tiene un uso similar al L9110 con cuatro pines PWM y es capaz de dar
1.2A (puntas de 1.5A) a dos motores con tensiones hasta 11V. Tiene una entrada de
alimentación para el propio driver que puede usar los 5v de Arduino.

También podría gustarte