UTEQ Firmado digitalmente por UTEQ Nombre de reconocimiento (DN): cn=UTEQ, o=UTEQ, ou=UTEQ, email=cmacias@uteq.edu.mx, c=MX Fecha: 2015.09.11 15:28:21 -05'00' UNIVERSIDAD TECNOLÓGICA DE QUERÈTARO Nombre del proyecto: “PROGRAMACIÓN Y DESARROLLO DE UNA INTERFACE HOMBRE MAQUINA (HMI) PARA TOMOGRAFÍA DE IMPEDANCIA ELÉCTRICA (TIE)” Empresa: CENTRO DE INVESTIGACIÓN EN CIENCIA APLICADA Y TECNOLOGÍA AVANZADA UNIDAD QUERÉTARO DEL INSTITUTO POLITÉCNICO NACIONAL Memoria que como parte de los requisitos para obtener el título de: TÉCNICO SUPERIOR UNIVERSITARIO EN MECATRÓNICA ÁREA AUTOMATIZACIÓN Presenta: García Vázquez Abelardo Asesor de la UTEQ Asesor de la organización M. de T.A. Gustavo Ortiz González Dr. Eduardo Morales Sánchez Santiago de Querétaro, Qro. septiembre del 2015 Resumen En la siguiente memoria se darán a conocer los fundamentos de investigación y puesta en práctica de lo realizado en la estadía profesional en CICATA Querétaro, con el proyecto llamado, Programación y Desarrollo de (HMI) para Tomografía de Impedancia Eléctrica (TIE). Actualmente se cuenta con un tomógrafo el cual genera ciertas tensiones dependiendo de la estructura del cuerpo humano. Se pretende aprovechar las diferentes tensiones para programar e implementar una interface en la que por medio de una pantalla se pueda observar la imagen obtenida. Para lograr la programación se requiere el uso de dos placas entrenadoras que son el STM32F4 de Discovery, los softwares para programar en esta placa son Keil Uvicion4 y el STM32CubeMX, la otra placa es el ya conocido Arduino y su respectivo software. Para la interface, se pretende hacer uso la pantalla 4D Systems µLCD70 DT y el software Workshop4, El prototipo con el que se cuenta también será modificada puesto que la electrónica se logra observar a simple vista es por ello que se acoplara a un gabinete para que se vea más profesional, eso incluye implementar como va montada la electrónica, de igual manera conectar los circuitos y realizar una que otra adaptación. Cabe mencionar que hay varios equipos similares ya en el mercado, los cuales se ven simples pero uno no tiene ni la menor idea de toda la metodología que se requiere para lograr este equipo, también se nota que la tecnología va avanzando a pasos agigantados y cada vez más, la magia se hace realidad. (Palabras clave: Tomografía, programación, Interfaz, acoplamiento, microcontrolador) 2 Description I am doing my professional stay in “CICATA”. It is a big place. In this place there is a good equipment for different projects. The working environment is nice and very quiet. All the staff is very honest and friendly. I work with Miguel Angel San Pablo Juarez. He is tall and average weight. He has dark brown hair and brown eyes. He is very intelligent and responsible in his work. Abelardo García Vázquez 3 Dedicatorias Un millón de gracias y toda una vida de felicidad, a la única persona del mundo que siempre estará conmigo en las buenas en las malas, te la dedico a ti, Mamá. 4 Agradecimientos Principalmente a mi madre, aquella mujer que ha sido madre y padre para mis hermanos y yo, aquella que me inculco el valor de la honestidad y humildad. Agradezco a todas aquellas personas que han aportado algo en el trayecto de mi superación personal. 5 Índice Resumen........................................................................................................................................ 2 Description .................................................................................................................................... 3 Dedicatorias .................................................................................................................................. 4 Agradecimientos ........................................................................................................................... 5 Índice ............................................................................................................................................. 6 I.INTRODUCCIÓN ........................................................................................................................... 7 II.ANTECEDENTES .......................................................................................................................... 8 III.JUSTIFICACIÓN .......................................................................................................................... 9 IV.OBJETIVOS ............................................................................................................................... 10 V.ALCANCE .................................................................................................................................. 11 VI.ANÁLISIS DE RIESGOS .............................................................................................................. 13 VII.FUNDAMENTACIÓN TEÓRICA ................................................................................................ 15 VIII.PLAN DE ACTIVIDADES .......................................................................................................... 28 IX.RECURSOS MATERIALES Y HUMANOS .................................................................................... 30 X.DESARROLLO DEL PROYECTO ................................................................................................... 31 XI.RESULTADOS OBTENIDOS ....................................................................................................... 47 XII.CONCLUSIONES Y RECOMENDACIONES ................................................................................. 48 XIII.ANEXOS ..................................................................................................................................... XIV. BIBLIOGRAFÍA........................................................................................................................... 6 I. INTRODUCCIÓN Parte de la investigación y desarrollo en tecnología digital actuales, se enfoca en el desarrollo de interfaces (software y hardware) cada vez más intuitivos, naturales y humanos y por ende, más rentables. El éxito Global de productos, como los celulares están directamente relacionados con la experiencia del uso de una interface, de la misma manera el uso de los HMIs en el campo industrial y la medicina está causando un gran impacto Hoy en día en el Centro de Investigación en Ciencia Aplicada y Tecnología Avanzada (CICATA Querétaro), concebido para servir de enlace entre la comunidad científica y los sectores productivos de bienes y servicios, para atenderlos y ofrecerles soluciones a sus problemas de desarrollo (CICATA, 2015), se está implementando el proyecto llamado “Tomografía de Impedancia Eléctrica”. Este proyecto consiste en realizar la obtención de imágenes de una sección transversal de una parte del interior del cuerpo humano y verla en tiempo real, dicho proyecto aún está en proceso y se requiere de más esmero, esfuerzo e investigación. El objetivo es implementar al proyecto una Interface Hombre Maquina (HMI), CICATA Querétaro también tiene un enlace con la Universidad Tecnológica del Estado de Querétaro (UTEQ) y maneja una modalidad educativa parcialmente teórica con un 70% practico y 30% teórico que aporta jóvenes con el fin de llevar a cabo el programa de estadías, que consiste en hacer residencia en una institución o empresa a fin de llevar a cabo lo aprendido. 7 II. ANTECEDENTES Actualmente en el Centro de Investigación en Ciencia y Tecnología Avanzada (CICATA) se está desarrollando bajo el estudiante a doctorado Miguel Ángel San Pablo Juárez, el proyecto llamado “Tomografía de Impedancia Eléctrica”, este proyecto consiste en un tomógrafo el cual podrá obtener imágenes por secciones de ciertas partes del cuerpo. Al tomógrafo se le pretende implementar una Interface para poder visualizar la imagen obtenida, donde se tendrá que programar y desarrollar una Interface Hombre Maquina. 8 III. JUSTIFICACIÓN El proyecto de TIE que se tiene en el centro de investigación, aún está en desarrollo, por lo tanto requiere de varias mejoras, una de ellas es la implementación de una interfaz, para que el usuario pudiese ver la imagen tomada por el prototipo. ¿Porque una pantalla? El proyecto de TIE está ligado al campo de la medicina, y si se reflexiona sobre los adelantos que se han hecho a varios de los equipos médicos con pantallas táctiles prácticamente ya se encuentran en la habitación del paciente, asistiéndole con funciones de teléfono, televisión y otros servicios al lado de la cama. Las aplicaciones con interfaz táctil también son más fáciles de usar para las personas mayores, ya que su manejo intuitivo no demanda conocimientos técnicos viéndolo desde cierto ángulo. Se busca entonces implementar el uso de una HMI desarrollada con el equipo que se cuenta en CICATA Querétaro, logrando de esta manera un conocimiento amplio en el desarrollo y programación de HMI para la comunidad universitaria en general. 9 IV. OBJETIVOS Desarrollar una Interface Hombre Maquina (HMI) para un prototipo de Tomógrafo de Impedancia Eléctrica. Objetivos específicos Aprender a Implementar código fuente en la placa entrenadora STM32F4 Discovery de ST Microelectronics. Desarrollar código para despliegue de figuras básicas en la pantalla 4D Systems µLCD70 DT. Implementar código en Arduino MEGA 2560. Implementar rutinas para manejar el puerto serial en lenguaje c. Desarrollar códigos en la placa entrenadora STM32F4 Discovery de ST Microelectronics, Arduino MEGA 2560 y la pantalla 4D Systems µLCD70 D para lograr visualizar la imagen de una tomograma. 10 V. ALCANCE Programación de algoritmos en la placa STM32F4 Discovery de ST Microelectronics para desplegar una imagen en pantalla. Por lo tanto se requiere de un Herramienta para programar en la entrenadora STM32F4 el software a utilizar es Keil uVision4 que está disponible para su compra pero para prácticas es suficiente con la versión de evaluación que se encuentra en el página oficial (www.keil.com) junto con librerías y demos. La placa STM32F4 Discovery es una entrenadora de bajo costo, anteriormente se optó por usar Arduino para el tomograma pero su capacidad se vio muy limitada en cambio el STM32F4 Discovery cuenta con un encapsulado LQFP de 100 pines. Este microcontrolador contiene un núcleo ARM Cortex-M4 con FPU (unidad de punto flotante), suficientemente potente para la matemática requerida. Existe actualmente el STM32 CubeMX que facilita el desarrollo de programación para esta serie de placas, se piensa hacer uso de esta misma, el software se encuentra en la página oficial (www.st.com). Se hará uso de la pantalla 4D Systems µLCD70 DT y su respectivo software Workshop4 descargada en la página oficial (www.4dsystems.com.au) Se hará uso de Arduino para poder comunicarnos con la pantalla 4D Systems µLCD70 DT, puesto que ya hay dichas librerías para Arduino. 11 Realizar una interfaz en la pantalla. Comunicación del STM32F4 Discovery con el tomograma, este envía algoritmos que serán captadas por el microcontrolador el cual realiza procesos matemáticos, enviara los datos calculados al Arduino y esta, gracias a las librerías dibujara en la pantalla las imágenes captadas por el tomograma. 12 VI. ANÁLISIS DE RIESGOS Varias circunstancias suceden día a día al momento de realizar un proyecto, sea cual sea, siempre habrá factores que determinen el rumbo de la culminación del proyecto. En esta capsula se analizaran con detenimiento las situaciones que se pudiesen presentar durante el desarrollo del proyecto por medio de del Análisis Modo Efecto Falla (tabla: 1.0, 1.1 y 1.2). Análisis Modo Efecto Falla (AMEF) Proyecto: Programación y Desarrollo de una HMI para “Tomografía de Impedancia Eléctrica” Realizado por: Abelardo García Vázquez Fecha: 11/06/2015 El tiempo para el desarrollo del proyecto no es suficiente. El encargado del proyecto no tiene una buena administración del tiempo. El proyecto no concluirá satisfactoriamente con los objetivo principales El entorno de Keil uVision4 es muy complicado El software tiene muchas librerías y hay poca información para aprender a usarlo. El programa no será desarrollado. Difícil comunicación entre la pantalla µLCD70 DT y Arduino El comunicación no se llevara cabo, y el programa no será generado El entorno la pantalla 4D Systems µLCD70 DT.es muy complicado. Causas potenciales 10 Planificación y administración de tiempos y roles 10 Escaso conocimiento sobre el entorno de Keil uVision4 10 Escasos conocimiento en el entorno de la pantalla 4D Systems µLCD70 DT Tabla 1.0 13 Controles de los procesos actuales 7 Se cuenta con un plan de actividades para revisar el tiempo invertido en cada tarea. 4 280 5 Se cuenta con una guía de iniciación. 7 350 5 Se cuenta con tutoriales y guías de iniciación. 8 400 RPN Efectos de fallas potenciales DET Modo de falla potencial OCC Paso del proceso SEV SEV= ¿Qué tan grave es para el usuario? OCC= ¿Qué tan frecuente es la causa? DET= ¿Qué tan probable es su detección? RPN= Prioridad del riesgo en orden a los intervalos; calculado como: SEV * OCC * DET A continuación se muestran las recomendaciones a seguir para el correcto desarrollo del proyecto (tabla 1.1). Análisis Modo efecto Falla (AMEF) SEV= ¿Qué tan grave es para el usuario? OCC= ¿Qué tan frecuente es la causa? DET= ¿Qué tan probable es su detección? RPN= Prioridad del riesgo en orden a los intervalos; calculado como: SEV * OCC * DET Acciones recomendadas Responsabilidad Administración del tiempo y tareas a realizar. El usuario tiene la obligación de realizar las tareas del plan de actividades en tiempo y forma. Basarse en la guía de iniciación y búsqueda de información en internet, libros y toma asesorías. Basarse en la página oficial, haciendo uso de la guía de iniciación, viendo tutoriales que se encuentran en la red, buscar apoyo por parte de terceras personas. Acciones tomadas NUEVO SEV NUEVO OCC NUEVO DET NUEVO RPN Se trabaja a la par con el plan de actividades. 3 7 9 189 Deberá practicar realizando ejemplos en el entorno de Keil uVision4 Se basa en la guía y revisión de información que aporte ejemplos del entorno de Keil uVision4 3 4 9 108 Desarrollar ejercidos, practicar con ejemplos en el entorno del software Workshop4 Se realizan ejemplos de tutoriales, le revisa la información de la guía de iniciación. 3 5 9 135 Tabla 1.1 A continuación se muestran las especificaciones correspondientes a los intervalos utilizados Análisis AMEF (tabla 1.2). Intervalos para realizar el análisis (AMEF). GRAVEDAD (SEV) 1= No se dará cuenta 2= Probablemente se Notará 3= Se Notará 4= Insatisfacción 5= Inconformidad 6= Queja significativa 7= Alta inconformidad 8= Muy alta inconformidad 9= En peligro con Alerta 10= En peligro sin Alerta OCURRENCIA (OCC) 1= 1 en 100000 2= 1 en 20000 3= 1 en 5000 4= 1 en 2000 5= 1 en 500 6= 1 en 200 7= 1 en 50 8= 1 en 20 9= 1 en 5 10= 1 en 2 Tabla 1.2 Intervalos 14 DETECCION (DET) 1= 100% 2= 99% 3= 95% 4= 90% 5= 85% 6= 80% 7= 70% 8= 60% 9= 50% 10= menos de 50% VII. FUNDAMENTACIÓN TEÓRICA HMI (Human Machine Interface “Interface Hombre-Máquina) Es el medio mediante el cual el usuario del sistema interactúa, monitoreando datos y alarmas, parametrizando o enviando comandos de control y a través del cual se controla un determinado proceso, ver figura 1.0. La industria del HMI surge de la necesidad de estandarizar el monitoreo y control de sistemas a distancia, PLCs y otros mecanismos de control. (Electroindustria, 2013). Desde finales de las década de los 90, la mayoría de los producto de PLC ofrecen integración con sistemas HMI/SCADA. Y muchos de ellos utilizan protocolos de comunicaciones abiertas y no propietarios, que han permitido masificar este tipo de sistemas y ponerlos al alcance empresas. (Electroindustria, 2013) Figura 1.0 Fuente: (Electroindustria, 2013) 15 de las pequeñas El uVision de Keil. Combina la gestión de proyectos, edición de código fuente, la depuración del programa y simulación completa en un entorno de gran alcance. La plataforma de desarrollo uVision es fácil de usar y ayuda a crear rápidamente programas integrados que funcionan. El editor uVision y depurador se integran en una sola aplicación que proporciona un entorno integrado de desarrollo del proyecto sin fisuras. (keil, 2015) El STM32F4DISCOVERY. Ayuda a descubrir las características de la línea STM32F407 / 417 y para desarrollar aplicaciones fácilmente. Incluye todo lo necesario para los principiantes y los usuarios experimentados para empezar rápidamente. (ST life.augmented, 2015) Figura 1.1. Fuente: (ST life.augmented, 2015) 16 Sobre la base de la STM32F407VGT6 como el que se muestra en la figura 1.1, incluye una herramienta ST-LINK / V2 depuración incrustado, dos ST MEMS, acelerómetro digital y micrófono digital, una DAC de audio con controlador del altavoz integrado de clase D, LEDs y botones pulsadores y un conector microUSB AB OTG. (ST life.augmented, 2015) STM32CubeMX. Es parte de ST Microelectronics STMCube ™ iniciativa original para facilitar a los desarrolladores la vida mediante la reducción de los esfuerzos de desarrollo, tiempo y costo. STM32Cube cubre la cartera STM32. (ST life.augmented, 2015) STM32Cube incluye el STM32CubeMX que es una herramienta de configuración de software gráfico que permite generar código de inicialización en C utilizando asistentes gráficos. (ST life.augmented, 2015) También incorpora una plataforma de software completa, entregado por la serie (como STM32CubeF4 para la serie STM32F4). Esta plataforma incluye la STM32Cube HAL (un software integrado STM32, capa de abstracción, lo que garantiza la portabilidad maximizada a través del portafolio STM32), además de un conjunto coherente de componentes de middleware (RTOS, USB, TCP / IP y gráficos). Todos los servicios de software embebido vienen con un conjunto completo de ejemplos. (ST life.augmented, 2015) 17 Arduino. Arduino es una plataforma de hardware de código abierto, basada en una placa de circuito impreso que contiene un microcontrolador de marca ATMEL que cuenta con entradas y salidas, analógicas y digitales, en un entorno de desarrollo que está basado en el lenguaje de programación procesing. El dispositivo conecta el mundo físico con el mundo virtual, o el mundo analógico con el digital controlando, sensores, alarmas, sistemas de luces, motores, y actuadores. (Carlos Hipólito Tapia Ayala, 2013). Hay muchas otros microcontroladores y plataformas disponibles para la computación física donde las funcionalidades y herramientas son muy complicadas de programar, Arduino simplifica el proceso de trabajar con microcontroladores, ofrece algunas ventajas y características respecto a otros sistemas. (Carlos Hipólito Tapia Ayala, 2013). Factibles: Las placas Arduino son más accesibles y factibles comparadas con otras plataformas de microcontroladores. (Carlos Hipólito Tapia Ayala, 2013) Multi-Plataforma: El software de Arduino funciona en los sistemas operativos Windows, Macintosh OSX y Linux. La mayoría de los entornos de para microcontroladores están limitadas (Carlos Hipólito Tapia Ayala, 2013). Ambiente de programación sencillo y directo: El ambiente de programación de Arduino es fácil de usar para los usuarios, Arduino está basado en el entorno de programación de procesing con lo que el usuario aprenderá a programar y se familiarizaría con el dominio de desarrollo Arduino. (Carlos Hipólito Tapia Ayala, 2013). 18 Software ampliable y de código abierto: El software Arduino está publicado bajo una licencia libre y preparada para ser ampliado por programadores y desarrolladores experimentados, el lenguaje puede ampliarse a través de librerías de C++ y modificarlo a través del lenguaje de programación AVR C en el que está diseñado. (Carlos Hipólito Tapia Ayala, 2013). Arduino / MEGA 2560 El Arduino / Mega 2560 (ver figura 1.2), es una placa electrónica basada en el Atmega2560 (ficha técnica). Cuenta con 54 pines digitales de entrada / salida (de los cuales 15 se pueden utilizar como salidas PWM), 16 entradas analógicas. Contiene todo lo necesario para apoyar el microcontrolador; simplemente conectarlo a un ordenador con un cable USB o el poder con un adaptador de CA o la batería a CC para empezar. La junta Mega 2560 es compatible con la mayoría de los escudos diseñados para Arduino / 4 UARTs (hardware puertos serie), un oscilador de cristal de 16 MHz, una conexión USB, un conector de alimentación, un header ICSP, y un botón de reinicio. (Arduino, 2015) Figura 1.2: Arduino / MEGA 2560 Fuente: (Arduino, 2015) 19 Conector USB Proporciona la comunicación para la programación y la toma de datos, también provee una fuente de 5 VDC para alimentar las placas entrenadoras. (Carlos Hipólito Tapia Ayala, 2013). Pantalla 4D Systems uLCD70DT El uLCD-70DT está diseñado para aplicaciones que exigen un gran módulo de pantalla inteligente, y es el mayor tamaño disponible de Sistemas 4D hasta la fecha (ver figura 1.3). Conduce la pantalla y periféricos por el procesador DIABLO16, un chip muy capaz y potente que permite la funcionalidad independiente, programado utilizando el IDE Software Sistemas 4D Taller 4. El IDE taller permite soluciones gráficas para ser construidos rápidamente y con facilidad debido a su diseño es únicamente para los procesadores gráficos de 4D. (4dsystems, 2014) El procesador DIABLO16 ofrece FLASH y RAM considerables mejoras sobre el procesador PICASO, y también proporciona funciones asignables como SPI, Serial, PWM y también proporcionan hasta 4 canales de entradas analógicas. (4dsystems, 2014) El módulo de visualización tiene una serie de características que incluyen PWM para sonido, detección táctil, almacenamiento de memoria micro-SD, uso general de E / S incluyendo entradas analógicas, múltiples serie TTL, I 2 C , SPI y varios temporizadores resolución de milisegundos, entre muchos más Características. (4dsystems, 2014) 20 Cualquier cosa que se ha diseñado en el pasado para ejecutarse en un procesador PICASO teóricamente se puede ejecutar en este Módulo DIABLO16 con cambios menores, ver la figura 1.7. (4dsystems, 2014) Figura 1.3. Pantalla uLCD-70DT Fuente: (4dsystems, 2014) Workshop4 IDE Workshop4 IDE es un software completo para Microsoft Windows que proporciona una plataforma de desarrollo de software integrado para toda la familia 4D de procesadores y módulos. El IDE combina el editor, compilador, enlazador y Downloader para desarrollar el código de aplicación 4DGL completa. Todo el código de aplicación de usuario se desarrolla dentro del Workshop4 IDE. Workshop4 incluye cuatro entornos de desarrollo, para que el usuario elija basarse en los requisitos de aplicación o incluso el nivel de habilidad del usuario. Diseñador. 21 Este entorno permite al usuario escribir código 4DGL en su forma natural para programar el módulo de pantalla. Visi. Este entorno también se proporciona para transformar el módulo de visualización en un módulo de visualización de serie esclavo, lo que permite al usuario controlar la visualización de cualquier host microcontrolador o dispositivo con un puerto serie. Visi Genie Un entorno de avanzada que no requiere ninguna codificación en absoluto, todo es hecho automáticamente. Simplemente coloque en la pantalla los objetos que desee (similares a ViSi), establezca los acontecimientos que desee conducir con ellos y el código está escrito para usted automáticamente. Visi-Genie ofrece lo último en desarrollo rápido, experiencia de 4DSystems. Serial Este entorno también se proporciona para transformar el módulo de visualización en un módulo de visualización de serie esclavo, lo que permite al usuario controlar la visualización de cualquier host microcontrolador o dispositivo con un puerto serie. 22 Estándar Rs232. El nombre oficial del estándar es EIA/TIA-232-E y es un estándar completo, puesto que no sólo especifica los niveles de voltaje y señal, sino que además especifica la configuración de pines de los conectores y una cantidad mínima de información de control entre equipos. También especifica la forma y características físicas de los conectores. (Kusch) Este estándar fue definido en 1962, antes de la lógica TTL, razón por la cual no utiliza los niveles lógicos de 5 volts y tierra. Un nivel alto a la salida del transmisor está definido como un voltaje entre +5 y +15 volts, mientras que un nivel bajo está definido como un voltaje entre -5 y -15 volts. (Kusch) La lógica del receptor fue diseñada para permitir un nivel de ruido de 2 volts. Así, un nivel alto para el receptor está definido en el rango +3 a +15 volts, mientras que un nivel bajo va desde los -3 a los -15 volts. (Kusch) Es importante notar que un nivel alto está representado por un valor lógico ‘0’, históricamente llamado spacing (espacio), mientras que un nivel bajo representa un valor lógico ‘1’, históricamente referenciado como mar King (marca). (Kusch) Este estándar también define un máximo slew rate o máxima variación de voltaje de 30[V/µs] para evitar el crosstalk, que es la inducción de las señales que viajan por un cable en los cables adyacentes. Inicialmente, el estándar limitaba la velocidad de transferencia de datos a 20[kbps] (kilo bits por segundo). Actualmente los circuitos integrados soportan velocidades mucho mayores, de hasta 350[kbps], manteniendo el slew rate. (Kusch) 23 La carga vista por el transmisor se especificó en 3 a 7 [kΩ]. En un principio se estableció un largo máximo del cable de 15 metros, pero luego fue modificado por la revisión D del estándar. Ésta especifica una máxima capacitancia de 2500pF], en vez de establecer un largo máximo. Así, el largo máximo depende de la capacitancia característica del cable utilizado. (Kusch) El estándar estableció 4 grupos de señales: común, datos, control y temporizamiento, sumando en total 24 señales. También especifica un conector de 25 pines llamado DB25, el cuál es capaz de incluir todas estas señales. Afortunadamente sólo muy pocos equipos utilizan esta gran cantidad de señales. La mayoría, además de la señal de tierra de referencia, requiere sólo 2 para datos y 2 para control, o sólo el par de datos. Estos últimos suelen utilizar un conector DB9S, de 9 pines, el cual permite acomodar las mínimas señales utilizadas por equipos modernos. La figura 1.4 presenta las señales en un conector DB9. Este conector está visto desde fuera del computador. Las señales que apuntan hacia la derecha son señales que salen del computador, mientras que las que apuntan a la izquierda son entradas al computador. (Kusch) Figura 1.4 Fuente: (Kusch) 24 Las mínimas señales utilizadas en una comunicación bidireccional son TD para transmitir datos y RD para recibir datos. Asimismo, si desea utilizarse control de flujo por hardware, se utilizan las señales RTS (petición de transmisión) y CTS (habilitado para transmitir). El control de flujo impide que un transmisor rápido sature a un receptor lento. Normalmente el PC podrá transmitir datos ininterrumpidamente, pero el equipo receptor puede ser más lento y no alcanzar a procesar todos los datos que le envía el PC. (Kusch) La interfaz RS-232 está pensada para conectar un terminal de datos (DTE) a un equipo tipo modem, llamado equipo de datos de terminación en circuito (DCE). El DCE es un equipo que hace la interfaz entre el DTE y el medio por el cual se transmitirán los datos. Un ejemplo de DCE es un modem, el cual hace de interfaz entre un PC y la línea telefónica. También pueden conectarse 2 DTE directamente a través de un puerto RS-232. Para ello se emplea un cable denominado null-modem. Este cable es especial, ya que posee líneas de datos y control invertidas entre sus 2 conectores. A continuación se muestra la conexión interna de un cable null-modem: (Kusch) Las señales RTS y CTS también pueden utilizarse para establecer la dirección de comunicación en un sistema half-duplex. Esto es necesario cuando se utilizan conversores RS-232 a RS-485, pues este último utiliza un mismo par trenzado tanto para transmitir como para recibir, convirtiéndolo en un protocolo half-duplex. (Kusch) 25 Existe un circuito integrado muy popular para hacer la conversión de lógica TTL de 5V a lógica RS-232 llamado MAX232, (ver figura 1.5). El chip incluye inversores, ya que un 0 lógico se transforma en un nivel alto en el lado RS-232 y vice versa. Además, el chip es alimentado con una fuente simple de +5 volts, y a través de la conexión externa de 4 condensadores electrolíticos de 1 ó 10[µF] (dependiendo del fabricante del chip) genera el voltaje necesario para la transmisión RS-232. Cada chip posee 2 drivers y 2 receptores, con lo cual pueden conectarse las 2 señales de datos y, de ser necesario, una señal de control de entrada y otra de salida. (Kusch) Figura 1.5 Fuente: (electricaltechnology, n.d.) 26 La versión de 3V del MAX232 se llama MAX3232. Existen también modelos similares de otros fabricantes, como el ST3232E, los cuales son compatibles pin a pin. Las principales ventajas del ST3232E sobre otros chips son: o Voltaje de operación de 3 a 5V. o Velocidad de hasta 250kbps o 15kV de protección electroestática. o Alta eficiencia, sólo 300uA de alimentación. o No requiere condensadores electrolíticos, sólo cerámicos de entre 0.047 y 0.47 [µF], dependiendo del voltaje de alimentación. o Posee una configuración de hardware para poder utilizar el mismo módulo tanto en 3[V] como en 5[V], sin tener que cambiar los valores de los condensadores. o Disponible en 4 tipos de empaque SMD y un empaque DIP. Este módulo fue diseñado para poder conectar un microcontrolador a cualquier equipo que utilice la interfaz RS-232 por medio de un cable serial tipo null-modem, con un conector DB9 común. (Kusch) 27 VIII. PLAN DE ACTIVIDADES A continuación se muestra la planeación de tareas y actividades a realizar para el término en tiempo y forma del proyecto (figura 1.6). Figura. 1.6 28 Diagrama de Gantt A continuación se muestra el diagrama de Gantt con la planeación y duración del proyecto (Figura 1.6.1). Figura1.6.1 29 IX. RECURSOS MATERIALES Y HUMANOS En la tabla 1.4 se tiene desglasado los recursos materiales. Audiovisuales Videos Diapositivas Documentales Asesorías Recursos materiales Informáticos Otros Archivos electrónicos Pc Word Celular Correo Kit de herramientas Libros electrónicos Taladro Computadora placa entrenadora STM32F4 Arduino MEGA 2560 Pantalla 4D Systems µLCD70 Tabla 1.4 Recursos humanos Dr. Eduardo Morales Sánchez, asesor. M. Miguel Ángel San Pablo Juárez, compañero y asesor. Practicante, García Vázquez Abelardo. 30 X. DESARROLLO DEL PROYECTO Implementación código fuente STM32F4 Discovery. EL proyecto Tomografía de impedancia Eléctrica viene siendo en si un tomógrafo, actualmente el tomógrafo ya recopila los valores en una placa entrenadora que soporta la matemática, se estaría hablando de la placa STM32F4 Discovery, pero aún falta implementar código para enviar estos datos a la placa de Arduino MEGA 2560. El tipo de comunicación a implementar es el estándar Rs232, en este caso no se ocupara el famoso cable rs232 ya que no se conectara de la placa a la pc, simplemente se conectara de una placa a otra, manejando solo valores de 0 y 5V. Mas sin embargo se hará uso del estándar EIA/TIA-232-E ya que se respetara la longitud de máximo de 15 metros, la comunicación será serial y con una velocidad de 9600 baudios. Para poder desarrollar un programa para la placa STM32 se apoyara en el software STMCubeMX para desarrollar código en C y poder programar en Keil Uvicion4. 31 Se ejecuta el software STMCubeMX como en la figura 1.6. Figura 1.6 Se selecciona New Project y aparecerá una ventana como en la figura 1.7. Figura 1.7 En este apartado se selecciona el microprocesador a utilizar en este caso es el STM32F401VC como en la figura 1.8 y se da clic en ok. 32 Figura 1.8 Este ejemplo se utilizará un puerto UART, se selecciona que UART utilizar y se configura como en la figura 1.9. Figura 1.9 Se abrirá la pestaña de configuración y clic en USUART 2, tal y como se muestra en la figura 2.0. Figura 2.0 33 Se establecen los baudios, se deja esta parte tal y como se muestra en la figura 2.1. Figura 2.1 Posteriormente, se selecciona la pestaña Project y se da clic en Settings en la cual se abrirá una ventana similar al de la figura 2.2, aquí se establece que tipo de compilador usar en este caso se selecciona MDK ARM 4.73, el nombre del proyecto y la ubicación de donde se guardara. Figura 2.2 34 Al terminar este proceso, se selecciona Project, se da clic en generar código, en esta parte se generan las librerías requeridas y un archivo para empezar a programar en Keill uvicion4, esperar mientras se abre un archivo nuevo, la espera tarda un poco, ver figura 2.3. Figura 2.3 Tal y como se observa en la figura 2.3 se da clic en open Project. Después de esto se genera un archivo similar como al de la figura 2.4. Figura 2.4 35 Como se hará uso de ciertas funciones como “sprintf” se mandará llamar la librería “stdio.h”, como en la figura 2.5. Figura 2.5 Para envíar un dato a Arduino se escribe el siguiente código como se muestra en la figura 2.6 en Keil: Figura 2.6 Para poder cargar el programa en la placa STM32F4, antes se conecta la placa a la pc, posteriormente se selecciona “option for target”, se selecciona “debug”, se selecciona “Settings” y se deja configurado como se observa en la figura 2.7. 36 Figura 2.7 Después se compila el programa con la pestañita “build” y si no hay ningún error se procede a cargar el programa. El programa está diseñado para que cada que se resetee la placa STM32F4, esta enviará los caracteres “uteq” Comunicación entre la placa de Arduino y la placa STM32F4. Ya conectado el Arduino, solo se hará uso de los pines RX , TX y tierra tanto en Arduino como la placa STM32F4, se conectan ambas placas, la configuración es RX con TX y TX con RX. Para poder leer el dato que envía la placa STM32F4 se carga en Arduino el siguiente programa que aparece en la figura 2.8. 37 Figura 2,8 El programa antes mencionado, es para que la placa de Arduino pueda recibir los datos enviados desde la placa STM32F4 y de esta manera aprovechar los datos. Programación de la pantalla 4D Systems µLCD70 En este apartado se hará uso del software workshop4, el cual se usa para programar este tipo de pantallas. Se abre el programa workshop4, como en la figura 2.9 y se selecciona new Project. Figura 2.9 38 A continuación se selecciona la pantalla a utilizar en este caso el µLCD70, como se observa en la figura 3.0. Figura 3.0 Al haber terminado de escoger la pantalla deseada, aparecen cuatro opciones diferentes de programar la pantalla, ver la figura 3.1, en esta situación se hará uso de la comunicación serial, se selecciona la opción serial. Figura 3.1 39 Mientras tanto no se programara la pantalla con el Arduino directamente, para efectos de práctica se hará desde la PC, en la pantalla que aparece, ver figura 3.2, se selecciona “serial comander”. Figura 3.2 Por el momento no se tiene conectado ninguna pantalla por cual no se podrá programar, esta opción de “serial comander” sirve para enviar comandos y lograr realizar ciertos dibujos en la pantalla uLCD70 , en la figura 3.3 y 3.4 se muestran unos de los avances que se han hecho en la pantalla, esto sin conectarlos con Arduino. Figura 3.3 40 Figura 3.4 Acoplamiento de proyecto “Tomografía de Impedancia Eléctrica” en gabinete Para incrustar los componentes, se requiere de la toma de medidas, puesto que se busca incrustar los componente dentro del gabinete con el fin de que quede todo figo, para ello se requiere de: Mostrar los componentes dentro del gabinete, para así buscar una mejor apariencia interna, que los componentes queden situados estratégicamente para lograr un cableado fácil. Tomar las medidas necesarias en lugares donde sea requerido realizar atornillado donde se requiera, cortar para poder incrustar algún componente etc. Acomodar, armar y cablear todos los componentes. Desarrollo de la actividad: 41 En el laboratorio de Mecatrónica se realiza el primer avance de la actividad, que consististe en acoplar la electrónica del prototipo del proyecto de “Termografía de Impedancia Eléctrica”, para más exactos, un Tomógrafo, se realiza la presentación del prototipo actual, pantallas, relevadores, placas entrenadoras, todo el material que se requería acoplar al gabinete, de la misma manera se hace la presentación de tres gabinetes posibles. Para el prototipo se decide comenzar a trabajar con un solo gabinete, pensando en lo manejable y en las dimensiones, se elige el gabinete ideal para comenzar a trabajar. Se empieza con desmontar el prototipo anterior, desatornillar y quitar cables se hace usó de material que se encuentra en el laboratorio, tales como desarmadores cruz/plano, posteriormente se acomoda dentro del gabinete, buscando la mejor ubicación se logra una idea de cómo quedaría internamente. Figura 3.5 Como en el interior del gabinete no es plano, ver figura 3.5, los componentes no se acomodan bien, es por ello que en la base interna, se piensa acoplar una 42 tabla de acrílico de las siguientes dimensiones de 43.7cm por 26.5cm, con el fin de asentar los componentes, ver figura 3.6. Figura 3.6 Se procede a buscar tornillos de distintos tamaños para ajustar al acrílico las tarjetas y demás Figura 3.7 43 Se realizan orificios al acrílico, ver figura 3.7, y con la ayuda de machuelos y brocas se lograran las ranuras para cada tipo de tornillo, en la figura 3.8 se puede ver el avance antes mencionado. Figura 3.8 Se ajustan las placas tanto la fuente de alimentación y el Arduino con tornillos especiales, siempre buscando la manera de que todo estuviese justo y no se desatornillarán, en la figura 3.9 se pueden observar los avances internos del prototipo. Figura 3.9 44 Ya para culminar con el acoplamiento se corta un pedazo de acrílico, para poder incrustar una pantalla de 21 cm por 10 cm de ancho en la figura 4.0, 4.1 y 4.2 se puede observar cómo queda con la pantalla ya adaptada. Figura 4.0 Figura 4.1 Figura 4.2 45 Y por último se procede en colocar un marco, en la pantalla par que esta se viera más profesional, tal y como se observa en la figura 4.3. Figura 4.3 46 XI. RESULTADOS OBTENIDOS Se logró implementar código fuente placa entrenadora STM32F4 Discovery de ST Microelectronics Se logró desarrollar código para despliegue de figuras básicas en la pantalla 4D Systems µLCD70 DT Se logró desarrollar código en Arduino MEGA 2560 Se logró implementar rutinas para manejar el puerto serial en lenguaje c. Se logró implementar código fuente. Por cuestión de tiempo no se logró Desarrollar códigos en la placa entrenadora STM32F4 Discovery de ST Microeleectronics, Arduino MEGA 2560 y la pantalla 4D Systems µLCD70 D para lograr visualizar la imagen de una tomograma 47 XII. CONCLUSIONES Y RECOMENDACIONES El tiempo es importante, manejar óptimamente el tiempo al desarrollar proyectos, en lo personal fue uno de los factores por lo cual no se logró el objetivo del proyecto, más sin embargo otras causas las reconozco, el ser independientes no quiere decir que sepa todo, hay que reconocer que requerimos ayuda, y es preferible ser tonto un minuto que el resto de la vida, ya que en el trascurso del desarrollo del proyecto no pedí ayuda a mi asesor, sino hasta casi culminar el tiempo que se me otorgó. Logro entender que la tecnología avanza a pasos agigantados, ahora conozco y se programar pantallas tan fácilmente, algo que no creía poder hacer, el secreto la duda, la curiosidad y el tener voluntad de hacer las cosas Al momento de acomodar los componentes dentro del gabinete pensaba que con solo acomodar era suficiente, más tarde entendí que si se busca acoplar algo, es necesario pensar como acoplar pensando en el entorno donde se busca trabajar, siempre buscando opciones y descartando algunas hasta quedarse con la mejor. 48 XIII. ANEXOS Tomografía: es el procesamiento de imágenes por secciones. Un aparato usado en tomografía es llamado tomógrafo, mientras que la imagen producida es un tomograma. DSP, Procesadores Digitales de Señal. Son microprocesadores específicamente diseñados para el procesado digital de señal. Un sistema de procesado digital de señal puede definirse como cualquier sistema electrónico que realice procesado digital de señal, extendiéndose por él la aplicación de operaciones matemáticas. Si bien, en principio, el corazón de un sistema de procesado digital puede ser un microcontrolador, un procesador de propósito genera o un procesador digital de señal. CAN: Es un protocolo de comunicaciones desarrollado por la firma alemana Robert Bosch GmbH basado en una topología bus para bus para la transmisión de mensajes en ambientes distribuidos, además ofrece una solución a la gestión de comunicación entre múltiples CPU´s (unidades centrales de proceso). DCS: Sistemas de Control Distribuido. MEMS: Primera definición general para los MEMS es que se trata de sistemas embebidos y especializados en miniatura que involucran uno o más componentes o estructuras micromaquinadas que actúan como sensores o actuadores para habilitar funciones en un nivel superior dentro de la estructura de un sistema más complejo. 49 HISTORIA DE LA TOMOGRAFIA COMPUTADA o En 1917 RADON describe en forma matemática la reconstrucción de un objeto a partir de sus proyecciones. o En 1961 y hasta 1963 un equipo de médicos describe la utilización de esta técnica de reconstrucción de imágenes aplicado a la medicina. o Pero el que marco historia en 1970 fue el físico HOUNSFIELD quien trabajo desarrollando un corte tomográfico sectorial sobre la cabeza de un ser humano. o En 1971 se instala en EEUU el primer equipo de tomografía computarizada especializado en imágenes craneales. o A partir de ahí comienza la revolución radiodiagnóstica. o La tecnología ha ido avanzando rápidamente, y hoy en día la exploración mediante tomografía computada se ha convertido en el método de diagnóstico por imágenes más utilizado. CONCEPTO DE TOMOGRAFIA COMPUTADA PIXEL-VOXEL: La tomografía computada es un proceso radiológico y como tal, se basa en el mismo principio. Consiste en la emisión de un haz de rayos X a través de una fuente (tubo); que atraviesa un objeto y luego sensibiliza una serie de detectores. Como decimos entonces, es un proceso radiológico, pero que presenta una serie de diferencias: El tubo gira alrededor del paciente en forma longitudinal (axial); por lo tanto se obtiene una imagen en forma de rodaja. 50 Los rayos emitidos actúan durante todos sus trayectos sobre una serie de detectores que se encuentran alojados en el externo opuesto al tubo. Por ser electrónico los detectores, dan origen a una señal eléctrica; se convierte así en digital y es procesada por una computadora. Esta procesa la información de cada rodaja orgánica y la reconstruye en forma de cuadraditos. Se forma entonces una matriz de igual tamaño y profundidad (forma de cubo). Los cuadrados que forman la matriz se llaman Pixels, al tomar forma cúbica se los denomina Voxels. A cada cuadrito se le asigna un tono de la escala de grises. Este conjunto de tonos es llevado a la pantalla de un monitor. La imagen reconstruida es la que nosotros podemos observar luego. Las interfaces: Son el medio por el que los usuarios pueden comunicarse con las computadoras y están formadas por un conjunto de componentes. Y sirven como mediación entre hombre y máquina, y como sistema de traducción Todos los casos estudiados siguen las ideas expuestas por Thimbledy. Autor que comenta que el sistema componente físico de una interfaz “hardware” afecta solamente a la forma en que el sistema se usa, pero no a su concepto. Por un lado vemos que interfaz es un concepto sin una definición aceptada por todos. En general, puede entenderse que la interfaz de usuario es lo que ve el usuario del sistema. No es el sistema en sí, sino su puesta en escena y como tal 51 debe comprenderse. Podemos considerar que todo sistema que permita una interacción entre él y su usuario consta de una interfaz de usuario. Por consiguiente la interfaz tiene el objetivo principal de hacer “usables” para los usuarios las aplicaciones informáticas. El hecho de que se requieran interfaces implica que hay un algo distinto entre sistema y usuario, algo que necesita ser allanado para que la interacción del usuario con el sistema sea fluida. Por tal, es necesario saber que es una interfaz, ya que de su calidad, utilidad, usabilidad y aceptación depende el éxito de un sistema. Existen muchas definiciones: Landauer considera, que una interfaz es de dos formas: en su explicación abreviada sostiene que la interfaz “comprende los dispositivos de entrada y salida y el software que los gestiona”, y en la ampliada afirma que la interfaz abarca “todo aquello que permite al usuario vivir una experiencia con un ordenador, incluyendo la ayuda humana, la documental y la ofrecida por la propia maquina”. Mandel opina que la interfaz es “lo que el usuario ve en la pantalla”, y alarga la idea hasta abarcar la “totalidad de la experiencia que se da entre usuario y ordenador”. La interfaz incluye tanto el software como el hardware que presentan información al usuario y que permiten a este interaccionar con la propia información y con la máquina, además de la documentación online o impresa que acompaña al sistema. Al igual Rew y Davis opinan que una interfaz “relaciona las capacidades de presentación e interacción del sistema con el modelo cognoscitivo y perceptual del usuario”. 52 Y en la misma línea de idea Bradford la define como “cualquier parte del sistema con la que el usuario pueda comunicarse, sea a nivel físico, conceptual o de percepción. Y Shneiderman va más allá definiéndola como “la membrana de comunicación entre los usuarios y el sistema por la que los diseñadores y desarrolladores de herramientas informáticas pueden hacer que la tecnología sea tangible y sensible a las necesidades de los usuarios. Por tal, las características del diseño de esta interfaz pueden facilitar e impedir la interacción entre hombre y máquina. Historia del HMI. La automatización industrial tiene sus orígenes en la revolución industrial ya que los elementos mediante los cuales llevaban a cabo las tareas de control daban gracias a dispositivos electromagnéticos con la aparición de la energía eléctrica se empleaban motores, temporizadores, contadores y mecanismos; cada vez se hacían automatizaciones más compleja y los tableros de control eran más grandes. Hacia las década de 50 da origen a la electrónica y con ello a la utilización de los semiconductores con los cuales se reduce el tamaño de los tableros de control y por ende se reduce el número de averías ocasionada por el desgaste de los componentes; por una parte se pensaría que era una gran ayuda pero tenía un gran problema en cuanto a flexibilidad se refiere a que un sistema de control solo servía para una aplicación en específica y no era reutilizable, gracias a esta problemática, en el año 1996 las empresas Ford y General Motors, diseñan las especificaciones con los cuales debe de cumplir un controlador electrónico programable para que pueda ser considerado realmente útil dentro de la industria(ver figura 4.4), logrando con ello que Bedford associates sea el encargado de diseñar y desarrollar un prototipo de “controlador industrial” que 53 por muchos es y puede ser considerado como el primer PLC de la Historia ya que presentaba las características que requerían en esos momentos. Figura 4.4 Placa STM32F4 La placa STM32F4DISCOVERY (ver figura 4.5) ofrece las siguientes características: Microcontrolador STM32F407VGT6 con 1 MB de memoria flash, 192 KB de RAM, encapsulado LQFP100. ST-LINK/V2 incorporado con selector usar el kit como un ST-LINK/V2 independiente (con conector SWD para programación y depuración). Fuente de alimentación: a través del bus USB o desde una fuente de alimentación externa de 5V. Sensor de movimiento ST MEMS LIS302DL, acelerómetro con salida digital de 3 ejes. 54 Sensor de audio ST MEMS MP45DT02, micrófono digital omnidireccional Audio DAC CS43L22 con controlador integrado de altavoz clase D Ocho LEDs: o LD1 (rojo / verde) para la comunicación USB o LD2 (rojo) alimentación 3,3 V o Cuatro LEDs de usuario, LD3 (naranja), LD4 (verde), LD5 (rojo) y LD6 (azul) o 2 LEDs USB OTG LD7 (verde), VBus y LD8 (rojo) Dos pulsadores (usuario y reset) USB OTG con conector micro-AB Figura 4.5 Fuente: (St STM32F4 Discovery, 2012) 55 Requisitos y conexión del kit Para ejecutar y desarrollar aplicaciones en tu placa STM32F4DISCOVERY, los requisitos minimos son: · PC con Windows (2000, XP, Vista, 7). · Cable USB tipo A a Mini-B, utilizado para alimentar la placa (a traves del conector USB CN1) desde el PC y conectarse al ST-LINK/V2 para depuración y programación. La placa se debe conectar al PC de la siguiente manera (ver figura 4.6). Recuerda que es necesario instalarlos controladores para poder utilizarla. Figura 4.6 (St STM32F4 Discovery, 2012) 56 El depurador ST-LINK/V2 Una parte de la placa STM32F4DISCOVERY es un depurador ST-LINK/V2 que es soportada por diversos entornos de desarrollo. Antes de poder emplear la placa con su depurador es necesario instalar los controladores. Comprobar que los jumpers estén de la siguiente manera (ver figura 4.7). Figura 4.7 57 XIV. BIBLIOGRAFÍA 4dsystems. (2014). 4dsystems Turning Technology Into ART . Arduino. (2015). Arduino. Obtenido de https://www.arduino.cc/en/Main/arduinoBoardMega2560 Carlos Hipólito Tapia Ayala, H. M. (Octubre de 2013). Evaluación de la plataforma Arduino e implementación de un sistema de control de posición horizontal. Guayaquil . CICATA. (5 de Agosto de 2015). CICATA. Obtenido de CICATA. electricaltechnology. (s.f.). Obtenido de http://www.electricaltechnology.org/2014/10/max232-construction-working-typesuses.html Electroindustria. (Abril de 2013). Obtenido de http://www.emb.cl/electroindustria/articulo.mvc?xid=1817 Electroindustria. (Abril de 2013). Electroindustria. Obtenido de Electroindustria: http://www.emb.cl/electroindustria/articulo.mvc?xid=2027&xit=reflexiones-sobrehmi Jordi, S. (s.f.). http://arantxa.ii.uam.es/. Obtenido de http://arantxa.ii.uam.es/: http://arantxa.ii.uam.es/~taao1/teoria/tema1/pdf/Procesadores_dig.pdf keil. (2015). keil. Obtenido de keil: http://www.keil.com/uvision/ Kusch, M. (s.f.). Diseño del módulo RS-232. . ST life.augmented. (2015). ST life.augmented. Obtenido de ST life.augmented: http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/PF252419 ST life.augmented. (2015). ST life.augmented. Obtenido de ST life.augmented: http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1533/PF259242?sc=s tm32cube St STM32F4 Discovery. (09 de 11 de 2012). Guía de iniciación al kit de evaluación. 58