Upload
phungkhuong
View
216
Download
0
Embed Size (px)
Citation preview
UNIVERSIDAD ATONOMA METROPOLITANA Unidad Iztapalapa
CIENCIAS BÁSICAS E INGENIERÍA
LICENCIATURA DE INGENIERÍA BIOMÉDICA
SISTEMA DE CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA
NEONATOS
PRESENTAN: OMAR ABDEL ORTIZ MEDINA
SANDRA MARICELA CASTRO GRACIANO
ASESOR:
M. en I. MIGUEL ANGEL PEÑA CASTILLO
MÉXICO D.F MARZO DE 1997
UAM-I CIENCIAS BÀSICAS E INGENIERIA
AGRADECIMIENTOS
Agradezco a mi padre Ing. Omar Alfonso Ortiz Olea por su apoyo y paciencia.
Agradezco también a mi maestro Miguel Ángel Peña Castillo, por su asesoría y transmisión de conocimientos
A mis compañeros y amigos por compartir su amistad y conocimientos, Antonio Martínez, Sandra Castro, Beatriz
Hernández.
Agradezco A todos mis Maestros en especial los adjuntos al Laboratorio de Procesamiento Digital de Señales e Imágenes
Biomédicas, por permitirme pertenecer temporalmente a su grupo.
Omar Abdel Ortiz Medina
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
ÍNDICE I.- CONTROL AUTOMÁTICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS2
1-.- FISIOLOGÍA DE LA TERMOREGULACION..................................................................................... 2
SISTEMA SENSORIAL, SISTEMA CENTRAL DE CONTROL, PRODUCCIÓN DE CALOR Y SUDORACION................................................................................................................................................. 3
FÍSICA DEL INTERCAMBIO DE CALOR EN EL RECIÉN NACIDO................................................... 5
2.- ESPECIFICACIONES SANITARIAS PARA INCUBADORAS PARA NEONATOS........................ 8
ALARMAS...................................................................................................................................................... 11
REQUERIMIENTOS MECÁNICOS Y DE CONSTRUCCIÓN:.............................................................. 13
CARACTERÍSTICAS ELÉCTRICAS......................................................................................................... 13
3.- DISEÑO ..................................................................................................................................................... 15
3.1.- EL HARDWARE ................................................................................................................................... 15
CARACTERÍSTICAS QUE PRESENTA EL SERVOCONTROL........................................................... 15
3.1 DIAGRAMA A BLOQUES ..................................................................................................................... 16
3.2 CIRCUITO PARA EL SENSOR DE PIEL (TERMISTOR)............................................................... 17
CONVERTIDOR LINEAL DE CAMBIOS DE RESISTENCIA A CAMBIOS DE VOLTAJE ......... 17
3.3.- CIRCUITO CONVERTIDOR DE CORRIENTE A VOLTAJE PARA EL TRANSDUCTOR AD590 .............................................................................................................................................................. 18
3.4 .- CIRCUITO DE ALARMAS................................................................................................................ 21
3.5.- CIRCUITO REGULADOR DE POTENCIA SUMINISTRADA AL CALEFACTOR................... 22
3.6.- SISTEMA MÌNIMO CON EL MICROCONTROLADOR MC68HC11 DE MOTOROLA. ........ 24
3.7.- DESCRIPCIÓN DE LAS TERMINALES DEL MC68HC11. .......................................................... 24
3.8.- SISTEMA DE DESARROLLO CON EL MICROCONTROLADOR MC68HC11. ....................... 27
4.- EL SOFTWARE ....................................................................................................................................... 29
4.1 DIAGRAMAS DE FLUJO.- .................................................................................................................... 29
4.2.- EL PROGRAMA EN LENGUAJE ENSAMBLADOR PARA EL MC68HC11.- ............................ 34
CONCLUSIONES.......................................................................................................................................... 51
BIBLOGRAFÍA.............................................................................................................................................. 52
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 1
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
I.- CONTROL AUTOMÁTICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS OBJETIVO: Controlar la temperatura del interior de la incubadora para el desarrollo normal de niños prematuros y el control del flujo de aire a partir de un gradiente de temperatura entre el calefactor y el interior de la misma.
1-.- FISIOLOGÍA DE LA TERMOREGULACION INTRODUCCIÓN
Se ha demostrado que el niño recién nacido tienen todas las capacidades de un
homeotermo, es decir, en un amplio rango de temperaturas ambientales puede mantener una
temperatura corporal profunda notablemente constante, un aspecto de vital importancia
para el mantenimiento de un ambiente interior constante. El recién nacido tiene desventajas,
como una superficie corporal relativamente grande, escaso aislamiento térmico y una
pequeña masa para actuar como envase del calor. Además, tiene poca capacidad para
conservar el calor mediante el cambio de su postura y ninguna para ajustar sus propias
vestimentas en respuesta al estrés térmico. Al igual que las respuestas del adulto, las suyas
pueden ser amenazadas por enfermedades y condiciones adversas como hipoxia e
intoxicación farmacológica; la comprensión de sus respuestas y los factores que la limitan
constituyen la fisiología de la termorregulación en el recién nacido.
El niño produce calor como resultado de su actividad metabólica, con el objeto de
obtener una temperatura corporal constante debe disipar este calor hacia el ambiente a una
velocidad media igual a la de su producción. Esto se debe a que, los lactantes
(homeotermos) poseen elementos sensores en la médula espinal y en la piel que miden la
temperatura, y cuando menos en los receptores cutáneos, el ritmo del cambio de ella. Si un
homeotermo capta un ambiente frío, como se manifiesta por disminución de la temperatura
cutánea, los vasos de la piel mostrarán constricción y así aminorar la corriente sanguínea
por tal órgano. Tal mecanismo disminuye la temperatura cutánea y también el gradiente
térmico entre el medio y la piel. El organismo percibe el medio frío y busca otro más cálido
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 2
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
como en el caso de los adultos cuando se colocan un saco o un abrigo. Conforme se enfría
su metabolismo aumenta. En los lactantes tal acción depende del metabolismo de la grasa
parda, que consume sustratos energéticos, genera ácidos grasos libres y produce calor. El
niño asume una postura "compacta" o fetal para disminuir la superficie en que se suceden
las pérdidas calóricas, y si el medio es extremo comienza a mostrar escalofríos y así usa el
ejercicio muscular para generar el calor. Los escalofríos por lo común surgen con un nivel
de frío que disminuye moderadamente la temperatura central. Si esta temperatura
disminuye lo suficiente, comienza a disminuir el metabolismo, se altera la función del
sistema nervioso central, y surge desorientación. Al final aparecerán coma y paro cardiaco.
En un medio cálido, al comenzar la temperatura de la piel se dilatan los vasos
sanguíneos en ella y así aumenta el gradiente térmico entre el entorno y el organismo, y
aumentan las pérdidas calóricas. El organismo busca un medio más frío. El niño asume una
postura de extensión para ampliar la superficie corporal destinada a intercambio calórico y
él aumenta la pérdida calórica evaporativa por medio del sudor. En el neonato a término
aparecen en la frente algunas gotas de sudor, pero es poco lo que se genera en el resto del
cuerpo, aunque aumentan las pérdidas calóricas por evaporación. En el caso de los
prematuros un poco más maduros aumentan las pérdidas calóricas por evaporación, aunque
no se advierte sudoración.
SISTEMA SENSORIAL, SISTEMA CENTRAL DE CONTROL, PRODUCCIÓN DE CALOR Y SUDORACION En general, un homeotermo posee un sistema sensorial (o arco aferente), un sistema
central de control y los medios para ajustar la producción de calor y disipación de calor (o
arco efector).
ARCO AFERENTE. Indica la presencia de los receptores cutáneos en el área trigeminal de
la cara posee una notable sensibilidad al calor y al frío, mandan impulsos nerviosos a la
médula espinal y luego a la región hipotalámica del cerebro. Los receptores para la
regulación de la temperatura corporal son la neuronas sensibles al calor localizadas en la
región preóptica del hipotálamo anterior. Estas neuronas aumentan su frecuencia de
descarga cuando la temperatura sube, y la reducen cuando la temperatura baja. Existen
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 3
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
también las neuronas sensibles al frío en distintas partes del hipotálamo, septun y sustancia
reticular del mesencéfalo, aumentando su frecuencia de descarga por exposición al frío.
MECANISMO REGULADOR CENTRAL. En los animales adultos y recién nacidos
existen buenas evidencias sobre la existencia de un mecanismo regulador central complejo,
situado en el área del hipotálamo. No obstante, el termostato central no está ajustado a una
temperatura fija e invariable; sufre cambios cíclicos, disminuye alrededor de 0.5 ºC con el
comienzo del sueño y es afectados por pirógenos, drogas y hormonas intrahipotalámicas
como la noradrenalina.
AUMENTO DE LA PRODUCCIÓN DE CALOR. Este calor puede ser causado por
escalofríos, junto con otra actividad muscular, o por termogénesis sin producción de
escalofríos. En el recién nacido pueden generarse grandes incrementos en la producción
de calor sin escalofríos detectables, aunque en temperaturas ambientales muy bajas (15
ºC) ‚éstos pueden ser observados. Actualmente se sabe que la grasa parda es una importante
fuente de producción de calor en muchos mamíferos recién nacidos. La dependencia del
recién nacido a la termogénesis sin escalofríos mediante la grasa parda tiene importantes
consecuencias prácticas, porque este mecanismo efector puede ser inutilizado por la
hipoxia, el bloqueo producido por ciertas drogas y la depresión nutricional. En los
animales, la termogénesis sin escalofríos se reduce a medida que avanza la edad, aunque
puede preservarse mediante la exposición al frío, como se logra al producir un animal
adaptado al frío.
SUDORACION. Cuando el cuerpo se caliente excesivamente, se secretan grandes
volúmenes de sudor hacia la superficie de la piel por las glándulas sodorípidas con el fin de
permitir un rápido enfriamiento por evaporación corporal. La estipulación del área
preóptica por delante del hipotálamo excita la producción de calor. Los impulsos de ésta
área que originan sudoración son transmitidos por vías neurovegetativas hacía la médula,
y de allí siguiendo las vías simpáticas a la piel de todo el cuerpo. Los recién nacidos de
término tienen seis veces más glándulas sudorípadas funcionales por unidad de superficie
que los adultos, pero la respuesta máxima de cada glándula es apenas un tercio de la de una
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 4
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
glándula adulta. Los niños nacidos alrededor de 8 semanas antes del término virtualmente
carecen de capacidad de sudoración e incluso en un niño nacido tres semanas antes del
témino la sudoración está severamente limitada y casi confinada a la cabeza y la cara. Un
niño de 4 semanas de vida, nacido a las 30 semanas de gestación puede soportar mejor el
estrés del calor que un neonato de 34 semanas de gestación.
FÍSICA DEL INTERCAMBIO DE CALOR EN EL RECIÉN NACIDO
El neonato, al igual que cualquier cuerpo físico, intercambia calor por conducción,
evaporación y radiación.
CONDUCCIÓN: Debido a que la conducción depende de la conductividad térmica de la
sustancia en contacto con el cuerpo y a que los recién nacidos suelen ser apoyados sobre un
colchón de baja conductividad, el intercambio térmico por esta vía suele ser pequeño. El
flujo calórico es proporcional entre los cuerpos y a la conductancia térmica del elemento
que se interponga entre ellos. Las pérdidas por conducción sobre metal u otra superficie son
muy considerables, y de hecho, es de gran utilidad utilizar ganancias térmicas por
conducción para conservar caliente a un niño.
CONVECCIÓN: El intercambio por convección depende de la velocidad y la temperatura
del aire ya que por este mecanismo se transfiere calor del cuerpo caliente al aire frío.
Conforme se calienta el aire, ‚éste comienza a ascender desde el cuerpo, y en algún punto
es eliminado y transportado por las corrientes del viento que circulan alrededor del lactante.
Cuanto más frío sea el aire y mayor la velocidad del viento, mayores serán las pérdidas por
convección de la piel.
RADIACIÓN: Con la radiación, representa un mecanismo importante de la pérdida de
calor, variando inversamente con la temperatura del aire ambiental.todo cuerpo que tenga
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 5
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
una temperatura mayor de 0 ºK o -273 ºC emite fotones de energía electromagnética, cuya
frecuencia y cantidad dependen de la temperatura.
El efecto neto es la transferencia de calor entre los objetos de mayor y el objeto
sólido cercano de temperatura mayor que sea opaco a la frecuencia de los fotones
electromagnéticos. El principio anterior se utiliza eficazmente en la incubadora por empleo
de materiales como Plexiglass o Lucite. Para su construcción el Plexiglass es transparente a
las radiaciones visibles y permite la observación directa del lactante, pero es opaco a los
rayos infrarrojos y así conserva dentro de la incubadora el calor emitido por el lactante.
EVAPORACIÓN. La pérdida por evaporación depende de la velocidad del aire y de su
humedad absoluta. Un niño pierde calor cuando se evapora agua de su piel. Las pérdidas de
este tipo constituyen una función exponencial inversa de la edad postnatal y la edad
gestacional. Con base en modelos matemáticos se ha demostrado que la p‚rdida calórica por
evaporación es la fuente principal de p‚rdida de calor en los prematuros de muy poco peso,
y explica en gran parte de las necesidades térmicas diferentes entre un lactante de 26
semanas de gestación y un lactante a término.
Las corrientes aumentan materialmente las pérdidas por convección y evaporación. La
pérdida radiante de calor depende de la superficie de presentación y de la temperatura
superficial del cuerpo en comparación con la de la superficie receptor. En el cuadro se
indica que la radiación representa un porcentaje importante de toda la pérdida de calor de
un recién nacido desnudo colocado en una incubadora. Es importante mencionar que la
superficie que recibe la radiación es la cara interna de la carcaza de Perspex de la
incubadora, que es opaca para las radiaciones térmicas de la piel del niño. La temperatura
de la pared de la incubadora es tan afectada, (no sólo por la temperatura del aire de la
incubadora , sino también por la del ambiente) que la del interior puede ser muy diferente a
la del ajuste térmico del termostato de la incubadora. De esta forma, el intercambio radiante
es afectado profundamente por la temperatura ambiente, a menos que se interponga una
segunda capa de Perspex entre el niño y la caja. Esta segunda capa es calentada por el aire
de la incubadora, el que está sometido al control de su termostato. El calor también puede
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 6
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
ser captado en la incubadora a partir de las fuentes de radiación, como la luz solar, que
atraviesa el Perspex.
TABLA 1. Valores de equilibrio para la pérdida de calor (kCal/m2/hora) en un niño de 2
kg, de 1 semana de edad colocado desnudo sobre un colchón de espuma en un ambiente sin
corrientes, de temperatura uniforme y humedad moderada.
temperatura ambiental
Pérdida de calor 30 ºC 33 ºC 36 ºC
Radiación 19 (43%) 12 (40%) 7 (24%)
Convección 15 (37%) 9 (33%) 5 (19%)
Evaporación 7(16%) 7 (24%) 17 (56%)
conducción 2(4%) 1 (3%) 0 (1%)
Total (Kcal/m2/hora) 43 29 29
AMBIENTE TÉRMICO ÓPTIMO
El ambiente térmico neutro es el rango de ambiente térmico en el cual un niño con
temperatura corporal normal tiene un índice metabólico mínimo y puede mantener una
temperatura corporal constante mediante el control vasomotor y la postura. Por debajo de
este rango, cuyo extremo inferior se denomina temperatura crítica, es necesaria una
respuesta metabólica al frío para reemplazar la pérdida de calor. Si la humedad relativa es
elevada, la temperatura prevista deber reducirse en 0.5 ºC para los niños desnudos y
1 ºC para los vestidos. Cuando se utiliza una incubadora de paredes simples, también deber
otorgarse 1ºC por cada 7 ºC de temperatura ambiental inferior a la del aire de la incubadora.
No existe una temperatura ambiental aislada adecuada para todos los tamaños y
condiciones de los niños. Lo que es adecuado para un recién nacido de término lozano es
demasiado frío para uno de pretérmino pequeño, y aquello que es suficiente para el último
es demasiado caliente para el primero.
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 7
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
2.- ESPECIFICACIONES SANITARIAS PARA INCUBADORAS PARA NEONATOS
OBJETIVO
Establecer los requerimientos mínimos de seguridad y funcionamiento que deben cumplir
las incubadoras de cuidados generales para recíen nacidos prematuros, las cuales son
impulsadas eléctricamente para asistir al bebé en el mantenimiento de su balance térmico
controlando las condiciones adecuadas de temperatura, humedad y aislamiento del medio
ambiente exterior.
ANÁLISIS TÉCNICO DE INCUBADORAS
La adquisición de equipo médico, como las incubadoras debe iniciar con una descripción
cuantitativa de los requerimientos clínicos, por lo que se definen los siguientes conceptos:
1.- Las necesidades clínicas generales
2.- Especificar las variables fisiológicas que serán medidas o controladas
3.- Caracterizar el rango probable de esas variables.
1.- Detectar las necesidades específicas, reales y prácticas existentes para la
atención de neonatos, así como conocer el equipo que con su funcionalidad satisfaga en
gran proporción dichas necesidades es parte importante. Por lo que podemos mencionar las
necesidades clínicas que se requieren en una incubadora:
Que los índices de supervivencia de los niños prematuros puedan aumentar
reduciendo la pérdida de calor.
Mantener el balance térmico de un recién nacido prematuro, en condiciones
adecuadas de temperatura, humedad y aislamiento del medio ambiente.
Es importante garantizar que las superficies orientadas hacia la piel (paredes, techo,
colchón) se mantienen a una temperatura rigurosamente controlada.
Que se tenga fácil acceso al infante, para que los procedimientos para su cuidado sea lo
más accesibles.
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 8
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
2.- Las principales variables fisiológicas a controlar es la temperatura del infante, la
temperatura del ambiente, la humedad y la concentración de oxigeno.
3.- Los rangos de estas variables fisiológicas son:
Temperatura de aire 30 a 37 º C.
Temperatura del infante 35 a 37 º C
Humedad relativa 50% hr.
REQUERIMIENTOS AMBIENTALES
Una incubadora infante de acuerdo a la norma de la AAMI debe de operar en los
siguientes rangos de condiciones ambientales:
1.- Temperatura de 20 a 30 ºC
2.- Presión barométrica de 600 a 770 mmHg
3.- Humedad relativa 20 a 80%
COMPARTIMIENTO DEL INFANTE
Todas las incubadoras para infantes deben incorporar un medio de protección para
el infante generalmente de la circulación de aire frío en el cuarto. Este medio de acceso de
cables de monitoreo y líneas de gas, con un mínimo efecto sobre la temperatura de la
incubadora y la concentración de oxígeno.
MANUAL DE OPERACIÓN
Las instrucciones adecuadas para la instalación y operación apropiada del sistema
deben ser proporcionada con cada equipo. La información mínima que debe estar incluida
es la siguiente:
a) Tiempo de elevación de la temperatura.
b) Variabilidad de la temperatura.
c) Rango de control de temperatura.
d) Sobretiro
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 9
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
e) Tiempo requerido para alcanzar la temperatura de equilibrio.
f) Recuperación de la temperatura en una intervención.
g) Uniformidad de temperatura.
h) Metodología de control de temperatura.
i) Correlación de la temperatura de la incubadora con la temperatura indicada
durante la temperatura de equilibrio.
j) Para incubadoras de control de temperatura del infante, la correlación de la
temperatura de control y la temperatura indicada de la piel.
k) La desviación entre la temperatura de la piel y la temperatura de control cuando
se activa la alarma.
l) Rango de la velocidad de aire sobre el colchón durante el uso normal.
m) El tiempo que tarda en activarse la alarma cuando ocurre una falla en la
circulación de aire o la obstrucción normal del flujo de aire.
n) Rango y exactitud de otros controles , alarmas e indicadores.
o) Máxima concentración de CO2 bajo las mínimas condiciones favorables de uso
normal.
p) Máximo nivel de ruido en el interior de la incubadora durante la activación de
alarmas.
VARIABILIDAD DE LA TEMPERATURA
La diferencia máxima entre las temperaturas registradas dentro de la incubadora y el
promedio de dichas temperaturas durante un período de equilibrio de temperatura.
EXTRALIMITACION DE LA TEMPERATURA
El número de grados en que la temperatura máxima dentro de la incubadora excede
la temperatura media durante el equilibrio subsiguiente a cambio en la temperatura de
control, en la modalidad "control- aire".
CARACTERÍSTICAS TÉRMICAS
El sistema debe mostrar las siguientes características térmicas:
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 10
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
1) La incubadora debe ser capaz de lograr la temperatura de equilibrio en todo su
rango.
NOTA: La temperatura ambiente puede estar al menos 3 ºC menor que la
temperatura de control.
2) En sistemas de control de temperatura de aire que tiene un medio para indicar la
temperatura del infante, y para todos los sistemas de control de temperatura del
infante, esta indicación debe tener una exactitud de +/- 0.3 ºC.
3) Para sistemas de control de temperatura del infante, la diferencia entre la
temperatura de control y la temperatura indicada no debe exceder a 0.3 ºC después de
alcanzar la temperatura de equilibrio.
4) Para sistemas de control de temperatura del infante, el rango de control de
temperatura debe ser de al menos +/- 0.3 ºC a 37 +/- 0.3 ºC.
5) La temperatura de aire y de las superficies que esta en contacto con el infante no
debe exceder a 40 ºC.
6) La temperatura de la superficie que esta en contacto con el operador durante la
operación normal del sistema no debe exceder: 60 ºC si la superficie es metálica y tiene
una alta conductividad térmica.y 70 ºC si la superficie es plástico y una baja
conductividad térmica.
ALARMAS ALARMAS DE TEMPERATURA ALTA:
La incubadora debe disponer de un dispositivo que active una alarma de alta
temperatura y corte la energía del calefactor, cuando la temperatura de la incubadora sea
igual o mayor a 40 ºC.
ALARMA DE SENSOR DEL PACIENTE:
Para los sistemas de control de la temperatura de aire que tienen un medio para
indicar la temperatura del paciente, y en todos los sistemas de control de temperatura del
infante, deben tener una alarma visual audible cuando falla el sensor de temperatura del
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 11
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
paciente ya sea por un circuito abierto a un corto circuito, o si el sensor no es conectado de
manera correcta.
ALARMA DE TEMPERATURA DEL INFANTE:
Para un sistema de control de temperatura del infante, la alarma audible y visual
deben activarse si la temperatura de la piel del infante difiere de la temperatura de control
por un valor especificado por el fabricante.
FALLA DE CIRCULACIÓN DE AIRE:
Una alarma audible y visual debe ser activada si falla la circulación del flujo de aire
normal. El tiempo en que se activa la alarma después que ocurre la falla son condiciones
especificas del fabricante.
ALARMA DE FALLA DE CORRIENTE ELÉCTRICA:
La incubadora debe incorporar una alarma audible para señalar la falla de suministro
de corriente eléctrica.
NIVELES DE RUIDO:
En la incubadora los niveles de ruido deben de estar de acuerdo a los siguientes
requerimientos:
1) En el interior de la incubadora los niveles de ruido causados por la operación de
la misma, no activadas las alarmas audibles, no deben exceder a 60 dBA.
2) Con las alarmas audibles activadas el nivel del ruido debe ser menor a 65 dBA.
CONCENTRACIÓN DE CO2
En uso normal, la concentración de CO2 en el compartimiento del infante no debe
exceder a 0.5 %.
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 12
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
REQUERIMIENTOS MECÁNICOS Y DE CONSTRUCCIÓN: El sistema debe contar con un compartimiento para el infante, se intenta tener una
barrera para poder abrir o mover los accesos a el infante, tales como portillos, puertas o
medios similares de acceso los cuales no pueden abrirse de manera invertida.
ESTABILIDAD Y TRANSPORTABILIDAD
Inclinación: el ángulo de inclinación del colchón puede ser menor de 10 grados.
ALIMENTACIÓN DE OXIGENO
Si el sistema es diseñado para tener alimentación de oxigeno, el suministro debe
estar firmemente asegurado en la unidad, válvulas, manómetros y reguladores deben estar
claramente visibles y deben ser accesibles.
SISTEMA DE HUMEDAD
Si se cuenta con un sistema de humidificación de cumplir los siguientes
requerimientos:
1) El tanque humidificador debe estar colocado de tal forma que si alguna fuga
existe, un derramamiento no penetre a los componentes eléctricos.
2) El sistema de humidificación debe ser diseñado para que pueda ser esterilizado y
desinfectado.
3) El sistema de humidificación debe tener un indicador de nivel de agua.
CARACTERÍSTICAS ELÉCTRICAS CORRIENTE DE RIESGO:
Debe satisfacer la prueba especificada en la American National Standard, de limites
de corriente para aparatos electromédicos. Debe disponer de un dispositivo de protección
contra sobrecorriente.
INTERRUPTOR DE ENERGÍA
Debe interrumpir simultáneamente el paso de energía en los cables de vivo y neutro.
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 13
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
CABLE DE ALIMENTACIÓN
De una longitud mínima de 3 m. debe ser del salival y tipo que cumpla lo
especificado en la norma de referencia, para los requerimientos eléctricos de una
incubadora.
TIPO DE CLAVIJA DE CABLE DE ALIMENTACIÓN
Grado hospitalario o similar con tres terminales para usarse con un voltaje de
alimentación de 95 a 140 Vca.
SEGURO DE ALIVIO DEL CABLE DE ALIMENTACIÓN
Debe evitar que los esfuerzos mecánicos sobre el cable de alimentación tales como
jalón o tirón se transmitan el cableado interno a las terminales de conexión, además debe
cumplir lo especificado en la norma de referencia.
INDICADOR DE ENERGÍA
Debe disponer de un indicador visual que señale que la incubadora este
funcionando, al accionar el interruptor general.
VARIACIONES DE VOLTAJE DE ALIMENTACIÓN
Incubadoras con voltajes de alimentación nominal entre 115 y 120 Vca y tolerancia
de +/- 10%.
IMPEDANCIA A TIERRA
La impedancia a tierra entre el punto de conexión a tierra y una parte metálica del
equipo no debe ser mayor a 0.1 ohm.
Las especificaciones mencionadas de que deben ser cumplidas por los fabricantes,
además sirve como referencia de los principales requerimientos mínimos que debe de
cumplir una incubadora para infantes.
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 14
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
3.- DISEÑO
3.1.- EL HARDWARE
CARACTERÍSTICAS QUE PRESENTA EL SERVOCONTROL 1.- Contar con un autochequeo, mandando el mensaje de error en caso de que la RAM se
encuentre en mal estado.
2.- Se programa la temperatura deseada de ambiente interno de la incubadora en un rango
de 23 ºC a 37.5 ºC.
3.- Se cuenta con un arreglo de seis display para el despliegue de las temperaturas de la
piel, del interior de la incubadora y del calefactor, así como la temperatura programada.
4.- Se cuenta con un sistema de alarmas visibles y audibles, indicándose alta temperatura
(>= 38 ºC,en la piel), baja temperatura (< 35 ºC), falta de flujo y por falta de energía
5.- Se cuenta con un arreglo de leds, indicando la potencia suministrada.
6.- Cuenta con un arreglo de cuatro teclas, dos para programar la temperatura (↑↓), una
para seleccionar el circuito de control y otra para silenciar alarmas.
El sistema esta controlado por el microcontrolador 68HC11. Este fue escogido para el
diseño ya que es uno de los MCU más poderosos de 8 bits (fabricado por motorola con
tecnología de alta densidad de metal oxido semiconductor complementaria CMOS) y
cuenta con una memoria RAM, ROM y EEPROM, conteniendo además 5 puertos
paralelos, 2 puertos serie (uno asíncrono y otro sincrono). Cuenta con un temporizador que
puede hacer operaciones de entrada y salida, acumular pulsos o tiempo. Cuenta con un
convertidor analógico digital de 4 entradas que opera a buena velocidad y no requiere
ningún elemento de muestreo y retención.
El muestreo de la temperatura en piel se lleva a cabo con un termistor acoplado a un
circuito amplificador puente y control de offset, donde el amplificador puente genera un
voltaje directamente proporcional al cambio que se produce a la resistencia del transductor.
El transductor AD590, tanto para el interior de la incubadora como para el
calefactor, están conectados aun un circuito convertidor de corriente a voltaje y control de
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 15
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
offset, donde el transductor AD590 actúa como una fuente de corriente que depende de la
temperatura.
Los tres circuitos se comunican con el MCU a través de las entradas E (PE0, PE1, PE2
respectivamente) del convertidor analógico-digital, donde a través del software se despliega
la temperatura programada y medida en ºC.
Los display son activados con el integrado 8279, que es una interfase de entrada y
salida para teclados y display.1
3.1 DIAGRAMA A BLOQUES El diagrama que se muestra en la siguiente figura, muestra el diseño general del
servocotrol, con las características arriba mencionadas.
Fig. 3.1 Diagrama a bloques del sistema completo
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 16
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
3.2 CIRCUITO PARA EL SENSOR DE PIEL (termistor).
CONVERTIDOR LINEAL DE CAMBIOS DE RESISTENCIA A CAMBIOS DE VOLTAJE Para el diseño del sensor de piel, se diseño un Amplificador Básico de Puente. Un
termistor es un transductor cuya resistencia aumenta conforme disminuye su temperatura.
Ver apéndice A.
Para operar el puente, es necesario un puente de voltaje estable. Ver la figura 3.1. La
corriente I es constante y esta fija mediante R1 (10 kΩ) , Rref y E . Es decir, I= E / (R1 +
Rref ). La corriente del transductor es constante e igual a I porque las caídas del voltaje a
través de ambas resistencias R1 son iguales. Queremos que Vo sea cero volts cuando
Rtrans=Rref. Esto nos permitirá calibrar o verificar el funcionamiento del puente. En el
circuito podemos observar la relación de entrada y salida:
RIRRref
REVo Δ−=+
Δ−= Donde
RRrefEI+
= , RrefRtransR −=Δ
fig. 3.2 Circuito para el sensor de piel (termistor)
CIRCUITO PARA EL AJUSTE DE GANANCIA Y OFFSET
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 17
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
Este circuito comprende de un sumador inversor cuya función es obtener un voltaje de
salida a 5V, cuando la temperatura sensada por el termistor alcance los 45.5 ºC. Cuya
entrada al amplificador es la suma del convertidor de ΔR a ΔV y un voltaje de DC para el
ajuste del offset.Ver figura 3.1
3.3.- CIRCUITO CONVERTIDOR DE CORRIENTE A VOLTAJE PARA EL TRANSDUCTOR AD590
El AD590 en un transductor de temperatura que convierte la temperatura ambiente
en grados Kelvin, en una corriente de salida It, es decir, en 1μ A por cada grado kelvin. En
términos de Celsius, It es igual a 2.73 μA a 0ºC ( 273ºK ) y 373μA a 100ºC ( 373ºK ).Ver
figura 4.1.
Tc 20.0 ºC 293 μ A It 45.5 ºC 318.5μ A
TRANSDUCTOR AD590
It = ( Tc x 1μA/ ºC ) + 273μA fig. 3.3 Representación de entrada y salida del transductor AD590. El AD590 actúa como fuente de corriente que depende de la temperatura, sin
embargo se requiere la lectura del voltaje para indicar la temperatura, digamos 196mV/ºC ,
se requiere un circuito convertidor de corriente a voltaje. Para nuestro diseño el intervalo de
temperatura será de 20ºC a 45.5 ºC por lo que en corriente será de 293μA a 318.5μA (ΔI=
25.5 μA). Esto se puede apreciar en la figura 4.2; en la que podemos apreciar la grafica de
temperatura contra corriente. Recuerde que, el transductor AD590 obtiene la temperatura
ambiente en grados kelvin, y nosotros requerimos grados celsios. Por esta razón, se observa
una ordanada al origen (offset) de 273 μA (0 ºC le corresponden 273 º K) más los 20ºC a
partir de los cuales inicia nuetro diseño.
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 18
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
It (μA) m = 1μA/°C 273 Tc (°C)
Fig. 3.4 Gráfica de Corriente (Y) contra Temperatura (X) que deriva de la ecuación del AD590.
El mínimo de voltaje para la alimentación de AD590 es de 5V, por otro lado, el rango de
voltaje para el convertidor A/D del micropesador es de 0 a 5V, así ,asignamos 20ºCa un
voltaje de 0V y a 45.5 ºC un voltaje de 5V, ver figura 4.3 , por lo tanto tenemos que: ΔT =
25.5ºC y ΔV = 5V Tc 20 ºC 0 V 00 45.5ºC 5 V FF
CONVERTIDOR A/D
CONVERTIDOR Corriente - Voltaje
FIG. 3.5 Relación temperatura-voltaje-palabra digital
Para encontrar Rf (Potenciómetro para regular la ganancia, ver figura 3.6) hacemos lo
siguiente:
ΔV = 5V = 196.078 KΩ
ΔI 25.5 μA
A 20ºC It = 293 μA, pero queremos que Vo = 0V; por tal razón se requiere una
corriente igual y opuesta de 293 μA y que fluya hacia al nodo común del sumador
inversor, que comprende el convertidor de corriente a voltaje, con desplazamiento de offset
. Esto provoca que la corriente que pasa por Rf sea cero, y por lo mismo que Vo = 0 V.
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 19
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
El siguiente diagrama, muestra el circuito de convertidor de corriente a voltaje para el
tranductor AD590.
FIG. 3.6 Circuito convertidor de corriente a voltaje con ajuste de Ganancia y Cero.
Para encontrar Ro ( Potenciometro del offset) hacemos:
ARo
V μ29312=
Ω== kA
VRo 955.4029312μ
Por cada incremento de 1μ A/ºC sobre 20ºC, la corriente neta que fluye por Rf
aumenta en 1μ A y Vo aumenta en 196mV.
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 20
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
3.4 .- CIRCUITO DE ALARMAS. El control de las alarmas yace en el programa del MCU y a continuación se ilustran el circuito de las alarmas audibles:
AL SW DE ALIMENTACION DE 12 V
VIENE DE LA SALIDA DEL 8279
FIG 3.7 Circuito de alarmas audibles Este circuito consiste en dos osciladores (LM 555 EN MODO ASTABLE), de izquierda a derecha el primer oscilador da la pulsación y el segundo esta configurado a una frecuencia para el tono la señal de activación proviene del MCU a través del controlador de teclado y displays (8279). Las alarmas visibles están incluidas en el circuito de despliegue es decir son controladas desde el MCU mediante el controlador 8279.
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 21
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
FIG 3.8 Circuito de despliegue numérico y de barras de LEDS donde incluye las alarmas visibles.
3.5.- CIRCUITO REGULADOR DE POTENCIA SUMINISTRADA AL CALEFACTOR
VIENEN DEL 8279
Para controlar la etapa de potencia se emplea un Latch (74LS373) diseccionado con A10,
A11 y A12 desde el MCU, un convertidor digital-analogico (DAC de ocho bits), y un
circuito del generador de diente de sierra.
Las señales eléctricas, que entran al Latch, son adquiridas del Bus de Datos - del sistema
mínimo-, sobre los 4 bits menos significativos. De ésta forma, los datos son adquiridos por
el DAC y reproduciendo a su salida el nivel de voltaje correspondiente al código digital de
entrada. Con una resolución de 16 y con un voltaje de referencia de 5 Volts. Este nivel de
voltaje obtenido del DAC es aplicado a una de la entradas de un sumador, el cual en otra de
sus estradas esta la salida de un generador de diente de sierra sincronizado con los cruzes
por cero de la señal de linea, (esto garantiza administración controlada de la potencia al
calefactor), la tercera entrada del sumador es un ajuste de offset.
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 22
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
Fig 3.8 Circuito administrador de Potencia al calefactor
El diente de sierra es realizado por
un generador de rampa. La
alimentación del transistor 2N2222,
es adquirida por los cruce por cero
luego de ser adquiridor por
rectificador de onda completa y un
4N33 (fotodetector).
La salida del DAC, el diente de
sierra y el offset para el diente de
sierra, son puestos en un sumador,
para luego compararlo con 5 Volts.
De ésta forma, si el diente de sierra
esta por debajo de 5Volts, la salida
en el operacinal es de 0 Volts, por
arriba del nivel de referencia la
salida es de 5 Volts. Esta última
salida es llevada a un MOC3011,
para el control de la potencia
suministrada a la carga de manera
aislada. . FIG. 3.9 Esquema que muestra la generación de los pulsos que suministran la potencia al calefactor
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 23
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
3.6.- SISTEMA MÌNIMO CON EL MICROCONTROLADOR MC68HC11 DE MOTOROLA.
EL MC68HC11 es uno de los Microcontroladores más poderosos de 8 bits, fabricado por Motorota, tiene como microprocesador al 6800 y la tecnología usada combina tamaño reducido y alta velocidad con un bajo consumo de energía y alta inmunidad al ruido de CMOS. Además cuenta Memorias, RAM, ROM y EEPROM, Algunas versiones vienen con EPROM.
EL MC68HC11 tiene 5 puertos paralelos; 2 puertos serie, uno síncrono y otro asíncrono que operan con el protocolo de RS-232, Cuenta con un temporizador, que puede hacer operaciones de entrada y salida, acumular pulsos o tiempo, Tiene un convertidor Analógico-Digital que opera a buena velocidad y no requiere ningún elemento de retención y muestreo, una característica importante es el gran numero de interrupciones con que cuenta que son 18 para todos los bloques, entre ella una interrupción en tiempo real, Tiene 4 tipos de reset, siendo uno de ellos generado por fallas de programación al no detectar códigos de operación legales, que viene siendo un automonitoreo.
3.7.- DESCRIPCIÓN DE LAS TERMINALES DEL MC68HC11.
Fig 3.10 Distribución de las terminales del MC68HC11 DIP 48
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 24
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
VDD Y VSS Son las terminales de alimentación del Microcontrolador. VDD es la entrada de la alimentación positiva de 5 Volts DC y VSS es la tierra. XTAL Y EXTAL sirven para conectar el cristal que determina la frecuencia de operación del sistema, que es frecuencia del cristal divido entre cuatro. En nuestro diseño utilizamos un cristal de 8 MHz esto nos da un frecuencia de operación de 2MHz , es decir un ciclo de reloj dura 0.5 µSeg. La terminal E , en esta terminal encontramos el ciclo de reloj, es decir es la frecuencia de salida en el bus y es usada como señal de referencia de tiempo. Cuando el reloj E esta bajo ocurre un proceso interno, Cuando E esta en alto el dato comenzará a ser direccionado, como se mocionó antes este tendrá una frecuencia de ¼ de la frecuencia del Cristal. STRA y STRB son terminales de control de los puertos paralelos B y C llamadas líneas strobo, pero en el modo expandido son la línea R/W (Lectura y Escritura) y AS strobo de dirección que permite mandar al exterior la orden de lectura y escritura y demultiplexar los buses de datos y direcciones. MODA Funciona como una selección del modo de entrada y a la vez como una entrada auxiliar para una fuente de alimentación de ayuda por falla de energía. MODB Es usada para seleccionar el modo de operación del Microcontrolador mientras es reinicializado, y opera como una señal de diagnostico, mientras se ejecutan las instrucciones. La terminal de RESET sirve para restaurar el sistema, esta señal activada en bajo es una señal de control bidireccional como una entrada para inicializar el microcontrolador en un estado conocido y como salida de drenador abierto para indicar que una falla ha sido detectada, ya sea en el monitor del reloj o en el circuito vigía (COP). Vrefh y Vrefl Proporcionan los voltajes de referencia alto y bajo respectivamente para el circuito del convertidor analógico digital . Debe haber 2.5 voltios de diferencia al menos entre estas dos terminales para una conversión segura. La terminal XIRQ proporciona un medio para solicitar interrupciones no mascarables después del reset. Durante la restauración, el bit X en el registro de código de
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 25
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
condición (CCR) es puesto a 1, y cualquier interrupción es mascarable hasta que el software del microcontrolador las habilita, como la entrada XIRQ es sensible al nivel, puede ser conectada a una fuente con una resistencia externa para elevar su nivel (10K Ohms). XIRQ es usada como una interrupción para detectar fallas por pérdida de energía. La entrada IRQ proporciona un medio para solicitar una atención a interrupción asíncrona al Microcontrolador. IRQ es seleccionada por programa para detección de nivel o por detección de flanco de bajada.
EL PUERTO A inclye tres terminales de solo entrada (PA0, PA1, PA2), cuatro terminales de solo salida (PA3, PA4, PA5, PA6) y una terminal que puede ser configurada para operar como entrada o como salida.
EL PUERTO B son terminales de salida, aunque en modo expandido llevan la parte alta del bus de direcciones. EL PUERTO C son terminales bidireccionales, aunque en el modo expandido llevan multiplexados el bus de datos como la parte baja del bus de direcciones. EL PUERTO D tiene terminales bidireccionales, pero también llevan la información de datos y control de los puertos serie, SPI (Interfaz Periférica Serie), SCI (Interfaz de Comunicaciones Serie), El sincrono y asíncrono. Las Entradas del PUERTO E son usadas como entradas de propósito general y/o entradas analógicas del convertidor Analógico Digital.
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 26
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
Fig 3.11 Diagrama a bloques del MC68HC11
3.8.- SISTEMA DE DESARROLLO CON EL MICROCONTROLADOR MC68HC11.
El diseño que se presenta a continuación esta adaptado para poder llevar a cabo múltiples reprogramaciones de prueba, durante la fase de desarrollo ya que nos permite guardar temporalmente el programa en una memoria RAM y así acelerar el proceso de prueba y error, esto es gracias al empleo del editor en ensamblador IASM11 de Motorola y el Programa Buffalo,
EL sistema cuenta con una interfase RS232 para poderse conectar ala PC y de esta
manera poder bajar el programa al sistema de desarrollo. Cuenta También con una fuente de Alimentación Múltiple que permite alimentar toda la
circuitería digital y alimentar también a circuitos CMOS o Analógicos
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 27
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
Fig 3.12 Sistema mínimo con el MC68HC11 de Motorola
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 28
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
4.- EL SOFTWARE El alma del sistema es el programa, el cual es la secuencia lógica que mide, compara y decide que acción tomar según lo programado.
4.1 DIAGRAMAS DE FLUJO.- Los diagramas de flujo permiten plantear de una manera sencilla la secuencia, de acciones y decisiones que se deberán tomar para cumplir los objetivos. A continuación se ilustran los diagramas de flujo del programa principal y de la subrutinas mas importantes.
Fig 4.1 Diagrama de flujo del programa principal
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 29
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
Fig. 4.2 Diagrama de flujo de la evaluación de la memoria RAM
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 30
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
Fig 4.3 Diagrama de Flujo de la lectura de los CAD del MCU
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 31
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
Fig. 4.4 Diagrama de flujo de l control de la potencia suministrada al calefactor.
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 32
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
Fig. 4.5 Diagrama de flujo del control de las alarmas
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 33
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
4.2.- EL PROGRAMA EN LENGUAJE ENSAMBLADOR PARA EL MC68HC11.-
************PROGRAMA EN ESAMBLADOR (M68HC11)************* **************** DECLARACION DE CONSTANTES **************** CLEAR EQU $C1 ;limpia el buffer RAM DISPLAYS READ EQU $40 ;lectura FIFO CENSOR RAM DISPY EQU $08 ;numero de displays WRITE EQU $90 ;comando de escritura en displays del 8279 HDISP EQU $A0 ;comando de habilitacion de display ************** LOCALIZACIONES FIJAS DE MEMORIA ************** SALPOT EQU $3FFF ;Direcci¢n del puerto paralelo (puerto A) ADCTL EQU $1030 ;Registro de control del conv. A/D ADR1 EQU $1031 ;Registro #1 del A/D ADR2 EQU $1032 ;Registro #2 del A/D ADR3 EQU $1033 ;Registro #3 del A/D ADR4 EQU $1034 ;Registro #4 del A/D SBRAI EQU $2560 ;Declaracion de la subrutina de atención ************** LOCALIZACIONES BUFFER ************************* * PARA ALMACENAR TEMPORALMENTE EN LA RAM * ORG $2500 ;Directiva del ensamblador ORG $C000 BCDBUF RMB 8 ;Almacena el resultado de 24 bit convertido a BCD DESPLE RMB 8 ;Almacena el codigo de BCD a display 7 seg.(dig) ADBUFF RMB 4 ;Para almacenar la entrada del A/D TPPROG RMB 1 ;Almacena la temperatura de control programada HEXBUF RMB 3 ;Almacena el numero a convertir en BCD NUMDIS RMB 1 ;Almacena el No. de display a desplegar. TCL RMB 1 ;Almacena el codigo del transductor de control TCODE RMB 1 ;Guarda el codigo de la tecla oprimida DTEMPO RMB 1 ;Guarda un dato temporal CODDES RMB 1 ;Almacena el codigo de dato a desplegar Tprog o Tsen ALACOD RMB 1 ;Almacena el codigo de alarmas ASCOD RMB 1 ;Almacena el codigo de alarma audible TEMPO RMB 1 ;Almacenamiento temporal SADR1 RMB 2 ;Almacena la suma de las entradas obtenidas del adr1 SADR2 RMB 2 ;Almacena la suma de las entradas obtenidas del adr2 SADR3 RMB 2 ;Almacena la suma de las entradas obtenidas del adr3
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 34
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
SADR4 RMB 2 ;Almacena la suma de las entradas obtenidas del adr4 ADTMP RMB 2 ;Almacena temporal el valor de la temperatura leida de un AD CCNTE RMB 1 ;Almacena el cociente de las divisiones FRAC RMB 1 ;Fraccion del cociente (decimas) CONT10 RMB 1 ;Almacena el numero de lecturas obtenidas de los CAD ************** VALORES EQUIVALENTES EN 24 BITS ********************** * USADOS EN LA CONVERSION DE 24 BITS A BCD ORG $2530 ;Directiva del ensamblador CON10M FCB $98,$96,$80 ;Hex equivalente a 10,000,000. FCB $0F,$42,$40 ;Hex equivalente a 1,000,000. FCB $01,$86,$A0 ;Hex equivalente a 100,000. FCB $00,$27,$10 ;Hex equivalente a 10,000. FCB $00,$03,$E8 ;Hex equivalente a 1000. FCB $00,$00,$64 ;Hex equivalente a 100 FCB $00,$00,$0A ;Hex equivalente a 10. CONEND EQU * *** TABLA DE VALORES USADOS PARA TECLAS Y DESPLIEGUE DE TEMP*** DIGSP: FCB $3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F ; #'s Sin punto dec. TECCOD: FCB $C8,$C0,$C1,$C9 ;Codigo de teclas CODPOT: FCB $01,$02,$13,$15,$36,$38,$79,$7B,$FC,$FD,$FF ;Potencia niveles y palabra ******* DIRECCIONES Y COMANDOS PARA PROGRAMAR EL 8279 ********* CTDAT EQU $6000 ;transferencia de datos al 8279 CTCOM EQU $6001 ;transferencia de comandos al 8279 CTCK EQU $34 ;programacion del reloj del 8279 (100 khz) CTMOD EQU $02 ;programacion del modo de operacion del 8279
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 35
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
*********************************************************************** ******************* INICIO DEL PROGRAMA PRINCIPAL****************** *********************************************************************** ORG $2000 ;origen (RAM EXTERNA) LDD #$2560 ;Carga la direccion de la subrutina de atencion STD $EF ;guardala INICIA: JSR PG8279 ;Inicializa el 8279 JSR LIMPIA ;apaga los displays JSR CHKRAM ;revisa RAM EXTERNA JSR MENSAJE ;Desplega ochos si todo es correcto JSR RETARDO ;Mantienelo 3 seg JSR LIMPIA ;Borra todo JSR PG8279 ;regresa a 8279 JSR LIMBUF ;Limpia todos los buffer LDAA #$AA ;Carga el acumulador con el codigo de temp. inicial LDX #TPPROG ;Apunta a la direccion de la temp programada STAA 0,X ;Inicializa t prog. CLRA STAA CODDES ;Inicializa el codigo de despliegue JSR INICAD ;Configura el A/D CLRA STAA CONT10 ;Pon a ceros el contador de mediciones CONTIN: JSR LEESAD ;Lee y acumula las entradas del CAD LDAA CONT10 ;Checa el contador de lecturas (LEESAD lo inicia CMPA #$00 ;Si no es cero. después de 10 lecturas) BNE HABIT ;Salta las rutinas de promediación, coversión
despliegue JSR CALPRO ;Calcula los promedios JSR TADESP ;Asigna la temperatura a desplegar en el buffer HEX JSR HEXBCD ;Convierte esta Temp a BCD JSR CON7SE ;Convierte a codigo 7 segmentos JSR CTLPOT ;Calcula y manda el codigo de potencia JSR ALARMA ;Indica si las T estan fuera de rango JSR MENSAJE ;Despliega la Temp. HABIT: CLI ;Habilita la interrupcion mascarable NOP ;Para checar si hay petición del teclado SEI ;Deshabilita la interrupcion mascarable JSR DETEPR ;Despliega la temperatura programada CLRA STAA CODDES ;Pon en ceros el código de despliegue JMP CONTIN ;Continua leyendo actualizando y desplegando FIN: END ;fin de programa
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 36
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
***************************************************************************************************** SUBRUTINAS *********************************** **************SUBRUTINA QUE CHECA RAM EXTERNA ******************* CHKRAM: LDX #$C000 ; 2500 ;direccion baja de la RAM EXTERNA ESCRIBE: LDAA #$55 ;Carga el dato de prueba LDAB #$3F ;parte alta de la RAM EXTERNA STAA 0,X ;Transfiere dato a localidad INX ;Incrementa el dato del registro indice X CPX #$C02D ;252d ;Prueba si ha llegado a la loc. mas alta BNE ESCRIBE ;De lo contrario, ve a la sig. localidad COMPARA: LDX #$C000 ;2500 ;Apunta el comienzo de la RAM LEE: LDAA 0,X ;Apunta la localidad a checar CMPA #$55 ;Compara BNE ERROR ;Si es diferente despliega error INX ;Apunta a la siguiente localidad CPX #$C02C ; 252c ;Si es la localidad mas alta, acaba BNE LEE ;De lo contrario lee la siguiente ****** SI LA RAM ESTA BIEN, DESPLIEGA OCHOS ******* LDAA #8 ;Inicia un contador LDX #DESPLE ;Apunta al buffer de los displays LDAB #$FF ;Carga el codigo corresp. al ocho (8.) MEMOK: STAB 00,X ;Guardala en la localidad del buffer apuntada INX ;Pasa a la sig. localidad DECA ;Dec. el contador BNE MEMOK ;Si contador dif. de cero RTS ****************** SUBRUTINA QUE DESPLIEGA ERROR ******************* * SI LA ESCRITURA EN RAM ES ERRONEA ERROR: LDY #BAD ;despliega mensaje "Error___" LDAA #8 ;Inicia un contador LDX #DESPLE ;Apunta al buffer de los displays MEERR LDAB 00,Y ;Carga el codigo corresp. a ocho STAB 00,X ;Guardala en la localidad del buffer apuntada INX ;Pasa a la sig. localidad INY ;Apunta al codigo sig. DECA ;Dec. el contador BNE MEERR ;Si cont. dif. de cero
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 37
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
RTS JSR MENSAJE ALTO: NOP NOP JMP ALTO RTS ********** RUTINA QUE LIMPIA LAS LOCALIZACIONES BUFFER ************ LIMBUF: LDY #BCDBUF+2D ;Inicializa el registro Y LDAB #$2E ;Inicializa un contador CLRA ;Pon en 00 el acum. A L1: STAA 00,Y ;Limpia la localizacion Buffer DEY ;Cambia el apuntador a la sig. localizacion DECB ;Decrementa el valor del contador BNE L1 ;Si contador es dif. de 0, ve a L1. LDY #$3C00 ;Ve ahora a limpiar la salida de potencia LIMPOT: STAA 00,Y INY CPY #$3FFF BNE LIMPOT RTS ********** PROGRAMACION DEL CONTROLADOR DE TECLADO 8279 ******** PG8279: LDAA #CTCK ;programacion del reloj del 8279 STAA CTCOM ;transferencia de comandos al 8279 LDAA #HDISP ;habilitacion de displays STAA CTCOM LDAA #CTMOD ;programacion del modo de operacion del 8279 STAA CTCOM RTS ;sale de la subrutina ******** SUBRUTINA QUE DESPLIEGA LA TEMPERATURA PROGRAMADA ** DETEPR: LDAA #$FF ;Codigo de despliegue STAA CODDES ;Guardalo en el buffer corresp. JSR BINATE ;Conviertelo a temperatura JSR HEXBCD ;Convierte esta Temp a BCD JSR CON7SE ;Convierte a codigo 7 segmentos RTS ;Regresa
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 38
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
*** SUBRUTINA QUE CONFIGURA EL CONVERTIDOR PARA QUE TRABAJE CON *LOS 4 CANALES**** INICAD: LDAA #93 ;Inicializa registros del MCU STAA $1039 LDAA #$00 STAA $1024 LDAA #00 STAA $1035 LDAA #$30 ;Palabra de control para configurar el A/D STAA ADCTL ;Inicializa el registro de control del A/D RTS ;Retorna ******* SUBRUTINA QUE LEE LOS CAD Y SUMA LAS TEMP DE C/U *********** LEESAD: LDAB #$26 ;Inicializa un contador de retardo DELAY: DECB ;Decrementa el contador de retardo BNE DELAY ;Si cont dif. de 0, ve al retardo LDAA CONT10 ;Carga el acumulador con el conteo de las sumas CMPA #$00 ;Si se inicia un nuevo conteo pon en ceros las sumas BNE HSUMA ; CLRA ;Limpia los dos acumuladores CLRB STD SADR1 ;Pon en ceros STD SADR2 STD SADR3 STD SADR4 HSUMA: CLRA CLRB STD ADTMP ;Limpia las localidades que almacenan temporalmente LDAA ADR1 ;Lee el registro #1 del A/D (T ambiente) STAA ADTMP+1 ;Almacena el valor DED1 en el Buffer A/D temporal LDD SADR1 ;Carga el contenido de la suma que le corresp. ADDD ADTMP ;sumale la temperatura reciente STD SADR1 ;Almacena de nuevo SIGUE CLRA CLRB STD ADTMP ;Limpia las localidades que almacenan temporalmente LDAA ADR4 ;Lee el registro #4 del A/D (T interior) STAA ADTMP+1 ;Almacena el valor DED4 en el Buffer A/D temporal LDD SADR4 ;Carga el contenido de la suma que le corresp. ADDD ADTMP ;sumale la temperatura reciente STD SADR4 ;Almacena de nuevo
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 39
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
CLRA CLRB STD ADTMP ;Limpia las localidades que almacenan temporalmente LDAA ADR3 ;Lee el registro #3 del A/D (T piel) STAA ADTMP+1 ;Almacena el valor DED3 en el Buffer A/D temporal LDD SADR3 ;Carga el contenido de la suma que le corresp. ADDD ADTMP ;sumale la temperatura reciente STD SADR3 ;Almacena de nuevo LDAA CONT10 ;Carga el contador de 10 mediciones INCA ;Incrementa la cuenta STAA CONT10 CMPA #$0A ;Prueba si ya son 10 mediciones BLS SALLCD ;Si es <=10 retorna sin limpiar CLRA STAA CONT10 ;De lo contrario pon en cero el contador de lecturas SALLCD: RTS *SUBRUTINA QUE CALCULA LOS PROMEDIOS DE LAS LECTURAS DE LOS CADS ***** CALPRO: LDY #ADBUFF LDD SADR1 ;Carga la suma del ADR1 JSR ENCCTE ;Encuentra el cociente INY ;Pasa al siguiente del buffer del CAD LDD SADR2 ;Carga la suma del ADR2 JSR ENCCTE ;Encuentra el cociente INY ;Pasa al siguiente de buffer del CAD LDD SADR3 ;Carga la suma del ADR3 JSR ENCCTE ;Encuentra el cociente INY ;Pasa al siguiente de buffer del CAD LDD SADR4 ;Carga la suma del ADR1 JSR ENCCTE ;Encuentra el cociente RTS ;Retorna ENCCTE: LDX #$0A ;Carga el registro Indice X con 10 IDIV ;Divide SADRX/10 CMPB #$5 ;Compara el residuo con 5 BLS PADBFF ;Si es menor o igual ponlo en el buffer del CAD INX ;De lo contrario Aumenta el cociente en 1(redondea) PADBFF: XGDX ;Intercambia el indice X con el doble acumulador STAB 00,Y ;Almacena el promedio en el buffer del adr RTS
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 40
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
*** SUBRUTINA QUE ALMACENA EN EL BUFFER HEXADECIMAL LA******* ****TEMPERATURA DE CONTROL O LA TEMPERATURA PROGRAMADA*** TADESP: LDX #ADBUFF ;Apunta con IX al buffer del A/D CLRA ;Pon en ceros al acum. A CMPA TCL ;Compara con el codigo de la Temperatura de control BEQ S1 ;Si es igual a cero lee DED1 INX INX ;Apunta el DED3 S1: LDAA 0,X ;Lee el DED correspondiente al codigo BINATE: LDAB CODDES ;Checa el c¢digo de despliegue para saber que CMPB #$FF ;se desplegar (T sensada o T programada) BNE CONVER ;Si es igual a FF asigna la T le¡da LDAA TPPROG CONVER: STAA HEXBUF+2 RTS ********* SUBRUTINA QUE CONVIERTE UN NUMERO DE 24 BITS A BCD***** HEXBCD: LDY #BCDBUF ;Inicializa el registro Y LDX #CON10M ;Inicializa el registro X PROXDG: CLRB LAZO1: INCB ;Incrementa una vez por resta LDAA HEXBUF+2 ;Carga, SUBA 2,X ;Sustrae STAA HEXBUF+2 ;Actualiza el byte Menos significativo; LDAA HEXBUF+1 ;Carga, SBCA 1,X ;Sustrae STAA HEXBUF+1 ;Actualiza el byte medio LDAA HEXBUF ;Carga SBCA 0,X ;Sustrae STAA HEXBUF ;Actualiza el byte alto BCC LAZO1 ;Ve a lazo1 si no hay acarreo SUMA: LDAA HEXBUF+2 ;Carga, ADDA 2,X ;Suma STAA HEXBUF+2 ;Restaura el byte Menos significativo LDAA HEXBUF+1 ;Carga, ADCA 1,X ;Suma STAA HEXBUF+1 ;Restaura el byte Medio LDAA HEXBUF ;Carga, ADCA 0,X ;Suma STAA HEXBUF ;Restaura el byte m s significativo
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 41
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
SUBB #1 ;B <- B-1 STAB 0,Y ;Almacena el valor BCD INY ;Incrementa el apuntador Y a la sig. localizacion INX ;Incrementa el INX ;Apuntador X para el INX ;siguiente valor de conversion CPX #CONEND ;Chequa si la conversion esta completa BNE PROXDG ;Si no ve por el proximo digito LDAB HEXBUF+2 ;Almacena el valor de menos significancia STAB 0,Y RTS ;Retorna al principal ** REDONDEO DEL DECIMAL DE LA TEMPERATURA DESPLEGAR************ RNDDE: LDX #BCDBUF+7 ;Carga en IX la diireccion de centesimas RTS ; YA NO NECESARIA LDAA 00,X ;Carga el centesimo al ACC A CMPA #5 ;Compara si A < 5 BLT SAL ;ve a desplegar la Temperatura REDOND: DEX ;Cambia el apuntador a uno de mayor signific. LDAA 00,X ;Carga el ACC A SEC ;Pon en 1 a C ADCA #0 ;Suma el ACC+C DAA ;Ajusta el decimal CMPA #$10 ;Compara si A < 10 BLT R1 ;Almacenalo SUBA #$10 ;En caso contrario pon en ceros el ACC A STAA 00,X ;Almacenalo JMP REDOND ;redondea el inmediato sup. R1: STAA 00,X ;Almacena el dato SAL: RTS ;Retorno de subrutina ****** RUTINA QUE CONVIERTE LA TEMPERATURA A CODIGO 7 SEG ********** CON7SE: LDAA BCDBUF+5 ;Carga el digito mas significativo ADDA #$2 ;Sumale un offset de 20 grados centigrados STAA BCDBUF+5 ;Almacenalo de nuevo LDX #BCDBUF+5 ;Apunta a la temperatura en BCD LDAB #$3 ;Inicializa un contador TRANSF: LDY #DIGSP ;Apunta al bloque que contiene en codigo 7 seg. LDAA 00,X ;Carga el digito apuntado BSR BUSCA ;Busca su codigo 7 seg. correspondiente LDAA 00,Y ;Carga el codigo 7 seg.
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 42
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
CMPB #$2 ;Checa si es el segundo digito BNE MANDA Si no mandalo ya ADDA #$80 ;Si es el segundo, adicionale el punto MANDA: STAB DTEMPO ;Guarda B temporalmente LDAB CODDES ;Lee el codigo de dato a desplegar p/asignacion de * ;displays CMPB #$FF ;Comparalo con FF (codigo para t prog) BEQ DTPROG ;Si es igual despliega la temp programada o STAA 3,X ;Guardalo en el bloque DESPLE corresp a t sensada BRA APASIG ;Ve a incrementar el indice DTPROG: STAA 6,X ;Guardalo en el bloque DESPLE corresp a t prog APASIG: INX ;Apunta al siguiente digito LDAB DTEMPO ;Carga de nuevo el contador DECB ;Decrementa el contador BNE TRANSF ;Si cont. dif. de cero ve por el sig. digito RTS BUSCA: CMPA #$00 ;Usado como contador el acum A compara si ya BEQ ENCONT ;encontro el codigo correspondiente INY ;Si no apunta al sig. codigo DECA ;Modifica el contador BRA BUSCA ;Continua buscando ENCONT: RTS ****PROCEDIMIENTO DE BORRADO DE LA FIFO/SENSOR RAM DISPLAYS ***** LIMPIA: LDAA #CLEAR STAA CTCOM ESPERA: LDAA CTCOM ANDA #$80 CMPA #$80 BEQ ESPERA RTS ***************** ESCRITURA DE MENSAJES EN DISPLAYS ***************** MENSAJE: LDX #DESPLE ;Apunta al buffer de los displays LDAA #DISPY ;Carga el numero de displays a usar (contador)
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 43
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
LDAB #WRITE ;Carga el codigo de escritura para el 8279 STAB CTCOM ;Tranfiere el codigo al 8279 ESCRIB: LDAB 0,X ;Carga el dato apuntado STAB CTDAT ;Mandalo al buffer del 8279 INX ;Apunta al dato siguiente DECA ;Decrementa el contador CMPA #$00 BNE ESCRIB ;Si aun faltan datos por transferir ve a escrib RETORNA: RTS *** TABLA DE MENSAJES******* BAD: FCB 79,50,50,5C,50,08,00,00 OCHO: FCB 7F,7F,7F,7F,7F,7F,7F *************** SUBRUTINAS QUE PROPORCIONAN UN RETARDO ************ RETARDO: LDAA #$05 SALTO: JSR DELAY1 DECA CMPA #$00 BEQ FINRE JMP SALTO FINRE: RTS DELAY1: LDY #$FFFF RE: DEY CPY #$0000 BEQ FIN3 JMP RE FIN3: RTS DELAY2: LDY #$AFFF RE2: DEY CPY #$0000 BEQ FIN4 JMP RE2 FIN4: RTS *****SUBBRUTINA QUE SUMISTRA LA POTENCIA DE ACUERDO A Tp-Ts*******
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 44
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
CTLPOT: LDX #ADBUFF LDAA 00,X ;Lee el registro de AD #1 CMPA #$BE ;Si la temp. es mayor a 39 grados centigrados BHI CERPOT ;No suministres potencia LDAA 03,X ;Lee el registro del AD #4 CMPA #$BE ;Si es mayor que 39 grados BHI CERPOT ;No suministres potencia LDAA 02,X ;Lee el registro de AD #3 CMPA #$BE ;Si la temp. es mayor a 39 grados centigrados BHI CERPOT ;No suministres potencia LDAA TCL ;Carga el codigo de la Temperatura de control CMPA #$00 BNE CTLAD3 ;Si es diferente de 0 el ctrl es mediante el tdr de piel LDAA TPPROG ;Lee la temperatura programada SUBA 00,X ;Restale la temperatura de transductor 1 BRA PROCES ;Ve a comparar la diferencia CTLAD3: LDAA TPPROG SUBA 02,X ;Restale la temperatura del tdr de la piel PROCES: BLS CERPOT ;Si TPPROG es <= la T le¡da da 0% de potencia CMPA #$0A ;De lo contrario compara la diferencia con 10 BHI POTTOT ;Si la diferencia es mayor a un grado da 100% de Pot. LDY #CODPOT ;De lo contrario inicia el cálculo de potencia ENCPOT: DECA ;Busca el c¢digo de potencia Correspondiente BEQ DAPOT ;Si A = 0 ve a suministrar el codigo de potencia INY BRA ENCPOT DAPOT: LDAA 00,Y ;Carga el código de potencia encontrado STAA DESPLE+7 ;despliegalo ANDA #$0F STAA TEMPO ;Guardalo temporalmente LDAB SALPOT ANDB #$10 ;Limpia la potencia suministrada anteriormente ORAB TEMPO ;Pon la potencia actual STAB SALPOT ;Manda a la salida de potencia BRA FINPOT CERPOT: CLRA ;No suministra potencia STAA DESPLE+7 LDAA SALPOT ANDA #$F0 STAA SALPOT BRA FINPOT
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 45
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
POTTOT: LDAA #$FF ;Suministra 100% de potencia STAA DESPLE+7 LDAA SALPOT ORAA #$0F STAA SALPOT FINPOT: RTS **************** SUBRUTINA QUE MUESTRA ALARMAS ******************** ALARMA: LDX #ADBUFF LDAA TCL ;Prueba cual es la temperatura de control CMPA #$00 ;Compara con 00(Transductor del interior) BNE CTRLPL ;Si son diferentes el control es por medio del tdr. piel LDAA ALACOD ;De lo contrario ANDA #$F7 ;Apaga el led indicador del ctrl. por temp de piel ORAA #$02 ;Enciende el led indicador de ctrl por temp. del int. STAA ALACOD ;Regresa con la modificaci¢n BRA COMALA ;Brinca a comparar el codigo de alarma audible CTRLPL: LDAA ALACOD ;Muestra que la temp de control es la de la piel ANDA #$FD ;Apaga el led que indica control del transdr del int. ORAA #$08 ;Enciende led que indica control pot transdr de piel STAA ALACOD ;Regresa con la modificaci¢n COMALA: LDAA ASCOD ;Carga el c¢digo de alarma audible CMPA #$00 ;Si es ceros (alarma no silenciada) BEQ ALNSIL ;Si es igual ve y apaga el de de alarma silenciada LDAA ALACOD ;Caso contrario quita la alarma audible ORAA #$40 ;Enciende el led que indica alarma silenciada STAA ALACOD ;Modifica el codigo de alarmas BRA LECADS ;Brinca a lectura de los AD'S ALNSIL: LDAA ALACOD ;Carga el codigo de alarmas ANDA #$BF ;Borra el bit de alarma silenciada STAA ALACOD ;Regresa con la modificacion LECADS: LDAA 00,X ;Lee el registro de AD #1 CMPA #$BE ;Si la temp. es mayor a 39 grados centigrados BHI PONHT ;indica la alarma de alta temperatura LDAA 03,X ;Lee el registro del AD #2 CMPA #$BE ;Si es mayor que 39 grados BHI PONHT ;indica la alarma de alta temperatura LDAA 02,X ;Lee el registro de AD #3 CMPA #$BE ;Si la temp. es mayor a 39 grados centigrados BHI PONHT ;indica la alarma de alta temperatura (LED) LDAA ALACOD ;Si no se detecto alta temperatura ANDA #$FB ;pon en 0 el bit de Alta Temperatura STAA ALACOD ;Guardalo
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 46
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
BRA LT ;Ve a checar si existe baja temperatura PONHT: LDAA ALACOD ;Si detecto alta temperatura ORAA #$04 ;pon el bit de alta temperatura (LED) STAA ALACOD ;Guardalo LT: LDAA TCL ;Prueba cual es la temperatura de control CMPA #$00 ;Compara con 00(Transductor del interior) BEQ NLT ;Si es igual ve a checar falta de flujo despues de * ;apagar el led de baja temperatura. LDAA 02,X ;Lee el registro del transductor de la piel CMPA #$A5 ;Si es menor a 36.5 indica baja temp BLO PONLT ;Indica el led correspondiente NLT: LDAA ALACOD ANDA #$EF ;De lo contrario apaga el led de baja temp; STAA ALACOD ;Regresa con la modificaci¢n BRA FFLUJ ;Ve a checar si existe flujo deficiente PONLT: LDAA ALACOD ;Indica la alarma de baja ORAA #$10 ;Temperatura STAA ALACOD ;registra FFLUJ: LDAA 03,X ;Lee la temperatura del calefactor LDAB 00,X ;Lee la del interior ADDB #$0A ;y le suma 10 CBA ;Si la temperatura del calefactor difiere en mas de un BHI PONFF ;grado centigrado con la del interior, indica falla de LDAA ALACOD ;flujo ANDA #$FE ;De lo contrario borra el led de alarma FF STAA ALACOD BRA ASILEN ;Brinca a la rutina que controla la alarma audible PONFF: LDAA ALACOD ;Enciende el led de falta de flujo ORAA #$01 STAA ALACOD ASILEN: LDAA ALACOD ;Carga el c¢digo de alarmas ANDA #$15 ;Prueba si existen alarmas CMPA #$00 ;Si existe alarma presente BNE PRUASC ;Ve a checar el codigo de alarma sonora BRA QTAUDI ;De lo contrario quita alarma sonora PRUASC: LDAA ASCOD ;Carga el c¢digo de alarma audible CMPA #$00 ;Si es ceros (alarma no silenciada) BEQ PONAUDI ;suena en caso de que exista alarma BRA QTAUDI ;Brinca a quitar alarma audible
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 47
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
QTAUDI: LDAA SALPOT ;Carga el c¢digo de salida de potencia y alarma ANDA #$EF ;Quita la alarma audible STAA SALPOT ;Retorna el valor BRA FINALA PONAUDI: LDAA SALPOT ;Carga el C¢digo de salida de potencia y alarma audible ORAA #$10 ;Pon la alarma audible STAA SALPOT ;Regresa LDAA ALACOD ANDA #$BF ;Apaga el led que indica alarma silenciada STAA ALACOD FINALA: LDAA ALACOD STAA DESPLE+6 ;Guarda el codigo para el display 7 RTS ************* SUBRUTINA DE ATENCION a INTERRUPCION ***************** ORG SBRAI ;Directiva del esamblador ATNSB: LDAA #READ ;Carga el codigo de lectura del 8279 STAA CTCOM ;Transmitelo al 8279 LDAA CTDAT ;Obtiene el dato STAA TCODE ;Almacenalo en el buffer JSR INTCOD ;Interpreta RTI ;Retorno *********SUBRUTINA QUE INTERPRETA EL CODIGO DEL TECLADO *********** INTCOD: LDX #TECCOD ;Carga la direccion de los codigos del teclado LDAA TCODE ;Lee el codigo de la tecla pulsada CMPA 0,X ;Compara con el codigo almacenado 1 BEQ RUTINA1 LDAA TCODE CMPA 1,X ;Compara con el codigo 2 BEQ RUTINA2 LDAA TCODE CMPA 2,X ;Compara con el codigo 3 BEQ RUTINA3 LDAA TCODE CMPA 3,X ;Compara con el codigo 4 BNE FINTEC ;Si es diferente retorna COM ASCOD ;Apaga o enciende alarma audible FINTEC: RTS
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 48
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
RUTINA1: LDAB TCL ;Carga el codigo de la temp de control CMPB #$00 ;Si es 00 controla en el rango1 (20 - 39 grados) BEQ RANGO1 ;(rango de temperatura ambiente) LDAB TCL CMPB #$FF ;Si es FF controla en el rango2 (36.5 - 37.5) BEQ RANGO2 RTS RANGO1: LDAB TPPROG ;Carga la temperatura programada previamente CMPB #$BE ;Compara si es 39 BEQ SALTE1 ;No incrementes INCB ;De lo contrario STAB TPPROG ;Almacena el valor actualizado SALTE1: RTS RANGO2: LDAB TPPROG ;Carga la T prog. previa CMPB #$AF ;Compara con el valor maximo permitido (37.5) BGT INI ;Si es mayor inicializa CMPB #$AF ;compara con maximo permitido BEQ SALTE2 ;Si es igual, no incrementes INCB ;Caso contrario STAB TPPROG ;Almacena el actual SALTE2: RTS INI: LDAA #$AA ;Inicializa a 37 grados Centigrados STAA TPPROG RTS ***************** Rutina que decrementa la T programada ********************** RUTINA2: LDAB TCL ;Carga el cod. de trasductor de control CMPB #$00 ;Compara Si pertenece al rango1 o rango 2 BEQ RANG1A ;De 20 A 39 grados LDAB TCL CMPB #$FF BEQ RANG2A ;de 36.5 a 37.5 grados RTS RANG1A: LDAB TPPROG ;Decremanta si no es el menor valor programable CMPB #$00 ;20 grados BEQ SAL1 DECB STAB TPPROG SAL1: RTS
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 49
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
RANG2A: LDAB TPPROG ;Decrementa si no es el menor permitido (36.5) CMPB #$A5 BLT INI1 ;Si es menor que el permitido, inicializa a 37 CMPB #$A5 BEQ SAL2 DECB STAB TPPROG SAL2: RTS INI1: LDAA #$AA STAA TPPROG RTS ************** Rutina que cambia codigo del Transd. de ctrl.****************** RUTINA3: LDAB TCL ;Carga el codigo del transductor de control COMB ;Cambia el codigo STAB TCL CMPB #$FF BNE FINR3 ;Si el control no lo tiene el tranductor de piel * ;Si se cambio de transductor de ambiente a LDAA #$AA ;Transductor de la piel reprograma la temperatura STAA TPPROG ;a 37 grados centigrados FINR3: RTS ;Retorno ***************************FIN DEL PROGRAMA **********************
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 50
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
CONCLUSIONES
Como primera observación está que el Sistema Mínimo resultó sobrado para este diseño, últimamente he estado trabajando con los microcontroladores de Microchip, en la familia de los PICS, los cuales son una gama extensa de procesadores de 8 y 16 Bits que van de 8 pines hasta 48 y en varios tipo de empaque, en particular me gusto el PIC14000, como para implementar este sistema.
En lo que respecta al diseño analógico y en particular al generador del diente de sierra sincronizado con los cruces por cero de la señal de línea, podemos decir que resultó exitoso, ya que nos permitió un control mas exacto de la potencia que era suministrada al calefactor de una manera segura y a u costo reducido.
En general el sistema puede crecer, por ejemplo con sensor de humedad y un humidificador servo controlado, Un ventilador para el flujo del aire del calefactor al interior de la incubadora servo controlado, Un indicador de Servicio (limpieza o cambio de filtros de aire, sensor del nivel de agua del humidificador, etc.) , Un alarma independiente del sistema para aumentar el nivel de seguridad, puede contener tambien un sensor de repiración con su alarma de apnea, en fin un sistema completo para una incubadora Neonatal.
Espero que a los interesados de nuestro sistema les sea de utilidad para poder hacerlo crecer, o mejorar, por ese interés gracias.
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 51
CONTROL AUTOMATICO DE TEMPERATURA EN UNA INCUBADORA PARA NEONATOS
BIBLOGRAFÍA
1.--Termorregulación : Incubadoras, calefactores radiantes, piel artificial y Caperuzas corporales., Michael H LeBlanc, MD. 403- 415., 1991
2.- Amplificadores Operacionales y Circuitos Integrados Lineales, Robert F
Coughlin , Frederick F. Driscoll, Cuarta edicion 1993. 3.- Data Acquisition and Process Control with the MC68HC11 Microcontroler.
Frederick F. Driscoll, Robert F. Coughlin, Robert S. Villanucci Wentworth Institute of Technology. 4.- Sistemas Digitales Principios y aplicaciones, Ronald J Tocci., Quinta Edición 1991. 5.- Termorregulación en el recién nacido. Edmund Hey Jon W Scopes P 221 – P290. 6.- Joseph D. Greenfield, The 68HC11 Microcontroler, Rochester Institute of Technology, 1992 7.- MOTOROLA HC11, M68HC11 Reference Manual 8.- MOTOROLA , FAST and LS TTL Data
Universidad Autónoma Metropolitana – Iztapalapa Ingeniería Biomédica PAG 52