41
UNIVERSIDAD DE BUENOS AIRES FACULTAD DE INGENIERÍA C ARRERA DE E SPECIALIZACIÓN EN S ISTEMAS E MBEBIDOS MEMORIA DEL T RABAJO F INAL Reloj Tabata Autor: Ing. Tomas Alberto Porreca Director: Dr. Ing. Pablo Martín Gomez (FIUBA) Codirector: Esp. Ing. Diego Fernandez (FIUBA) Jurados: Mg. Ing. Diego Brengi (INTI/UNLAM/FIUBA) Esp. Ing. Patricio Bos(FIUBA) Esp. Ing. Juan Vicente Montilla Cabrera (FIUBA) Este trabajo fue realizado en las Ciudad Autónoma de Buenos Aires entre enero y diciembre de 2017.

Reloj Tabata - laboratorios.fi.uba.arlaboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo-Final-CESE-Tomas... · Después de analizar el tema, se plantea la solución de realizar un

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

UNIVERSIDAD DE BUENOS AIRES

FACULTAD DE INGENIERÍA

CARRERA DE ESPECIALIZACIÓN EN SISTEMAS

EMBEBIDOS

MEMORIA DEL TRABAJO FINAL

Reloj Tabata

Autor:Ing. Tomas Alberto Porreca

Director:Dr. Ing. Pablo Martín Gomez (FIUBA)

Codirector:Esp. Ing. Diego Fernandez (FIUBA)

Jurados:Mg. Ing. Diego Brengi (INTI/UNLAM/FIUBA)

Esp. Ing. Patricio Bos(FIUBA)Esp. Ing. Juan Vicente Montilla Cabrera (FIUBA)

Este trabajo fue realizado en las Ciudad Autónoma de Buenos Aires entre enero ydiciembre de 2017.

III

Resumen

La presente memoria describe el desarrollo de un reloj digital destinado a serutilizado durante clases de entrenamiento físico del método “tabata”. Este

método consiste en repeticiones de ejercicios con intervalos temporales y espopular en gimnasios de Argentina y otros países.

El trabajo fue articulado con la empresa DebMedia que está interesada encomercializar este equipo. El Reloj se implementó usando la plataforma

EDU-CIAA NXP y el sistema operativo FreeRTOS. Para eso se utilizaron técnicasde programación de sistemas operativos, sincronización entre tareas, diseño decircuitos impresos, protocolos SPI e I2C y comunicaciones remotas, aprendidas

durante el posgrado.

V

Agradecimientos

A mi director de proyecto final, Dr. Ing. Pablo Martin Gomez, y codirector, Esp.Ing. Diego Fernandez, por su ayuda y paciencia durante el desarrollo de estetrabajo.

A Dr. Ing. Ariel Lutenberg, por guiarme con la redacción del mismo y hacer po-sible el dictado de esta carrera.

VII

Índice general

Resumen III

1. Introducción General 11.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2. Introducción Específica 52.1. Descripción del Trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1. Requerimientos . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2. Plataforma EDU-CIAA-NXP . . . . . . . . . . . . . . . . . . . . . . . 62.3. Sistema Operativo FreeRTOS . . . . . . . . . . . . . . . . . . . . . . 72.4. Módulo RTC DS3231 . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.5. Transceiver nRF24l01 . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3. Diseño e Implementación 113.1. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.1.1. Display Led 7 segmentos . . . . . . . . . . . . . . . . . . . . 123.1.2. Controlador de pantalla . . . . . . . . . . . . . . . . . . . . . 133.1.3. Reloj de tiempo real DS3231 . . . . . . . . . . . . . . . . . . . 133.1.4. Transmisor y receptor NRF24L01 . . . . . . . . . . . . . . . . 163.1.5. Conexiones EDU-CIAA-NXP . . . . . . . . . . . . . . . . . . 18

3.2. Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4. Ensayos y Resultados 214.1. Pruebas funcionales del hardware . . . . . . . . . . . . . . . . . . . 21

4.1.1. Ensayo del conjunto pantalla y controlador . . . . . . . . . . 214.1.2. Ensayo de la conexión remota . . . . . . . . . . . . . . . . . . 22

4.2. Pruebas funcionales del Firmware . . . . . . . . . . . . . . . . . . . 234.3. Pruebas funcionales del sistema integrado . . . . . . . . . . . . . . . 24

5. Conclusiones 275.1. Conclusiones generales . . . . . . . . . . . . . . . . . . . . . . . . . 275.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

IX

Índice de figuras

1.1. Grafico del metodo Tabata . . . . . . . . . . . . . . . . . . . . . . . . 1

2.1. Plataforma EDU-CIAA-NXP . . . . . . . . . . . . . . . . . . . . . . . 62.2. Modulo DS3231 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3. Modulo NRF24L01 con antena integrada . . . . . . . . . . . . . . . 9

3.1. Diagrama en bloques del conexionado del sistema . . . . . . . . . . 113.2. Led encapsulado 3528 . . . . . . . . . . . . . . . . . . . . . . . . . . 123.3. Display 7 segmento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.4. Esquema Cátodo Común . . . . . . . . . . . . . . . . . . . . . . . . . 133.5. Esquema de conexion CI 74ls47 con display 7 segmento . . . . . . . 143.6. Configuración del protocolo I2C . . . . . . . . . . . . . . . . . . . . . 143.7. Target MSP430f2274 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.8. Esquema de la botonera . . . . . . . . . . . . . . . . . . . . . . . . . 173.9. Distribucion de los componentes en la plataforma EDU-CIAA-NXP 183.10. Pinout de los conectores P1 y P2 . . . . . . . . . . . . . . . . . . . . 193.11. Arquitectura del firmware . . . . . . . . . . . . . . . . . . . . . . . . 19

4.1. Representación de cada dígito con respecto a la entrada digital . . . 224.2. Analizador de espectro Agilent 8564E . . . . . . . . . . . . . . . . . 224.3. Antena de 2.4GHz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.4. Gráfico tomado de la pantalla del analizador de espectro . . . . . . 234.5. Sistema integrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

XI

Índice de Tablas

3.1. Caída de voltajes de cada led . . . . . . . . . . . . . . . . . . . . . . 133.2. Tabla de verdad del CI 74ls47 . . . . . . . . . . . . . . . . . . . . . . 153.3. Registros del DS3231 . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.4. Mensajes emitidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.5. Modos del modulo NRF24L01 . . . . . . . . . . . . . . . . . . . . . . 173.6. Conexiones EDU-CIAA-NXP . . . . . . . . . . . . . . . . . . . . . . 20

4.1. Ensayo de tension y corriente . . . . . . . . . . . . . . . . . . . . . . 214.2. Leds a encender para el ensayo de la tarea Leer botones . . . . . . . . 244.3. Grado de cumplimiento de los requisitos . . . . . . . . . . . . . . . 25

1

Capítulo 1

Introducción General

En este capítulo se explica que es el método “tabata” y su importancia, y se explicala necesidad a la que responde el proyecto junto a su objetivo.

1.1. Introducción

Las claves para tener una vida saludable son llevar una alimentación equilibra-da y hacer deporte con regularidad. Pero, a veces, el estrés del día a día obliga arestarle tiempo a la actividad física. Por ello se han diseñado métodos para lograruna activación completa del cuerpo con muy poco tiempo de trabajo a compara-ción de los entrenamientos tradicionales.

El Tabata es un método de entrenamiento que consistente en realizar ocho series,como se muestra en la Figura 1.1, de un ejercicio durante 20 segundos con 10 se-gundos de descanso entre serie y serie para un total de cuatro minutos de trabajo.El ejercicio puede ser de cualquier tipo, pero el método suele emplearse con tra-bajos de fuerza. Se trata de una fórmula que desarrolla la resistencia aeróbica yanaeróbica y que, debido a su alta intensidad, activa el metabolismo del cuerpodurante más de 30 horas.

FIGURA 1.1: Grafico del metodo Tabata

2 Capítulo 1. Introducción General

El método Tabata se ha utilizado por décadas por su eficiencia y los resultadospositivos que produce sobre el cuerpo humano de las personas que lo practican.También surgen derivados de este método así como el HIIT (entrenamiento in-terválico de alta intensidad) y el crossfit, ambos de moda en la actualidad, entreotros. El HIIT es una de las formas más efectivas que existen tanto para mejo-rar la resistencia como para quemar más calorías. Esto es debido a que mejorala capacidad del cuerpo para oxidar tanto la glucosa como la grasa corporal. ElCrossFit es un sistema de acondicionamiento físico basado en ejercicios constante-mente variados, con movimientos funcionales, ejecutados a alta intensidad. Entrelas principales ventajas de trabajar por un corto tiempo, con intervalos con bre-ves descansos entre sí, y sobre todo, a una máxima intensidad, se encuentra laposibilidad de mejorar simultáneamente el sistema aeróbico así como el sistemaanaeróbico. Es decir, no sólo ayudar a mejorar la resistencia cardiovascular sinotambién, liberar más testosterona y hormona de crecimiento, logrando mayor re-sistencia muscular y capacidad anaeróbica.

Para llevar a cabo este tipo de entrenamiento existen diversas aplicaciones paracelulares que son de mucha ayuda a la hora de contar la duración de los interva-los de tiempo para programar una rutina. Una de las más populares es “tabatatimer”. Estas herramientas sirven para entrenamientos individuales, ya que solodan la información de forma individual. A la hora de realizar un entrenamientogrupal o participar de una clase en un gimnasio, dejan de ser útiles.

Por ende se necesita una interfaz que proyecte la información para que esté dis-ponible a todos los participantes. La solución a esta problemática es construir unreloj que cumpla con la función de contar los intervalos de tiempo y expresarlosen un display de dimensiones considerables.

1.2. Motivación

El proyecto nace a raíz de que a un profesor de educación física se le presentael inconveniente, a la hora de dar clases de entrenamientos funcionales utilizan-do el método “tabata”, de controlar los tiempos durante la clase y además, detransmitírselo a sus alumnos, estar atento a la forma de ejecución de cada uno deellos.

Después de analizar el tema, se plantea la solución de realizar un reloj digital visi-ble al público que pueda contar tiempos de entrenamientos, tiempos de descansoy cantidad de series realizadas, estos programadas a requerimiento del usuario.

Durante el cursado de la Especialización de Sistemas Embebidos, se presentó elproyecto a la empresa DebMedia, la cual se interesó en construir y comercializareste producto.

El proyecto se llevará a cabo en articulación con la empresa Debmedia, cuya vi-sión es: “ Desde DEBMEDIA c© creemos que la experiencia que los consumidoresdesarrollan al vincularse con empresas, es un eslabón fundamental para el éxitode todo negocio. Nuestra visión es optimizar dicha relación para que las perso-nas vivan mejores experiencias y las empresas (nuestros clientes) incrementen susventas”.

1.3. Objetivo 3

Este proyecto se vincula con la misión de la organización beneficiando la relaciónentre los gimnasios y sus clientes. Esto permite obtener un respaldo para llevara cabo este proyecto y mejorarlo a futuro de acuerdo a los requerimientos queimponga el mercado.

1.3. Objetivo

El objetivo principal de este proyecto, es proporcionar a los instructores de losgimnasios una herramienta que les facilite llevar a cabo las clases de entrena-miento funcionales e interactuar con sus clientes y así poder mejorar su servicio.

5

Capítulo 2

Introducción Específica

En este capítulo se detallan los requerimientos del proyecto y se presenta la pla-taforma, el sistema operativo, el modulo Real Time Control y el modulo de co-municación remota, utilizados para este desarrollo.

2.1. Descripción del Trabajo

Este trabajo consiste en el diseño y fabricación de un prototipo del reloj digitalpropuesto para satisfacer los requerimientos del proyecto.

2.1.1. Requerimientos

De acuerdo a la necesidad que se busca satisfacer y a lo expuesto por futurosusuarios del producto final, se han encontrado los siguientes requerimientos:

1. Funcionalidad

a) Contar tiempo ascendente.

b) Contar tiempo descendente.

c) Contar cantidad de series o ciclos.

d) Tiempo de trabajo y descanso programable en un rango de 00 minutosa 60 minutos.

e) Poseer una alarma sonora configurable.

2. Programación

a) La programación debe realizarse remotamente con un alcance de almenos 7 metros.

3. Software

a) Se deberá contar el tiempo con una precisión de 1 seg.

b) Se deberá mostrar los datos en una matriz de led.

4. Hardware

a) El sistema deberá operar correctamente en un rango de temperaturaentre 0C y 60C.

6 Capítulo 2. Introducción Específica

b) La matriz de led deberá tener un tamaño de 20 cm de alto y 10 cm deancho para cada dígito.

5. Alimentación

a) El sistema deberá ser alimentado por la red domiciliaria entre 210 VACy 230 VAC y no consumir más de 2,5 AMP.

6. Documentación

a) Se debe generar la documentación correspondiente para operar el sis-tema correctamente.

2.2. Plataforma EDU-CIAA-NXP

El Proyecto CIAA (Computadora Industrial Abierta Argentina) nació en 2013 co-mo una iniciativa conjunta del sector académico y el industrial, representados porla ACSE1 y CADIEEL2, respectivamente[1].

Los objetivos del proyecto CIAA son:

Impulsar el desarrollo tecnológico nacional, a partir de sumar valor agre-gado al trabajo y a los productos y servicios, mediante el uso de sistemaselectrónicos, en el marco de la vinculación de las instituciones educativas yel sistema científico-tecnológico con la industria.

Darle visibilidad positiva a la electrónica argentina.

Generar cambios estructurales en la forma en la que se desarrollan y utilizanen nuestro país los conocimientos en el ámbito de la electrónica y de lasinstituciones y empresas que hacen uso de ella.

El proyecto CIAA se desarrolla en el marco de un trabajo libre, colaborativo y arti-culado entre industria y academia. Dentro de esta iniciativa se han elaborado dis-tintas plataformas de hardware, firmware y ejemplos de aplicación y entorno dedesarrollo basado en Eclipse. Dentro de las plataformas de hardware se encuen-tran versiones basadas en distintos microcontroladores de distintos fabricantes yversiones sobre FPGA (Field Programmable Gate Array). También hay versionespensadas para trabajar en ambientes industriales y versiones educativas que uti-lizan el mismo microcontrolador dentro de una placa de menores prestaciones y,por lo tanto, menor costo total que la versión industrial.

En la Figura 2.1 se muestra la EDU-CIAA-NXP, versión de bajo costo de la CIAA-NXP pensada para la enseñanza universitaria, terciaria y secundaria.

FIGURA 2.1: Plataforma EDU-CIAA-NXP

1Asociación Civil para la investigación, promoción y desarrollo de los Sistemas electrónicosEmbebidos.

2Cámara Argentina de Industrias Electrónicas, Electromecánicas y Luminotécnicas.

2.3. Sistema Operativo FreeRTOS 7

Las principales características de la misma son:

CPU: Microcontrolador NXP LPC4337JBD144 (Dual-core Cortex-M4 + Cortex-M0 @ 204MHz).

Debugger: USB-to-JTAG FT2232H. Soportado por OpenOCD.

Entradas y Salidas GPIO.

Interfaz SPI e I2C.

La EDU-CIAA-NXP es apta para desarrollar este trabajo, además es muy impor-tante contar con una plataforma realizada localmente, por proporcionar soportede hardware y software de la misma.

2.3. Sistema Operativo FreeRTOS

Un sistema operativo (operating system, OS) es un conjunto de programas queayuda al programador de aplicaciones a gestionar los recursos de hardware dis-ponibles, entre ellos el tiempo del procesador y la memoria.

Un RTOS es un sistema operativo de tiempo real, que además da herramientaspara que los programas de aplicación puedan cumplir compromisos temporalesdefinidos por el programador. Éste se emplea cuando hay que administrar variastareas simultáneas con plazos de tiempo estrictos.

Un RTOS necesita tener una mayor capacidad de multitarea que un no-RTOS pa-ra que pueda priorizar los múltiples hilos de proceso y puede proporcionar unmayor rendimiento. Las otras partes del sistema informático, incluyendo el CPUy la memoria, determinan la eficacia del mismo. Debido a la compleja programa-ción, requiere más código para ejecutarse con eficacia, por lo cual requiere másespacio en un sistema informático.

FreeRTOS es un RTOS ideal para aplicaciones en tiempo real profundamente inte-gradas que usan microcontroladores [2]. Así como para aplicaciones críticas y nocriticas.Para eso posee un kernel en tiempo real (o planificador en tiempo real) so-bre el cual se incrustan las aplicaciones, para cumplir con sus requisitos en tiemporeal.

2.4. Módulo RTC DS3231

Un reloj de tiempo real (RTC) es un dispositivo electrónico que permite obtenermediciones de tiempo.

Los RTC son relojes y calendarios que funcionan con segundos, minutos, horas,días, semanas, meses y años. Éstos están formados por un resonador de cristal in-tegrado con la electrónica necesaria para contabilizar el paso del tiempo.Aportanlas ventajas de reducir el consumo de energía, obtener mayor precisión y liberaral microcontrolador de tener que realizar la contabilización del tiempo. Incorpo-ran una batería que permite mantener el valor del tiempo en caso de pérdida dealimentación.

8 Capítulo 2. Introducción Específica

Los RTC son dispositivos ampliamente utilizados en electrónica. Todos los orde-nadores personales, servidores, tablets, y smartphone incorporan uno. Tambiénson muy frecuentes en sistemas embebidos y, en general, en multitud de disposi-tivos que requieren realizar un registro del tiempo.

El DS3231 es un integrado de bajo costo y extremadamente preciso, con una tem-peratura integrada compensada con oscilador de cristal (TCXO). El dispositivoincorpora una entrada de batería y mantiene un cronometraje preciso cuando laalimentación principal es interrumpida. La integración del resonador de cristalmejora la precisión a largo plazo del dispositivo. El DS3231 incorpora una medi-ción, garantizando una precisión de al menos 2ppm, lo que equivale a un desfasemáximo 172ms/día o un segundo cada 6 días.

La comunicación se realiza a través del bus I2C, por lo que es sencillo obtenerlos datos medidos. La tensión de alimentación es 2.3 a 5.5V. Este módulo tambiénincorpora una pequeña EEPROM AT24C32, que puede ser empleada para alma-cenar registros y mediciones. En el DS3231, la medición de temperatura tambiénestá disponible, aunque tiene una precisión baja ±3C, el tiempo de adquisiciónpuede durar hasta 1 segundo.

También incorpora una batería CR2032, como se observa en la Figura 2.2, paramantener el dispositivo en hora al retirar la alimentación. Esta batería debería sercapaz de mantener alimentado durante varios meses al DS3231.

FIGURA 2.2: Modulo DS3231

2.5. Transceiver nRF24l01

Los transceptores NRF24L01 son una serie de módulos de radio de 2,4 GHz, quese basan en el chip de Nordic Semiconductor. Integran un sintetizador de RF ytoda la lógica de banda base incluyendo un acelerador de protocolo por hardwa-re, con una interfaz SPI de alta velocidad para el controlador de la aplicación. Elmódulo Transceptor es de baja potencia y contiene una antena integrada.

En la Figura 2.3 se muestra el modulo NRF24L01 con sus respectivo pinout.

El rango de cobertura es muy dependiente de la situación de los transceptoresy tienen mayor alcance cuando están en la línea de visión y al aire libre que eninterior con obstáculos como paredes y otros materiales. La distancia normal queindican los distintos proveedores para este módulo es de 50 metros. Pero estevalor es para espacio abierto entre unidades funcionando a 2.4 GHz, en interiores,el alcance es menor debido a los obstáculos e interferencias.

2.5. Transceiver nRF24l01 9

FIGURA 2.3: Modulo NRF24L01 con antena integrada

Estos transceptores pueden, tanto enviar como recibir datos en “paquetes” devarios bytes a la vez. Incluyen una función de corrección de errores y es posiblecomunicar una unidad con hasta otras 6 unidades similares al mismo tiempo.

Para concluir se nombran las características técnicas más importante del mismo:

voltaje de funcionamiento del puerto IO: 0 ∼ 3.3v / 5v (Tolerante a 5V)

Tasa de trasmisión: + 7 dB

Recepción de sensibilidad: ≤ -90dB

El alcance de transmisión: 50m en zona abierta

Funcionamiento en la banda ISM de 2,4 GHz, por lo que no necesita licenciay es libre en todo el mundo

3 Velocidades de Datos seleccionables: 250Kbps, 1Mbps y 2Mbps

Acelerador por hardware del protocolo SPI (ShockBurst)

Consumo energético ultra bajo

11

Capítulo 3

Diseño e Implementación

En este capítulo se describe el desarrollo y funcionamiento del harware y firm-ware implementado en el proyecto.

3.1. Hardware

El sistema diseñado se compone de los siguientes elementos de harware:

Display Led 7 segmentos

Controlador de pantalla

EDU-CIAA-NXP

Modulo DS3231

Transmisor y receptor NRF24L01

En la Figura 3.1 se muestra un diagrama en bloques del sistema y a continuaciónse describe cada uno de los bloques.

FIGURA 3.1: Diagrama en bloques del conexionado del sistema

12 Capítulo 3. Diseño e Implementación

3.1.1. Display Led 7 segmentos

El display 7 segmentos utilizado es de diseño propio y consiste en un arreglo deleds, sobre un circuito impreso en una placa de cobre. Para mostrar la informa-ción necesaria se utilizaron 6 dígitos, 2 para segundos, 2 para minutos y 2 paralas series. Los dígitos de las series se implementaron de color blanco frío, paradiferenciarlos de los dígitos que indican minutos y segundos, que son de colorverde.

FIGURA 3.2: Led encapsulado 3528

Cada dígito se compone de 84 leds de montaje superficial, encapsulado 3528, yde alto brillo, como se muestra en la Figura 3.2.

Estos se distribuyen de manera tal que forman un display de 7 segmentos pro-piamente dicho, como se muestra en la Figura 3.3. Cada segmento está formado

FIGURA 3.3: Display 7 segmento

por 12 leds, y a su vez estos se agrupan de a tres e interconectados en serie. Estose debe a que el voltaje de alimentación es de 12V y la suma de la caída de voltajede los leds no debe superar los 12V. Por cada grupo de tres se conecta una resis-tencia en serie con los mismos, con la finalidad de fijar una corriente apta para elfuncionamiento de la pantalla, en este caso se fijó una corriente de 15mA. Comola caída de voltaje de los leds de color verde es diferente a los blancos, la resis-tencia varia de uno a otro. Esto se muestra en la Tabla 3.1. El funcionamiento dela pantalla corresponde a ánodo común, es decir que la alimentación de 12V estasiempre conectada y los segmentos se encienden conectándolos a masa. Como semuestra en la Figura 3.4.

3.1. Hardware 13

TABLA 3.1: Caída de voltajes de cada led y Resistencia conectada

Color Voltaje (V) Valor Resistencia (Ω)

Verde 3 470Blanco Frío 1,9 180

FIGURA 3.4: Esquema Cátodo Común

3.1.2. Controlador de pantalla

El controlador de pantalla se compone de un decodificador de bcd a 7 segmentos.El integrado seleccionado es el 74ls47, este convierte el código BCD1 de cuatrolineas a código para display 7 segmentos de ánodo común. la característica masimportante, es que sus salidas son de colector abierto y puede manejar cada seg-mento de led directamente, estas salidas pueden soportar 24mA en estado activa-do (lógica cero) y 15V desactivado (lógica uno). El funcionamiento corresponde ala lógica TTL2 y su alimentación es de 4,75V a 5,25V.

En la Figura 3.5 se muestra la conexión del integrado.

En la Tabla 3.2 se muestra la tabla de verdad por la que se rige el funcionamientode este circuito integrado.

Por ultimo, cabe destacar que el 74ls47 posee la función de prueba de display,encendiendo todos los segmentos, y la función de display en blanco, apagandotodos los segmentos.

3.1.3. Reloj de tiempo real DS3231

El modulo DS3231 se comunica con la EDU-CIAA-NXP a través de la interfazI2C, por sus siglas en inglés Inter-Integrated Circuit, es un bus serie de datos

1Binary-Coded Decimal (BCD) o Decimal codificado en binario es un estándar para represen-tar números decimales en el sistema binario, en donde cada dígito decimal es codificado con unasecuencia de 4 bits

2TTL es la sigla en inglés de transistor-transistor logic, el rango de tensión comprendida entre0,0V y 0,8V para el estado L (bajo) y los 2,2V y Vcc para el estado H (alto).

14 Capítulo 3. Diseño e Implementación

FIGURA 3.5: Esquema de conexion CI 74ls47 con display 7 seg-mento

desarrollado en 1982 por Philips Semiconductors.

Un dispositivo que envía datos en el bus se define como un transmisor y un dispo-sitivo que recibe datos, como un receptor. El dispositivo que controla el mensajese llama maestro. Los dispositivos que son controlados por el maestro se denomi-nan esclavos. El bus debe ser controlado por un dispositivo maestro que genera elreloj serial (SCL), controla el acceso de buses y genera las condiciones de STARTy STOP. El DS3231 funciona como un esclavo en el bus I2C. En la Figura 3.6 semuestra la configuración de este protocolo.

FIGURA 3.6: Configuración del protocolo I2C

Durante la transferencia de datos, la línea de datos debe permanecer estable cuan-do la línea de reloj es alta (5V). Los cambios en la línea de datos, mientras la líneade reloj es alta, se interpretan como señales de control.

La transferencia de datos sólo se podrá iniciar cuando el bus no está ocupado,para ello la linea de datos y de reloj deben permanecer altos. Un cambio en elestado de la línea de datos, de alto a bajo (0V), mientras el reloj es alto, defineuna condición de INICIO (START). Un cambio en el estado de la línea de datos,de BAJO a ALTO, mientras la línea de reloj es ALTA, define la condición de PA-RADA. El estado de la línea de datos representa datos válidos cuando, despuésde una condición de INICIO (START), la línea de datos será estable durante del

3.1. Hardware 15

TABLA 3.2: Tabla de verdad del CI 74ls47

período ALTO de la señal de reloj. Los datos sobre la línea deben ser cambiadosdurante el período BAJO de la señal de reloj y hay un pulso de reloj por bit dedatos. Cada transferencia de datos es iniciada con una condición de START y ter-mina con una condición de STOP. La información se transfiere byte a byte y cadareceptor reconoce con un noveno bit. El DS3231 funciona en el modo normal de100 kHz. Los datos se transfieren primero con el bit más significativo (MSB).

La información de tiempo se obtiene mediante la lectura de los bytes del registrocorrespondiente. En la Tabla 3.3 se muestran los registros3 del DS3231.

TABLA 3.3: Tabla de registros del DS3231

El tiempo es inicializado al escribir los bytes de registro correspondiente. El con-tenido de los registros de tiempo están en formato BCD. Al leer o escribir los

3Según hoja de datos Maxim Integrated

16 Capítulo 3. Diseño e Implementación

registros de tiempo actual se transfiere a un segundo conjunto de registros (buf-fer) para evitar errores cuando los registros internos se actualizan. Los buffers deusuario se sincronizan con las señales de START y STOP del protocolo I2C. Lainformación horaria se lee de estos segundos registros, mientras que el reloj siguefuncionando. Esto elimina la necesidad de volver a leer los registros, en caso deactualización de los registros internos durante una lectura.

3.1.4. Transmisor y receptor NRF24L01

La comunicación remota se implementó con dos módulos NRF24L01, uno confi-gurado como transmisor y el otro como receptor.

El modulo transmisor se comanda con el microcontrolador msp430f2274. Este esel encargado de configurar el modulo, recibir las señales del usuario y transmitir-las al receptor.

El sistema incorpora una batería CR2032 de 3V y se compone de los siguienteselementos:

Botonera

Microcontrolador msp430f2274

Transmisor Nrf24l01

La botonera consiste en un circuito formado por 5 pulsadores, los cuales se conec-tan en un extremo a alimentación de 3V, el otro extremo se conecta al puerto delmicrocontrador con sus respectivas resistencias de pull-down, es decir a masa,como se muestra en la figura 3.7.

De acuerdo al circuito, cada vez que el usuario presione un botón, pondrá a 3,3Vel puerto del microcontrolador correspondiente, de lo contrario el puerto se man-tendrá a 0V.

El microcontrolador al detectar un flanco ascendente en los pines correspondien-tes a cada pulsador emitirá por el puerto SPI, al módulo nrf24l01, los mensajes deacuerdo a la Tabla 3.4.

TABLA 3.4: Mensajes emitidos correspondiente a cada pulsador

Pulsador Mensaje Puerto

S1 AR P1.3S2 DER P1.4S3 IZQ P1.5S4 AB P1.6S5 OK P1.7

En la Figura 3.8 se muestra el target con el microcontrolador msp430f2274

El módulo NRF24L01 posee dos registros para configurar como transmisor o re-ceptor, en la Tabla 3.5 se muestra dicha configuración.

El transmisor funciona en modo TX _ MODE, modo en que el modulo NRF24L01funciona como transmisor, hasta que se envían todos los paquetes guardados enla TX _ FIFO, esta es la memoria donde se guardan los paquetes a transmitir,

3.1. Hardware 17

FIGURA 3.7: Target MSP430f2274

TABLA 3.5: Configuración de modo del modulo NRF24L01, me-diante los registros PWR _ UP Y PRIM _ RX

Modo PWR _ UP PRIM _ RX

TX _ MODE 1 0RX _ MODE 1 1

luego pasa al modo standby-II, en este modo el modulo NRF24L01 inverna hastaque ingresa un nuevo paquete a la TX _ FIFO. Si estando en este último modo, sedetecta un nuevo paquete, pasa al TX _ MODE.

FIGURA 3.8: Esquema de la botonera

El modulo receptor, se conecta a la plataforma EDU-CIAA-NXP por SPI y es con-figurado en RX _ MODE, modo en que el modulo NRF24L01 funciona como re-ceptor. En este modo el modulo está constantemente buscando paquetes y cuandoencuentra un paquete valido, de acuerdo el canal, lo coloca en la RX _ FIFO, estaes la memoria donde se guardan los paquetes recibidos para ser transmitidos porpuerto SPI hacia la EDU-CIAA-NXP.

18 Capítulo 3. Diseño e Implementación

Los módulos nrf24l01 poseen una frecuencia de operación de 2.400GHz a 2.525GHz,con una resolución de 1MHz. Para seleccionar el canal de transmisión, se debe co-locar en el registro RF _ CH el valor deseado en múltiplos de 1MHz y respetandola frecuencia de operación, de acuerdo a la Ecuacion 3.1.

Fo = 2400 + RF_CH[MHz] (3.1)

En este proyecto se eligió el canal 1, cuya frecuencia de operación es de 2401 MHz.

3.1.5. Conexiones EDU-CIAA-NXP

La plataforma EDU-CIAA-NXP cuenta con conectores hembra, que conecta lospines del microcontrolador LPC4337 hacia el exterior para que puedan ser utili-zados, como se muestra en la Figura 3.9.

FIGURA 3.9: Distribucion de los componentes en la plataformaEDU-CIAA-NXP

En este proyecto se utilizo el puerto USB DEBUG para programar al microcon-trolador y depurar el firmware. Para el conexionado del controlador de pantalla,modulo DS3231 y modulo NRF24L01, se utilizaron los conectores P1 y P2, que semuestran en la Figura 3.10.

Ademas se conectó un buzzer para generar señales sonoras. En la Tabla 3.6 semuestra las conexiones correspondientes.

3.2. Software

Para el desarrollo del firmware se uso el sistema operativo FreeRTOS V 8.2.1. Unsistema operativo de tiempo real (RTOS) es un sistema operativo optimizado para

3.2. Software 19

FIGURA 3.10: Pinout de los conectores P1 y P2

asegurar una respuesta determinística, con respecto al tiempo, a los eventos quedebe atender el sistema. Ademas FreeRTOS es parte del firmware del proyectoCIAA y cuenta con soporte de la comunidad de desarrolladores del mismo.

El sistema está diseñado con una arquitectura de capas, según se puede observaren la Figura 3.11.

FIGURA 3.11: Arquitectura del firmware

En cuanto a los niveles de abstracción, la primer capa la constituye el hardwarede la plataforma CIAA. La segunda capa, Hardware Abstraction Layer (HAL),permite desacoplar las capas superiores del hardware. Aquí se encuentran losdrivers del fabricante del microcontrolador, en el bloque funcional LPC Open. Lacapa Hardware Independent Layer (HIL) incluye los módulos del RTOS, como sunombre lo indica, no está asociada a ningún hardware en particular. Finalmente,la última capa contiene la aplicación Reloj Tabata.

Las tareas que implementa el sistema operativo son:

Base de tiempo

Leer botones

Cronometro

20 Capítulo 3. Diseño e Implementación

TABLA 3.6: Conexiones EDU-CIAA-NXP

Pinout EDU-CIAA Conexion Funcion

GPIO3 A0 SEGUNDOSGPIO5 A1GPIO7 A2GPIO8 A3LCD3 A0 DECENASLCD2 A1 DELCD1 A2 SEGUNDOSGPIO1 A3GPIO0 A0 MINUTOSGPIO2 A1GPIO4 A2GPIO6 A3LCD4 A0 DECENAS

LCD _ RS A1 DETXD0 A2 MINUTOSTXD1 A3

T _ FIL0 A0 SERIEST _ FIL3 A1T _ FIL2 A2

T _ COL0 A3232 _ TX A0 DECENAS

CAN _ RD A1 DECAN _ TD A2 SERIEST _ COL1 A3SPI _ SCK SCK CONTROL

SPI _ MISO SO REMOTOSPI _ MOSI SII2C _ SDA SDA RTCI2C _ SCL SCLLCD _ EN SDA BUZZER

Configuración

La tarea Base de tiempo se encarga de generar las señales START y STOP del pro-tocolo I2C, con el fin de obtener los valores temporales que arroja el modulo RTCy generar una señal periódica de 1 segundo, a nivel de software.

La tarea Leer botones se encarga de leer las señales que provienen del sistema re-moto a través del protocolo SPI.

La tarea Cronometro se encarga de hacer cumplir el cronometraje del tiempo pro-gramado de acuerdo a las configuraciones ingresadas por el usuario.

La tarea Configuración se encarga de interpretar las señales que ingresa el usuariodurante la configuración del reloj y fijar las condiciones para un determinadofuncionamiento.

21

Capítulo 4

Ensayos y Resultados

En esta sección se detallan los ensayos realizados para comprobar el correcto fun-cionamiento del hardware y firmware.

4.1. Pruebas funcionales del hardware

Con respecto al hardware se ensayó individualmente por grupos funcionales ca-da componente.

4.1.1. Ensayo del conjunto pantalla y controlador

La pantalla se compone de dos secciones, las cuales se probaron por separado. Elensayo consiste en alimentar cada sección y a través de cada controlador, encen-der todos los segmentos durante 24 horas. Los parámetros a medir son tension ycorriente a los bornes de entrada de la fuente de alimentación de 12V. La Tabla 4.1muestra los resultados obtenidos de la sección de color blanco frío y la sección decolor verde.

TABLA 4.1: Medicion de tension y corriente luego de 24 horas defuncionamiento

Color de sección Voltaje (V) Corriente (mA)

Blanco Frío 11,96 143,4Verde 11,94 339,6

De acuerdo a la tabla se verificó que no hubo baja de tension considerable y la co-rriente no excedió los 100mA por dígito. Por lo cual se determina que el conjuntoes estable de acuerdo a los parámetros medidos.

Para ensayar el comportamiento del conjunto, se aplicaron todas las combinacio-nes posibles a las entradas digitales del CI 74ls47, en la Figura 4.1 se muestra unarepresentación de los resultados obtenidos en cada dígito.

Se observa que corresponde con el funcionamiento correcto, de acuerdo a la hojade datos del componente.

22 Capítulo 4. Ensayos y Resultados

FIGURA 4.1: Representación de cada dígito con respecto a la en-trada digital

4.1.2. Ensayo de la conexión remota

Para ensayar la comunicación remota, primeramente se realizo una prueba fun-cional entre el transmisor y receptor. Obteniendo como un funcionamiento co-rrecto de ambas partes.

Ademas se midió el nivel de señal que recibe el receptor, cuando el emisor seencuentra a 7 metros de distancia en linea visual. Esta medición se llevó a cabocon el analizador de espectro Agilent 8564E que se muestra en la Figura 4.2, almismo se le conectó la antena utilizada en el receptor, la cual se muestra en laFigura 4.3.

FIGURA 4.2: Analizador de espectro Agilent 8564E

4.2. Pruebas funcionales del Firmware 23

FIGURA 4.3: Antena de 2.4GHz

Como resultado se obtuvo que el nivel de señal recibido es de -69,05 dbm como semuestra en la Figura 4.4, dado que el integrado NRF24L01 posee una sensibilidad-94 dbm para una velocidad de recepción de datos de 250Kbps, se verifica que a7 metros de distancia la comunicación remota funciona correctamente.

FIGURA 4.4: Gráfico tomado de la pantalla del analizador de es-pectro

4.2. Pruebas funcionales del Firmware

Las tareas de firmware se ensayaron individualmente.

24 Capítulo 4. Ensayos y Resultados

Primero se ensayó la tarea Base de tiempo, para ello se procedió a enviar los da-tos obtenidos, cada 200mS, del DS3231 por la UART USB de la EDU-CIAA-NXPmediante una terminal en una PC.

Luego se ensayó la tarea Leer botones, para lo cual, cada vez que se presiona unboton se enciende un led en la EDU-CIAA-NXP, como se muestra en la Tabla 4.2.

TABLA 4.2: Leds a encender para el ensayo de la tarea Leer botones

Boton Led a encender

AR LED 3DER LED 2IZQ LED 1AB LED BOK LED G

Para la tarea Cronometro se procedió a enviar las señales generadas al conjunto depantalla y así mostrar el cronometraje según los tiempos prefijados y hacer sonarla alarma sonora al finalizar cada etapa.

A través de la tarea Configuración se procedió a comprobar las distintas configu-raciones que admite el firmware.

Con estos ensayos, se verificó el correcto funcionamiento de las tareas del firm-ware.

4.3. Pruebas funcionales del sistema integrado

Se integró el sistema, que se muestra en la Figura 4.5, y se realizaron las pruebasfuncionales de acuerdo a los requerimientos del proyecto.

FIGURA 4.5: Sistema integrado

En la Tabla 5.1 se detalla el grado de cumplimiento de los requerimientos plan-teados.

4.3. Pruebas funcionales del sistema integrado 25

TABLA 4.3: Grado de cumplimiento de los requisitos

Requerimiento Grado Comentario

1. Funcionalidad 100 %a) Contar tiempo ascendente 100 %b) Contar tiempo descendente 100 %c) Contar cantidad de series o ciclos 100 %d) Tiempo de trabajo y descanso programableen un rango de 00 minutos a 60 minutos

100 %

e) Poseer una alarma sonora configurable 100 %2. Programación 100 %a) La programación debe realizarse remota-mente con un alcance de al menos 7 metros

100 %

3. Software 100 %a) Se deberá contar el tiempo con una precisiónde 1 seg

100 %

b) Se deberá mostrar los datos en una matriz deled

100 %

4. Hardware 100 %a) El sistema deberá operar correctamente enun rango de temperatura entre 0C y 60C

100 %

b) La matriz de led deberá tener un tamaño de20 cm de alto y 10 cm de ancho para cada dígito

100 %

5. Alimentación 100 %a) El sistema deberá ser alimentado por la reddomiciliaria entre 210 VAC y 230 VAC y no con-sumir más de 2,5 AMP

100 %

6. Documentación 100 %a) Se debe generar la documentación corres-pondiente para operar el sistema correctamente

100 % Se elaboró una guíade usuario.

27

Capítulo 5

Conclusiones

En este capítulo se detallan las conclusiones generales y como se podría continuarmejorando este trabajo.

5.1. Conclusiones generales

En la presente memoria se ha documentado el Trabajo Final para la obtención delgrado de Especialista en Sistemas Embebidos.

Se desarrolló un prototipo de un sistema capaz de cronometrar tiempos, tanto deejercicios como de descanso y a su vez contar las series realizadas. Ademas per-mite al usuario configurar los parámetros deseados y modos de funcionamiento.

Durante el desarrollo de este Trabajo Final se aplicaron conocimientos adquiri-dos a lo largo de la Carrera de Especialización en Sistemas Embebidos. Si bienel conjunto total de asignaturas cursadas aportaron conocimientos necesarios pa-ra la práctica profesional en el área de los Sistemas Embebidos, se quiere dejarconstancia en particular, de las asignaturas con mayor relevancia para el trabajopresentado, que son:

Arquitectura de microprocesadores: resultó necesario tener conocimientossobre la Arquitectura ARM CortexM para la programación de la plataformaEDU-CIAA y el uso de los periféricos.

Programación de microprocesadores: se utilizaron buenas prácticas de pro-gramación de Lenguaje C para microcontroladores y periféricos, aprendi-das en esta asignatura.

Gestión de Proyectos en Ingeniería: resultó de gran utilidad elaborar unPlan de Proyecto para organizar el Trabajo Final.

Sistemas Operativos de Tiempo Real (I y II): se utilizaron los conocimien-tos adquiridos aplicando FreeRTOS como sistema operativo para el sistemadesarrollado.

Protocolos de Comunicación: se aplicaron los conocimientos obtenidos, es-pecíficamente en los protocolos SPI e I2C.

28 Capítulo 5. Conclusiones

5.2. Trabajo futuro

Para dar continuidad al esfuerzo invertido en el desarrollo del proyecto, se listana continuación las principales líneas de trabajo futuro, con el objetivo de desarro-llar un producto comercialmente atractivo.

Agregar al display 7 segmentos leds RGB

Agregarle indicación de hora, fecha y temperatura ambiental

Diseño de una aplicación móvil que se conecte a través de Internet con elreloj para configurarlo

Incorporar una memoria para guardar configuraciones predefinidas

Diseño de un gabinete

29

Bibliografía

[1] Proyecto CIAA. Computadora Industrial Abierta Argentina. Disponible:2016-06-25. 2014. URL:http://proyecto-ciaa.com.ar/devwiki/doku.php?id=start

[2] FreeRTOS FAQ - What is This All About? Disponible: 2016-11-07. URL:2016-06-25. 2014. URL: http://www.freertos.org/FAQWhat.html.