Vous êtes sur la page 1sur 22

Laboratorio II de electrónica

DOCUMENTO DE
DISEÑO
DETALLADO

Lina Fernanda Rodríguez Arango


Leonardo Fernandez Rengifo Commented [WU1]: Nota: 4.5

22 de Febrero del 2019


Universidad del Cauca, Popayán

TABLA DE CONTENIDO

1. Introducción
2. Selección del circuito y explicación del funcionamiento
3. Cálculo de componentes
4. Justificación de los elementos
5. Plan eléctrico pin a pin
6. Plan de pruebas y respuestas esperadas
7. Aplicaciones
8. Listado de elementos
9. Bibliografía

1
1. INTRODUCCIÓN
Este documento está basado en los avances logrados dentro del proyecto del robot velocista, estos
se ven reflejados en los planes de prueba, cambios dentro del sistema hardware y sus
componentes, también el software evolucionó mediante se consideraban las diferentes variables
que se presentaron a la hora de establecer los diseños correspondientes a cada módulo.

Se justificara cada cambio dentro del proyecto y sus componentes teniendo en cuenta los
requerimientos que se tenían en un principio, esto con el fin de no encontrar discordias entre los
objetivos iniciales y los resultados y cambios efectuados. Se justificarán los componentes
Hardware y Software de una manera clara y detallada.

2
2. SELECCIÓN DEL CIRCUITO Y EXPLICACIÓN DE
FUNCIONAMIENTO

La batería lipo en el proyecto fue escogida dado que cumple los requerimientos mínimos de
consumo por todo el hardware, ya que esta cuenta con 7.4 voltios de tensión y 500 mA los cuales
proporcionan la energía suficiente para el driver de los motores, la potencia consumida por el
microcontrolador y el sensor QTR 8a. Commented [WU2]: Además del peso reducido de la
batería.
El sensor QTR 8a, juega el papel de “rastreador”, dado que sus sensores infrarrojos nos darán la
información correspondiente del camino que debería recorrer el robot, se debe tener en cuenta las
distancias recomendadas por el fabricante para determinar la altura de este con respecto al suelo
o pista, se debe hacer una correcta calibración para que los sensores no presentes información
invalida al micro controlador y prevenir que la información errónea llegue al siguiente sub
módulo.

Microcontrolador. Se usó un arduino nano por facilidad, este tiene varias funciones, la primera es
la lectura y almacenamiento de datos arrojados por parte del sensor QTR8a , dado que estas
señales están dadas en voltaje, el arduino debe como segunda función, procesar estas señales de
forma digital para almacenarlas y luego como tercera función, ejecutar el proceso adecuado

3
dada la información, luego de esta ejecución, como cuarta función debe enviarlas al driver
TB6612FNG, Como una función propia de el arduino , debe hacer una posible trasducción de las
señales analogicas a digitales y viceversa.

Puente H, para esta función fue utilizado el driver TB6612NFG el cual tiene como propósito
principal la velocidad y alimentación de los motores, cuenta con un puente h integrado, con una
totalidad de 16 pines, tiene como capacidad el manejo de hasta 2 motores. Y es muy sensible a
cambios bruscos de voltaje, y puede dañarse con bastante facilidad dado que no cuenta con una
protección lo suficientemente rigurosa como para una polarización inversa.

Los motores tienen no solo la función de desplazar el vehículo o robot, también tienen junto al driver
TB6612NFG la función de dar dirección al movimiento, esto variando las velocidades de los motores.

3. CÁLCULO DE COMPONENTES
● Fuente: la fuente a usar fue una batería de lipo con las siguientes especificaciones
:voltaje :7.4 voltios, amperaje : 500 mili amperios, cuenta con aproximadamente 40 gr de
peso, y con las siguientes longitudes : 50mm, 25 mm, 15 mm 20C, Su velocidad de

4
descarga es continua , conectores de carga JST-XH , CONECTOR DE DESCARGA JST-
RCY. Y
● Sensor: Utilizamos un sensor analogico de reflectancia QTR-8A, dado que era el más
conveniente con respecto a dimensiones y precio ,este debe ser alimentado con una
corriente de suministro :100mA, señal de salida :voltajes analogicos,distancia de
detección óptima :3mm, distancia de detección máxima recomendada :6mm, peso: 3.1
gramos.
● Microcontrolador: Optamos por usar un Arduino nano, dado que al arduino de un
comienzo (arduino mini pro) no cuenta con la cantidad de pines suficientes, y presentaba
muchos inconvenientes con respeto a su funcionamiento y sincronización entre el y el
sowtfware para grabarlo. El Arduino nano cuenta con un microcontrolador ATmel
ATmega168, voltaje requerido (nivel lógico) 5 voltios, voltaje recomendado :7-12
voltios, entradas y salidas digitales : 14(6 proporcionan salidas PWM) ,
entradasanalogicas : 8 ,corriente continua para los pines:40mA,
dimensiones :45mm x 18mm, peso 5 gramos.
● Puente H y motores: Se optó por usar un controlador (driver) TB6612FNG , el cual está
capacitado para el manejo de dos motores, tiene la desventaja de no contar con
protección , así que es muy propenso a fallas por subidas de tensión. Es capaz de
suministrar 1.2 A por canal de forma continua, y 3.2A por pico, admite señales
PWM(modulación ancho de pulsos) hasta de 100Khz. sus dimensiones son : 20 mm y 18
mm, y cuenta con un peso aproximado de 5 gramos. Los motores, cuentan con un
sistema de engranaje de 10:1, un máximo de 3000rpm , un torque de hasta 2 kg (no
recomendable), y un peso total de 220 gramos .

4. JUSTIFICACIÓN DE LOS ELEMENTOS


Primero debe considerarse que muchos de estos cambios fueron realizados bajo el concepto de
aligerar el vehículo y mejorar factores externos al circuito .

El primer cambio realizado a tener en cuenta fue la sustitución del arduino mini pro por el
arduino nano, esto se debe a que el arduino mini pro presenta muchos inconvenientes con el uso
respectivo de bibliotecas al momento de ser grabado, también el uso de un driver que se hace
problemático a la hora de grabarlo, puesto que las instrucciones exige cambios dependiendo el
uso a darse.

5
Otro motivo por el cual se prefirió el arduino nano se encuentra en que las placas comerciales de
vehículos velocistas tienen solo puertos diseñados para este tipo de arduino, Se pensó mucho
sobre elaborar la placa por nuestra propia cuenta, pero esto iba a requerir más tiempo, así que se
tomó la decisión en grupo de cambiar tanto el arduino como la placa, de una hecha por nosotros,
a una comercial.

Se debió cambiar los motores a usar, dado que los establecidos en un principio eran más pesados,
más grandes, su relación no era la necesaria y sus RPM no eran lo suficientemente aptas para el
velocista, así que se opto por unos motorreductores pololu, los cuales son más pequeños, cuentan
con una relación de 10 a 1, 3000 rpm (lo necessario) y un torque bastante alto para su tamaño.

Un cambio básico fue en el tipo de llantas a usar, pasaron de ser llantas de plástico de 7 cm de
diámetro, a unas llantas especiales para pistas de carreras con un material a base de silicona con
2.8 cm de radio , lo cual nos asegura mayor agarre por parte de estas en casos de derrapes o
inestabilidades de la pista.

Todos los cambios realizados, revelan que fue evidente la necesidad de una consideración mayor
a a hora de comprar cada implemento , dado que así hubiese sido más rentable y productivo los
avances .

5. PLAN ELÉCTRICO PIN A PIN


COMPONENTE HARDWARE

ESQUEMA COMPLETO DEL CIRCUITO

6
En la imagen anterior se presenta el esquema circuital completo implementado en el robot
velocista, donde se puede observar la relación de cada uno de los componentes con el resto del
circuito. Se puede identificar que se utiliza un Arduino Nano como microcontrolador, el cual
recibe señales provenientes del sensor, las procesa y envía los resultados al Driver
(TB6612FGH) por medio de señales PWM, este ya se encarga de suministrar el voltaje adecuado
a cada motor según sea la información dada por el arduino que a su vez fue suministrada por el
sensor. El interruptor y la resistencia son en conjunto, los encargados del encendido o apagado
por del robot. El robot velocista obtiene toda la energía para su funcionamiento por una batería
de Lipo de 7.4 V conectada al Arduino Nano.

COMPONENTE SOFTWARE

A continuación se presentará una explicación detallada del componente software utilizado para el
robot velocista, el código fue elaborado en arduino basándonos en diferentes fuentes y
referencias y averiguando por nuestra cuenta el funcionamiento de un sistema de control PID,
cuya parte del código será explicada a detalle en el informe final, ya que al versión del código
actual sigue siendo modificada constantemente.

7
1) Mapeo y definición de constantes: Como todo código, es necesario definir las
variables que se utilizarán a lo largo de este y llamar las librerías que se utilizarán más
adelante. En este caso se definen los pines y las constantes a utilizar en el PID, las cuales
se espera modificarlas más adelante al momento de hacer pruebas, las constantes con la
que el velocista presente un mejor desempeño serán las elegidas. Adicionalmente se
definió “pulsador 12” para configurar los sensores una variable estado que controlará la
activación del pulsador de calibración. La utilización de la librería QTRSensors.h permite
la utilización del sensor QTR8A.

8
2) Configuración de la librería: Se debe configurar la librería para trabajar con 8 sensores,
ya que esta es la cantidad de sensores con la que se está trabajando. El ejemplo básico
proporcionado por Arduino siempre viene configurado para trabajar sólo con 6 sensores,
por lo que es necesario modificarlo siempre

3) Funcionamiento de los motores: Los dos motores funcionan de igual manera, por lo
que es suficiente con sólo explicar uno de ellos, en este caso el izquierdo. El motor
actuará de acuerdo a una señal denominada Value a nivel de código, si ha Value se le
asignado anteriormente un cero lógico o superior, entonces el motor girara a una
velocidad preestablecida pero dejará de girar a esta velocidad para cualquier valor
diferente de Value.

9
4) Accionamiento de motores: Para hacer que un motor deje su estado de reposo, basta
simplemente con sobreescribir un valor alto en STBY, ya que los motores estarán quietos
mientras STBY sea igual a cero.

5) Frenos: Para frenar la velocidad de rotación en cualquiera de los dos motores se utiliza
nuevamente STBY y detiene un motor correspondiente según sea el parámetro de entrada
en la función.

10
6) Declaración de los pines de salida utilizados

11
7) La calibración es el paso previo que se debe realizar para obtener lecturas correctas por
parte de los sensores. La primera parte del código hace referencia al pulsador que al estar
accionado permite el inicio de la calibración y los Leds que indican el estado de esta. La
calibración inicia con el ciclo for y se utiliza una función propia de la librería. Finalmente
se paga el led para indicar que terminó la calibración.

12
8) Finalmente el robot velocista queda a la espera de que el pulsador sea presionado para
empezar a funcionar

6. PLAN DE PRUEBAS Y RESPUESTAS ESPERADAS


Se realizaron pruebas individuales para Los módulos Microcontrolador, sensor y motores.
Para cada prueba se utilizaron los ejemplos básicos proporcionados por Arduino o por las

13
librerías instaladas en este y se analizaron y compararon los resultados obtenidos con las
respuestas esperadas.

● Pruebas microcontrolador

El proyecto comenzó utilizando el arduino Mini Pro pero a medida que transcurrió el
tiempo se vió la necesidad de trabajar con el arduino Nano, por lo que fue necesario
realizar las pruebas con cada microcontrolador. Para el arduino Mini Pro se hicieron
pruebas como encender un Led o crear secuencias con Leds, las cuales fueron exitosas,
esto fue de suma importancia porque ningún miembro del grupo había trabajado con
Arduino. Cabe resaltar que las pruebas en el arduino Nano fueron las mismas que con el
Arduino Mini Pro ya que se debe instalar una biblioteca para poder trabajar con este.

Objetivo de la prueba: Utilizar el microcontrolador Arduino


Señales de entrada: Voltaje
Señales de salida: Corriente
Niveles de entrada: 7.4 V
Niveles de salida: 1.2 A - 3.2 A
Identificación de valores límite (máximos y mínimos) de cada una de las señales:
Valores mínimos: 5V
Valores máximos: 15V

● Pruebas Sensor

El sensor QTR8A cuenta con su propia librería y esta trae un ejemplo básico, pero de
suma utilidad, para aprender a manejar este sensor. Para empezar, se realizó la siguiente
conexión:

14
Se adaptó el código, ya que estaba diseñado para una regleta de 6 sensores y la QTR8A
cuenta con 8 sensores.

CALIBRACIÓN: La calibración es el paso previo a la utilización de los sensores y dura


unos pocos segundos. Para realizar este paso se colocó cinta aislante sobre una hoja de
papel y se expuso cada sensor a la parte negra y blanca mientras se realizaban lecturas.
Como es un robot seguidor de línea, fue necesario deslizar los sensores sobre la línea
repetidas veces para que estos también realizarán una lectura de qué tan oscura es la línea
y que tan clara es el suelo. Si no se hace una calibración apropiada, más adelante las
lecturas serán pobres. Durante esta fase, utilizando el pin 13 que es en realidad un LED,
se sabe que la calibración se está llevando a cabo mientras este esté encendido.

15
Los valores obtenidos en la calibración se utilizan para estimar la posición de la línea. El
monitor serial muestra 9 columnas, las primeras 8 columnas muestran los datos obtenidos
por los sensores y la última columna son los datos de posición relativa del sensor que van
desde 0 a 7000, de donde claramente se puede encontrar que estamos en Set Point cuando
la última columna muestra 3500. Las primeras 8 columnas muestran valores entre 0 y
1000, es decir, cuando están sobre una superficie blanca deben mostrar un 0 y cuando
están sobre la línea negra deben mostrar valores entre 800 y 1000. como se observa en la
imagen anterior. Adicionalmente, se puede observar que las respuestas obtenidas
corresponden a las respuestas deseadas.

Objetivo de la prueba: Probar el correcto funcionamiento del sensor


Señales de entrada: Luz
Señales de salida: Respuesta en voltajes análogicos
Niveles de entrada: 3.3V - 5V y 100mA
Niveles de salida: Entre 0 y 5 voltios analógicos
Identificación de valores límite (máximos y mínimos) de cada una de las señales:
Valores mínimos: 0 para el sensor y la posición
Valores máximos: 1000 para el sensor y 7000 para la posición

● Pruebas motores

16
La fase en las pruebas para motores se dividió en dos partes, cada una utilizando un
arduino diferente. La primera parte consistió en el cómo utilizar los motores, para esto se
utilizó un arduino MEGA y un ejemplo básico de arduino, al que se le realizaron cambios
pertinentes y se obtuvo como resultado los respuesta esperada.

17
Para la segunda parte de las pruebas y la más importante se utilizó el arduino NANO, el
driver y dos motorreductores. Realizando una explicación más profunda en el código, se
observa que cada motor funciona de manera independiente y cada uno se le puede
controlar la velocidad debido a un parámetro que varía entre 0 a 255 (pwm del arduino),
pero en el caso de que sea necesario que los motores giren en sentido contrario, este
parámetro debe oscilar entre -1 hasta -255. Las respuestas obtenidas en ambas pruebas
con ambos arduinos coincidían con las esperadas, ya que se logró que el sistema realizará
lo que se esperaba.

Objetivo de la prueba: Manejo de los motores


Señales de entrada: Voltaje DC
Señales de salida: Torque (Kg-m)
Niveles de entrada: 6V
Niveles de salida: 0-3000 RPM
Identificación de valores límite (máximos y mínimos) de cada una de las señales:
Valores mínimos: -255
Valores máximos: 255 Commented [WU3]: Plan de pruebas del sistema
completo????

18
7.APLICACIONES

El robot velocista a simple vista no posee aparentemente muchas aplicaciones, pero una de las
más grandes ayudas para las personas invidentes son una variedad de muchos dispositivos
experimentales a base de lecturas con sensores infrarrojos, identificando calles, puertas, y
obstáculos, Para así mejorar y facilitar las vidas de estas personas, lastimosamente, la mayoría
de estos desarrollos son informales, y no han sido apoyados de forma económica para entrar en
un ámbito comercial .

Otra aplicación muy similar son los robots de limpieza del hogar, en especial son las aspiradoras
automáticas, estas usan también tecnologías en infrarrojos para determinar el estado del suelo, si
este se encuentra limpio, y los límites que tiene para no salir por la puerta o aberturas.

Por último también encontramos un uso no móvil de los infrarrojos, pero estos detectan
movimientos, un ejemplo clásico de este tipo de utilización para los sensores lo podemos ver en
las carreteras, estos sensores permiten saber si se aproxima o no algún vehículo y conocer la
velocidad a la que viaja; también podemos encontrar lavamanos automáticos por ventilación.

9. LISTADO DE ELEMENTOS

- Computadores
- Destornilladores

19
- Placa base
- Microcontroladores(arduinos)
- Motor tools
- Micro reductores
- Sensor infrarrojo
- Protoboard
- Leds
- Jumpers
- Llantas
- Tornillos
- Silicona
- Cinta de agarre
- Fuente de alimentación (Laboratorio
- Tornillos
- Multímetro
- Batería de Lipo
- Cargador de batería de Lipo

20
9. BIBLIOGRAFÍA

21