UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios Profesionales Coordinación de Ingeniería Electrónica
DESARROLLO DE UN SOFTWARE PARA LA PROGRAMACIÓN DE RUTINAS DE MOVIMIENTO PARA ANIMATRÓNICOS
Por Br. Carín Talero
Sartenejas, Enero - Marzo 2005
- 2-
UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios Profesionales Coordinación de Ingeniería Electrónica
DESARROLLO DE UN SOFTWARE PARA LA PROGRAMACIÓN DE RUTINAS DE MOVIMIENTO PARA ANIMATRÓNICOS
Por Br. Carín Talero
Realizado con la Asesoría de Prof. Juan Carlos Grieco Ingeniero Victor Chang
PROYECTO DE GRADO Presentado ante la Ilustre Universidad Simón Bolívar como requisito parcial para optar al título de Ingeniero Electrónico
Sartenejas, Enero - Marzo 2005
- 3-
UNIVERSIDAD SIMÓN BOLÍVAR Decanato de Estudios Profesionales Coordinación de Ingeniería Electrónica
DESARROLLO DE UN SOFTWARE PARA LA PROGRAMACIÓN DE RUTINAS DE MOVIMIENTO PARA ANIMATRÓNICOS Presentado por: Br. Carín Talero Realizado bajo la asesoría de: Tutor Académico: Prof. Juan Carlos Grieco Tutor Industrial: Ing. Victor Chang RESUMEN Se desarrolló un software para realizar la programación de las rutinas de movimientos de los animatrónicos de la empresa Millenium Park Technology, dedicada a las atracciones de parques temáticos y espectáculos. Este software ofrece una gran cantidad de ventajas frente a su programa antecesor, el DMA desarrollado por la empresa DDI Solutions. El software desarrollado en este proyecto es llamado y permite la grabación de memorias Flash FM24C64 a través del PIC 16F627 sin la necesidad de tener al animatrónico conectado a la computadora, cosa que era imprescindible con el DMA. Ofrece múltiples ventajas al permitir una programación en frío como realizar movimientos sincronizados y de intervalos de tiempo exactos, además de permitir guardar las rutinas para grabarlas posteriormente. Todo de forma gráfica, el usuario no necesita saber de programación de PICS ni de memorias Flash. Junto al software también se fabricó el hardware del grabador de forma que los empleados de la empresa no tengan la necesidad de armar uno cada vez que necesiten hacer una programación. El hardware contiene todos los circuitos que intervienen en el proceso interconectados entre si y protegidos por las tapas de la caja donde se encuentran contra golpes y polvo, es fácil de usar, liviano y transportable. En este libro se presenta todo el proceso que se llevó a cabo para lograr el desarrollo e implementación de de forma que cubrir todos los objetivos planteados motivados por las necesidades de la empresa. PALABRAS CLAVES Animatrónico, PIC, 16FC627, Memoria Flash, FM24C64, Programación, Interfaz gráfica. Aprobado con mención:_______ Postulado para el premio:______ Sartenejas, Enero – Marzo 2005
- 4-
A mi familia. A mis Padres. Por ser mi punto de apoyo incondicional. Por hacerme la vida más sencilla y feliz. Por haberme brindado consejos, ayuda, consuelo y regaños que hicieron que hoy esté aquí, graduándome de Ingeniero. A mi hermana. Por obligarme a darle un buen ejemplo a seguir. Por las peleas que hicieron que hoy seamos inseparables. Por la camaradería que nos hace más que hermanas, amigas. Sigamos Siempre Juntos.
LOS AMO Carín
- 5-
AGRADECIMIENTOS
A mis papás y mi hermana, por apoyarme y ayudarme durante todo el tiempo de la realización de este proyecto.
A los profesores Juan Carlos Grieco y Gerardo Fernández, un especial agradecimiento por ayudarme a salir adelante cuando más lo necesité y orientarme a largo de esta vivencia.
Al Señor Victor Chang, por permitirme realizar la pasantía en su empresa y darme la oportunidad de vivir mi primera experiencia laboral.
A mis amigos de Millenium Park Technology, por hacer que mis días de pasantía allá en el taller fueran gratos.
A Stanislav Dalence y Jeremías Pestana, por su valiosa y desinteresada ayuda en diferentes aspectos de este proyecto.
A mis amigos y compañeros, por estar siempre ahí en las buenas y en las malas.
ÍNDICE GENERAL ÍNDICE GENERAL..................................................................................................................i ÍNDICE DE FIGURAS............................................................................................................iii ÍNDICE DE TABLAS..............................................................................................................iii LISTA DE SÍMBOLOS Y ABREVIATURAS ..........................................................................iv CAPÍTULO 1: INTRODUCCIÓN...................................................................................1 1.1 Planteamiento del problema ............................................................................................3 1.2 Justificación.......................................................................................................................5 1.3 Requerimientos del Software...........................................................................................6 1.4 Objetivos ............................................................................................................................6 1.4.1 Objetivo General........................................................................................................6 1.4.2 Objetivos Específicos ................................................................................................7 CAPÍTULO 2: DESCRIPCIÓN DE LA EMPRESA........................................................8 2.1 Misión y Visión .................................................................................................................9 2.2 Reseña Histórica de la Empresa ...................................................................................10 2.3 Estructura Organizacional de la Empresa ...................................................................11 CAPÍTULO 3: MARCO TEÓRICO ................................................................................12 3.1 Los Parques Temáticos ..................................................................................................12 3.1.1 Historia De Los Parques Temáticos ......................................................................13 3.1.2 Parques Temáticos En Venezuela..........................................................................15 3.2 La Robótica.....................................................................................................................17 3.2.1 Historia De Los Robots...........................................................................................18 3.2.2 Clasificación De Los Robots ..................................................................................19 3.3 Sistemas Electromecánicos ...........................................................................................20 3.3.1 Sistemas Neumáticos ..............................................................................................21 3.3.1.1 Principio De Funcionamiento..........................................................................22 3.3.1.2 Compresor .........................................................................................................23 3.3.1.3 Secador...............................................................................................................24 3.3.1.4 Reguladores.......................................................................................................25 3.3.1.5 Válvulas..............................................................................................................26 3.3.1.6 Cilindros ............................................................................................................26 3.3.2 Motores DC..............................................................................................................27 3.3.2.1 Motor Lineal Con Solenoide............................................................................28 3.4 Sistemas Electrónicos ....................................................................................................28 3.4.1 Microcontroladores ..................................................................................................29 3.4.1.1 Procesador .........................................................................................................30 3.4.1.2 Memoria.............................................................................................................30 3.4.1.3 Microcontrolador 8085 Y PIC 16F627..............................................................32
ii CAPÍTULO 4: SISTEMA ACTUAL.................................................................................34 4.1 Estudio de los animatrónicos........................................................................................34 4.2 Estudio del DMA............................................................................................................36 4.2.1 Programa del PIC ....................................................................................................36 4.2.2 Software DMA..........................................................................................................41 4.2.3 Hardware DMA .......................................................................................................43 CAPÍTULO 5: DISEÑO E IMPLEMENTACIÓN DE ...............................47 5.1 Software ...........................................................................................................49 5.1.1 Gráficos .....................................................................................................................49 5.1.1.1 Duración del pulso............................................................................................51 5.1.1.2 Generación y Edición de pulsos.......................................................................52 5.1.2 Base de Datos...........................................................................................................56 5.1.2.1 Funciones con la Base de Datos ......................................................................56 5.1.3 Simulación ................................................................................................................58 5.1.4 Generación del Código............................................................................................60 5.1.5 Comunicación Serial................................................................................................63 5.2 Hardware ........................................................................................................66 5.2.1 Tarjeta 1. Circuito RS-232........................................................................................68 5.2.2 Tarjeta 2. Circuito del PIC ......................................................................................69 5.2.3 Tarjeta 3. Circuito Darlington ................................................................................70 5.2.4 Tarjeta 4. Circuito de leds.......................................................................................70 5.3 Pruebas y Documentación.............................................................................................71 CAPÍTULO 6: PRUEBAS Y RESULTADOS .................................................................73 6.1 Pruebas Realizadas.........................................................................................................73 6.1.1 Tiempo de Espera....................................................................................................73 6.1.2 Osciladores...............................................................................................................75 6.1.3 Pruebas finales.........................................................................................................77 6.2 Comparación entre el DMA y ........................................................................78 CAPÍTULO 7:
CONCLUSIONES Y RECOMENDACIONES...................................82
REFERENCIAS BIBLIOGRÁFICAS ......................................................................................86 ANEXOS...................................................................................................................................88
iii
ÍNDICE DE FIGURAS Figura 1.1. Animatrónico Aibo de Sony......................................................................................2 Figura 2.1. Organigrama de MPT..............................................................................................11 Figura 3.1. Ley de Boyle-Mariotte ............................................................................................22 Figura 3.2. Ley de Gay-Lussac ..................................................................................................22 Figura 3.3. Sistema Neumático usado en MPT .........................................................................23 Figura 3.4. Movimiento de los cilindros neumáticos ................................................................26 Figura 3.5. Motor lineal a base de solenoides. ..........................................................................28 Figura 4.1. Comando de escritura..............................................................................................37 Figura 4.2. Software DMA ........................................................................................................42 Figura 4.3. Tarjeta del PIC. .......................................................................................................44 Figura 4.4. Circuito Darlington. ................................................................................................45 Figura 5.1. Proceso de Grabación de la Memoria. ....................................................................48 Figura 5.2. Módulos del software. .............................................................................................49 Figura 5.3. Las líneas de tiempo de módulo de gráficos. ..........................................................50 Figura 5.4. Algoritmo del dibujo del pulso................................................................................53 Figura 5.5. Edición de un pulso. ................................................................................................55 Figura 5.6. Barra de Menú y Herramientas. ..............................................................................57 Figura 5.7. Vista en pantalla de la simulación. ..........................................................................58 Figura 5.8. Algoritmo de la Simulación. ...................................................................................59 Figura 5.9. Algoritmo de Generación de Código (a). ................................................................61 Figura 5.9. Algoritmo de Generación de Código (b). ................................................................62 Figura 5.10. Cuadro de Grabación en la Interfaz. ......................................................................66 Figura 5.11. Kit de programación. .............................................................................................67 Figura 5.12. Esquema del hardware. .........................................................................................68 Figura 5.13. Circuito RS-232.....................................................................................................68 Figura 5.14. Tarjeta RS-232. .....................................................................................................69 Figura 5.15. Circuito de leds......................................................................................................71 Figura 6.1. Ejemplos de rutinas diseñadas.................................................................................74 Figura 6.2. Esquema de los retrasos de transmisión. .................................................................75 Figura 6.3. Función del oscilador. .............................................................................................77 Figura 6.4. Movimiento de los brazos de Merlín.......................................................................78
ÍNDICE DE TABLAS Tabla A. Comparación entre microcontroladores 8085 de Intel y PIC 16F627 de Microchip ..32 Tabla B. Funciones de ...............................................................................................57 Tabla C. Generación del código ................................................................................................63 Tabla D. Códigos del protocolo de comunicación.....................................................................64 Tabla E. Comparación entre el DMA y .....................................................................79
iv LISTA DE SÍMBOLOS Y ABREVIATURAS
ACTI: Asociación Civil Tierra Increíble. Asociación ligada a la empresa MPT. Animatrónicos: Robots con forma de humanos o animales. API: lenguaje C dirigido a Windows. Assembler: Lenguaje de bajo nivel para la programación de microcontroladores. Baudios: Unidad de medida del ancho de banda. BD: Base de Datos. Bit: Unidad lógica. BJT: Bipolar Junction Transistor. bps: Bits por segundo. Byte: Unidad lógica (8bits). CD: Compact Disk. Chip: Circuito integrado. CISC: Computadores de Juego de Instrucciones Complejo. Click: pulsar el botón del mouse. CLK: Señal de reloj. CTS: Señal de autorización de envío. Darlington: Configuración de transistores que permite obtener una mayor corriente. DB-9: Conector de 9 pines para comunicación serial. DC: Corriente Directa, corriente constante. DDI: DDI Solution. Empresa contratada por MPT para realizar un software de programación de animatrónicos. Delay: retardo. DMA: Dispositivo de Memoria para Animatrónicos desarrollado por DDI Solutions. EEPROM: Electrical Erasable Programmable Read Only Memory. Émbolo: Disco móvil dentro del cuerpo de una bomba. En frío: Programación no en tiempo real. EPROM: Erasable Programmable Read Only Memroy. Memoria reprogramable. Flash: Memoria EEPROM de gran velocidad. Flip Flop: Circuito biestable. FM24C64: Memoria flash desarrollada por la casa Ramtron. GND: Tierra digital. Hardware: Parte física del programador. Hexadecimal: tipo de codificación de datos. Humanoide: Que tiene forma humana. Hz: Unidad de frecuencia. Jack: tipo de conector hembra. Kb: Kbytes = 1.024 bytes. Kit: Conjunto de accesorios. LAPTOP: Computadora personal portátil. Latch: Seguidor. Mantiene su estado de salida hasta que llegue otra entrada. LDC: señal de Latido del Corazón. Led: Light Emisor Diode. Mb: Mbytes = 1.024.000.000 bytes. MPT: Empresa Millenium Park Technology.
v npn: Estructura electrón-hueco-electrón en los transistores. OTP: One Time Programmable. : Grabador de PICS desarrollado en este proyecto. PC: Personal Computer. Computadora. PIC: Tipo de microcontrolador. PIN: Terminal de un circuito integrado. pnp: Estructura hueco-electrón- hueco en los transistores. PROM: Programmable Read Only Memory. Memoria programable. RAM: Random Access Memory. Memoria temporal. Recordset: variable de almacenamiento de un registro en una BD. RISC: Computadores de Juego de Instrucciones Reducido. ROM: Read Only Memory. Memoria permanente de solo lectura. RS-232: Interfaz de comunicación serial entre el PC y un chip. SISC: Computadores de Juego de Instrucciones Específico. Software: Programa del computador. SQL: Structured Query Language. Lenguaje de programación para manejar BD. Timer: Módulo del PIC que genera una interrupción cada cierto período de tiempo específico. Torque: Fuerza rotacional. Trimmers: potenciómetros de presición. TTL: nivel lógico de alimentación. Twips: unidad interna de medición de VB. Vástago: Varilla. VB: Visual Basic. Vcc: Voltaje de Corriente Continua, voltaje de alimentación. 16FC627: Microcontrolador desarrollado por la casa Microchip. 3D: En tres dimensiones. 8085: Microcontrolador desarrollado por la casa Intel. °C: Grados Centígrados. ß: Ganancia de corriente de emisor común en transistores.
CAPÍTULO 1:
INTRODUCCIÓN
A medida que avanza el desarrollo tecnológico se van descubriendo más y nuevas aplicaciones en distintos campos de la vida: medicina, industria, seguridad, informática, etc. Una de éstas es sin duda el entretenimiento, numerosas empresas alrededor del mundo han utilizado los avances tecnológicos como medio para brindar al público una ventana hacia la fantasía y diversión. Sin embargo es el mismo público el crítico más fuerte y quien al final determina que la atracción sea o no todo un éxito. Si gusta la atracción o exhibición le dirán a sus amigos y conocidos y recomendarán el lugar, si no harán todo lo contrario ocasionando que la gente no asista. Es por esto que en el mundo del entretenimiento es tan importante la calidad de las presentaciones y espectáculos, ya sean en vivo o en cine y televisión.
Si alguna vez ha asistido o al menos oído sobre los Parques Temáticos de Disney seguramente entiende a lo que se hace referencia. La entrada al jardín de la película Querida Encogí a los niños, a la isla del Parque Jurásico, una carrera en el tronco- móvil de los Picapiedra y tantas otras atracciones donde la fantasía se hace realidad, no serían posibles sin la ayuda de los avances tecnológicos.
En las últimas décadas se ha desarrollado y popularizado enormemente una de las herramientas que más asombra y fascina al mundo: la Robótica. Desde el año 1920, en que se utilizó por primera vez la palabra Robot para designar a una máquina que realizaba una tarea que podía desempeñar un ser humano, se han fabricado infinidades de robots para las fábricas e industrias. Pero no es sino hasta finales de la década de los ’70 que se comienzan a usar los robots en el cine y más tarde, en el año de 1986, que se comienza la fabricación del primer robot con forma humana por parte de la empresa multinacional Honda. A partir de ese momento comienza la producción de gran cantidad de robots con forma de humanos o animales a lo cual se le da el nombre de Animatrónica.
Actualmente existen miles de organizaciones, empresas e instituciones que utilizan la animatrónica para llevar entretenimiento y diversión a los hogares, ya sea por películas,
2 espectáculos y presentaciones, juguetes y hasta mascotas, tal como es el caso del perrito Aibo de Sony, que se muestra en la figura 1.1.
Figura 1.1. Animatrónico Aibo de Sony Después del gran éxito que obtuvo la compañía Disney al fundar sus Parques Temáticos e incluir en sus atracciones animatrónicos, esta idea se ha divulgado por todo el planeta y ahora se pueden encontrar infinidades de exhibiciones y atracciones que los utilizan como parte de sus espectáculos, sobre todo en Estados Unidos, Japón y Europa. Incluso aquí en Latinoamérica se pueden encontrar en Centros Comerciales y algunas vitrinas de tiendas llamando la atención del público.
Desde el año 1995 en Venezuela contamos también con este tipo de entretenimiento gracias a la empresa Millenium Park Technology y la Asociación Civil Tierra Increíble, quienes se han dado la tarea de montar espectáculos, exhibiciones y Parques Temáticos donde su principal recurso son los animatrónicos fabricados totalmente en Venezuela.
Estos animatrónicos tienen su “cerebro” en microcontroladores que le ordenan la secuencia de movimientos que deben realizar durante el espectáculo, cuentan con todo un conjunto de piezas hidráulicas, neumáticas, circuitos electrónicos y pieles sintéticas que le dan forma y vistosidad de personajes de la naturaleza y fantasía, adentrándonos en un mundo de magia e imaginación.
3 A lo largo de este informe encontrará todo el proceso de desarrollo e implementación de un software desarrollado para la empresa y que es el motivo del proyecto realizado. En el presente Capítulo se da a conocer el problema a resolver, la justificación del proyecto y los objetivos perseguidos. En el Capítulo 2 se describe a la empresa en la que se realizó la pasantía. En el Capítulo 3 encontrará el Marco Teórico que contiene todos los aspectos teóricos necesarios para el desarrollo del proyecto . Tanto el diseño como su implementación, así como los resultados obtenidos se presentan en los Capítulos 4, 5 y 6 y por último las Conclusiones y Recomendaciones en el Capítulo 7.
1.1 Planteamiento del problema La empresa Millenium Park Technology (MPT) desarrolla y fabrica el material y productos necesarios para diversas atracciones y espectáculos, entre los cuales se encuentran los animatrónicos que son robots con forma de animales o persona s. Generalmente estos animatrónicos llevan una rutina predefinida de movimientos en secuencia que muchas veces va acorde con una grabación de audio, luces, etc. Dichas rutinas no duran más de minuto y medio y siempre son repetitivas. Sin embargo la presentación de estos espectáculos cambian frecuentemente con lo cual deben renovar las rutinas de los animatrónicos de la atracción para adaptarlas esa nueva presentación.
Desde el momento de su creación MPT ha utilizado el microprocesador 8085 de Intel, el cual en los actuales momentos ha pasado a la caducidad siendo un gran problema encontrarlos en Venezuela para su sustitución cuando alguno se daña, sin contar con los contratiempos que causa el hecho de que la empresa no cuenta con un profesional que sepa programar en Assembler dicho microcontrolador, por lo que cada vez que se debe reprogramar uno de ellos deben contratar a un profesional que lo haga, lo que implica un alto costo en tiempo y dinero para la empresa.
A mediados del año 2004 la Directiva de MPT tomó la decisión de actualizar los microcontroladores de todos sus animatrónicos y contrató a la empresa DDI Solutions para este trabajo. DDI cambió todos los microcontroladores 8085 por PICS 16F627 y memorias
4 Flash FM24C64 como resultado de un trabajo de investigación en el cual buscaron la mejor alternativa para la empresa en cuanto a rendimiento y costos de las ofertas del mercado; también diseñó el circuito de la tarjeta donde irían el PIC con la memoria externa respetando la forma de interconexión con las otras tarjetas, partes del animatrónico, que ya se trabajaban con el microcontrolador, ya que las demás tarjetas seguían siendo vigentes y la empresa las poseía en gran cantidad. Debido a esto MPT procedió a la compra de 50 PICS y Memorias Flash y a la elaboración de 50 circuitos impresos para estos elementos.
Aunado a esto DDI programó un software para la programación de estas Memorias llamado Dispositivo de Memoria para Animatrónicos (DMA). El PIC tiene un programa base invariable que guarda en la memoria externa las ordenes de movimientos que recibe del DMA vía serial y en el momento de la ejecución los lee de ella y los reproduce. La particularidad de este software es que la programación de la memoria se hace a través del PIC y en tiempo real, es decir, que el circuito que contiene al PIC y a la memoria debía estar conectado al animatrónico y a su vez al computador para poder realizar la programación. Los movimientos para cada puerto de salida del PIC se graban uno a la vez, primero se hace la grabación de un puerto y luego al terminar se comienza de nuevo pero grabando otra salida. De esta forma resulta realmente difícil programar movimientos bien coordinados, con exactitud en los intervalos y que duren en total el tiempo requerido. Por ejemplo, un movimiento de los brazos de un animatrónico que debe aplaudir, cuando cada brazo tiene una salida independiente de la otra, se debe prácticamente adivinar el momento en que se programó que un brazo cerrara para cerrar el otro y lograr el aplauso.
El tiempo de grabación de las rutinas oscilaba entre 30 minutos y una hora debido a la complejidad con la que se hacía la grabación y dado que el trabajo debía ser realizado en tiempo real, para modificar una rutina de movimientos se debía contar con un computador portátil que tuviera puerto serial y el software instalado y luego cerrar la atracción para poder conectar el computador con el animatrónico y proceder a la modificación. El cerrar una atracción durante el tiempo que durara la grabación no es en ningún momento rentable para la empresa y mucho menos en temporadas de alta concurrencia del público. Otra opción que existía para realizar estas modificaciones era acudir al lugar donde se encontraba el
5 animatrónico antes de que abriera la atracción o después de que cerrara, en ambos casos significaba un pago de horas extras por parte de la empresa y no resultaba práctico ya se está obligado a trasladar al personal encargado desde el taller hasta el lugar de la atracción.
En pocos meses se notaron los resultados, definitivamente era un gran progreso con respecto a la forma de programar los animatrónicos con el microprocesador 8085 pero seguía siendo una solución poco eficiente y satisfactoria a estas necesidades. Por esta razón MPT requirió un software que pudiera realizar la misma función que el DMA pero sin trabajar a tiempo real, con el cual se pudieran programar todos los movimientos de todos los puertos sobre una línea de tiempo (en frío), pudiendo así también hacer intervalos de tiempo exactos según lo que se necesite y lo más importante es que pudiese ser manipulado con gran facilidad por cualquier persona, sin que necesite saber de programación de PICS ni de grabación de memorias Flash.
1.2 Justificación El hecho de que un software de computadora para grabar las memorias Flash pudiese ser manipulado por una persona que no sepa nada sobre ningún lenguaje de programación constituye de por sí un gran ahorro de la empresa al no tener que contratar a un profesional en la materia cada vez que se requiera hacer una modificación a la rutina de movimientos de uno de los animatrónicos.
Además de la ventaja de poder realizar movimientos de intervalos exactos de tiempo y bien coordinados entre sí, con lo que se da una mejor apariencia al animatrónico y se eleva la calidad de las atracciones y espectáculos; está el hecho de que no se requiere el traslado del personal ni de una computadora con cables de conexión al lugar donde se encuentra el animatrónico por ser una grabación en frío, y no se tiene la necesidad de cerrar la atracción para hacer el cambio; lo que se traduce en otros ahorros de costos por parte de la empresa.
Por otra parte, tanto los PICS como las memorias y los circuitos impresos para ellos ya se habían mandado a hacer en gran cantidad por lo que era preciso utilizarlos como parte del proyecto para no perder la inversión realizada. De esta forma lo que se buscaba era hacer una
6 nueva versión mejorada del DMA que cumpliera cabalmente con estos requerimientos para que realmente pudiera satisfacer las necesidades de la empresa, sin que esto representara un nuevo y elevado costo de producción.
1.3 Requerimientos del Software Como resultado del estudio de la situación de la empresa con respecto a la programación de los animatrónicos, se tienen los siguientes aspectos que deben ser considerados a la hora de la realización del software que es el principal objetivo del proyecto: -
Que sea un programa amigable al usuario, es decir que sea fácil de usar y que no requiera una gran preparación para aprenderlo a utilizar.
-
Que sirva de interfaz entre el computador y el PIC de forma que cualquier persona sin conocimientos del lenguaje Assembler para PIC S pueda programar un animatrónico completo.
-
Que permita la programación de movimientos de intervalos de tiempo exactos y de varios movimientos, por salidas diferentes, bien sincronizados.
-
Que no requiera el traslado del personal de la empresa ni de una computadora con los cables de conexión al lugar donde se encuentra el animatrónico, y mucho menos el cierre de la atracción.
-
Que no represente un nuevo gasto para la empresa, más bien que se puedan utilizar los materiales y recursos en los cuales ya se ha invertido.
-
Que sea rápido, un tiempo entre 20 minutos y 1 hora es demasiado para una empresa de este estilo que debe instalar nuevas atracciones en el menor tiempo posible y modificarlas en el lugar donde están, ya que cada día que la atracción tenga sus puertas cerradas significa una pérdida en gran medida.
1.4 Objetivos 1.4.1 Objetivo General Tomando en cuenta todas estas características se planteó el siguiente objetivo general:
7 Desarrollar un software que sirva de interfaz entre el usuario del computador y el PIC 16F627 con el cual se pueda grabar la Memoria Flash FM24C64 para la programación de rutinas de movimiento para cualquier animatrónico de la empresa.
1.4.2 Objetivos Específicos -
Estudiar la forma de trabajo de la empresa para entender cabalmente cuales son sus necesidades y limitaciones en cuanto a tiempo y recursos que se deben tomar en cuenta en el desarrollo del proyecto.
-
Conocer el funcionamiento de los animatrónicos, su composición tanto electrónica como mecánica que permiten el movimiento de sus partes.
-
Conocer las características del PIC 16F627 y la Memoria Flash FM24C64 que posee la empresa y para los cuale s están hechos los circuitos de los animatrónicos.
-
Conocer el funcionamiento del programa DMA desarrollado por la empresa DDI Solutions con el cual hasta el momento se programaban los animatrónicos.
-
Desarrollar la interfaz de forma gráfica de manera que el usuario únicamente deba dibujar en pantalla los pulsos de salida, encargándose el software de toda la comunicación con el PIC y la grabación de la memoria.
-
Escoger un lenguaje de programación para el software que permita realizar la interfaz gráfica de forma sencilla y rápida, así como la transmisión de datos entre la computadora y el PIC.
-
Fabricar un grabador en el que únicamente se coloque la memoria a grabar con el software y luego pueda ser retirada y llevada al circuito del animatrónico, de forma que la grabación de la memoria se haga en el taller y la sustitución de la memoria en el animatrónico en la atracción solo lleve pocos segundos.
-
Redactar un manual del usuario para que cualquier persona pueda aprender rápida y fácilmente como utilizar el software y el procedimiento para la grabación de las memorias.
CAPÍTULO 2:
DESCRIPCIÓN DE LA EMPRESA
Millenium Park Technology es una empresa dedicada al diseño, fabricación y producción del material requerido tanto por la Asociación Civil Tierra Increíble (ACTI) para sus atracciones, como por otras instituciones, empresas y/o museos.
Normalmente ACTI trabaja asociada con la empresa MPT en la producción de las exhibiciones y parques temáticos de carácter educativo y de entretenimiento, encargándose MPT de toda la producción material requerido, es decir de la fabricación de los productos.
ACTI “Es una organización que nació en 1995 con el objeto de ofrecer un nuevo concepto, con una visión futurista, entretenida y a la vez educativa, de los parques de atracciones y entretenimiento.
Para lograrlo, sus fundadores, Víctor Chang y Beatriz Silva, junto con todo su equipo, han recurrido a la tecnología más avanzada en el área de robótica, electrónica e informática para poder transmitir a niños, jóvenes y adultos lo s conocimientos y avances tecnológicos del nuevo siglo, de una manera amena y divertida, así como divulgar la importancia que tiene para nuestro planeta mantener el equilibrio ecológico.” [Anexo A].
Los productos fabricados por MPT se clasifican en dos tipos: animatrónicos y simuladores. Los animatrónicos son robots destinados a atracciones, exhibiciones y espectáculos, los cuales tienen forma de personas o animales y su esqueleto mecánico junto con sus circuitos electrónicos son cubiertos con un trabajo artístico que les dan su forma y personificación.
Su acabado artístico es a base de resinas, goma espuma, silicón y pinturas, de manera que permitan el movimiento del sistema mecánico y soporten los cambios climáticos de la intemperie. El sistema mecánico se compone de una estructura metálica que conforma su esqueleto con ciertas partes móviles que se mueven gracias a motores DC además de cilindros neumáticos. La parte electrónica consta de un PIC que tiene programada la rutina de
9 movimientos y el control de las luces de la escena, sonido, etc; y el circuito interfase entre el PIC y el sistema mecánico.
Los simuladores constan de una plataforma de movimiento de tres grados de libertad, de capacidad de 20 personas en promedio y cuyos movimientos van coordinados según la película proyectada. Tanto la película como el sonido, efectos especiales (aire, agua, etc.) y los movimientos de la plataforma están controlados por un software especial desarrollado por la empresa. Los movimientos se logran neumáticamente, con un cilindro de aire para cada grado de libertad y consta de una interfaz electrónica entre la computadora y las válvulas de aire. No cuentan con un sistema de control, por lo que trabajan a lazo abierto. Para un futuro próximo la empresa tiene como proyecto diseñar e instalar un sistema de control para las plataformas a lazo cerrado y aumentar los grados de libertad a seis.
Vale destacar que MPT es la primera y única empresa en Latinoamérica que se encarga de producir este tipo de productos con tecnología totalmente hecha en Venezuela y con calidad de exportación. De igual forma ACTI es la primera organización que realiza esta clase de exhibiciones y atracciones en el país dándole el carácter de pionera en este mercado.
2.1 Misión y Visión Educar y entretener al público, usando tecnología avanzada en las áreas de robótica, diseño, informática, instrumentación, materiales sintéticos, ingeniería, neumática y mecánica aplicadas. Despertar el interés de los jóvenes en el estudio y aplicación de las técnicas mencionadas y atraer su atención a la necesidad de preservar el equilibrio ecológico del planeta.
La visión, convertirse en un centro de investigación y desarrollo aplicado así como de producción en áreas de robótica y educación.
10
2.2 Reseña Histórica de la Empresa La Asociación Civil Tierra Increíble (ACTI) tiene sus inicios en el mes de Abril de 1995 en una exhibición llevada a cabo en el Museo de Ciencias de Caracas, la cual contaba con doce diferentes modelos de Dinosaurios y varios puntos educativos.
Debido a su éxito con esta exhibición, ACTI comienza un período de fabricación y producción de más y nuevos proyectos de atracciones de modelos animatrónicos y simuladores 3D, instalando parques en diferentes estados del país y vendiendo sus productos a diversas instituciones, como el Museo de Ciencia y Tecnología de Mérida al que le vendieron tres modelos de dinosaurios.
Es durante este período que se crea la empresa MPT, que trabaja en paralelo con ACTI abarcando todo lo relacionado con la producción, franquicias, parques temáticos y atracciones educativas.
En 1998 la empresa vende sus productos al Museo de los Niños para la realización de una sala robótica y tres modelos de insectos al Parque Zoológico el Pinar. En el año 2001 la empresa monta su taller de producción y sus oficinas en el Km. 21 de la Carretera Panamericana, galpón B (al lado de la Cristalería Fran-Jos para ese entonces), Sector Corralito, Carrizal, Edo. Miranda; donde sigue actualmente.
A principios del año 2004 es instalado un simulador 3D en el Centro Comercial el Toló n de Caracas y a mediados de ese mismo año instalan también la exhibición de Insectos en una atracción llamada Qué Bichos!. Más tarde en noviembre, se sustituye la atracción de los insectos por una atracción navideña llamada El Pueblito Secreto de Santa, la cual duró hasta mediados de enero de 2005, momento en el cual se culmina el contrato con el Centro Comercial quedando únicamente funcionando en este lugar el simulador 3D.
11 Actualmente se están trasladando al taller de producción los Dinosaurios que se encontraban en el Parque Dunas de Valencia para prepararlos y reacondicionarlos para una próxima exhibición en el Estado Mérida.
2.3 Estructura Organizacional de la Empresa La empresa MPT está constituida por 3 áreas: Administración, Producción y Mercadeo. En el área de Producción existen 3 departamentos que trabajan en conjunto para lograr la fabricación y venta exitosa de sus productos. Éstos son: Mecánica, Electrónica y Arte. Cada departamento tiene su área de trabajo en el taller y cuenta con depósitos y almacenes para guardar sus materiales y equipos de trabajo.
La empresa tiene actualmente 12 empleados. El área de Administración es la que coordina y dirige directamente al personal de limpieza y seguridad, por tanto si contamos el personal de cada sección, en este departamento hay 4 personas. En mercadeo se encuentra una sola persona mientras que por cada departamento del área de Producción se encuentran dos personas trabajando; con lo cual se puede ver que MPT es una empresa pequeña. En la figura 2.1 se puede observar el organigrama que define la estructura organizacional que rige en MPT.
Figura 2.1. Organigrama de MPT
CAPÍTULO 3:
MARCO TEÓRICO
3.1 Los Parques Temáticos “Los parques de diversiones y los parques temáticos han sido por siglos la diversión favorita de miles de familias, y es que muy pocos lugares nos pueden ofrecer tanta emoción y alegría para chicos y grandes. Un parque de diversiones nos puede llevar a mundos lejanos, desde los castillos medievales hasta un mundo futurista, desde el viejo oeste hasta la lejana China, y todo en el mismo lugar. Nos puede ofrecer paseos excitantes o espectáculos tranquilos, comida, dulces y todo lo que puedas desear para disfrutar de un día que te aleje de la rutina y en el que solo piensas en divertirte.” [1]
Definitivamente los parques de diversiones siempre serán una excelente opción para lograr olvidarse por un rato de la realidad y entrar a un mundo ideal de aventura y magia donde no existe el dolor ni el sufrimiento. Pero, ¿Qué es lo que diferencia a un parque temático de un parque de diversiones?
La principal característica de los parques temáticos es que poseen un proyecto educativo. Al tratarse de un tema en específico, decorando todo el lugar sobre él e incluso vistiendo a los guías o trabajadores del parque de forma que representen dicho tema, no solamente llevan recreación al público, sino que les permiten aprender sobre un tema que les cause curiosidad de una forma tan amena que no se percaten de ello. [2]
Por supuesto, el tratarse de una temática específica obliga a sus creadores a ser extremadamente cuidadosos con la decoración y ambientación del lugar, cada detalle de las escenas cuentan, cada vestimenta, cada narración, cada efecto audiovisual proyectado. Esto llama la atención del público y permite que la gente se adentre mejor y más rápido en la historia ocasionando al final más emoción y satisfacción en las personas.
13
3.1.1 Historia De Los Parques Temáticos Los orígenes de los parques temáticos se remontan a los años 1500, en la época de la Europa Medieval. Para estas fechas más que parques, lo que se hacían eran jardines del pueblo o ferias, un lugar al aire libre donde se hacían juegos, paseos, concursos, vendimias, etc. acompañados de música, bailes y fuegos artificiales. Para el año de 1583 se inauguró el que sería el primer parque de diversiones en todo el mundo, el parque Bakken, ubicado al norte de Copenhage, capital de Dinamarca, con atracciones propias de la época. [1]
Según un Artíc ulo publicado en la revista ARBOR, del Consejo superior de investigaciones científicas (España), vol CLX, pp. 109-131, (1998), la creación de los parques de diversiones se originan por la necesidad del hombre de crear un lugar en la tierra que fuera lo más parecido posible al paraíso descrito en la Biblia. Un jardín lleno de plantas, frutas, flores, abundante agua y extensa fauna. Durante muchas épocas a lo largo de Europa la concepción de ese “paraíso” fue cambiando. De pacíficos jardines extensos y silenc iosos se comenzaron a realizar ferias o jardines del pueblo, tal como se describieron anteriormente; hasta principios del siglo XVII cuando André le Nôtre (el arquitecto-jardinero del Rey Luís XIV de Francia, responsable de los jardines de Versalles y de Vaux- le-Vicomte) comenzó a adornar y completar sus jardines con estatuas de animales, fuentes, grutas, juegos, máquinas novedosas, arbustos podados con formas variadas, etc. De esta forma el paraíso ya se encontraba en la tierra, pero únicamente accesible para los miembros de la realeza, y así se mantuvo hasta que en 1583 se abre el Parque Bakken. El jardín que simulaba el paraíso se había convertido en un parque de diversiones. [3]
En los años 1800 llegaron estas ideas a Estados Unidos de América, pero no fue sino hasta después de la Guerra Civil que se comenzó a desarrollar con fuerza esta moda. Con la aparición de la electricidad se construyeron gran cantidad de líneas de tranvías eléctricos. Los dueños de estas líneas se percataron que durante los fines de semana su clientela descendía considerablemente, ya que la gente no debía trasladarse hasta sus lugares de trabajo. Por esto debían encontrar alguna forma de atraer a esa clientela para no bajar sus ganancias, así que decidieron construir parques de diversiones al final de las vías. Esta idea tuvo tanto éxito que
14 pronto habrían parques de diversiones por todo el país y la tecnología y atracciones que ofrecían evolucionaron con gran rapidez. [2], [3]
En 1893 en Chicago se realizó una exposición mundial donde por primera vez se vieron los juegos de la Rueda de la Fortuna y las Montañas Rusas de madera, que inmediatamente fueron utilizadas por Paul Boyton, quien en 1894 creó en Chicago el primer parque de diversiones de la era moderna llamado Paul Boyton's Water Chutes. Después de esta apertura miles de parques se abrieron por todo Estados Unidos y Europa. [2], [3]
Sin embargo, luego de terminar la Segunda Guerra Mundial, Estados Unidos y Europa quedaron sumidos en una profunda depresión y la economía estaba devastada. Los parques de diversiones estaban en una situación crítica y la mayoría tuvo que cerrar sus puertas. Pero luego afloró una atracción que cambiaría la historia. Surgió por el inesperado éxito que obtuvo una mermelada de bayas (combinación de moras, frambuesas y frambuesas americanas) que fabricaba un granjero llamado Walter Knott. Él vendía su mermelada en un pequeño puesto de venta dentro de su misma granja. Pronto la cantidad de gente que asistía a comprarla y a encontrarse con los otros compradores hizo necesario que Knott abriera varios restaurantes para poder atenderlos y los decoró todos al estilo del antiguo Oeste americano. Su idea siguió evolucionando hasta que creó ciudades enteras inspiradas en este tema, trenes históricos y hasta representaciones de la vida de esa época. El lugar llegó a tener 60 hectáreas dedicadas a este tema con gran cantidad de atracciones didácticas para niños y adultos, restaurantes, espectáculos y demás. Este parque llamado Knott's Berry Farm ubicado en Orange Country, California, es sin duda alguna el primer parque temático que existió. Parecía que los parques de diversiones volverían a revivir. [2],[3]
Pero con la aparición de la televisión como una nueva forma de entretenimiento, los carros y el crecimiento de las nuevas ciudades, la industria de los parques volvió a decaer. Hasta 1955, cuando Walt Disney abrió un parque llamado Disneyland en el que su ideología era ofrecer entretenimiento sano para toda la familia. Aún así la mayoría de la gente de la industria del entretenimiento no creían que su idea pudiera surgir, puesto que no ofrecía los típicos y tradicionales juegos que siempre habían sido la atracción principal de los parques de
15 diversiones.
Pero Disney había explotado al máximo la nueva idea que sin saberlo ni
proponérselo, había dado Walter Knott: el parque temático. Dividió su parque en varias secciones, cada una ambientada a una temática distinta y dentro de ella todas las atracciones, el decorado, la vestimenta utilizada y los espectáculos estaban enmarcados en el tema de esa sección y en todas incorporando las nuevas tecnologías del cine y televisión. [2], [3]
No hay que decir que este parque fue un rotundo éxito. A partir de allí se definió por completo el concepto de los parques temáticos y comenzaron las construcciones de ellos por todo Estados Unidos y Europa. Six Flags, Universal Studios, EPCOT Center y Busch Garden son solo algunos de los ejemplos de este tipo de parques. Los parques de diversiones y los parques temáticos han seguido evolucionando desde entonces hasta llegar al estado en que los conocemos actualmente.
3.1.2 Parques Temáticos En Venezuela En Venezuela han existido durante años los parques de diversiones y ferias, por ese lado no hemos perdido la oportunidad de obtener este tipo de entretenimiento. Pero la idea de los parques temáticos es relativamente nueva, y es que no es sino hasta 1984 que se crea el primer parque temático de Venezuela.
Bajo la inspiración de los años 30, Alexis Montilla, quien llevaba ya abierto dos restaurantes ambientados en esta época y que fueron la atracción principal del páramo del Estado Mérida para el público, construye todo un pueblo típico de los Andes venezolanos, Los Aleros, donde los visitantes se transportan en un autobús propio de aquellos años al pasado y viven toda una serie de experiencias divertidas mientras aprende sobre el estilo de vida de nuestros antecesores. [4], [5], [6]
El gran éxito que causó le abrió las puertas para que más tarde, en el año 1991 fundara su segundo parque temático: Alexis y la Venezuela de Antier. En éste, los visitantes hacen un recorrido por todos los estados del país, viendo sus costumbres, sus actividades económicas,
16 su gastronomía y sus características más resaltantes en los tiempos de la dictadura de Juan Vicente Gómez. [4], [5]
Junto con el teleférico de Mérida, el más largo del mundo, estos parques se convirtieron en la atracción turística más importante del estado. Millones de visitantes acuden todos los años para sumergirse en un viaje en el tiempo donde los adultos pueden recordar nostálgicamente y los más jóvenes pueden aprender de una forma divertida lo que les enseñan en Historia en sus colegios. [5]
En el año 1995 surge otra empresa que se dedicaría también a las atracciones y parques temáticos. Tierra Increíble, que inaugura su primer parque en el Museo de Ciencias de Caracas con Dinosaurios, en el que el público entraba en una especie de tren a la era Jurásica. [7]
En el año 2000 Alexis crea su tercer parque temático. La Montaña de los Sueños es su nombre y se basa en la película que él mismo produjo: Una vida y dos mandados. Una biografía suya filmada en los mismos escenarios de sus parques temáticos. En la montaña de los sueños el público se introduce en el mundo del cine, la televisión y la radio de los años comprendidos entre la década de los ’40 y los ‘80. [4]
El Reino de Musipan, otro nuevo parque temático ubicado en la Isla de Margarita y bajo el diseño y dirección de Bejamín Rausseo, “El Conde del Guácharo”, un comediante venezolano que lleva 20 años de trayectoria en su carrera y decidió crear un reino donde viven los personajes que siempre utiliza en sus shows. Este pueblo pintoresco donde resalta las costumbres y tradiciones del oriente del país abrió sus puertas en Abril del año 2004. [8], [9]
El Parque Tierra Increíble después de su apertura de Dinosaurios, instala nuevas y variadas atracciones como Insectoaventura y más recientemente El Pueblito Secreto de Santa durante Navidad del 2004. [7]
17 Definitivamente en Venezuela la industria de los parques temáticos ha tomando auge lo cual repercute muy positivamente en el turismo y economía del país, además de representar una forma entretenida de aprender para grandes y chicos.
3.2 La Robótica El nombre de Robótica se origina de la palabra checa “Robota” que significa trabajador forzado o servidumbre en español, junto al sufijo griego “ika” que quiere decir relacionado con.
La palabra Robota fue utilizada por primera vez en el año 1920 en la obra de teatro RUR (Robots Universales de Rossum) del novelista checo Karel Capek, en la que un científico inventó un humanoide mecánico para que realizara su trabajo. [10]
Al colocarle el sufijo griego ika obtenemos que es todo lo relacionado con los robots. Por tanto, la robótica estudia todo lo relacionado a los robots: mecánica, electrónica, programación, mecanismos de control, etc.
A pesar de esto, el concepto de Robot no se encuentra unificado todavía, existen muchos debates sobre qué máquinas son robots y cuales no debido a que las definiciones de robots varían desde lo más ambiguo y simple hasta lo más complejo y explícito. Por ejemplo, una de las definiciones más aceptadas y generales que existe es que son dispositivos mecánicos capaces de realizar tareas que podrían desempeñar seres humanos. Si aplicamos estrictamente este concepto, herramientas eléctricas como los microondas, los taladros y las impresoras serían robots. Aún cuando nadie los reconoce como tales. [11]
De acuerdo con el Instituto de Robots de América (1979), un robot es "Un manipulador reprogramable, multifuncional, diseñado para mover materiales, partes, herramientas o dispositivos especializados, a través de varios movimientos programados para la realización de una variedad de tareas". [12]
18 Según la ISO (Standard 8373:1994, Manipulating Industrial Robots – Vocabulary) un robot industrial es un “manipulador multifuncional reprogramable con varios grados de libertad, capaz de manipular materias, piezas, herramientas o dispositivos especiales según trayectorias variables programadas para realizar tareas diversas.” [13]
Así mismo hay quienes consideran a las herramientas más sofisticadas como sillas de ruedas y brazos mecánicos para minusválidos como robots, así como las nuevas herramientas médicas utilizadas en operaciones y tratamientos.
3.2.1 Historia De Los Robots La idea de una “máquina viva” data desde los tiempos antiguos, incluso más allá de la era mitológica, cuando dioses y magos daban vida a estatuas y objetos ordenándoles que realizaran una tarea específica. Tal es el caso del Dios Vulcano, Rey del infierno, quien según la mitología creaba máquinas vivientes capaces de soportar el calor del inframundo para que fueran sus sirvientes. [10]
Alrededor del año de 1495 Leonardo Da Vinci diseña un caballero mecánico que sería capaz de levantarse, mover sus brazos y mover su cabeza y quijada. El diario de Da Vinci encontrado posteriormente en 1950 muestra dibujos de este diseño que sería el primer robot humanoide creado en la historia. [10]
Sin embargo el primer robot construido en la historia fue en 1738 por el ingeniero francés Jacques de Vaucanson, quien construyó un humanoide tamaño real que tocaba la flauta y un pato mecánico con 400 piezas móviles y que podía aletear, comer y hasta defecar. [10]
Más tarde en 1920 es que surge la palabra Robot tal como lo mencionamos anteriormente y posteriormente en 1942 el escritor Isaac Asimov utiliza en sus obras por primera vez la palabra Robot de forma escrita e introduce la palabra Robótica. Sus obras siempre se refieren a un mundo futuro lleno de robots y los cuales responden siempre a tres leyes, que luego se volvieron cuatro, para poder convivir con los humanos: [11]
19 ley 0 (añadida posteriormente): Un robot no puede afectar a la humanidad, ni permitir por omisión que la humanidad resulte afectada. ley 1: Un robot no puede herir a un ser humano, ni permitir por omisión que un ser humano resulte herido. ley 2: Un robot debe obedecer las ordenes dadas por los seres humanos, siempre y cuando esas ordenes no contradigan una ley superior. ley 3: Un robot debe proteger su propia existencia, siempre y cuando esa orden no contradiga una ley superior.
En 1954 el señor George Devol diseña el primer robot programable comercial y posteriormente funda la compañía Unimation, que sería la primera industria dedicada a la robótica en el mundo. [10], [11]
Desde entonces infinidades de robots han sido creados. Los hallazgos más sorprendentes y recientes han sido en 1997, cuando Honda presenta a P3, un robot humanoide con la capacidad de caminar. En 1999 que Sony lanza a Aibo, su perro robot y luego en el 2003 cuando presenta a Qrio, un humanoide totalmente autónomo capaz de correr. [11]
3.2.2 Clasificación De Los Robots No todos los robots son iguales, los robots desde su invención se han utilizado para muy variadas y diversas funciones, la clasificación de ellos depende tanto de su función, propósito, forma de desplazamiento, grados de libertad, sistema de control que utiliza, etc. [14]. Haciendo una clasificación muy genérica y amplia se pueden distinguir claramente los siguientes tipos:
-
Androides o Humanoides: tienen la estructura del cuerpo de un ser humano e imita los movimientos y comportamientos de éstos.
-
Móviles: generalmente tienen forma de carros o tanques y pueden estar provistos de ruedas, patas u orugas que les permiten desplazarse. Generalmente se usan para
20 transportar carga o mercancía y para acceder a lugares muy distantes, peligrosos o difíciles, como en las exploraciones espaciales, desactivar bombas y realizar rescates. -
Industriales: Se utilizan para tareas específicas de fabricación y manipulación de materiales. No tienen una forma general definida y su función dentro de la industria puede variar notablemente. Este es el tipo de robot más desarrollado y comercializado hasta ahora.
Si se clasificaran los robots según la forma de desplazamiento, éstos pueden ser aéreos, cuadrúpedos, hexápodos, submarinos, rodantes, serpentinos o de oruga. Según su propósito pueden distinguirse los tipos: militares, industriales y personales/educativos. Igualmente hay muchos otros factores que se pueden tomar en cuenta para hacer otro tipo de clasificación.
Los robots utilizados para el entretenimiento generalmente son del tipo humanoide (también imitan la forma de animales) y se ven comúnmente en películas, espectáculos y atracciones. Los dinosaurios de la película Parque Jurásico de Steven Spielberg o C-3PO de la Guerra de las Galaxias, son ejemplos claros de esto.
A este tipo de robots cuya única función aparente para la cual están programados es entretener al público, promocionar eventos e ilustrar procesos o temas específicos se les llama animatrónicos y son el objeto de desarrollo de la empresa MPT.
3.3 Sistemas Electromecánicos En MPT los animatrónicos utilizan dos tipos de sistemas de actuadores que les permiten la movilidad de sus articulaciones, uno de ellos son los sistemas neumáticos y los otros son por motores DC. Generalmente se utiliza la neumática para los animatrónicos de mayor tamaño, ya que su esqueleto de acero es más pesado y la neumática responde de forma excelente a este tipo de casos. Los motores DC se usan para los más pequeños donde la articulación no requiere de un gran esfuerzo para moverse y donde los cilindros que posee la empresa son tan grandes que no cabrían dentro de su estructura corporal.
21
3.3.1 Sistemas Neumáticos La neumática estudia los movimientos y procesos basados en el aire, se deriva de la palabra Pneuma que en griego significa viento, respiración. Esta rama de la mecánica utiliza el aire comprimido para generar la automatización de diversos sistemas en la industria desde hace siglos por sus múltiples ventajas: [15]
- Es abundante, el aire se encuentra en toda nuestra atmósfera en cantidades ilimitadas. - Es transportable, mediante simples tuberías se pue de llevar el aire a través de grandes distancias con gran facilidad. - A pesar de que el volumen del aire varía con la temperatura, trabaja de forma segura bajo temperaturas extremas. - Es limpio y no corre el riesgo de explotar bajo ninguna condición. - Su velocidad es bastante rápida lo que permite obtener resultados inmediatos, también se puede regular su velocidad mediante dispositivos especiales para esto. - Es económico dado que el aire se consigue de la atmósfera y el único costo que tendrá son los de las herramientas como mangueras, tuberías, válvulas, cilindros, etc.
Sin embargo también deben tomarse en cuenta los siguientes factores para su correcta utilización:
- Antes de comprimir el aire debe ser preparado para eliminar impurezas y humedad que puedan propiciar un desgaste prematuro de los componentes utilizados en el proceso por donde pase el aire, como las válvulas y reguladores. - Al comprimir el aire se dificulta la tarea de obtener velocidades uniformes y constantes. - El escape de aire produce un ruido bastante alto y molesto, para lo cual se deben colocar silenciadores que pueden llegar a ser bastante costosos. - Debido a que se deben usar varios dispositivos como el secador y el compresor que no son nada económicos, el trabajar con aire comprimido resulta ser una fuente de energía relativamente cara. Por otro lado los elementos como mangueras, válvulas, etc. son bastante
22 económicos como habíamos mencionado, además de su alto rendimiento y larga duración, lo cual compensa estos altos costos.
3.3.1.1 Principio De Funcionamiento El aire, por ser un gas, no tiene una forma predeterminada sino que toma la del recipiente que lo contiene. Dado que sus átomos están bastante separados (propiedad de los gases) permite ser comprimido y su tendencia normal es a expandirse o dilatarse.
La ley de Boyle-Mariotte (figura 3.1), una de las leyes que definen el comportamiento de los gases ideales, sostiene que la presión de un gas y el volumen que ocupa bajo una temperatura constante son inversamente proporcionales. Es decir que la presión del gas por el volumen ocupado es igual a una constante. [15], [16]
Figura 3.1. Ley de Boyle-Mariotte Por otro lado, la ley de Gay-Lussac (figura 3.2) afirma que bajo una presión constante, el volumen ocupado por un gas es directamente proporcional a la Temperatura a la que está sometido. Por tanto el volumen del gas entre su temperatura es igual a una constante.
Figura 3.2. Ley de Gay- Lussac
23 De esta forma al unir las dos leyes, se obtiene la ley general de los gases ideales como:
V1.P 1 V2.P 2 ----------- = ----------- = constante T1 T2 Los compresores de aire basan su funcionamiento en estas leyes y son quienes envían el aire comprimido a través de las mangueras y tuberías hacía los reguladores y válvulas que finalmente lograrán el movimiento del cilindro y por consiguiente la articulación del animatrónico. En la figura 3.3 se muestra todo el sistema neumático utilizado por MPT.
Figura 3.3. Sistema Neumático usado en MPT
3.3.1.2 Compresor El Compresor es el encargado de convertir la energía mecánica en neumática comprimiendo el aire. Las tuberías o mangueras que conectan la salida del compresor a los demás artefactos deben ser flexibles, ya que el compresor por su funcionamiento genera muchas vibraciones que podrían dañar las tuberías de ser muy rígidas. [15], [17]
Los compresores se clasifican en dos tipos, los que trabajan por el principio de desplazamiento y los que trabajan por el principio de la dinámica de fluidos. Los de desplazamiento llenan un recinto hermético del aire y luego reducen el volumen del recinto, logrando así la compresión. Los de la dinámica de fluidos aspiran el aire por un lado y al acelerar una turbina logran la compresión. [15]
Los compresores actuales vienen con un filtro que se encargan de eliminan del aire comprimido los residuos de aceites lubricantes o impurezas que pueda tener antes de enviarlo
24 al secador. Generalmente también tienen un secador interno, aún así siempre es conveniente conectar a la salida del compresor un secador en caso de que se necesite el aire bien seco e incluso un filtro para mayor seguridad.
3.3.1.3 Secador Al salir del proceso de compresión el aire se encuentra a una temperatura bastante elevada, pero al pasar por las tuberías, tanques y filtros su temperatura va bajando y el vapor de agua que contenía se va condensando. Este vapor de agua puede generar corrosión, mal funcionamiento de los elementos neumáticos y ocasionar un desgaste paulatino, por lo cual se debe someter a un proceso de secado antes de que llegue a las válvulas y demás elementos. Existen tres tipos de secado: por refrigeración, por regeneración y por absorción. [15], [17]
El secado por refrigeración se basa en el principio de reducción de la temperatura del punto de rocío. El punto de rocío es la temperatura a la cual hay que someter un gas para que se condense el vapor de agua contenido en él. La temperatura del refrigerador se baja haciendo que entre un aire a muy baja temperatura, aproximadamente 1,7°C generalmente, pero sin llegar a ser 0°C, ya que el agua se congelaría y podría obstruir las tuberías. Una vez bajada la temperatura y condensado el vapor de agua se retira del gas a través de un separador centrífugo.
El secado por regeneración utiliza el método de la adsorción (1: Adsorber: Deposito de sustancias sobre la superficie de cuerpos sólidos.). El interior del recipiente por donde pasa el aire se encuentra lleno de un material desecante y de forma granulado formando pequeñas cuencas donde se depositará el agua. Igualmente reducen el punto de rocío del gas pero esta vez el agua condensada es atrapada por el material desecante por la adsorción.
El método de la absorción es totalmente químico, se introduce el aire en un recinto que contiene sustancias secantes, que al tene r contacto con el vapor de agua se mezclan formando otra sustancia y por ende se separa del gas. Este es el método más económico y sencillo de
25 todos. Se debe hacer una limpieza del secador cada 3 meses aproximadamente para retirar la mezcla del agua con la sustancia secante.
Una vez comprimido, filtrado y secado el aire es llevado a través de las mangueras o tuberías a los reguladores y posteriormente a las válvulas.
3.3.1.4 Reguladores Los reguladores tienen la misión de mantener la presión de aire lo más constante posible, sin importar los cambios que puedan suceder a la entrada ni el consumo del aire. Los dos tipos de reguladores de presión son los que tienen orificios de escape y los que no. [15]
Los reguladores con orificios de escape están formados por una membrana interna que es sometida por un lado con la presión del aire entrante y por el otro con la fuerza de un resorte que es ajustable mediante una perilla. En estos reguladores mientras más presión entrante se produzca la membrana actuará con más fuerza contra el resorte intentando abrir más paso al aire. Cuando la presión disminuye el resorte es quien ejerce la fuerza empujando a la membrana y así cierra el paso del aire manteniendo constante la presión. Si en algún momento la presión llegara a ser tan grande que no es suficiente con que se abra todo el paso, el aire puede escapar por los orificios. De esta forma la presión es regulada por el caudal de aire que circula.
Los reguladores sin orificios de escape contienen el un resorte unido a un vástago a la entrada y un resorte unido a una membrana a la salida formando un solo cuerpo de acción y ajustable mediante un tornillo. Cuando la presión del aire entrante aumenta, éste empuja al resorte con el vástago quien a la vez empuja a la membrana contra las paredes del regulador abriendo el paso directo de la entrada a la salida. Cuando la presión disminuye el resorte y la membrana son quienes empujan al vástago cerrando el paso. Así el paso se va cerrando y abriendo constantemente dependiendo del aire entrante y saliente.
26
3.3.1.5 Válvulas Las válvulas, también llamadas distribuidores, son elementos que modulan o regulan el paso del aire comprimido desde el regulador hacia los cilindros. Son quienes permiten el paso o lo obstruyen. Las válvulas eléctricas se accionan mediante pulsos eléctricos, cuando les llega un pulso se abren dejando el paso libre para el aire llegando hasta los cilindros para moverlos. Cuando no hay pulso se cierran obstruyendo el paso. Éstas son llamadas válvulas de señal continua, están abiertas mientras exista un pulso que la accione. Otro tipo de válvulas eléctricas son las que trabajan por impulsos, cuando les llega un impulso cambian de posición y permanecen allí hasta que les llegue otro impulso que las obliga a cambiar de nuevo de posición. [15]
También existen válvulas que son accionadas por medios mecánicos, manuales o neumáticos. Igualmente las que tienen más de dos posiciones (abierto / cerrado) y que trabajan de forma distinta a las eléctricas.
3.3.1.6 Cilindros Los Cilindros convierten la presión de aire comprimido en un movimiento lineal de vaivén. El movimiento se logra cuando la corriente de aire comprimido entra al cilindro y empuja el émbolo que hace que un vástago interno salga a gran velocidad por el otro extremo (figura 3.4). Los dos tipos de cilindros utilizados en MPT son los de simple acción y doble acción. [15]
Figura 3.4. Movimiento de los cilindros neumáticos
27 Los cilindros de simple acción se desplazan en un solo sentido, el vástago solo pueden realizar un movimiento ya que cuentan con una sola conexión de aire comprimido. El retorno se produce por un resorte que está unido al vástago y al émbolo, el cual se estira cuando la fuerza del aire comprimido lo empuja, pero al no haber aire regresa a su Posición inicial. Este resorte está calculado para regresar a una velocidad suficientemente grande a la posición inicial.
Los cilindros de doble acción realizan dos movimientos, el vástago se puede desplazar en ambos sentidos gracias a que cuentan con dos conexiones de aire, una para la salida y otra para el retorno. Estos cilindros tienen un sistema de amortiguación para proteger al vástago de los golpes al llegar a sus posiciones extremas y del pandeo cuando se encuentra fuera del cilindro.
3.3.2 Motores DC Los motores son mecanismos que transforma energía eléctrica en energía mecánica. En los motores DC, es decir que trabajan con corriente continua o constante, la energía mecánica se produce debido al paso de la corriente por unas bobinas internas del motor que generan un campo magnético ocasionando que la armadura del motor gire. [18]
El sentido de giro del motor dependerá del sentido de la alimentación del voltaje aplicado. Si se invierte el sentido de la alimentación, entonces la corriente fluirá en sentido contrario, lo que inducirá un campo magnético inverso y por ende el motor girará en la dirección opuesta también. Mientras el motor no tenga ninguna carga girará a la velocidad máxima que le permita el voltaje de alimentación, si debe realizar un torque mayor su velocidad disminuirá.
Cuando el motor se encuentra apagado su resistencia es bastante baja, si en ese momento se conectara el voltaje ocasionaría que una gran corriente circulara inmediatamente por la armadura del motor, lo que podría daña rlo. Por esto es necesario proteger al motor en el momento del encendido para disminuir la corriente entrante hasta que ya la armadura haya tomado su velocidad normal de operación, para esto basta con conectar una resistencia en serie con la armadura, cuando el motor acelera la resistencia se va disminuyendo gradualmente. [18]
28
3.3.2.1 Motor Lineal Con Solenoide Un Solenoide no es más que un cable enrollado en forma de resorte. Cuando circula por él una corriente eléctrica se genera un campo electromagnético proporcional al número de vueltas que tenga el solenoide [19]. Un motor lineal puede ser fabricado en base a un solenoide, ya que convierte la energía eléctrica en energía mecánica si en el interior del solenoide se coloca una barra de un material con propiedades magnéticas que interactué con el campo magnético inducido por la corriente eléctrica en el solenoide (figura 3.5).
Figura 3.5. Motor lineal a base de solenoides. (a) polaridad directa impulsa la barra. (b) polaridad inversa atrae la barra.
Al alimentar el solenoide con una polaridad específica se genera un campo magnético en una dirección, si éste es igual a la polaridad del material en el interior de las espiras, el campo magnético lo repelerá haciendo que la Fuerza magnética generada desplace a la barra una distancia fuera del solenoide. Si la alimentación se conecta en polaridad inversa, la dirección del campo magnético será la opuesta a la de la barra atrayéndola hacia el interior del solenoide. Siempre en un movimiento lineal.
3.4 Sistemas Electrónicos Así como el sistema mecánico permite el movimiento de las articulaciones del animatrónico, el sistema electrónico es quien da la orden al sistema mecánico para realizar el movimiento.
29 Por ende es parte esencial en cualquier robot, además cualquier conexión incorrecta podría significar un daño significativo para cualquier elemento del sistema.
Los animatrónicos de MPT fueron diseñados para trabajar con una tarjeta controladora basada en el microcontrolador 8085 de Intel, la cual se conecta a una tarjeta darlington (la cual contiene Latch y transistores en configuración darlington) que genera la potencia suficiente para enviar las señales al sistema mecánico. Sin embargo posteriormente la empresa se vio obligada a cambiar el 8085 ya que fue descontinuado de su fabricación y en comparación con otros microcontroladores más actuales, éste se estaba quedando obsoleto. El microcontrolador escogido por la empresa para la actualización de los sistemas electrónicos fue el PIC 16F627 de Microchip, que a su vez utiliza una memoria externa FM24C64 de Ramtron.
3.4.1 Microcontroladores Un microcontrolador es un circuito integrado que contiene la mayor parte de los elementos que componen un controlador de procesos. Esto es, contiene puertos de entrada y salida de datos a las que se pueden conectar otros componentes electrónicos, conversores de señales analógicas a digitales y viceversa, puertos de comunicación serial y/o paralelo, temporizadores, memoria tipo RAM para guardar los datos y tipo ROM/PROM/EPROM para la grabación de su programa a ejecutar y un procesador interno que realiza las instrucciones del programa. [20]
Los microcontroladores se han vuelto muy populares por tener la capacidad de procesar gran cantidad de información, ocupar un mínimo espacio y ser reprogramables, es decir que se pueden grabar una gran cantidad de veces. Además de la gran ventaja que representa el hecho de que para realizar cualquier cambio en el proceso de control, ya se solo modificar o añadir elementos, simplemente se debe hacer la modificación al programa y volver a grabar el microcontrolador.
30
3.4.1.1 Procesador El procesador interno es el elemento más importante en un micocontrolador, es quien se encarga de direccional la memoria de instrucciones, ejecutar la instrucción en curso, codificar o decodificar los datos entrantes y de salida, la búsqueda de datos en la memoria y de almacenar los resultados de las operaciones.
Según la arquitectura y operación del procesador se distinguen tres tipos [20]: - CISC (Computado res de Juego de Instrucciones Complejo), disponen de más de 80 instrucciones máquina, algunas de las cuales son muy sofisticadas y complejas requiriendo muchos ciclos de trabajo para su ejecución. - RISC (Computadores de Juego de Instrucciones Reducido), el repertorio de instrucciones máquina es muy reducido, pero las instrucciones son muy simples y se ejecutan en un ciclo de trabajo, lo que hace que el procesador sea más rápido. - SISC (Computadores de Juego de Instrucciones Específico), sus instrucciones son además de reducidas muy específicas, se adaptan a las necesidades de la aplicación prevista.
3.4.1.2 Memoria En cuanto a la memoria, existen dos tipos generales de memoria: la no volátil o permanente (ROM) donde se guardan las instrucciones del programa y la volátil o temporal (RAM) donde se guardan las variables y resultados de la ejecución del programa, tan pronto se desconecte el microcontrolador de la alimentación o se reinicie el programa esta memoria será borrada. Dado que el microcontrolador está diseñado para guardar y ejecutar un solo programa, tanto la memoria ROM como la RAM son mucho más reducidas que en los procesadores de las computadoras personales. La capacidad ROM varía entre 512 bytes y 8 Kbytes y de RAM entre 20 y 512 bytes.
Según el tipo de memoria ROM que posea el microcontrolador, su aplicación y funcionamiento es diferente. Existen 5 tipos de memoria ROM en los microcontroladores en el mercado [20]:
31 - ROM con máscara. Esta memoria es grabada durante la fabricación del chip y es de sólo lectura. Son altamente costosas ya que se debe diseñar la máscara durante la fabricación del mismo chip. - OTP (One Time Programmable). Esta memoria de solo lectura, puede ser grabada una sola vez por el usuario, utilizando un programador controlado desde una PC. - EPROM (Erasable Programmable Read Only Memory). El usuario puede borrar y grabar la memoria muchas veces con un programador controlado desde una PC. Sin embargo, esta memoria de solo lectura solo se puede borrar sometiéndola a un rayo de luz ultravioleta durante varios minutos por una pequeña ventana de cristal que se encuentra en la superficie del chip. - EEPROM (Electrical Erasable Programmable Read OnIy Memory). Al igual que las anteriores es de solo lectura y puede grabarse muchas veces, pero no necesita de luz ultravioleta para ser borrada. Con el grabador controlado desde la PC se puede borrar la memoria. También tienen la opción de reprogramarse dentro del mismo circuito donde se encuentran sin necesidad de llevarlo a una tarjeta programadora especial, lo cual hace el proceso mucho más rápido y flexible. - FLASH. Este es el tipo de memoria más recientemente creado, a diferencia de las demás ROM, sí se puede escribir además de leer. Es mucho más rápida que la EEPROM y tolera más ciclos de escritura/borrado. Su consumo de energía es mucho menor y también se puede programar dentro del mismo circuito donde se encuentra.
Estas memorias se pueden encontrar internas dentro del chip del microcontrolador, formando parte de su arquitectura, o en forma de otro chip que únicamente las contiene a ellas, es decir que funcionan como memorias externas al microcontrolador. Por lo que tanto el microcontrolador como las memorias externas deben tener la opción de comunicarse con otros dispositivos de esta clase para guardar y compartir información. La memoria FM24C64 de Ramtron es una memoria externa tipo Flash.
32
3.4.1.3 Microcontrolador 8085 Y PIC 16F627 En la Tabla A se presentan las características de los microcontroladores 8085 de Intel y el PIC 16F627 de Microchip, en la cual también se pueden comparar de forma de entender mejor por qué se eligió el PIC de Microchip para sustituir al de Intel.
Intel 8085 Procesador Memoria Flash Memoria ROM Memoria RAM Fuentes de interrupciones Comunicación serial Puertos de entrada/salidas Frecuencia de reloj Duración del ciclo de trabajo Alimentación Programación
CISC de 8 bits No tiene 2 Kbytes de EPROM 256 bytes 4 Asíncrono y Síncrono 4 6MHz máximo con oscilador e xterno 1.3us TTL En tarjeta programadora
Microchip PIC 16F627 RISC de 8 bits 1 Kbytes 128 bytes de EEPROM 224 bytes 10 Asíncrono y Síncrono 16 20MHz máximo con oscilador interno o externo 1us @ 4MHz TTL En tarjeta programadora y circuito
Tabla A. Comparación entre microcontroladores 8085 de Intel y PIC 16F627 de Microchip
Como se puede observar el PIC tiene muchas ventajas con respecto al 8085. Para empezar, al tener memoria Flash y EEPROM no requiere de luz ultravioleta para ser reprogramado, lo cual significó la mayor de las ventajas para MPT, a pesar de que el 8085 posea más memoria neta que el PIC, este problema se solucionó fácilmente conectando externamente la memoria FM24C64. Además el PIC tiene más puertos de salida y fuentes de interrupciones lo que le permite poder controlar más dispositivos externos. Al poseer un procesador RISC es más rápido que el 8085 y su ciclo de trabajo dura menos. Otra gran ventaja que presenta es que se puede reprogramar en el mismo circuito sin necesidad de sacarlo de allí.
Al buscar los PICS existentes en el mercado se encontró que el más popular era el 16F84 de Microchip; el cual, en características, es bastante parecido al 16F627, sin embargo ya lleva
33 varios años en el mercado y la casa Microchip había comenzado a fabricar nuevos microcontroladores, y la producción de éste no es ya tan alta como antes, por lo que se puede inferir que pronto quedará descontinuado. En cambio el PIC 16F627 había salido al mercado hace poco tiempo, por lo cual aún le queda bastante tiempo de vida antes de ser descontinuado, además de ser más barato que el PIC 16F84.
CAPÍTULO 4:
SISTEMA ACTUAL
Antes de comenzar con el desarrollo del proyecto fue necesario hacer un pequeño estudio sobre la forma de trabajo tanto de los animatrónicos como del software DMA, utilizado por la empresa hasta los momentos. De esta forma se pudo precisar la forma en que interactuaba el DMA con las tarjetas circuitales (PICS, memorias, darlingtons, etc.) para poder realizar una nueva interfaz que interactuara de la misma forma y así poder utilizar estas tarjetas y componentes electrónicos que MPT ya poseía.
4.1 Estudio de los animatrónicos. El esqueleto de los animatrónicos está hecho con vigas de hierro que normalmente van soldadas a una base hecha de un material más pesado con el fin de mantenerse en el suelo sin caerse al momento de hacer los movimientos, debido a la inercia generada. Al trabajar con cilindros de aire las articulaciones se mueven tan pronto las válvulas dejen pasar el aire hacia los cilindros, pero si el flujo de aire es muy elevado en un instante genera un movimiento brusco del pistón y de la articulación total que al momento de parar, por la inercia generada ocasiona fuertes golpes en la estructura metálica que con el tiempo termina produciendo fracturas y hasta el rompimiento completo de dicha estructura.
Este problema se soluciona con los reguladores de aire, al momento en que las válvulas dejan pasar el aire, el regulador disminuye el flujo que va a los cilindros haciendo que se muevan de forma suave y continua. Sin embargo esto repercute en el hecho de que existe un retardo de tiempo entre el envío de la señal por parte del PIC y la realización efectiva del movimiento. Este retardo varía según el peso y largo de la zona a mover y del nivel de regulación que se imponga con los re guladores de aire. La duración de estos retardos varía desde 1 segundo hasta 3 segundos, que en principio no es significativo para la aplicación que se les da a estos animatrónicos, pero debe ser tomado en cuenta al momento de hacer la programación de la rutina.
35 En el caso de los motores DC, se utilizan motores de limpiaparabrisas para los carros cuyas estructuras mecánicas están diseñadas de forma tal que se da un movimiento de vaivén, ideales para los movimientos que se persiguen en los animatrónicos. En estos motores, su velocidad propia es muy rápida para los movimientos que se desean realizar. En principio se podría pensar en regular la corriente de entrada a fin de disminuir la velocidad, sin embargo al hacer esto disminuye el torque del motor ocasio nando que la fuerza para mover la articulación sea mucho menor. Si el peso que debe mover el motor es elevado, con un pequeño torque el motor estaría haciendo un sobreesfuerzo que podría quemarlo, por lo cual esta solución no es factible. Lo que se hace es introducir un tren de pulsos a la entrada del motor en el que apenas logre realizar una pequeña parte de su movimiento total por cada pulso. Si la frecuencia de los pulsos es elevada se logra un movimiento por partes que a la vista humana pareciera continuo. De esta forma no se disminuye el torque y el movimiento no es tan rápido.
Cuando se trabaja con los solenoides para lograr movimientos lineales se está trabajando con los utilizados en la mecánica automotriz para los seguros de las puertas. A éstos no se le puede dejar la alimentación conectada durante un tiempo largo pues la resistencia interna de la bobina se calienta demasiado hasta el momento de romperse, por lo tanto se deben accionar con pequeños pulsos de voltaje para que produzca el movimiento deseado. Estos solenoides se utilizan para movimientos cortos y rápidos como cerrar los párpados, la boca o mover los ojos hacia un lado. El retorno del solenoide se logra con resortes de forma que apenas termine el pulso de permitir el movimiento, el resorte lo trae de vuelta a su posición inicial. De esta forma solo se alimenta para iniciar el movimiento en una dirección por un corto período de tiempo (de 0,5 a 2 segundos máximo) y el resorte se encarga de realizar el movimiento de regreso.
A menudo se utilizan sensores de movimiento o de luz para comenzar con el movimiento total de la escena. Así se puede ahorrar energía al no activarse los animatrónicos, el sonido ni la iluminación si en ese momento no hay nadie pasando por allí. Análogamente en algún momento específico se necesita que se prenda una luz específica o que se inicie una narración o un sonido ambiente, los cuales se inician también al recibir un pulso de alimentación y los movimientos deben estar sincronizados para obtener el efecto deseado en la escena.
36
4.2 Estudio del DMA Como ya se explicó en el Capítulo 1, el DMA es un software desarrollado por la empresa DDI Solutions para la actualización de los microcontroladores de MPT. Dado que MPT poseía una enorme cantidad de tarjetas darlington de potencia que se interconectaban con las antiguas tarjetas del microcontrolador 8085, DDI desarrolló una nueva tarjeta donde se encontraría el PIC de forma que se pudiera interconectar de la misma manera con las tarjetas darlington.
4.2.1 Programa del PIC El PIC es grabado con un programa base el cual recibe los datos desde la computadora y los almacena en la memoria en la dirección indicada. Al momento de la ejecución el PIC lee los datos de la memoria y produce las salidas.
El DMA fue desarrollado para permitir el control de 16 salidas hacia los animatrónicos, es decir que se pueden controlar 16 actuadores distintos e independientes. La memoria flash utilizada (FM24C64) tiene una capacidad de 8Kbytes, por lo cual se dividió en 16 partes para distribuirla entre las 16 salidas equitativamente de 512 bytes de memoria cada una, de esta forma se hizo una paginación de la memoria para asignar a cada salida una sección propia donde se guardarían las indicaciones que envíe el PIC.
En el programa del PIC se definieron las direcciones de la memoria que corresponden a cada salida de modo que al recibir una instrucción de escritura o lectura desde el computador detecta el número de la salida y va directamente a la dirección de la memoria que pertenece a la salida indicada en la instrucción.
Por otro lado, de los puertos del PIC solo se utilizan 8 pines para las salidas, sin embargo con un multiplexor se logra incrementar al doble esta cantidad a fin de tener la capacidad de controlar más movimientos con el mismo microcontrolador. Por lo tanto al indicar mediante el software un número de salida, en realidad se está seleccionando una de las 8 salidas del PIC y
37 un estado del multiplexor (1 ó 0). Así la dirección de la página de la memoria dependerá de esas dos variables: número del pin y estado del multiplexor.
El protocolo utilizado para lograr la comunicación entre el computador y el PIC se compone del envío de instrucción/respuesta, lo que quiere decir que el software le envía un comando instrucción al PIC y se queda esperando una respuesta por parte del PIC según la instrucción enviada, si la respuesta es errónea el software volverá a enviar la instrucción hasta que reciba la respuesta correcta.
El comando para escritura es la letra W seguida por un número de 0 a F que indica la salida del PIC y por último el byte de información en hexadecimal que indica el estado de la salida y la duración del pulso. El esquema del código de escritura se muestra en la figura 4.1.
Figura 4.1. Comando de escritura.
Los comandos utilizados en la comunicación con el PIC son:
- Latido del corazón (LDC) : Este comando es unidireccional del PIC hacia el PC. Verifica que el PIC está funcionando correctamente y está listo para recibir un comando. Se representa con el caracter “?” (0x3F) y es enviado cada milisegundo.
- Probando Comunicación: El software envía el caracter “P” (0x50) para verificar que existe la comunicación entre el PIC y el software. La respuesta esperada es el caracter “*”
38 (0x2A). Hasta que el PIC no haya respondido correctamente la aplicación software no comenzará a enviar los comandos de instrucciones para la programación.
- Operación de las salidas : Este comando habilita o deshabilita las salidas del PIC en la ejecución de la rutina. Para el momento de grabación se deben deshabilitar para poder tenerlas totalmente disponibles para la grabación y no para la ejecución. Se envía el comando “O” (0x4F) seguido de 2 bytes que indican cuales de las 16 salidas se van a habilitar o deshabilitar, donde cada bit representa a una salida, el LSB representa a la salida 1 y el MSB a la 16. Para deshabilitarlas todas se utiliza “O0000” y para habilitarlas para la ejecución de la rutina grabada “OFFFF”. La respuesta esperada por esta instrucción es “O” (0x4F).
- Obtener operación de las salidas: Con este comando se puede saber cuales salidas del PIC se encuentran activadas. El comando se representa con el caracter “o” (0x6F) y su respuesta es “oXXXX”, el caracter “o” (0x6F) seguido de 2 bytes donde cada bit representa a una salida, el LSB representa a la salida 1 y el MSB a la 16. Así si en ese momento todas las salidas se encuentran activadas, la respuesta será “oFFFF”.
- Inicializar: Con este comando se resetean todos los apuntadores de posición en la memoria, es decir que se llevan a la primera posición de cada sección de la memoria. Se envía el caracter “I” (0x49) y se espera como respuesta el mismo “I” (0x49).
- Solicitud de Grabación: El software envía el caracter “S” (0x53) seguido por un byte para indicar si se va a iniciar la grabación o si se va a finalizar. Para iniciar se envía “S1” y para finalizarla “S0”. En ambos casos se espera una respuesta “S” (0x53).
- Limpiar Memoria : Con este comando “L” (0x4C) se borra toda la sección de memoria indicada con un byte. Por ejemplo, para limpiar la sección de memoria correspondiente a la salida 16 se envía “LF”. El comando de respuesta debe ser “L” (0x4C).
39 - Activación Manual: Este comando activa (pone en nivel alto) o desactiva (nivel bajo) una salida en particular, se utiliza mientras se escribe la instrucción en la memoria en cada salida para poder visualizar el proceso de grabación. Justo antes de enviar la instrucción del pulso se activa manualmente la salida con el estado de la instrucción y luego de haberla escrito se desactiva, de esta forma se puede observar todo el proceso mientras va grabando sección por sección de la memoria Flash. Para la activación se envía “M ” (0x4D) seguido por un byte donde los 4 bits menos significativos indican el estado en que se desea poner la salida especificada en los 4 bits más significativos. Por ejemplo, para activar la salida 4 se envía “M31”, ya que la cuenta 0-F equivale a 1-16. La respuesta para la activación es “M ” (0x4D). En el caso de la desactivación se enviaría “M30” para el caso del ejemplo y la respuesta esperada es “m” (0x6D).
- Escribir la instrucción: A través de este comando es que se escriben los pulsos dibujados por el usuario en pantalla en la memoria. El comando enviado es “W” (0x57) seguido por 2 bytes, tal como se mostró en la Figura X X. La respuesta a este comando es “W” (0x57).
- Leer la memoria : Con este comando se puede leer las secciones de memoria indicadas en la posición donde se encuentra el apuntador en el momento de su utilización. Representado con el caracter “R” (0x52) seguido por un byte indicando la salida a leer. Para leer la salida 8 se enviará “R8”. La respuesta es del tipo “RXX”, “R” es el caracter (0x52) seguido por un byte que expresa el contenido de la memoria en esa posición, lo cual sería estado + duración del pulso, lo escrito con el comando “W”.
- Error: Este es un comando de solo respuesta y se da cuando algún comando instrucción no fue bien recibido o interpretado. Está representado por el caracter “|” (0x7C). Al momento en que el software reciba este caracter como señal de error en la comunicación, se debe volver a enviar el comando instrucción que no pudo ser recibido por el PIC.
En el programa del PIC también se definen 16 contadores y 16 apuntadores, uno para cada página de la memoria que corresponden a las 16 salidas posibles de control. Los contadores se
40 encargan de llevar la cuenta de los intervalos del timer del PIC transcurridos desde el momento en que se inicie la cuenta. Éstos se inician en el momento en que el PIC lea las instrucciones guardadas en la memoria para ejecutarla. Los apuntadores se direcciona n al primer registro de la memoria, cada uno en su página. Cuando se inicia la ejecución de una rutina ya grabada se van leyendo de forma paralela todas las páginas o secciones de la memoria gracias a ol s apuntadores y los estados de cada una de las salidas se mantienen, según lo grabado en cada instrucción, durante el tiempo indicado gracias a los contadores.
Se utiliza el timer del PIC para generar una interrupción cada cierto intervalo de tiempo, en este momento todos los contadores se incrementan en una unidad. El intervalo de tiempo está definido por (11 - 0,0859)/128 seg. = 85,3mseg. Once (11) segundos es la duración de un pulso máximo, es decir cuando el byte de información en la memoria es 0x7E, mientras que la duración de un pulso mínimo 0x01 es de 85,9mseg. Recordando que el MSB no se toma en cuenta para estos cálculos ya que indica el estado de la salida durante ese período de tiempo, no es parte del intervalo. Estos tiempos fueron obtenidos por DDI durante el desarrollo del DMA.
Cada apuntador en el primer registro lee la instrucción que guarda el estado que la salida debe tomar y el tiempo que debe mantenerse. En ese momento se coloca la salida en el estado indicado y se inicia el contador, cuando éste alcance la cantidad indicada en la instrucción se detiene y se vuelve a poner en cero, el apuntador se coloca en el registro siguiente leyendo la siguiente instrucción y vuelve a comenzar a correr el contador, colocando la salida en el estado ahora indicado. Esto ocurre en cada una de las secciones de memoria, cada una con su respectivo apuntador y contador.
Dado que cada instrucción ocupa solo un byte de la memoria, los registros en los que se posicionan los apuntadores son bytes, por tanto cada vez que se deba mover el apuntador al siguiente registro en realidad solo está apuntando al byte siguiente.
El programa trabaja a tiempo real, es decir a medida que se van pulsando los botones de la interfaz. Cuando se pulsaba el botón se iniciaba un contador que tomaba el tiempo en que se
41 mantuvo el botón pulsado y el software enviaba una instrucción de 1 byte de espacio hacia el PIC el cual a su vez grababa en la memoria en la página indicada según la instrucción. Pero cuando se soltaba el botón se reiniciaba el contador midiendo el tiempo que pasaba desde el momento de soltar el botón hasta volverlo a pulsar, de esta manera obtenía el tiempo en que el botón estuvo suelto que es lo mismo a la duración de un pulso en nivel bajo, y esta información era enviada como otra instrucción. Así el software indicaba que los pulsos que se producían eran en estado de salida 1 ó 0 lógico, su duración y el pin de salida.
4.2.2 Software DMA El software utilizado es una interfaz en la cual se presentan los puertos de salida a controlar con botones, con un espacio al lado para identificarlos, figura 4.2. Su principal característica y desventaja es que la programación se hace en tiempo real, es decir que se guardan los pulsos en la memoria a medida que se van realizando en la interfaz. Para grabar una rutina se presiona el botón de Grabar y seguidamente se presiona la salida que se quiere realizar, en este momento se inicia el timer y el contador de dicha salida.
Para generar los pulsos en alto se debe presionar el bo tón de la salida y mantenerlo oprimido durante el tiempo que se desee que el pulso esté en alto, luego se suelta y se deja así durante el tiempo que se desee que ocurra un pulso en bajo. Cada vez que hay un cambio de estado en el botón se envía al PIC el código de escritura con la duración que tomó el contador y se reinicia para comenzar a contar de inmediato el tiempo que dura el botón o el pulso en el nuevo estado. Es por esto que se le califica como tiempo real. Al momento en que se quiera detener la grabación se vuelve a presionar el botón Grabar para indicarle al PIC que ha finalizado.
En la ventana inferior de la interfaz (Consola de Transmisión Manual) el usuario debe escribir los códigos para el inicio de los contadores (I), limpieza de las secciones de memoria (L), leer secciones de memoria (R), etc. por lo que el usuario debe estar en pleno conocimiento de estos comandos y su forma de utilización. La comunicación se establece en forma serial, a una velocidad de 4.800bps, transmisión de palabras de 8 bits, sin bit de paridad y 1 bit de parada.
42
Figura 4.2. Software DMA El programa además no permite hacer un registro de la rutina que se está diseñando, esto es que no se pueden guardar proyectos ni archivos, por lo que si en algún momento se deseara tener acceso a una rutina ya grabada en algún animatrónico, no se podría y se debe hacer todo de nuevo. Aunado a esto se debe grabar una salida a la vez, por tanto si se quisieran programar rutinas para las 16 salidas y cada una durara 3 minutos, el tiempo mínimo que se utilizaría para programar al animatrónico completo sería de 16 x 3 = 48 minutos. Cada vez que se graba una salida nueva, a medida que se va grabando se van ejecutando las salidas ya grabadas hasta el momento.
43 Como en la interfaz no existe un registro de los movimientos hechos, al haber una equivocación se debe borrar esa sección de memoria completa y volver a empezar la grabación de esa salida desde el principio. Todo esto sin contar con posibles errores de comunicación que implican que el software debe volver a enviar el último dato y luego es que sigue con la ejecución del programa; en este período se perdió tiempo y posiblemente datos de información.
Otra desventaja de no poseer un modo de registro de las rutinas es que la única forma en que se puede ver el progreso de la secuencia de movimientos es conectándolo directamente al animatrónico y observar como se va ejecutando dicha rutina a medida que se va grabando o cuando se presiona el botón Reproducir para visualizar la rutina finalizada.
Por ser la programación en tiempo real, no se cuenta con una guía de tiempo en la que se pueda ver el progreso de la ejecución ni los eventos que van a suceder en la secuencia, por lo tanto cuando se deben realizar varios movimientos sincronizados resulta casi imposible y prácticamente se debe adivinar el momento en que sucede uno de los movimientos para activar el otro y lograr así una aproximación a la sincronización. Por esta misma razón es imposible hacer movimientos de intervalos de tiempo exacto s y precisos, todo esto está sujeto a la rapidez de reacción del usuario al ver la ejecución de los movimientos en el animatrónico en vivo y que debe leer el cronómetro o reloj, proporcionado por el software, como su única guía en el tiempo, el cual no está ligado de ninguna forma a la automatización del sistema.
4.2.3 Hardware DMA El Hardware diseñado por DDI Solutions para el DMA consiste en una tarjeta de circuito impreso donde se encuentra el PIC y la memoria Flash. También contiene los terminales necesarios para su conexión con la tarjeta darlington y la interfaz de niveles RS-232 con la PC. Como se explicó anteriormente la tarjeta darlington es la misma que se utilizaba con el microcontrolador 8085 para generar la potencia suficiente para el accionamiento de los actuadores, el programa del PIC fue realizado tomando en cuenta la configuración de estas conexiones que tenía el 8085 para poder reutilizar esta tarjeta sin ningún problema.
44 Su alimentación viene dada por Vcc = 12 voltios y tierra (GND), los cuales pasan por un regulador de 5 voltios quien realmente alimenta a la tarjeta del PIC. Este circuito también contiene un latch a las salidas y entradas del PIC para mantener el estado hasta que otra entrada en otro estado llegue, de esta forma perdura el estado para que el circuito que lo requiera lo tome sin problemas cuando sea necesario.
La tarjeta tiene un grupo de pines conectados a los puertos del PIC que funcionan como entrada, donde el nivel bajo (tierra) enviado por cualquier otro circuito: sensor, pulsador o switche producirá que el PIC comience la ejecución de la rutina grabada. Si no se tiene ningún circuito específico para esto bastará con conectar alguno de estos pines de entrada a tierra para lograr que la rutina comience cíclicamente todo el tiempo. Esta tarjeta se puede ver en la figura 4.3.
Figura 4.3. Tarjeta del PIC.
La tarjeta darlington utilizada es la que normalmente se conecta a los mecanismos de acción de los animatrónicos, ésta procesa las entradas de sensores, pulsadores o cualquier otro elemento que se utilice como entrada para mandarlas hacia el PIC y las salidas del PIC para llevarlas al animatrónico. Los transistores darlington que usa tienen la configuración de ánodo común y su alimentación Vcc es de 12 voltios.
45 El diseño de esta tarjeta es propio de MPT y las poseían en gran cantidad pues es la que normalmente utilizan como interfaz de potencia entre los microcontroladores y los actuadores desde que utilizaban el microcontrolador 8085. Entre los componentes que co ntiene se encuentran los latch y el selector el cual es el encargado de convertir los 8 pines del puerto de salida del PIC en 16, de esta forma se puede dar más funcionalidades al mismo PIC. Aunque la tarjeta está diseñada para 24 salidas con los transistores darlington, en esta aplicación solo se utilizan 16. Éstas están enumeradas, claramente identificadas y en total correspondencia con los pines utilizados de salida del PIC. En la figura 4.4 se puede observar el circuito, en la parte inferior de la imagen se ven unas tornilleras en las que se conectan los actuadores.
Figura 4.4. Circuito Darlington.
A pesar de que DDI en su manual del usuario explica la forma de fabricar el circuito RS-232 para la interfaz entre la tarjeta del DMA y el puerto seria l del computador; y la forma en que se debe conectar con la tarjeta del PIC, éste no fue fabricado por DDI y MPT tuvo que fabricar uno de forma temporal al igual que el cable serial para poder utilizar el DMA. La desventaja es que al tener que trasladar el personal a los lugares donde se encuentran los animatrónicos para reprogramarlos, éste circuito sufría daños al no ser manipulado con precaución. Con el movimiento constante de los traslados incluso dentro del mismo taller, los cables se partían y se debían reparar a cada momento, lo cual era ineficiente e incómodo para la empresa.
46 Los circuitos electrónicos de los animatrónicos junto con los transformadores de voltaje, los ventiladores (para la refrigeración) y las válvulas en caso de cilindros de aire o relés para los motores están todos bien sujetos en una caja metálica cerrada que los protege de la intemperie, por lo cual no se puede mover del lugar donde se ubique el animatrónico en la atracción. Al ser la programación en tiempo real, si hay que hacer modificaciones a la rutina de movimientos, se debe trasladar el personal y una computadora con el programa instalado al lugar donde se encuentre el animatrónico para poder conectar la computadora con el PIC y grabar los movimientos a medida que se van viendo.
No cabe duda de que el DMA fue una gran solución al momento de mudar la programación y funcionamiento de los animatrónicos del 8085 al PIC, ya que con el 8085 era necesario saber de programación en assembler para realizar todo un nuevo programa y grabarlo en el microcontrolador, sin mensionar que para borrarlo se necesitaba de luz ultravioleta. Sin embargo el DMA no ofrece la solución más eficiente y amigable pa ra los empleados de la empresa. Sus principales desventajas son:
- No permite la sincronización de movimientos ni la posibilidad de realizar movimientos de intervalos de tiempo exactos.
- No ofrece la posibilidad de guardar la rutina diseñada para utilizarla posteriormente.
- Es necesario conocer los códigos y comandos de programación para logra r la grabación efectiva de la memoria.
- No se puede observar una simulación de la rutina que no sea conectándolo directamente al animatrónico y se necesita estar en el lugar donde se encuentre el animatrónico con la computadora y el software instalado, para poder llevar a cabo la grabación de su secuencia.
- Cada vez que se necesite utilizar se debe conectar el circuito RS-232 al circuito del PIC, con el detalle que el circuito RS -232 no se encuentra protegido por nada y constantemente se rompen sus cables por los movimientos y traslados sufridos.
CAPÍTULO 5:
DISEÑO E IMPLEMENTACIÓN DE
Después de realizados los estudios y la familiarización con el funcionamiento del proceso de la grabación de los animatrónicos se pudo identificar las características que debía tener el software a desarrollar para cumplir con los objetivos específicos y requerimientos de la empresa.
Dado que la principal meta del proyecto era la economía, es decir que MPT no tuviera que realizar nuevos gastos en la compra de material, se decidió trabajar sobre lo antes logrado por la empresa DDI de forma que se utilizaría la misma memoria Flash, el mismo PIC y el mismo circuito impreso utilizados para el diseño del DMA. Gracias a que la empresa cuenta también con su propio almacén de dispositivos, elementos, chips y componentes electrónicos la inversión a realizar no sería significativa.
En cuanto al software, consiste en un programa para el computador que sirve de interfaz entre el usuario y el hardware. Con él no será necesario que ningún empleado de MPT sepa programar en assembler los PICS y las memorias para realizar el trabajo. Se programó en el lenguaje Visual Basic, SQL y las instrucciones API (lenguaje C dirigido a Windows); y fue diseñado para trabajar sobre la plataforma Windows por ser la utilizada en todas las computadoras de MPT. Se eligió Visual Basic ya que es ideal para crear interfaces por utilizar la programación visual o gráfica para la creación de aplicaciones para Windows. Su sencillez en el código y su facilidad para interactuar con otras aplicaciones como bases de datos, programas para Windows, la comunicación serial y otros lenguajes de programación, fueron las características más apreciadas para elegir su utilización. El lenguaje SQL se utilizó para el manejo de las bases de datos y las instrucciones API para la interacción de la aplicación de la interfaz creada con otros programas de Windows como Acrobat Reader, Flash Player, etc.
La base de datos utilizada en la interfaz fue Access pues es la predeterminada de Microsoft Office y viene en todos los CD de instalación de Office, de esta forma no es necesario disponer de otro programa de bases de datos. Al trabajar MPT con Windows y Office, lo más
48 conveniente era utilizar esos mismos recursos, aunque el manejo de la base de datos sea totalmente transparente para el usuario.
El nombre de
viene dado por Programación de Animatrónicos por PICS. Aunque la
memoria Flash es quien lleva grabados todos los movimientos de los animatrónicos, es a través del PIC que se realiza su grabación. El usuario, utilizando la interfaz, le indica al PIC que movimientos son los que debe grabar en la memoria. De esta manera se establece la comunicación mostrada en la figura 5.1.
Figura 5.1. Proceso de Grabación de la Memoria.
Además de diseñar el software, también se fabricó el hardware grabador de manera que se tuviera un Kit completo de programación que facilitara enormemente el proceso de programación de los animatrónicos para las atracciones de los parques temáticos. Este hardware se compone de la interconexión de varias tarjetas de circuitos necesarios para llevar a cabo la grabación de la memoria, comenzando por un convertidor de niveles RS-232 a TTL, pasando por la tarjeta del PIC, luego la darlington de potencia y por último la tarjeta de leds en la cual se puede visualizar la secuencia que se grabó en la memoria Flash. De esta forma se completa el proceso de grabación de un animatrónico y resulta realmente sencillo programarlos, con solo sacar la memoria de la base y colocarla en la base del circuito del animatrónico, se tendrá lista la rutina de movimientos respondiendo de la misma manera en que se observaron los leds encenderse.
En este capítulo se mostrará la composición del software y hardware, sus componentes y su funcionamiento detallado.
49
5.1 Software Respondiendo a las características requeridas que debe tener el software
se procedió
a dividir en varios módulos o pasos el funcionamiento del mismo (figura 5.2), de esta forma se pueden desarrollar de manera independiente cubriendo todas las posibles interacciones entre el usuario y la interfaz para al final interconectar cada módulo haciendo que el proceso total sea lo más automatizado posible logrando así que el usuario encuentre una aplicación realmente sencilla y fácil de usar.
Figura 5.2. Módulos del software. De todos estos módulos el único que realmente tiene interacción con el usuario es el Módulo Gráfico, el cual es el encargado de mostrar en pantalla todas las instrucciones generadas por el usuario, los datos guardados en la base de datos y hacer visible la simulación del código.
5.1.1 Gráficos En las salidas del PIC que van hacia cada actuador del animatrónico, ya sean cilindros de aire o motores, se ven únicamente niveles altos (Vcc, 1 lógico) o niveles bajos (GND, 0 lógico), a los cuales llamamos pulsos y que activan o desactivan respectivamente dichos actuadores. El usuario por tanto aunque solamente dibuje en pantalla los pulsos de activación en realidad se están generando más pulsos. Al diseñar la rutina de movimientos en realidad lo que hace es crear una secuencia de niveles altos y bajos para activar en esa misma forma los actuadores logrando el movimiento deseado de las articulaciones.
50 En este sentido la forma más eficiente para crear estas secuencias de pulsos y tener la capacidad de poder hacer secuencias sincronizadas entre distintas salidas se logró a través de una línea de tiempo, donde paralelamente se muestren todas las salidas posibles del PIC en vertical, cada una con su línea de tiempo y todas guiadas por una línea de tiempo principal donde se muestran los intervalos en segundos con una resolución de medio segundo, tal como muestra la figura 5.3.
Figura 5.3. Las líneas de tiempo de módulo de gráficos.
En los campos que se observan en la figura 5.3 al lado de cada salida el usuario podrá identificar los movimientos del animatrónico que desea activar con dicho puerto. Al salvar el proyecto la aplicación guardará esas etiquetas en un archivo de inicio. Con esto cada vez que se abra un proyecto existente la aplicación automáticamente leerá las etiquetas del archivo de inicio correspondiente a ese proyecto mostrándolas de nuevo en los campos correctos en pantalla.
Por otro lado y volviendo a las secuencias de pulsos, las marcas de la línea de tiempo principal se extienden verticalmente a lo largo de todas las salidas, para así identificar en cada línea de
51 tiempo los intervalos mínimos programables. Con esto es sumamente sencillo dibujar pulsos sincronizados.
5.1.1.1 Duración del pulso Aunque en la base de datos se guarden solo los pulsos de activación, el PIC debe enviar a la memoria Flash tanto los pulsos altos como los bajos, para que luego al reproducirlos se vea en tiempo real las activaciones y desactivaciones de los actuadores. Cada pulso, ya sea alto o bajo, con su duración ocupa 1 byte de espacio en la memoria.
El intervalo de tiempo mínimo programable es de 0,5 segundos, es decir que el período mínimo es de 1 segundo. Se decidió esta medida por las siguientes razones:
- Un pulso mínimo menor de 0,25 segundos sería casi imperceptible ante la visión humana ya que el movimiento realizado por el actuador activado sería extremadamente pequeño sin notarse la diferencia entre la posición inicial y la final de la articulación, dadas las características de estos animatrónicos. - Para efectos de la interfaz gráfica y por las limitaciones de VB en rangos de longitud, si el pulso mínimo fuera de 0,25 segundos implicaría que en total la duración máxima de programación sería mucho menor a la obtenida con 0,5 segundos de resolución; ya que si se hicieran los intervalos más cortos en pantalla la vista no sería agradable al usuario, lo cual es parte de los objetivos planteados. - Una señal de 0,5 segundos es suficiente para activar cualquier actuador o circuito sin quemar algún elemento que no pueda soportar alimentación por mucho tiempo, como es el caso de los solenoides explicados en el Capítulo 3.
La aplicación está diseñada para 6 minutos de programación. Para la elección de esta duración máxima se tomaron en cuenta los siguientes factores:
52 - Luego de los estudios de los animatrónicos se pudo determinar que las rutinas de movimientos nunca pasaban de los 5 minutos y este caso sólo se daba cuando se debía seguir una narración específica. - Debía cubrir la duración mínima necesaria en caso de que todos los pulsos fueran mínimos, es decir de 0,5 segundos. - Las limitaciones de longitud de los elementos de Visual Basic. Cada segundo mide 400 twips (unidad interna de VB) por lo que 6 minutos son 144.000 twips, medida que se acerca bastante al límite del rango de longitud.
Por otro lado, la duración máxima de un pulso es de 21 segundos. Por lo tanto, si se programan únicamente pulsos de duración máxima, se tendrá más tiempo de programación total (512 bytes * 21 seg./byte = 10.752 seg. ˜ 3 horas), mientras que al hacer solamente pulsos de duración mínima, igualmente tendrán sólo 512 pulsos con lo que la duración total de la programación será menor (512 bytes * 0,5 seg./byte = 256 seg. ˜ 4 minutos).
5.1.1.2 Generación y Edición de pulsos El usuario a través del mouse puede dibujar un pulso con solo hacer click con el botón izquierdo sobre el intervalo que desee de inicio y arrastrar el puntero hasta el intervalo final. Dado que se puede hacer click con el mouse sobre distintos puntos de la pantalla, se realizó un mapeo de la misma y se dividió sus dimensiones verticales en 16 secciones, asignando cada una a la salida correspondiente.
De esta forma no importa donde haga click el usuario, siempre que el punto esté dent ro de una de las secciones el software automáticamente dibujará el pulso sobre la línea de tiempo de la salida a la cual dicha sección está asignada. Esto se logra registrando las coordenadas (X,Y) del punto marcado y verificando a que sección vertical pertenece la coordenada Y.
53 Las unidades de medición utilizadas son los twips, unidad interna propia del Visual Basic. Se realizó una conversión de unidades para llevar de twips a segundos, que es la escala (para el eje X) de tiempo utilizada, esta conversió n asigna a cada medio segundo (resolución de la escala) 200 twips, por lo que cada segundo equivale a 400 twips. Cuando el usuario hace click sobre un punto específico como inicio del pulso, el programa identifica esa coordenada X y luego hace la conversión de twips a la escala de segundos dibujando el pulso desde el inicio del intervalo de tiempo correspondiente a dicha coordenada. Para el punto final igualmente identifica la coordenada X en twips donde se soltó el botón del Mouse y se hace la conversión pintando el pulso en el final del intervalo de tiempo que corresponda. En la figura 5.4 se muestra el diagrama de bloques del algoritmo de esta función y su visualización en pantalla.
Figura 5.4. Algoritmo del dibujo del pulso. (a) Iniciar un pulso. (b) Finalizar un pulso. (c) Visualización en pantalla de los pasos de los algoritmos
54 En la base de datos se guardan los valores Xi, Xf e i, donde i es el número del puerto de salida comprendido entre 1 y 16 inclusive. Si se desea modificar un pulso ya dibujado se activa un menú emergente haciendo click al botón derecho del mouse sobre el pulso a editar. El programa nuevamente toma las coordenadas X y Y para identificar el intervalo en twips y la salida donde se encuentra el pulso, seguidamente busca en la base de datos si ese punto pertenece a alguno de los pulsos que contiene y luego según sea el caso de modificación edita el parámetro deseado, ya sea el punto inicial Xi, el punto final Xf, el puerto de salida i o simplemente borrarlo por completo. En cada una de estas opciones el módulo gráfico se encarga de volver a dibujar el pulso ya editado o borrarlo de la pantalla. De no existir un pulso en la base de datos que contenga al punto X, Y la instrucción de modificación se finaliza.
Las opciones de edición de los pulsos son las siguientes:
- Ancho : modifica el punto final del pulso seleccionado. Se reescribe el parámetro Xf de la base de datos y se vuelve a dibujar el pulso terminando en el nuevo Xf. El nuevo valor de Xf es ingresado por el usuario en términos de tiempo, es decir en segundos. Si el usuario ingresara un tiempo no múltiplo de 0,5 el programa automáticamente lo convierte al medio segundo inmediato posterior. Por ejemplo, si el usuario introdujera 1,25 el programa lo tomaría como 1,5; si ingresara 2,75 se tomaría 3. Los decimales se pueden separar por comas (,) o puntos (.) indistintamente.
- Inicio: modifica el punto de inicio del pulso seleccionado. Esto es, en la base de datos se reescribe el parámetro Xi y se vuelve a dibujar el pulso empezando desde el nuevo Xi. De la misma manera que para la opción Ancho, el usuario ingresa el ancho del pulso en segundos y el programa lo convierte a twips, en este caso si se ingresa un valor no múltiplo de 0,5 se tomará el medio segundo inmediato anterior. Por ejemplo al introducir 1,25 se tomará 1; y si se ingresa 2,75 se tomará 2,5.
- Puerto: modifica el puerto de salida en la base de datos del pulso seleccionado, el usuario debe introducir un valor entre 1 y 16, cualquier otro valor no será aceptado y finalizará la edición del puerto. Una vez editado el valor de la salida se convierte en twips para dibujar
55 nuevamente el pulso en la nueva sección de puerto en pantalla borrando completamente el anterior.
- Borrar: borra totalmente el pulso seleccionado de la pantalla y de la base de datos, una vez borrado no se podrá recuperar.
En la figura 5.5 se muestra la edición de un pulso cualquiera con cada una de las opciones.
Figura 5.5. Edición de un pulso. Cuando se abre un proyecto ya existente, el software borra al pantalla completa y lee los pulsos contenidos en la base de datos del proyecto que se abrió dibujando los cuadros que
56 representan a dichos pulsos. En ese momento ya se puede trabajar sobre los pulsos normalmente.
5.1.2 Base de Datos Se seleccionó el programa Access para manejar allí las bases de datos (BD) por ser el programa predeterminado por Microsoft Office. Todas las computadoras de MPT trabajan con el sistema operativo de Windows y tienen Office instalado, por lo cual no hay la necesidad de instalar nuevos programas si se utiliza Access.
Para manejar la BD desde VB se utilizaron instrucciones en lenguaje SQL. Gracias a la versatilidad de VB no hubo ningún problema al utilizar SQL. El programa trabaja con dos BD por proyecto: una base temporal en la cual se trabaja realmente y otra que llamaremos definitiva quien guarda los datos de la temporal al salvar el proyecto para mantenerlos almacenados cuando se cierre el programa.
Al comenzar un nuevo proyecto se debe elegir un nombre de proyecto, la aplicación crea una BD de Access bajo ese nombre (BD definitiva) al igual que el archivo de inicio, sin embargo mientras se trabaje dibujando los pulsos y hasta que no se salve el proyecto se estará trabajando en la BD temporal donde los pulsos son registrado s en orden de creación. Al momento de salvar se hace una copia de todos los datos de la BD temporal en la BD definitiva, ordenados por puerto y luego por punto de inicio Xi de forma ascendente. Con esta acción ya el software está listo para crear el archivo de instrucciones para el PIC.
5.1.2.1 Funciones con la Base de Datos La aplicación posee un menú y una barra de herramientas cuyas funciones permiten trabajar cómodamente en un proyecto sin que el usuario sepa que está modificando la BD temporal o la definitiva. En realidad la BD temporal es totalmente transparente para el usuario,
ni
siquiera sabe que existe dicha BD. En la Tabla B se muestran las instrucciones que realizan las funciones y el manejo que se le dan a las BD.
57
Función Nuevo
Abrir
Cerrar Salvar
Salvar Como
Salir
Crear
Programar
-
Instrucciones Crea nueva BD definitiva Borra registros en BD temporal Limpia la pantalla Limpia la pantalla Borra registros en BD temporal Copia registros de la BD definitiva en temporal Dibuja los pulsos de la BD definitiva en pantalla Borra registros en BD temporal Limpia la pantalla Borra registros en BD definitiva Copia registros de la BD temporal en definitiva Borra registros en BD definitiva Copia registros de la BD temporal en definitiva Si el proyecto no existe: Crea nueva BD definitiva Si el proyecto ya existe: Borra registros en BD definitiva Copia registros de la BD temporal en definitiva Dibuja los pulsos de la BD definitiva en pantalla Limpia la pantalla Borra registros en BD temporal Cierra el programa Borra registros en BD definitiva Copia registros de la BD temporal en definitiva Si el proyecto no existe: Crea el archivo .txt Si el proyecto ya existe: Sobrescribe el archivo .txt Guarda código de instrucciones para el PIC Establece la comunicación serial con el PIC Lee la instrucción desde el archivo .txt Envía la instrucción al PIC
Tabla B. Funciones de
Cada una de estas funciones está colocada como una opción en el menú de la barra de menú y algunas de ellas tienen un botón de acceso directo en la barra de herramientas, con esto el manejo del programa resulta ser mucho más amigable para el usuario (figura 5.6).
Barra de Menú Barra de Herramientas
Figura 5.6. Barra de Menú y Herramientas.
58
5.1.3 Simulación Esta función permite ver el comportamiento de las salidas del PIC hacia los actuadores según la rutina de pulsos dibujada en la pantalla, sin necesidad de grabar la Memoria. Esto representa una ventaja cuando se debe diseñar una secuencia de pulsos y no se tiene a la mano el hardware del grabador para grabar la Flash y verlo funcionando realmente con la tarjeta de leds del grabador. Además se debe recordar que la memoria Flash tiene una cantidad finita de sesiones de escritura, que aunque es bastante elevada, no se debe abusar de ello para garantizar que la memoria se pueda utilizar en numerosas atracciones.
Al iniciar la simulación una barra vertical hace un barrido por todas las posiciones de las coordenadas X y donde exista un pulso dibujado en una de las salidas enciende el led que corresponde a ese puerto, tal como lo hicieran los leds de la tarjeta hardware (figura 5.7). Cuando la barra pasa el último pulso dibujado o llega al final de la pantalla, se detiene la animación y vuelve a su posición original X = 0.
Figura 5.7. Vista en panta lla de la simulación. El software para verificar los pulsos hace un recorrido por toda la BD verificando que la posición X de la barra pertenezca a alguno de los pulsos registrados en ella y utiliza una bandera como marca de pertenecer a algún pulso, de esta manera cuando se siga haciendo el
59 recorrido por los demás pulsos del mismo puerto el led no se apagará. Estas banderas solo son bajadas cuando se va a iniciar todo el recorrido por la BD nuevamente, es decir cuando se halla movido la barra a la siguiente posición de X y comience el ciclo nuevamente. En la figura 5.8 se muestra el algoritmo seguido por el programa al ejecutar la simulación de un proyecto cualquiera.
Figura 5.8. Algoritmo de la Simulación.
60
5.1.4 Generación del Código Una vez que se tiene en la BD definitiva los registros (Filas) ordenados por puerto y punto de inicio de forma ascendente, al presionar el botón de Crear o seleccionarlo en el menú, el programa creará un archivo de texto .txt con el mismo nombre del proyecto y escribirá en él los códigos para el PIC correspondientes a los registros de la BD. Sin embargo, como se explicó anteriormente, el código debe ser tanto para los pulsos en alto como para los bajos, por lo que el software genera un código de instrucción también para los espacios que existen entre los pulsos en alto.
En caso de existir el archivo de texto al momento de crear el código, la función utilizada para crear y escribir sobrescribe toda la información, de la misma manera en que el comando Salvar borra los registros de la BD definitiva y vuelve a copiar los que se encuentran en la BD temporal. Esto quiere decir que una vez que se opte por salvar o crear el código no se podrá volver a la información anteriormente guardada, por lo que se debe tener mucha seguridad al momento de hacerlo.
Para recorrer la BD se hace uso de un comando llamado Recordset, éste toma la información de todo un registro de la BD y con él se hacen las operaciones. El software utiliza tres variables para almacenar la información de los registros: - Ract = Registro donde se posiciona el recordset - Rsig = Registro siguiente al registro actual - Raux = Registro auxiliar que define los pulsos bajos o huecos entre pulsos altos.
En cada uno se tienen tres campos que recogen la información del registro: - Xi = punto de inicio del registro. - Xf = punto final del registro. - Y = puerto de salida (de 1 a 16) del registro.
En la figura 5.9 (a y b) se encuentra el algoritmo que rige el comportamiento de esta etapa.
61
Figura 5.9. Algoritmo de Generación de Código (a).
62
Figura 5.9. Algoritmo de Generación de Código (b).
63 El código que se crea en el archivo de texto contiene 3 bytes de información, de los cuales solo 1 byte será enviado a la memoria Flash. Siguiendo el mismo patrón de las instrucciones de escritura que utilizaba el software DMA, este código se compone de el comando W#XX, donde: - W
=
es la instrucción de escritura,
- #
=
es el número (0-F) de la salida y
- XX =
es el estado + duración del pulso.
La duración del pulso mínimo (0,5 seg.) en hexadecimal equivale a 0x06 = 400 twips y la duración máxima es de 0x7E = 21 segundos = 8.400 twips, esto es excluyendo al bit más significativo que se interpreta como el estado de la salida, no como duración. Por esta razón si un pulso en pantalla llegase a medir más del límite de 8.400 twips debe ser dividido en dos o más pulsos dependiendo de su longitud. Al tener la longitud del pulso el software hace automáticamente la conversión a hexadecimal y escribe el código de programación correspondiente, ya sea para nivel alto o bajo. En la Tabla C se encuentran los valores que toma el código para distintas salidas.
Salida
Secuencia
1 2 3
Pulso
Código PIC
1 2 3 4 5 6 7 8
W086 W00C W086 W106 W18C W106 W292 W206
Byte de información (estado + duración) 1000 0110 0000 1100 1000 0110 0000 0110 1000 1100 0000 0110 1001 0010 0000 0110
Tabla C. Generación del código
5.1.5 Comunicación Serial Se establece al presionar el botón Programar o seleccionar esta opción de la barra de menú. El protocolo de comunicación se basa en un intercambio de comando/respuesta que se refiere al hecho de que la PC envía un comando instrucción al PIC y éste debe enviarle de vuelta una
64 respuesta específica para el comando recibido que indica que fue bien entendido y procesado. Se utiliza el RS -232 como interfaz entre el PC y el circuito, usando el pin de CTS como control en la comunicación, de esta forma el PIC envía una señal al equipo de comunicación (RS-232) cuando él esté listo para recibir datos y sólo en ese momento se enviará el dato al PIC.
La comunicación se establece con los mismos parámetros que utilizaba el DMA y los cuales ya están especificados en el programa del PIC, para poder lograr la comunicación exitosa, a una velocidad de 4.800bps, transmisión de palabras de 8 bits, sin bit de paridad y 1 bit de parada. Como tanto la velocidad de 4.800bps como la longitud del cable a utilizar están muy por debajo de las limitaciones del RS-232, se pudo utilizar perfectamente para esta aplicación [24]. El circuito RS -232 se encuentra incluido en el Kit de programación hardware. de esta forma el usuario no debe preocuparse por esta interfaz en ningún momento de la programación.
Los comandos utilizados en la comunicación con el PIC son los mismos que utilizaba el software DMA, ya que son los reconocidos y aceptados por el programa base del PIC, los cuales ya se explicaron en el capítulo anterior y son los mostrados en la tabla D.
Instrucción Latido del corazón (LDC) Probando Comunicación Operación de las salidas Inicializar Solicitud de Grabación Limpiar Memoria Activación Manual Escribir la instrucción Error
Comando enviado por PC “P” (0x50) “O” (0x4F) + 2 bytes que indican las salidas “I” (0x49) “S” (0x53) + 1 byte que indica si se va a iniciar o a finalizar la grabación “L” (0x4C) + 1 byte que indica la salida “ M” (0x4D) + 1 byte ? 4 bits que indican la salida + 4 bits que indican el estado “W” (0x57) + 2 bytes que indican la salida + estado + duración
Comando respuesta del PIC “?” (0x3F) “*” (0x2A) “O” (0x4F) “I” (0x49) “S” (0x53) “L” (0x4C) “M” (0x4D) si se activó “m” (0x6D) si se desactivó “W” (0x57) “|” (0x7C)
Tabla D. Códigos del protocolo de comunicación Como se ve todos los comandos tienen una respuesta definida, menos el LDC el cual es enviado desde el PIC hacia el software como una señal del buen funcionamiento del PIC
65 únicamente. Siempre que el programa envíe una instrucción se queda esperando una respuesta, si la respuesta no es la correcta según la instrucción o si recibe el comando de Error, vuelve a enviar la instrucción que presentó el error. Hasta que no reciba la respuesta correcta no sigue con el envío de la siguiente instrucción.
Utilizando estos comandos se logra la grabación efectiva de la memoria. Nótese que a excepción del comando de escritura, todos son instrucciones para el PIC, son recibidos, interpretados y ejecutados por el PIC y es él quien da las respuestas. Únicamente el byte de información (estado + duración) es el que realmente se graba en la memoria Flash, en la sección indicada en la instrucción de escritura. Al momento de ejecutar la rutina de grabación el PIC va leyendo de forma paralela todas las secciones de memoria de la Flash y las va ejecutando también de forma paralela. Al tener todas las secciones grabadas los pulsos seguidos en nivel alto o bajo y la duración de los mismos, se ve la secuencia ejecutada en la forma en que se diseñó en pantalla. Como se puede apreciar el software
logra
comunicarse con el hardware de la misma forma en que lo hacía el DMA.
La duración del proceso depende enormemente de la cantidad de pulsos creados, las instrucciones distintas a la escritura en total duran aproximadamente 1 minuto. La duración aproximada del una instrucción de escritura (incluyendo la activación manual anterior y la desactivación manual posterior) es de 3,28 segundos. Sin embargo entre cada instrucción enviada al PIC se hace un retardo de 0,25 segundos con el fin de garantizar que la respuesta que envía el PIC al PC efectivamente llegue y se logre que la comunicación se de en forma correcta y así minimizar la posibilidad de que ocurra un error, este aspecto se explica con mayor detalle en el Capítulo 6. En cuanto a la interfaz gráfica al momento de hacer la programación se muestra un cuadro que indica el porcentaje de avance del proceso (figura 5.10 – a).
Al presionar el botón Ver Detalles se abre una ventana que muestra todo el proceso de envío de instrucciones y respuestas, es decir la comunicación completa entre el software y el PIC. De esta forma se puede hacer un monitoreo de la funcionalidad de ambas partes de manera sencilla y rápida (figura 5.10 – b).
66
(a)
(b)
Figura 5.10. Cuadro de Grabación en la Interfaz. (a) Cuadro Simple. (b) Detalles de la comunicación.
5.2 Hardware Como se ha mencionado anteriormente el hardware del proyecto está compuesto por cuatro circuitos interconectados entre sí para conformar un Kit de programación completo que se muestra en la figura 5.11 y presentara las siguientes ventajas:
- Fácil de usar, sin tener que cambiar configuraciones ni elementos que no sea la Memoria Flash a grabar.
- Fácil de conectar, con un cable serial hembra- macho conectado pin a pin, es decir el pin 1 del terminar macho con el pin 1 del Terminal hembra y así sucesivamente, para conectarlo con la computadora sin tener que preocuparse por el RS -232; de la misma forma tiene dos terminales para la alimentación.
67 - Fácil de trasladar, por el diseño de la caja que cierra tapando todos los circuitos además de su peso bastante ligero, se hace sencilla su manipulación y traslado.
- El diseño de la caja ofrece la protección de los circuitos del polvo, agua y golpes, además de permitir la visualización de las rutinas grabadas en la memoria al tener un espacio donde se pueden ver los leds del cuarto circuito.
- La mayor ventaja que ofrece el Kit de programación es que todos los circuitos que intervienen en la grabación de una memoria ya se encuentran allí interconectados de la forma correcta. El usuario no debe preocuparse por este asunto y no necesita volver a armar todo el equipo cada vez que quiera grabar una memoria.
Los cuatro circuitos son: el RS -232 que sirve de interfaz entre la computadora y el PIC para la comunicación serial, el circuito grabador en sí que contiene al PIC y la memoria Flash, una tarjeta de potencia que utiliza transistores darlington y por último la tarjeta de leds que simula ser los actuadores de un animatrónico. En la figura 5.12 se puede apreciar el esquema general de la conexión entre las tarjetas del Kit.
Figura 5.11. Kit de programación.
68
DARLINGTON
LEDS
PIC RS 232
MEM FLASH
Figura 5.12. Esquema del hardware.
5.2.1 Tarjeta 1. Circuito RS-232 El primer circuito, fabricado durante el desarrollo del proyecto de pasantía, es la interfaz serial conformado por el transformador de niveles lógicos RS-232 para proteger tanto al puerto serial de la computadora como a la tarjeta programadora de la diferencia de voltajes que existe entre ellos. El circuito fabricado es el recomendado por la hoja de especificaciones del chip MAX232 de Maxime, se puede apreciar en la figura 5.13. El límite de velocidad de transmisión soportado por el RS-232 es de 19.200 baudios y una longitud de cable de 16 m. para garantizar un buen funcionamiento, sin embargo la longitud del cable y la velocidad de transmisión con el PIC están muy por debajo de estas limitaciones, por lo cual se puede usar sin problemas.
Figura 5.13. Circuito RS-232.
69 Para la conexión con la computadora por el puerto serial se colocó un terminal DB-9 en el Kit cuyos pines ya están conectados con el circuito. Además se fabricó un cable de sólo 4 pelos (los cuatro cables requeridos) conectados pin a pin entre los dos terminales DB-9 que se le colocaron a sus extremos. Éste cable como parte del Kit de programación, sin embargo dado que las conexiones están hechas dentro del terminal DB-9 de la caja del Kit y el circuito RS232, cualquier cable serial (conectado pin a pin) puede ser utilizado sin problemas como extensión. En la figura 5.14 se puede apreciar la tarjeta realizada para el circuito RS -232 y el terminal DB-9 de la caja.
Figura 5.14. Tarjeta RS-232.
5.2.2 Tarjeta 2. Circuito del PIC Esta es la tarjeta que fue diseñada para el DMA y es propiedad de la empresa MPT. En ella se encuentra el PIC y la memoria Flash. Ya que su alimentación viene dada por Vcc = 12v y tierra, en la caja del Kit se colocaron dos terminales que van conectados internamente a las alimentaciones de cada uno de los circuitos. Con el regulador que posee esta tarjeta se lleva el Vcc de 12v a niveles TTL (5v) para la alimentación del PIC, la memoria y el latch.
Recordando que el PIC tiene unos pines de entrada que iniciarán la ejecución de la secuencia grabada bajo la presencia de un nivel bajo (GND), en el Kit de grabación una de estas entradas se ha conectado a la tierra del circuito, de forma que cada vez que el PIC termine la ejecución
70 se vuelva a iniciar haciendo un ciclo repetitivo. Esta condición fue implementada para poder observar cuantas veces sea necesario la reproducción de la rutina. En la figura 4.3 del Capítulo 4 se muestra el circuito de esta tarjeta.
5.2.3 Tarjeta 3. Circuito Darlington El tercer circuito es la tarjeta darlington, propiedad de MPT y que también utilizaba el DMA. Como se explicó en el capítulo 4, en esta tarjeta se encuentran los latch para las entradas y para las salidas y el multiplexor que aumenta de 8 posibles salidas del PIC a 16. También contiene los transistores darlington configurados en ánodo común que están conectados directamente a las tornilleras donde se conectan los actuadores.
En el caso del Kit esta tarjeta ya está conectada interna y correctamente a la tarjeta del PIC y el circuito de los leds, por lo que los técnicos de MPT no necesitan preocuparse por las conexiones de los pines. En las tornilleras donde se conectan los actuadores, en este kit estará el circuito de leds. El circuito de esta tarjeta se muestra en la figura 4.4 del capítulo 4.
5.2.4 Tarjeta 4. Circuito de leds Esta última tarjeta fue diseñada durante el desarrollo del proyecto de pasantía y tiene como finalidad sustituir los actuadores de los animatrónicos con leds para poder visualizar las señales que fueron grabadas en la memoria y ver por completo la rutina ejecutándose. De la misma forma en que un actuador se activaría con una señal alta enviada por el PIC realizando el movimiento de una articulación, los leds se encenderán cuando reciban esa señal alta y se apagarán cuando el pulso enviado por el PIC sea bajo. Aunque en algún momento pueda ser difícil imaginar cada movimiento del animatrónico a programar en el encendido y apagado de un led, esta tarjeta ofrece la ventaja de verificar que la rutina diseñada en pantalla sea la misma grabada en la memoria. Como la configuración de los transistores darlington es de ánodo común, cuando la tarjeta darlington reciba una señal alta los transistores enviarán a los leds
71 una señal baja, por lo que el punto común de todos los leds es Vcc y encenderán cuando reciban de los transistores la señal baja. En la figura 5.15 se muestra la tarjeta de los leds.
Otra ventaja de esta tarjeta es que durante la grabación de la memoria los leds se irán encendiendo a medida que se va grabando la sección de memoria correspondiente a cada led. Mientras se esté grabando la salida 5 por ejemplo, el led 5 se estará encendiendo y apagando constantemente. Dado que la grabación de las secciones de memoria se hace en orden ascendente de las salidas, es decir la 1, luego la 2, luego la 3 y así sucesivamente; los leds también se encenderán en ese orden. De esta forma se puede verificar igualmente que la grabación se está llevando a cabo.
Figura 5.15. Circuito de leds.
5.3 Pruebas y Documentación
Para finalizar se realizaron distintas pruebas grabando distintas rutinas de complejidad y longitud total variada para verificar el buen funcionamiento de la aplicación, la interacción con la interfaz y el PIC y la correcta grabación de la memoria. Al mismo tiempo se estaría verificando que la circuitería del grabador estuviera bien conectada. Con este procedimiento se podían visualizar los errores existentes y modificar el software o hardware según corresponda para corregirlo.
En un principio se realizaron pruebas únicamente verificando la grabación a través de los leds de grabador que representan las salidas del PIC y se encienden según las instrucciones que
72 contenga la memoria. Posteriormente se grabaron dos animatrónicos de la empresa, el mago Merlín y los delfines, ya en este momento trabajando con movimientos sincronizados y donde los intervalos de tiempo exactos eran de gran importancia.
La explicación detallada de las pruebas realizadas y la comparación de los resultados obtenidos con el DMA y con el
se encuentran en el Capítulo 6.
Una vez terminadas las pruebas y corregidos los errores se procedió a redactar un manual del usuario y hacer un tutorial animado e interactivo en Flash como ayuda a los empleados de MPT actuales y futuros para que puedan aprender rápidamente a utilizar de forma correcta tanto el software como el hardware del programador. Se produjo un CD con un instalador que lleva empaquetados todos los archivos y librerías utilizadas por la aplicación para que pudiera ser instalado en cualquier computadora de la empresa que cuente con los requisitos básicos del programa: Plataforma Windows, versión 98 en adelante, resolución de pantalla mínima de 800 x 600 píxeles, espacio mínimo en disco duro de 6 Mbytes y que cuente con Acrobat Reader y Flash Player.
También se crearon dos hojas resúmenes de las hojas de especificaciones tanto de la memoria como del PIC donde se muestran las características más importantes de estos dispositivos a manera de información para el usuario sobre los dispositivos utilizados por
.
CAPÍTULO 6:
PRUEBAS Y RESULTADOS
A continuación se explican las pruebas realizadas en orden y los resultados que se obtuvieron y que llevaron a la remodelación y redefinición de algunos parámetros del software y al diseño de otros circuitos necesarios para algunos animatrónicos. Luego se hace la comparación de los resultados de la programación con el DMA y con ventajas de
mostrando los logros y las
sobre el anterior.
6.1 Pruebas Realizadas Las primeras pruebas se realizaron diseñando rutinas secuenciales para los leds, sin pensar todavía en colocar la memoria Flash en los animatrónicos, esto con el fin de verificar el funcionamiento tanto del software como del hardware en total. Con estas pruebas se vio un parámetro a modificar en el software que era el tiempo de espera entre los datos enviados debido a pérdidas de información por la alta velocidad de transmisión. Una vez resuelto este problema se procedió a realizar pruebas ya colocando la memoria flash programada en circuitos de animatrónicos que utilizaran actuadores tanto de cilindros de aire como motores DC y solenoides. En este caso se lograron resultados satisfactorios con los cilindros y solenoides, pero con los motores se debió diseñar otro circuito que dividiera los pulsos enviados por el PIC en unos más pequeños aumentando la frecuencia, se fabricaron para esto unos osciladores. Por último, superadas estas etapas se realizaron las pruebas programando los animatrónicos: el Mago Merlín y los Delfines utilizando movimientos sincronizados y obteniendo resultados satisfactorios los cuales fueron comparados con los obtenidos al utilizar el DMA. Todas estas fases de prueba se detallan a lo largo del capítulo.
6.1.1 Tiempo de Espera Las rutinas diseñadas para estas pruebas eran secuencias muy claras y fáciles de seguir a la vista, ya que se trabajó con los leds y ésta era la forma más sencilla de verificar que la secuencia ejecutada fuera la diseñada (figura 6.1). El fallo encontrado con estas pruebas estaba relacionado con los tiempos que pasaba entre los datos enviados y recibidos. Al principio la
74 rutina de comunicación serial sólo demoraba el tiempo que el procesador del computador durara en enviar y recibir los datos por el puerto serial, es decir que entre los datos enviados no se esperaba realmente a que el PIC respondiera. Tal como se explicó en el capítulo anterior, el software envía un comando instrucción al PIC y debe recibir el comando respuesta correcto para enviar la siguiente instrucción. Sin embargo, el algoritmo tan pronto enviaba la instrucción revisaba inmediatamente el buffer de entrada buscando la respuesta, si no la encontraba volvía a enviar la instrucción.
Figura 6.1. Ejemplos de rutinas diseñadas.
Como el PIC se encuentra constantemente enviando la señal LDC, en un momento dado los bytes del buffer de entrada en el software pueden contener puros caracteres “?” sin que entre ellos se encuentre la respuesta deseada, por lo que la aplicación volverá a enviar la instrucción. Mientras en el PIC el buffer de entrada se encuentra lleno de comandos instrucción iguales a los que irá respondiendo uno por uno con la respuesta correcta, pero cuando la aplicación reciba la primera respuesta esperada pasará a enviar la siguiente instrucción que entrará en la cola del buffer del PIC y las respuestas recibidas en el software serán todavía las de la instrucción anterior. Esto produce una cadena de respuestas retrasadas que causan errores en la transmisión impidiendo que ésta se dé de forma óptima, esta explicación se muestra en la figura 6.2.
75
Figura 6.2. Esquema de los retrasos de transmisión. En un principio se resolvió parte de este problema aumentando la capacidad del buffer de entrada del software, de esta forma en un solo paquete de datos recibiría varios bytes entre los cuales se encontraba la señal LDC y la respuesta al comando instrucción, con hacer una búsqueda de la respuesta entres los bytes del paquete de entrada el software podría saber si el PIC realmente respondió al comando enviado. Sin embargo, esto no resolvía todo el problema ya que el software no esperaba ningún tiempo para revisar la entrada de datos serial y aunque el buffer fuera más amplio ahora, igual al principio seguía enviando el comando instrucción llenando el buffer de entrada del PIC y congestionando la transmisión.
Para solucionar esto se le colocaron tiempos de retraso (delay) entre el envío del comando, la revisión del paquete de llegada y el envío del siguiente comando. Estos tiempos se probaron en distinta magnitudes y al final se estableció en un cuarto de segundo ya que con este tiempo realmente se asegura que el PIC responda y los datos lleguen al software y no implica una gran demora en el proceso de grabación. Dado que la programación de las memorias se hacen en el taller y no en el lugar de la atracción, al momento de decidir entre el compromiso de garantía de comunicación Vs. velocidad de grabación, se eligió la garantía de comunicación.
6.1.2 Osciladores Se comenzaron las pruebas programando animatrónicos cuyos movimientos se obtenían todos con cilindros neumáticos, a pesar de que existían retrasos en el movimiento causado por la sumatoria de todos los retrasos propios de las partes mecánicas (válvulas, reguladores, cilindros) y por el peso de los elementos a mover que disminuían la velocidad del movimiento, al ser el pulso mínimo de medio segundo, para articulaciones pequeñas y livianas, dicho
76 retraso no era significativo. Para las articulaciones más largas y pesadas había que tomar en cuenta que se debía hacer un pulso en alto más largo de forma de que el movimiento se diera por completo a pesar del peso. Aún así con los cilindros neumáticos el funcionamiento no presentó ningún problema y los resultados obtenidos fueron satisfactorios, es decir que los movimientos realizados por los animatrónicos fueron realmente los diseñados en pantalla.
En cuando a los motores DC utilizados, específicamente los de limpiaparabrisas de los carros cuyo movimiento es de vaivén, la velocidad con la que rotaban era bastante alta para mover un animatrónico en una exhibición. Tal como se expuso en el Capítulo 3, Marco Teórico, la forma de disminuir la velocidad, no así el torque, es a través de un tren de pulsos a una frecuencia suficientemente alta para que el movimiento se viera contínuo ante la vista humana a pesar de que realmente fuera segmentado.
Sin embargo, el software solo permite obtener una frecuencia de 1 Hz, al ser el período de 1 segundo. Esta frecuencia es demasiado baja para esa aplicación ya que en medio segundo del pulso en alto el motor alcanza a realizar todo su recorrido mecánico a su velocidad normal. Por esto fue necesario diseñar un circuito que se conectara entre la salida de la tarjeta darlington y el motor que generara el tren de pulsos a la frecuencia deseada. Esto se logró con un oscilador. El esquema de la función de estos osciladores se puede ver en la figura 6.3.
El oscilador diseñado y fabricado durante el desarrollo del proyecto de pasantía, funciona con un monoestable LM555 configurado para generar una onda cuadrada de 60 Hz, teniendo la posibilidad de modificar el ciclo de trabajo y la frecuencia a través de trimmers. La señal proveniente del PIC alimenta el circuito activando el oscilador y produciendo el tren de pulsos. Por tanto, si la señal era baja, el tren de pulsos no se producía. Al obtener los resultados deseados se procedió a fabricar una cantidad considerable de osciladores para tenerlos listos en el almacén de la empresa para el momento en que se necesitara colocarlos en la circuitería de un animatrónico.
77
Figura 6.3. Función del oscilador. Pasando al caso de los solenoides, éstos producen un movimiento lineal en un solo sentido, su retorno a la posición inicial lo hace gracias a un resorte. La particularidad de estos dispositivos es que no pueden permanecer por un período de tiempo muy largo alimentados ya que el alambre interno de la bobina se puede recalentar hasta el punto de romperse. Los solenoides se utilizan para movimientos cortos y rápidos, como cerrar los párpados, levantar las cejas, abrir la boca o mover hacia un lado los ojos. Un tiempo de alimentación para estos dispositivos entre medio segundo
y un segundo completo, es suficiente para realizar el movimiento
deseado y mantenerlo en la posición final sin correr el riesgo de sobrecalentar la bobina. Por lo cual no hubo ningún problema con el programa en este caso.
6.1.3 Pruebas finales Con los problemas de la comunicación y de los motores resueltos, se procedió a programar dos animatrónicos como prueba final; el primero de ellos fue el Mago Merlín que está acompañado de un cuervo que también tiene sus propios movimientos, en total completan los 16 movimientos y todos conectados en la misma circuitería.
Con Merlín se debía tener movimientos sincronizados en los brazos, cuyos actuadores son cilindros, ya que tienen que hacer la simulación de estar realizando un hechizo, para lo cual ambos brazos debían moverse al mismo tiempo haciendo la forma de círculos, como se ve en la figura 6.4. De igual manera las alas del cuervo tienen actuadores independientes y se programaron de manera que las abriera y cerrara al mismo tiempo.
78
Figura 6.4. Movimiento de los brazos de Merlín. Los delfines, por su parte, son dos, y se requería programarlos igualmente sincronizados para que se viera que ambos nadaban juntos al mismo tiempo, tal como lo hacen los delfines en la realidad. Al tener actuadores independientes era necesario a través del software hacer que realizaran esos movimientos sincronizados.
Tanto con Merlín y el cuervo como con los delfines no se presentó ningún problema, los chips de la memoria de cada uno fueron programados en el mismo Kit de programación
,
la memoria se colocó en su base en la tarjeta y luego de grabarla se retiró colocándola en el circuito del animatrónico, en ambos casos los resultados fueron satisfactorios y ambas programaciones no duraron más de diez minutos.
6.2 Comparación entre el DMA y Con los resultados obtenidos de la programación de Merlín, quien fue el animatrónico programado con más salidas utilizadas utilizando
y los obtenidos con la
programación de un escorpión quien fue el animatrónico programado con el DMA que también utilizó todas las salidas, se realizó un cuadro comparativo cuyos resultados se presentan en la Tabla E.
79
Variable
Escorpión - DMA
Programación Sincronización de salidas Programar movimientos a la vez Intervalos de tiempo Animatrónico conectado Guardar la rutina diseñada Equipo a trasladar
Tiempo Real Extremadamente difícil Uno solo Inexactos, aproximados Obligatoriamente No se puede PC, tarjeta, cables, personal
Software de interfaz
Se deben saber los comandos
Para la ejecución de la rutina luego de su programación Tipos de actuadores posibles Tiempo total de programación
Se debe desconectar la comunicación durante la ejecución Cilindros, motores DC, solenoides 1 hora
Merlín En Frío Muy sencillo y rápido Todos Exactos No necesariamente Sí se puede Solo la memoria Flash Totalmente gráfico y automatizado El software lo hace automáticamente Cilindros, motores DC, solenoides 10 minutos
Tabla E. Comparación entre el DMA y Como se puede ver en la Tabla 6.1, las ventajas ofrecidas por significativas y elevadas con respecto al DMA. Para empezar el hecho de que
son bastante utilice
la programación en frío, es decir, que se puede programar la memoria en un sitio para colocarla en otro lugar más tarde y funciona tal cual se diseñó al principio, lleva a otras ventajas como que no es necesario trasladar todos lo s equipos involucrados en la programación al lugar donde se encuentre el animatrónico, ni al personal para hacerlo, ni cerrar la atracción mientras se hace la programación.
Igualmente al no ser
un programador en tiempo real se pueden diseñar las rutinas
para todas las salidas y cuando se vayan a programar se mandan a hacer todas a la vez, mientras que con el DMA se hace una por una, lo que repercute en un mayor tiempo para la programación. Si cada salida utiliza una rutina de 2 minutos de duración, al hacer las 16 salidas se debe contar con un tiempo de 32 minutos (2 minutos x 16 salidas), sin contar con los errores que se puedan cometer por ser en tiempo real, que implica borrar esa salida y volverla a grabar, el tiempo mientras el usuario desactiva la salida que está grabando y activa la siguiente, etc. Con
, al hacerlas sobre las líneas de tiempo, se tienen todas las salidas
listas y diseñadas con el código generado al momento de realizar la grabación. Aunque la duración depende de la cantidad de pulsos programados, el tiempo en que se tarda en grabar un pulso es de 3,28 segundos, para obtener el mismo tiempo total de programación de 32
80 minutos mínimo, se necesitarían diseñar en cada salida de 2 minutos, 40 pulsos lo cual es una cantidad bastante alta para las aplicaciones que se le dan a los animatrónicos en las atracciones. Se tendrían entonces 40 pulsos x 3,28 segundos cada uno, dando un total de 131,2 segundos ˜ 2 minutos con 10 segundos de duración, que multiplicado x 16 salidas ˜ 33 minutos. La ventaja en el tiempo radica en que para el DMA se debe permanecer activando un pulso de 30 segundos por los mismos 30 segundos, mientras que con
simplemente
se dibuja en pantalla y luego de crear el código, la programación de dicho pulso durará solo 3,28 segundos.
Otras implicaciones de la programación en tiempo real del DMA es que no se pueden realizar pulsos de intervalos de tiempo exactos, siempre van a estar condicionados a la velocidad de operación del usuario en activar y desactivar la salida deseada. Por el contrario con
,
al estar las líneas de tiempo y permitirse pulsos de duración mínima específica se pueden crear pulsos de tiempo exactos, lo cual también permite programar movimientos de forma sincronizada, al poder ver todas las rutinas de todas las salidas sobre la pantalla con las líneas de tiempo. Esta operación es casi imposible con el DMA ya que se debe tener un cronómetro para saber el momento justo en que se hizo un pulso en una salida para repetirlo en otra, dependiendo siempre de la velocidad de operación del usuario.
Otra ventaja del
es que las rutinas diseñadas se pueden guardar en un archivo y
trasladarse en unidades de almacenamiento sin ningún problema, cosa que permite diseñar una rutina en un momento dado y modificarla después sin necesidad de volverla a hacer desde el principio, así como grabar la memoria cuando se desee. Esto es totalmente imposible con el DMA ya que no posee la opción de guardar las rutinas programadas además de necesitar que el animatrónico se encuentre conectado al grabador y al PC para poder programar los pulsos a medida que se ven los movimientos, ésta es la única manera de ver las rutinas que ya se han grabado en otras salidas. Con
no se necesita tener el animatrónico conectado para
diseñar la rutina en primer lugar y en segundo para grabar la memoria, todo este proceso se puede hacer en tres pasos: diseñar la rutina y guardarla, conectar al PC el programador para grabar la memoria y sacar la memoria del grabador y colocarla en el circuito del animatrónico lista para comenzarse a ejecutar.
81 Un detalle importante es que
es una interfaz totalmente gráfica y automatizada. El
usuario simplemente debe dibujar los pulsos en pantalla y luego con solo presionar las opciones del menú o de la barra de herramientas puede guardar la rutina, crear el código y grabar la memoria. Cosa que hace al software mucho más amigable para el usuario y confiable, con la posibilidad de cometer menos errores. En el DMA es necesario conocer los comandos de programación para resetear los apuntadores a las secciones de memoria, limpiarla, activar las salidas e incluso para verificar que exista conexión, lo que lo hace más complejo para usar. Igualmente con el DMA al momento de finalizar la grabación se debe dar la instrucción de reproducir la rutina completa grabada y se debe desconectar la grabación durante dicha ejecución para desactivar el modo de grabación del software. Con
no
es necesario hacer esto, tan pronto el software termina la grabación de la memoria ya está lista para ejecutarse de inmediato y el usuario no debe preocuparse por desconectar la comunicación ni ningún dispositivo.
Por último, para aprender a utilizar el DMA se tiene un manual de operación donde se explican todos los detalles, pero no contiene ningún ejemplo ni instrucciones secuenciales. Con
se tiene un manual del usuario [Anexo B] y un tutorial animado en flash de
macromedia el cual lleva al usuario paso a paso por la ejecución de un programa sencillo de ejemplo, para que aprenda a manejarlo totalmente.
Con
se lograron cubrir todos los objetivos planteados para este proyecto de pasantía
llevando una gran ventaja frente a su antecesor, el DMA. Lo más importante de este proyecto es que la inversión económica se redujo a lo mínimo posible al utilizar todos los ele mentos y dispositivos que ya poseía MPT por lo que no representó un nuevo gasto significante para la empresa.
CAPÍTULO 7:
CONCLUSIONES Y RECOMENDACIONES
Al rediseñar la forma de la grabación de las rutinas de movimientos,
ofrece una
solución satisfactoria en la programación de los animatrónicos de la empresa MPT para las atracciones y espectáculos presentados en sus parques temáticos, haciendo que el mantenimiento de éstos ya no sea un problema.
Con una programación en frío, es decir que no se necesita estar conectado con el animatrónico para poder programarlo, se tiene la posibilidad de : salvar el proyecto para generar el código y grabar la memoria en otro momento, crear el código y guardarlo para grabar la memoria en otro momento; o grabar la memoria en ese instante si se tiene el grabador conectado a la PC.
Al contar con la ventaja de poder guardar un proyecto y abrir uno ya existente, se facilita el proceso de modificación de una rutina al no tener que hacerla toda de nuevo desde el principio, no se pierde el trabajo hecho anteriormente.
Teniendo todos los puertos de salida en paralelo como líneas de tiempo, con los intervalos de segundos marcados sobre una línea de tiempo principal se pueden realizar movimientos sincronizados, de duración exacta y observando el comportamiento que se va creando a cada salida sobre la pantalla.
A través de una interfaz totalmente gráfica el usuario no debe preocuparse en entender sobre programación de PICS, memorias Flash, ni del mismo software para poder hacer una modificación sencilla en una secuencia de movimientos. Solo debe “dibujar” los pulsos de acción sobre las líneas de tiempo en la pantalla y a continuación tiene varias opciones a seguir, todas tan solo presionando botones en una barra de herramientas o seleccionando opciones en una barra de menú, sin ningún código de programación.
Al tener el Kit de programación de
, se puede grabar la memoria Flash de cualquier
animatrónico en cualquier momento y lugar, con la ventaja de que luego solo debe retirar la
83 memoria del grabador y colocarla en el circuito del animatrónico para que ya comience a ejecutarse la nueva rutina y donde el cambio solo duró pocos segundos.
Con este Kit los técnicos y empleados de la empresa pueden trabajar cómoda y fácilmente ya que en él se encuentran todos los circuitos necesarios para la grabación de la memoria y la visualización de la rutina grabada; todos interconectados entre sí y con tan solo tres terminales de conexión: un DB-9 para el cable serial con la PC el cual está incluído en el, un terminal para alimentación Vcc de 12 voltios y un terminal para la alimentación de tierra. No deben ocuparse de la fabricación ni conexión del hardware en ningún momento.
Siendo la caja del Kit liviana, fácil de conectar y con las tapas resistentes para brindarle protección a los circuitos; el Kit de
tiene la gran ventaja de poderse trasladar y
colocar sin problemas en cualquier lugar donde se encuentre la computadora donde se va a programar.
El Manual donde se explica cada detalle de los elementos que componen a
y las
funciones que se pueden hacer con él, tanto con el software como con el hardware; y el Tutorial hecho en flash de macromedia que lleva al usuario por un recorrido por todas las opciones posibles del software y termina guiándolo por cada paso que debe hacer para la creación de un proyecto de ejemplo. Con ellos se logra una rápida instrucción para los empleados haciendo que estén listos cuanto antes para comenzar a utilizar el software y hardware diseñado. Ambos totalmente accesibles desde el software.
Entregando a la empresa un CD con el paquete instalador de
se da la posibilidad de
instalarlo en cualquier computadora del taller que trabaje sobre plataforma Windows y que contenga Microsoft Office, con Access en él.
Al trabajar con componentes y programas ya comprados con anterioridad por la empresa, como el PIC 16F627 y la memoria Flash FM24C64, las tarjetas darlington, los circuitos impresos para el PIC y la memoria, el chip RS-232 MAX232 de Maxime y el programa de bases de datos Access de Office, se redujeron los costos lo más posible a simples compras de
84 elementos electrónicos como terminales DB-9, resistencias, capacitores y otros cuyos precios son bastante bajos.
Se diseñaron y fabricaron también circuitos osciladores con frecuencia y ciclo de trabajo regulables para utilizarlos en la reducción de la velocidad de los motores DC utilizados, con esto se logra la adaptación de
a todas las aplicaciones implementadas en la empresa.
Aún así hay otras aplicaciones que se pueden obtener de
que aumentarían su
funcionalidad y versatilidad en los trabajos de la empresa. Como recomendaciones para mejoras al software y hardware se encuentran:
- Colocar en el circuito del PIC y la memoria una base de fuerza mínima para la memoria Flash, de esta forma es más sencilla su colocación y extracción del grabador sin correr riesgos de doblar o quebrar sus patas. - Colocar en la caja un conector tipo jack al que se pueda conectar un transformador AC/DC de 12 voltios mediante el cual también se pueda alimentar el circuito. Esto para casos en los que se vaya a hacer la grabación en un lugar distinto al taller y no se tenga a la mano una fuente de voltaje DC. - Crear la función en el software de leer los datos de la memoria colocada en el grabador de forma de poder obtener la secuencia de pulsos de la rutina programada en pantalla y guardarla en una BD. Esto sería muy útil para extraer la rutina de algún animatrónico que fue grabado con el DMA anteriormente y poder almacenarla en una BD, al igual que para aquellas cuyos archivos por alguna razón fueron borrados o perdidos como forma de recuperarlos. - Crear opciones elegibles de resolución y tiempo máximo de duración de la secuencia en pantalla, de forma de poder seleccionar una resolución de medio segundo (como está diseñado el
), de un cuarto de segundo, de un segundo, etc. De igual forma la
duración máxima actual es de 6 minutos, el poder elegir la duración máxima hace más versátil y funcional al software. - Crear la opción de hacer un zoom sobre al escala de tiempo para poder dibujar pulsos mínimos más pequeños que medio segundo. Con esto se podrían realizar trenes de pulsos a
85 frecuencias más altas que 1Hz, útiles para circuitos que lo ameriten, como el caso de los motores DC para el cual se tuvo q ue fabricar osciladores. - Estudiar la opción de la programación de los simuladores de la empresa, los cuales hacen el movimiento de una plataforma donde va sentado el público, de acuerdo a la película proyectada. Aprovechando las líneas de tiempo, colocando en un espacio sobre ella las escenas de la película a programar se podrían crear la secuencia de movimientos de la plataforma siguiendo las escenas. Para esto se debe estudiar la forma de desglosar un video seleccionado en sus cuadros de animación. De igual forma las películas tienen una duración promedio de 10 minutos, pero la cantidad de actuadores (cilindros neumáticos en este caso) son máximo de 6. Como son menos salidas a utilizar, se daría a cada una un mayor espacio de memoria en la Flash utilizada, sin embargo esto implica que se debe modificar el programa del PIC para redefinir las secciones de memoria y las salidas. aplicación de separada ( ofrece
Esta nueva
llevaría a la empresa a integrar dos software que tiene de forma y el programa para simuladores) a uno solo, con todas las ventajas que . Esto se puede estudiar como un posible proyecto para otra pasantía en la
empresa.
Con estas recomendaciones para futuros proyectos se puede apreciar que
es un
software escalable con amplias posibilidades de crecimiento y expansión. Desde ahora la programación y modificación de los animatrónicos en las atracciones no significará un dolor de cabeza para la empresa y no representará ninguna pérdida de ingresos al no tener que cerrar la atracción del parque para hacerlo.
Con
el espectáculo no debe continuar, simplemente Continúa.
REFERENCIAS BIBLIOGRÁFICAS
[1] Una historia de alegrías y emoción, la Historia de los Parques de diversiones. Zona Q, La Revista Virtual de Montañas Rusas y Parques de Diversiones. Noviembre, diciembre 2002. Número 4. Disponible en: http://www.geocities.com/zona_q_2000/parques.html [2] Ten Ros, Antonio E. ¿Qué es un Parque Temático? CSIC-Universidad de Valencia. Octubre 2001. Versión 4.1. Disponible en: http://www.uv.es/~ten/p7.html [3] Ten Ros, Antonio E. Los nuevos paraísos. Historia y evolución de los Parques Temáticos . Revista ARBOR. Consejo superior de investigaciones científicas (España). 1998. Vol CLX, pp. 109-131. Disponible en: http://www.uv.es/~ten/p831.html [4] Portal de Alexis Montilla. Disponible en: http://www.alexismontilla.com [5] Briceño, Yves. El Walt Disney de los páramos . Todo en Domingo, encartado en El Nacional. Domingo 28 de Enero 2001. N° 69. Disponible en: http://www.el-nacional.com/-revistas/todoendomingo/todo69/reportaje2.htm [6] Portal de Los Aleros. Historia de los Aleros. Disponible en: http://www.losaleros.net/ historia.html [7] Portal de Tierra Increíble. Disponible en: http://www.tierraincreible.com/es/index_es.htm [8] Portal de Musipán, El Reino. Disponible en: http://www.musipan.net/elparque.htm [9] Fiorucci, Erika. Por el Mundo. Globovisión. 28 de Junio de 2004. Disponible en: http://www.globovision.com/mundo/2004.06/28/musipan/index.php [10] Enciclopedia Wikipedya. Artículo Robo t. Disponible en: http://en.wikipedia.org/wiki/ Robot [11] Portal de Roboticspot. Historia de la Robótica. Madrid. Febrero 2004. Disponible en: http://www.roboticspot.com/spot/asifue/his2004a.html [12] Portal de IFR. International Robot Standards . Disponible en: http://www.ifr.org/ standards/standard.htm [13] Portal de ISO. Robots for industrial environments. Disponible en: http://www.iso.org/iso/en/stdsdevelopment/tc/tclist/TechnicalCommitteeStandardsListPage.Te chnicalCommitteeStandardsList?COMMID=4289 [14] Perez Cordero, Victor Hugo. La Robótica. SANLOZ holonic. 2001. Disponible en: http://www.geocities.com/Eureka/Office/4595/robotica.html
87 [15] Portal de Neumática e Hidraúlica. Neumática: Conceptos básicos y aplicaciones. Disponible en: http://www.sapiensman.com/neumatica/neumatica.htm [16] Portal de Fisicanet. Gases - APF217A. Disponible en: http://www.fisicanet.com.ar/ fisica/f2ap04/apf2_17a_Gases_Ideales.html [17] Gómez, Esteban; Arboleda, Juan; Cardona, Santiago. Redes de aire comprimido. Universidad Nacional de Colombia. Noviembre 2003. Disponible en: http://www. monografias.com/trabajos16/redes-de-aire/redes-de-aire.shtml [18] Portal de Reliance Electric. Basic Motor Theory. 1998. Disponible en: http://www. reliance.com/mtr/mtrthrmn.htm [19] Portal de Fisicanet. Magnetismo – APF320A. Disponible en: http://www.fisicanet. com.ar/fisica/f3ap01/apf3_20a_Magnetismo.html Productos Descontinuados: http://www.intel.com/design/archives/periphrl/index.htm [20] Portal de Monografías. Introducción a los microcontroladores. Disponible en: http://www.monografias.com/trabajos12/microco/microco.shtml [21] SEDRA, Adel; SMITH, Kenneth. Circuitos Microelectrónicos. Editorial Oxford University Press. 4° edición, 2000. pp. 221-230, 781-783 [22] GAJSKI, Daniel. Principios de Diseño Digital. Editorial Prentice Hall. 1997. pp. 222237 [23] Portal de Play-Hookey. The D Latch. Disponible en: http://www.play- hookey.com/digital/d_nand_latch.html [24] Portal de Tecnotopia. Puerto Serial RS-232. Disponible en: http://www.tecnotopia.com.mx/mecatronica/puertors232.htm
ANEXOS
89
ANEXO A MATERIAL IMPRESO DE MPT-ACTI
90
ANEXO B MANUAL DEL USUARIO