guia para escritura de documento cientifico

Anuncio
Universidad Tecnológica
de Querétaro
Firmado digitalmente por Universidad Tecnológica de Querétaro
Nombre de reconocimiento (DN): cn=Universidad Tecnológica de
Querétaro, o=Universidad Tecnológica de Querétaro, ou,
[email protected], c=MX
Fecha: 2012.09.03 14:57:57 -05'00'
UNIVERSIDAD TECNOLÓGICA DE QUERÉTARO
Nombre del Proyecto:
CARDIORITMÓMETRO TERCERA FASE
Empresa:
CID TAI de Div. TAI.
Memoria
Que como parte de los requisitos para obtener
el titulo de
Ingeniero en Tecnologías de la Automatización
Presentan:
Alma Cristina Moya Morales
Uriel Sánchez Hernández
Ing. Jorge Ramiro Alvarado
Asesor de la empresa
M. en C. Omar Rodríguez Zalapa
Asesor de UTEQ
1
Querétaro, Qro., Agosto de 2012
Resumen
Este proyecto consistió en la mejora del prototipo de “Cardioritmómetro”. El
proyecto esta dividido en tres faces, en las cuales se desarrolló este prototipo. En
la tercera fase se modifica el prototipo desarrollado en las etapas anteriores y se
compone de dos elementos importantes; que consiste en un sistema de
calibración para mejorar la plataforma de programación del Cardioritmómetro.
Para poder simular función del sistema cardiovascular fue necesario desarrollar un
equipo mecánico, se elabora la programación necesaria y es llamado “Emulador”.
Al Cardioritmómetro se remplazan componentes electrónicos para mejorar el
diseño del hardware, y al software se realizan modificaciones a la estructura del
programa cambiando parámetros de los algoritmos en las formulas matemáticas.
Como resultado se obtiene lecturas más factibles del ritmo cardiaco, pero aún se
pretende mejorar el prototipo una vez calibrado por el simulador.
2
Abstract
This project consisted in the improvement of a prototype called
“Cardioritmómetro”. The project consisted in three stages but only the third stage
was modified and by doing so, the previous two stages were improved. The third
stage consisted on implementing a calibration system and the improvement to the
software platform of the Cardioritmómetro. In order to calibrate the system of the
Cardioritmómetro, it was necessary to develop mechanical equipment capable of
simulate functions of the heart rate system. The equipment was developed and
named “Emulador”. Some components from the Cardioritmómetro hardware were
change and replaced from the electronic structure and some modifications were
made to the original software design in order to improve and modify the structure
of its mathematical equations. As a result it is now possible to get accurate rate
heart readings through the simulator.
3
Dedicatorias
A nuestros padres por estar en los momentos importantes de nuestras
vidas, por los consejos que han sido de gran ayuda para nuestro crecimiento
personal, por confiar en nosotros y darnos la oportunidad de culminar esta etapa
de nuestra vida. Es por eso que les dedicamos esta memoria de estadía.
También a nuestros hermanos y amigos a todos ellos por permitirnos
formar parte de su vida, por presionarnos a terminar este trabajo, por enseñarnos
a creer en nosotros mismos y motivarnos hacer las cosas de mejor manera. A
todas aquellas personas importantes durante este tiempo.
Agradecimientos
Primeramente damos infinitamente las gracias a Dios, por habernos dado
fuerza y valor para terminar nuestros estudios de ingeniería.
Agradecemos la confianza y el apoyo de nuestros familiares y amigos,
porque han contribuido positivamente para llevar a cabo esta difícil etapa. Mil
gracias por que han estado con nosotros siempre.
4
A todos los maestros de la universidad que nos asesoraron, porque cada
uno, con sus valiosas aportaciones, nos ayudó a crecer como persona y como
profesionista. Gracias por sus consejos y su experiencia.
Un agradecimiento muy especial, a la empresa HemoDinamics y a nuestra
casa de estudios la UTEQ por habernos apoyado, orientado
y darnos la
oportunidad de realizar nuestra estadía y hacernos participes en el proyecto.
Finalmente,
agradecemos a nuestros compañeros de grupo, por la
constante comunicación con ellos ha contribuido en gran medida a transformar y
mejorar mi forma de actuar en mi trabajo, especialmente a aquellos que nos
brindaron cariño, comprensión y apoyo, dándonos con ello, momentos muy gratos.
5
Índice
Pagina
Resumen…………………………………………………………………………………...2
Abstract ................................................................................................................... 3
Dedicatorias ............................................................................................................ 4
Agradecimientos...................................................................................................... 4
Índice ....................................................................................................................... 6
I. INTRODUCCIÓN ................................................................................................. 8
II. ANTECEDENTES ............................................................................................... 9
III. JUSTIFICACIÓN .............................................................................................. 10
IV. OBJETIVOS ..................................................................................................... 11
V. ALCANCES....................................................................................................... 11
VI. FUNDAMENTACIÓN TEÓRICA ...................................................................... 13
VI. I. Fundamentos Médicos.................................................................................. 13
VI.I.I El Aparato Cardiocirculatorio [1]. ............................................................ 13
VI.I.II Corazón [2]. .......................................................................................... 15
VI.I.III Los vasos sanguíneos [3]. .................................................................... 18
VI.I.IV La frecuencia cardiaca [4]. ................................................................... 22
VI.I.V Arritmias [4]. .......................................................................................... 24
VI.I.VI Ciclo cardiaco [5]. ................................................................................. 25
VI.II Fundamentos electrónicos. ......................................................................... 26
VI.II.I Arduino Mega 2560 [6]........................................................................... 26
VI.II.II El Arduino Motor Shield. [8]. ................................................................. 32
6
VI.II.IV Processing (Gráficos por computadora.) [10]. ..................................... 36
VII. PLAN DE ACTIVIDADES................................................................................ 43
VII.I Cronograma de actividades. ....................................................................... 43
VII.II Grafica de Gantt. ....................................................................................... 47
VIII. RECURSOS MATERIALES Y HUMANOS .................................................... 49
VIII.I. Recursos Materiales ................................................................................. 49
VIII.II. Recursos Humanos ................................................................................. 51
IX. DESARROLLO DEL PROYECTO. .................................................................. 52
IX.I Planteamiento del proyecto ......................................................................... 53
IX.II Reconocimiento del Proyecto ..................................................................... 54
IX.III. El emulador. .............................................................................................. 55
IX.III.I. Material eléctrico. ................................................................................. 55
IX.III.II Ensamble de los componentes electrónicos. ....................................... 58
IX.III.III Programación. ..................................................................................... 63
IX.IV.I Componentes eléctricos. ...................................................................... 74
IX.IV.II Esquematico del Cardioritmómetro. .................................................... 79
IX.IV.III Programación. .................................................................................... 86
X. RESULTADOS OBTENIDOS ........................................................................... 93
XI. ANÁLISIS DE RIESGO .................................................................................... 94
XII. CONCLUSIONES ........................................................................................... 95
XIII. RECOMENDACIONES .................................................................................. 96
XIV. REFERENCIAS BIBLIOGRÁFICAS Y VIRTUALES ..................................... 97
ANEXO.................................................................................................................. 99
7
I. INTRODUCCIÓN
HemoDinamics es una empresa dedicada a la investigación y fabricación
de aparatos médicos, una de sus investigaciones principales es la de la medición
del ritmo arterial. Gracias a esta investigación se descubrió que no habían
aparatos que midieran los de tiempos de los ciclos y de las fases de la arterias por
lo que la empresa comenzaron con el desarrollo de un prototipo que pudiera
obtener los datos de arteria.
Este proyecto hasta el momento se cuenta con dos fases donde en la
primera etapa se desarrolla un prototipo en donde solo obtiene la señal de la
arteria en formato de sonido y mide los eventos arrítmicos que ocurren en la
arteria, decidiendo utilizar dos sensores: un sensor de presión y un sensor
Doppler.
En la siguiente etapa se desarrollara un segundo prototipo con la
cooperación de la Universidad Tecnológica de Querétaro este mide el ritmo
arterial, tiempo de ciclos indicando también las arritmias ocurridas, tiempo de fase
sistólica, tiempo de fases diastólica.
8
Como tercera fase se pretende incorporar al hardware y el software,
realizar las modificaciones pertinentes en la programación para obtener la
medición de la presión arterial, y proponer un diseño factible que establezca la
medición del “Cardioritmómetro” de acuerdo con los estándares solicitados en
metrología y por el sector salud. Esta última parte se complementa con otro
aparato (llamado el “emulador”) para la calibración del Cardioritmómetro.
El sistema de calibración se pretende desarrollar la programación necesaria
así como su mecanismo y electrónica para su total funcionamiento.
II. ANTECEDENTES
Los investigadores de la empresa HemoDinamics descubrieron una laguna
científica en el campo de la presión arterial, se dice que desde 1905 no se había
realizado modificaciones a la determinación de la presión arterial. En cuanto a la
presión diastólica, esta no se medía con ningún instrumento electrónico, por lo
que se desarrolló el método BEM (Bases Hemodinámicas de México) en el cual se
establecen los principios físicos básicos para la determinación de la presión
arterial menor.
9
III. JUSTIFICACIÓN
El proyecto se desarrolló con base en la solicitud que se hizo al
departamento de vinculación de la Universidad Tecnológica de Querétaro
(Denominada a lo largo del documento como UTEQ) del proyecto de investigación
“Cardioritmómetro” de la empresa HemoDinamics S.A. de C.V. (denominada a lo
largo de este documento como HD), enumerando la lista de requerimientos
presentados por la misma para el diseño de un sistema médico de sensores de
presión y sonido que internamente se ha denominado Cardioritmómetro.
Dejando como antecedente HD y la UTEQ que ya cuenta con un software
en base LabVIEW, capaz de determinar ciclos arteriales y dividirlos en sístole y
diástole, así como la obtención de los tiempos de cada uno y estadísticas
determinadas para el estudio posterior de las muestras. Se pretende obtener un
prototipo funcional del sistema llamado “Cardioritmómetro”, y con el cual HD
generará el producto que es objeto de este documento.
10
IV. OBJETIVOS
Desarrollar el software con la programación necesaria para la calibración
del “Cardioritmómetro” para que realice la función de simular el Ritmo Cardiaco.
Mejorar el prototipo actual para que se pueda comercializar de acuerdo a
los estándares establecidos por las instituciones del sector salud y metrología y
cumpla con los requerimientos solicitados para el “Cardioritmómetro”. Se pretende
realizar desde hardware necesario hasta las modificaciones necesarias al
software.
Realizar un manual que ayude al usuario en el manejo del prototipo de
“Cardioritmómetro”.
V. ALCANCES
* El sistema de calibración que desarrollara HD y UTEQ será capaz de simular el
funcionamiento del Ritmo Cardiaco y presentar al usuario las siguientes
secuencias para calibración de “Cardioritmómetro”:
11
o Es un trastorno de la frecuencia cardíaca o del ritmo cardíaco, como latidos
demasiado rápidos (taquicardia), demasiado lentos (bradicardia) o con un
patrón irregular.
o Con respecto al periodo sistólico y diastólico de la frecuencia de ciclos
expresada en ciclos arteriales o latidos por minuto:
 Eventos con menor duración que la normal con respecto a la
edad (bradicardias).
 Eventos con duración normal con respecto a la edad
(normocardias).
 Eventos con mayor duración que la normal con respecto a la
edad (taquicardias).
 Índice de variación de tiempo sistólico y diastólico con
respecto a la moda de una frecuencia dada.
o Estará programado utilizando el microcontrolador Arduino 560, que cubre
con los requerimientos, además contará con el sistema mecánico y
calibración del aparato en la mayoría de sus componentes.
12
El diseño del sistema tendrá las características de prototipo, desarrollado con
las tecnologías más recientes acordes a los requerimientos.
VI. FUNDAMENTACIÓN TEÓRICA
VI. I. Fundamentos Médicos
VI.I.I El Aparato Cardiocirculatorio [1].
El aparato circulatorio humano está compuesto por el corazón y dos
sistemas vasculares que transportan la sangre, posee como función el distribuir
los nutrientes, oxigeno a las células y recoger los desechos metabólicos que se
han de eliminar después por los riñones, en la orina, y por el aire exhalado en los
pulmones, rico en dióxido de carbono (CO2). De toda esta labor se encarga la
sangre, que está circulando constantemente por las arterias. El corazón es un
órgano con cuatro compartimentos que se llaman aurícula derecha, aurícula
izquierda, ventrículo derecho y ventrículo izquierdo, como se observa en la figura
6.1).
Las paredes del corazón están formadas principalmente por músculo
(llamado miocardio) que se contrae para provocar el latido que enviará la sangre
desde el ventrículo izquierdo a la arteria aorta y desde ahí a todo el cuerpo. Las
arterias transportan la sangre oxigenada y con nutrientes (azúcar, grasa y
proteínas) desde el corazón a todos los órganos del cuerpo. Las venas devuelven
13
la sangre al corazón para que pueda ser de nuevo oxigenada. La sangre sin
oxigenar llega a la aurícula derecha por las venas cavas superior e inferior, pasa
al ventrículo derecho y desde ahí a los pulmones, donde se “carga” de oxígeno y
vuelve a la aurícula izquierda, para pasar al ventrículo izquierdo y con el siguiente
latido volver a nutrir a nuestro organismo. Las arterias que llevan la sangre
oxigenada al corazón son las arterias coronarias.
Figura 6.1 Aparato Cardiocirculatorio [1].
14
VI.I.II Corazón [2].
El corazón es un órgano que posee cavidades, similar al tamaño del puño,
encerrado en la cavidad torácica, en el centro del tórax en un lugar denominado
mediastino, entre los pulmones, sobre el diafragma, dando nombre a la "entrada"
del estómago o cardias2. Histológicamente en el corazón se distinguen tres capas
de diferentes tejidos que, del interior al exterior se denominan endocardio,
miocardio y pericardio.
El corazón está dividido en dos mitades que no se comunican entre sí: una
derecha y otra izquierda, La mitad derecha siempre contiene sangre pobre en
oxígeno, procedente de las venas cava superior e inferior, mientras que la mitad
izquierda del corazón siempre posee sangre rica en oxígeno y que, procedente de
las venas pulmonares, será distribuida para oxigenar los tejidos del organismo a
partir de las ramificaciones de la gran arteria aorta.
Cada mitad del corazón presenta una cavidad superior, la aurícula, y otra
inferior o ventrículo, de paredes musculares muy desarrolladas. Existen, pues, dos
atrios o aurículas: derecha e izquierda, y dos ventrículos: derecho e izquierdo.
Entre la aurícula y el ventrículo de la misma mitad cardiaca existen unas válvulas
llamadas válvulas atrioloventriculares (tricúspide y mitral, en la mitad derecha e
izquierda respectivamente) que se abren y cierran continuamente, permitiendo o
impidiendo el flujo sanguíneo desde el ventrículo a su correspondiente atrio (en
figura 6.2 se observa la anatomía del corazón donde se señalan las partes que
15
componen a este órgano, como las venas, arterias, ventrículos, etc.). Cuando las
gruesas paredes musculares de un ventrículo se contraen (sístole ventricular), la
válvula atrioventricular correspondiente se cierra, impidiendo el paso de sangre
hacia la aurícula, con lo que la sangre fluye con fuerza hacia las arterias. Cuando
un ventrículo se relaja, al mismo tiempo la aurícula se contrae, fluyendo la sangre
por esta sístole auricular y por la abertura de la válvula auriculoventricular.
Figura 6.2. Se muestra la anatomía del corazón exterior e inferior [2].
Como una bomba, el corazón impulsa la sangre por todo el organismo,
realizando su trabajo en fases sucesivas. Primero se llenan las cámaras
superiores o aurículas, luego se contraen, se abren las válvulas y la sangre entra
en las cavidades inferiores o ventrículos. Cuando están llenos, los ventrículos se
contraen e impulsan la sangre hacia las arterias. El corazón late unas setenta
veces por minuto y bombea todos los días unos 10.000 litros de sangre.
16
VI.I.II.I Movimientos del corazón [2].
El corazón tiene dos movimientos: Uno de contracción llamado sístole y
otro dilatación llamado diástole. Pero la sístole y la diástole no se realizan a la vez
todo el corazón, se distinguen tres tiempos: Sístole Auricular, se contraen las
aurículas y la sangre pasa a los ventrículos que estaban vacíos. Sístole
Ventricular, los ventrículos se contraen y la sangre que no puede volver a las
aurículas por haberse cerrado las válvulas bicúspide y tricúspide, sale por las
arterias, pulmonar y aorta. Estas también tienen, al principio, sus válvulas
llamadas válvulas sigmoideas, que evitan el reflujo de la sangre. Diástole general:
Las aurículas y los ventrículos se dilatan, al relajarse la musculatura, y la sangre
entra de nuevo a las aurículas. Los golpes que se producen en la contracción de
los ventrículos originan los latidos, que en el hombre oscilan entre 70 y 80 latidos
por minuto.
Durante los períodos de reposo el corazón tiene aproximadamente 70
pulsaciones por minuto en un individuo adulto del sexo masculino, y en este
mismo intervalo bombea aproximadamente cinco litros de sangre. El estímulo que
mantiene este ritmo es completamente autorregulado. Incrustada en la aurícula
derecha se encuentra una masa de tejido cardíacos especializados que recibe el
nombre dnodo sinusal o ganglio senoauricular (SA) como podemos observar en la
figura 6.3 el sistema cardiovascular y su funcionamiento que si se indica con las
flechas la trayectoria de la circulación de la sangre por en el sistema.
17
Figura 6.3. Se muestra el funcionamiento del corazón [2].
VI.I.III Los vasos sanguíneos [3].
Los vasos sanguíneos (arterias, capilares y venas, como se puede apreciar
en la figura 6.3) son conductos musculares elásticos que distribuyen y recogen la
sangre de todos los rincones del cuerpo. Se denominan arterias a aquellos vasos
sanguíneos que llevan la sangre, ya sea rica o pobre en oxígeno, desde el
corazón hasta los órganos corporales. Las grandes arterias que salen desde los
ventrículos del corazón van ramificándose y haciéndose más finas hasta que por
fin se convierten en capilares, vasos tan finos que a través de ellos se realiza el
intercambio gaseoso y de sustancias entre la sangre y los tejidos. Una vez que
este intercambio sangre-tejidos a través de la red capilar, los capilares van
18
reuniéndose en vénulas y venas por donde la sangre regresa a las aurículas del
corazón.
Figura 6.3 Vasos sanguíneos [3].
Las Arterias: Son vasos gruesos y elásticos que nacen en los ventrículos,
aportan sangre a los órganos del cuerpo por ellas circula la sangre a presión
debido a la elasticidad de las paredes. Del corazón salen dos Arterias: 1) El tronco
pulmonar que sale del ventrículo derecho y lleva la sangre a los pulmones y 2) La
aorta que sale del ventrículo izquierdo forma el arco aórtico (cayado) del cual
emergen arterias para cabeza, cuello y miembros superiores, desciende como
aorta torácica y al atravesar diafragma cambia a aorta abdominal que irriga las
estructuras abdominales. Finalmente se divide en dos arterias ilíacas. De la aorta
se originan las siguientes ramas:
19
Las carótidas: Aportan sangre oxigenada a la cabeza.
Subclavias: Aportan sangre oxigenada a los miembros superiores.
Hepática: Aporta sangre oxigenada al hígado.
Esplénica: Aporta sangre oxigenada al bazo.
Mesentéricas: Aportan sangre oxigenada al intestino.
Renales: Aportan sangre oxigenada a los riñones.
Ilíacas: Aportan sangre oxigenada a los miembros inferiores.
Tronco Celíaco: Es un arteria de la aorta abdominal que se trifurca para dar
irrigación al estómago, hígado y bazo.
Miembros Superiores: de la subclavia se forma las axilar que se transforma
en braquial y ésta en radial y ulnar que se unen en mano formando los arcos
arteriales.
Miembros Inferiores: de la ilíaca externa se forma la femoral que se
continúa como tibial y fibular.
Los Capilares: Son vasos sumamente delgados en que se dividen las
arterias y que penetran por todos los órganos del cuerpo, al unirse de nuevo
forman las venas.
20
Las Venas: Son vasos de paredes delgadas y poco elásticas que recogen
la sangre y la devuelven al corazón, desembocan en los atrios. En el atrio derecho
desembocan:
La Cava superior formada por la unión de las venas braquiocefálicas:
yugulares que vienen de la cabeza y las subclavias que proceden de los miembros
superiores (venas braquiales, cefálica y basílica).
La Cava inferior a la que van las Ilíacas que vienen de los miembros
inferiores (venas femorales, safena magna o interna y safena parva o externa), las
renales de los riñones, la suprahepática del hígado y genitales.
En la siguiente imagen 6.4 se da una breve explicación de la presión
arterial, algunos datos importantes para medir la presión condiciones necesarias
para considerar.
21
Figura 6.4. En esta imagen se muestran algunos datos importantes para la toma
de la presión arterial [3].
VI.I.IV La frecuencia cardiaca [4].
Se define la frecuencia cardiaca como las veces que el corazón realiza el
ciclo completo de llenado y vaciado de sus cámaras en un determinado tiempo.
Por comodidad se expresa siempre en contracciones por minuto, ya que cuando
nos tomamos el pulso lo que notamos es la contracción del corazón (sístole), es
decir cuando expulsa la sangre hacia el resto del cuerpo.
22
El numero de contracciones por minuto esta en función de muchos
aspectos y por esto y por la rapidez y sencillez del control de la frecuencia hace
que sea de una gran utilidad.
La frecuencia cardiaca se divide en Bradicárdica, Normocárdica y
Taquicárdica.
La Bradicárdica es aquella frecuencia cardiaca cuyo valor está por debajo
del rango establecido como punto de referencia de acuerdo a la edad de la
persona.
La Normocárdica es aquella frecuencia cardiaca cuyo valor se encuentra
dentro de rango establecido como punto de referencia de acuerdo a la edad de la
persona.
La Taquicárdica es aquella frecuencia cardiaca cuyo valor está por encima
del rango establecido como punto de referencia de acuerdo a la edad de la
persona.
23
Figura 6.5.Frecuencia cardiaca. En el electrocardiograma muestra la señal de la
frecuencia cardiaca normal [4].
VI.I.V Arritmias [4].
Toda irregularidad en el ritmo natural del corazón se denomina «arritmia».
Cualquiera puede sentir latidos irregulares en algún momento de su vida, y estas
palpitaciones leves e infrecuentes son generalmente inofensivas. Las arritmias
que pueden comprometer su vida son mucho menos frecuentes.
Los impulsos eléctricos generados por el músculo cardíaco estimulan la
contracción del corazón. Esta señal eléctrica se origina en el nódulo sinusal o
sinoauricular (SA) ubicado en la aurícula derecha entorno a la desembocadura de
la vena cava superior. El nódulo SA también se denomina el «marcapasos
natural» del corazón.
24
VI.I.VI Ciclo cardiaco [5].
Es la actividad mecánica consistente en periodo de contracción (sístole con
una duración promedio de 0.22 segundos) y periodo de relajación (diástole con
una duración promedio de 0.58 segundos), con una duración total promedio de
0.8 segundos. En la figura 6.6 se puede observar la división de la señal cardiaca
en un ciclo cardiaco. En un electro normal tiene una estructura básica que se
repite periódicamente: el complejo P-QRS-T, que corresponde con un ciclo
cardíaco (un latido, sístole-diástole).
Figura 6.6. Señal de ciclo cardiaco o complejo P-QRS-T [5].

Onda P: es el inicio del ciclo. El nodo sinusal, nuestro marcapasos
natural, libera una descarga desde su ubicación en la aurícula derecha,
provocando la contracción auricular que empuja la sangre a los ventrículos.

Segmento PR: es una línea horizontal que se corresponde con el
viaje del impulso eléctrico a los ventrículos. No hay ningún movimiento en
los milisegundos que dura.
25

Complejo
QRS:
es
la despolarización
y
contracción
de
los
ventrículos, impulsando la sangre por las arterias. Tiene mucho mayor
voltaje que la onda P porque la masa muscular de los ventrículos es mayor
que la de las aurículas.

La onda Q es el primer pico negativo, si lo hay. Si cumple ciertos
criterios puede indicar cicatrices en el miocardio por infartos previos.

Las ondas R y S (el primer pico positivo y el negativo que le sigue) se
corresponden con la contracción de la masa del corazón.
VI.II Fundamentos electrónicos.
VI.II.I Arduino Mega 2560 [6].
Arduino es una plataforma básica open source prototipo electrónico basado
en hardware y software de fácil uso: está pensando con el objetivo de crear
objetos o ambientes interactivos. Tiene dos componentes:
Software: Entorno de desarrollo creado: Escribir, corregir errores de
estructura al programa, programas (sketches), y cargarlos al hardware.
26
Hardware: Placa arduino (ver figura 6.7 donde se observa la imagen de la placa
arduino mega 2560).
Arduino mega 2560 es una placa electrónica basada en el microprocesador
Atmega2560. Algunas de sus características cuenta con 54 entradas/salidas
digitales y 14 de estas pueden utilizarse para salidas PWM (modulación por ancho
de pulsos). Además lleva 16 entradas analógicas, UARTs (puerto serie), un
oscilador de 16MHz, una conexión USB, un conector de alimentación a un puerto
ICSP (In Circuit Serial Programming, en español programación serial y en circuito)
que sirve para programar del Microcontrolador ATmega y así poder cargar los
programas que crean
en el en el software del arduino directamente en el
microcontrolador sin tener que necesitar programadores externos y un pulsador
para el reset. La placa lleva todo lo necesario para soportar el microprocesador.
Para empezar a utilizar la placa sólo es necesario conectarla al ordenador a través
de un cable USB, o alimentarla con un adaptador de corriente AC/DC. También,
para empezar, puede alimentarse sencillamente con una batería.
Una de las características principales de la MEGA 2560 es que no utiliza el
convertidor USB-serial FTDI, sino que utiliza el microprocesador Atmega8U2
programado como convertidor USB-serial.

Tensión operativa 5V

Tensión de alimentación (recomendado) 7-12V
27

Tensión de alimentación (limites) 6-20V

Máxima corriente continua para las entradas: 40 mA

Máxima corriente continua para los pins 3.3V: 50 mA

Memoria Flash 256 KB (el bootloader (cargador de arranque) 1 () usa 8 KB).

SRAM 8 KB

EEPROM 4 KB

Velocidad del reloj 16 MHz
Figura 6.7 Placa Arduino mega 2560 [6].
VI.II.I.I Programación [7].
El programa se implementara haciendo uso del entorno de programación
propio del arduino en la figura 6.8 se muestra la venta del entrono de
programación en el software de arduino y se transferirá empleando el cable USB.
Si bien en el caso de la placa USB no es preciso utilizar una fuente de
alimentación externa, ya que el propio cable USB la proporciona.
28
Para programar es la placa es necesario tener el entorno de desarrollo
(IDE). Proporcionada por arduino en su página web (www.arduino.cc). Se dispone
de versiones para Windows y para MAC, así como las fuentes para copilarlas en
LINUX. Existen en la web las versiones para distintos sistemas operativos.
Figura 6.8 Plataforma de desarrollo del Arduino [7].
Lo primero que tenemos que hacer para comenzar a trabajar con el
entorno arduino es configurar las comunicaciones entre la placa Arduino y la PC.
Para ello debemos abrir el menú “Tabla” la opción de “puerto serial”. En esta
opción debemos seleccionar el puerto serial que esta conectado a nuestra placa.
En WindoWs, se desconectamos el puerto al que esta conectado nuestra placa
podemos revisarlo a través del administrador de dispositivos (puertos COM,
LPT/USB puerto serial).
El primer paso para comprobar que la interfaz de desarrollo funciona
correctamente es abrir uno de los ejemplos y cargar el programa para verificar.
29
VI.II.I.II Estructura del programa [7].
La estructura básica del lenguaje de programación de Arduino es bastante
simple y se compone de al menos dos partes. Estas dos partes necesarias, o
funciones, encierran bloques que contienen declaraciones,
bloques de
instrucciones.
void setup()
{
Bloque de instrucciones;
}
void loop()
{
Bloque de instrucciones;
}
En donde setup () es la parte encargada de recoger la configuración y
loop() es la que contienen el programa que se ejecutará cíclicamente (de ahí el
termino loop –bucle-).
30
Ambas funciones son necesarias para que el programa trabaje. La función
de configuración debe contener la declaración de las variables. Es la primera
función a ejecutar en el programa, se ejecuta sólo una vez, y se utiliza para
configurar o inicializar pinMode (modo de trabajo de las E/S), configuración de la
comunicación en serie y otras.
La función bucle (loop) siguiente contiene el código que se ejecutara
continuamente (lectura de entradas, activación de salidas, etc.) Esta función es el
núcleo de todos los programas de Arduino y la que realiza la mayor parte del
trabajo.
La función setup() se invoca una sola vez cuando el programa empieza. Se
utiliza para inicializar los modos de trabajo de los pins, o el puerto serie. Debe ser
incluido en un programa aunque no haya declaración que ejecutar.
void setup()
{
pinMode(pin, OUTPUT); // configura el 'pin' como salida
}
Después de llamar a setup(), la función loop() hace precisamente lo que
sugiere su nombre, se ejecuta de forma cíclica, lo que posibilita que el programa
este respondiendo continuamente ante los eventos que se produzcan en la tarjeta.
31
void loop()
{
digitalWrite(pin, HIGH); // pone en uno (on, 5v) el ´pin´
delay(1000); // espera un segundo (1000 ms)
digitalWrite(pin, LOW); // pone en cero (off, 0v.) el ´pin´
delay (1000);
Otras de las funciones básicas de arduino son las del tiempo y las
matemáticas:
Delay(ms): Realiza la una pausa en el programa la cantidad de tiempo en
milisegundos especificada en el parámetro (máximo 1000, mínimo 1).
Millis(): Devuelve la cantidad de milisegundos que se lleva la placa arduino
ejecutado el programa actual como un valor “long unsigned”. Después de nueve
horas el contador vuelve a cero.
VI.II.II El Arduino Motor Shield. [8].
El Arduino Motor Shield, figura 6.8, está basado en el L298 (hoja técnica
del fabricante), que es un puente H dual para el manejo de cargas inductivas
como relevadores, solenoides, motores de DC y motores de pasos. Te permite
32
manejar dos motores de DC con tu Arduino, controlar la velocidad y dirección de
cada uno de manera independiente. También puedes medir la corriente
consumida por cada uno de ellos entre otras características.
Características:

Voltaje de operación 5V a 12V

Controlador de motor L298P, (maneja 2 motores de DC o 1 motor de
pasos)

Corriente máxima: 2A por canal o 4A máximo (requiere alimentación
externa)

Corriente censada 1.65V/A

Funciones de freno y rotor libre.
Figura 6.8. El Arduino Motor Shield [8].
33
VI.II.III GLCD 128x64 [9].
Las pantallas LCD (pantalla de cristal líquido y en ingles Liquid Crystal
Display) nos permiten mostrar datos o información de nuestro proyecto. Si son
gráficas como la LCD 128x64 tipo A, nos permiten incluso mostrar dibujos,
gráficas, paneles o casi todo lo que se nos pueda ocurrir. Para controlarlas
necesitamos normalmente un mínimo de ocho pines. La LCD monocromo gráfico
(GLCD), la podemos controlar con solo un cable de datos.
Sus características:

LCD monocromo, gráfico 128x64 pixeles.

Luz de fondo verde ajustable por software.

Contraste ajustable por potenciómetro incluido en placa.

Alimentación 6-7v (se puede alimentar perfectamente con el pin de 5v
del Arduino)

Consumo 220mA con la luz de fondo al 100%

Entrada de datos: 0-5v 115200bps (velocidad por defecto, ajustable por
software)

Dimensiones 7,6 x 5 x 1,5cm
34
Esquema:
El montaje para conectarlo al puerto paralelo es muy sencillo y solo
necesitaremos 5 componentes pasivos. Dado el bajo consumo del LCD (6090mA) podremos coger sin problemas los +5v necesarios para que funcione del
puerto USB o de cualquier conector de la fuente de alimentación que nos
proporcione dicho voltaje. En la figura 6.9 se puede ver el diagrama eléctrico de
las conexiones de la LCD y en la tabla 1 de abajo se explica como se conectan
cada uno de los pins de la LCD con el arduino correspondiente en este caso
corresponde a la segunda fila (Arduino mega) y la quinta fila que son los pines de
la LCD tipo A.
Figura 6.9. Esquema de configuración para la LCD [9].
35
En la tabla 1 se define las conexiones de la GLCD (de acuerdo al tipo de panel;
A, B, C y D) de acuerda al arduino (Uno o Mega). La segunda columna y la cuarta
indican la configuración adecuada para los componentes que se utilizan en el
proyecto
.
VI.II.IV Processing (Gráficos por computadora.) [10].
Processing es un lenguaje de programación y entorno de desarrollo
integrado de código abierto basado en Java, de fácil utilización, y que sirve como
medio para la enseñanza y producción de proyectos multimedia e interactivos de
diseño digital. Fue iniciado por Ben Fry y Casey Reas y está orientado a artistas
visuales y diseñadores digitales, resultando en un lenguaje de fácil aprendizaje y
utilización como una herramienta alternativa al software.
36
Una de sus principales características es que es multiplataforma, que pude
ser ejecutado en windows, linux o mac y permitiendo exportar los aplicaciones
resultantes a cualquiera de estos entornos, o incluso generar archivos para su
visualización en páginas webs. Con processing podemos desarrollar todo tipo de
aplicaciones, desde juegos o programas de cálculos hasta software para
instalaciones artísticas, el límite está en la imaginación.
Este lenguaje fue inspiración para Arduino, fue diseñado realmente para
procesamiento de gráficos e imágenes.
Entre otras características tenemos que se desarrollar aplicaciones desde
muy sencillas a muy complejas, la
conexión con dispositivos y prototipos
electrónicos: proyectos para Arduino.
VI.II.IV.I. Análisis de la interfaz del programa [10].
Como podrán notar la interfaz de processing es muy simple y minimista, ver
en la imagen 6.10 donde se presenta el entorno y se divide en cuatro módulos
verticales que delimitan las opciones y posibilidades del programa, a continuación
detallaremos la utilidad de cada uno.
37
Figura 6.10. Plataforma del Processing. [10].
Cuando guardamos una aplicación, se genera un directorio con ese
nombre y el fichero de la aplicación se almacena dentro con la extensión
.pde
o Los nombres de los ficheros máximo 64 caracteres sin espacios.
o Se pueden crear más ficheros asociados a la misma aplicación
(gestión de pestañas). Estos ficheros por defecto tendrán la
misma extensión .pde, pero también pueden tener la extensión
.java (y serán tratados como tales).
38
o Los ficheros adicionales corresponderán a nuevas funciones o
clases (en tal caso habrá que definir en el principal la función en
la configuración).
o Las pestañas visibles serán las que se consideraran al generar la
aplicación
o Para abrir un proyecto bastará con abrir cualquier .pde del interior
del directorio.
o Ejecutar (Run) y paro (Stop) permiten iniciar la ejecución de la
aplicación y su finalización.
o Exportar (Export) permite generar un subprograma de la
aplicación. La opción del menú “aplicación de exportar” permite
generar una aplicación lista para ejecutarse en Mac OS, Linux o
Windows. Todo esto se generará en directorios dentro del
directorio principal de la aplicación.
Otras opciones interesantes:
o Importa la librería. Nos facilita la inclusión de las sentencias
importar de las librerías más útiles.
39
o Agregar archivo (Add File). Nos permite añadir imágenes, fuentes
u otra información multimedia a un directorio especial en nuestra
carpeta de aplicación: la carpeta „data‟.
o Crear una fuente. Facilita la creación de subprogramas que
utilicen fuentes de nuestro sistema y que queramos garantizar
que aparezcan correctamente en cualquier navegador.
o Ayuda
(Help).
Nos
permite
consultar
la
información
de
processing, incluso ver la referencia de la función que tengamos
seleccionada en el código.
VI.II.IV.II. Estructura de la programación de processing [10].
El hecho de crear un programa implica recurrir a la escritura y aprender un lenguaje.
Similar a cuando aprendemos un nuevo lenguaje oral o escrito, necesitamos aprender una
sintaxis y una lógica.

Comentarios. Processing permite agregar notas en cualquier sector del código.
Pueden ser de solo una línea o de muchas líneas.
// Dos barras laterales son usadas para comentar
40
/*Una barra lateral seguida por un asterisco permite el comentario de barias
líneas.*/

Funciones. Las funciones permiten dibujar formas, colores, realizar cálculos
matemáticos, entre otras variadas acciones. Por lo general se escriben en
minúsculas y seguidas por paréntesis. Algunas funciones aceptan parámetros,
los cuales se escriben entre los paréntesis. Si acepta más de uno, son separados
por una coma (,). A continuación un programa que incluye dos funciones:
size() y background()
//Con esta función establecemos el tamaño de la ventana de presentación
//El primer parámetro corresponde al ancho de la ventana
//El segundo parámetro corresponde al alto.
size(400, 300); //Con esta función establecemos el color de fondo de la
ventana.
.background(0); //Acepta diversos parámetros, para una escala de grises
bastará con valores de 0(negro) a 255 (blanco).

Expresiones y Acciones. Si usáramos una analogía, la expresión de un software es
como una frase. Las expresiones, por lo general, van acompañadas de algún
operador como +, -, *o /, ya sea a la izquierda o a la derecha del valor. Una
expresión en programación puede ser básica, como un solo número, o una
41
compleja cadena de elementos. De esta manera, una expresión siempre tiene un
valor determinado. Hay expresiones que también pueden usarse en comparación
de un valor con otro. Los operadores de “>” /mayor a/ y “<” /menor
a/ devuelven solo dos valores: true (verdadero) y false (falso). Lo que en
programación equivale a una oración. Se completa cuando se presenta el
terminador de la acción. En Processing, el terminador de acción es el punto-y-coma
(;). Una acción puede definir una variable, ejecutar una variable, asignar una
variable, ejecutar una función, o construir un objeto. A continuación unos ejemplos:
size(200, 200); //ejecuta la función size y determina los valores 200 y 200int x;
//declara una nueva variable x = 102 //asigna un valor a la variable.

Ejemplo sencillo de la estructura del programa. Con este ejemplo se
pretende plantear como se forma la estructura con las indicaciones
anteriores.
void setup(){ // el setup es importante donde definimos el tamaño de la
ventana y el color del fondo del documento.
background(230); // señalamos que el fondo de nuestra ventana será
blanca
size(200,200); // y el tamaño de nuestra ventana señalamos que será de
200 x 200 pixeles, puedes cambiar los números para variar el la amplitud
de la ventana
42
}
void draw(){ // una vez definido el tamaño o dimensión y el fondo de nuestro
ejercicio, con esta instrucción definimos lo que dibujamos en él.
rect(50,50,50,50); // rect es sinónimo de rectángulo en processing y los
primeros dos 50 son la posición en X y Y donde ubicaremos nuestro
cuadrado,
los
otros
dos
50
son
la
dimensión
de
este.
}
VII. PLAN DE ACTIVIDADES
VII.I Cronograma de actividades.
Los tiempos definidos en el cronograma son estipulados y aproximados de
acuerdo a la información y la retroalimentación que son proporcionados por la
UTEQ y HD. El cronograma se divide en cinco etapas que se describen en los
siguientes párrafos.
En la primera etapa consiste en el conocimiento del proyecto: Se pretende
dar el tiempo necesario para estudiar y conocer la documentación del proyecto ya
existente para así poder continuar y realizar las actividades correspondientes.
El segundo punto a tratar corresponde a la asignación del proyecto: En
este apartado se asignan los objetivos, alcances y la gráfica de Gantt, es
43
necesario definir cada uno de estos puntos para obtener una buena organización
y6 se pretende conseguir buenos resultados.
La investigación es el siguiente apartado donde se estudia y se busca
información de los componentes que corresponden a la elaboración del proyecto,
para conocer conceptos técnicos, aprender a utilizarlos así, su función, buscar
nuevas alternativas tanto de software como hardware.
En la penúltima etapa es la construcción es donde se elabora tanto la
programación así como los cambios o acoplamientos ala electrónica.
Por ultimo las pruebas: las pruebas se realizan por separado cada
mecanismo eléctrico de igual manera la programación para hacer ajustes o
modificaciones, para integrarlos y nuevamente realizar las pruebas necesarias y si
es necesario tomar las medidas pertinentes para finalmente hacer las últimas
pruebas y entregar el proyecto. En la tabla 2 se desarrolla cada una de las etapas
así como las actividades correspondientes a cada apartado así como un tiempo
estimado.
44
Tabla 2. En esta tabla se describen las actividades correspondientes para llevar a
cabo el proyecto.
ACTIVIDADES
Conocimiento del
TIEMPO(DIAS)
Investigar conceptos básicos
5 días
Estudiar la documentación y
15 días
proyecto
reconocimiento del proyecto
Asignación del proyecto
Material necesario
10 días
Herramientas a utilizar
5 días
Objetivos del proyecto
5 días
Alcance
5 días
Grafica de Gantt
5 días
Arduino Mega 2560
15 días
Arduino Motor Shield
5 días
Sensor MPX5050 y etapa de amplificación
5 días
Investigación
45
LM324N
GLCD 164x28
10 días
Control NDC06V
4 días
Configuración de librerías para arduino
5 días
Programas a utilizar
10 días
Estructura de los elementos ya existentes.
10 días
Instalación del software necesario para la
5 días
programa del equipo.
Construcción
Diseño del diagrama eléctrico para la LCD
6 días
Diseño de fuente eléctrica fija para el motor
2 días
Programas para el arduino
20 días
Modificaciones al equipo ya existente
10 días
Realizar las conexiones eléctricas de los
3 días
componentes.
Impresión de diseños y elaborar la placa
2 días
correspondiente.
Pruebas
A todos los elementos eléctricos por
46
10 días
separado
Modificaciones al programa
15 días
En conjunto todos los componentes y
5 dias
programación necesaria.
VII.II Grafica de Gantt.
La grafica de Gantt es una herramienta que nos permite la planificación de
las tareas necesarias para la realización de un proyecto. Cada tarea es
representada por una línea, mientras que las columnas representan las semanas,
en tiempo estimado. Como se observa en la tabla 3 donde se presenta la gráfica
de Gantt de acuerdo a las necesidades del proyecto.
47
Tabla 3. Grafica de Gantt correspondiente a actividades para desarrollar el
proyecto del “Cardioritmómetro”.
48
VIII. RECURSOS MATERIALES Y HUMANOS
VIII.I. Recursos Materiales
Los recursos de los materiales es desarrollar una aproximación (estimado)
de los costos de los recursos que se necesitan para completar las actividades del
proyecto. En las siguientes tablas se muestran los materiales necesarios, en
donde cada una de ellas se describe el de oficina e inmobiliario se puede ver la
tabla 4, así como equipo ya existente en la tabla 5 y finalmente en la tabla 6 el
material faltante.
Tabla 4. En esta tabla se muestran el inmobiliario y herramientas del área de
trabajo. Ya se cuenta con este material.
INMOBILIARIO Y
MATERIAL DEL
CANTIDAD
COSTO
LABORATORIO
FABRICANTE
1 Estante
UNITARIO
$2,100.00
1 Laptop
DELL
4 Reguladores de voltaje
$4,200.00
$12,000.00 $12,000.00
$600.00
49
COSTO
$2,400.00
4 Multicontactos
$100.00
$400.00
Cautín con temperatura
1 variable
STEREN
$1,000.00
$1,000.00
1 kit de soldadura
STEREN
$75.00
$75.00
1 multímetro
STEREN
$700.00
$700.00
1 osciloscopio
$25,000.00 $25,000.00
1 kit de desarmadores
TRUPER
$145.00
$145.00
1 Kit de pinzas
TRUPER
$165.00
$165.00
$1,200.00
$1,200.00
1 Archivero
TOTAL $43,085.00
Tabla 5. Material existente del laboratorio.
50
Taba 6. En la siguiente tabla se muestra los componentes faltantes que integran
el proyecto y el costo por unidad.
VIII.II. Recursos Humanos
Se describe el personal encargado de desarrollar, organizan y que dirigen
el equipo del proyecto. Los responsables del proyecto está compuesto por cuatro
personas; dos
especialistas en la rama de la medicina y la electrónica
respectivamente, y los dos restantes practicantes de la ing. Tecnologías de la
automatización a quienes les han asignado roles y las responsabilidades para
concluir el proyecto. En la tabla 7 se describe el recurso humano y se insumirán
480 horas de ingeniería, para la totalidad del proyecto. Y en la tabla 8 el costo
aproximado final del proyecto, tomando en cuenta los componentes eléctricos y la
mano de obra.
51
Tabla 7.Se desarrolla la descripción del personal y el tiempo correspondiente a la
realización del proyecto
Tabla 8. Costo final del proyecto
.
IX. DESARROLLO DEL PROYECTO.
En el capítulo nueve se realiza una explicación detallada de las actividades
realizadas en el transcurso de la estadía, para desarrollar la tercera fase del
proyecto, que se llevó a cabo en la Universidad Tecnológica de Querétaro con la
empresa HemoDinamics S.A. de C.V.
52
IX.I Planteamiento del proyecto
Esta actividad consistió en definir cada una de las etapas necesarias para
el seguimiento del Cardioritmómetro que es la tercera fase del proyecto, donde se
desempeña las modificaciones y adaptaciones para mejorar el proyecto así y con
seguir los objetivos.
Las etapas que se definieron son las siguientes:
 Reconocimiento del proyecto
 Ganar el conocimiento básico para la realización del proyecto
 Realización del proyecto con plataforma de programación Arduino y
Processing.
 Traslado del proyecto a un prototipo portátil para el emulador.
 Diseñar un software en base Arduino para generar la simulación del
sistema cardiovascular, en el emulador.
 Diseñar un software en base Processing, capaz de obtener dos señales
digitales y una señal analógica, capaces de detectarlas y obtener sus
gráficas del sensor de presión, del encoder y una señal de reloj, así como
la obtención de los tiempos de cada uno y estadísticas determinadas para
el estudio posterior de las muestras.
 Documentación de circuitos impresos realizados particularmente en las
etapas anteriores.
53
 Adquirir el material necesario para el mejor acoplamiento del proyecto ya
existente.
 Agregar modificaciones y adaptaciones a la programación, de acuerdo al
estudio del ciclo arterial.
IX.II Reconocimiento del Proyecto
La primera parte del reconocimiento del proyecto consistió en la
investigación de los conceptos y características de los componentes utilizados en
las etapas anteriores del proyecto, así como en la familiarización de los mismos.
Mencionados en el marco teórico.
La empresa HemoDinamics en un principio ya contaba con material
propuesto para su utilización en el sistema mecánico y eléctrico, pero no contaban
con la información técnica para el funcionamiento de los componentes
electrónicos lo que llevo a la investigación de la posibilidad de utilizarlos. Fue
necesario cambiar componentes ya que no eran confiables o no se obtuvieron los
resultados esperados en el proyecto.
El proyecto se inició con el desarrollo un mecanismo de calibración para el
cardioritmómetro, que es llamado “Emulador”. Donde la empresa HemoDinamics
propuso la utilización del lenguaje Arduino para la programación del emulador
que consiste en simular el funcionamiento del Ritmo Cardiaco
54
y tener la
posibilidad de variar
los ciclos arteriales. Para así poder calibrar el
Cardioritmómetro y certificar que las mediciones obtenidas por este
son
confiables bajo los estándares de las ramas de metrología y el sector salud.
IX.III. El emulador.
IX.III.I. Material eléctrico.
IX.III.I.I. Motor PAP bipolar.
Los motores paso a paso son ideales para la construcción de mecanismos
en donde se requieren movimientos muy precisos.
La característica principal de estos motores es el hecho de poder moverlos
un paso a la vez por cada pulso que se le aplique. Este paso puede variar desde
90° hasta pequeños movimientos de tan solo 1.8°, es decir, que se necesitarán 4
pasos en el primer caso (90°) y 200 para el segundo caso (1.8°), para completar
un giro completo de 360°.
Estos motores poseen la habilidad de poder quedar enclavados en una
posición o bien totalmente libres. Si una o más de sus bobinas están energizadas,
el motor estará enclavado en la posición correspondiente y por el contrario
quedará completamente libre si no circula corriente por ninguna de sus bobinas.
55
Es necesario contar con los componentes eléctricos específicos que
conforman el “Emulador”, ya que anteriormente se contaba con un motor a pasos
unipolar de 3.1 A con una tensión eléctrica de 9VDC (corriente directa) y para el
control un puente “H” de 2ª con el transistor Tip101, arduino mega 2560 con
alimentación de 5VDC y con una fuente de alimentación de 5VDC a 12VDC. Por
las características del motor y el control no era suficiente para que el sistema
mecánico funcionara adecuadamente, por consiguiente se reemplazaron por un
motor PAP (paso a paso) bipolar de 4ª a 24VDC en la imagen 9.1 se puede
observar.
Figura 9.1. Motor bipolar modelo SM2861-5052, este tipo de motores
generalmente tienen cuatro cables que corresponden a las dos bobinas [11].
56
IX.III.I.II Drive para el motor.
Por las características del motor se encuentra en el mercado un drive para
su control NCD 06.V ver en la figura 9.2 donde se señalan las características
principales, tiene tres led`s indicadores donde; el verde se enciende cuando la
tarje está encendida, el amarillo para indicar que hay un problema para solucionar
y el led rojo indica que algún componente dejo de funcionar y es necesario
reiniciar o en el peor de los casos cambiar el componente dañado y es posible,
tiene unos pin`s de selección para habilitar la tarjeta y el modo de operación
automático o por número de revoluciones por minuto, tiene su propio disipador
para regular la temperatura de los transistores. Esta tarjeta electrónica cuenta con
un voltaje de alimentación de 24 a 75 VCD con una corriente máxima de 6A y
corriente mínima de 1.9A la cual por medio de un selector
(DIP-SWITCH)
podemos manipularla de acuerdo al amperaje que se requiera en nuestro caso es
de 4A, también se seleccionar cuantos pasos por revolución trabaje el motor, para
activar la dirección del motor solo es necesario mandar una señal TTL (0 a 5V)
para determinar el estado de las bobinas y por consiguiente su dirección.
Es manipulada por arduino mega 2560 donde se carga el programa que
manipula y el encargado de mandar las señales TTL a las entradas dela tarjeta de
control NDC 06.V. La fuente de voltaje es fija cuenta con dos tenciones diferentes
de alimentación de 5 VDC y 40 VCD, con corriente máxima de 8A, se alimenta
con120 VAC (voltaje de corriente continua).
57
Figura 9.2. En la imagen de la izquierda se muestra un esquema donde se señala
las características, y en la imagen de la derecha la fotografía del diseño de la
tarjeta [12].
IX.III.II Ensamble de los componentes electrónicos.
Para realizar las conexiones necesarias para el funcionamiento de los
componentes eléctricos citados anterior mente es necesario conocer las
especificaciones de los elementos.
Para identificar las bobinas del motor utilizamos el multímetro en el modo
resistencia o continuidad, donde nos indique una pequeña resistencia o
continuidad esos dos cables corresponden a una bobina. Una vez seleccionadas
las bobinas se conectan ala entra del canal A o B respectivamente en la tarjeta
NDC06, para proteger al drive se cablea del chasis del motor al GND o a la
entrada 13 de la tarjeta.
58
En la tabla 8 se describe las entradas y salidas para las conexiones con el
motor y el arduino. Las pines marcados de color verde se conectan a las salidas
del arduino de acuerdo al programa, el color reojo alimentación de la tarjeta con
un voltaje de 24VCD, el naranja corresponde a la tierra para proteger a la tarjeta, y
el azul corresponde a las bobinas del motor.
Tabla 8.Conexiones del NDC06.
Para poder seleccionar la corriente máxima de consumo que necesite el
motor es necesario revisar las siguientes tablas 9 y 10 para poder condicionar la
tarjeta de control en donde la primer tabla muestra la configuración para el DIPSWITCH que corresponde a los tres primeros pines, de acuerdo a la configuración
la corriente, y en la tabla 9.3 nos da las opciones para los jumper‟s de acuerdo a
si está en un estado de 1 podemos habilitar la corriente deseada o en ceo
automáticamente conforme el motor consuma.
59
Tabla 9. Configuración de los estados lógicos para los dip1, dip2 y dip3,
de
acuerdo a los diferentes códigos es la corriente demanda por el motor.
Tabla 10. Configuración de los jumper’s para poder manipular el DIP-SWITCH.
Para poder habilitar el OS en modo de operación RUN es necesario verificar
en la tabla 11 los estados de los DIP‟s de 5 al 8 de acuerdo al número de pasos
por revolución para el trabajo del motor de forma automático internamente en la
NCD06.
60
Tabla 11. Para la configuración de las RPM en modo de operación RUN.
Para asegurar el funcionamiento de los elementos es necesario tomar las
siguientes medidas de seguridad, en la figura 9.3 se señalan las formas para
asegurar el equipo, son unas simples precauciones a considerar pero muy
importantes ya que se consigue el buen funcionamiento del equipo.
61
Figura 9.3. Esquema de las conexiones del motor conrespecto ala tarjeta de
control y ala fuente de alimentacion donde podemos observar es necesario utilizar
unos fusibles de minimo de 4A para protojer de cortos [13].
La tierra física es una conexión de seguridad para proteger de descargas
que
surgen de eventos imprevistos tales como los fenómenos artificiales o
naturales
como
descargas
electrostáticas,
interferencia
electromagnética,
descargas atmosféricas y errores humanos. Con estas medidas de seguridad se
pretende reducir los riesgos de accidentes y pérdida de material.
En la imagen 9.4 nos muestra un diagrama grafico de las conexiones de los
componentes eléctricos que componen al “emulador”.
62
Figura 9.4 Diagrama de conexiones de todos los elementos electronicos.
IX.III.III Programación.
IX.III.III.I Programa con arritmias.
Para la elaboración del programa que controla del emulador, el cual generara
arritmias se uso la siguiente lógica:
1. El emulador comenzara a trabajar haciendo trabajar al motor paso a paso
con una velocidad constante de “x” RPM (revoluciones por minuto).
2. Al llegar a 10 segundos de operación este frenara completamente durante
1 segundo.
63
3. Comenzara a trabajar de nuevo con la misma velocidad.
4. En el segundo 16 tendrá una aceleración del doble de revoluciones que
solo durara una vuelta del motor.
5. El motor seguirá a x rpm hasta completar su ciclo de 20 segundos y
comenzara un nuevo ciclo en ese momento.
Debido a que estará simulando arritmias del corazón, en el segundo 10 simula
una bradicardia y en el segundo 16 una taquicardia; esto con el fin de tener una
señal constante y saber que el Cardioritmómetro esta funcionando correctamente.
A continuación se muestra el programa.
Se declaran las variables a usar en el programa:
const int pulso = 13; //variable para establecer el pin donde estará el tren de
pulsos
int estadopulso = LOW; // variable para establecer el estado del pin de salida
long previousMillis = 0; // variable para generar el tren de pulsos
long interval;
// variable para determinar la frecuencia deseada
long x = 0;
// variable para contar el numero de pulsos en el momento
de acelerar y garantizar una vuelta
long rpm = 70;
// variable para seleccionar el numero de revoluciones por
minuto
64
unsigned long tiempo; // lleva la cuenta de tiempo en milisegundos desde el inicio
el programa
unsigned long var1 = 10000;
//variable de comparación para la primera rutina
unsigned long var2 = 16000;
// variable de comparación para la segunda rutina
unsigned long var3 = 20000;
// variable para comparar si ya termino el ciclo
volatile int bandera = 0;
// esta bandera es para asegurar que solo haga una
sola vez la primer rutina por ciclo
volatile int bandera2 = 0;
// esta bandera es para asegurar que solo haga una
sola vez la primer rutina por ciclo.
En la función “SETUP” se declara como va a ser el comportamiento de los
pines (entradas o salidas), la interrupción externa a usar y la formula que controla
la frecuencia de salida del tren de pulsos que ira conectado al driver para el motor
a pasos.
void setup() {
interval = 75000/rpm;
// función de inicialización de la arduino
// conversión para el intervalo de tiempo
pinMode(pulso, OUTPUT); // se declara el pin 13 como salida
attachInterrupt (2, interrupción, FALLING); //se declara la interrupción externa 2
y se llama a la función interrupción cuando haya una bajada en la señal
}
Cada que haya una bajada de alto a bajo en la interrupción externa la
función “interrupción” aumentara en uno a la variable llamada “x”.
65
void interrupción()
//inicia cuando hay una pasada de nivel alto a bajo en
la señal
{
x++;
// aumenta x en uno cada que entra a la función
}
La función llamada “para1seg” es la encargada de generar la arritmia del
corazón “Bradicardia”, cuando el tiempo haya llegado a 10 segundos entrara esta
función; la cual hará un retardo en la ejecución del programa durante 1 segundo y
con esto garantizar la simulación de la arritmia.
void para1seg() {
if (bandera == 1){
delay(1000);
// función que realiza el paro de un segundo del motor
// inicia if (bandera == 1) si es cierto entonces:
// retardo de 1 segundo
}}
La función llamada “acelera”, es la encargada de generar la arritmia del
corazón denominada “Taquicardia”; la función entrara cuando hayan transcurrido
16 segundos del ciclo. El driver del motor a pasos funciona con un tren de pulsos
a una frecuencia determinada para que el motor gire a las revoluciones
requeridas. La cual generamos con el cambio en el estado de alto y bajo del pin
13 de la tarjeta arduino mega 2560, en el momento en que el motor tiene que
acelerar esta misma señal entra al pin 21 donde se activa una interrupción externa
para asegurar que solo mande los 400 pasos requeridos para que el motor este al
66
doble de velocidad solo en una vuelta y después sigua con las revoluciones
normales.
void acelera() {
// función que realiza la aceleración del motor por un
instante
if (bandera2==1) {
x = 0;
// inicia if (bandera2==1) si es cierto entonces:
//pone a cero a la variable que lleva el
conteo de los pulsos
while (x<=400) { //inicia while y estará aquí dentro hasta que x
llege a ser 400
unsigned long currentMillis = micros(); // se declara variable que
lleva el tiempo en microsegundos
if(currentMillis - previousMillis > (((75000)/(rpm*2))-21)) {
//si es cierto
entonses:
previousMillis = currentMillis;
// se iguala previusmillis a
if (estadopulso == LOW)
// si el pin 13 esta en bajo
current millis
entonces:
estadopulso = HIGH;
// pone el pin 13 en estado
else
//si no:
estadopulso = LOW;
//pone el pin13 en estado
alto
bajo
67
digitalWrite(pulso, estadopulso);
// escribe en el pin el la
variable estadopulso
}
}
}
}
Cabe mencionar que en el programa se usan funciones que nos sirven para
que el programa se quede ciclado; esta función que se llama “millis()” nos
devuelve el valor de los milisegundos transcurridos después de empezar a
ejecutarse el programa, las variables llamadas “var1,var2,var3”, nos ayudan a
verificar que el tiempo transcurrido desde el inicio del programa es el indicado
para realizar funciones que simularan las arritmias, después de haber pasado 20
segundos estas variables son aumentadas en 20000 para que el programa se
quede ciclado infinitamente.
void loop()
{
tiempo = millis();
// se le asigna el valor de milisegundos
después de que alla comenzado a ejecutarse el programa a la variable tiempo
unsigned long currentMillis = micros();
// se declara variable que lleva el
tiempo en microsegundos
if(currentMillis - previousMillis > interval) { //si es cierto entonces:
68
previousMillis = currentMillis;
// se iguala previusmillis a
current millis
if (estadopulso == LOW)
// si el pin 13 esta en bajo
entonces:
estadopulso = HIGH;
// pone el pin 13 en estado alto
else
//si no:
estadopulso = LOW;
//pone el pin13 en estado bajo
digitalWrite(pulso, estadopulso);
// escribe en el pin el la variable
estadopulso
if (var1 <= tiempo) {
// si es cierto entonces:
bandera ++;
// aumenta bandera en 1;
para1seg ();
// manda llamar a la función
para1seg ();
}
if (var2 <= tiempo) {
// inicia if (var2 <= tiempo) si es cierto
entonces:
bandera2 ++;
// aumenta bandera2 en uno
acelera();
// manda llamar la función acelera();
}
if (tiempo >= var3) {
// si es cierto entonces:
bandera =0;
// resetea la variable bandera
bandera2=0;
// resetea la variable bandera2
69
var1 = var1 + 20005;
// incrementa la variable var1 en 20000
var2 = var2 + 20005;
// incrementa la variable var2 en 20000
var3 = var3 + 20005;
// incrementa la variable var3 en 20000
}
En la tabla 12 nos muestra las variables que seleccionan entre si para
variar las revoluciones por minuto (RPM) en el motor y la frecuencia en el arduino
con la variable indicada como VA. Con los siguientes datos conseguimos variar la
velocidad del motor por medio de la frecuencia.
Tabla 12. Donde la primera columna corresponde a la frecuencia, la segunda es la
variable a modificar en arduino y finalmente RPM las revoluciones por minuto.
70
IX.III.III.II Programa sin arritmias.
Para el emulador hubo un segundo programa requerido; este generara una
frecuencia constante simulando un corazón sano (sin arritmias). En ciclos de 20
segundos con un periodo de descanso de 5 segundos.
La lógica que sigue el programa es la siguiente:
1. El motor comenzara a trabajar a una velocidad de x rpm.
2. Cuando hayan transcurrido 20 segundos el motor frenara completamente
durante 5 segundos
3. Inicia un nuevo ciclo.
En el programa sin arritmias al igual que en el anterior programa; genera una
frecuencia para el driver del motor y generar las revoluciones requeridas en el
motor. Se emplea nuevamente la función “millis();” para garantizar que los ciclos
realmente son de 20 segundos y 5 segundos de frenado. A continuación se
muestra el programa que realiza esta función.
Se declaran las variables que se usaran en el programa:
///////////////////// inicio programa//////////////////////
const int pulso = 13;
int estadopulso = LOW;
long previousMillis = 0;
71
long interval;
int x = 0;
long rpm = 70;
unsigned long tiempo;
unsigned long var1=20000;
unsigned long var2=25000;
En la función “SETUP” se declara como va a ser el comportamiento de los
pines (entradas o salidas) y la formula que controla la frecuencia de salida del
tren de pulsos que ira conectado al driver para el motor a pasos.
void setup() {
interval = 75000/rpm;
pinMode (pulso, OUTPUT);
}
Dentro del loop el programa genera un tren de pulsos con una frecuencia
constante, hasta que termine el ciclo de 20 segundos después de esto se manda
llamar la función de frenado de 5 segundos para el motor. He inicia de nuevo
quedando enclavado infinitamente.
void loop() {
if (x==1) {
tiempo = millis();
72
unsigned long currentMillis = micros();
if(currentMillis - previousMillis > interval) {
previousMillis = currentMillis;
if (estadopulso == LOW)
estadopulso = HIGH;
else
estadopulso = LOW;
digitalWrite(pulso, estadopulso);
}
if (tiempo<=var1){
void paro();
}
if (tiempo<=var2){
void continua();
}
}
}
En la función “paro”, el programa deja de generar el tren de pulsos durante un
retardo de 5 segundos y esta función también aumenta a var1 en 25000 para que
el programa siga enclavado infinitamente.
void paro() {
73
x=0;
var1=var1+25000;
}
En la función “continua”, el programa comienza a generar el tren de pulsos
nuevamente a una velocidad constante y esta función también aumenta a var1 en
25000 para que el programa siga enclavado infinitamente.
void continua(){
x=1;
var2=var2+25000;
}
/////////////////// Fin del programa//////////////////////////////
IX.IV Cardioritmómetro.
IX.IV.I Componentes eléctricos.
Para el Cardioritmómetro ya se contaba con el hardware necesario para su
funcionamiento, pero fue necesario estudiarlo ya que en algunos de sus
componentes no se cuenta con la información necesaria.
74
IX.IV.I.I Tarjeta para la LCD
Las pantallas LCD nos permiten mostrar datos o información de nuestro
proyecto que nos permiten incluso mostrar dibujos, gráficas, paneles o casi todo
lo que se nos pueda ocurrir. La única desventaja de estas pantallas es que para
controlarlas necesitamos normalmente un mínimo de ocho pines para el envió de
datos al arduino.
Originalmente se contaba con un diseño del circuito de la LCD para
acoplarla al arduino mega 2560 pero se percato de uno corto por lo tanto no
estaba trabajando el equipo, así que se realizaron las modificaciones necesarias.
Se propuso cambiar la tarjeta anterior por un nuevo diseño para la LCD, al
remplazarlo obtuvimos buenos resultados ya que se consigue que funcione
correctamente tanto la LCD como el programa ya existente.
Para el cableado de la LCD es necesario tener correctamente
identificados cada uno de los pines tanto de arduino como el circuito impreso de
acoplamiento de la LCD, sino se tomarse las medidas necesarias se comenten
errores que retrasan el trabajo del proyecto.
En la figura 9.5 se observa una ventana para realizar el diseño del
circuito impreso se utiliza el software PCB-Wizard
amigable por lo que se decide utilizarlo.
75
este programa es muy
Una vez creado el diseño se imprime en la placa de cobre para después
colocarla en el acido, revisar las pistas, perforar el circuito impreso y finalmente
soldar los componentes, para después implementarla con los demás elementos
electrónicos del proyecto.
Figura 9.5. Ventana del programa PCB-Wizard.
Este circuito solo se pretende utilizarlo para pruebas ya que por el cableado
es muy facil que se deconencte y teniendo asi falsos contactos entre las tarjetas
electronicas, asi que se propuso cambiar por un circuito impreso comercial el cual
nos reduce las conexiones y por lo tanto nos reduce el margen de error.
76
IX.IV.I.II Tarjeta para controlar el envió de datos atreves de un solo cable.
Como se menciono anteriormente la tarjeta y la LCD se tenía problemas
de conexiones en falso contacto, esto nos retrasaba con las pruebas ya que era
necesario conectar el cable del arduino para la programación ya se realizaron
varias modificaciones al programa y por consiguiente se tendía a mover el
cableado constantemente. Con esta tarjeta queda obsoleta la LCD anterior así
como el circuito de acondicionamiento para la LCD en este caso no es necesario
utilizar ninguna tabla para su configuración. Con esta pantalla logramos mejorar
de estos aspectos, es un gran LCD monocromo gráfico, y que podemos controlar
con solo un cable de datos. Se trata de una LCD normal que trae soldado un
modulo basado en el Atmega 168 que nos permite enviarle por el puerto serial del
arduino Tx3 donde un conjunto de comandos que nos brindan las siguientes
posibilidades;
 Escribir texto
 Situar el un puntero de la escritura en las coordenadas deseadas
 Ajustar la intensidad de la luz en la pantalla
 Dibujar gráficos, figuras geométricas, logos etc.
Empezamos soldando
pines a la LCD
para conectarla la tarjeta del
puerto serial, y tres pines para el arduino en la siguiente figura 9.6 se muestra un
esquema de conexiones entre la LCD al arduino, como se puede observan es muy
77
sencillo, de los pin de 5V y GND de arduino se alimenta la LCD y el TX para
enviar datos.
Figura 9.6 Conexiones de la LCD y arduino.
Finalmente para concluir con el motitor de equipo se desarrollo un pequeño
circuito para abilitar los
los botones
y arduino. Donde las entradas digitales
corresponde a la 46,48 y 50 del arduino en la figura 9.7 podemos observar dicha
conexión, donde estan indicadas con los cables de color amarillo, rosa y verde.
Figura 9.7. diagrama de conexiones de arduino a la placa de los botonera.
78
IX.IV.II Esquematico del Cardioritmómetro.
Se desarrollo el diseño del esquemático eléctrico del proyecto, ya se
contaba con los componentes necesarios para que el equipo funcionara pero no
se tenia ningún diagrama de conexiones y función de algunos de los circuitos
impresos del proyecto, así que se investigo las características de algunos de los
componentes y se elaboran los diagramas eléctricos.
IX.IV.II.I Sensor de presión MPX5050.
El uso del sensor de presión MPX5050 y su sistema lee la presión de un
brazal (presiómetro) y extrae los pulsos para el análisis y la posible determinación
de la presión sistólica y diastólica. Manda los datos a arduino en voltaje para
poder realizar el control del equipo.
Cabe mencionar que el circuito impreso del sensor ya se había elaborado
en faces anteriores pero no se tenía un esquema eléctrico, por lo que no vamos a
hablar de cálculos. Se obtuvo la información necesaria y se realizaron los
siguientes diagramas eléctricos. Refiriéndonos al sensor de presión MPX5050
puede ser conectado ya sea directamente al dispositivo de adquisición de datos o
al circuito acondicionador con su etapa de amplificación con un LM324.
79
En la figura 9.8 se muestra el diagrama si se conecta el sensor de presión
directamente al equipo de adquisición de datos este nos muestra una señal de
entrada que va de 0.2VCD a 0 mmHg (milímetros de mercurio) hasta 4.7 VCD a
375 mmHg de presión; mientras que si se conecta este sensor al circuito
acondicionador y este a su vez al equipo de adquisición de datos en la entrada del
convertidor aparece una señal que va de 0.23V hasta 1.78 V en nuestro caso.
Figura 9.8 Sensor de presion MPX5050.
El sistema de adquisicion de datos se tiene un convertidor cuyo voltaje es
de 5V y ademas una resolucion del convertidor A/D (analogico digital)de 10 bits
con esto es posible definir el conteo que envia el convertidor A/D a la
computadora de tal manera que se puden definir los limites de unidades de
presion, donde nuestra resolucion es 0.2258 mmHg este resultado es por el
voltaje de referencia de 6.7V que es alimentado por el arduino mega 2560.
80
IX.IV.II.I.II Circuito Acondicionador.
La salida de este sensor puede ser usada de dos maneras, una consisite
en medir la presion del brazal, mientras que la otra es usar esta salida para
prosesarla analogicamente para asi obtener las oscilaciones o pulsos necesarios.
El sensor usado tiene su propio circuito de acondicionamiento internamente
mediante su propio opamp, la presion del brazal puede ser directamente
conectada a un convertidor
analogico – digital. El otro metodo descrito,
amplificara y filtrara la señal de presion del brazal para extraer una version
amplificada de las oscilaciones dentro de las señal de presion en el brazo se
incrementa durante la sistole del corazon. La figura 9.9 muestra el circuito
amplificado de la señal de soilacion (los valores de las resisitencias y capacitores
no corresponden al circuito impreso para proteger los derechos de autor y de la
empresa HM) y en la figura 9.10 se muestra la señal de oscilación tomada de la
salida de amplificasion del sensor de presion con la ayuda de un osiloscopio.
81
Figura 9.9 Amplificador de la señal de oscilación.
Figura 9.10 Señal de oscilación extraida de la salida del amplificador [14].
82
IX.IV.II.II Diagrama del equipo del Cardioritmómetro.
Haciendo referencia a la figura 9.11 donde se presenta el esquema que se
elaboro de las conexiones de los elementos electrónicos que componen el equipo
del Cardioritmómetro. Algunos de estos elemtos se describen a detallen en los
apartados anteriores.
Figura 9.11 Esquema grafico de las conexiones electricas del proyecto.
Como podemos observar en la fugura anterior se indican las tarjenas con
etiquetas que a continuacion vamos a dar una breve descripcion de cada una de
ellas:
83
CM; Arduino Motor Shield esta tarjeta esta conectada en serie con Arduino
mega con los pines ARFED hasta el RX0 y a su vez con el RESET asta la entrada
analógica A7, se alimenta del arduino mega. Al puente “H” se conecta el motor de
DC al canal B y la válvula esta en el canal A.
PB; corresponde al circuito para habilitar los botones selectores. Donde las
entradas digitales del arduino corresponden a la 46,48 y 50 para habilitar la
función correspondiente donde el la entrada digital 50 es para subir, la 48 para
bajar y 46 para elegir una opción en el programa que se despliegan en la LCD.
SP; es la tarjeta del sensor de presión MPX5050. Donde se alimenta de
arduino a 5V y GND, y la salida del sensor se conecta a la entrada analógica A8
de arduino.
Arduino Mega se alimenta por medio de una fuente de 9V o con el puerto
USB, como se indica en la figura. La LCD cuenta con tarjeta del puerto serial en la
parte posterior de esta ver figura 9.13 donde se pueden observar la conexión
entre la LCD y el circuito acondicionado para el puerto serial.
84
Figura 9.13 La flecha indica la tarjeta del circuito impreso para el
acondicionamiento de la GLCD y el puerto serial [15l.
También
se
realizo
un
esquemático
eléctrico
del
prototipo
del
Cardioritmómetro en la imagen 9.12 podemos observar los componentes y las
conexiones, este diagrama se realizo con la finalidad de cambiar los componentes
(arduino mega y el arduino motor shield), por otros componentes electrónicos esto
para reducir a un solo circuito impreso, reduciendo espacio y sobre todo el precio
del equipo.
85
Figuara 9.12. Esquema Eléctrico.
En el esquema anterior se puede observar que el microcontrolador aun
esta definido ya que se pretende realizar un estudio mas especifico para elegir el
adecuado deacuerdo a las caracteristicas solicitadas por la empresa.
IX.IV.III Programación.
El código del programa que controla al cardioritmómetro; por petición de la
empresa no puede mostrarse en esta memoria; así que mostraremos los cambios
y mejoras echas al código en la etapa tres del cardioritmómetro.
86
IX.IV.III.I Funciones para la GLCD serial.
El circuito para la glcd presentaba errores de conexión por la cantidad de
cables que son conectados de la glcd a la tarjeta arduino; por lo que se decidió
adaptar el circuito mencionado en capítulos anteriores al cual se le mandan
comandos vía serial y este los traduce para que la glcd coloque el puntero en
alguna coordenada, cambiar la luz de fondo, borrar un espacio en la glcd, etc.
Estas funciones se describen a continuación:
 //borra un área determinada de la pantalla
void borra_espacio (int desde_x, int desde_y, int hasta_x, int hasta_y){
Serial.write(0x7C);
Serial.write(0x05);
Serial.write(desde_x);
Serial.write(desde_y);
Serial.write(hasta_x);
Serial.write(hasta_y);
}
 //coloca el puntero de escritura en la posicion que le indiquemos
void coordenadas(int x, int y){
Serial.write(0x7C);
//x de 0 a 127
//y de 0 a 63
Serial.write(0x18);
87
Serial.write(x);
Serial.write(0x7C);
Serial.write(0x19);
Serial.write(y);
}
 //dibuja o borra un rectangulo
void rectangulo (int desde_x, int desde_y, int hasta_x, int hasta_y, int on_off) {
Serial.write(0x7C);
Serial.write(0x0F);
Serial.write(desde_x);
Serial.write(desde_y);
Serial.write(hasta_x);
Serial.write(hasta_y);
Serial.write(on_off);
}
 //dibuja o borra una linea
void linea (int desde_x, int desde_y, int hasta_x, int hasta_y, int on_off){
Serial.write(0x7C);
Serial.write(0x0C);
Serial.write(desde_x);
Serial.write(desde_y);
88
Serial.write(hasta_x);
Serial.write(hasta_y);
Serial.write(on_off);
}
 void cambiar_fondo(){
Serial.write(0x7C);
Serial.write(0x12);
delay(20);
}
El programa debe de desplegar en qué estado está el programa, así que
estas funciones son invocadas dentro del programa en el momento en que son
requeridas para que se pueda visualizar que está realizando el cardioritmómetro.
Dichas invocaciones se muestran a continuación.
Al inicio del proceso la pantalla muestra el nombre de la empresa como
inicialización, borra la pantalla completa, coloca el puntero en las coordenadas
(1,20), escribe el nombre de la empresa durante 3 segundos y después borra la
pantalla.
 void splashScreen(){
borra_espacio (0,0,127,63);
coordenadas(1,20);
89
Serial3.print("HEMODINAMICS CMR");
delay(3000);
borra_espacio (0,10,127,40);
}
Después de la inicialización muestra un menú del porcentaje de tolerancia en
las mediciones del tiempo de pulso a pulso; el cual seleccionas dependiendo la
tolerancia deseada.
 void showMainMenu(){
// +++ ******* showMainMenu Begins **************
coordenadas(1,63);
Serial3.print("PORCENTAJE:");
coordenadas(1,50);
Serial3.print("A. 20");
coordenadas(1,40);
Serial3.print("B. 25");
coordenadas(1,30);
Serial3.print("C. 30");
}
En seguida debe de mostrarse el porcentaje que selecciono para la tolerancia.
 void readyMenu(){
borra_espacio (0,20,127,63);
coordenadas(1,63);
Serial3.print("LISTO PARA INICIAR EN");
90
coordenadas(5,50);
Serial3.print(numberOfOptions[currentSelection]);
coordenadas(17,50);
Serial3.print("%");
}
Después de mostrar el porcentaje seleccionado debe mostrarse una leyenda
de inflando.
 void inflating(){
borra_espacio (0,43,127,63);
coordenadas(1,63);
Serial3.print("INFLANDO...");
}
Una vez que la presión requerida para la lectura de los datos es la adecuada la
glcd debe de mostrarla leyenda de calculando.
 void calculating(){
borra_espacio (0,50,127,63);
coordenadas(1,63);
Serial3.print("CALCULANDO...");
}
Después de calcular la glcd debe de mortar un leyenda de listo.
 void done(){
borra_espacio (0,50,127,63);
coordenadas(1,63);
91
Serial3.print("LISTO...");
}
Por último la glcd debe de desplegar los datos calculados por el algoritmo,
estos datos son las arritmias, la frecuencia cardiaca y la aceleración.
 void terminado() {
borra_espacio (0,0,128,63);
coordenadas(1,63);
Serial3.print("Fc:");
Serial3.print(pulse);
Serial3.print("/");
Serial3.print(tiempototal);
Serial3.print("seg");
coordenadas(1,30);
Serial3.print("C/s^2: ");
Serial3.print(accelerationToShow);
coordenadas(1,20);
Serial3.print("Cf/s^2:");
Serial3.print(azelfuera);
coordenadas(80,50);
Serial3.print(aboveMode);
Serial3.print(">M");
coordenadas(80,30);
Serial3.print(underMode);
92
Serial3.print("<M");
coordenadas(80,40);
Serial3.print(atMode);
Serial3.print("=M");
screenFirst=false;
}
X. RESULTADOS OBTENIDOS
En este capitulo se describen los resultados obtenidos planteados al inicio
del desarrollo del proyecto realizado en la empresa HemoDinamics y la
Universidad Tecnológica del estado de Querétaro durante el periodo de estadía
mayo- agosto del 2012, dio como resultado un prototipo donde su funcionamiento
fue modificado para obtener mediciones confiables y mas reales, conforme a los
requerimientos de la empresa.
Este proyecto ya se encuentra funcionando, tomando la presión arterial de
diversas personas realizando las mediciones de forma estable en los resultados
arrojados por el equipo del Cardioritmómetro y así se obtuvo muestras reales de
los pacientes.
93
De acuerdo a los objetivos planteados al inicio estos fueron los resultados:
Desarrollar el software con la programación necesaria para el “Emulador”: Esta
etapa fue concluida con éxito y con las especificaciones requeridas ya que se
consiguió simular el funcionamiento del Ritmo Cardiaco. Se realizo un programa
extra en prosecing para graficar las señales del encoder, la señal de salida del
sensor de presión MPX5050 y una señal de reloj, además se consigue guardar
estos datos en una hoja de calculo (Excel) y obtener la grafica de las tres señales.
Mejorar el prototipo actual: esta etapa se consigue mejorar los algoritmos
del programa original y se consigue mejorar el hardware reduciendo conexiones.
Manual para el usuario: Este objetivo no se consigue ya que el proyecto aun esta
en prototipo y se pretende seguir realizando modificaciones en las siguientes
etapas.
XI. ANÁLISIS DE RIESGO
Una de las recomendaciones para continuar con este proyecto, es la de
estudiar los fundamentos teóricos del proyecto esto con el fin de comprender
mejor su funcionamiento y así poder desarrollar las mejoras a este.
Otro de los factores que constituyeron un riesgo para cumplir en forma y
tiempo con la programación del proyecto, fueron los retrasos en la entrega de
materiales por parte de los proveedores. Este riesgo obligó a reprogramar en más
de una ocasión el cronograma inicial del proyecto.
94
Limitante fue la perdida de tiempo de trabajo en trasladarse de un lugar a
otro ya que era necesario ir a CENAM tomar muestras, era necesario esperar para
poder modificar la programación de acuerdo a las recomendaciones de metrología
del CENAM.
XII. CONCLUSIONES
Al final del desarrollo del proyecto se obtuvo el resultado esperado. Los
conocimientos y las investigaciones que se realizaron y se consigue mejorar el
prototipo en el funcionamiento, obteniendo mejores mediciones en las pruebas
que se realizaron a diferentes pacientes se obtuvieron exitosos resultados. Así
como se consiguió simular el ritmo cardiaco en el emulador. Cumpliendo con los
requerimientos que se solicitaron.
El trabajar en el área de la medicina es muy interesante adquirir nuevos
conocimientos, pero también es muy importante seguir ciertos parámetros y
condiciones para resolver los problemas que se presentaron sobretodo cuando se
trata de un proyecto de investigación ya que constantemente se cambian los
parámetros y condiciones de este. Se buscaban generar bases para desarrollar
mejores opciones de equipos médicos para poder diagnosticar enfermedades y
padecimientos arteriales.
95
XIII. RECOMENDACIONES
Se recomienda estudiar nuevas alternativas para el proyecto y poder
mejorarlo para diseñar un prototipo más versátil, reducir el precio y que sea más
factible para su venta y distribución en el mercado.
Cambiar la presentación del prototipo por un diseño mas compacto para
poder manejarlo y trasladarlo en cualquier lugar, es un prototipo muy accesible
para poder operarlo. Otra recomendación seria cambiar la alimentación del equipo
en lugar de utilizar un eliminador que suministra un voltaje de 9V por una batería
de la misma capacidad, con esto se espera una mayor eficiencia y con un costo
menor.
Por ultimo otro punto a considerar es mejorar la programación investigando
nuevas alternativas de software que mejore el código y modificaciones en el
funcionamiento del equipo para reducir el rango de error en cada medición.
96
XIV. REFERENCIAS BIBLIOGRÁFICAS Y VIRTUALES
[1]. TEXAS HEART INSTITUT, Centro de información cardiovascular. (Julio 2010).
Disponible en: http://www.texasheart.org/hic/anatomy_esp/anat1_sp.cfm
[2]. Pontificia Universidad de Valparaíso, Aula virtual del laboratorio de anatomía
humana. Disponible en: http://www.anatomiahumana.ucv.cl/efi/modulo24.html
[3]. MEDILINE PLUS. (2010). Disponible en:
http://www.nlm.nih.gov/medlineplus/spanish/ency/esp_imagepages/9124.htm
[4]. TEXAS HEART INSTITUTE, Centro de información cardiovascular. (Julio
2010). Disponible en:
http://www.texasheart.org/hic/anatomy_esp/anat1_sp.cfm5.http://www.cirugiacardi
aca.eu/mppal_seccion_2/eltomenu_arritmias/c_arritmias.html, Disponible en:
http://www.frecuencia-cardiaca.com/
[5]. MEDILINE PLUS. (2010). Disponible en:
http://www.move.va.gov/download/sHandouts/PhysicalActivity/P09_HowToTakeYo
urHeartRateSPANISH.pdf
[6]. Pagina web de Arduino, disponible en: www.arduino.cc,
http://creativecommons.org/licenses/by-nc-/
97
[7].-Universidad de alicante 2009 Pagina web de Arduino,disponible en:
www.arduino.cc
[8]. Arduino Motor Shield Rev 3.0. Hoja técnica. Disponible en :
http://www.carrodelectronica.com/store/index.php?_a=viewProd&productId=17715
[9]. Crystalfontz America,Inc. disponible en: http://www.crystalfontz.com
[10]. Tutorial de procesing. Disponible en:
http://es.scribd.com/doc/91548733/Processing-Un-Lenguaje-Al-Alcance-de-Todos
[11]. Pagina web principal de processing. Disponible en: http://processing.org
[12]. Hoja técnica de Electronic componets distribuidor SANYODENKI.
[13]. R.T.A.s.r.l.NDC_MED.Via E.Mattel-Frz Divisa, disponible en: http:/www.rta.lt
[14].Foros de electrónica. Disonible en: http://www.neoteo.com/foro/f29/libreriaglcd-128x64-esquema-de-conexion-676/
[15]. Martín Fernández, Martín.(Abril 2002).Contribuciones al análisis automático y
semiautomático de ecografía fetal tridimensional mediante campos aleatorios de
Markov y contornos activos. Ayudas al diagnóstico precoz de malformaciones.
Tesis de maestría. Disponible en: http://www.lpi.tel.uva.es/ ~nacho/docencia/
ing_ond_1/trabajos_04_05/io2/public_html/5Aplicaciones_diagnostico_3.htm
98
ANEXO
Glosario
Bootloader
Que se traduce como placa de entrenamiento, dispositivo de plástico que sirve
para conectar cables y componentes entre si sin necesidad de soldar .Este
sistema aparece en los ordenadores, tablets, smartphones... es el sistema de
arranque, "manda" al sistema operativo iniciarse.
http://arduino.cc/es/Main/Glossary
Bradicardias
f. disminución del número de contracciones cardíacas inferior a 60 por minuto.
Pulso anormalmente lento.
DiccionariMedico.net,http://www.diccionariomedico.net/diccionarioterminos/Diccionario-terminos-2/B/
Cardias
Esfínter superior del estómago. / PÍLORO: Esfínter inferior del estómago. /
El CARDIAS comunica el ESÓFAGO con el ESTÓMAGO.
Glosario de términos médicos
http://elsalvador.medicosdoctores.com/diccionario-medico/cardias/c
99
Taquicardia
Aumento de la frecuencia cardíaca. Pulso Hace referencia a las variaciones de
presión en los vasos sanguíneos, que se producen durante la sístole, es decir,
durante la fase en la que el corazón se contrae y bombea la sangre a los vasos. El
pulso normal de los adultos sanos oscila entre 60 y 100 latidos por minuto. El
pulso puede fluctuar y aumentar con el ejercicio, las enfermedades, las lesiones y
las emociones.
http://www.onmeda.es/enciclopedia/anatomia/presion_sanguinea-pulso-145337.html
100
101
Descargar