Professional Documents
Culture Documents
Presentado por:
RAL DARO CHIPANA QUISPE
Lima - Per
2008
RESUMEN
Especiales agradecimientos
A mis padres, Ana Mara y Daro,
A mis hermanas, Elena, Ana y Nori
Por brindarme la confianza y el apoyo en las decisiones ms importantes.
A Bruno Castilln.
A mi Asesor, Jos Dvalos.
A mis amigos del equipo Gidems:
Bruno, Andrs Barrios, Jos Dvalos, Edwin Solorzano, Jimmy Tarrillo,Eduardo
Ajito, Romy Quispe, Cecilia Yamamoto, Miguel Obregn, Carlos Albino, Carlos
Mugruza, Jorge Coello, Daniel Orjeda, Lus Garcia, Ana Moreno, Mica
Benavides. Y a todos aquellos que colaboraron de manera indirecta con el
proyecto.
INDICE
Introduccin ............................................................................................................. 1
1. PLANTEAMIENTO DEL PROBLEMA.................................................................. 3
1.1 Planteamiento Del Problema ............................................................................ 4
1.2 Objetivos Generales ......................................................................................... 6
1.3 Objetivos Especificos........................................................................................ 6
2 ANTECEDENTES ................................................................................................. 7
2.1 Estado Del Arte................................................................................................. 9
2.2 Marco Conceptual........................................................................................... 11
2.2.1 Cpap Neonatal....................................................................................... 11
2.2.2 Control de la mezcla de aire y oxgeno ................................................. 11
2.2.3 Sensor de Flujo ..................................................................................... 11
2.2.4 Actuadores para el Mezclador............................................................... 12
2.2.5 Burbuja Neonatal con Presurizador de Vas Areas ............................. 12
3 DISEO DEL MEZCLADOR............................................................................... 14
3.1.1 Requerimientos de hardware de medicin ............................................ 15
3.1.2 Requerimientos del software controlador .............................................. 16
3.2 Sistema neumtico ......................................................................................... 17
3.2.1 Componentes Neumticos .................................................................... 19
3.3 Diagrama esquemtico del proyecto Cpap Neonatal ..................................... 24
3.3.1 Control electrnico................................................................................. 27
3.3.2 Mdulo de adquisicin de flujo .............................................................. 29
3.4 Algoritmo general de control de mezcla......................................................... 39
3.4.1 Funcin inicializacin general................................................................ 40
3.4.2 Funcin Valores por defecto.................................................................. 40
3.4.3 Funcin retardo ..................................................................................... 40
3.4.4 Funcin Obtener valores de flujo........................................................... 41
3.4.5 Funcin Control de Aire (FCA) .............................................................. 41
3.4.6 Funcin Control del Oxgeno (FCO) ...................................................... 42
3.4.7 Funcin Nuevos Valores Programados (FNVP) .................................... 43
3.4.8 Servicio de interrupcin (SI) .................................................................. 46
3.5 Algoritmo de adquisicin de flujo .................................................................... 48
3.5.1 Funcin Adquisicin del Valor ADC (FAVadc) ..................................... 49
3.5.2 Funcin Clculo de Flujo (FCF)............................................................. 49
3.5.3 Funcin Transferencia de Datos va SPI (FTDspi) ................................ 50
Introduccin
La intencin de este documento es dar a conocer parte del diseo e
implementacin del proyecto "Prototipo de Cpap Neonatal para proporcionar
mezcla de aire oxgeno en las vas areas de los recin nacidos con
deficiencias respiratorias" proyecto que ha sido financiado por CONCYTEC1.
El proyecto es desarrollado por el Grupo de Investigacin y Desarrollo de
Equipos Mdicos Y Sistemas (GIDEMS) en las instalaciones del Laboratorio de
Desarrollo de Proyectos de la Seccin de Electricidad y Electrnica de la
Pontificia Universidad Catlica del Per.
El CPAP2 es un equipo para el soporte respiratorio en pacientes neonatales y
peditricos. Es usado para la administracin de presin positiva nasal continua
de las vas respiratorias en pacientes pretrminos o prematuros. Permite la
estabilidad y control de Presin, Flujo de aire y oxgeno, Humedad y
Temperatura, a travs de una cnula NCPAP convencional.
El sistema cuenta con un control electrnico para la manipulacin deseada del
flujo de aire y del flujo de oxgeno, la programacin de tales parmetros y los
antes mencionados se realiza en el tablero de mando.
1
2
El proyecto inicia en enero del 2006 con la direccin del Magister Bruno Castilln
Lvano y la participacin: Magister Jos Dvalos Pinto, Ing. Edwin Solrzano
Rosales, Lic. Eduardo Ajito Lam, Ing. Andrs Barrios Montalvo, Ing. Jimmy Tarrillo
Olano, Ing Romy Quispe Salcedo, Ing Carlos Albino Rivera, Miguel Obregn
Nuez, Cecilia Yamamoto Noguchi y el autor de la tesis. La constancia y el
esfuerzo nos permitieron ganar el IX Concurso Nacional de Inventores 2006
organizado por el Instituto Nacional de Defensa de la Competencia y de la
Propiedad Intelectual INDECOPI. Realizado el lunes 20 de noviembre de 2006.
De izquierda a derecha: Bruno, Ral, Eduardo, Jimmy, Cecilia, Romy, Andrs, Miguel,
Edwin.
1.1
El
hgado
el
sistema
inmune
deben
comenzar
funcionar
independientemente.
En su conjunto, el cuerpo del beb debe funcionar de forma completamente
nueva. A veces un beb puede tener dificultades y ms aun si se trata de un
beb prematuro ya que aun no est completamente desarrollado. Los
problemas relacionados con el sistema respiratorio son el SDR
3
4
1.2
Objetivos Generales
1.3
Objetivos Especificos
ANTECEDENTES
2.1
Otro mtodo de control desarrollado por Aik Chong Lua es basado en una
vlvula solenoide proporcional usado para un soporte de ventilacin mecnica,
frecuentemente
requerida
sufren de
insuficiencia
va
una
tarjeta
de
adquisicin
PCI
20428W
Intelligent
10
2.2
Marco Conceptual
Aire
2
3
5
6
1
7
Humidificacin y control de
presin, temperatura y
cantidad de oxgeno aadido
al flujo de aire.
12
4
8
Oxgeno
11
10
9
Figura 1.
13
14
Rango
Precisin
Tiempo
de
Respuesta
Flujo de AIRE
0SLPM ~ 15SLMP
0.5SLPM
5segs
Flujo de O2
0SLPM ~ 15SLMP
0.5SLPM
5segs
15
Parmetro
Enteros
Decimales
Variacin
Concentracin de O2
Flujo de Mezcla
Los valores sern mostrados en una pantalla LCD grfica a color. El control de
la pantalla LCD grfica a color estuvo a cargo de la Ing. Romy Quispe quien a
su vez monitoreaba los parmetros de temperatura, presin y humedad
relativa.
16
3.2
Sistema neumtico
El sistema neumtico es una de las etapas ms importantes ya que ser aqu
donde se desarrolle la mezcla de los gases con ayuda del control electrnico.
El sistema neumtico fue diseado por miembros del equipo con la finalidad de
elaborar un control de presin y control de suministro de oxgeno.
El sistema neumtico presenta distintos componentes distribuidos de tal forma
que permiten realizar la mezcla del aire con el oxgeno [6]. La planta neumtica
recibe en la entrada oxgeno y aire para combinarlo y generar la mezcla con
una concentracin de oxgeno de 21 a 100% en la salida. El oxgeno ingresa
con una presin entre 30 a 50 psi. El flujo de oxigeno es filtrado y regulado a
travs de un restrictor, el cual es manejado por un motor DC. El restrictor y el
motor DC estn acoplados mecnicamente como se muestra en la figura 2. El
motor DC gira a ambos sentidos abriendo y cerrando el restrictor. El sensor de
flujo registra la cantidad de litros por minuto para luego proceder a controlar la
mezcla de salida.
17
18
Filtro de partculas
El filtro sirve para eliminar las impurezas antes de llegar al compresor de aire y
al regulador de presin. Es un filtro que se comercialice en el mercado
nacional, el modelo es TAF300 de la marca TPC. Este filtro soporta alta presin
(hasta 150 PSI). Ver figura 3.
Regulador de presin
19
Restrictor
Motor DC
20
El sensor de flujo mide la cantidad en litros por minuto que circula por las vas.
El sensor Honeywell AMW5104VN. El voltaje de salida es de 1 a 5 Vdc y vara
en proporcin con el gas que atraviesa la entrada de conexin de la cubierta.
Este sensor opera en el rango til de Flujo 0-20 LPM. [3] Vase la figura 7.
21
Compresor
22
23
3.3
Controlador para pantalla LCD grfica a color del proyecto Burbuja Artificial Neonatal [4].
24
25
Figura 11. Diagrama general del proyecto CPAP Neonatal. Elaborado en el laboratorio de desarrollo de proyectos GIDEMS. Seccin de Electricidad y Electrnica. Pontificia Universidad
Catlica del Per.
27
Registros de 8 bits.
28
Requerimientos de control
29
Para cumplir con todas las exigencias del proyecto, se disea el mdulo
mostrado en la figura 12.
El mdulo de adquisicin de flujo fue diseado conforme las necesidades de
acoplamiento a la tarjeta master, la tarjeta de adquisicin ser quien brinde la
alimentacin respectiva para el sensor de flujo. El sensor de flujo AWM5104V
se alimenta con 10v, debido a esto se usa un regulador de voltaje, ver la figura
20. Tambin fue necesario un regulador de voltaje (LM7805) para la
alimentacin del micro controlador Atmega8L. La tarjeta de adquisicin tiene un
pulsador para activar la opcin de reset. Ver figura 19.
La tarjeta de adquisicin de datos tiene las siguientes caractersticas:
Referencia de 0V (GND)
30
3 bits de control
Interfaz de alimentacin
-
+12Vdc
0V (GND)
Sensor de flujo
El sensor de flujo msico AWM5104V (Microbridge Mass Airflow) opera en
base a la transferencia de calor, el flujo del aire cruza directamente la superficie
de un elemento sensible causando la transferencia de calor. la salida del voltaje
varia proporcionalmente a la masa de aire o de otro flujo de gas que atraviese
el ducto adecuado [3]. Para mayores detalles ver el anexo F.
HONEYWELL AWM5104VN
Voltaje de salida:
1 a 5Vdc
Rango de flujo:
0 20SLPM
Tiempo de respuesta:
60 milisegundos mximo.
Voltaje de alimentacin:
Mxima presin:
50.0 psi
Poder de consumo:
100mW mx.
Error de linealidad:
3% de lectura
31
En pruebas preliminares al diseo del filtro, se noto que haba mucha variacin
en el voltaje de salida del sensor de flujo debido a la turbulencia del aire
generado por el compresor Sensidyne. Cuando el flujo de aire es bajo [6 SPLM]
la seal de entrada proveniente del sensor de flujo es de 2.2Vdc pero con una
componente alterna de 536mV y una frecuencia de 62Hz. Ver figura 15. El
caso ideal es que no tenga componente alterna, de esta manera la conversin
analgico a digital es ofrece mayor garanta.
Figura 15. Seal del sensor de flujo a 6 SLPM sin usar filtro.
32
Frecuencia(Hz)
62
65
75
83
88
94
98
109
112
128
137
145
una
vez
implementado
no
se
obtuvo
algn
resulto,
luego
Fc
1
2RC
Fc
1
2 2200 47 *10 6
Fc 1.5 Hz
Ecu. 1. Calculo de la frecuencia de corte para el filtro RC
33
Figura 17. Seal del sensor de flujo a 6 SLPM usando un filtro RC.
34
pines facilita el intercambio con otro micro controlador del mismo tipo. El
microcontrolador fue seleccionado por la familiaridad y experiencia que se tiene
en el uso de este dispositivo, y sobre todo por la familiaridad con el
microcontrolador central 7 debido a que ambos pueden comunicarse con el
protocolo SPI (requisito indispensable para el microcontrolador).
La programacin de los microcontroladores se desarrolla en el entrono
AVRstudio4, entorno de programacin de la familia ATMEL. Las tarjetas de
adquisicin cuentan con conectores para no tener que retirar el integrado al
momento de programar.
Caractersticas:
8K bytes memoria de programacin FLASH
1K bytes de memoria SRAM
512 bytes de memoria EEPROM
Grados de velocidad de 1, 2, 4, 8Mhz
6 canales de ADC de 10-bit
PDIP 28 pines
Puerto serial programable USART
23 lneas programables de entrada o salida
Consumo de corriente 3.6mA
Las lneas de comunicacin SPI son compartidas por los siete mdulos de
adquisicin, los buffers permiten mantener en alta impedancia en las lneas de
conexin con los dems mdulos mientras la comunicacin se realiza con uno
de ellos.
Los buffer son compuertas lgicas no inversor de tres estados (74LS125)
permiten mantener la comunicacin SPI con la tarjeta de control y potencia
(master). Cada mdulo de adquisicin cuenta con buffers para realizar la
misma funcin. El uso de los buffer fue una exigencia del proyecto para la
comunicacin de todos los mdulos de adquisicin.
35
Display LCD
El display de caracteres LCD 20x2 es usada como una pantalla auxiliar para no
depender del controlador principal y de la pantalla grfica a color. Con una
pantalla LCD de 20x2 se puede visualizar los valores de flujo sensado casi en
tiempo real, ver figura 18a. Esto es importante para la calibracin y las pruebas
del mezclador. Recordemos que finalmente la tarjeta de adquisicin quedar al
interior del equipo y ser la pantalla grfica a color quien monitoree todas las
funciones.
El consumo del mdulo de adquisicin de flujo con la pantalla LCD backlight es
de 36mA.
36
pinesLCD
D0
D1
D2
D3
D4
D5
D6
D7
PC0
Enable (E)
PC1
Reset
(RS)
PC2
Write/read
(W/R)
Para mayores detalles de programacin del display LDC puede revisar el anexo E.
37
Figura 20. Diagrama esquemtico del mdulo de adquisicin de datos para los flujos de aire y oxgeno.
3.4
39
40
Esta funcin desarrolla los clculos necesarios para mantener el flujo de aire en
el valor programado. El control implementado es del tipo ON/OFF, y en caso
que el flujo de aire aun no alcanza el valor programado se procede a
incrementar el flujo de aire; si el flujo de aire sensado sobrepasa el valor
programado se procede a decrementar el flujo. Con la finalidad de no saturar
de cambios al actuador se deja un rango de operacin, como se muestra en la
figura 22, donde no se producen cambios.
Los procesos mayor flujo de aire y menor flujo de aire, son un conjunto de
instrucciones que aumentan y disminuyen el flujo de aire de acuerdo a los
resultados de las comparaciones. El incremento de aire se produce
aumentando el valor del registro OCR quin a su vez producir un mayor ancho
de pulso de la seal PWM OC3A pin 14 del Atmega162, ya que la seal del
microcontrolador no puede alimentar directamente al compresor sinsedyne se
usa un driver LMD18201 aislado por opto-acopladores, todo esto instalado en
la tarjeta de control y potencia.
3.4.6
42
manejo del motor. El proceso no variar restrictor implica que el motor debe
estar detenido, para esto se pone a 1 el PD6 indicando un brake al motor.
Esta funcin transforma y actualiza los valores programados del flujo de aire y
oxgeno (figura 26). Esta funcin se ejecuta luego que la variable cambio tiene
el valor 1. El servicio de interrupcin (SI) modifica la variable cambio luego de
recibir los valores de mezcla y concentracin de la computadora.
43
flujo _ air
mezcla(100 concentracion)
79
(Ecuacin 1)
(Ecuacin 2)
donde los valores de flujo estn en funcin de los datos que fueron
programados por el usuario; mezcla y concentracin.
mezcla = cantidad de la mezcla en SLPM
concentracin = porcentaje de oxgeno en la mezcla
flujo_oxi = cantidad de oxgeno en SLPM.
flujo_air = cantidad de aire en SLPM
44
concentracion
(Ecuacin 3)
(Ecuacin 4)
(ecuacin.4)
Pero el aire tiene 21% de oxigeno, entonces, separando el oxgeno del aire y
agregando el oxgeno por venir se obtiene el oxgeno total:
(ecuacin.5)
(ecuacin.6)
Pero despejando flujo_oxi de la ecuacin 4 y reemplazando en la ecuacin 6
45
flujo _ air
mezcla(100 concentracion)
79
(Ecuacin 1)
concentracion
(Ecuacin 3)
46
inicio
Leer UDR
counter
++1
counter = 1 ?
si
mezcla
UDR
no
counter = 2 ?
no
si
concentracion
UDR
cambio 1
counter 0
Fin
47
3.5
48
La funcin clculo de flujo realiza las operaciones necesarias para adaptar los
valores obtenidos por el ADC, para luego ser usado por el control. La figura 29
muestra la recta por el sensor AWM5104V8. Recordemos que el sensor entrega
de 1 a 5Vdc proporcional al flujo de 0 a 20 slpm. Ecuacin 7.
(Ecuacin 7)
49
SPDR9 a espera que el master lo requiera, pero el Atmega8L sigue con sus
operaciones.
50
52
53
Paso
4:
Llenar
aproximadamente.
el
Sin
depsito
liberar
del
el
compresor
aire,
de
graduar
aire
la
hasta
salida
100psi
50psi
aproximadamente.
Paso 5: Asegurar que el regulador de presin del sistema neumtico (figura 30)
este a 5psi. Para esto es necesario desconectar la manguera de los vasos
comunicantes y liberar el aire del depsito del compresor. El manmetro junto
al regulador de presin debe marcar 5psi de lo contrario se debe variar el
regulador hasta conseguirlo.
Paso 6: Una vez puesto el regulador de presin a 5psi. Volver a conectar la
manguera con los vasos comunicantes. Si fuese necesario volver a llenar el
depsito del compresor de aire. Luego, cerrar casi en su totalidad el restrictor
de flujo (figura 30) para medir un caudal mnimo.
Paso7: Usando un cronmetro, sincronizar la apertura de la vlvula del
depsito de aire comprimido, anotar el valor registrado en la pantalla LCD,
registrar el valor indicado por el voltmetro, detener el cronometro cuando el
nivel de agua alcance los 10 centmetro de desplazamiento y luego cerrar la
vlvula del depsito.
Paso 8: Incrementar ligeramente la apertura del restrictor de flujo para medir
otro caudal de aire y realizar nuevamente el paso 7. Tomar diferentes muestras
a diferentes aperturas del restrictor de flujo.
Con los datos tomados (tiempos, flujo mostrado en el display y el voltaje de
entrada al ADC) generar una tabla de voltaje, flujo medido y flujo calculado. Los
10 centmetros de desplazamiento de nivel de agua encierra 1.251 litros de
aire, el rea transversal de los vasos comunicantes es de 13.9cm x 9cm.
Entonces, el volumen encerrado es de 1251cm que es igual a 1.251litros
(1L=1000cm).
Como el desplazamiento del nivel de agua es el mismo para todas las
mediciones, la capacidad de 1.251 litros se repite. Los tiempos registrados
54
deben estar en minutos. Para hallar cada flujo dividimos 1.251 entre el tiempo.
Y el resultado ser el flujo calculado.
4.1
Resultados de calibracin
Luego de tomar diferentes muestras se construye la recta para cada mdulo.
Las muestras del mdulo de adquisicin de aire se ven en la tabla 2 y la recta
en la figura 32. De la misma forma, las muestras del mdulo de oxgeno se ven
en la tabla 2 y la recta en la figura 33. La intensin de generar las rectas es ver
cunto difiere de los valores medidos por el mdulo y poder corregirlo.
Las rectas de calibracin fcilmente pueden agregarse a las lneas de
programa y de esta manera corregir las desviaciones de cada mdulo.
Las muestras de flujo tomadas por el mdulo de adquisicin son como siguen:
desviacin %
2,11
5,36
2,2
5,3
5,83
6,7
9,0
2,28
5,7
6,25
8,8
2,49
6,8
7,32
7,1
2,63
7,4
8,00
7,5
2,76
8,1
8,70
6,9
3,11
9,8
10,34
5,3
3,26
10,4
10,91
4,7
3,44
11,4
12,50
8,8
3,77
13,1
13,95
6,1
3,97
14,1
15,38
8,4
4,24
15,3
16,22
5,6
4,54
16,8
17,65
4,8
4,69
17,6
18,75
6,1
4,88
18,5
20,69
10,6
55
5
4,8
4,6
y = 0,2037x + 1,1138
4,4
4,2
Voltaje (V)
4
3,8
3,6
sensor
calibrador
Lineal (calibrador)
Lineal (sensor)
3,4
3,2
3
2,8
y = 0,1882x + 1,1265
2,6
2,4
2,2
2
1,8
4
10
11
12
13
14
15
16
17
18
19
20
21
22
Flujo (lpm)
volt (V)
Adquisicin de
flujo calc
desviacin
flujo (slpm)
(lpm)
2,12
5,2
5,41
3,8
2,22
5,6
5,94
5,7
2,29
6,19
3,0
2,38
6,4
6,67
4,0
2,53
7,3
7,69
5,1
2,55
7,4
7,59
2,6
2,7
7,9
8,11
2,6
2,81
8,6
8,82
2,5
3,07
10
10,34
3,3
3,18
10,3
10,71
3,9
3,31
11,2
11,76
4,8
3,43
11,7
12,24
4,5
3,76
13,6
13,95
2,5
4,03
14,7
15,00
2,0
4,47
16,8
16,67
-0,8
4,46
16,8
17,14
2,0
4,72
18,2
18,75
2,9
5,05
20
20,69
3,3
56
5,4
5,2
5
4,8
y = 0,199x + 1,0968
4,6
4,4
4,2
voltaje V
4
3,8
sensor
calibrador
Lineal (calibrador)
Lineal (sensor)
3,6
3,4
3,2
3
2,8
2,6
2,4
y = 0,1961x + 1,0633
2,2
2
1,8
4
10
11
12
13
14
15
16
17
18
19
20
21
22
flujo lpm
Con estos resultados puedo saber cul es el valor real del flujo de aire y
oxgeno, es decir, las rectas nos permiten verificar cualquier valor de flujo en
funcin al voltaje que ingresa al ADC del micro controlador
4.2
Interfaz de ensayos
Para los distintos ensayos es necesario usar un software que permita registrar
automticamente los datos de flujo y tambin programar los valores a controlar.
El software Comunicacin Serial V1.2 10 desarrollado en Visual Basic Net
cumple con estas necesidades, ver figura 34.
Antes de recibir los datos es necesario configurar la velocidad de trasmisin en
la ventana de configuracin, en nuestro caso, la velocidad a trasmitir es de
4800bps, los dems parmetros de comunicacin serial ya vienen por defecto y
no se pueden modificar [8bit, sin paridad, modo asncrono, un bit de stop]. La
pantalla de 3 dgitos ubicado en el extremo superior derecho (ver figura 34)
indica el ltimo valor recibido. El rea de bloque de texto ubicado al extremo
10
57
derecho sirve para registrar todos los datos recibidos de acuerdo como van
llegando. Cabe resaltar que los nmeros recibidos deben ser interpretados
dividindose entre 10, es decir, si el valor recibido es 165 indica que el flujo es
16.5 SLPM.
Sobre el envo de datos, el software tiene distintas forma de interpretar la
trama, en nuestro caso usaremos la opcin Decimal, es decir, enviaremos
valores que representen la mezcla, por ejemplo: si queremos una mezcla de
16.5 litros por minuto enviamos 165 y para la concentracin de oxgeno es
directo, por ejemplo si queremos 60% enviamos 60.
El muestreo de ambos flujos es de manera simultnea. Primero recibe el valor
del flujo de aire y luego el valor del flujo de oxgeno. Es decir, los valores estn
intercalados. Para generar las grficas se ordenan los datos con funciones del
Excel y se obtienen las grficas.
58
59
60
Tabla 4. La columna A son los datos obtenidos con el software de ensayo y las
columnas C y D son los valores de flujo desglosados.
61
aire
flujo fijado
14.0 slpm
oxgeno
mezcla
9.0 slpm
23.0 slpm
%oxgeno
60.1
De acuerdo con los datos programados (ver tabla 5) la primer grfica, figura 36,
muestra que el flujo del oxgeno es el primero en lograr la estabilidad debido al
bajo flujo exigido, en esta primera grfica se ve un pequeo sobre impulso del
flujo de oxgeno que rpidamente fue controlado y estabilizado. La mezcla
requerida fue alcanzada en 11.85 segundos. Durante el control alcanz un nivel
mximo de 23.1 y nivel mnimo de 22.8 splm.
Para la primera prueba se tomo 662 datos en 33.05 segundos.
SLPM
Flujo de gases
26.0
AIRE
24.0
OXIGENO
MEZCLA
22.0
20.0
18.0
16.0
14.0
12.0
10.0
8.0
6.0
4.0
2.0
Seg
0.0
0
10
12
14
16
18
20
22
62
aire
flujo fijado
12.0slpm
oxgeno
mezcla
7.0slpm
19.0slpm
%oxgeno
57.8
SLPM
Flujo de Gases
20.0
AIRE
19.0
OXIGENO
18.0
MEZCLA
17.0
16.0
15.0
14.0
13.0
12.0
11.0
10.0
9.0
8.0
7.0
6.0
5.0
4.0
3.0
2.0
Seg
1.0
0.0
0.00
2.00
4.00
6.00
8.00
10.00
12.00
14.00
16.00
18.00
20.00
22.00
24.00
63
flujo fijado
aire
oxgeno
10.0slpm
10.0slpm
mezcla
%oxgeno
20.0slpm
71.0
Flujo de Gases
SLPM
22.00
AIRE
20.00
OXIGENO
18.00
MEZCLA
16.00
14.00
12.00
10.00
8.00
6.00
4.00
2.00
Seg
0.00
0.00
1.00
2.00
3.00
4.00
5.00
6.00
7.00
8.00
9.00
10.00
11.00
12.00
13.00
14.00
15.00
16.00
17.00
18.00
19.00
64
aire
flujo fijado
10.0slpm
oxgeno
mezcla
%oxgeno
10.0slpm
20.0slpm
71.0
Este ensayo es similar al anterior (ver tabla 8) con la diferencia que fue
sometido a perturbaciones mecnicas para registrar el comportamiento de los
actuadores y el comportamiento de cada flujo.
Una vez alcanzadas la estabilidad, se obstruy la salida de la mezcla
simulando una perturbacin. Como resultado, en menos de un segundo el
sistema se vuelve a restablecer. Se ve tambin que la perturbacin afecta ms
al flujo de aire que al flujo de oxgeno ya que la presin del oxgeno simulado
es mucho mayor al flujo del aire generado por el compresor. Ver figura 39.
Flujo de Gases
SLPM
AIRE
OXIGENO
24,00
22,00
20,00
18,00
16,00
14,00
12,00
10,00
8,00
6,00
4,00
2,00
Seg
0,00
0,00
2,00
4,00
6,00
8,00
10,00
12,00
14,00
16,00
18,00
20,00
22,00
24,00
26,00
28,00
30,00
32,00
34,00
36,00
38,00
40,00
65
RESULTADOS
En las 4 curvas presentadas en las figuras 36, 37, 38, 39 se nota un pequeo
codo o irregularidad creciente en el 5to segundo, particularmente en la curva
del flujo de oxgeno, al parecer se debe a una imperfeccin de construccin en
el restrictor de flujo y se presenta cada vez que la apertura repita el camino.
El compresor de aire no es bueno para entregar flujos de aire bajos, en el
orden de [0 a 5] SLPM, debido a que el motor del compresor no puede
mantener una velocidad constante con un voltaje promedio de 5.5Vdc, como
consecuencia, presenta demasiadas fluctuaciones, es decir, el caudal es muy
turbulento.
El compresor de aire puede entregar flujos desde 7 a 16 SLPM. En caso del
oxgeno, el flujo no es turbulento y varia perfectamente desde 0 a 20 SLPM
(solo podemos medir hasta 20 SLPM).
El control ON-OFF implementado logra un tiempo aproximado de 12 segundos
y un sobre-impulso mximo de 0.2 slpm y en algunos casos no hay sobreimpulso. Debido a estos resultados no es necesario implementar un control
ms sofisticado. El tiempo de subida se debe al motor DC (Gear 38GM) que
tiene el torque suficiente para mover el restrictor pero poca velocidad de giro
(60RPM)
Como una observacin se tiene que las pruebas de los mdulos de adquisicin
fueron hechas con fuentes de alimentacin externas (12Vdc), cuando se
integr los mdulos se not algunas variaciones. El flujo mximo alcanzado por
el aire ya no era el registrado anteriormente, esto se debi a la cada de tensin
en
la
fuente
de
alimentacin
general
de
12.01Vdc
10.97Vdc,
67
5.1
68
Conclusiones
69
Recomendaciones
Si se desea reducir el tiempo de subida del flujo se recomendara contar con un
motor de mayor velocidad que el actual (60RPM) y en la medida de lo posible
usar un compresor de aire que no genere mucha turbulencia en el aire de
salida.
Tambin se recomienda usar una fuente de alimentacin ms exacta y con
mayores prestaciones en cuanto a corriente. La cada de tensin puede ser
significativa y el sistema podra dar lecturas errneas.
Bibliografa
[1] Medical Engineering & Physics 23 (2001) 381 389 [Proporcional asist Ventilation
system based on prportional solenoid valve control] Aik Chong Lua, Ke Chiang
Shi, Leok Poh Chau; School of Mechanical and Production Engineering, Nanyang
Technological university, Singapore Junio 2001.
[2]http://www.healthsystem.virginia.edu/UVAHealth/peds_hrnewborn_sp/nicuintr.cfm
10-junio-2007
[3] AWM5000 Series Microbridge Mass Airflow Sensor, Issue 3 PK 88762
[4] QUISPE, Romy Noelia. Controlador para pantalla LCD grfica a color del proyecto
Burbuja Artificial Neonatal. Tesis. (Ing.) Pontificia Universidad Catlica del Per.
Facultad de Ciencias e Ingeniera. Lima 21 p
[5] Prototipo de CPAP-Neonatal para proporcionar mezcla de aire-oxigeno en las vas
respiratorias de los recin nacidos con deficiencia respiratoria. Cp. 2 Anlisis
Requerimientos generales del CPAP. Proyecto de investigacin de ciencia y
tecnologa PROCYT.
[6] Prototipo de CPAP-Neonatal para proporcionar mezcla de aire-oxigeno en las vas
respiratorias de los recin nacidos con deficiencia respiratoria. Cp. 3 Diseo e
Implementacin Neumtica. Proyecto de investigacin de ciencia y tecnologa
PROCYT.
[7] Prototipo de CPAP-Neonatal para proporcionar mezcla de aire-oxigeno en las vas
respiratorias de los recin nacidos con deficiencia respiratoria. Cp. 3 Diseo e
70
71
72
ANEXOS
Anexo A. fotografas
Hardware de control
10
11
Drossel-Rckschlagventil
151215
GR-1/8-B
Merkmal
Eigenschaft
Ventilfunktion
Drossel-Rckschlagfunktion
Pneumatischer Anschluss 1
G1/8
Pneumatischer Anschluss 2
G1/8
Einstellelement
Rndelschraube
Befestigungsart
wahlweise:
Fronttafeleinbau
mit Durchgangsbohrung
Normalnenndurchfluss
Drosselrichtung
in
220 l/min
12
Normalnenndurchfluss
in
Rckschlagrichtung
217 l/min
Betriebsdruck
0,5 - 10 bar
Umgebungstemperatur
-20 - 60 C
Werkstoffinformation Gehuse
Aluminium-Knetlegierung
gefilterte,
Betriebsmedium
nicht
gelte
Druckluft,
Filterfeinheit 40 m
gefilterte,
gelte
Druckluft,
Filterfeinheit 40 m
Einbaulage
beliebig
Mediumstemperatur
-20 - 60 C
Produktgewicht
34 g
Werkstoffinformation
Dichtungen
Werkstoffinformation
Regulierschraube
NBR
Messing
13
SPI_ON
MIDO_VOLT
LDS
OUT
R16,FLUJO
SPDR,R16
RCALL
RCALL
CONVER
MOSTRAR_VALOR
RJMP
BUCLE
;************************************************************************************************
;******************** FIN DE PROGRAMA PRINCIPAL ************************************
;************************************************************************************************
MENSAJE:
.DB
"OXIGENO:
SLPM$"
14
LDI
RCALL
RCALL
LDI
RCALL
RCALL
LDI
RCALL
RCALL
LDI
RCALL
RCALL
LDI
RCALL
RCALL
POP
POP
RET
INSTRUCCION,$38
ENVIA_LCD
CHECKBF
INSTRUCCION,0
ENVIA_LCD
CHECKBF
INSTRUCCION,1
ENVIA_LCD
CHECKBF
INSTRUCCION,6
ENVIA_LCD
CHECKBF
INSTRUCCION,$0C
ENVIA_LCD
CHECKBF
R17
R16
ENVIA_CADENA:
LEER_OTROC:
NO_MAS:
RCALL
LPM
CPI
BREQ
RCALL
RCALL
RJMP
RET
CHECKBF
DATO,Z+
; lee y muestra caracter en lcd
DATO,'$'
; muestro 16 caracteres
NO_MAS
ENVIADATO_LCD
RETARDO_DE_VISUALIZACION
LEER_OTROC
R17
R16
R16,$FF
DDRD,R16
R16,$07
DDRC,R16
R16,(1<<PB0)
DDRB,R16
R17,DDRC
R16,0B00110000
R17,R16
DDRC,R17
R16
R17
R16
R17
R16
R17
R17
LAZO_TIEMPO
R16
R16,$AA
OTRA_VEZ
R17
R16
15
CPI
BRNE
POP
RET
R17,$F5
LAZO_RETARDO
R17
R17
R17,0B000
PORTC,R17
R17,0B001
PORTC,R17
PORTD,INSTRUCCION
R17,0B000
PORTC,R17
R17,0B100
PORTC,R17
R17
R16,$88
; retrocedo el cursor de la pantalla para
ENVIA_LCD
; actualizar el nuevo dato
RETARDO
R16,$30
R22,R16
R21,R16
R20,R16
DATO,R20
ENVIADATO_LCD
RETARDO_DE_VISUALIZACION
DATO,R21
ENVIADATO_LCD
RETARDO_DE_VISUALIZACION
16
MOV
RCALL
RCALL
RET
DATO,R22
ENVIADATO_LCD
RETARDO_DE_VISUALIZACION
R18,0
R16,0
R26,R0
R27,R1
R26,R19
R27,R18
TERMINO
R16
LAZZO
CLR
CLR
CLR
LDS
RAUL: CPI
BRLO
SUBI
INC
RJMP
MENOR: CPI
BRLO
SUBI
INC
RJMP
MENOR_10: MOV
RET
R20
R21
R22
R16,FLUJO
R16,100
MENOR
R16,100
R20
RAUL
R16,10
MENOR_10
R16,10
R21
MENOR
R22,R16
; centenas en R20
; decenas en R21
; unidades en R22
R17,DDRB
;(SCK=PB5, IN)(MISO=PB4,OUT)(MOSI=PB3,IN)(/SS = PB2, IN)
R16,0B00010000
R17,R16
R16,0B11010011
R17,R16
DDRB,R17
;spi inter, off spi, master, set clock rate fclk/16
R17,(1<<SPIE)|(0<<SPE)|(0<<MSTR)|(1<<SPR0)
SPCR,R17
SPI_STC:LDI
OUT
RETI
R17,(1<<SPIE)|(0<<SPE)|(0<<MSTR)|(1<<SPR0)
SPCR,R17
SPI_ON:
17
LDI
OUT
RET
R17,(1<<SPIE)|(1<<SPE)|(0<<MSTR)|(1<<SPR0)
SPCR,R17
"M162DEF.INC"
.DSEG
.ORG (0XFF+1)
DATO_PC:
DATO_A_PC:
DATO_SPI:
FLUJO_AIR:
FLUJO_OXI:
DATO_AIR:
DATO_OXI:
FLUJO_MEZ:
COUNTER_LLEGADA:
PORCENT:
CAMBIO:
SINCRONIZAR:
.CSEG
.ORG $0
.ORG $028
.BYTE 1
.BYTE 1
.BYTE 1
.BYTE 1
.BYTE 1
.BYTE 1
.BYTE 1
.BYTE 1
.BYTE 1
.BYTE 1
.BYTE 1
.BYTE 1
RJMP INICIO
RJMP USART1_RXC
;inicializaciones
inicio:
;puntero de PILA
LDI
OUT
LDI
OUT
RCALL
RCALL
RCALL
RCALL
RCALL
RCALL
RCALL
RCALL
R16, HIGH(RAMEND)
SPH,R16
R16, LOW(RAMEND)
SPL,R16
UC_CLEARSRAM
;Limpia la memoria SRAM. Lleva todos los bytes a cero.
CLEARREGISTER
;Pone todos los registros a cero
UC_CLEARSRAM
CONFIG_PORT_MOTOR
UC_CONFIGURATETIMER1PWM
;configura del OC1A (PWM)PD5 motor
UC_CONFIGURATEUSART1
UC_CONFIGURATETIMER3PWM
;configura del OC3A (PWM)PD4 compresor
UC_INTIALIZESPIMASTER
;configura como master
CLR
STS
R16
COUNTER_LLEGADA,R16
LDI
OUT
LDI
STS
LDI
STS
R17,(0<<portd3)
PORTD,R17
R16,100
FLUJO_AIR,R16
R16,50
FLUJO_OXI,R16
NUEVO_CICLO:
SEI
LDI
STS
LDS
STS
RCALL
R16,255
SINCRONIZAR,R16
R16,SINCRONIZAR
DATO_A_PC,R16
UC_SENDBYTEUSART1
RCALL
RETARDO
18
RCALL
LDS
STS
STS
RCALL
LEERESCLAVO04
R16,DATO_SPI
DATO_AIR,R16
DATO_A_PC,R16
UC_SENDBYTEUSART1
RCALL
LDS
STS
STS
RCALL
LEERESCLAVO05
R16,DATO_SPI
DATO_OXI,R16
DATO_A_PC,R16
UC_sendByteUSART1
LDS
LDS
DEC
CP
BRGE
LDS
INC
CP
BRGE
R16,FLUJO_AIR
R17,DATO_AIR
R16
R16,R17
MAS_AIRE
R16,FLUJO_AIR
R16
R17,R16
MENOS_AIRE
LDS
LDS
DEC
CP
BRGE
LDS
INC
CP
BRGE
RCALL
R16,FLUJO_OXI
R17,DATO_OXI
R16
R16,R17
MAS_OXIGENO
R16,FLUJO_OXI
R16
R17,R16
MENOS_OXIGENO
MOTOR_OFF
LDS
CPI
BREQ
R16,CAMBIO
R16,1
CAMBIAR_VALORES
RJMP
NUEVO_CICLO
BACK1:
BACK:
MAS_AIRE:
LDS
INC
STS
RJMP
R16,OCR3AL
R16
OCR3AL,R16
BACK1
MENOS_AIRE:
LDS
DEC
STS
RJMP
R16,OCR3AL
R16
OCR3AL,R16
BACK1
MAS_OXIGENO
IN
LDI
AND
LDI
OR
OUT
RJMP
R17,PORTD
R16,0B01111111
R17,R16
R16,0B01000000
R17,R16
PORTD,R17
BACK
MENOS_OXIGENO
IN
R17,PORTD
LDI
R16,$C0
OR
R17,R16
OUT
PORTD,R17
RJMP
BACK
MOTOR_OFF:
IN
LDI
AND
OUT
RET
R17,PORTD
R16,0B10111111
R17,R16
PORTD,R17
CAMBIAR_VALORES:
LDS
R16,FLUJO_MEZ
19
LDS
MUL
R17,PORCENT
R17,R16
LDI
RCALL
STS
LDS
SUB
STS
CLR
STS
RJMP
R19,100
DIVIDIR
FLUJO_OXI,R16
R17,FLUJO_MEZ
R17,R16
FLUJO_AIR,R17
R16
CAMBIO,R16
NUEVO_CICLO
;es el divisor
DIVIDIR:
CLR
CLR
MOV
MOV
CLC
LAZZO: SBC
SBC
BRCS
INC
RJMP
TERMINO: RET
R18
R16
R26,R0
R27,R1
R26,R19
R27,R18
TERMINO
R16
LAZZO
;restas sucesivas
;el resultado est en r16
TCCR1A,R16
R16,0b00001001
OUT
LDI
OUT
LDI
OUT
POP
RET
TCCR1B,R16
R16,HIGH(128)
OCR1AH ,R16
R16
OCR1AL ,R16
R16
;* Fin
UC_configurateUsart1:
;*inicio de configuracion USART1
PUSH
R16
; ATmega162 running at 1 MHz. UBRR = 12 (4800bps, 0.2%).
; Configurar trama: modo asncrono, sin paridad |1 BitStop |8 Bits de datos
LDI
R16,LOW (12)
OUT
UBRR1L,R16
LDI
R16,HIGH(12)
OUT
UBRR1H,R16
LDI
R16,0B00000000
;(0<<RXC1)|(0<<TXC1)|(0<<UDRE1)|(0<<FE1)|(0<<DOR1)|
;(0<<PE1)|(0<<U2X1)|(0<<MPCM1)
OUT
UCSR1A,R16
LDI
R16,0B10011000
;(1<<RXCIE1)|(0<<TXCIE1)|(0<<UDRIE1)|(1<<RXEN1)|
;(1<<TXEN1)|(0<<UCSZ12)|(0<<RXB81)|(0<<TXB81)
OUT
UCSR1B ,R16
LDI
R16,0B10000110
;(1<<URSEL)|(0<<UMSEL)|(0<<UPM1)|(0<<UPM0)|
;(0<<USBS)|(1<<UCSZ1)|(1<<UCSZ0)|(0<<UCPOL)
OUT
UCSR1C ,R16
POP
R16
RET
; fin de configuracin
UC_configurateTimer3PWM:
;*inicio
;Configuracin de Output Compare Register A
;clear OC3A on compare, set OC1A at top, fast pwm 8 bits
LDI
R16,0B10000001
;(1<<COM3A1)|(0<<COM3A0)|(0<<COM3B1)|(0<<COM3B0)|
20
;(0<<FOC3A)|(0<<FOC3B)|(0<<WGM31)|(1<<WGM30)
;WGM13:12:11:10 <- 0b0101
STS
TCCR3A ,R16
UCSR1A,UDRE1
UC_SENDBYTEUSART1
R16,DATO_A_PC
UDR1,R16
RET
;*fin envio dato
UC_intializeSPIMaster:
;* Inicio
;/SS(PB4), MOSI(PB5), SCK(PB7). (1 = output) Clear MISO(PB6)(0 = input)
SBR
OUT
LDI
OUT
RET
r17,(1<<PORTB7)|(1<<PORTB5)|(1<<PORTB4)
DDRB,r17
r17,(0<<SPE)|(1<<MSTR)|(1<<SPR0)
;des.Enable SPI, Master, set clock rate Fclk/16
SPCR,r17
;* Fin
SPI_MasterTransmitReceive:
;* Inicio
PUSH
CLI
SBI
OUT
Wait_Transmit:
r16
SPCR,SPE
SPDR,r16
SBIS
RJMP
IN
STS
SPSR,SPIF
WAIT_TRANSMIT
R16,SPDR
DATO_SPI,R16
CBI
SEI
POP
RET
SPCR,SPE
;Lectura de lo recibido
R16
;* Fin
RETARDO:
RLOOP1:
RLOOP2:
RLOOP3:
PUSH
PUSH
PUSH
LDI
DEC
LDI
DEC
LDI
DEC
CPI
BRNE
CPI
BRNE
CPI
BRNE
POP
R16
R17
R18
R16,0x5
R16
R17,0x0A ;$0A
R17
R18,0xFD
R18
R18,0
RLOOP3
R17,0
RLOOP2
R16,0
RLOOP1
R18
21
POP
POP
RET
R17
R16
LeerEsclavo04:
;*inicio
;envio codigo de esclavo
PUSH
R18
PUSH
R16
LDI
R18,4
OUT
PORTE,R18
IN
R18,PORTB
LDI
R16,0B11101111
AND
R18,R16
OUT
PORTB,R18
RCALL SPI_MASTERTRANSMITRECEIVE
IN
R18,PORTB
LDI
R16,0B00010000
OR
R18,R16
OUT
PORTB,R18
POP
R16
POP
R18
RET
;*FIN
LeerEsclavo05:
;*inicio
;envio codigo de esclavo
PUSH
PUSH
LDI
OUT
IN
LDI
AND
OUT
RCALL
R18
R16
R18,5
PORTE,R18
R18,PORTB
;habilito decodificador de esclavos
R16,0B11101111
R18,R16
;(0<<PORTB4)
PORTB,R18
SPI_MASTERTRANSMITRECEIVE
;recepcin del esclavo
;(1<<PORTB4)
R16
R18
RET
;*fin
USART1_RXC:
;*inicio del servicio de interrupcion
IN
R18,SREG
PUSH
R18
PUSH
R16
UC_RECEIVEBYTEUSART1
;*inicio recepcion usart1
SBIS
UCSR1A,RXC1
RJMP
UC_RECEIVEBYTEUSART1
IN
R16,UDR1
STS
DATO_PC,R16
LDS
R18,COUNTER_LLEGADA
INC
R18
STS
COUNTER_LLEGADA,R18
CPI
R18,1
BREQ
CARGA_FLUJO_MEZ
CPI
R18,2
BREQ
CARGA_PORCENT
RJMP
FIN_SERVICIO
CARGA_FLUJO_MEZ:
LDS
STS
RJMP
R16,DATO_PC
FLUJO_MEZ,R16
FIN_SERVICIO
CARGA_PORCENT:
22
LDS
STS
LDI
STS
LDI
STS
R16,DATO_PC
PORCENT,R16
R16,1
CAMBIO,R16
R16,0
COUNTER_LLEGADA,R16
POP
POP
OUT
R16
R18
SREG,R18
FIN_SERVICIO:
RETI
; retorno de la interrupcion
;*fin
UC_CLEARSRAM:
;*INICIO
; variables locales
PUSH
R16
;R16: LSB DE LA DIRECCIN DE FIN.
PUSH
R17
;R17: MSB DE LA DIRECCIN DE FIN.
PUSH
R18
;R18: AUXILIAR. VALOR CERO.
PUSH
R26
;R26: XL PUNTERO A LA MEMORIA SRAM.
PUSH
R27
;R27: XH
; valor auxiliar
LDI
R18,0X00
; inicio
LDI
XL,LOW (0XFF+1)
LDI
XH,HIGH(0XFF+1)
; fin
IN
R16,SPL
IN
R17,SPH
; Inicio del BUCLE de LIMPIAR SRAM
repeat_lsram_1:
;* Inicio del bloque de LIMPIAR SRAM
ST
X+,R18
;* Fin del bloque de LIMPIAR SRAM
CP
XL,R16
CPC
XH,R17
brlo
repeat_lsram_1
; Fin del BUCLE de LIMPIAR SRAM
POP
R27
POP
R26
POP
R18
POP
R17
POP
R16
RET
;*FIN
clearRegister:
;*inicio
CLR
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
R16
R0,R16
R1,R16
R2,R16
R3,R16
R4,R16
R5,R16
R6,R16
R7,R16
R8,R16
R9,R16
R10,R16
R11,R16
R12,R16
R13,R16
R14,R16
R15,R16
R16,R16
R17,R16
R18,R16
R19,R16
R20,R16
R21,R16
R22,R16
R23,R16
23
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
RET
R24,R16
R25,R16
R26,R16
R27,R16
R28,R16
R29,R16
R30,R16
R31,R16
;*fin
config_port_motor:
;*inicio
;inicilizacion del puerto del motor (portD)
LDI
OUT
LDI
OUT
RET
R16,0x+FF
DDRD,R16
R16,0xFF
DDRE,R16
; todo salidas
; puerto e salida para seleccin de mdulo
;*fin
24