75
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 Desarrollo de dispositivo electrofitness para entrenamiento deportivo Autor: Lic. Leopoldo Alfredo Zimperz Director: Esp. Bioing. Jerónimo La Bruna (FIUBA) Jurados: Esp. Ing. Jorge Manuel Fonseca (FIUBA) Esp. Ing. Hernán Felipe Rey Hernandez (FIUBA) Esp. Ing. Gonzalo E. Sanchez (FIUBA) Este trabajo fue realizado en las Ciudad Autónoma de Buenos Aires, entre julio de 2019 y agosto de 2019.

Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

UNIVERSIDAD DE BUENOS AIRES

FACULTAD DE INGENIERÍA

CARRERA DE ESPECIALIZACIÓN EN SISTEMAS

EMBEBIDOS

MEMORIA DEL TRABAJO FINAL

Desarrollo de dispositivo electrofitnesspara entrenamiento deportivo

Autor:Lic. Leopoldo Alfredo Zimperz

Director:Esp. Bioing. Jerónimo La Bruna (FIUBA)

Jurados:Esp. Ing. Jorge Manuel Fonseca (FIUBA)

Esp. Ing. Hernán Felipe Rey Hernandez (FIUBA)Esp. Ing. Gonzalo E. Sanchez (FIUBA)

Este trabajo fue realizado en las Ciudad Autónoma de Buenos Aires, entre juliode 2019 y agosto de 2019.

Page 2: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la
Page 3: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

III

Resumen

La presente memoria describe el desarrollo realizado para la empresa IrisTecnología S.R.L, en el cual se implementa un prototipo funcional de un sistema

de entrenamiento físico con aplicación deportiva, basado en estimulaciónmuscular generada por medio de impulsos eléctricos controlados.

Fueron de suma importancia los conocimientos adquiridos a lo largo de lacarrera, tanto en aspectos organizativos como técnicos. Durante la planificaciónse han utilizado herramientas como por ejemplo desglose en tareas, diagramas

de Gantt y diagramas de precedencias. En la etapa de implementación seaplicaron técnicas como modularización, programación en capas y

programación orientada a objetos en lenguaje C. También se pusieron enpráctica varios protocolos de comunicación y elementos destinados a

sincronización de tareas y gestión de recursos dentro de sistemas operativos.

Page 4: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la
Page 5: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

V

Agradecimientos

A mi hermano Alfredo por haber insistido acertadamente para que me inscribaen la carrera de especialización y por haber ayudado a que le dedique el tiemponecesario.

A Jerónimo La Bruna, el director del trabajo, por su predisposición al haber acep-tado esta responsabilidad.

A Patricio Bos, docente de la asignatura Taller de Trabajo Final, por sus consejos,dedicación y paciencia para ayudarme con la corrección de este trabajo.

A todos los profesores y a quienes organizan la Carrera de Especialización enSistemas Embebidos.

Page 6: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la
Page 7: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

VII

Índice general

Resumen III

1. Introducción General 11.1. Sistemas de entrenamiento electrofitness . . . . . . . . . . . . . . . . 1

1.1.1. Características y diferencias entre equipos . . . . . . . . . . 21.1.2. Tipo de corriente de electroestimulación . . . . . . . . . . . . 21.1.3. Tipo de conexión del traje . . . . . . . . . . . . . . . . . . . . 3

1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4. Alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.5. Normativa aplicable . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. Introducción Específica 72.1. Funcionamiento general del sistema . . . . . . . . . . . . . . . . . . 7

2.1.1. Consola central de mando . . . . . . . . . . . . . . . . . . . . 82.1.2. Comunicaciones . . . . . . . . . . . . . . . . . . . . . . . . . 102.1.3. Electroestimulación . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2. Requerimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3. Planificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.3.1. Desglose en tareas . . . . . . . . . . . . . . . . . . . . . . . . 162.3.2. Activity on node . . . . . . . . . . . . . . . . . . . . . . . . . 172.3.3. Diagrama de Gantt . . . . . . . . . . . . . . . . . . . . . . . . 19

3. Diseño e Implementación 213.1. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.1.1. Estructura general del sistema . . . . . . . . . . . . . . . . . 213.1.2. Selección de componentes . . . . . . . . . . . . . . . . . . . . 233.1.3. Protocolos de comunicación . . . . . . . . . . . . . . . . . . . 293.1.4. Comandos y parámetros del generador. . . . . . . . . . . . . 303.1.5. Integración de componentes . . . . . . . . . . . . . . . . . . 31

3.2. Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.2.1. Controlador central . . . . . . . . . . . . . . . . . . . . . . . . 343.2.2. Puente i2c-WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . 363.2.3. Cliente WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.2.4. Generador de señales . . . . . . . . . . . . . . . . . . . . . . 42

4. Ensayos y Resultados 454.1. Test unitarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.1.1. Controlador central . . . . . . . . . . . . . . . . . . . . . . . . 454.2. Test funcionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.2.1. Puente i2c-WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . 474.2.2. Cliente WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.3. Prueba de sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

Page 8: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

VIII

4.3.1. Formas de onda de salida . . . . . . . . . . . . . . . . . . . . 524.3.2. Tiempos de contracción y relajación muscular . . . . . . . . 544.3.3. Frecuencias de aplicación . . . . . . . . . . . . . . . . . . . . 55

5. Conclusiones 575.1. Conclusiones generales . . . . . . . . . . . . . . . . . . . . . . . . . 575.2. Conocimientos aplicados . . . . . . . . . . . . . . . . . . . . . . . . . 575.3. Resultados obtenidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.4. Próximos pasos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Bibliografía 61

Page 9: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

IX

Índice de figuras

1.1. Equipo electrofitness con cables . . . . . . . . . . . . . . . . . . . . . 21.2. Boceto del sistema inalámbrico . . . . . . . . . . . . . . . . . . . . . 4

2.1. Dispositivos principales y sus subsistemas . . . . . . . . . . . . . . 82.2. Esquema básico de corrientes de baja frecuencia . . . . . . . . . . . 122.3. Esquema básico de corrientes de Kotz . . . . . . . . . . . . . . . . . 132.4. Diagrama Activity on Node . . . . . . . . . . . . . . . . . . . . . . . 18

3.1. Diagrama en bloques del sistema . . . . . . . . . . . . . . . . . . . . 223.2. Computadora de una sola placa EDU-CIAA-NXP . . . . . . . . . . 243.3. Display color lcd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.4. Controlador gráfico RA8876. . . . . . . . . . . . . . . . . . . . . . . . 263.5. Panel táctil capacitivo . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.6. Módulo de comunicaciones . . . . . . . . . . . . . . . . . . . . . . . 283.7. Prototipo de la consola central de mandos . . . . . . . . . . . . . . . 323.8. Ciclo de vida en espiral . . . . . . . . . . . . . . . . . . . . . . . . . . 333.9. Arquitectura en capas del controlador central . . . . . . . . . . . . . 353.10. Tareas y flujo de datos para el subsistema puente i2c-Wifi . . . . . . 373.11. Acceso a las matrices de datos en subsistema puente i2c-WiFi . . . 393.12. Diagrama en bloques electroestimulador esclavo . . . . . . . . . . . 423.13. Conformación de la señal digital para la etapa de potencia . . . . . 43

4.1. Resultado de ejemplo de test unitario con Ceedling . . . . . . . . . 474.2. Subdivisión del dominio de entrada para CTM . . . . . . . . . . . . 494.3. Obtención de casos lógicos para CTM . . . . . . . . . . . . . . . . . 504.4. Señal de salida obtenida en test de integración (a) . . . . . . . . . . 534.5. Señal de salida obtenida en test de integración (b) . . . . . . . . . . 534.6. Señal de salida obtenida en test de integración (c) . . . . . . . . . . 54

Page 10: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la
Page 11: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

XI

Índice de Tablas

2.1. Planificación de tareas según diagrama de Gantt . . . . . . . . . . . 19

3.1. Características del microcontrolador PIC24 . . . . . . . . . . . . . . 293.2. Parámetros y comandos del generador de señales. . . . . . . . . . . 313.3. Método de programación por subsistema . . . . . . . . . . . . . . . 343.4. Tareas del controlador central . . . . . . . . . . . . . . . . . . . . . . 353.5. Módulos de software del controlador central . . . . . . . . . . . . . 363.6. Tareas del puente i2c-WiFi . . . . . . . . . . . . . . . . . . . . . . . . 403.7. Tareas del cliente WiFi . . . . . . . . . . . . . . . . . . . . . . . . . . 413.8. Módulos de software del cliente WiFi . . . . . . . . . . . . . . . . . 413.9. Módulos de software del generador de señales . . . . . . . . . . . . 43

4.1. Requerimientos testeados por CTM . . . . . . . . . . . . . . . . . . . 484.2. Casos de prueba y resultados obtenidos por técnica CTM . . . . . . 514.3. Resultados del test de sobrecarga en transmisión de datos . . . . . 524.4. Resultados de mediciones de tiempos . . . . . . . . . . . . . . . . . 544.5. Resultados de mediciones de frecuencia de aplicación . . . . . . . . 55

Page 12: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la
Page 13: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

XIII

Dedicado a mi mamá Liliana

Page 14: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la
Page 15: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

1

Capítulo 1

Introducción General

En este capítulo se brinda una breve introducción sobre la electroestimulaciónglobal o electrofitness, y se exponen los motivos por los cuales se realizó el pro-yecto, detallando objetivos y alcance.

1.1. Sistemas de entrenamiento electrofitness

Llevar una alimentación equilibrada y hacer ejercicio con regularidad son las cla-ves para tener una vida saludable. 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 empleando una cantidad de tiempo muy in-ferior a la que insumen los entrenamientos tradicionales.

Electrofitness es un tipo de entrenamiento físico integral que se apoya en la uti-lización de impulsos eléctricos, generados en un dispositivo que se aplica conelectrodos en la piel, situados en un chaleco, próximos a los músculos que se pre-tenden estimular. Este traje puede incluir entre seis y diez pares de electrodos deuna gran superficie.

Los impulsos eléctricos imitan el potencial de acción proveniente del sistema ner-vioso central, causando una contracción muscular, se trata de electro estimulaciónmuscular (EMS)[1], una técnica hoy en día muy desarrollada y ampliamente uti-lizada en fisioterapia [2]. Desde los años setenta aproximadamente, comenzó aaplicarse como complemento para el entrenamiento de deportistas de alto ren-dimiento, pero hasta este momento se utilizaba trabajando solamente un grupomuscular específico por vez.

La práctica de electrofitness, conocida también como electroestimulación globalWB-EMS (whole-body electromyostimulation) se diferencia de la electroestimu-lación tradicional principalmente por dos cuestiones: permite trabajar una grancantidad de grupos musculares en forma simultánea y se combina con trabajo fí-sico activo, es decir que mientras se reciben señales de impulsos eléctricos paraproducir trabajo muscular, también se desarrollan ejercicios físicos, obteniendocomo resultado un entrenamiento de gran intensidad.

Las sesiones de electroestimulación global siempre se realizan en forma guiadacon la ayuda de un entrenador capacitado, quien selecciona a través de una con-sola de mandos las características de los impulsos generados, los sincroniza conla actividad física llevada a cabo y regula la intensidad global y específica paracada grupo muscular. En la figura 1.1 se observa una imagen de un equipo paraeste tipo de actividad, obtenida del análisis de mercado realizado por la empresaIris Tecnología SRL.

Page 16: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

2 Capítulo 1. Introducción General

FIGURA 1.1: Imagen de ejemplo de un equipo de electroestimu-lación global cuyo traje se conecta al dispositivo generador por

medio de cables1.

1.1.1. Características y diferencias entre equipos

Los trajes de electroestimulación global suelen estar formados por un chalecoque incluye electrodos en los pectorales, el abdomen, la zona lumbar, los dorsales,glúteos y otros electrodos separados que se colocan en los cuádriceps y los bíceps.

Dependiendo de las características del dispositivo al cual está conectado el traje,será posible trabajar o no determinados objetivos y hacerlo con diferentes nivelesde intensidad. Principalmente se puso interés en diferenciar los tipos de corrien-te que generan los equipos y el tipo de conexión que se utiliza entre el traje deelectroestimulación y el generador: conexión cableada o inalámbrica. Ambas ca-racterísticas se encuentran fuertemente relacionadas.

1.1.2. Tipo de corriente de electroestimulación

En electroterapia existe un complejo nivel de clasificación de las distintas corrien-tes aplicadas. Pueden ser catalogadas según los efectos sobre el organismo, segúnlas frecuencias, su forma de onda, tipo de modulación y otras características[2].Para el proyecto desarrollado se hizo foco principalmente en dos de estos elemen-tos, que son la frecuencia y la modulación.

1http://www.vitruvians.es/

Page 17: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

1.2. Objetivos 3

Respecto la clasificación de frecuencias aplicadas a electroestimulación muscular,se hizo foco básicamente en dos categorías: baja frecuencia y media frecuencia.Las corrientes de baja frecuencia comprenden el rango de 0 a 1000 Hz y las demedia frecuencia se encuentran dentro del rango de 1000 a 10000 Hz.

En lo referido a la modulación, en los equipos EMS se puede decir que se utili-zan corrientes no moduladas cuando se trata de bajas frecuencias, en la prácticacubriendo rangos entre 5 y 120 Hz. En este caso, los equipos se limitan a emitir“pulsos”. En cambio cuando se habla de corrientes moduladas dentro de equiposEMS, se hace referencia en la práctica a corrientes situadas normalmente dentrodel rango de los 2000 a 5000 Hz. En esta última situación, se requiere que algúntipo de modulación en amplitud sea aplicado sobre la señal.

1.1.3. Tipo de conexión del traje

Actualmente existen en el mercado dos clases de equipos de electroestimulaciónglobal y se diferencian principalmente por el tipo de conexión que utilizan en-tre el traje con electrodos y el dispositivo generador de señales. Ambos sistemaspresentan ventajas y desventajas entre sí.

Los sistemas actuales con trajes cableados, como el de la figura 1.1, reducen lamovilidad debido a los cables. Con ellos resulta posible realizar únicamente ejer-cicios físicos con movimientos cortos o restringidos. Esta característica representauna gran desventaja respecto a los sistemas inalámbricos, pero en contra parti-da se utilizan corrientes del rango de las medias frecuencias, que resultan máseficientes para entrenamiento deportivo.

Los sistemas actuales con dispositivos inalámbricos incluyen el dispositivo gene-rador adosado al traje de electrodos, lo que brinda total libertad de movimientos.En contrapartida a la comodidad que otorgan, sus generadores emiten corrientesde baja frecuencia, que posibilitan trabajos de menor intensidad. La elección deeste tipo de corrientes para los dispositivos inalámbricos no es casual, sino queresponde a que las de baja frecuencia presentan un muy bajo consumo de ener-gía, apto para su aplicación en equipos a baterías, incluso sin preocuparse por sueficiencia [6]. Como desventaja adicional, en este tipo de dispositivos, se agregaque utilizan conexiones bluetooth y una tablet como consola de mandos, lo quegenera inestabilidad y latencias en los comandos, además de limitar la cantidadde conexiones y su alcance.

1.2. Objetivos

El propósito de este proyecto es desarrollar un primer prototipo que reúna lasmejores características de los dos grupos de equipos actualmente presentes en elmercado, para luego ser utilizado como punto de partida en un desarrollo comer-cial.

Se pretende obtener un equipo compuesto por una consola central de mando, ala cual se conecten en forma inalámbrica los generadores de electroestimulaciónque cada participante de la actividad utilizará. El equipo debe ser apto para serutilizado en ámbitos deportivos, ya sea en clases individuales o grupales, con laasistencia de un entrenador.

Page 18: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

4 Capítulo 1. Introducción General

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines

comerciales.

Page 19: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

1.3. Motivación 5

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 20: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

6 Capítulo 1. Introducción General

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 21: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

7

Capítulo 2

Introducción Específica

En este capítulo se presentan los requerimientos del proyecto, la estructura dedescomposición de tareas y la planificación realizada.

2.1. Funcionamiento general del sistema

Dentro del proyecto se abordó el desarrollo de dos dispositivos distintos a fin dedar cumplimiento al objetivo principal y formar con ellos el sistema de entrena-miento electrofitness.

El dispositivo principal consiste en una consola central de mando, que por me-dio de una pantalla color táctil, permite a un entrenador interactuar, configurary controlar los dispositivos electroestimuladores inalámbricos que llevará consi-go cada participante de la actividad deportiva. Para lograr la interconexión entreambos dispositivos se utilizará una red WiFi y la consola central actuará comoun servidor bajo protocolo TCP/IP, mediante la utilización de sockets. Todos losdispositivos se conectarán a un punto de acceso destinado exclusivamente a con-formar la red empleada en el sistema.

El segundo dispositivo abordado, consiste en un electroestimulador inalámbricoque será el encargado de generar las señales eléctricas adecuadas para produ-cir contracciones musculares de manera controlada. Este dispositivo se encuentracomandado y sincronizado desde la consola central de mando, a la cual se co-nectará a modo de cliente, por medio de dos sockets dedicados, para recepción ytransmisión de datos.

Como se observa en la figura 2.1, el sistema queda formado por ambos dispositi-vos, una única consola central de mando y hasta un máximo de diez eletroestimu-ladores inalámbricos esclavos. El sistema en su conjunto puede agruparse en tressubsistemas: control central e interfaz de usuario, comunicaciones, y electroesti-mulación. Cabe mencionar que los subsistemas de control central y comunicacio-nes son los que mayor relevancia toman en el marco de este trabajo. El desarrollodel sistema de electroestimulación ha partido de un hardware prototipo que fuefacilitado por la empresa cliente.

Page 22: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Controladorcentral

PantallaTáctil

ServidorWiFi

Dispositivocentral

ClienteWiFi

EstimuladorMuscular

Estimulador1

PuntodeaccesoWiFi

ClienteWiFi

EstimuladorMuscular

Estimulador2

ClienteWiFi

EstimuladorMuscular

Estimuladorn

Subsistemadecontrolcentraleinterfazdeusuario

SubsistemadeelectroestimulaciónSubsistemadecomunicaciones

FIGURA 2.1: Diagrama en bloques de los principales dispositivosdel equipo electrofitness dividido en subsistemas.

2.1.1. Consola central de mando

Este subsistema es el principal encargado de coordinar al sistema completo. Laconsola central de mando es operada por el entrenador, desde la pantalla táctil,para configurar todos los parámetros necesarios, habilitar dispositivos conecta-dos, iniciar, pausar o suspender la actividad.

Cabe aclarar que los programas y parámetros de electroestimulación utilizadosen este prototipo fueron planteados solamente a modo de ejemplo y su redefini-ción se trabajará en las futuras etapas del proyecto, para avanzar en un productocomercial.

Los principales componentes involucrados son la pantalla táctil color de 10,1 pul-gadas de diagonal y el microcontrolador central. Las principales tareas de estemicrocontrolador son las siguientes:

Mantener viva la interfaz del usuario brindando respuestas rápidas.

Permitir el ajuste de todos los parámetros del sistema.

Controlar los dispositivos esclavos.

Evaluar el estado de cada uno de los dispositivos conectados.

Page 23: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

2.1. Funcionamiento general del sistema 9

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines

comerciales.

Page 24: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 25: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

2.1. Funcionamiento general del sistema 11

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 26: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 27: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

2.2. Requerimientos 13

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines

comerciales.

Page 28: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 29: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

2.2. Requerimientos 15

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 30: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

2.3. Planificación

2.3.1. Desglose en tareas

Para llevar a cabo una planificación, uno de los primeros pasos fue desglosar elproyecto en tareas y proponer un tiempo estimado para la ejecución de cada unade ellas. A continuación se detallan las tareas y sus respectivos tiempos:

1 Realizar proceso de investigación. (24h)

1.1 Relevar y analizar información y prestaciones de productos similares.(10h)

1.2 Evaluar microcontroladores y módulos de comunicación a utilizar. (8h)

1.3 Seleccionar componentes de hardware. (6h)

2 Gestionar compras. (25h)

2.1 Decidir que elementos desarrollar y cuales comprar. (10h)

2.2 Pedir cotizaciones a proveedores y encargar componentes. (15h)

3 Desarrollar interfaz básica con pantalla. (63h)

3.1 Conectar pantalla con puertos GPIO de EDU-CIAA. (10h)

3.2 Codificar funciones de interfaz a pantalla. (45h)

3.3 Testear funciones básicas de pantalla y sensor táctil. (8h)

4 Desarrollar interfaz básica con ESP8266. (45h)

4.1 Conectar módulo ESP8266 a puerto SPI de EDU-CIAA. (10h)

4.2 Codificar funciones de control en EDU-CIA y módulo ESP. (30h)

4.3 Testear conexión básica a red WiFi. (5h)

5 Implementar interfaz con panel de control analógico / mecánico. (23h)

5.1 Realizar conexión de pulsadores y endocers con EDU-CIAA. (8h)

5.2 Codificar de funciones de sensado y debounce. (15h)

6 Implementar interfaz básica de microcontrolador esclavo con ESP32. (40h)

6.1 Conectar módulo ESP8266 a micro esclavo en placa de pruebas por puer-to SPI. (10h)

6.2 Codificar funciones de control en microcontrolador esclavo y móduloESP. (25h)

6.3 Testear conexión básica a red WiFi. (5h)

Page 31: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

2.3. Planificación 17

7 Realizar prueba de comunicación e intercambio de datos tipo String. (38h)

7.1 Conectar dispositivo central y esclavo a la red. (10h)

7.2 Generar funciones básicas para integrar y probar pantalla y módulos.(20h)

7.3 Testear intercambio de datos básicos y mostrarlos en pantalla. (8h)

8 Implementar interfaz a módulo generador señales. (70h)

8.1 Conectar módulo a micro esclavo en placa de pruebas. (20h)

8.2 Codificar funciones para control de PWM y control de transistores depotencia. (40h)

8.3 Testear generación de una señal de 2000 Hz y una señal rampa con PWM.(10h)

9 Desarrollar hardware dedicado. (80h)

9.1 Diseñar circuitos impresos y pedir fabricación. (50h)

9.2 Montar prototipos. (30h)

10 Implementar funciones del sistema. (170h)

10.1 Implementar funciones de pantalla según requerimientos. (50h)

10.2 Implementar funciones de comunicación. (50h)

10.3 Implementar funciones de generación de señales. (50h)

10.4 Realizar prueba de funciones del sistema desde su panel de control. (20h)

11 Etapa final. (100h)

11.1 Elaborar documentación general. (40h)

11.2 Redactar memoria del trabajo final. (40h)

11.3 Crear presentación para exposición. (20h)

2.3.2. Activity on node

El diagrama Activity on Node del proyecto, que se observa en la figura 2.4, mues-tra el orden a seguir para la ejecución de las tareas, las que en total acumulan 678horas. Se marca en trazo ancho el camino crítico del proyecto, el cual nos da untotal de 653 horas. El camino crítico implica las tareas que no pueden tener retrasosin verse comprometido el tiempo total de ejecución planificado para el proyecto.Se debe mencionar que si bien hay tareas que podrían llevarse a cabo en forma pa-ralela, debido a que este proyecto fue ejecutado por una única persona, debieronorganizarse casi todas de manera consecutiva.

Page 32: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

T=10INICIO17/12/2018

T= Tiempo expresado en cantidad de horas

de trabajo totales estipuladas para

completar la tarea

Demora

FIN19/6/2019

Investigación

Electrónica

Demora

Montaje

FirmareSoftware

Documentación

Pruebasfuncionales

Tipo de tarea

2.1 2.2

3.1 3.2 3.3

Administrativa

4.1 4.2 4.3

5.1 5.2

6.1 6.2 6.3

10.2T=50

7.1 7.2 7.3

8.1 8.2 8.3

9.1 9.2

10.1 10.3

11.1 11.2 11.3

10.4

1.1 1.2 1.3T=8 T=6

T=10 T=15

T=10 T=45 T=8

T=10 T=30 T=5

T=8 T=15

T=10 T=25 T=5

T=10 T=20 T=8

T=20 T=40 T=10

T=50 T=30

T=50 T=50

T=40 T=40 T=20

T=20

FIGURA 2.4: Diagrama Activity on Node del proyecto.

Page 33: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

2.3. Planificación 19

2.3.3. Diagrama de Gantt

En la tabla 2.1 se expuso el tiempo de dedicación previsto para las diferentestareas, según fue planificado en el diagrama de Gantt. Resultó de utilidad paraevaluar el grado de avance del proyecto. Hay que tener en cuenta que debido aque hubo otras responsabilidades involucradas no siempre fue posible dedicar eltiempo completo de la jornada laboral tal como fue pensada al inicio. Debido aesto se agregaron horas de fin de semana y a su vez se utilizó en otras actividadesel tiempo que había sido previsto para la ejecución de tareas opcionales, las cualesserán finalmente abordadas en futuras acciones.

TABLA 2.1: Planificación de tareas según diagrama de Gantt

WBS Nombre Inicio Fin1 Realizar proceso de investigación. Dec 17 Dec 211.1 Relevar y analizar información y prestaciones de productos similares. Dec 17 Dec 191.2 Evaluar microcontroladores y módulos de comunicación a utilizar. Dec 19 Dec 211.3 Seleccionar componentes de hardware. Dec 21 Dec 212 Gestionar compras. Dec 22 Dec 292.1 Decidir que elementos desarrollar y cuales comprar. Dec 22 Dec 252.2 Pedir cotizaciones, seleccionar proveedores y encargar componentes. Dec 25 Dec 293 Desarrollar interfaz básica con pantalla. Dec 22 Jan 93.1 Conectar pantalla con puertos GPIO de EDU-CIAA. Dec 22 Dec 253.2 Codificar funciones de interfaz a pantalla. Dec 25 Jan 73.3 Testear funciones básicas de pantalla y sensor táctil. Jan 7 Jan 94 Desarrollar interfaz básica con ESP8266. Jan 9 Jan 224.1 Conectar módulo ESP8266 a puerto SPI de EDU-CIAA. Jan 9 Jan 124.2 Codificar funciones de control en EDU-CIA y módulo ESP. Jan 12 Jan 214.3 Testear conexión básica a red WiFi. Jan 21 Jan 225 Implementar interfaz con panel de control analógico / mecánico. (opcional) Jan 23 Jan 295.1 Realizar conexión de pulsadores y endocers con EDU-CIAA. (opcional) Jan 23 Jan 245.2 Codificar de funciones de sensado y debounce. (opcional) Jan 25 Jan 296 Implementar interfaz básica de microcontrolador esclavo con ESP32. Jan 29 Feb 96.1 Conectar módulo ESP8266 a micro esclavo en placa de pruebas por puerto SPI. Jan 29 Feb 16.2 Codificar funciones de control en microcontrolador esclavo y módulo ESP. Feb 1 Feb 86.3 Testear conexión básica a red WiFi. Feb 8 Feb 97 Realizar prueba de comunicación e intercambio de datos tipo String. Feb 9 Feb 217.1 Conectar dispositivo central y esclavo a la red. Feb 9 Feb 137.2 Generar funciones básicas para integrar y probar pantalla y módulos. Feb 13 Feb 197.3 Testear intercambio de datos básicos y mostrarlos en pantalla. Feb 19 Feb 218 Implementar interfaz a módulo generador señales. Feb 21 Mar 138.1 Conectar módulo a micro esclavo en placa de pruebas. Feb 21 Feb 278.2 Codificar funciones para control de PWM y control de transistores de potencia. Feb 27 Mar 118.3 Testear generación de una señal de 2000 Hz y una señal rampa con PWM. Mar 11 Mar 139 Desarrollar hardware dedicado.(opcional) Mar 13 Apr 59.1 Diseñar circuitos impresos y pedir fabricación. (opcional) Mar 13 Mar 289.2 Montar prototipos. (opcional) Mar 28 Apr 510 Implementar funciones del sistema. Apr 5 Jun 2110.1 Implementar funciones de pantalla según requerimientos. May 16 Jun 1310.2 Implementar funciones de comunicación. Apr 24 May 1610.3 Implementar funciones de generación de señales. Apr 5 Apr 2410.4 Realizar prueba de funciones del sistema desde su panel de control. Jun 13 Jun 2111 Etapa final. Jun 21 Aug 711.1 Elaborar documentación general. Jun 21 Jul 311.2 Redactar memoria del trabajo final. Jul 3 Aug 111.3 Crear presentación para exposición. Aug 1 Aug 7

Page 34: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la
Page 35: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

21

Capítulo 3

Diseño e Implementación

En el presente capítulo se describen los aspectos principales relacionados al di-seño e implementación. Se explican decisiones sobre selección de componentes,detalles de hardware y firmware para el sistema propuesto.

3.1. Hardware

En esta sección se brinda un detalle sobre los componentes seleccionados y sufunción dentro de la estructura del sistema.

3.1.1. Estructura general del sistema

Como se ha explicado en la introducción específica, dentro del capítulo 2 y sepuede observar en la figura 2.1, el sistema queda formado principalmente poruna consola central de mandos y uno o más dispositivos electroestimuladoresesclavos. En la figura 3.1 se puede ver en cambio, un diagrama de la estructura delsistema completo pero orientado a los componentes de hardware que lo integran.En el proyecto se llevó a cabo el desarrollo de ambos dispositivos.

Dado que en este proyecto algunos requerimientos fueron planteados como op-cionales, y que se aclaró oportunamente que serán abordados en futuras accio-nes, en el diagrama en bloques se resaltaron los elementos que finalmente fuerondesarrollados dentro de este trabajo.

Page 36: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines

comerciales.

Page 37: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

3.1. Hardware 23

Consola central de mando

A continuación se detallan los componentes que conforman la consola central demando y se menciona brevemente cómo se interconectan:

Microcontrolador central.

Display color de 10.1 pulgadas.

Chip controlador gráfico.

Panel táctil capacitivo con chip controlador.

Módulo de comunicaciones.

En este trabajo no se implementaron circuitos impresos dedicados, por lo cual seutilizaron módulos o placas de desarrollo que serán detalladas en la sección 3.1.2que trata sobre la selección de componentes.

Interconexión: El microcontrolador central se comunica con el display color a tra-vés de un puerto spi, mientras que la comunicación con el panel táctil capacitivoy el módulo WiFi se realiza por medio de un puerto i2c.

Dispositivo estimulador esclavo

Se detallan a continuación los principales elementos que integran a cada uno delos electroestimuladores inalámbricos:

Microcontrolador generador de señales.

Módulo de comunicaciones.

Módulo de generador de señales de salida.

Interconexión: El microcontrolador del generador de señales se comunica con elmódulo de comunicación por medio de un puerto SPI. El mismo microcontrola-dor utiliza sus puertos de entrada/salida digitales y módulos PWM para coman-dar al generador de señales de salida del dispositivo.

Panel de mandos analógicos de la consola central

Este conjunto de elementos fue establecido como opcional al inicio del proyectoy tal cual se menciono anteriormente se ha decidido que se abordará en futurasacciones.

Fuentes de alimentación

Las fuentes de alimentación utilizadas para las pruebas del prototipo fueron pro-vistas por el cliente.

3.1.2. Selección de componentes

Microcontrolador central para la consola de mando

Inicialmente se pensó en utilizar un microcontrolador LPC4337, dado que suscaracterísticas, principalmente velocidad de procesamiento y capacidad de me-moria, resultan adecuadas para el proyecto. También se tomó la decisión en base

Page 38: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 39: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

3.1. Hardware 25

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 40: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 41: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

3.1. Hardware 27

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 42: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 43: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

3.1. Hardware 29

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines

comerciales.

Page 44: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 45: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

3.1. Hardware 31

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 46: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 47: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

3.2. Firmware 33

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 48: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 49: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

3.2. Firmware 35

A continuación se presenta la figura 3.9 en la cual se observa la arquitectura encapas del controlador, la tabla 3.4 en donde se detallan las principales tareas anivel sistema operativo y la tabla 3.5 en donde se ven los principales módulos desoftware que componen al subsistema.

Hardware

LPCOpen

FreeRTOSDriver

RA8876Driver

GT9271

InterfazESP32

Objetos Gráficos

Aplicación

FIGURA 3.9: Arquitectura en capas del controlador central.

TABLA 3.4: Principales tareas a nivel sistema operativo que se eje-cutan en el controlador central, detallando continuidad y priori-

dad.

Nombre de la tarea Función que lleva a cabo Ejecución Prioridad

Inicializar_sistema Inicializa los componentes del sistemay lanza al resto de las tarea.

Única vez +1

Gestionar_pantalla Genera y actualiza las pantallas de in-terfaz de usuario.

Continua +1

Atender_panel Atiende los eventos generados desdeel panel táctil y responde a los objetosgráficos.

Continua +1

Gestionar_i2c Gestiona la conexión del controladorcentral con el subsistema Puente i2c-WiFi.

Continua +2

Gestionar_esclavos Sincroniza y administra a los electro-estimuladores esclavos.

Continua +1

Page 50: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 51: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

3.2. Firmware 37

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 52: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 53: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

3.2. Firmware 39

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 54: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 55: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

3.2. Firmware 41

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines

comerciales.

Page 56: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 57: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

3.2. Firmware 43

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 58: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

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

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 59: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

45

Capítulo 4

Ensayos y Resultados

En el presente capítulo se da una visión global sobre las distintas pruebas realiza-das y los resultados obtenidos. Se explica el modo en que fueron llevados a cabolos test unitarios y las pruebas de sistema. Se abordan algunos ejemplos relevan-tes aplicados en distintos subsistemas.

4.1. Test unitarios

Durante el desarrollo del firmware para el prototipo se realizaron tests unitariossobre distintos elementos del sistema. Un test unitario puede describirse comouna forma de comprobar el correcto funcionamiento de una unidad de código.La unidad de código puede referirse a una función, un método, o una clase. Me-diante este tipo de test se comprueba que el fragmento de código devuelva el re-sultado esperado en forma eficiente, pero aislada. Por cada módulo de firmwareen los que se realiza este tipo de ensayo, se desea comprobar el comportamientode todas las funciones externas, y no de las internas. Las funciones internas defi-nidas con el prefijo “static” deben ser verificadas en forma indirecta a través delas funciones externas evaluadas.

Para poder realizar las pruebas unitarias se utilizó la herramienta Ceedling [5]con CMock. Ceedling es un framework o marco de trabajo que permite automa-tizar pruebas. En general cuando se realizan pruebas unitarias, lo que se buscaes comprobar el funcionamiento de un archivo C completo. Mayormente las fun-ciones escritas en lenguaje C contienen llamadas a otras funciones, que puedenencontrarse fuera del archivo y no serían objeto del test. En ese caso se utilizaCMock, para “Mockear” o simular las funciones que sean llamadas y estén fueradel alcance pretendido. De ese modo resulta posible realizar un test completo, sinllegar a testear por ejemplo, bibliotecas de terceros u otros archivos C fuera delalcance del test.

4.1.1. Controlador central

En el caso del subsistema controlador central se realizaron pruebas unitarias pa-ra testear el funcionamiento del driver o manejador de la pantalla lcd. Resultóextremadamente útil para validar los resultados esperados y comprobar el com-portamiento de las funciones, ingresando valores correctos y también fuera derango. A continuación se expone el fragmento de cógido señalado como Algorit-mo 4.1 cuyo fin fue la comprobación de algunas funciones de este subsistema yluego se muestran los resultados en la figura 4.1.

Page 60: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

46 Capítulo 4. Ensayos y Resultados

1 // I n c l u s i o n de b i b l i o t e c a s2 # include " unity . h"3 # include " l c d _ f u n c t i o n s . h"4 # include " mock_Driver_RA8876 . h"5

6 // D e f i n i c i o n de c a r a c t e r e s ASCII7 extern const u int ASCII_Table [ ] ;8

9 // Tes tear e l funcionamiento de l a s funciones para s e t e a r un p i x e l .10 void t e s t _ s e t e a r _ u n _ p i x e l _ c h e c k _ d a t a w r i t e ( void )11 {12 LCD_SetCursor_Expect ( 1 0 0 , 2 0 0 ) ;13 LCD_WriteRAM_Prepare_Expect ( ) ;14 LCD_DataWrite_Expect (0 xFF ) ;15 LCD_DataWrite_Expect (0xAE) ;16

17 TEST_ASSERT_EQUAL( 1 , LCD_SetPointRGB ( 1 0 0 , 200 , 0xAEFF ) ) ;18 }19

20 // Tes tear l a respuesta a l s e t e a r un p i x e l fuera del rango del e j e X21 void tes t_se tear_un_Pixe l_ fuera_de_rango_x ( void )22 {23 TEST_ASSERT_EQUAL( 0 , LCD_SetPointRGB ( 1 0 5 0 , 200 , 0xFFFF ) ) ;24 }25

26 // Tes tear l a respuesta a l s e t e a r un p i x e l fuera del rango del e j e Y27 void tes t_se tear_un_Pixe l_ fuera_de_rango_y ( void )28 {29 TEST_ASSERT_EQUAL( 0 , LCD_SetPointRGB ( 2 0 0 , 600 , 0xFFFF ) ) ;30 }31

32 // Tes tear l a copia de un c a r a c t e r ASCII a l b u f f e r de p a n t a l l a .33 void tes t_putcharac ter_A_check ing_co lor_va lue ( void )34 {35 uint tmp_char =0;36 LCD_SetCursor_Ignore ( ) ;37 LCD_WriteRAM_Prepare_Ignore ( ) ;38

39

40 f o r ( u int i = 0 ; i < 2 4 ; i ++)41 {42 tmp_char=ASCII_Table [ ( ( ’A ’−0x20 ) ∗24)+ i ] ;43 f o r ( u int j = 0 ; j < 1 0 ; j ++)44 {45 i f ( ( tmp_char >> j ) & 0x01 == 0x01 )46 {47 LCD_DataWrite_Expect (0xA1 ) ;48 LCD_DataWrite_Expect (0xA0 ) ;49 }50 e l s e51 {52 LCD_DataWrite_Expect (0 xB1 ) ;53 LCD_DataWrite_Expect (0 xB0 ) ;54 }55 }56 }57 TEST_ASSERT_EQUAL( 1 , LCD_PutCharRGB ( 1 0 0 , 100 , ’A ’ , 0xA0A1 , 0xB0B1 ) ) ;

58 }

ALGORITMO 4.1: Código utilizado para ejecutar pruebas unitariasa fin de testear funciones del driver de pantalla.

Page 61: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

4.2. Test funcionales 47

FIGURA 4.1: Resultado obtenido al ejecutar un archivo de test im-plementado con Ceedling, para funciones del controlador LCD.

4.2. Test funcionales

En esta sección se mostrarán los principales ensayos realizados para el sistema decomunicaciones inalámbricas implementado en este proyecto.

4.2.1. Puente i2c-WiFi

A fin de testear el subsistema puente i2c-WiFi se aplicó la técnica de testing CTM(por las siglas de Classification-tree method). Este método se utiliza para la iden-tificación de los casos de prueba, para ejecutar pruebas funcionales. Puede apli-carse en todos los niveles, sea a nivel componentes, pruebas unitarias o inclusopruebas de integración. Se basa en el método de la partición de categorías, el cualdivide el dominio de prueba en clases disjuntas que representan aspectos impor-tantes del sistema bajo prueba.

La técnica CTM se compone de los siguientes pasos, y cada uno de ellos seráejemplificado:

1. Identificación de los aspectos bajo prueba.

2. División del dominio de entrada de acuerdo con los aspectos.

3. Especificación de los casos de prueba lógicos.

4. Armado del script de testing.

Identificación de los aspectos bajo prueba

La identificación de los aspectos bajo prueba debe surgir de los requerimientos es-pecíficos del sistema a testear. Se presentan en la tabla 4.1 aquellos requerimientosque son alcanzados por este test.

Page 62: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

48 Capítulo 4. Ensayos y Resultados

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 63: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

4.2. Test funcionales 49

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 64: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

50 Capítulo 4. Ensayos y Resultados

Cantidad dedispositivosconectadosdConn < 10

DireccionIP

Dispositivoconectado

a redeléctrica

MACAddressadmitida

Último Bytede dirección

IP

Nivel debateria:

qBat > 80%

Si No DHCP <100 99<X<110 >109 Si Si No Si No

1

2

3

4

5

6

7

8

9

10

11

FIGURA 4.3: Obtención de los casos lógicos de test aplicando latécnica CTM.

Armado del script de testing

Finalmente se confeccionó el conjunto de casos de prueba y se realizaron los testcorrespondientes. Todos los resultados fueron exitosos, es decir que se obtuvo larespuesta esperada por parte del servidor testeado, en cada uno de los casos. Sedebe aclarar que la categoría “Alimentación del dispositivo” fue dejada sin efecto.No se ha tenido en cuenta debido a que las fuentes de alimentación no se encon-traban dentro del alcance del presente proyecto, así como tampoco la gestión osupervisión de las mismas. En la tabla 4.2 se observan los casos de prueba y elvalor concreto que se le asignó a cada aspecto. Los rangos de los valores surgende la etapa anterior de la técnica empleada.

Page 65: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

4.2. Test funcionales 51

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 66: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

52 Capítulo 4. Ensayos y Resultados

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 67: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

4.3. Prueba de sistema 53

Bajo estos parámetros, se obtuvieron exitosamente las formas de onda resultantesque se observan en las siguientes tres figuras:

FIGURA 4.4: Señal de salida tomada con osciloscopio. Frecuencia2500 Hz. Configuración: detección de picos, 1 segundo/división,

20 Volts/división.

FIGURA 4.5: Señal de salida tomada con osciloscopio. Frecuenciade ráfagas 105 Hz. Configuración: detección de picos, 10 milise-

gundos/división, 20 Volts/división.

Page 68: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

54 Capítulo 4. Ensayos y Resultados

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 69: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

4.3. Prueba de sistema 55

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines

comerciales.

Page 70: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la
Page 71: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

57

Capítulo 5

Conclusiones

En esta sección se detallan cuáles son los principales aportes del trabajo realizado,los conocimientos aplicados y los próximos pasos que podrían llevarse a cabopara continuar el proyecto.

5.1. Conclusiones generales

Los resultados del trabajo fueron satisfactorios, ya que se cumplió el objetivo prin-cipal planteado al inicio y se obtuvo un primer prototipo funcional que podrá serutilizado como base para continuar el desarrollo del sistema de entrenamiento.

Se logró cumplir con la planificación inicial, aunque cabe señalar que los reque-rimientos opcionales se abordarán en futuros pasos, debido a que el tiempo deimplementación de algunas tareas principales se ha extendido por sobre lo plani-ficado.

Tal como resultó previsto en el análisis de riesgos, se han presentado dificultadespara dar cumplimiento a la fecha de entrega estipulada, principalmente debido ala falta de experiencia en el desarrollo de firmware asociado a los módulos ESP32.De todos modos, los efectos ocasionados fueron mitigados adoptando las medi-das detalladas oportunamente en el plan de mitigación de riesgos.

El desarrollo del presente trabajo y el hecho de haber compartido experienciascon los profesores de las distintas asignaturas, ha resultado sumamente valiosoy enriquecedor a nivel profesional para el autor de la presente memoria. Le per-mitió trasladar a su ámbito laboral metodologías y contenidos abordados en elproyecto. No sólamente se probó la factibilidad técnica del sistema propuesto,sino que también permitió generar ideas para aplicar en desarrollos preexistentesy futuros pertenecientes a la empresa con la cual colabora.

5.2. Conocimientos aplicados

Durante la realización del proyecto se aplicaron y profundizaron conocimientosaprendidos en las asignaturas de la especialización en sistemas embebidos. Sedestacan principalmente las siguientes:

Gestión de Proyectos de Ingeniería: se logró gestionar el proyecto desde el ini-cio al fin. Se emplearon herramientas para la gestión de tiempo y planifi-cación. Fueron incorporados al proyecto desgloses de tareas, diagrama degantt y activity on node.

Page 72: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

58 Capítulo 5. Conclusiones

Ingeniería de Software: se aplicaron conceptos y herramientas para la ges-tión de riesgos, así como también técnicas de verificación y validación. Seincluyeron en el proyecto casos de prueba y se utilizaron herramientas ade-cuadas para control de versiones.

Programación de Microcontroladores: se aplicaron metodologías aprendidas,como por ejemplo desarrollo de software en capas aplicado a controladoresde periféricos. Se utilizaron conceptos referidos a programación orientadaa objetos en sistemas embebidos, modularización y clases.

Protocolos de Comunicación: en el proyecto se aplicaron los protocolos SPI,I2C y TCP/IP estudiados en la asignatura.

Sistemas Operativos en Tiempo Real I: se aplicaron conceptos aprendidos re-feridos a recursos de sincronización y comunicaciones entre tareas, comomutex, semáforos y colas. También se utilizó gestión de interrupciones.

Sistemas Operativos en Tiempo Real II: se aplicaron los conceptos vistos paracreación de drivers dentro de sistemas operativos. Una gran parte de esteproyecto fue desarrollada utilizando FreeRTOS, sistema operativo con elcual se trabajó en el transcurso de la asignatura.

5.3. Resultados obtenidos

Se detallan a continuación los resultados obtenidos y algunos detalles relevantesrelacionados:

Se logró implementar el primer prototipo del controlador central para elec-troestimuladores musculares inalámbricos.

Se logró implementar el primer prototipo de electroestimulador esclavoinalámbrico.

Se logró una interfaz de usuario de funcionamiento robusto y fluido, a tra-vés de la pantalla color con sensor táctil y se superaron los inconvenientesque presentan los sistemas que utilizan tablets como controlador central.

Partiendo de un nivel de conocimiento inicial básico sobre los módulos decomunicación ESP32, se logró avanzar y cumplir los requerimientos relati-vos a la interconexión inalámbrica entre los dispositivos.

Si bien en los requerimientos se había planteado una interfaz de conexiónparalelo entre el display color y el procesador LPC4337 y finalmente se im-plementó mediante protocolo SPI, el resultado fue totalmente satisfactorioe incluso la programación se vio simplificada.

Debido a que en el proyecto se utilizaron microcontroladores de distintosfabricantes y diferentes arquitecturas, se adquirió experiencia en el desarro-llo sobre diversas plataformas y esto resultó enriquecedor.

Se lograron implementar distintos ensayos para comprobar el funciona-miento del sistema. En esta etapa se presentaron algunas dificultades de-bido a que al inicio del proyecto los requerimientos no fueron relevadosexhaustivamente y con el suficiente nivel de detalle. Más precisamente, al

Page 73: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

5.4. Próximos pasos 59

ejecutar los pasos correspondientes a la técnica de testing CTM desarrolla-da en la sección 4.2 era necesario contar con requerimientos perfectamenteespecificados, por lo cual tuvieron que ser redefinidos.

Dentro del mismo proyecto, se implementaron desarrollos baremetal y so-bre sistema operativo, lo que permitió apreciar las diferencias entre ambasmodalidades. El uso de un sistema operativo en el controlador central, per-mitió simplificar la programación y trabajar más cómodamente con tareasasíncronas, concurrencia y distintos dispositivos de entrada / salida. Laaplicación de baremetal en el dispositivo generador de señales, favorecióla ejecución de acciones precisas, sin distorsiones y en tiempos ajustados,incluso dentro de un microcontrolador pequeño.

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.

Page 74: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

60 Capítulo 5. Conclusiones

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines

comerciales.

Page 75: Desarrollo de dispositivo electrofitness para ...laboratorios.fi.uba.ar/lse/tesis/LSE-FIUBA-Trabajo... · III Resumen La presente memoria describe el desarrollo realizado para la

61

Esta sección ha sido removida para publicación online ya que el presente trabajo tiene fines comerciales.