Escolar Documentos
Profissional Documentos
Cultura Documentos
8. Conclusiones
9. Bibliografa
Introduccin
Desde la invencin del circuito integrado, el desarrollo constante de la electrnica digital ha
dado lugar a dispositivos cada vez ms complejos. Entre ellos los microprocesadores y los
Microcontroladores, los cuales son bsicos en las carreras de ingeniera electrnica.
Los microcontroladores se utilizan en circuitos electrnicos comerciales desde hace unos aos
de forma masiva, debido a que permiten reducir el tamao y el precio de los equipos. Un
ejemplo de stos son los telfonos mviles, las cmaras de video, la televisin digital, la
transmisin por satlite y los hornos de microondas. Pero hasta hace poco tiempo, para el
aficionado a la electrnica resultaba poco menos que imposible incluirlos en sus montajes por
diversas razones: alto precio, complejidad de los montajes y, principalmente, por la escasez y
el alto precio de las herramientas de software.
En los ltimos aos se ha facilitado enormemente el trabajo con los microcontroladores al bajar
los precios, aumentar las prestaciones y simplificar los montajes, de manera que en muchas ocasiones
merece la pena utilizarlos en aplicaciones donde antes se utilizaba lgica discreta.
Diversos fabricantes ofrecen amplias gamas de microcontroladores para todas las
necesidades.
Pero sin duda, hoy en da los microcontroladores ms aceptados para diseos profesionales
son los microcontroladores PIC fabricados por Microchip Technology Inc., que recientemente se
anunciaba como el mayor fabricante del mundo de microcontroladores de 8 bits.
En este auge ha influido decisivamente la poltica de Microchip al ofrecer la documentacin y
todo el software necesario de manera gratuita en su pgina Web www.microchip.com Esto,
junto con otras cuestiones tcnicas, han hecho que hoy en da resulte muy fcil incluir los
microcontroladores PIC no solo en los diseos de los aficionados a la electrnica, sino tambin
en complejos sistemas digitales.
Muchas de estas aplicaciones son sobre el control de servomecanismos tales como brazos
mecnicos y robots en general.
En este proyecto se implementa un carrito evasor de obstculos usando estos microcontroladores
PIC.
Adems, en este reporte se intenta que el lector logre entender de manera sencilla los pasos
en la implementacin del carrito evasor de obstculos y obtenga un panorama de la
programacin utilizada en estos dispositivos electrnicos
Se pretende explicar de manera concreta el funcionamiento de algunos microcontroladores, en
nuestro caso utilizamos los microcontroladores Pic16F84 y Pic16F877, aunque cabe mencionar
que si se comprende a fondo un microcontroladores en particular, los dems pueden prenderse
con facilidad partiendo de la estructura de los mencionados.
La forma en la que se estructuran los temas en este reporte es de tal manera que el lector
entienda con claridad los procedimientos que se llevaron a cabo para implementar el carrito
evasor de obstculos, usando como microcontrolador los PICs, mostrando los detalles
electrnicos de la circuitera y la programacin, para mejoras y modificaciones futuras que el
lector quisiese implementar.
Objetivo General.
Que los alumnos de 5to Ao de Secundaria al finalizar el curso de Mecatrnica
estn en condiciones de utilizar el software de manera adecuada para realizar
los circuitos impresos y construir el carrito vence obstculos como producto
final relacionndolo con su vida diaria.
Objetivos Especficos.
Comprender la definicin la Mecatrnica y su historia.
Analiza y comprende las partes que conforman la Mecatrnica como
aprendizaje en la vida acadmica y diaria.
Discrimina adecuadamente las herramientas que se encuentran dentro del
programa.
Usa las tcnicas aprendidas para construir el circuito impreso.
Trabaja en forma grupal para unir tanto la parte mecnica como la parte
electrnica.
Presenta y expone el proyecto del carrito autmata vence obstculos.
Nivel fsico: comprende la estructura fsica, las unidades motoras, y las etapas de
potencia.
Nivel de reaccin: est formado por el conjunto de sensores y los sistemas bsicos
para su manejo.
Nivel de inteligencia: abarca la planificacin a largo plazo.
Para llegar al modelo final del robot se pas por un proceso de experimentacin, ya que se
probaron diferentes carroceras y diferentes tipos de motores.
La primera prueba que se hizo como parte del proceso de experimentacin fue hacer un
seguidor de lnea en el que se utiliz el PIC 16F84, el cual controlaba las seales emitidas por
dos sensores de infrarrojos modelo CNY-70 (figura 3), los cuales emiten luz infrarroja que es
absorbida por el color negro, esto considerado como un 0 binario, y la luz infrarroja en el color
blanco es reflejada a la base del fototransistor de los sensores que es considerado como 1
binario. Este seguidor de lnea tiene un funcionamiento sencillo, el cual consiste en que si
sobre una superficie blanca dibujamos un circuito negro con curvas y rectas, ste seguidor de
lnea deber de seguir el camino sin desviarse de la lnea negra. La eleccin de los colores es
obvia, el blanco y el negro tienen unas caractersticas especiales a la hora de reflejar luz que
no la tienen otros colores.
La construccin del seguidor de lnea nos dej un primer acercamiento tanto en la
programacin del PIC, como la utilizacin de motores de DC. Este conocimiento adquirido fue
de gran utilidad para llegar al objetivo final, o sea obtener un robot evasor de obstculos.
Debido a que el objetivo de este reporte es explicar el software y el hardware del robot evasor
de obstculos, se omiten tanto el programa que se grab en el PIC 16F84 como el
procedimiento para la construccin fsica del seguidor de lnea.
Despus de contar con la experiencia obtenida en la realizacin del seguidor de lnea pasamos
a la elaboracin del robot.
La primera carrocera del robot fue la de un carrito de control remoto. Lo nico que usamos de
l fue su chasis y sus motores, pues se desactivo el circuito de control remoto. Este carrito
tena dos motores de DC. El motor posterior controlaba la traccin en tanto que el motor frontal
se encargaba de hacer girar las llantas delanteras de izquierda a derecha y viceversa para
poder girar.
El control de este carrito fue relativamente sencillo ya que para hacerlo avanzar solo s tena
que activar el motor de traccin. Sin embargo para controlar sus giros se dise un algoritmo
que consista en una secuencia de 5 pasos.
Esta secuencia es como sigue: primero se activa el motor frontal para hacer girar las llantas
delanteras hasta un extremo, luego se activaba el motor de traccin para que el carro retroceda
una distancia determinada, a continuacin las llantas delanteras se hacen girar hasta el otro
extremo y despus el carro debe avanzar cierta distancia, y por ltimo se manda la instruccin
de que por medio de un cierto tiempo de activacin del motor frontal se centren las llantas.
Es importante mencionar que al trmino de esta secuencia el carro gira aproximadamente 20.
De esta forma, dependiendo del nmero de grados que se quera que el carro girara se repeta
esta secuencia el nmero de veces necesario.
Como se pretenda tener un carro evasor de obstculos se pens en colocar varios sensores
que indicaran si el carro poda seguir avanzando o no. Despus se lleg a la conclusin de
que solo s necesitara un solo sensor, pues si se montaba en un motor entonces s poda
hacer un barrido de 180 para determinar si el carro tena una posible salida. Pero si no
encontraba una salida entonces se le indicara al motor que moviera el sensor hacia atrs y de
esta forma poder medir la distancia trasera y saber cunto poda retroceder el carro, o en su
defecto si no haba distancia suficiente no se movera hacia atrs.
El primer resultado que se obtuvo fue relativamente satisfactorio. El inconveniente que se
presento fue que el carro pesaba mucho y que su consumo de corriente era elevado. Adems
como para poner las llantas delanteras al centro se le indicaba al motor frontal que girara un
cierto tiempo, entonces al irse descargando las bateras que alimentaban al circuito las llantas
ya no quedaban centradas. Esto suceda porque a menor corriente el motor giraba ms
despacio y entonces se necesitaba ms tiempo para que las llantas quedaran centradas. Un
factor que determino el elevado consumo de corriente fue el peso del carro.
Adems de que el carro no hacia 100% lo solicitado, otro factor para decidir cambiar de carro
fue el consumo de energa, pues como ya se mencion el gran peso del carro hacia que se
acabaran ms rpido las pilas. Esto por supuesto no es rentable.
Para solucionar este problema se resolvi cambiar de carrocera y de motores. Ahora la
carrocera tena que ser menos pesada y de tamao lo ms pequeo posible. En cuanto a los
motores se pens en aquellos que estn montados en un mecanismo de engranes y que hace
que tengan un mejor torque. Adems los motores deban consumir poca corriente.
As pues, despus de una bsqueda algo tediosa se pudo conseguir el material requerido.
Los motores adquiridos fueron tres motoreductores de poco consumo de corriente y de
relativamente buen torque. Sin embargo la velocidad de stos no es buena, ya que dos de ellos
tienen a penas 42 RPM y el otro 30 RPM. El precio de este tipo de motores es bajo si los
comparamos con los servomotores.
La nueva estructura del robot fue de triciclo, o sea de tres llantas. Dos llantas se pusieron al
frente y una atrs. Cada llanta delantera tiene un motor. La llanta trasera es loca y se usa para
que el robot tenga un movimiento libre, es decir cuando los dos motores se ponen en marcha al
mismo tiempo el carro se debe ir en lnea recta y cuando se quiera que gire, la llantita trasera
debe seguir el movimiento. En la figura 1D se ve el robot.
El inconveniente que s pens que poda presentarse fue tener motores con una marcada
diferencia en sus revoluciones, lo cual provocara que el robot no avanzara en lnea recta. Sin
Fcilmente comprensible para quien pretenda leerlo.
RC4
Fig.
4D
que se mueve aumenta cuando el sensor mide que hay espacio libre mayor a 80cm.
De esta forma el robot continuo avanzando hasta que el sensor detecta que hay un obstculo a
una distancia aproximada de 80cm. Cuando esto pasa el carrito disminuye su velocidad y se
aproxima al obstculo hasta que se detiene a una distancia de ms o menos 20cm.
Cundo el carrito esta frente al obstculo, el sensor empieza un barrido de 180 empezando
desde la derecha y finalizando en la izquierda. Este barrido es muy importante ya que es
cuando se hacen las lecturas de las distancias. Cada lectura se da cada medio segundo. Al
finalizar este barrido se lee el registro de salidas para saber si hay o no una salida. Si existe
una salida el carrito gira hasta encontrarla. Despus se vuelve a repetir la secuencia desde el
principio, esto es, el sensor busca su punto de referencia luego el centro, etc.
En caso de que no exista una salida al frente, el sensor se mueve hacia atrs para medir si
hay distancia libre para que el robot retroceda. Si el robot puede retroceder, se mueve
aproximadamente 20cm hacia a otras, luego el sensor nuevamente empieza el barrido para
saber si hay o no salida al frente o a los lados.
En caso de que el carro no pueda retroceder se quedara parado, porque no hay salida ni
enfrente ni atrs. En esta situacin, para que el robot se mueva uno de los obstculos debe
quitarse. Es importante aclarar que el robot no est capacitado para trabajar en un contorno de
laberinto.
Un punto importante que debe resaltarse es que cuando el robot encuentra un obstculo debe
En esta figura se aprecia que cada 30 se hace una lectura. De esta forma se realizan un total
de siete lecturas. A dems se muestra que a pesar de que tambin hay salidas a la derecha y
a la izquierda, la ms conveniente es la que se encuentra ms cercana al obstculo, por que el
robot no tiene que girar mucho para evadir el objeto.
Material utilizado:
1 PIC 16F84
1 PIC 16F877
2 Sensores infrarrojos CNY- 70.
2 Motoreductores modelo B02 1:280
1 Motoreductor modelo B01 1:200
1 Sensor analgico Sharp modelo GP2Y0A21YK
2 Drivers L293D
3 Reguladores de voltaje LM7805
1 Cristal a 4Mhz con dos capacitores de 22pF
Caractersticas:
La construccin compacta con distancia de centro-a-centro de 0.1 ' (pulgadas)
10
Cuenta con una salida con eje de 5mm de dimetro y orificios para facilitar su montaje con
tornillos.
Medidas: 55mm X 47 mm X 22mm.
Peso: 32gr.
Este Motoreductor, que se muestra en la figura 4, se utiliz para mover el sensor analgico
modelo GP2Y0A21YK que se muestra en la figura 6.
11
Este programa contiene las subrutinas que hacen que el carrito funcione. El orden en el cual
estn dispuestas las subrutinas es muy importante, ya que si se altera el resultado ser un
programa que no haga lo que debe hacer.
A continuacin se menciona de manera general el funcionamiento de cada subrutina.
Cuando el robot encuentra un obstculo, este se detiene y su sensor comienza a realizar un
barrido de 180 para determinar las posibles direcciones de trayectoria de movimiento; como
estableci la lectura del sensor se realiza cada 30, permitindose un total de 7 lecturas. Sin
embargo, para lograr esta rotacin de 30, en la implantacin del programa en el PIC, se
estableci un periodo de tiempo para permitir la rotacin del motor que controla el movimiento
12
del sensor; en la prctica se observa que es de 500ms. Este periodo de tiempo se obtiene
utilizando interrupciones, con la ayuda del TIMER0, del Pre escalar y de un registro llamado
AumentoPreescalar. Recuerde que el mximo tiempo logrado con el TIMER0 y el pre escalar
es de aproximadamente 65.5ms (mximo tiempo antes del desbordamiento del TIMER0). Pero
el inconveniente de usar esta interrupcin, es que sta ocurre cada cierto tiempo, no
importando que actividad este realizando el robot; si el robot avanza una distancia
considerable, es obvio que se cumplir el tiempo necesario para que se d la interrupcin, pero
en este caso no se necesita que el sensor empiece a barrer, porque el carrito est avanzando y
no a encontrado un obstculo.
Considerando que la interrupcin se da cada cierto tiempo sin importar que est haciendo el
robot y que slo se requiere ejecutar la parte del algoritmo de la interrupcin que hace rotar el
motor del sensor cuando el sensor est en el proceso de barrido, se usa una bandera para
indicar cuando, propiamente dicho, se debe atender a sta interrupcin, es decir, a pesar de
que se d la interrupcin no siempre se procede a ejecutar todo el algoritmo de la rutina de
interrupcin y solo cuando se habilita la bandera, esta bandera se implementa con el bit 0 del
registro
Autoriza Interrupcin.
El programa empieza de la siguiente forma: El bit 0 del registro Autorizar Interrupcin se
pone a cero. Esto se hace para que al momento de que suceda la interrupcin no se entre a la
parte importante de la subrutina que atiende la interrupcin, sino que solo se vuelva habilitar la
interrupcin y continuar el proceso hasta que se llega a la parte donde empieza el barrido del
sensor.
La llamada de la subrutina derecha hace que el motor que controla el sensor gire a la derecha.
Esto es importante porque es un punto de referencia que hace que el programa no se pierda.
Cuando el motor empieza a girar se detiene cuando el conductor de cobre que se conecta al bit
RC4 se polariza. Como ya se explic anteriormente esta polarizacin ocurre cundo el arco
metlico que est montado en la placa que est sujeta al eje del motor hace contacto con el
conductor correspondiente. Ya se mencion que existe una placa que est sujeta al chasis del
motor que hace girar el sensor, esta placa tiene en cada uno de sus lados un conductor (ver
fig.3D) y por tanto hay cuatro conductores conectados en los bits correspondientes del PIC.
La llamada de la subrutina centro hace que el motor que controla el sensor gire al centro. El
motor se detiene cuando el conductor conectado al bit RC5 es polarizado. El sensor debe
estar ubicado al centro para que empiece a medir si hay o no espacio libre para que el carrito
avance. La subrutina avanza se encarga de que el carrito se mueva, hasta encontrar un
obstculo.
El registro Registra Salidas debe limpiarse antes de que sea utilizado. Este registro almacena las
posiciones donde hay una salida.
La llamada limpia Mascara hace que el registro Mascara tome el valor de b00000001. Se
empieza con este valor pues es la posicin de la primera lectura. Para la siguiente lectura la
mscara deber tener el valor b00000010, y la siguiente el valor b00000100, etc. Es decir se
va rotando el registro mascara en cada nueva lectura.
Siguiendo el orden del Programa Principal, nuevamente a parecer la llamada de subrutina
derecha para que se pueda empezar el barrido de 180 a partir de la derecha. El bit 0 del
registro Primera Lectura se pone a uno para hacer la primer lectura. Se debe hacer esto porque
cuando el sensor est a la derecha es cuando se autoriza la interrupcin y entonces se
13
necesita que pasen 500ms para hacer la primer lectura, es decir no se estara tomando lectura
del extremo derecho.
Pero cuando se activa el registro Primera Lectura se garantiza que se haga una lectura en el
extremo derecho.
Una vez que el sensor est colocado a la derecha se debe poner el bit 0 del registro
Autorizar Interrupcin en uno para que cuando entre la interrupcin se pueda acceder a la parte
del algoritmo en la cual se empieza la lectura, a intervalos de 500ms, de la distancia que hay
del carrito a su alrededor y llevndose a cavo la correspondiente conversin A/D.
La subrutina izquierda hace que el sensor gire hasta que llegue a la izquierda. El sensor gira
hasta que el conductor conectado al bit RC6 se polariza. Hay que recordar que el sensor
estaba ubicado en la derecha. De esta forma cuando el sensor llegue a la izquierda habr
girado 180. En el transcurso de este barrido es cuando la interrupcin queda habilitada y por
tanto se hacen las lecturas.
Despus hay que volver a poner el bit 0 del registro Autorizar Interrupcin a cero para
nicamente limpiar la bandera de desbordamiento de TIMER0 al entrar a la rutina de
interrupcin.
La subrutina Lee Salidas se encarga de preguntar si hay o no una trayectoria de movimiento. Es
decir, como resultado del barrido de 180 se puede tener o no una trayectoria de movimiento.
Si hay una trayectoria de movimiento se ejecuta la subrutina Gira Salida la cual permite
identificar un movimiento del carrito hacia la derecha o la izquierda. Si no hay trayectoria el
carro debe retroceder, este movimiento se logra con la subrutina retrocede. En la figura 10 se
muestra el diagrama de flujo del programa principal.
14
15
Conclusiones
A pesar de que el robot no es muy competitivo, presenta caractersticas interesantes. Sin
embargo tiene detalles desafortunados como es el alto consumo de corriente debido al sensor
analgico que se utiliz, ya que es el que consume en la mayor parte del tiempo ms corriente
porque est tomando lecturas todo el tiempo en que el carrito est en movimiento. Se
propone para mejoras futuras hacer que este sensor solo este activado por intervalos cortos
de tiempo para mejorar el rendimiento de energa.
Por otra parte, el diseo, montaje y programacin del robot, a sido una experiencia, aunque
ardua (ya que requiere mucho tiempo), muy divertida.
Este robot es una primera aproximacin, que sin lugar a dudas puede ser mejorado. Las
mejoras pueden darse desde la parte mecnica hasta la forma de energizar el circuito, como
por ejemplo; pueden usarse brazos mecnicos, adaptar una cmara de video, se puede
alimentar con celdas solares, entre otras mejoras. Sin embargo el resultado obtenido es
aceptable.
16
La utilizacin de celdas solares puede ser utilizado para que el carrito utilice
energa solar y energa de una batera, y que adems estas celdas solares
recarguen las bateras de alimentacin del carrito, esto con el fin de que el
carrito funcione en cualquier momento y no se tengan problemas de energa.
Bibliografa:
Palacios, Enrique; Remiro, Fernando y Lpez, Lucas. Microcontrolador
PIC16F84, desarrollo de
Proyectos, Segunda Edicin. Editorial Alfo Omega Rama.
Pgina de Internet: http://www.microchip.com
Pgina de Internet: http://www.robodacta.com
17