informe final de diseño electrónicoquidel.inele.ufro.cl/%7ejhuircan/pdf_dise%d1o/hexapodo.pdf ·...

18
Informe Final de Diseño Electrónico Rodik Matamala Toloza Carrera: Ingeniería Civil Electrónica Mario Maragaño Uribe Carrera: Ingeniería Civil Electrónica Introducción Hexápodo Autómata es una creación de tipo artificial la cual se encuentra destinada a realizar diversas funciones, las cuales deben ser comandadas por un sistema de control que debe tener la característica de ser lo suficientemente robusto para poder tomar decisiones adecuadas ante la gran gama de situaciones a que puede estar sometido en su desempeño. Para el caso particular del Hexápodo este debe cumplir en una primera instancia con la condición de poder dezplazarse de forma fluida y elegante por una superficie lo más regular posible, realizando coordinadamente el movimiento de caminar hacia adelante y hacia atrás dependiendo como la situación lo amerite. En su desplazamiento este autómata debe salvar de forma adecuada los obstáculos que se le puedan presentar como lo pueden ser principalmente los de tipo sólidos en forma frontal, ejecutando alguna estrategia de control para lograr continuar su camino, el autómata también debe verse enfrentado a la misión de recibir estímulos luminosos y tomar ciertas decisiones de acuerdo a la estrategia de control que se este ejecutando dependiendo directamente de las cantidades de luz o sombra que este esté recibiendo. Cuando toda esta gama de limitantes se conjugan en una sola, nos veremos enfrentados a la tarea de diseñar una rutina de control compuesta principalmente por software y en nivel menor de hardware para lograr que este modelo se desplace en forma armónica. Las etapas que se han planteado anteriormente se han tratado de ir solucionando de forma sistemática y gradual para así llegar a la armonía final, es de importancia que la filosofía de trabajo es la de quemar etapas por separado e ir probando periódicamente las diversas partes que al unirlas formaran y darán paso al resultado final. No se puede realizar desde un principio un solo montaje esperando resultados óptimos de forma inmediata ya que ello puede desembocar en una desesperación crítica la cual no aportaría en nada al resultado, es obvio que la metodología de trabajo experimentada por este grupo de trabajo fue la de evaluar en una primera instancia problemas menores y complejidad mínima para así luego de previas sesiones de trabajo y estudio arduo ir solucionando instancias superiores. La característica fundamental de trabajo es que a medida que se quemaban etapas se visualizaba que el objetivo final se aclaraba y se tornaba cada vez más realizable, considerando siempre las nuevas ideas que por parte de los instructores florecían y que siempre tratamos de darles una respuesta lo más adecuada posible. Diseño a nivel de Bloques Como diagrama general de la solucion propuesta, es el que se muestra en la Figura1, cada bloque en forma general sera explicado a continuacion.

Upload: truongdiep

Post on 21-Jun-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

Informe Final de Diseño Electrónico

Rodik Matamala Toloza Carrera: Ingeniería Civil ElectrónicaMario Maragaño Uribe Carrera: Ingeniería Civil Electrónica

Introducción

Hexápodo Autómata es una creación de tipo artificial la cual se encuentra destinada arealizar diversas funciones, las cuales deben ser comandadas por un sistema de control que debetener la característica de ser lo suficientemente robusto para poder tomar decisiones adecuadasante la gran gama de situaciones a que puede estar sometido en su desempeño.

Para el caso particular del Hexápodo este debe cumplir en una primera instancia con lacondición de poder dezplazarse de forma fluida y elegante por una superficie lo más regularposible, realizando coordinadamente el movimiento de caminar hacia adelante y hacia atrásdependiendo como la situación lo amerite. En su desplazamiento este autómata debe salvar deforma adecuada los obstáculos que se le puedan presentar como lo pueden ser principalmente losde tipo sólidos en forma frontal, ejecutando alguna estrategia de control para lograr continuar sucamino, el autómata también debe verse enfrentado a la misión de recibir estímulos luminosos ytomar ciertas decisiones de acuerdo a la estrategia de control que se este ejecutando dependiendodirectamente de las cantidades de luz o sombra que este esté recibiendo. Cuando toda esta gamade limitantes se conjugan en una sola, nos veremos enfrentados a la tarea de diseñar una rutinade control compuesta principalmente por software y en nivel menor de hardware para lograr queeste modelo se desplace en forma armónica. Las etapas que se han planteado anteriormente sehan tratado de ir solucionando de forma sistemática y gradual para así llegar a la armonía final, esde importancia que la filosofía de trabajo es la de quemar etapas por separado e ir probandoperiódicamente las diversas partes que al unirlas formaran y darán paso al resultado final. No sepuede realizar desde un principio un solo montaje esperando resultados óptimos de formainmediata ya que ello puede desembocar en una desesperación crítica la cual no aportaría ennada al resultado, es obvio que la metodología de trabajo experimentada por este grupo de trabajofue la de evaluar en una primera instancia problemas menores y complejidad mínima para asíluego de previas sesiones de trabajo y estudio arduo ir solucionando instancias superiores.

La característica fundamental de trabajo es que a medida que se quemaban etapas sevisualizaba que el objetivo final se aclaraba y se tornaba cada vez más realizable, considerandosiempre las nuevas ideas que por parte de los instructores florecían y que siempre tratamos dedarles una respuesta lo más adecuada posible.

Diseño a nivel de Bloques

Como diagrama general de la solucion propuesta, es el que se muestra en la Figura1,cada bloque en forma general sera explicado a continuacion.

Page 2: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

Figura 1. Diagrama general de bloques

Cada bloque ya sea de entrada o salida interactua con el bloque central que es elmicrocontrolador. El hexapodo como estructura posee tres servo en forma independienteenumerados del uno al tres. Siendo el servo 2 el de la posicion central.

q Sensores LDR : Corresponden a los ojos del hexapodo. Estos sensores son tipo resistivo,variando su valor ohmico a medida que aumente o disminuya la intensidad de la luz.

q Malla divisora de voltaje : Corresponde al circuito basico resistivo que realiza la conversionOhm/ voltaje.

q Circuito Oscilador : Circuito que genera una frecuencia de oscilacion para que pueda trabajarel microcontroaldor. La oscilacion se realiza con una malla RC de valores diseñados.

q Sensores de choque : Correspondientes a las antenas del hexapodo. Cada antena esta enforma independiente a un voltaje positivo entregados por el microcontrolador y rodeadas porun anillo que esta a tierra. La idea del choque es que en el momento en que se realiza, se leentregue un cero a microcontrolador el cual ejecuta una rutina programada.

q Microcontrolador(Pic 16C71) : Dispositivo programable que posee un conjunto de instruccionesy capacidad de memoria predeterminada. Posee puertos de entradas y salidas e incluye unconvertidor Analogo a Digital.

q Servos 1, 2, 3 : Servo motores, que determinan el paso del hexapodo respondiendo a la señalde control que entrega el microcontrolador.

Page 3: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

Especificación de componentes por módulo

1 Modulo de sensores LDR y Malla divisora de voltaje:

Sensores LDR :Este bloque esta compuesto por dos sensores de tipo LDR correspondientes a losojos del hexapodo. Estos dispositivos aumentan o disminuyen su valor ohmico dependiendo de laintensidad de la luz. El esquema del dispositivo es el que se muestra a continuacion:

Junto con estos sensores se diseño una malla de adaptacion, que entrega un valor envoltaje al microcontrolador en proporcion a la intensidad de la luz.

La implementacion se diseño en un circuito impreso en forma de una cabeza de hormigacon valores de resistencias adecuados para una correcta conversion analoga – digital.

1 Circuito Oscilador y Microcontrolador PIC:

Como componente fundamental de este circuito se utilizo una malla RC de valores diseñados.Esta malla proporciona la frecuencia de trabajo del microcontrolador Como se muestra en lafigura.

Figura 2.

Page 4: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

Generación de PWM para realizar movimientos apoyándonos en servomotores de la línea Hi-Tec, modelo:

Cuando nos enfrentamos al desafío de lograr uno de los primeros objetivos, luego derealizar el estudio profundo y detallado del problema, es el de lograr mover toda la estructura yamontada con la generación de PWM (modulación por ancho de pulso) que tiene la más altaprioridad para solucionarla pronto y de forma óptima, por lo cual esta la decidimos realizarmediante software para así aprovechar de mejor forma las potencialidades que el microcontroladornos brinda teniendo la consideración que este PIC no contaba con módulos generadores de PWM,por lo cual es de total invención propia la forma de generación que hemos adoptado.

Esta señal de tipo periódica llamada PWM, será generada mediante un programa que másadelante mostraremos y la cual será hecha llegar a los diversos servos con los que contamos paraasí lograr un desplazamiento armónico y agradable a la vista, a continuación mostramos algunascaracterísticas de los servos ocupados para así introducirnos en su funcionamiento.

Un servo motor es una dispositivo de tipo electromecánico el cual responde a estímulos(señal de tipo eléctrica), los cuales deben tener características extremadamente bien definidas,nos referimos a la señal de estímulo que lo logra hacer funcionar, que se define como PWM, estadebe ser una señal de la forma que muestra la figura, en cuanto a las señales de alimentación yde salida que este dispositivo cuenta son las siguientes.

Tensión de alimentación. 4.8 – 6 vdc.Corriente de salida 25 mA.Radio de Giro Entre –45 y +45 grados medidos desde su

posición de referencia.

Figura 3. Conector de Servo Motor

Page 5: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

Figura 4. Señales y rangos aceptables por los servo motores.

La señal mostrada anteriormente es la única forma de onda que el o los servos(genéricamente), reconocen para así lograr en ellos un movimiento ideal. Es interesantemencionar que dichas formas deben respetarse en rigor ya que un incremento o decremento delos tiempos mostrados trae de inmediatamente resultados erróneos.

En el caso de los servos usados y la mayoría de las familias de servos que existen lospulsos representan lo siguiente:

Pulso de duración 1.0 msg

Este pulso que posee la duración ya descrita se encarga de posicionar el servo en laposición de –45 grados respecto de su centro, es decir realiza un giro hacia la izquierda respectode su centro.

Pulso de duración 1.5 msg

Este pulso que posee la duración ya descrita se encarga de posicionar el servo en posiciónde equilibrio o centro el cual puede ser regulado a voluntad, de acuerdo a un pequeño manejotécnico muy cuidadoso.

Pulso de duración 2.0 msg

Este pulso que posee la duración ya descrita se encarga de posicionar el servo en laposición de +45 grados respecto de su centro, es decir realiza un giro hacia la derecha respecto desu centro.

Es importante la duración o intervalo de tiempo que existe entre la llegada de pulsos alservo, como lo muestra la Figura 4. esta debe durar entre 15 y 20 msg, siendo éste el tiemponecesario para que el servo este preparado para realizar un segundo o siguiente movimiento, esdecir es el mínimo tiempo de respuesta que se le debe dar al servo para variar en forma adecuadasu posición original.

Obs. Con la última consideración hecha es más que importante volver a resaltar que la duraciónerronea de un pulso o del intervalo de respuesta provocaría en la práctica vibraciones en el servoque representarían un cambio no definido en su proceder.

Con la anterior descripción del movimiento de los servos, los cuales son fundamentalespara nuestro accionar es casi obvio que la generación de PWM que nosotros hemos implementadoes realizar de forma alternada la generación de pequeños pulsos de duración tanto de 1.0 como de2.0 msg en forma alternada haciéndolos llegar al pín de entrada de color amarillo que representaentrada de PWM en el servo. El diagrama de bloques que representa el software necesario para lageneración de estos se muestra a continuación, cabe la consideración que hemos tenido quemandar varios pulsos de 1.0 y luego varios de 2.0 msg para así asegurar que al menos uno de

Page 6: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

ellos llegue en forma integra al servo y así mantener al servo durante un pequeño instante detiempo en una y otra posición, para así realizar el juego de movimientos necesarios para desplazaral Hexápodo.

Como el Hexápodo consta de 6 extremidades o patas, la dos delanteras junto con las dostraseras, deben realizar movimientos armónicos y coherentes por lo cual el dato quesuministramos a ambos siempre será el mismo, es decir siempre mandamos primero los pulsos de1.0 msg y luego los de 2.0 msg para así avanzar hacia delante, las extremidades medias , es decirlas dos patas centrales reciben información similar a las anteriores, la cual es igual cuandoavanzamos hacia delante y al revés cuando queremos retroceder, la siguiente figura representa laseñal de PWM necesaria para lograr el desplazamiento hacia delante y hacia atrás las cualesestán debidamente explicadas.

Figura 5. Señal de PWM que se hace llegar a los servo 1 y servo 3 coherentemente para realizar movimientos tanto hacia delante como hacia atrás.

Figura 6. Señal de PWM que se le hace llegar las dos patas centrales (servo2) para realizar movimientos solo hacia delante.

Figura 7. Señal de PWM que se hace llegar al servo 2 para realizar movimiento exclusivamentehacia atrás.

Page 7: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

De las figuras anteriores apreciamos claramente que para realizar el movimiento haciaatrás solo debemos alterar el movimiento de las patas centrales ya que son ellas quienes le dan elapoyo al Hexápodo para su avance y las otras cuatro son las que le dan el impulso de avance.

La lógica de control para el desplazamiento hacia delante es la que refleja el siguientediagrama de flujo:

Figura 8.

Como podemos apreciar de el diagrama de bloques anterior lo único que realizamos es apartir de una predefinida rutina de retardos generar nuestro PWM, hacerlo llegar a los servoscorrespondientes a través de los pines del PIC (microcontrolador) que hemos definido como Out,luego de lo cual generamos nuevamente el PWM y lo sacamos por el puerto de salida (pines desalida), esta acción es de carácter cíclica por lo cual tendremos en esta instancia al Hexápodosiempre caminando hacia delante. Es obvio que el autómata debe enfrentar ciertos problemas ensu caminar como lo es el choque con un obstáculo por lo cual lo siguiente es definir una estrategiade control que se encargue de hacer retroceder al Hexápodo por un cierto intervalo de tiempo yluego de ello continuar su camino, durante el intervalo en que se encuentra retrocediendo estemovimiento tiene un cierto giro gracias al cual le permitirá evadir el obstáculo. Para detectar elsupuesto obstáculo hemos implementado en la cabeza del autómata un par de sensores dechoque los cuales los hemos fabricados con algunas piezas mecánicas y cableados al circuito decontrol que llega a los pines de lectura de PIC, el circuito y sensores que realizan esta acción semuestran a continuación:

Figura 9.

Page 8: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

La filosofía de acción es la siguiente, cuando el autómata se encuentra caminando el o losbits de estados que representan en sí el estado en que se encuentra el sensor estarán en unestado lógico alto, es decir de tensión + 5vdc y en cuanto el autómata haga contacto con unobstáculo gracias a su sensor de choque, inmediatamente el bit o los bits de estado se colocaránen estado lógico bajo o de 0 volt por un pequeño instante, esto representará que a ocurrido unchoque de tipo frontal por lo cual debemos evadir dicho obstáculo, se debe tener la granconsideración que la duración del estado lógico de 0 volt dura solo mientras el sensor de choquese encuentra en contacto con el supuesto obstáculo, luego inmediatamente que retrocedemos elbits de estado vuelvo al estado lógico alto por lo cual para poder retroceder un intervalo suficientepara lograr evadir el obstáculo debemos enclavar nuestra acción por un intervalo de tiempoadecuado, este inconveniente lo hemos resuelto generando un Monoestables mediante software,el diagrama de bloques que indica las acción a seguir tanto para caminar hacia delante y haciaatrás en cuanto detectamos un obstáculo es el siguiente, los programas en su integridad semuestran al final en los anexos.

Figura 10.

El bloque donde se consulta si existe choque o no es interesante ya que se realiza unmanejo de bits a bits, la lógica para tomar la decisión se explica con el siguiente diagrama debloques.

Page 9: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

Vemos aquí que la operación que se ejecuta para desencadenar el retroceso está basadoprincipalmente en el uso de instrucciones de carácter condicionada, según lo visto anteriormente yluego de ser ejecutada en la práctica el Hexápodo retrocede cumpliendo nuestros requerimientos,y es por ello que a continuación mostramos en detalle la descripción mediante diagrama de flujode la rutina de control para retroceder enclavando esta acción mediante la generación de unMonoestables, diseño por software:

Page 10: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

Analizando el diagrama de flujo anteriormente mostrado vemos que la acción deretroceder se ejecuta cuando alguno de los dos sensores de choque hace contacto con unobstáculo, acción que dura lo que el programa demora en decrementar el valor del registro“retroceder” rutina que puede variar en su duración quedando solamente sometida al valor adecrementar, el puede ser elegido a voluntad.

Vemos hasta el momento la descripción completa de las diversas estrategias de control diseñadaspara generar movimientos armónicos y de una complejidad notable, estableciendo claramente lascaracterísticas que deben tener el caminar tanto hacia atrás como hacia delante, ya manejandobien estas estrategias de control nos introducimos en lo que es la respuesta de nuestro Hexápodoante estímulos de tipo luminosos estos son capturados gracias a la ayuda de dos sensores,independientes uno del otro, de tipo “LDR” , estos sensores no son más que resistencias de tipovariables que experimentan un cambio en su valor óhmico de acuerdo a la intensidad luminosaque a ellas les llega.

Obs. De carácter muy importante es esta consideración según la data del microcontroladorque estamos utilizando el cual trae incluido un conversor de tipo A/D, se debe tener laconsideración que la impedancia de entrada al pín configurado como entrada analógica debe sermenor que 10 KΩ , por lo cual lo primero es realizar la prueba de los márgenes de resistencias quemanejaremos cuando nos enfrentemos a los niveles extremos de luminosidad.

1era Prueba realizada a los sensores “LDR”

La primera prueba a la cual se sometió a los sensores fue a la de determinar su rango derespuesta en cuanto a valores extremos de luminosidad y ver cual era el valor de resistencia quenos entregaba.

a) Para una situación de máxima obscuridad el valor de resistencia entregado por el sensor es deaproximadamente 10 a 15 MΩ .

b) Para una situación de máxima intensidad luminosa el valor de resistencia entregado por elsensor es de aproximadamente 40 a 50 Ω .

Debido a que estos valores son casi extremos y muy pocas veces nos veremosenfrentados a estas situaciones para efectos de diseño nosotros hemos optado por movernos entrelos rangos de 50 a 1M Ω , siendo estos valores muy importantes en una primera instancia paradiseñar el circuito adaptador de impedancia para la entrada de tipo analógica que irá hacia el PIC,para así cumplir con la restricción de fábrica que exige como máximo una resistencia de 10KΩpara poder realizar una conversión adecuada. La siguiente figura muestra el circuito de adaptaciónde impedancia que se utilizó para poder realizar una correcta conversión A/D

Page 11: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

Donde:

Rs : Resistencia interna de la fuente de alimentación (5 vdc), en este caso la hemos despreciado.R1, R2: Resistencia a diseñar para cumplir con la restricción en condiciones de trabajo.LDR : Sensor de luminosidad.Rth : La hemos denominado resistencia de Thevenin, que tiene valor de 10 KΩ , resistencia de entrada al pín de carácter analógico

Diseño para determinar los valores de R1 y R2.

12 //)( RLDRRRR sth ++=Cuando LDR → 50Ω

Considerando Rs → 0 Ω

KRR

R

KRLDRRLDRR

KRLDRR

1050

50

102

10//

12

2

12

12

≤++×

≤++×

≤+

ohmRKRKRKKRsi 38.995262.4710101050501 1112 ≤⇒−≤⇒≤+⇒=

Cuando LDR → 1MΩ

Considerando Rs → 0 Ω

ohmRKRKReKRsi

KRM

RM

05.900095.99910101000050

911

10501

1

1112

12

≤⇒−≤⇒≤+⇒=

≤++⋅

Como apreciamos de las ecuaciones anteriores hemos obtenido dos rangos donde sepuede ubicar el valor de la resistencia R1, para nuestros efectos consideraremos que el valor autilizar es el de 9KΩ , por lo tanto los valores finales con los cuales montaremos en placa los dos

Page 12: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

circuitos que adaptan la impedancia de los sensores de luz (es un circuito por cada sensor de luz),son de:

R1=1KΩ .R2=9KΩ .

2da Prueba realizada a los sensores “LDR”

La finalidad de esta prueba es verificar que si con el diseño del circuito anterior logramosrealizar la conversión de la señal analógica capturada en primera instancia solo por LDR, para ellodebemos realizar un pequeño programa que se encargue de esta función ya que el mismomicrocontrolador realiza internamente la conversión A/D, recordemos que de ante mano ya hemosaclarado quienes son los pines que se configuraran como entradas analógicas, a continuaciónmostramos el diagrama de flujo que refleja el software necesario para realizar la conversión debuena forma.

Del diagrama de flujo anterior vemos una seria de configuraciones tanto de I/O, como dedefinir si la variable es de tipo analógica o digital, todo ese detalle se especificará en los anexos yaque es allí donde se muestran a cabalidad y en detalle los programas realizados, en este casocabe mencionar y explicar la importancia de la consulta btfsc adcon0, go donde lo que se preguntaes si la conversión culminó o no y en el momento en que esto ocurra el resultado se reflejará en elpuerto destinado a salida, siguiendo realizado la conversión A/D de forma cíclica.

Page 13: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

Resultados obtenidos a partir de la segunda prueba.

Recomendaciones para la mejora o ampliación SI corresponde.Requerimientos de potencia. Rangos de operación y limitaciones.

Gracias a este pequeño programa probamos que el módulo de conversión A/D funciona demanera correcta, a continuación mostraremos los resultados obtenidos luego de realizar laconversión de un canal en particular, mostrando la codificación obtenida en 8 bits, de una señalluminosa que variaba entre 0 y 5vdc.

Tensión de entrada(volts) B7 B6 B5 B4 B3 B2 B1 B00 0 0 0 0 0 0 0 0

0.1 0 0 0 0 1 0 0 10.2 0 0 0 0 1 0 1 10.3 0 0 0 1 0 0 1 10.4 0 0 0 1 1 0 0 x0.5 0 0 0 1 1 1 0 00.6 0 0 1 0 0 0 0 x0.7 0 0 1 0 0 1 1 00.8 0 0 1 0 1 0 1 x0.9 0 0 1 1 0 0 1 11.0 0 0 1 1 1 0 0 x1.1 0 0 1 1 1 1 0 01.2 0 x x x x x x x1.4 0 1 0 0 1 1 0 x1.6 0 1 0 1 0 1 0 01.8 0 1 1 0 0 0 0 x2.0 0 1 1 0 1 0 1 02.1 0 1 1 0 1 1 1 12.2 0 1 1 1 0 1 0 12.3 0 1 1 1 1 0 1 12.4 0 1 1 1 1 1 1 02.5 1 0 0 0 0 1 0 x2.6 1 0 0 0 1 0 x x2.7 1 0 0 x x x x x2.8 1 0 0 1 0 1 1 02.9 1 0 0 1 0 1 1 13.0 1 0 x x x x x x3.2 1 0 1 0 1 0 0 13.4 1 0 1 1 0 1 0 x3.6 1 0 1 1 1 1 1 03.8 1 1 0 0 1 0 x x4.0 1 1 0 1 0 0 0 04.2 1 1 0 1 1 1 0 04.4 1 1 1 0 x x x x4.6 1 1 1 1 0 0 0 14.8 1 1 1 1 1 1 0 x5.0 1 1 1 1 1 1 1 1

x: don’t cares

Page 14: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

Vemos la exactitud de un conversor de 8 bits como con el que en este caso contamos, seaprecia fielmente que en zonas de máxima intensidad por ende mínima tensión de entrada en elpín de entrada análoga la conversión es 00h, en zonas medias obtenemos el valor de f 0h y enregiones de máxima obscuridad encontramos un resultado de f fh.

Ahora, luego de esta prueba preliminar en cuanto a la conversión A/D tomaremosdecisiones de acuerdo a niveles luminosos predeterminados y en torno a ellos realizaremosrutinas de control específicas, es decir mostraremos el diagrama de flujo que representa elprograma que se encargará de comandar el caminar del Hexápodo hacia atrás en presencia de luzy hacia adelante en presencia de obscuridad, cabe recordar que estos niveles son niveles mediosya que nunca trabajaremos casi en los extremos.

En el diagrama de flujo anterior se puede apreciar que el movimiento del Hexápodo setorna cada vez más complejo debido a que su desplazamiento se encuentra condicionado a variasrestricciones, como lo son los niveles luminosos a los cuales se enfrenta y además la posibilidadsiempre latente de chocar en forma frontal con un obstáculo al que obviamente debe evadir yproseguir su camino. Cuando caemos ya sea en la decisión de caminar hacia adelante o haciaatrás debemos recurrir al diagrama de flujo que mencionamos anteriormente, el cual consideraobviamente las posibilidades de choque.

Page 15: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

Desarrollo de experiencia de búsqueda de zonas luminosas u obscurasdesencadenando la parada al encontrar objetivo.

Es importante mencionar que uno de los objetivos primordiales es la búsqueda de zonasluminosas u obscuras y luego que lleguemos a ella debemos culminar nuestro recorrido, elsiguiente diagrama de flujo refleja el software que comanda dicha operación

Debido a la extensión de los programas el diagrama de flujo anterior es mucho máscompacto en cuanto a información que ya se ha mencionado en repetidas oportunidades como loson las rutinas de choque, las de retroceso y por supuesto las de avance frontal por lo cual solo lashemos indicado sin mayor profundidad, cabe destacar la incorporación de que hace referencia auna primera conversión, la finalidad de esta es la de enganchar al Hexápodo sobre un nivel detensión predeterminado (en el caso que se esté buscando obscuridad, recordando que mientrasmás obscuro implica mayor tensión), ahora si estamos bajo dicha referencia el autómata deberágirar hacia la izquierda para poder escanear en un radio de 180 grados y analizar el instante justoen que se posiciona sobre la referencia, luego de quedar enganchado sobre la referenciacomienza la labor de buscar el estímulo correcto para parar, es decir llegar al lugar donde seencuentra la intensidad predeterminada para ejecutar la parada, como se puede apreciar en el

Page 16: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

diagrama de flujo adjunto existen dos conversiones de parada debido a que se les pregunta aambos sensores de luz si alguno de ellos a llegado a la zona predeterminada, si así no fuese elautómata sigue dezplazándose y realizando cíclicamente todas sus rutinas de sensado para enalgún momento detener su marcha, momento en el cual ha encontrado el objetivo. El diagrama deflujo mostrado es el asociado a la búsqueda de obscuridad, para el caso de la búsqueda de zonasluminosas el programa solo varía en algunas sentencias, ambos programas y todos los asociadosa algún diagrama de flujo anteriormente mostrado se muestran en detalle en el anexo.

Conclusiones

Ø La experiencia asignada al grupo en cuestión fue desarrollada de la forma más sistemáticaposible y con la responsabilidad que la asignatura amerita.

Ø Han quedado algunas situaciones que principalmente por falta de tiempo no fuerondesarrolladas, ellas son:a) Desarrollar un sensor de piso de tipo contacto con la finalidad de que el Hexápodo pueda

dezplazarse sobre una superficie con limites u elevada, para que este no caiga.b) Implementar la referencia de la señal analógica mediante hardware para así solo con un

pequeño potenciometro graduarla a voluntad sin la necesidad de cambiar programas acada instante.

c) Optimizar de la forma más adecuada la generación de PWM, siempre mediante software,para así evitarnos la gran cantidad de memoria utilizada en líneas extremadamenterepetitivas y para la visión de un programador con experiencia inútiles, pero para nosotrosde 100% de resultados óptimos.

d) Realizar un filtro mediante software, el cual nos permita discriminar con un mayor gradode fidelidad tensiones resultantes de la conversión.

e) Realizar una mayor discriminación entre los resultados de la conversión de cada ojo(sensor de luz) por separado, para así saber si girar a la izquierda o derecha en labúsqueda más rápida de nuestro objetivo, ya sea luminosidad u obscuridad.

f) Implementar una vuelta más óptima en cuanto al radio de giro, es decir tratar a partir de laexperiencia ya adquirida lograr una vuelta elegante y coherente que cuente con un radiode giro menor que el actual.

g) Optimizar en su globalidad el o los programas para así con la memoria disponible por estemicrocontrolador , realizar rutinas de control de un nivel mucho mayor.

Ø Los objetivos planteados en un comienzo tanto por profesores, como los que se fueronpresentando en el camino se han logrado casi en su totalidad y si alguno no lo fue totalmentelogrado solo fue por falta de tiempo o por que surgió en una fecha ya muy avanzada, cuandolas prioridades eran otras.

Ø Para una aplicación de esta índole sería conveniente la asignación de un microcontrolador unpoco más poderoso en cuanto a la región de memoria disponible para propósito general,siendo solo una alternativa que incluyera módulos de generación de PWM, ya que esoahorraría casi 1 mes de trabajo, pero traería como consecuencia el no dominio del tema tan afondo como creemos que lo hemos logrado.

Ø Hemos aprendido y experimentado en todo tipo de situaciones tanto de programación,electrónica digital, análoga y parte mecánica donde en la mayoría de los casos solucionamoslos inconvenientes con la ayuda de la experiencia, apoyo docente, de compañeros y de labuena y mala suerte.

Ø El tiempo disponible este semestre fue extremadamente limitado creyendo que para unaasignatura del nivel de Diseño Electrónico es bastante poco.

Ø Existen algunas conclusiones de tipo especificas orientadas principalmente a situacionesenfrentadas, ellas las resumimos en las siguientesa) Sería conveniente que para enfrentar una situación como la desarrollada que la asignación

de PWM fuese independiente para par de extremidades, con esto pensamos que selograría una mejor armonía en los movimientos y un mejor radio de giro, nos referimos a

Page 17: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

un radio de giro menor ya que por casualidad lo experimentamos una vez y resultó muybien.

b) Tratar de realizar la oscilación del microcontrolador con un circuito que conste de unoscilador de cristal ya que según al literatura es mucho más fino el resultado obtenido paralas aplicaciones que así lo requieren y siendo este caso una de ellas, ya queprincipalmente la generación de PWM se hace un poco inestable cuando no se tiene laexperiencia adecuada.

c) Cuando se comienza a trabajar con frecuencia altas del orden superior a 1Mhz, se haceindispensable montar lo antes posible los circuitos en placas impresas con la menorcantidad de soldaduras y cobres al aire ya que producen distorsiones en las señales que asimple vista no tienen razón de ser.

d) La familia de microcontroladores PIC es conveniente según nuestro punto de vistaprogramarlos en lenguaje Asembly ya que existe bastante literatura en la cual apoyarse yel set de instrucciones con el cual cuentan es bastante amigable y de fácil comprensión.

e) Cuando se realiza la estructura del programa y se cuenta con muchas rutinas de retardoes conveniente colocarlas todas al comienzo como cabeceras de programación ya que esmuy probable que si no se hace así que el programa caiga en lup’s (ciclos) y no salganunca de ellos, esto lo descubrimos solo probando diversas posiciones no es para nadauna explicación científica pero sí práctica y en estos casos son muy importantes tenerlasen cuenta.

f) Una opción muy recomendada es el uso de las fuentes de interrupción externas o que elmicrocontrolador brinda mediante software, es conveniente que para una nueva aplicaciónsean consideradas.

Ø La experiencia desarrollada fue bastante entretenida, nos a dejada mucho por aprender perosatisfechos por lo logrado y esperando profundizar en los temas abordados.

Bibliografía y referencias

[1] Naranjo, J., "Microcontroladores PIC 16C71", Electronica & computadores CEKIT, numero7,1996.

[2] Naranjo, J., "Rutinas de Programacion PIC", Electronica & computadores CEKIT, numero 5,1995.

[3] Huircan, J.,"Apuntes de Herramientas de Programacion ", Depto. Ingeniería Eléctrica, 1996.

[4] Duque, E.,”Caracteristicas Especiales de los PIC”, Electronica & computadores CEKIT, 1996.

[5] http://www.geocities.com/Siliconvalley/way/5807/.

[6] http://www.hobby-electronics.com/

[7] http://www.picpoint.com

[4] Microchip. http://www.microchip.com

Page 18: Informe Final de Diseño Electrónicoquidel.inele.ufro.cl/%7Ejhuircan/PDF_DISE%D1O/Hexapodo.pdf · Figura 1. Diagrama general de bloques Cada bloque ya sea de entrada o salida interactua

Anexos

Listado de programas *:

a) Programa 1: Avance hacia delante, de acuerdo a un nivel de Sombra, para y da vuelta derecha: “Somb “

b) Programa 2: Rutina de Choque: “ Choque “

c) Programa 3: Rutina que busca Luz: “ Bluz “

d) Programa 4: Rutina que busca Sombra: “ Bsomb “

e) Programa 5: Avance hacia delante o hacia atrás de acuerdo a un cierto nivel luminoso: “ Luz “

f) Programa 6: Avance hacia delante o hacia atrás de acuerdo a un cierto nivel de Sombra: “ Sombra “

* Se Adjuntan en un Diskette.