Está en la página 1de 15

INFOTECH

Proyecto Mecatrónico
2016-1
Seguidor de línea o de luz

01 de abril de 2016
INFOPUC
Av. Universitaria 1801, San Miguel
Programación del área de Informática

CURSO DE PROYECTO MECATRÓNICO

I. OBJETIVO
Desarrollar una aplicación mecatrónica a nivel escolar que nos permita interactuar
entre la alumna y máquina.

Las alumnas tendrán la disposición de aplicar todo lo aprendido en el curso a


través del seguidor.

Al final del curso, se debe exponer las conclusiones del proyecto que desarrollaron
cada grupo (curiosidades, dificultades, experiencias).

II. ORGANIZACIÓN
Se desarrollaran grupos de 5 o 6 integrantes. Los puestos que desempeñaran
serán:

Desarrollador electrónico (1 integrante): Encargado de revisar las conexiones y


estados de la fuente de alimentación.

Desarrolladora mecánico (1 integrante): Encargada en supervisar el ensamblaje


del seguidor de línea – luz, así como dar soluciones para acomodar las piezas de
forma ergonómica.

Desarrolladora programación (2 integrantes): Encargada en desarrollar el código


de programación que lograra analizar la información y tomar decisiones correctas.

Desarrolladora de ensamblaje (1 integrante): Encargada de apoyar las áreas de


electrónica, mecánica y programación para que funcionen en conjunto.

OJO: A pesar de estar a cargo de un área como supervisora, la integrante


deberá tener participación en toda las áreas.

A continuación, se presentará la lista de grupos elaborados entre las alumnas del


curso:

1
III. ELEMENTOS
A continuación, se presentará los elementos del kit del proyecto:

Cant. Nombre Descripción Sistema Imagen

1 Arduino El Arduino UNO R3 es una placa Electrónico


UNO R3 electrónica basada en el
ATmega328P. Cuenta con 14
pines digitales de entrada / salida
(de los cuales 6 se podrán utilizar
como salidas PWM), 6 entradas
analógicas, un cristal de cuarzo de
16 MHz, una conexión USB, un
conector de alimentación, una jefe
de ICSP y un botón de reinicio.
Contiene todo lo necesario para
apoyar el microcontrolador; basta
con conectarlo a un ordenador con
un cable USB o la corriente con un
adaptador de CA a CC o una
batería para empezar. Puede
jugar con el UNO sin preocuparse
demasiado por hacer algo mal,
pues tiene un sistema de
seguridad que lo refuerza.

Este módulo es el complemento


1 Driver Electrónico
ideal para proyectos de robótica y
L298N
Router CNC. Permite controlar
hasta 2 motores de corriente
continua o un motor paso a paso
bipolar. También permite controlar
un motor paso a paso unipolar
configurado como bipolar de
forma muy sencilla y eficaz. El
módulo permite controlar el
sentido de giro y velocidad
mediante señales TTL que se
pueden obtener de
microcontroladores y tarjetas de
desarrollo como Arduino,
Raspberry Pi y lauchpads de
Texas Instruments.

2
2 Sensor Es un sensor de tipo infrarrojo que Electrónico
infrarrojo consiste de un emisor LED y un
TCRT5000 fototransistor. Su función es
detectar la presencia de un objeto
usando la viga reflexiva del IR del
objeto.

3 Foto Una fotorresistencia es un Electrónico


resistencia componente electrónico cuya
LDR resistencia disminuye con el
aumento de intensidad de luz
incidente. Puede también ser
llamado fotorresistor,
fotoconductor, célula fotoeléctrica
o resistor dependiente de la luz,
cuyas siglas, LDR, se originan de
su nombre en inglés
light-dependent resistor.

10 Jumper 20 Un jumper siendo usado en una Electrónico


cm placa madre. En electrónica y en
particular en informática, un
jumper o puente es un elemento
que permite cerrar el circuito
eléctrico del que forma parte dos
conexiones.

2 Llanta con El motor de corriente continua Electrónico


motor DC (denominado también motor de
corriente directa, motor CC o motor
DC) es una máquina que convierte la
energía eléctrica en mecánica,
provocando un movimiento rotatorio,
gracias a la acción que se genera del
campo magnético. Una máquina de
corriente continua (generador o
motor) se compone principalmente de
dos partes. El estator da soporte
mecánico al aparato y contiene los
devanados principales de la máquina,
conocidos también con el nombre de
polos, que pueden ser de imanes
permanentes o devanados con hilo de
cobre sobre un núcleo de hierro. El
rotor es generalmente de forma
cilíndrica, también devanado y con
núcleo, alimentado con corriente
directa mediante escobillas fijas
(conocidas también como carbones).

3
1 Rueda loca La rueda loca (caster wheel en Mecánico
inglés) es una rueda sin tracción,
simple o doble, que puede girar
libremente y que generalmente
está situada en la parte inferior de
una estructura. Se utiliza en carros
de la compra, sillas de oficina o
vehículos… como nuestro tribot
NXT

1 Chasis de El chasis cumple la función de Mecánico


acrílico soporte principal para ensamblar
los elementos mecanicos y
electronicos del proyecto.

1 Porta El Portabaterías nos ayuda a Electrónico


baterías almacenar las baterías para poder
energizar nuestro proyecto
mecatrónico y evitar que sufra de
una parada durante su
funcionamiento.

IV. DESARROLLO
El seguidor de línea & luz, tiene como principio poder movilizarse a través del estí-
mulo de seguir una línea negra en contraste con un fondo blanco ( en el caso de
que sea un seguidor de línea) o seguir un haz de luz emitido por prolongado
tiempo ( en el caso de que sea un seguidor de luz). De manera convencional, uno
debería darle instrucciones al móvil para poder conseguir dicho objetivo. Sin
embargo, en este proyecto, lograremos cumplir con ambas funciones de forma
autónoma a través del uso de sensores, motores, ruedas, fuente de energía y la
tarjeta de desarrollo Arduino (la pieza clave del proyecto).

4
El desarrollo del proyecto mecatrónico se realizará en 6 sesiones, las cuales se
describirán a continuación:

• Ensamblaje (dos sesiones)

5
Todos los elementos mencionados en la sección anterior serán ensambladas
según el esquema que se presenta en la siguiente imagen. Para ello, solo se
requiere del uso de un destornillador y un plan de instrucciones.

Asimismo, se requiere la ubicación adecuada de los elementos debido a que el


robot cuenta con tracción diferencial, ya que utiliza dos ruedas que son
controladas de manera individual y soportadas en un eje central común (rueda
loca) para el balance. Las dos ruedas tienen un recubrimiento de caucho que
permite mayor adhesión a la superficie plana del entorno; la rueda loca además
facilita el movimiento del robot al contar con un giro libre de 360 grados. Las dos
ruedas principales son controladas por un motor de corriente continua que cuenta
con un sistema de engranajes que ayuda a aumentar la potencia en el movimiento.

Motor
Motor Derecho
Izquierdo

Rueda
Loca

Se debe observar que la ubicación de las ruedas en el seguidor de línea & luz; la
rueda loca se encuentra en la parte posterior de éste. Las formas de avance con
las que cuenta robot son hacia adelante, girar a la izquierda y girar a la derecha y
hacia atrás si así se requiere. En la siguiente imagen, se muestra la ubicación de
los sensores.

Sensor Sensor

Finalmente, se debe tener en cuenta la estructura física del seguidor de línea &
luz.

6
Motor
Derecho

Motor
Derecho
Sensores

• Programación (dos sesiones)

El proyecto iniciará con la sesión de programación debido a que es importante


conocer el entorno de programación que usarán durante las últimas sesiones al
100%.

La primera sesión será para conocer los conocimientos básicos del software y
reconocer la importancia que tiene para su proyecto.

La segunda sesión será para aplicar todas las herramientas aprendidas en la


sesión anterior orientado al proyecto.

Como ya se ha descrito en la fase de diseño mecánico la tracción del seguidor es


diferencial, pero se hace necesario controlar su movimiento (detenerse, avanzar,
girar) y además garantizar el correcto funcionamiento de los sensores para seguir
un camino. Para solucionar esto se propone hacerlo a través de un entorno de
programación, teniendo en cuenta la población principal a la cual va dirigida la
actividad, por lo que es importante que sea de fácil acceso y uso. De esta manera,
el control de los robots se realiza a través el IDE de programación de
Arduinowww.arduino.cc.

Estas placas son capaces de recibir información del ambiente o entorno en el que
se encuentren, procesarla, manipularla y controlar posteriormente una salida en la
que pueden encontrarse motores, luces, sonido, entre otras. Una ventaja que tiene
este tipo de hardware de código abierto y como aporte a la educación, es que
además de la opción de compra también pueden obtenerse las características de
hardware y así ser ensamblado libremente. El tipo de placa que se usa para este
proyecto es el UNO R3, la cual cuenta principalmente con seis entradas análogas,
14 entradas/salidas digitales, un microcontrolador ATMega168, un voltaje de
operación de 5 voltios y una conexión por puerto USB (Arduino, 2012) que
permitirá la alimentación y programación de esta placa.

7
Para que sea posible la programación de la placa en el entorno Arduino, primero
debe descargarse el software Arduino y el firmware que hará posible el
reconocimiento de dicha placa por el entorno[1]. En la página principal de Arduino
se encuentran las especificaciones de instalación de acuerdo al tipo y versión del
sistema operativo con el que se cuente. A continuación se muestra el entorno de
programación donde se trabajará.

A continuación se mostrará parte del código que desarrollará el proyecto para un


Arduino UNO R3. Este programa solo controla la dirección de los motores, si se
desea controlar la velocidad hay que cambiar las salidas lógicas por salidas PWM,
la frecuencia que debe manejar el PWM debe ser alta por encima del rango de
frecuencias audibles (mayor a 20KHz) para evitar que nuestros motores emitan
sonidos molestos.

8
#define M1A 19 //Motor 1A
#define M1B 18 //Motor 1B
#define M2A 17 //Motor 2A
#define M2B 16 //Motor 2B
#define PIN_PWM 11 //Modulacion por ancho de pulso – Emular salida analogica
con salida digital
#define VEL 100 //Velocidad
#define S1 0 //IZQ
#define S2 1 //DER
#define _UMBRAL_ 200 //Umbral de los sensores
unsigned long timeserial;
void setup (){
Serial.begin(9600);
timeserial = millis();
pinMode(M1A, OUTPUT);
pinMode(M1B, OUTPUT);
pinMode(M2A, OUTPUT);
pinMode(M2B, OUTPUT);
STOP(10000);
analogWrite(PIN_PWM, VEL);
}
void loop()
{
byte SDER = (analogRead(S1)> _UMBRAL_ )?0:1;
byte SIZQ = (analogRead(S2)> _UMBRAL_ )?0:1;
if(SDER && SIZQ)
STOP(0);
else if (!SDER && SIZQ)
DER(0);
else if (SDER && !SIZQ)
IZQ(0);
else
ADE(0);
if(millis() – timeserial > 500){
timeserial = millis();
Serial.print(“Sensor1: “);
//Serial.print(SDER);
Serial.print(analogRead(S1));
Serial.print(” Sensor2: “);
//Serial.println(SIZQ);
Serial.println(analogRead(S2));
}
}

9
void ATR(uint16_t time){
digitalWrite(M1A, HIGH);
digitalWrite(M1B, LOW);
digitalWrite(M2A, HIGH);
digitalWrite(M2B, LOW);
delay(time);
}
void ADE(uint16_t time){
digitalWrite(M1A, LOW);
digitalWrite(M1B, HIGH);
digitalWrite(M2A, LOW);
digitalWrite(M2B, HIGH);
delay(time);
}
void DER(uint16_t time){
//Llanta Izquierda
digitalWrite(M1A, HIGH);
digitalWrite(M1B, LOW);
//llanta Derecha
digitalWrite(M2A, LOW);
digitalWrite(M2B, HIGH);
delay(time);
}
void IZQ(uint16_t time){
//Llanta Izquierda
digitalWrite(M1A, LOW);
digitalWrite(M1B, HIGH);
//Llanta Derecha
digitalWrite(M2A, HIGH);
digitalWrite(M2B, LOW);
delay(time);
}
void STOP(uint16_t time){
digitalWrite(M1A, LOW);
digitalWrite(M1B, LOW);
digitalWrite(M2A, LOW);
digitalWrite(M2B, LOW);
delay(time);
}

10
• Electrónica (una sesión)

En la sesión de electrónica, nuestro objetivo principal será habilitar todos los


sensores, fuente de alimentación y microcontrolador función de forma óptima.

Con respecto a los sensores, será el sistema encargado de obtener la información


del entorno para enviarla al sistema de comunicación en el cual se determinarán
las acciones para los seguidores de línea & luz. En este caso se usarán leds
infrarrojos, un emisor y un receptor, los cuales están encargados de detectar la
línea negra que define el camino a seguir (seguidor de línea) o se usarán las
fotorresistencias LDR para detectar el lugar donde se emite el haz de luz (seguidor
de luz).

Para el proyecto seguidor de línea, se utilizarán dos sensores infrafrrojo TCRT


5000.Su función es detectar la presencia de un objeto usando la viga reflexiva del
IR del objeto.

Para el proyecto seguidor de luz, se utilizarán tres fotorresistencias LDR. Su


función es detectar una emisión de luz constante.

Con respecto a la potencia, se usará un driver L298 que cumple la función de


indicar al motor que actividad realizar dependiendo del momento. Lo hará según el
principio de puente H y se explica a continuación:

11
S1 S2 S3 S4 Resultado
1 0 0 1 El motor gira en avance
0 1 1 0 El motor gira en retroceso
0 0 0 0 El motor se detiene bajo su
inercia
1 0 1 0 El motor frena (fast-stop)

Finalmente, se requiere conectar tanto los sensores (TCRT 5000 / Fotorresistencia


LDR) y actuadores (Motores) con el sistema de control que será el Arduino UNO
R3. El diagrama general de conexiones se presentará a continuación:

12
Para el seguidor de línea, la señal de salida de los sensores infrarrojos es de tipo
análoga porque su variación depende de la distancia entre los componentes, la
cantidad de luz percibida y la línea negra, de la incidencia de la luz ambiente y de
las pérdidas en el flujo de corriente en todo el circuito. Mientras que para el
seguidor de luz, la señal de salida de las fotorresistencias LDR será de tipo
análogo porque su variación, cuando detecte el haz de luz, se verá afectado por
la luz del ambiente.

Luego entra a la fase de programación y allí es cuando la señal se pasa a digital,


la cual a su vez es la entrada al driver de los motores (Puente H).

• Pruebas (una sesión)

La última sesión será dedica exclusivamente a pruebas en una pista diseñada


especialmente para usar el seguidor de línea o con recubrimientos de plástico para
el seguidor de luz. Ambas son medidas tomadas para optimizar el funcionamiento
del proyecto. En el proceso, se puede hacer modificaciones en el ensamblaje,
electrónica o programación.

Seguidor de línea

Seguidor de luz

13
V. PRESENTACIÓN
En la última sesión de clase se realizará una exposición de 8 – 10 minutos con el
objetivo de demostrar el correcto funcionamiento del proyecto y se presentaran
conclusiones sobre su elaboración (experiencias, interacción grupal,
inconvenientes, dudas, etc.) Asimismo, se deberá presentar un informe grupal
sobre el código de programación, fotos sobre los sistemas elaborados y la
participación de cada integrante del grupo.

14

También podría gustarte