13.07.2015 Views

CAPÍTULO 1 - Universidad de Sevilla

CAPÍTULO 1 - Universidad de Sevilla

CAPÍTULO 1 - Universidad de Sevilla

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 1.1: Instalaciones en los laboratorios <strong>de</strong> la Escuela Superior <strong>de</strong>Ingenieros <strong>de</strong> <strong>Sevilla</strong>1.2. MARCO DEL PROYECTOEl increíble <strong>de</strong>sarrollo experimentado por la Medicina en los últimos años hahecho posible tanto la curación <strong>de</strong> gran número <strong>de</strong> enfermeda<strong>de</strong>s que anteriormente eranconsi<strong>de</strong>radas mortales como la mejora <strong>de</strong> la calidad <strong>de</strong> vida en otros muchos casos.Una <strong>de</strong> las técnicas en las que se ha logrado un mayor avance y que constituye lamejor (y a veces la única) solución para la curación <strong>de</strong> un gran número <strong>de</strong> patologías <strong>de</strong>importancia es el trasplante <strong>de</strong> órganos. Esto es porque, pese a los muchos intentos einvestigaciones llevadas a cabo en diversas ramas <strong>de</strong> la Medicina (como la IngenieríaGenética, por ejemplo), aún no se ha logrado encontrar un sustituto, ya sea natural (<strong>de</strong>otras especies animales) o artificial (creado por el hombre) para un órgano humano que<strong>de</strong>ja <strong>de</strong> ejercer su función biológica a causa <strong>de</strong> una enfermedad o lesión.3


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En un proceso tan complejo como el <strong>de</strong> una trasplante <strong>de</strong> órganos entran enjuego infinidad <strong>de</strong> variables que <strong>de</strong>ben conjugarse correctamente para que el trasplantesea viable. Una <strong>de</strong> las variables más restrictivas es el tiempo. Efectivamente, el tiempo<strong>de</strong>s<strong>de</strong> que se produce la donación <strong>de</strong> un órgano hasta que éste se trasplanta a un receptora<strong>de</strong>cuado <strong>de</strong>be ser lo menor posible, dado que con las técnicas actuales el órgano sólo escapaz <strong>de</strong> mantenerse varias horas; más allá el trasplante es inviable. Es necesario, pues,<strong>de</strong>sarrollar una técnica que permita alargar lo máximo posible este tiempo, lo cualrevertiría en una disminución <strong>de</strong> los costes <strong>de</strong>l trasplante, menor <strong>de</strong>terioro <strong>de</strong>l órgano y,lo que es más importante, mayores posibilida<strong>de</strong>s <strong>de</strong> éxito.De todos los tipos <strong>de</strong> trasplante que actualmente se practican, nos vamos a ceñiral <strong>de</strong> corazón. La técnica usada actualmente para el mantenimiento <strong>de</strong>l corazón es elalmacenamiento <strong>de</strong>l mismo en un estado <strong>de</strong> hipotermia, a una temperatura aproximada<strong>de</strong> unos 4 ºC, logrando unos tiempos máximos <strong>de</strong> conservación <strong>de</strong> entre 4 y 6 horas.El objetivo, pues, <strong>de</strong> este proyecto es lograr <strong>de</strong>sarrollar un sistema mejor <strong>de</strong>conservación <strong>de</strong> corazones para su trasplante, y el método usado va a ser básicamente eldisminuir lo máximo posible la temperatura <strong>de</strong> conservación <strong>de</strong>l órgano, llegando atemperaturas subcero que permitirán un tiempo <strong>de</strong> conservación mucho mayor que elactual.El proyecto se enmarca <strong>de</strong>ntro <strong>de</strong> un proyecto global y multidisciplinar<strong>de</strong>nominado “Preservación <strong>de</strong> tejidos y órganos para transplantes”, cuyo objetivoprincipal a corto plazo consiste en mejorar la técnica actual <strong>de</strong> almacenamiento <strong>de</strong>órganos en hipotermia mediante la adición controlada <strong>de</strong> crioprotectores, y a largoplazo, en obtener protocolos que permitan la creación <strong>de</strong> bancos <strong>de</strong> órganos. Para ello,se siguen dos líneas <strong>de</strong> investigación, una teórica y otra experimental.En la investigación teórica, se realiza un estudio termodinámico <strong>de</strong> laspropieda<strong>de</strong>s <strong>de</strong> los órganos al enfriarse, cómo intervienen en el proceso loscrioprotectores, la posible aplicación <strong>de</strong> ultrasonidos para la <strong>de</strong>strucción <strong>de</strong> hielo, yobtener la máxima información posible que permita <strong>de</strong>finir protocolos óptimos <strong>de</strong>criopreservación.4


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>A nivel experimental, se trabaja en varios niveles:‣ Criopreservación celular. La conservación en frío <strong>de</strong> células aisladas es elprimer paso para lograr la criopreservación <strong>de</strong> órganos. Se trabajaprincipalmente con neuronas y ya se están obteniendo resultados satisfactorios.‣ Criopreservación tisular. El siguiente paso es lograr la criopresrevación <strong>de</strong>tejidos o agrupaciones <strong>de</strong> células. Para ello se sigue una línea <strong>de</strong> investigaciónen el <strong>de</strong>partamento <strong>de</strong> Fisiología Médica <strong>de</strong>l Hospital Virgen Macarena.‣ Criopreservación <strong>de</strong> órganos. Aquí se enmarca este proyecto. Se trabaja en el<strong>de</strong>sarrollo <strong>de</strong> un sistema <strong>de</strong> perfusión integral para órganos con el objeto <strong>de</strong> irdisminuyendo la temperatura <strong>de</strong>l órgano mediante la adición <strong>de</strong> elementoscrioprotectores. También se trabaja en la recuperación <strong>de</strong>l órgano tras el proceso<strong>de</strong> criopreservación y <strong>de</strong>terminación <strong>de</strong> los parámetros biológicos y mecánicos<strong>de</strong>l mismo.Los resultados se difun<strong>de</strong>n <strong>de</strong> forma continua <strong>de</strong>s<strong>de</strong> www.biopres.org, ywww.cryobiotech.org y <strong>de</strong> forma periódica mediante publicaciones en revistasespecializadas.5


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>CAPÍTULO 2. FUNDAMENTOS FÍSICOS DE LACRIOPRESERVACIÓN.2.1. INTRODUCCIÓN.Como se ha visto en el capítulo anterior, el corazón es el órgano principal sobreel cual el grupo <strong>de</strong> investigación aplica el protocolo <strong>de</strong> criopreservación. En estecapítulo se exponen conceptos básicos que explican el funcionamiento <strong>de</strong>l sistemacirculatorio y la manera en la que el corazón actúa como motor <strong>de</strong> éste. A continuaciónse muestran las distintas partes que forman el músculo cardíaco, su funcionamiento ylocalización.Seguidamente se introduce teoría básica a cerca <strong>de</strong> la preservación en fríomediante la explicación <strong>de</strong> los procesos fisio-químicos que tienen lugar en una célulacuando se somete a procesos <strong>de</strong> conservación en frío (los principios <strong>de</strong> ósmosis y <strong>de</strong>l<strong>de</strong>scenso <strong>de</strong>l punto <strong>de</strong> congelación) y cómo éstos están relacionados con la formación<strong>de</strong> hielo durante el proceso. El capítulo finaliza con la exposición <strong>de</strong> las variables acontrolar en el proceso <strong>de</strong> conservación y que se <strong>de</strong>ben ir concretando una vez quecomiencen los experimentos.2.2. EL SISTEMA CIRCULATORIO Y EL CORAZÓN.La circulación sanguínea es el sistema corporal encargado <strong>de</strong> llevar lasprovisiones esenciales <strong>de</strong> alimentos y combustible a todas las células vivasintercambiándolas con productos <strong>de</strong> <strong>de</strong>secho potencialmente dañinos. El sistemacirculatorio <strong>de</strong>l adulto está formado por miles <strong>de</strong> kilómetros <strong>de</strong> conductos por los quefluyen unos 4,7 litros <strong>de</strong> sangre. La sangre se mantiene en circulación por todo el cuerpogracias al bombeo <strong>de</strong>l corazón.6


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>La sangre circula por todo el cuerpo por tubos que reciben los nombres <strong>de</strong>arterias y venas. La mayoría <strong>de</strong> las arterias transportan sangre rica en oxígeno(oxigenada), mientras que casi todas las venas llevan sangre rica en dióxido <strong>de</strong> carbono(<strong>de</strong>soxigenada). La arteria más gran<strong>de</strong> es la aorta, que nace directamente <strong>de</strong>l corazón; aligual que las <strong>de</strong>más arterias importantes, tiene pare<strong>de</strong>s gruesas revestidas por músculo.El flujo sanguíneo <strong>de</strong>pen<strong>de</strong> <strong>de</strong> la contracción <strong>de</strong> este músculo y <strong>de</strong>l impulso <strong>de</strong>l latidocardíaco, perfectamente coordinados <strong>de</strong>ntro <strong>de</strong>l ciclo cardíaco.Al penetrar en los tejidos, las arterias se divi<strong>de</strong>n en ramas estrechas llamadasarteriolas, que a su vez se ramifican para formar los capilares. A través <strong>de</strong> las pare<strong>de</strong>ssumamente <strong>de</strong>lgadas <strong>de</strong> los capilares la sangre intercambia el dióxido <strong>de</strong> carbono y lassustancias <strong>de</strong> <strong>de</strong>secho. La sangre <strong>de</strong>soxigenada <strong>de</strong> los capilares fluye hacia las venasestrechas (vénulas) y <strong>de</strong> ahí a las venas. Las dos venas más gran<strong>de</strong>s, llamadas venascavas, llevan <strong>de</strong> nuevo esta sangre al corazón. Las pare<strong>de</strong>s <strong>de</strong> las venas son <strong>de</strong>lgadas encomparación con las <strong>de</strong> las arterias, y la sangre circula por ellas con mucha mayorlentitud.La sangre <strong>de</strong>soxigenada que llega al corazón a través <strong>de</strong> las venas no tieneninguna utilidad para las células <strong>de</strong>l cuerpo hasta que no vuelve a recargarse <strong>de</strong>oxígeno. Para asegurar la reoxigenación, el sistema circulatorio está dotado <strong>de</strong> unsegundo circuito. En él, la sangre rica en bióxido <strong>de</strong> carbono se dirige <strong>de</strong>s<strong>de</strong> el corazónhasta los pulmones por la arteria pulmonar; en el pulmón se intercambia el dióxido <strong>de</strong>carbono por el oxígeno inspirado. La arteria pulmonar es la única arteria que trasportasangre <strong>de</strong>soxigenada. La sangre reoxigenada vuelve al corazón a través <strong>de</strong> la venapulmonar, la única vena que transporta sangre oxigenada.2.2.1. EL CORAZÓN.El corazón es el órgano principal <strong>de</strong>l sistema circulatorio y su tamaño es similaral <strong>de</strong>l puño. Está alojado en un una especie <strong>de</strong> estuche <strong>de</strong>nominado pericardio, situadoen el mediastino inferior y ro<strong>de</strong>ado por el pulmón, excepto en una franja anterior quecontacta con el peto esternal, localizándose ligeramente <strong>de</strong>splazado hacia la izquierda <strong>de</strong>7


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>la línea media <strong>de</strong>l tórax. El pericardio ayuda a mantener al corazón en su posición y aprotegerlo. El pericardio y el corazón están separados por una capa fluida lubricante quepermite que el corazón bombee libremente <strong>de</strong>ntro <strong>de</strong>l pecho. El corazón lo forman trescapas musculares, el endocardio, el miocardio y el epicardio. El miocardio formaaproximadamente el 75% <strong>de</strong>l tejido cardíaco. El pericardio es una <strong>de</strong>lgada capa querecubre el miocardio. La tercera capa, conocida como endocardio, se ubica entre elmiocardio y el interior <strong>de</strong>l corazón.. En su interior, el corazón posee una <strong>de</strong>lgada paredmuscular llamada septum, la cual lo divi<strong>de</strong> en dos mita<strong>de</strong>s A su vez, cada mitad estáseparada en dos cámaras limitadas por válvulas. Las cámaras superiores se llamanaurículas y representan las entradas <strong>de</strong>l corazón. Las cámaras inferiores, los ventrículos,son más gruesas y permiten la salida <strong>de</strong>l flujo sanguíneo <strong>de</strong>l corazón. Las válvulas queseparan las cámaras superiores e inferiores se <strong>de</strong>nominan válvulas auriculoventriculares.La válvula que separa la aurícula <strong>de</strong>recha <strong>de</strong>l ventrículo <strong>de</strong>recho se llama válvulatricúspi<strong>de</strong>, mientras que la válvula que separa la aurícula izquierda <strong>de</strong>l ventrículoizquierdo recibe el nombre <strong>de</strong> válvula mitral (figura 2.1.).Figura 2.1. Estructura cardíaca.8


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Mediante la “hipótesis <strong>de</strong> los dos factores” [Mazur, P., 1963] se explican losprocesos físico-químicos que tienen lugar en una célula cuando se enfría. Para ello,basta con explicar el fundamento <strong>de</strong> dos principios físicos: el principio <strong>de</strong> ósmosis y elprincipio <strong>de</strong>l <strong>de</strong>scenso <strong>de</strong>l punto <strong>de</strong> congelación.• Principio <strong>de</strong> Ósmosis.El Principio <strong>de</strong> Ósmosis dice que, cuando se tiene una célula sumergidaen una disolución salina, el agua empieza a fluir en un sentido tal que tien<strong>de</strong> aigualar las concentraciones <strong>de</strong> las disoluciones. Es <strong>de</strong>cir, si se sumerge unacélula en una disolución <strong>de</strong> sales más concentrada que la existente en el interiorcelular, el agua sale <strong>de</strong> la célula, por lo que ésta encoge reduciendo su volumen.Por el contrario, si la disolución exterior está más diluida, el agua exteriorempieza a introducirse en la célula provocando un aumento en su volumen.• Principio <strong>de</strong>l <strong>de</strong>scenso <strong>de</strong>l punto <strong>de</strong> congelación.El Principio <strong>de</strong>l <strong>de</strong>scenso <strong>de</strong>l punto <strong>de</strong> congelación concluye que, aunqueel punto <strong>de</strong> congelación <strong>de</strong>l agua pura está situado a 0ºC, si en el agua existensales disueltas, éste <strong>de</strong>scien<strong>de</strong>.Cuando se tiene un conjunto <strong>de</strong> células que se quiere conservar en frío,inicialmente se introducen en un recipiente que contiene una solución salina isotónica,es <strong>de</strong>cir, con igual concentración <strong>de</strong> sales que en el interior celular. Cuando se empiezaa enfriar este preparado, el frío alcanza antes la solución exterior que el interior celular.Esto trae consigo que se forme hielo en el medio extracelular sin que se produzca en elinterior celular. La aparición <strong>de</strong> este hielo provoca que el agua líquida vaya<strong>de</strong>sapareciendo, y <strong>de</strong>bido al principio <strong>de</strong> ósmosis, sale agua <strong>de</strong> la célula para igualar lasconcentraciones intra y extracelulares.Al salir agua <strong>de</strong> la célula, la sal que estaba disuelta en su interior empieza a estarmás concentrada, produciéndose un <strong>de</strong>scenso <strong>de</strong> su punto <strong>de</strong> congelación (según elsegundo principio enunciado). Con esto se reduce el riesgo <strong>de</strong> formación <strong>de</strong> hielo11


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>intracelular que traería como consecuencia la <strong>de</strong>strucción <strong>de</strong> la célula. Mediante larepetición <strong>de</strong> este proceso y siguiendo un perfil a<strong>de</strong>cuado (don<strong>de</strong> la velocidad <strong>de</strong>enfriamiento juega un papel esencial) que permita la creación <strong>de</strong> hielo extracelular ycompensar las concentraciones mediante la salida <strong>de</strong> agua <strong>de</strong>s<strong>de</strong> el interior <strong>de</strong> la célula,se consigue un enfriamiento efectivo sin la aparición <strong>de</strong> hielo intracelular.La no formación <strong>de</strong> hielo mediante este procedimiento no es sinónimo <strong>de</strong>supervivencia celular ya que, aunque no se forme hielo, aparecen dos nuevos factoresque perjudican gravemente a la célula. Por una parte está el hecho <strong>de</strong> que en ciertoinstante la concentración <strong>de</strong> sales <strong>de</strong>ntro <strong>de</strong> la célula llega a ser tan alta que resulta muytóxica. Por otra parte, al salir tanta agua <strong>de</strong> la célula su volumen disminuyepeligrosamente, produciendo <strong>de</strong>formaciones estructurales irreversibles. Estos dosfactores son tanto o más perjudiciales que la formación <strong>de</strong> hielo intracelular. Por ello, enlos protocolos <strong>de</strong> preservación <strong>de</strong> células aisladas hay que enfriar a una velocidad quesea lo suficientemente lenta como para evitar en lo posible la formación <strong>de</strong> hielointracelular, pero a su vez, lo suficientemente rápida como para no producir una<strong>de</strong>shidratación excesiva que conlleve a una <strong>de</strong>strucción irreversible <strong>de</strong> la estructuracelular. Esto da lugar a que el perfil que aparece cuando se representa el porcentaje <strong>de</strong>células que sobreviven a un proceso <strong>de</strong> preservación en frío frente a la velocidad <strong>de</strong>enfriamiento sea, típicamente, el <strong>de</strong> una U invertida. Por lo tanto, se precisa optimizartodos los parámetros expuestos: Velocidad <strong>de</strong> enfriamiento. Concentración <strong>de</strong> crioprotector. Tipos <strong>de</strong> crioprotectores. Tiempo <strong>de</strong> almacenamiento. Temperatura última <strong>de</strong> almacenamiento. Proceso <strong>de</strong> recalentamiento.Cada uno <strong>de</strong> los parámetros expuestos pue<strong>de</strong> ser optimizado estudiando sueficiencia, <strong>de</strong>terminándola mediante los resultados que aportan los experimentos.12


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En cuanto a la velocidad <strong>de</strong> enfriamiento, se ha <strong>de</strong>mostrado que, para casosconcretos <strong>de</strong> células aisladas es posible la conservación mediante la aplicación <strong>de</strong>velocida<strong>de</strong>s <strong>de</strong> enfriamiento <strong>de</strong> <strong>de</strong>cenas <strong>de</strong> miles <strong>de</strong> grados por segundo, consiguiendovitrificación y evitando la formación <strong>de</strong> hielo y la <strong>de</strong>shidratación celular. Sin embargo,hoy en día no es posible aplicar esta técnica a los órganos, <strong>de</strong>bido en parte laconductividad térmica finita que presentan.13


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>CAPÍTULO 3. DESCRIPCIÓN DEL SISTEMA3.1 INTRODUCCIÓNComo se <strong>de</strong>scribió en el capítulo anterior, el propósito <strong>de</strong>l proyecto es laconservación <strong>de</strong> órganos (en especial, corazones) en frío. Para ello es necesario ajustarcorrectamente todos los parámetros que intervienen en el proceso: Tiempo <strong>de</strong>l proceso <strong>de</strong> congelación Temperatura final <strong>de</strong>l órgano Perfil <strong>de</strong> temperatura a seguir <strong>de</strong>s<strong>de</strong> la temperatura inicial a la final Concentración <strong>de</strong> crioprotector en cada instante <strong>de</strong>l proceso Proceso <strong>de</strong> reanimación.El proyecto se centrará en el diseño y construcción <strong>de</strong> un sistema que permita laoptimización los parámetros anteriores. En concreto, el sistema <strong>de</strong>be permitirseleccionar un perfil <strong>de</strong> temperatura y concentración <strong>de</strong>seado para el órgano, yposteriormente que una disolución <strong>de</strong> crioprotector se inyecte en el órgano siguiendodichos perfiles, en lo que sería propiamente el proceso <strong>de</strong> criopreservación.Usando la terminología <strong>de</strong>l proyecto, al sistema se le pue<strong>de</strong> <strong>de</strong>nominar “sistema<strong>de</strong> perfusión”, ya que, como veremos más a<strong>de</strong>lante, se trata <strong>de</strong> perfundir la disolución<strong>de</strong> crioprotector por el interior <strong>de</strong>l órgano usando la red <strong>de</strong> capilares. .Se tratará básicamente <strong>de</strong> un sistema experimental que permita <strong>de</strong>sarrollar unproceso iterativo <strong>de</strong> prueba y error. Esto es, el experimentador introducirá un perfil parala temperatura y otro para la concentración durante el tiempo total <strong>de</strong>seado para elexperimento. Posteriormente pondrá en marcha el sistema <strong>de</strong> perfusión y el procesotendrá lugar siguiendo los perfiles diseñados. Una vez finalizado el experimento, seproce<strong>de</strong>rá a la conservación <strong>de</strong>l órgano a una temperatura igual a la temperatura finallograda con el experimento.14


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Pasado un cierto tiempo, se proce<strong>de</strong>rá a realizar el proceso contrario; esto es, lareanimación <strong>de</strong>l órgano. Una vez reanimado el órgano (vuelve a la temperatura normal)se verificará la viabilidad <strong>de</strong>l mismo, es <strong>de</strong>cir, se comprobará si tras el proceso <strong>de</strong>congelación el órgano es capaz <strong>de</strong> volver a realizar su función biológica.Para ello se somete el órgano a experimentos que <strong>de</strong>terminarán si se ha formadohielo y éste ha <strong>de</strong>teriorado estructuras celulares, se comprobará la viabilidad mecánica<strong>de</strong>l órgano, etc.Comprobando los resultados anteriores el experimentador podrá ir modificandolas curvas <strong>de</strong> temperatura y concentración, hasta obtener unos perfiles que <strong>de</strong>n lugar aun proceso <strong>de</strong> conservación viable. Evi<strong>de</strong>ntemente, estos perfiles variarán en función<strong>de</strong>l tipo <strong>de</strong> órgano <strong>de</strong>l que se trate.3.2 DESCRIPCIÓN DEL SISTEMAUna vez quedado claro el objetivo <strong>de</strong>l sistema, nos centramos en cómo lo vamosa llevar a cabo. Si <strong>de</strong>jamos <strong>de</strong> lado la fase inicial <strong>de</strong> elaboración <strong>de</strong> perfiles, po<strong>de</strong>mosinterpretar que el grueso <strong>de</strong>l proyecto es un sistema que obtiene una disolución con unatemperatura y una concentración <strong>de</strong>terminada. Esta temperatura y concentración seránvariables con el tiempo.Po<strong>de</strong>mos, pues, dividir los objetivos <strong>de</strong>l proyecto en dos partes: en primer lugar,lograr un sistema que inyecte un fluido en el corazón siguiendo un <strong>de</strong>terminado perfil <strong>de</strong>temperatura y en segundo lugar, lograr que dicho fluido pueda tener una concentraciónvariable con el tiempo.15


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>3.2.1 ALTERNATIVAS DE DISEÑOPresentamos a continuación algunas alternativas para lograr el objetivo <strong>de</strong>seado;esto es, la obtención <strong>de</strong> una disolución a una temperatura y concentración <strong>de</strong>terminada.De las dos variables la que a priori pue<strong>de</strong> resultar más fácil <strong>de</strong> controlar es latemperatura. El problema <strong>de</strong> conseguir una temperatura <strong>de</strong>terminada en un medio (yasea un recipiente, una habitación, un proceso industrial o un fluido, como es nuestrocaso) es un problema ampliamente tratado y resuelto por la Teoría <strong>de</strong> ControlAutomático.En ambientes industriales lo que se hace normalmente es aplicar un elementoque perturbe la temperatura <strong>de</strong>l medio. Si se <strong>de</strong>sea subir la temperatura se aplicará calormediante un radiador o resistencia y si se quiere bajarla se usará un elementorefrigerador. Evi<strong>de</strong>ntemente la cantidad <strong>de</strong> calor o frío aplicada al proceso estará enfunción <strong>de</strong> la temperatura en ese instante <strong>de</strong>l medio. En concreto, <strong>de</strong>pen<strong>de</strong>rá <strong>de</strong>l error,o diferencia entre la temperatura <strong>de</strong>seada y la temperatura real <strong>de</strong>l medio. Esta última noes nunca constante, ya que está afectada por factores externos como la temperaturaexterior, la no homogeneidad <strong>de</strong>l medio o las propias características <strong>de</strong>l proceso. Elcalor o frío que se aplica sobre el proceso y que recibe el nombre <strong>de</strong> acción <strong>de</strong> controlten<strong>de</strong>rá a compensar este error.Estamos pues, frente a dos problemas distintos, que son los dos problemasclásicos a los que presenta solución la Teoría <strong>de</strong>l Control Automático. El primero <strong>de</strong>ello es el <strong>de</strong>l seguimiento, es <strong>de</strong>cir, queremos que nuestro sistema, que será ladisolución, siga un perfil en el tiempo en una <strong>de</strong> sus propieda<strong>de</strong>s (temperatura oconcentración, por ejemplo). El segundo problema es el <strong>de</strong> la regulación, don<strong>de</strong> se trataque una referencia <strong>de</strong>seada para el sistema se haga efectiva en el mismo y se mantenga,pese a los errores y perturbaciones presentes en el mismo. Esto es a gran<strong>de</strong>s rasgos, loque preten<strong>de</strong>mos que realice nuestro sistema.16


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Sin embargo, la estrategia a usar va a presentar ciertas diferencias <strong>de</strong>importancia respecto a la “i<strong>de</strong>a base”, sobre todo por el hecho <strong>de</strong> que nuestro sistema nova a usar elemento calefactor o refrigerador para el control <strong>de</strong> la temperatura.En primer lugar, el uso <strong>de</strong> resistencia o calefactor está prácticamente <strong>de</strong>sechado<strong>de</strong>s<strong>de</strong> el principio, ya que lo que preten<strong>de</strong>mos hacer es precisamente lo contrario; es<strong>de</strong>cir, enfriar el fluido, no calentarlo. Se podría pensar en contar con una “disoluciónbase” a muy baja temperatura (inferior a la mínima que queramos alcanzar en elexperimento), la cual podríamos ir calentando para obtener la temperatura a<strong>de</strong>cuada encada momento. Esto sería a todas luces ineficiente, y el sistema resultante seríaaltamente inestable, ya que el perfil típico que implementaremos es una temperaturaestrictamente <strong>de</strong>creciente, y con este método comenzaríamos aplicando la acción <strong>de</strong>control máxima (calentaríamos mucho la disolución fría) y a partir <strong>de</strong> ahí<strong>de</strong>crementaríamos la acción <strong>de</strong> control, porque el fluido <strong>de</strong>bería ser cada vez más frío.A<strong>de</strong>más habría que consi<strong>de</strong>rar la velocidad <strong>de</strong> respuesta tanto <strong>de</strong>l elemento calefactorcomo la velocidad intrínseca <strong>de</strong> la disolución (inercia térmica).La segunda opción sería aplicar un elemento refrigerante, que enfriara el líquido<strong>de</strong> forma creciente en el tiempo. Esto presenta otro tipo <strong>de</strong> problemas. El primero <strong>de</strong>ellos, y más importante es qué tipo <strong>de</strong> actuador (refrigerador) <strong>de</strong>bería ser usado. No hayque olvidar que el propósito final es llegar a temperaturas bastante por <strong>de</strong>bajo <strong>de</strong> 0ºC.Prestando atención a otro punto <strong>de</strong> las especificaciones <strong>de</strong>l sistema po<strong>de</strong>mos darcon otra opción, que es por la que finalmente optaremos. Hemos dicho con anterioridadque el objeto final <strong>de</strong>l proyecto es conseguir una disolución <strong>de</strong> anticongelante con unaconcentración y temperatura <strong>de</strong>terminada. Este fluido será usado en última instanciapara perfundir el corazón, y para ello será necesario bombearlo a cierta presión. Serápues necesario el uso <strong>de</strong> al menos una bomba <strong>de</strong> infusión.Ahora bien, si en vez <strong>de</strong> usar una sola bomba para inyectar el fluido usáramosmás <strong>de</strong> una, extrayendo líquido <strong>de</strong> distintos recipientes a distintas temperaturaspodríamos combinar los fluidos para obtener la temperatura final <strong>de</strong>seada.17


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Eso es precisamente lo que hacemos: tendremos dos tanques isotermos, con una<strong>de</strong>terminada cantidad <strong>de</strong> fluido a una temperatura fija y conocida, y extrayendo más omenos cantidad <strong>de</strong> cada uno u otro po<strong>de</strong>mos obtener la temperatura intermedia <strong>de</strong>seada.Evi<strong>de</strong>ntemente, para lograr el rango <strong>de</strong> temperaturas completo <strong>de</strong>s<strong>de</strong> el inicio <strong>de</strong>lproceso (temperatura ambiente) hasta el final (mínima temperatura o temperatura <strong>de</strong>criopreservación) las temperaturas <strong>de</strong> los tanques <strong>de</strong>ben al menos igualar estos valoresextremos, para que la a<strong>de</strong>cuada proporción <strong>de</strong> caudales a distintas temperaturas nos <strong>de</strong>una mezcla a la temperatura <strong>de</strong>seada. Más a<strong>de</strong>lante entraremos en <strong>de</strong>talle en el estudio<strong>de</strong> las temperatura <strong>de</strong> los tanques.Con la estrategia brevemente <strong>de</strong>scrita anteriormente solventamos el problema <strong>de</strong>obtener una temperatura distinta en cada instante para nuestra disolución. Nos queda,pues, solventar el problema <strong>de</strong> la otra variable a controlar in<strong>de</strong>pendientemente; esto es,la concentración.Para solucionar este problema plantemos en primera instancia un esquemasimilar al formulado anteriormente para el control <strong>de</strong> la temperatura. Esto es, al igualque con la temperatura jugamos con la mezcla en a<strong>de</strong>cuadas proporciones <strong>de</strong> fluidos adistintas temperaturas, para conseguir una concentración distinta en cada momentomezclaremos dos sustancias a distintas concentraciones, para que su mezcla tenga laproporción <strong>de</strong>seada.En concreto, y también por analogía con el caso <strong>de</strong> la temperatura, contaremoscon sustancias en las proporciones extremas, para po<strong>de</strong>r alcanzar cada una <strong>de</strong> lasconcentraciones intermedias. De esta manera, una <strong>de</strong> las sustancias será el propio soluto<strong>de</strong> la disolución, esto es, el agente crioprotector, y la otra sustancia será el disolvente,(en nuestro caso solución salina fisiológica o Krebs).Como se verá más a<strong>de</strong>lante, este esquema presenta inconvenientes <strong>de</strong>implementación, que comentaremos a su <strong>de</strong>bido momento, resultando en un esquemafinal ligeramente distinto al propuesto.18


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>3.2.2 DISEÑO DEL SISTEMAResumiendo lo anterior, y recordando que los controles <strong>de</strong> temperatura yconcentración, aunque in<strong>de</strong>pendientes, se aplican sobre una única disolución final, eldiseño <strong>de</strong>l sistema final será el siguiente:Figura 3.1. Esquema gráfico <strong>de</strong>l Sistema <strong>de</strong> Perfusión.Como se pue<strong>de</strong> apreciar <strong>de</strong> manera esquemática en la anterior imagen, elsistema consta <strong>de</strong>:‣ Baño 1: Anticongelante a temperatura baja‣ Baño 2: Anticongelante a temperatura ambiente‣ Baño 3: Krebs a temperatura baja‣ Baño 4: Krebs a temperatura ambiente.19


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Cada uno <strong>de</strong> los baños térmicos mantiene la temperatura <strong>de</strong>seada mediante unsistema que explicaremos más a<strong>de</strong>lante.De estos baños se extrae el caudal a<strong>de</strong>cuado <strong>de</strong> sustancia en cada momento. Paraello se contará con 4 bombas peristálticas, cuyo caudal pue<strong>de</strong> ser controlado medianteuna tensión <strong>de</strong> referencia.Los 4 fluidos extraídos <strong>de</strong> los tanques isotermos mediante las bombas se unen alfinal en uno sólo que irá al inyector que se introduce en el órgano.Po<strong>de</strong>mos <strong>de</strong>cir que esta “agrupación” <strong>de</strong> los flujos se hace en dos fases:1. En primer lugar se unen los flujos “2 a 2” según el tipo <strong>de</strong> sustancia <strong>de</strong>l quese trate. Esto es, se unen por un lado los 2 flujos <strong>de</strong> anticongelante adiferente temperatura, para formar un único flujo a la temperatura <strong>de</strong>seada.De igual manera, se unen los dos flujos <strong>de</strong> Krebs.2. Finalmente, se unen los flujos <strong>de</strong> Krebs y <strong>de</strong> anticongelante a la mismatemperatura, resultando un único flujo final a la concentración <strong>de</strong>seada.Como veremos más a<strong>de</strong>lante, esta forma <strong>de</strong> unir los flujos viene dada por laestrategia elegida para la disposición <strong>de</strong> los sensores necesarios para la implementación<strong>de</strong>l bucle <strong>de</strong> control.Si observamos bien, y <strong>de</strong>bido a la división <strong>de</strong> los flujos, po<strong>de</strong>mos <strong>de</strong>cir que elsistema se compone básicamente <strong>de</strong> dos subsistemas similares e in<strong>de</strong>pendientes. Por unlado tenemos el subsistema <strong>de</strong> flujos <strong>de</strong>l Krebs y por otro lado el <strong>de</strong>l anticongelante.Po<strong>de</strong>mos plantear las ecuaciones <strong>de</strong>l sistema global a partir <strong>de</strong> esta división endos subsistemas:⎧ Q11+ Q⎨⎩T1⋅C⋅φ0= TF12,1= C ⋅φ⋅Q110+ TC,1⋅Q12Ec.3.1Ec.3.2⎧⎨⎩T2Q21⋅ (1 − C)φ+ Q022= T= (1 − C)⋅φF ,2⋅ Q210+ TC,2⋅Q22Ec.3.3Ec.3.420


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Las ecuaciones 3.1 y 3.2 correspon<strong>de</strong>n a lo que podíamos llamar “Subsistema1”, que es la parte <strong>de</strong>l sistema correspondiente al anticongelante, mientras que lasecuaciones 3.3 y 3.4 correspon<strong>de</strong>n al “Subsistema 2” o subsistema <strong>de</strong>l Krebs.Pasamos a <strong>de</strong>scribir cada uno <strong>de</strong> los términos que intervienen en las ecuaciones:‣ Q 11 : Caudal extraído <strong>de</strong>l baño <strong>de</strong> anticongelante a baja temperatura.‣ Q 12 : Caudal extraído <strong>de</strong>l baño <strong>de</strong> anticongelante a temperatura ambiente.‣ Q 21 : Caudal extraído <strong>de</strong>l baño <strong>de</strong> Krebs baja temperatura.‣ Q 22 : Caudal extraído <strong>de</strong>l baño <strong>de</strong> Krebs a temperatura ambiente.‣ T 1 : Temperatura medida en la unión <strong>de</strong> los dos flujos <strong>de</strong> anticongelante.‣ T 2 : Temperatura medida en la unión <strong>de</strong> los dos flujos <strong>de</strong> Krebs.‣ T F,1 : Temperatura <strong>de</strong>l baño <strong>de</strong> anticongelante a baja temperatura.‣ T C,1 : Temperatura <strong>de</strong>l baño <strong>de</strong> anticongelante a temperatura ambiente.‣ T F,2 : Temperatura <strong>de</strong>l baño <strong>de</strong> Krebs a baja temperatura.‣ T C,2 : Temperatura <strong>de</strong>l baño <strong>de</strong> Krebs a temperatura ambiente.‣ C: Concentración <strong>de</strong>seada en cada instante para la disolución final.‣ Φ 0 : Flujo total (y constante) que se le inyecta al órgano.Tras una breve inspección <strong>de</strong> las ecuaciones, y tras comprobar el significado <strong>de</strong>cada uno <strong>de</strong> los términos, no resulta difícil <strong>de</strong>ducir que no se trata más que <strong>de</strong> unasecuaciones típicas <strong>de</strong> balance.En concreto, la primera ecuación <strong>de</strong> cada subsistema (esto es, las ecuaciones 3.1y 3.3) son las ecuaciones <strong>de</strong> balance <strong>de</strong> flujo o <strong>de</strong> caudal. Establecen que la suma <strong>de</strong>caudales extraídas <strong>de</strong> los dos baños <strong>de</strong> anticongelante <strong>de</strong>be ser igual a la cantidad total<strong>de</strong> anticongelante que precisa el flujo total. Esta cantidad vendrá dada por el producto<strong>de</strong>l flujo total por la concentración (en el caso <strong>de</strong>l subsistema <strong>de</strong>l anticongelante) o elcomplemento <strong>de</strong> la concentración, si expresamos ésta en tanto por uno (para el caso <strong>de</strong>lsubsistema <strong>de</strong>l Krebs).21


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Estas ecuaciones vienen dadas directamente por la imposición <strong>de</strong> que el flujototal que se le inyecta al órgano <strong>de</strong>be ser una constante durante todo el experimento.Esto es <strong>de</strong>bido a que un caudal mayor que el máximo tolerado por el órgano pue<strong>de</strong>hacer que éste se vea dañado <strong>de</strong>bido a la presión.Como se comprobará durante la fase <strong>de</strong> pruebas <strong>de</strong>l proyecto, el otro grupo <strong>de</strong>ecuaciones, que correspon<strong>de</strong>n al balance <strong>de</strong> temperatura (ecuaciones 3.2 y 3.4) no severificarán al mismo nivel que lo hacen las ecuaciones 3.1 y 3.3.El mo<strong>de</strong>lo que planteamos para la temperatura es realmente sencillo:básicamente se trata <strong>de</strong> basarse en la suposición <strong>de</strong> que la temperatura <strong>de</strong>l flujoresultante <strong>de</strong> la unión <strong>de</strong> dos flujos a distintas temperaturas será la suma pon<strong>de</strong>rada <strong>de</strong>las temperaturas <strong>de</strong> dichos flujos.Este mo<strong>de</strong>lo tiene la ventaja <strong>de</strong> ser extraordinariamente sencillo, pero, comoveremos, en la práctica no se verificará exactamente, <strong>de</strong>bido a gran cantidad <strong>de</strong> efectossecundarios presentes en el sistema, acentuados cuando trabajamos con temperaturasmuy por <strong>de</strong>bajo <strong>de</strong> la temperatura ambiente.Para solucionar este problema recurriremos a un mo<strong>de</strong>lo heurístico, comoveremos más a<strong>de</strong>lante.22


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>CAPITULO 4. HARDWARE DEL SISTEMA4.1 INTRODUCCIÓNEn el capítulo anterior hemos <strong>de</strong>scrito someramente la arquitectura básica <strong>de</strong>lsistema <strong>de</strong> perfusión. Hemos justificado la elección <strong>de</strong> una estructura con 4 bañostérmicos y sus correspondientes bombas que extraen un caudal a<strong>de</strong>cuado en cadamomento para que la suma <strong>de</strong> todos <strong>de</strong> una disolución con la temperatura yconcentración <strong>de</strong>seada.En este capítulo vamos a entrar en <strong>de</strong>talle en el Hardware <strong>de</strong>l sistema. Veremosen qué partes está constituido y sus características técnicas.Los elementos Hardware que componen el sistema <strong>de</strong> perfusión son:‣ Sistema isotermo. Es el subsistema encargado <strong>de</strong> mantener tanto el crioprotectorcomo el Krebs a temperatura constante durante todo el tiempo <strong>de</strong>l experimento.Como ya hemos comentado, dos <strong>de</strong> los tanques estarán a temperatura ambiente y losotros dos a baja temperatura. Los elementos que componen el sistema isotermo son:• Recipientes <strong>de</strong> cristal, que contienen el anticongelante y el Krebs.• Recipientes aislantes, que hacen <strong>de</strong> “barrera térmica” para mantener latemperatura <strong>de</strong>l recipiente <strong>de</strong> vidrio.• Congelador, para los tanques a baja temperatura.• Calentadores, que actúan en caso <strong>de</strong> que la temperatura baje <strong>de</strong>masiado, paramantenerla constante en el valor <strong>de</strong>seado.• Temporizador, para evitar que los calentadores estén funcionandocontinuamente.• Agitadores.‣ Bombas peristálticas, para la extracción <strong>de</strong> los líquidos.‣ Tarjeta <strong>de</strong> Adquisición <strong>de</strong> datos, para la captación <strong>de</strong> datos por parte <strong>de</strong>l or<strong>de</strong>nadory la salida <strong>de</strong> señales <strong>de</strong> actuación sobre las bombas.‣ PC, para controlar todo el proceso.23


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>‣ Sensores <strong>de</strong> temperatura.‣ CDA, (Convertidores Digital-Analógico) para aumentar el número <strong>de</strong> salidas <strong>de</strong> latarjeta <strong>de</strong> adquisición.‣ Screw Panel, o panel <strong>de</strong> conexiones para la tarjeta.‣ Fuentes <strong>de</strong> Alimentación para sensores y CDA‣ Cables tipo BNC para la transmisión <strong>de</strong> las señales entre los distintos equipos.‣ Sistema <strong>de</strong> tubos para la conducción <strong>de</strong> los fluidos‣ Llaves <strong>de</strong> 3 pasos para la conexión <strong>de</strong> los tubos‣ Sistema inyector, compuesto por: Cánula aórtica construida con acero inoxidable y extremo distal <strong>de</strong> teflón quepermite la conexión <strong>de</strong>l corazón a través <strong>de</strong> la aorta ascen<strong>de</strong>nte al sistema. Campana <strong>de</strong> cristal para mantener el órgano durante el proceso. Sistema <strong>de</strong> sujeción.‣ Sistema extractor <strong>de</strong> burbujas, mediante un “atrapador <strong>de</strong> burbujas”.‣ Recipientes para la recogida <strong>de</strong> los líquidos <strong>de</strong> perfusión, que <strong>de</strong>spués <strong>de</strong> irrigar elcorazón vuelven a salir por la carótida.4.2 SISTEMA ISOTERMOComo ya hemos comentado anteriormente, la base <strong>de</strong>l funcionamiento <strong>de</strong>lsistema <strong>de</strong> perfusión radica en la extracción <strong>de</strong> forma controlada <strong>de</strong> ciertos flujos <strong>de</strong>s<strong>de</strong>unos tanques que contienen sustancia crioprotectora y solución salina a <strong>de</strong>terminadastemperaturas.De esta forma se pue<strong>de</strong> obtener un único fluido con una <strong>de</strong>terminadaconcentración y temperatura, <strong>de</strong> acuerdo a las ecuaciones 3.1 a 3.4, que reproducimos acontinuación:⎧ Q11+ Q⎨⎩T1⋅ C ⋅φ0= TF⎧⎨⎩T2Q21⋅ (1 − C)φ12,1+ Q022= C ⋅φ⋅ Q= T110+ T⋅ QC,1⋅Q= (1 − C)⋅φF ,2210+ T12C,2⋅ Q22Ec.4.1Ec.4.2Ec.4.3Ec.4.424


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Un aspecto importante que se <strong>de</strong>spren<strong>de</strong> <strong>de</strong> las anteriores ecuaciones y que es <strong>de</strong>vital importancia para que éstas tengan vali<strong>de</strong>z es que los valores <strong>de</strong> T F,1 , T C,1 , T F,2 yT C,2 son constantes.Es <strong>de</strong>cir, la temperatura <strong>de</strong> los tanques <strong>de</strong> los que se extraen los fluidos <strong>de</strong>be serla misma durante todo el tiempo <strong>de</strong>l experimento. De no ser así, la cantidad <strong>de</strong> flujo que<strong>de</strong>be ser extraída <strong>de</strong> cada uno, y que es calculada mediante las ecuaciones 4.1 a 4.4 nodaría lugar a un fluido final con la temperatura <strong>de</strong>seada.Concluimos, pues, que es necesario un sistema que mantenga constante (en lamedida <strong>de</strong> lo posible) la temperatura <strong>de</strong> cada uno <strong>de</strong> los 4 fluidos <strong>de</strong> los que partimos.La temperatura <strong>de</strong>berá ser igual a la dada por los valores <strong>de</strong> T F,1 , T C,1 , T F,2 y T C,2, , queevi<strong>de</strong>ntemente pue<strong>de</strong>n ser seleccionados a juicio <strong>de</strong>l experimentador antes <strong>de</strong>l comienzo<strong>de</strong>l proceso.Sin embargo, existen unas ciertas restricciones con respecto a los valores quepue<strong>de</strong>n tomar estas constantes:‣ T C,1 > T F,1 . Esto es evi<strong>de</strong>nte, ya que la primera es la temperatura ambiente,mientras que la segunda es la temperatura baja a la que queremos llegar.‣ T C,2 > T F,2 . Por analogía con lo anterior.‣ T C,1 ~ T C,2 Las dos temperaturas “altas” <strong>de</strong>berán ser iguales para facilidad <strong>de</strong>lalgoritmo, lo cual no resta generalidad al mismo. A<strong>de</strong>más, las dos estaránbastante cercanas a la temperatura ambiente.‣ T F,1 < T F,2 Al contrario que lo que suce<strong>de</strong> con las temperaturas “altas”, las bajastemperaturas <strong>de</strong> los baños no pue<strong>de</strong>n ser iguales. Y esto es por una razón tansencilla como que la disolución salina o suero <strong>de</strong> Krebs tiene un punto <strong>de</strong>congelación más alto que el anticongelante. Evi<strong>de</strong>ntemente, dado que ésa es sufunción en el proceso, el anticongelante presenta un punto <strong>de</strong> fusión por <strong>de</strong>bajo<strong>de</strong> los 0º, y por regla general, el Krebs no podrá llegar a la misma temperaturasin solidificarse, lo que haría imposible su extracción.Como veremos más a<strong>de</strong>lante, esto va a tener como resultado unas pequeñasvariaciones en la parte SW <strong>de</strong>l proyecto para tener en consi<strong>de</strong>ración la“saturación” que se produce al bajar <strong>de</strong> la temperatura T F,2 .25


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Lo primero que habrá que hacer en el experimento es seleccionar unos valoresa<strong>de</strong>cuados para T F,1 , T C,1 , T F,2 y T C,2 . Para ello tendremos en cuenta las limitacionesanteriores, así como otra serie <strong>de</strong> limitaciones impuestas por ejemplo, por el tipo <strong>de</strong>líquido anticongelante que usemos, ya que cada uno tiene un punto <strong>de</strong> congelacióndistinto. También se tendrá que tener en cuenta las limitaciones <strong>de</strong>l Hardware <strong>de</strong>conservación <strong>de</strong> la temperatura y, por supuesto, el órgano con el que estemos tratando yla temperatura final a la que queramos llegar.Distinguimos entre los sistemas isotermos para las temperaturas altas y bajas.4.2.1 SISTEMA ISOTERMO PARA BAJAS TEMPERATURASEl sistema usado es el siguiente:Fig 4.1:Sistema Isotermo para bajas temperaturas26


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En él se pue<strong>de</strong>n distinguir las siguientes partes:‣ Sistema refrigerador. Se trata <strong>de</strong> un congelador comercial <strong>de</strong> la marcaZanussi, mo<strong>de</strong>lo C-20. No presenta ninguna particularidad especial, y su funciónbásica es mantener en su interior una temperatura fijada <strong>de</strong> antemano. Sinembargo, la temperatura no es en absoluto uniforme en todo el espaciocontenedor <strong>de</strong>l congelador, siendo más baja mientras más cerca se esté <strong>de</strong> laspare<strong>de</strong>s <strong>de</strong>l contenedor, don<strong>de</strong> se realiza la función refrigeradora. A<strong>de</strong>más, latemperatura marcada no tiene por qué correspon<strong>de</strong>rse exactamente con la que enrealidad se logra. Es por todo ello que se precisan elementos adicionales paraconseguir una temperatura fija y estable.‣ Recipiente <strong>de</strong> vidrio. No es más que un recipiente <strong>de</strong> laboratorio <strong>de</strong> vidrio, encuyo interior se introduce el líquido (anticongelante o Krebs) a ser extraído.Aporta sobre todo facilidad a la hora <strong>de</strong> la extracción, ya que al mantenerse enposición vertical, permite que la pipeta a la que están unidos los tubos puedaacce<strong>de</strong>r al líquido <strong>de</strong> forma sencilla incluso cuando queda poca cantidad <strong>de</strong> éste.‣ Contenedor aislante. Se trata <strong>de</strong> un contenedor mayor que el recipiente <strong>de</strong>vidrio anteriormente citado. Se llena <strong>de</strong> líquido anticongelante o agua con elobjeto <strong>de</strong> servir <strong>de</strong> barrera térmica para el recipiente <strong>de</strong> vidrio, que se coloca<strong>de</strong>ntro. Así se favorece que la temperatura permanezca constante.‣ Termostato-Calefactor. Como se indicó, el congelador no mantiene unatemperatura constante ni homogénea, por lo que operamos <strong>de</strong> la siguientemanera:• Se selecciona en el congelador una temperatura inferior a la querealmente queremos lograr en el recipiente <strong>de</strong> vidrio.• Se introduce en el contenedor aislante el termostato-calefactor.• Se selecciona en el termostato-calefactor la temperatura que queremoslograr.27


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>• El termostato funciona como un control todo-nada: cuando <strong>de</strong>tecta que latemperatura es menor que la seleccionada, activa el calefactor durantecierto tiempo y se logra subir la temperatura hasta la seleccionada.‣ Agitadores. Incluidos en el mismo dispositivo termostato-calefactor, tienencomo misión agitar la mezcla para lograr que la temperatura sea homogénea entodo el contenedor y salvar el efecto <strong>de</strong> mayor enfriamiento en las zonascercanas a las pare<strong>de</strong>s <strong>de</strong>l contenedor.Fig 4.2: Sistema Agitador y termostato‣ Temporizador. Es un dispositivo electrónico añadido al mecanismo <strong>de</strong>ltermostato-calefactor con el objeto <strong>de</strong> que éste no esté funcionamientocontinuamente. Se pue<strong>de</strong> ajustar el tiempo parado y el tiempo <strong>de</strong>funcionamiento.28


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>4.2.2 SISTEMA ISOTERMO PARA TEMPERATURA AMBIENTE.Básicamente se trata <strong>de</strong>l mismo sistema que el que se implementa para bajastemperaturas, pero con la salvedad <strong>de</strong> que no se precisa <strong>de</strong> arcón congelador, ya que latemperatura estará en torno a la temperatura ambiente. En realidad, siempre seseleccionará una temperatura un poco superior a la ambiente, con el objeto <strong>de</strong> quefuncione el sistema termostato-calefactor, calentando la sustancia cuando esté por<strong>de</strong>bajo <strong>de</strong> la temperatura <strong>de</strong>seada.A<strong>de</strong>más <strong>de</strong> todos los componentes <strong>de</strong>scritos previamente, se contará con unaserie <strong>de</strong> termómetros digitales con sonda termopar para medir la temperatura <strong>de</strong> lamezcla o la <strong>de</strong>l interior <strong>de</strong>l arcón y facilitar la selección <strong>de</strong> unas temperaturasa<strong>de</strong>cuadas.4.3. BOMBAS DE EXTRACCIÓNUna parte esencial <strong>de</strong>l sistema <strong>de</strong> perfusión es el sistema que extrae tanto elcrioprotector como el Krebs <strong>de</strong> los tanques isotermos para inyectarlo en el órgano. Estesistema son las bombas <strong>de</strong> extracción.Evi<strong>de</strong>ntemente, dada la configuración <strong>de</strong>l sistema precisaremos <strong>de</strong> 4 bombasque, funcionando cada una <strong>de</strong> manera in<strong>de</strong>pendiente, extraigan el fluido <strong>de</strong> cada uno <strong>de</strong>los tanques isotermos.Ahora bien, ¿ qué características <strong>de</strong>ben tener las bombas para po<strong>de</strong>r ser usadasen el sistema <strong>de</strong> perfusión?. A gran<strong>de</strong>s rasgos, <strong>de</strong>ben ser bombas que cumplan, almenos, estas cualida<strong>de</strong>s:‣ En primer lugar, y como característica principal, <strong>de</strong>ben <strong>de</strong> ser bombas <strong>de</strong> flujovariable. Esto es evi<strong>de</strong>nte, ya que queremos un sistema que sea capaz <strong>de</strong> extraer29


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>un flujo <strong>de</strong>terminado en cada instante <strong>de</strong> tiempo, siguiendo las señales <strong>de</strong> controlque serán generadas por el programa principal que correrá en el PC.Debido a esto, se <strong>de</strong>scartan las bombas “clásicas”, o <strong>de</strong> fabricación más antigua,que son las que se usan normalmente en Medicina para suministrar suero omedicamentos por vía intravenosa.‣ Como una particularidad <strong>de</strong> la característica anterior, hay que <strong>de</strong>cir que no sonválidas las bombas <strong>de</strong> caudal programable. Este tipo <strong>de</strong> bombas, también usadasampliamente en hospitales, son un poco más mo<strong>de</strong>rnas que las <strong>de</strong> caudal fijo, ybásicamente lo que permiten es programar mediante un teclado el caudal<strong>de</strong>seado durante un tiempo <strong>de</strong>terminado, que también se pue<strong>de</strong> indicar <strong>de</strong> formamanual.Evi<strong>de</strong>ntemente, lo que precisamos es <strong>de</strong> un tipo <strong>de</strong> bombas a las que se le puedaindicar el caudal instantáneo, pero mediante algún interfaz eléctrico u ópticoaccesible para un PC, lo cual <strong>de</strong>ja fuera los teclados con los que cuentan lasbombas anteriormente comentadas.‣ En tercer lugar, las bombas <strong>de</strong>ben permitir un rango <strong>de</strong> caudales más o menosamplio. Si tenemos en cuenta que la variación <strong>de</strong>l caudal es la herramienta conla que contamos para seleccionar una temperatura y concentración, el caudal <strong>de</strong>cada bomba podrá variar en el caso más general <strong>de</strong>s<strong>de</strong> 0 hasta el flujo nominalque se introduce al órgano (<strong>de</strong>notado en las fórmulas por Ф 0 ).Por la misma razón, el prototipo <strong>de</strong>be ser válido para trabajar con diversos tipos<strong>de</strong> corazones, cuyo tamaño <strong>de</strong>finirá un flujo nominal distinto.‣ Debido al tipo <strong>de</strong> aplicación que se está implementando, se <strong>de</strong>be exigir a lasbombas una cierta precisión en cuanto al caudal ofrecido. Esta característica<strong>de</strong>pen<strong>de</strong>rá evi<strong>de</strong>ntemente <strong>de</strong>l mo<strong>de</strong>lo <strong>de</strong> bomba usado y repercutirá en granmedida en el precio <strong>de</strong> la misma.‣ También con relación al flujo, una característica importante es que la bomba no<strong>de</strong>be tener “retroceso”. Esto es, que la bomba asegure que el flujo va a ir en unaúnica dirección.30


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>De todos los tipos <strong>de</strong> bombas, hay uno que cumple una característica extra queresulta bastante apropiada para la aplicación. Éstas son las bombas peristálticas, cuyacaracterística principal es que el caudal ofrecido es prácticamente in<strong>de</strong>pendiente <strong>de</strong> lasección <strong>de</strong> tubo colocado a la salida <strong>de</strong> la bomba y por el que circulará el fluidoextraído.Evi<strong>de</strong>ntemente, esto tiene sus limitaciones en cuanto al grosor <strong>de</strong>l tubo, ya<strong>de</strong>más el caudal sí que <strong>de</strong>pen<strong>de</strong>rá <strong>de</strong>l tubo que se le coloque en la propia bomba. Estetrozo <strong>de</strong> tubo sí que <strong>de</strong>termina el caudal ofrecido, mientras que el colocado acontinuación no afectará prácticamente.Pasamos a continuación a dar una breve <strong>de</strong>scripción <strong>de</strong> algunos mo<strong>de</strong>los <strong>de</strong>bombas que se barajaron para usarlas en el proyecto, justificando la elección <strong>de</strong> una <strong>de</strong>ellas.4.3.1. INFUSOMAT FMLa bomba peristáltica que en principio iba a ser usada en el sistema es el mo<strong>de</strong>loFM <strong>de</strong> la casa INFUSOMAT:Fig 4.3: Bomba INFUSOMAT FM31


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Este mo<strong>de</strong>lo <strong>de</strong> bomba es ampliamente usado en muchos centros médicos, comoel Hospital Virgen <strong>de</strong>l Rocío <strong>de</strong> <strong>Sevilla</strong>.Entre otras características técnicas <strong>de</strong>staca una muy buena estabilidad en el flujoofrecido y un buen tiempo <strong>de</strong> respuesta, <strong>de</strong>finido como el tiempo <strong>de</strong>s<strong>de</strong> que se marcauna referencia <strong>de</strong> flujo y ésta se hace realmente efectiva (con un pequeño error en tornoal valor final).En concreto, las características técnicas en cuanto al flujo ofrecido son: Precisión <strong>de</strong>l caudal ajustado: 5% Gama <strong>de</strong> caudales: 1-999 ml/h Incremento: 1 ml/minEn lo referente al interfaz <strong>de</strong> usuario <strong>de</strong> la Infusomat FM, lo primero que hayque tener en cuenta es que es un mo<strong>de</strong>lo <strong>de</strong> bomba usado fundamentalmente en centroshospitalarios y su manejo está a cargo <strong>de</strong> profesionales médicos, por lo que la bombapresenta un interfaz <strong>de</strong> usuario basado en teclado con display para visualizar lasdistintas funciones. A<strong>de</strong>más, el equipo cuenta con un sistema <strong>de</strong> alarmas sonoras yluminosas para avisar <strong>de</strong> cualquier inci<strong>de</strong>ncia imprevista: (alarma <strong>de</strong> goteo, alarma <strong>de</strong>aire, alarma <strong>de</strong> batería.....).A<strong>de</strong>más <strong>de</strong>l display y el teclado <strong>de</strong> membrana para la configuración en modomanual, el equipo cuenta con dos puertos <strong>de</strong> comunicaciones con el objeto <strong>de</strong>comunicarse con otros sistemas. Esta funcionalidad la preten<strong>de</strong>mos usar para controlarlas funciones (fundamentalmente la selección <strong>de</strong>l caudal ofrecido) <strong>de</strong>s<strong>de</strong> un PC.En primer lugar, la bomba presenta en un puerto <strong>de</strong> comunicaciones basado en elestándar serie RS-232. Este protocolo está presente en todos los or<strong>de</strong>nadores, y su usoes conocido y relativamente fácil, por lo que se presenta como una buena alternativapara el control <strong>de</strong> la bomba <strong>de</strong>s<strong>de</strong> el PC.Sin embargo, y esto es algo genérico para cualquier dispositivo que se <strong>de</strong>seecontrolar <strong>de</strong>s<strong>de</strong> un or<strong>de</strong>nador, no basta con que el puerto <strong>de</strong> comunicaciones estépresente, hace falta también un Software (“drivers”) que haga accesible el conjunto <strong>de</strong>32


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>registros <strong>de</strong> configuración internos <strong>de</strong> la bomba a un programa principal que corra en elPC.Tras un estudio <strong>de</strong> la documentación técnica <strong>de</strong> la bomba y consulta a la central<strong>de</strong> la empresa Braun, se llegó a la conclusión <strong>de</strong> que el mencionado puerto RS-232tiene en esta bomba únicamente una función <strong>de</strong> supervisión, no <strong>de</strong> control. Esto es,mediante el puerto serie se pue<strong>de</strong> monitorizar el funcionamiento <strong>de</strong> la bomba, pero noaplicar señales <strong>de</strong> control sobre ella, ya que los drivers correspondientes no están<strong>de</strong>sarrollados. A<strong>de</strong>más, se requiere <strong>de</strong> un conversor <strong>de</strong> protocolo y software específico<strong>de</strong>l fabricante <strong>de</strong>nominado “Dianet sc”Prácticamente lo mismo suce<strong>de</strong> con el otro puerto <strong>de</strong> comunicaciones, que tienela dificultad añadida <strong>de</strong> ser un interfaz óptico, por lo que la conexión con un PC no estan directa y sencilla como en el caso <strong>de</strong>l puerto serie.Esto hace inviable el uso <strong>de</strong> la Infusomat Fm para nuestros fines, ya que, aunqueel <strong>de</strong>sarrollo <strong>de</strong>l SW necesario se podría llevar a cabo, esto queda totalmente fuera <strong>de</strong>los objetivos <strong>de</strong>l proyecto.4.3.2 LIFECARE 5000Después <strong>de</strong> comprobar la inviabilidad <strong>de</strong> usar la bomba Infusomat FM, el pasosiguiente fue son<strong>de</strong>ar en la industria <strong>de</strong> equipamientos médicos una bomba quecumpliera con las especificaciones requeridas. Describimos aquí las características <strong>de</strong>una <strong>de</strong> las bombas que se consi<strong>de</strong>raron como opción, la Lifecare 5000, <strong>de</strong> LaboratoriosAbbot.Dicho mo<strong>de</strong>lo <strong>de</strong> bomba es el siguiente:33


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 4.4: LIFECARE 5000Algunas <strong>de</strong> las características técnicas <strong>de</strong> este mo<strong>de</strong>lo <strong>de</strong> bomba son: Bomba <strong>de</strong> infusión con dos canales <strong>de</strong> extracción in<strong>de</strong>pendientes: Caudal mínimo <strong>de</strong> 0.5 ml/hora Detector <strong>de</strong> flujo nulo ( si el contenedor está vacío) Sistema <strong>de</strong> control basado en microprocesador Monitorización continua <strong>de</strong> presión, flujo y otros parámetros. Alarmas sonoras y luminosas Alta estabilidad en el flujo seleccionado.Se trata, pues, <strong>de</strong> un equipo <strong>de</strong> muy altas prestaciones, usado fundamentalmentepara suministrar sueros y fármacos vía intravenosa.Sin embargo, a la hora <strong>de</strong> analizar las posibilida<strong>de</strong>s <strong>de</strong> comunicación <strong>de</strong> labomba con equipos externos, nos encontramos prácticamente con la misma dificultadque con la Infusomat Fm. Esto es, aunque el equipo cuenta con puerto <strong>de</strong>comunicaciones serie, los drivers necesarios para su completa utilización nunca fueron<strong>de</strong>sarrollados por el fabricante, por lo que su uso queda reducido a meras operaciones <strong>de</strong>supervisión.34


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>La explicación <strong>de</strong> la limitación en cuanto a las comunicaciones en este tipo <strong>de</strong>productos clínicos viene dada por el hasta ahora casi nulo interés por controlar losprocesos médicos y clínicos <strong>de</strong> forma centralizada, con un or<strong>de</strong>nador, por ejemplo.Actualmente, el uso <strong>de</strong> las bombas <strong>de</strong> infusión y equipos similares queda reducidoexclusivamente a suministrar fármacos, quedando el papel <strong>de</strong> configurar y controlar elfuncionamiento a cargo <strong>de</strong>l personal sanitario, que lo hace “in situ”, nunca <strong>de</strong> formaremota.4.3.3.DINKO D-21Una vez comprobada la imposibilidad <strong>de</strong> usar bombas <strong>de</strong> infusión <strong>de</strong>l tipomédico para usarlas como mecanismo <strong>de</strong> perfusión en el sistema, nos centramos en labúsqueda <strong>de</strong> otro tipo <strong>de</strong> bombas que puedan realizar tal labor. Estas bombas, aunquetambién usadas en ámbitos clínicos, presentarán unas características <strong>de</strong> funcionamientoa todas luces peores que las comentadas anteriormente, pero son la mejor opción, dadoque las anteriores no se pue<strong>de</strong>n controlar vía PC.Centrándonos en la marca “Dinko”, hemos seleccionado la gama <strong>de</strong> bombas <strong>de</strong>flujo variable, por las razones que hemos comentado ya anteriormente. En concreto, elmo<strong>de</strong>lo D-21 es una bomba <strong>de</strong> flujo variable con un control <strong>de</strong> flujo mediante unatensión <strong>de</strong> 0 a 10 V. La regulación se lleva a cabo mediante un reguladorpotenciométrico <strong>de</strong> velocidad continuo.La bomba es la siguiente:35


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 4.5: Bomba DINKO D-21Como se pue<strong>de</strong> apreciar, es un mo<strong>de</strong>lo <strong>de</strong> bomba mucho más simple y conmenores prestaciones que las dos <strong>de</strong>scritas anteriormente. Prácticamente sólo cuenta <strong>de</strong>lbotón <strong>de</strong> encendido (conexión a la red <strong>de</strong> 220V), la entrada <strong>de</strong> tensión para regular elcaudal y los rotores.La bomba se suministra con tubos <strong>de</strong> distintas secciones, y la elección <strong>de</strong> uno uotro va a <strong>de</strong>terminar cuál es la relación entre la tensión aplicada y el caudal ofrecido.Las características técnicas en cuanto al caudal ofrecido son: Rango <strong>de</strong> tensiones: 0-10V Incrementos: 1% (0.1V) Rango: 0-100%Estas dos últimas características se comprobarán que en la práctica no secumplen exactamente, dando como resultado lo que se conoce como una zona muerta<strong>de</strong> funcionamiento. Es <strong>de</strong>cir, para valores bajos <strong>de</strong> tensión no se obtiene caudal <strong>de</strong>salida ninguno (como si aplicáramos tensión nula). Esto es <strong>de</strong>bido a la propia inerciamecánica que ofrecen los fluidos y el rotor <strong>de</strong> la bomba.36


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En cuanto a la relación tensión-caudal, ya hemos dicho que <strong>de</strong>pen<strong>de</strong>directamente <strong>de</strong> la sección <strong>de</strong> tubo usada en el rotor. Sin embargo, para comprobarmejor la relación y verificar la posible no linealidad, se recurrió a medir directamentecon un recipiente <strong>de</strong> laboratorio graduado el caudal ofrecido por la bomba para ciertosvalores <strong>de</strong> tensión, dando el siguiente resultado:Tensión (V) 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5Flujo (ml/min) 3 6 9 12 15 18 21 24 27 30Tensión (V) 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10Flujo (ml/min) 33 36 39 42 45 48 51 54 57 60Tabla 4.1: Relación tensión-caudalComo se pue<strong>de</strong> apreciar en la tabla 4.1, la relación tensión-caudal esprácticamente lineal, y po<strong>de</strong>mos expresarla <strong>de</strong> forma matemática <strong>de</strong> la forma:Q( ml / min) = 6 ⋅V( voltios)Ec.4. 1Esta relación, o mejor dicho la opuesta, <strong>de</strong>spejando la tensión, es la queusaremos en el programa principal para saber qué valor <strong>de</strong> tensión tenemos que darcomo salida a la tarjeta para obtener el caudal <strong>de</strong>seado en cada instante.4.4 TARJETA DE ADQUISICIÓN DE DATOS4.4.1. DESCRIPCIÓNLa tarjeta <strong>de</strong> adquisición <strong>de</strong> datos es el componente fundamental que nospermite capturar los datos <strong>de</strong> interés en el experimento (temperaturas <strong>de</strong> los sensores,amén <strong>de</strong> otro tipo <strong>de</strong> medidas que se quieran añadir al diseño en un futuro). De estamanera, pasamos <strong>de</strong> tener un tratamiento electrónico <strong>de</strong> la información para tener un37


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>tratamiento puramente informático, con la facilidad que ello representa a la hora <strong>de</strong>manejar los datos y realizar todo tipo <strong>de</strong> operaciones.De hecho, es en el mismo PC don<strong>de</strong> se gestionará el verda<strong>de</strong>ro control <strong>de</strong>lsistema, mediante un programa que tomará como entradas, entre otras cosas, los datoscapturados por la tarjeta.Otro factor importante es que, a<strong>de</strong>más <strong>de</strong> tomar datos, <strong>de</strong>bemos sacar <strong>de</strong>s<strong>de</strong> elor<strong>de</strong>nador al exterior las referencias <strong>de</strong> tensión para las 4 bombas, por lo que la tarjeta<strong>de</strong>be tener a<strong>de</strong>más, puertos <strong>de</strong> salida.Dada la imposibilidad <strong>de</strong> cumplir con todas las prestaciones necesarias al mismotiempo (es difícil y caro encontrar tarjetas con un número suficiente <strong>de</strong> salidas y quea<strong>de</strong>más tenga puertos <strong>de</strong> entrada), optamos por la tarjeta mo<strong>de</strong>lo DT302 <strong>de</strong> la casa DataTranslation. La principal limitación <strong>de</strong> la tarjeta, como se verá mas a<strong>de</strong>lante, es elreducido número <strong>de</strong> salidas analógicas (sólo tiene 2, mientras que precisaremos <strong>de</strong> 4).Se ha optado por este fabricante, entre otros aspectos, para garantizar lacompatibilidad con el software <strong>de</strong> control HP-VEE.Las principales características <strong>de</strong> dicha tarjeta son:• 16 entradas analógicas, funcionando en modo “unipolar”, es <strong>de</strong>cir, sólo convalores <strong>de</strong> tensión positivos. Este número se reduce a la mitad si queremostrabajar, como será nuestro caso, con tensiones positivas y negativas. En talcaso, el rango máximo <strong>de</strong> funcionamiento será <strong>de</strong> ± 10V.• 2 salidas analógicas, cuyo rango está igualmente entre los valores ± 10V. Hayque <strong>de</strong>stacar que, al igual que en el caso <strong>de</strong> las entradas analógicas, éste es elrango máximo, ya que se pue<strong>de</strong> configurar entre diversas opciones vía software.En concreto, los rangos disponibles son: <strong>de</strong> –10 V a +10V, <strong>de</strong> 0 V a 10 V, <strong>de</strong> –5v a +5 V y <strong>de</strong> 0 V a 5 V. Esto aporta a la tarjeta un mayor grado <strong>de</strong> versatilidadpara trabajar con más tipos <strong>de</strong> señales <strong>de</strong> entrada y salida. La intensidad <strong>de</strong>salida es <strong>de</strong> 5mA.• 23 líneas E/S digitales. Estas líneas se agrupan en 3 puertos digitales (2 <strong>de</strong> 8líneas y uno <strong>de</strong> 7), que se pue<strong>de</strong>n configurar como entrada o como salida. La38


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>única restricción es que <strong>de</strong>ntro <strong>de</strong> un mismo puerto dos líneas no se pue<strong>de</strong>nconfigurar para tener funciones distintas; es <strong>de</strong>cir, una vez configurado el puertose entien<strong>de</strong>n las 8 líneas (o 7, en el caso <strong>de</strong>l puerto C) como un bloqueindivisible (sí se pue<strong>de</strong> acce<strong>de</strong>r individualmente a cada bit)Los valores <strong>de</strong> tensión e intensidad están <strong>de</strong>ntro <strong>de</strong>l rango <strong>de</strong> la familialógica TTL. En concreto, los valores <strong>de</strong> tensiones son 0/5V, garantizando unacorrecta interpretación <strong>de</strong> niveles <strong>de</strong> entrada para cada uno <strong>de</strong> los cuatro puertosen función <strong>de</strong> lo siguiente: un nivel alto <strong>de</strong> entrada, para tensiones por encima <strong>de</strong>2 V; y un nivel bajo <strong>de</strong> entrada, para tensiones por <strong>de</strong>bajo <strong>de</strong> 0.8 V• Resolución <strong>de</strong> 12 bits. Se refiere al número <strong>de</strong> bits <strong>de</strong> los conversores D/A yA/D <strong>de</strong> los canales <strong>de</strong> salida y entrada analógicos, respectivamente.• Temporizadores Hardware (internos) y posibilidad <strong>de</strong> trabajar también conreferencias <strong>de</strong> reloj externas4.4.2 ASIGNACIÓN DE CANALESUna vez seleccionada la tarjeta <strong>de</strong> adquisición <strong>de</strong> datos asignamos cada uno <strong>de</strong>los elementos hardware <strong>de</strong>l sistema que se conectan con el or<strong>de</strong>nador a una entrada osalida <strong>de</strong> la tarjeta, según el caso.siguiente:La asignación <strong>de</strong> funciones a los pines <strong>de</strong> entrada y salida <strong>de</strong> la tarjeta ha sido laCANAL DE LA TARJETA FUNCIÓNAnalog Input 0 Canal <strong>de</strong> Entrada1 (Sensor 1)Analog Input 1 Canal <strong>de</strong> Entrada 2 (Sensor 2)Analog Output 0 Canal <strong>de</strong> Salida 1 (Bomba 1)Analog Output 1 Canal <strong>de</strong> Salida 2 (Bomba 2)Digital Port A Canal <strong>de</strong> Salida 3 (CDA 1)Digital Port B Canal <strong>de</strong> Salida 4 (CDA 2)39


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>4.4.3. INSTALACIÓNLa conexión <strong>de</strong> las tarjetas <strong>de</strong> la serie DT300, en particular, <strong>de</strong> la DT302 un PC,se realiza a través <strong>de</strong> un bus PCI (figura 4.6).Tarjeta <strong>de</strong> la serie DT330Conector <strong>de</strong> bus PCIFigura 4.6. Instalación <strong>de</strong> la tarjeta <strong>de</strong> adquisición <strong>de</strong> datos a través <strong>de</strong>l bus PCI.4.5. CDAEn el apartado anterior se <strong>de</strong>scribió cómo la tarjeta <strong>de</strong> adquisición <strong>de</strong> datos es elelemento principal <strong>de</strong> comunicación <strong>de</strong>l or<strong>de</strong>nador en el que corre el programa principal<strong>de</strong> control con el resto <strong>de</strong> elementos que integran el sistema <strong>de</strong> perfusión (bombas ysensores). Se pue<strong>de</strong> enten<strong>de</strong>r la tarjeta <strong>de</strong> adquisición como un periférico “universal” <strong>de</strong>Entrada-Salida <strong>de</strong> datos <strong>de</strong>l PC.Sin embargo, el mo<strong>de</strong>lo <strong>de</strong> tarjeta usado tiene ciertas limitaciones en cuanto alnúmero <strong>de</strong> Entradas y Salidas. En concreto, la DT302 constaba <strong>de</strong> 16 entradasanalógicas (8 si las configuramos en modo <strong>de</strong> funcionamiento diferencial) y 2 salidasanalógicas. Y es precisamente el reducido número <strong>de</strong> salidas analógicas lo que nos va acondicionar el diseño, obligándonos a usar CDA adicionales.40


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En efecto, no hay que olvidar que nuestro sistema <strong>de</strong> perfusión consta <strong>de</strong> 4bombas peristálticas que tendremos que controlar <strong>de</strong> manera in<strong>de</strong>pendiente medianteuna tensión analógica <strong>de</strong> 0 a 10 V, y para hacer esto contamos con únicamente 2 salidasanalógicas <strong>de</strong> la tarjeta.Para solventar esta dificultad usaremos los puertos <strong>de</strong> los que también consta latarjeta <strong>de</strong> adquisición <strong>de</strong> datos. Estos puertos son puertos digitales <strong>de</strong> 8 líneas que sepue<strong>de</strong>n configurar para funcionar como Entrada o como Salida indistintamente,aportando una forma extra <strong>de</strong> capturar datos o sacar referencias <strong>de</strong>l PC. Normalmenteestos puertos <strong>de</strong>berían ser usados para servir como interfaz con sistemas puramentedigitales, como por ejemplo dar una salida todo-nada, accionar un relé o interruptor,comprobar el estado <strong>de</strong> un sensor, etc. Sin embargo, nosotros le vamos a dar unafunción distinta que es la <strong>de</strong> aportar nuevas salidas analógicas al sistema.Para hacer esto se nos presentan fundamentalmente dos opciones:‣ En primer lugar, podríamos usar un puerto digital (o sólo algunas <strong>de</strong> sus líneas)como entradas <strong>de</strong> control <strong>de</strong> un <strong>de</strong>multiplexor. Un multiplexor no es más que unsistema electrónico que selecciona una señal u otra en función <strong>de</strong> una serie <strong>de</strong>líneas (bits) <strong>de</strong> control. Existen multiplexores tanto analógicos como digitales,en función <strong>de</strong> si la señal que seleccionamos es <strong>de</strong> una naturaleza u otra. Noobstante, en ambos casos las señales <strong>de</strong> control serán siempre digitales.El <strong>de</strong>multiplexor realiza la función opuesta, es <strong>de</strong>cir, toma un grupo <strong>de</strong> señales ala entrada y los saca a la salida por las señales seleccionadas mediante lasseñales <strong>de</strong> control. El grupo <strong>de</strong> señales <strong>de</strong> salida será evi<strong>de</strong>ntemente, mayor queel <strong>de</strong> entrada (normalmente se trabajará con potencias <strong>de</strong> 2)Usando un dispositivo <strong>de</strong> este tipo po<strong>de</strong>mos aumentar el número <strong>de</strong>salidas <strong>de</strong> nuestra tarjeta. Esto se haría usando un <strong>de</strong>multiplexor <strong>de</strong>l tipoanalógico. Este <strong>de</strong>multiplexor tendría como entradas las dos salidas analógicas<strong>de</strong> la tarjeta y como salidas 4 salidas analógicas conectadas a las señales <strong>de</strong>control <strong>de</strong> las bombas peristálticas. Como señales <strong>de</strong> control usaríamos los bits<strong>de</strong> uno <strong>de</strong> los puertos digitales <strong>de</strong> E/S (nos bastaría en realidad con sólo 1 bit, ya41


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>que sólo tendríamos que seleccionar 2 señales entre 4 posibilida<strong>de</strong>s). Porejemplo, con el bit <strong>de</strong> control a 0 seleccionaríamos las bombas 1 y 2(crioprotector) y con el bit <strong>de</strong> control a 1 seleccionaríamos las bombas 3 y 4(Krebs).Esta solución así planteada presenta los siguientes inconvenientes: En primer lugar, y como limitación fundamental, actuando <strong>de</strong> esta formano podríamos cambiar las 4 referencias <strong>de</strong> las bombas <strong>de</strong> manerasimultánea. Tendríamos que actuar en primer lugar sobre las dosprimeras bombas, luego cambiar la señal <strong>de</strong> control <strong>de</strong>l multiplexor yfinalmente actuar sobre las otras dos bombas. Esto se presenta a todasluces ineficiente, y complicaría bastante el algoritmo. A<strong>de</strong>más, el uso <strong>de</strong> multiplexores analógicos siempre lleva asociado unretardo <strong>de</strong> la señal, <strong>de</strong>bido fundamentalmente a que la electrónica precisa<strong>de</strong> cierto tiempo para <strong>de</strong>tectar el cambio en la señal <strong>de</strong> control yconmutar <strong>de</strong> una señal a otra. Este tiempo nos pue<strong>de</strong> limitar a la hora <strong>de</strong>cambiar las referencias <strong>de</strong> las bombas a una velocidad alta. Por último, estaríamos usando sólo un bit <strong>de</strong> uno <strong>de</strong> los puertos E/Sdigitales, pero en la práctica se configura el puerto entero, aunque sólousemos una <strong>de</strong> las líneas. Esto se pue<strong>de</strong> interpretar como algo bastanteineficiente.Por todo ello, <strong>de</strong>sechamos la opción <strong>de</strong>l <strong>de</strong>multiplexor analógico.‣ La otra opción, por la que finalmente nos <strong>de</strong>cantamos, es la <strong>de</strong> usar las líneasdigitales como salidas analógicas. Para hacer esto, en primer lugar <strong>de</strong>bemosconfigurar el puerto como salida y externamente, realizar la conversión <strong>de</strong>Digital a Analógico.En realidad, esto no es más que aumentar el número <strong>de</strong> salidas analógicas por elmismo procedimiento que se realiza en la propia tarjeta. La tarjeta <strong>de</strong>adquisición tiene internamente conversores (a<strong>de</strong>más <strong>de</strong> otros subsistemas) paraobtener una señal <strong>de</strong> salida analógica en el rango configurado a partir <strong>de</strong> unaseñal digital (la generada internamente por el or<strong>de</strong>nador).42


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Usaremos, pues, dos conversores Digital a Analógico que, conectados a dos <strong>de</strong>los puertos digitales, nos <strong>de</strong>n dos salidas analógicas extra.4.5.1 FUNDAMENTOS TEÓRICOS DE LA CONVERSIÓN D/A4.5.1.1 Señales analógicas y DigitalesUna señal analógica es aquélla que tiene valores continuos <strong>de</strong>ntro <strong>de</strong> un<strong>de</strong>terminado rango, a diferencia <strong>de</strong>l conjunto <strong>de</strong> valores discreto que una señal digitalpue<strong>de</strong> tomar en el mismo rango.En el caso <strong>de</strong> representar digitalmente la tensión empleando un código binario<strong>de</strong> n bits, sólo se pue<strong>de</strong>n <strong>de</strong>finir 2 n valores. Para representar más valores <strong>de</strong>ben utilizarsemás bits en el código digital (como en nuestro caso, que usaremos los 8 bits <strong>de</strong>l puerto<strong>de</strong> la tarjeta). De esta manera, una magnitud analógica se pue<strong>de</strong> representar con uncierto grado <strong>de</strong> precisión utilizando un código digital, que representa valores discretos<strong>de</strong>ntro <strong>de</strong>l rango.En la CDA o conversión Digital-Analógica se parte <strong>de</strong> una secuencia <strong>de</strong>números digitales y se preten<strong>de</strong> reconstruir la señal analógica. Obviamente, habráalgunos errores en la reconstrucción, ya que sólo se representan ciertos valores, y no elconjunto completo <strong>de</strong> valores continuos. El resultado es una curva escalonada que sólose aproxima a la curva analógica, dado que los valores entre dos puntos consecutivosse <strong>de</strong>sconocen. Se pue<strong>de</strong> aumentar la precisión tomando más muestras en el mismointervalo <strong>de</strong> tiempo y aumentando el número <strong>de</strong> bits utilizados para representar el valor<strong>de</strong> cada muestra. Sin embargo, siempre tendremos un error asociado a la conversión,error que será insalvable ya que es inherente a la propia naturaleza <strong>de</strong> las señales y alproceso <strong>de</strong> conversión.43


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>4.5.1.2. Conceptos Básicos <strong>de</strong> la CDAEn este apartado vamos a <strong>de</strong>scribir brevemente el funcionamiento <strong>de</strong> unconvertidor Digital-Analógico, <strong>de</strong>teniéndonos en sus características técnicas (o “<strong>de</strong>catálogo”) que nos serán <strong>de</strong> particular interés a la hora <strong>de</strong> <strong>de</strong>cantarnos por un CDAcomercial u otro.Un CDA recibe como entrada un número digital <strong>de</strong> n bits y da como salida unatensión (o intensidad, según el modo <strong>de</strong> funcionamiento <strong>de</strong>l CDA en cuestión) Vo.Analógica. Esta señal <strong>de</strong> salida analógica se encuentra <strong>de</strong>ntro <strong>de</strong> los valores dados porlas entradas V 1 y V 2 . El rango máximo <strong>de</strong> la salida analógica se conoce como tensión<strong>de</strong> referencia y su valor es:V ref= V 2−V 1Ec.4. 2En el caso <strong>de</strong> que la entrada digital tome su valor más bajo (el número 0) lasalida analógica toma su valor más bajo (el valor V 1 ). A medida que el número digital<strong>de</strong> entrada aumenta, el valor <strong>de</strong> salida aumenta proporcionalmente según la sencillaregla <strong>de</strong> tres:V oN º _ digital _ entrada=V −VRango _ máximo _ número _ digital21Ec.4.3Si los expresamos los números digitales en <strong>de</strong>cimal para mejorar su legibilidad,tenemos que la regla <strong>de</strong> tres se convierte en:VVorefD= Ec.4. 4n2en la que D expresa en <strong>de</strong>cimal el número codificado en binario <strong>de</strong> la entrada.44


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Este valor se obtiene como:n∑ − 1b kk = 0kD = ⋅ 2 Ec.4. 5Despejando la salida tenemos la ecuación <strong>de</strong> un CDA:VoD= Vref⋅Ec.4. 6n2don<strong>de</strong> el término V ref /2 n es constante para un CDA dado.Para hacerlo más general, a la ecuación <strong>de</strong> un CDA se le aña<strong>de</strong> un término <strong>de</strong>ganancia, , que normalmente vale 1 y una tensión <strong>de</strong> offset, V ff , que normalmente esNula:DVo= K ⋅Vref⋅ + Vn2offEc.4.7El término <strong>de</strong> ganancia permite que la salida analógica tenga un rango mayor omenor que V ref según k sea mayor o menor que 1, respectivamente. La tensión <strong>de</strong> offsetpermite que la curva característica <strong>de</strong>l CDA se aproxime a la <strong>de</strong> un convertidor i<strong>de</strong>alcon un número infinito <strong>de</strong> bits.Un par <strong>de</strong> <strong>de</strong>finiciones importantes en un CDA son las <strong>de</strong> LSB y error <strong>de</strong>discretización:‣ Un LSB se <strong>de</strong>fine como el incremento en la salida analógica <strong>de</strong> un CDA cuandola entrada se incrementa en 1 bit.‣ Dado que con n bits sólo pue<strong>de</strong>n representarse 2 n valores distintos, todo CDAtiene asociado un error inherente llamado error <strong>de</strong> discretización, cuyo valormáximo es <strong>de</strong> un LSB.45


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>4.5.1.3 Técnicas <strong>de</strong> ImplementaciónHemos visto en el apartado anterior el funcionamiento <strong>de</strong> un CDA genérico,<strong>de</strong>scribiendo su función <strong>de</strong> transferencia, ecuación característica y parámetrosprincipales. A continuación veremos algunas técnicas básicas y comúnmente usadaspara la implementación <strong>de</strong> CDA electrónicamente.Distinguiremos básicamente dos tipos <strong>de</strong> CDA, en función <strong>de</strong> si la salida estáescalada en intensidad o en tensión.• El Amplificador OperacionalAntes <strong>de</strong> abordar los dos tipos <strong>de</strong> implementación <strong>de</strong> CDA, veremos brevementeun elemento muy común en la mayoría <strong>de</strong> los convertidores D/A y A/D. Este elementoes el Amplificador Operacional (AO). En la figura 4.7 se muestra el símbolo <strong>de</strong> unamplificador operacional.Fig 4.7. Amplificador OperacionalUn amplificador operacional es un amplificador lineal que tiene dos entradas(inversora y no inversora) y una salida. Tiene una ganancia en tensión muy elevada (Aes <strong>de</strong>l or<strong>de</strong>n <strong>de</strong> 10 5 ) y una impedancia <strong>de</strong> entrada altísima. La ecuación <strong>de</strong> <strong>de</strong>finición<strong>de</strong>l AO es:V o= A⋅( V ) 2−V1 Ec.4. 946


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Diferencias apreciables <strong>de</strong> tensión entre las entradas (<strong>de</strong>l or<strong>de</strong>n <strong>de</strong> milésimas <strong>de</strong>voltio o mayores) hacen que la salida sature a +V cc y -V cc, , siendo estas tensiones lasque alimentan al AO. Este hecho ocurre si el AO no realimenta la salida a la entradainversora. El comportamiento <strong>de</strong>l AO en este caso es el <strong>de</strong> un comparador con dosvalores <strong>de</strong> tensión en la salida <strong>de</strong>pendiendo <strong>de</strong> que V 2 sea mayor que V 1 y viceversa.En el caso <strong>de</strong> que el AO esté realimentado su comportamiento es diferente alanteriormente <strong>de</strong>scrito. En este caso se produce el cortocircuito virtual <strong>de</strong> las dosentradas, es <strong>de</strong>cir, ambas entradas tienen la misma tensión aunque no estén físicamenteconectadas. Para comprobar este hecho aplicamos la ecuación <strong>de</strong> un AO al seguidor <strong>de</strong>tensión <strong>de</strong> la figura 4.7 b y se comprobará que las dos entradas tienen el mismo valor.V= A⋅( V i−V) Ec.4. 100 oVoA= ⋅Vi→ Vo≅ ViEc.4. 111 + AUna aplicación básica <strong>de</strong>l AO es el circuito sumador (figura 4.8). Al estarrealimentado el AO, resulta que la entrada inversora toma el valor <strong>de</strong> tierra aunque noesté unido a ella. Se <strong>de</strong>nomina tierra virtual.Fig 4.8: Circuito SumadorLa intensidad que va por la primera rama es:V − 0VVi =111= Ec.4. 12R1R1Los valores <strong>de</strong> i 2 e i 3 se obtienen <strong>de</strong> forma análoga. La intensidad total que llegaa la entrada inversora es:47


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>V V VI +1 2 3= i1+ i2+ i3= + Ec.4. 13R1R2R3Esta intensidad no pue<strong>de</strong> entrar por la entrada no inversora, ya que laimpedancia que se encuentra es muy alta. Por tanto, sólo pue<strong>de</strong> fluir hacia la salida V o .Si analizamos el circuito <strong>de</strong>s<strong>de</strong> la salida:IV − 0VRo= − Ec.4. 14Fque:Despejando V o y sustituyendo I por su valor calculado anteriormente se tieneVV1V2V3= −RF⋅ ( + ) Ec.4. 15R R Ro+123En el caso <strong>de</strong> que todas las resistencias tomen el mismo valor resulta que lasalida es igual a la suma <strong>de</strong> las entradas, pero con signo negativo:V o= −( V + V + 3) Ec.4. 161 2V• Escalado en corrienteEn este tipo <strong>de</strong> implementación la intensidad que llega a la entrada inversora <strong>de</strong>lAO, I T ,es proporcional al número digital codificado por los n bits <strong>de</strong> entrada. Lafunción <strong>de</strong>l AO es la <strong>de</strong> convertir esa intensidad en una tensión a la salida. En la figura4.9 se muestra el convertidor D/A en escalera R/2R.48


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 4.9: Convertidor en Escalera R-2RDos características importantes <strong>de</strong> este circuito resistivo en escalera son que laresistencia a la <strong>de</strong>recha <strong>de</strong> cada nodo es 2R y que la <strong>de</strong> entrada es R, prescindiendo <strong>de</strong> lalongitud <strong>de</strong> la escalera. Ambas características se comprueban fácilmente si se analiza elcircuito <strong>de</strong> <strong>de</strong>recha a izquierda. La escalera resistiva está fabricada normalmente comoun circuito integrado, utilizando resistencias difundidas o <strong>de</strong> película fina <strong>de</strong> valorescontrolados <strong>de</strong> forma precisa que no varían con la temperatura.En el circuito D/A cada nodo <strong>de</strong> la escalera está conectado bien a la entradainversora <strong>de</strong>l AO (convertidor <strong>de</strong> corriente a tensión) o bien a masa mediante ninterruptores controlados por tensión. Los interruptores suelen ser MOSFET o pares <strong>de</strong>MOSFETs que funcionan entre corte y saturación. Como todos los interruptoresconectan una resistencia a masa o a una tierra virtual, las resistencias vistas en cadanodo son las mismas en todas las posibles combinaciones <strong>de</strong> las posiciones <strong>de</strong> losinterruptores.La tensión <strong>de</strong> referencia V ref inicia la corriente <strong>de</strong> entradaVrefI = Ec.4. 17R49


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>que se divi<strong>de</strong> en partes iguales en el nodo <strong>de</strong> entrada. Como la resistencia que se va aconectar a masa iguala la resistencia vista a la <strong>de</strong>recha, en cada nodo <strong>de</strong> la escalera hayuna división por dos.Las entradas b n-1 , b n-2 , ............ b 2 b 1 , b 0 representan un número binario, que va aser convertido a un valor analógico. Cada b k toma el valor binario 1 ó 0. Losinterruptores controlados por tensión conectan la entrada con el CDA en don<strong>de</strong> un bitbinario b k =1 cierra el interruptor <strong>de</strong> la entrada inversora y b k =0 <strong>de</strong>svía la corriente <strong>de</strong> larama hacia masa. Por la ley <strong>de</strong> Kirchoff <strong>de</strong> las corrientes, la corriente I T que llega al AOes:I ⋅ b IDI =Ec.4. 18Tn−1n−1kk∑ = ⋅− ∑bk⋅ 2 = I ⋅n k nnk = 0 2 2 k = 0 2y la salida <strong>de</strong>l circuito es:VoRRD2F= −IT⋅ RF= − ⋅Vref⋅ Ec.4. 19nEsta expresión es la ecuación <strong>de</strong> un CDA vista anteriormente (Ec 4.7). En estecaso la ganancia toma el valor K=R F /R .Normalmente K vale 1, lo cual implica que la señal <strong>de</strong> salida se encuentra <strong>de</strong>ntro<strong>de</strong>l rango dado por V ref . Para que la expresión obtenida no sea negativa, lo que se hacees dar en la entrada -V re en lugar <strong>de</strong> V re.Los interruptores utilizados en este convertidor R/2R son analógicos. Esimportante que la resistencia <strong>de</strong> uno <strong>de</strong> estos interruptores sea pequeña para quedistorsione lo menos posible la intensidad (analógica) que circula por él. Por estemotivo se ponen dos transistores en paralelo para que su resistencia equivalente cuandoconducen (interruptor cerrado) sea la mitad <strong>de</strong> la que ofrece cualquiera <strong>de</strong> ellos porseparado. Tecnológicamente es más factible realizar una pareja nMOS y pMOS queponer dos nMOS.50


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>• Escalado en Tensión.El convertidor D/A escalado en tensión se muestra en la figura 4.9 para el caso<strong>de</strong> n=3. Básicamente consiste en un divisor <strong>de</strong> tensión <strong>de</strong> resistencias. Todas lasresistencias son iguales, por lo que en cada una <strong>de</strong> ellas cae una tensión V ref / 2 n . Lostres bits digitales <strong>de</strong> entrada, b 2 , b 1 , b 0 , son las señales <strong>de</strong> control <strong>de</strong> un multiplexoranalógico que <strong>de</strong>ja pasar sólo la tensión <strong>de</strong> un nodo <strong>de</strong>l divisor <strong>de</strong> tensión. El objetivo<strong>de</strong>l AO que actúa como seguidor <strong>de</strong> tensión en la salida es la <strong>de</strong> evitar que se <strong>de</strong>riveintensidad <strong>de</strong>s<strong>de</strong> las resistencias hasta la salida. De esta forma no se distorsiona losvalores <strong>de</strong> tensión en cada nodo <strong>de</strong>l divisor.El esquema <strong>de</strong>l CDA es:Fig 4.10:Conversor CDA por escalado en tensiónEste circuito tiene como inconveniente el elevado número <strong>de</strong> interruptoresanalógicos y una lógica <strong>de</strong> control complicada. En el caso particular <strong>de</strong> un CDA <strong>de</strong> 8bits, tendría un divisor <strong>de</strong> tensión constituido por 256 resistencias y un total <strong>de</strong> 510interruptores. Esto hace que sea un montaje caro. Sin embargo, es un circuito muyrápido, ya que no circula corriente por los interruptores.51


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>4.5.2 CARACTERÍSTICAS DE CATÁLOGOLas características más importantes que suelen <strong>de</strong>tallar los fabricantes en suscatálogos acerca <strong>de</strong> los convertidores D/A son las siguientes:• Resolución. Este término especifica el número <strong>de</strong> bits que el convertidor tiene y elnúmero correspondiente <strong>de</strong> tensiones <strong>de</strong> salida (o corrientes). Por ejemplo, unconvertidor que pue<strong>de</strong> tener 10 bits <strong>de</strong> entrada se dice que es un convertidor <strong>de</strong> 10 bits.El número <strong>de</strong> tensiones <strong>de</strong> salida posibles es 2 10 =1024. Por tanto, el menorcambio posible <strong>de</strong> la tensión <strong>de</strong> salida es 1/1024 <strong>de</strong> la tensión <strong>de</strong> fondo <strong>de</strong> escala. Si setoma 1000 como aproximación <strong>de</strong> 1024 se pue<strong>de</strong> <strong>de</strong>scribir la resolución como una parteen 1000, o 0.1%.• Monotonicidad. Un CDA es monótono si no produce escalones inversos cuando seaplica secuencialmente su rango completo <strong>de</strong> bits <strong>de</strong> entrada.• Precisión. La precisión es una comparación entre la salida real <strong>de</strong> un CDA y lasalida esperada (curva <strong>de</strong> escalones). Incluye diversas fuentes <strong>de</strong> error: linealidad,offset, etc. Se expresa como un porcentaje <strong>de</strong> la tensión <strong>de</strong> salida respecto a fondo <strong>de</strong>escala o máxima. Por ejemplo, si V ref =10V y la precisión es 0.1%, entonces el errormáximo para cualquier tensión <strong>de</strong> salida es 10V•0.001=10mV. I<strong>de</strong>almente, la precisión<strong>de</strong>bería ser, como mucho, 0.5% <strong>de</strong>l LSB. El valor típico <strong>de</strong> precisión que dan losfabricantes es <strong>de</strong>l 0.2%.A continuación <strong>de</strong>tallamos los diferentes tipos <strong>de</strong> errores que incluye el término<strong>de</strong> precisión. Se clasifican en dos tipos: errores estáticos y dinámicos:‣ Errores estáticoso Lineales• Offset.• Gananciao No lineales• Integral (INL)• Diferencial (DNL52


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>El error <strong>de</strong> ganancia se <strong>de</strong>be a la diferencia <strong>de</strong> pendiente <strong>de</strong>l convertidor real yla i<strong>de</strong>al. Se <strong>de</strong>fine como la diferencia entre la función <strong>de</strong> transferencia real y la i<strong>de</strong>al enel valor <strong>de</strong> plena escala cuando el error <strong>de</strong> offset es cero. Se expresa en tanto por ciento<strong>de</strong> la tensión <strong>de</strong> plena escala.El error <strong>de</strong> offset es la tensión analógica que hay en la salida cuando la entradadigital es cero. Se expresa en mV o en tanto por ciento relativo al fondo <strong>de</strong> escala. En lafigura 4.11 se muestran ambos errores:Fig 4.11: Errores <strong>de</strong> Ganancia y OffsetEl error no lineal integral es una medida global <strong>de</strong> las no linealida<strong>de</strong>s <strong>de</strong>l CDA.Se <strong>de</strong>fine como la máxima <strong>de</strong>sviación <strong>de</strong> la función <strong>de</strong> transferencia real respecto a lai<strong>de</strong>al.El error no lineal diferencial es la máxima <strong>de</strong>sviación <strong>de</strong> la salida analógica alincrementarse la entrada digital en una unidad. Ambos errores no lineales se expresanen LSB o en tanto por ciento <strong>de</strong> la tensión <strong>de</strong> fondo <strong>de</strong> escala. En la figura 4.12 semuestran los dos tipos <strong>de</strong> errores no lineales:Fig 4.12:Fuentes <strong>de</strong> error estático en un CDA53


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>‣ Errores dinámicos. Es el tiempo <strong>de</strong> establecimiento. Cuando cambia la entradadigital, los interruptores se abren y cierran produciendo un transitorio con variacionesbruscas <strong>de</strong> tensión en la salida analógica. Se <strong>de</strong>fine como el tiempo que tarda un CDAen quedar <strong>de</strong>ntro <strong>de</strong> ± 0.5 LSB <strong>de</strong>l valor final cuando se produce un cambio en elcódigo <strong>de</strong> entrada.4.5.3 IMPLEMENTACIÓN DEL CDAUna vez <strong>de</strong>scrito el funcionamiento y características principales <strong>de</strong> los CDA,pasamos a <strong>de</strong>scribir la alternativa seleccionada para la implementación <strong>de</strong> los doscircuitos CDA necesarios (no olvi<strong>de</strong>mos que necesitamos no uno, sino dos salidasadicionales analógicas para po<strong>de</strong>r actuar con la tarjeta <strong>de</strong> adquisición <strong>de</strong> datos sobre lasbombas peristálticas).En primer lugar, hay que <strong>de</strong>cir que <strong>de</strong>s<strong>de</strong> el primer momento nos <strong>de</strong>cantamospor una implementación <strong>de</strong>l CDA mediante un circuito integrado. Existe la opción <strong>de</strong>realizar un circuito discreto, siguiendo la configuración ya <strong>de</strong>scrita R/2R, pero comovimos en su momento, éste circuito requiere <strong>de</strong> una gran precisión en los valores <strong>de</strong> loselementos, particularmente <strong>de</strong> las resistencias, ya que cualquier <strong>de</strong>sviación hace que laconversión se <strong>de</strong>teriore notablemente. Esta precisión en los valores se logra <strong>de</strong> un modobastante aceptable con la implementación en un circuito integrado, no así si usamoscomponentes discretos, por lo que esta última opción queda totalmente <strong>de</strong>scartada.CDA:Comentamos algunos <strong>de</strong> los aspectos a tener en cuenta a la hora <strong>de</strong> elegir el‣ El fondo <strong>de</strong> escala <strong>de</strong>be ser tal que se ajuste al máximo al rango <strong>de</strong> funcionamiento<strong>de</strong> las bombas <strong>de</strong> flujo variable, don<strong>de</strong> se conectará la salida analógica <strong>de</strong>l CDA. Esterango <strong>de</strong> funcionamiento es <strong>de</strong> 0v a 10V para las DINKO D-21 usadas. En realidad, esterango no se usará al completo en la mayoría <strong>de</strong> los casos, ya que, dado que el sistematrabajará con flujos pequeños, en la mayoría <strong>de</strong> los casos no se aplicará la tensión <strong>de</strong>54


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>control máxima. El mismo razonamiento se pue<strong>de</strong> hacer para las tensiones bajas <strong>de</strong>lrango.‣ Una característica técnica que, a priori no habíamos analizado, pero sobre la que sepue<strong>de</strong> hacer una consi<strong>de</strong>ración importante es el la resolución <strong>de</strong>l CDA. Comorecordamos, este término hace referencia al número <strong>de</strong> bits con el que trabaja el CDA(número <strong>de</strong> bits <strong>de</strong> la entrada digital al convertidor). Hasta ahora habíamos asumido queíbamos a trabajar con palabras <strong>de</strong> 8 bits, ya que ésa es el tamaño <strong>de</strong> los puertos digitales<strong>de</strong> la tarjeta. Veamos si esta suposición está justificada:Para ello, acudimos a la precisión <strong>de</strong> las bombas D-21. En las característicastécnicas <strong>de</strong> las mismas especificamos que la resolución es <strong>de</strong>l 1% <strong>de</strong>l fondo <strong>de</strong> escala,que recordamos es 10V. Esto quiere <strong>de</strong>cir que el incremento mínimo que las bombas“entien<strong>de</strong>n” es <strong>de</strong> 0.01•10V=0.1 V. Una variación en la tensión <strong>de</strong> control <strong>de</strong> lasbombas menor a este valor no supondrá ningún cambio en el caudal ofrecido por lasmismas.Si analizamos el valor <strong>de</strong> LSB <strong>de</strong>l CDA <strong>de</strong> 8 bits, observamos que su valor es:Vref10V10VLSB = = = ≈ 0.04VEc.4. 20n 82 2 256comprobamos que es menor que el valor <strong>de</strong>l mínimo incremento <strong>de</strong> la bomba.Por tanto, po<strong>de</strong>mos pensar que si usamos un CDA <strong>de</strong> 8 bits, el último bit o Bitmenos signifivativo (LSB) no tendría ninguna relevancia en el valor <strong>de</strong> la señalanalógica <strong>de</strong> salida. Para verlo más claro, indicamos en la siguiente tabla los valores <strong>de</strong>tensión analógica <strong>de</strong> salida correspondientes a las variaciones <strong>de</strong> los 2 últimos bits:B7 B8 V o0 0 0 V0 1 0.04 V1 0 0.08 V1 1 0.12 VTabla 4.3: LSB55


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Comprobamos que, aunque a priori parecía que el B8 o LSB no teníaimportancia en el valor <strong>de</strong> la señal, ya que el LSB es menor que 0.01 V, en realidad síque lo tiene. Si observamos las filas tercera y cuarta, don<strong>de</strong> se produce un cambio <strong>de</strong> 0 a1 en el LSB, se observa como la salida V 0 si pasa a tener más <strong>de</strong> 0.1 V. Esto es <strong>de</strong>bido,evi<strong>de</strong>ntemente, a la “aportación” <strong>de</strong>l B7, que en ese caso está a 1, mientras que en lasfilas primera y segunda, con B7=0, el cambio en B8 no produciría alteración apreciableen la salida.Sin embargo, al probar el CDA con las bombas en la práctica, se comprueba que,en efecto, la alteración <strong>de</strong>l B8 no produce cambio alguno en el caudal <strong>de</strong> salida. Esto es<strong>de</strong>bido a que la precisión <strong>de</strong> las bombas no es realmente 0.1 V, sino una cantidad algomayor.Optamos, por tanto, por un circuito CDA <strong>de</strong> 8 bits. En primer lugar porque,como comprobamos teóricamente B8 si tiene trascen<strong>de</strong>ncia, pero sobre todo porque esimposible encontrar CDA comerciales <strong>de</strong> 7 bits (existen <strong>de</strong> 6 bits, aunque la diferencia<strong>de</strong> precio y prestaciones con los <strong>de</strong> 8 es insignificante). A<strong>de</strong>más, si implementamosCDA <strong>de</strong> 8 bits, se aña<strong>de</strong> versatilidad al sistema, por si en un futuro se <strong>de</strong>sea usar losCDA para otra función.‣ Alimentación <strong>de</strong>l circuito. Otro factor a l tener en cuenta a la hora <strong>de</strong>seleccionar un integrado que realice las funciones <strong>de</strong> CDA es cómo va a ser éstealimentado. Si nos paramos a pensar que la tensión <strong>de</strong> salida es unipolar, es<strong>de</strong>cir, sólo tiene valores positivos (<strong>de</strong> 0 a 10V, concretamente), sería <strong>de</strong>seablepo<strong>de</strong>r alimentar el circuito con una fuente <strong>de</strong> tensión unipolar, mucho mássimples y baratas que las fuentes diferenciales. Sin embargo, se comprobóposteriormente que este tipo <strong>de</strong> circuitos funciona normalmente con tensión <strong>de</strong>alimentación diferencial, aunque configuremos la salida como unipolar. Esto es<strong>de</strong>bido a la presencia <strong>de</strong> AO en su diseño.Seleccionaremos un CDA que en su rango <strong>de</strong> tensiones <strong>de</strong> alimentaciónadmita una tensión <strong>de</strong> fuente “común”, por ejemplo ± 12 V (que es,56


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>evi<strong>de</strong>ntemente, mayor en valor nominal que los 10V <strong>de</strong> salida máxima <strong>de</strong> laseñal analógica).4.5.3.1 El convertidor DAC08Después <strong>de</strong> consultar en los catálogos <strong>de</strong> varios fabricantes y distribuidores, yteniendo en cuenta los aspectos <strong>de</strong> selección anteriormente <strong>de</strong>scrito, así como otroscomo el consumo <strong>de</strong>l circuito, tipo <strong>de</strong> salida y sobre todo coste, seleccionamos elconvertidor DAC08 <strong>de</strong> la casa Analog Devices.Algunas <strong>de</strong> sus características son:• Resolución: 8 bits• Rango <strong>de</strong> tensiones <strong>de</strong> alimentación: <strong>de</strong> ± 4.5 a ± 18 V• Interfaz con las familias digitales TTL, CMOS, PMOS, ECL.... (se seleccionauna u otra en función <strong>de</strong> las necesida<strong>de</strong>s <strong>de</strong> la aplicación mediante una pata <strong>de</strong>lintegrado. Nosotros trabajamos con valores TTL <strong>de</strong> la tarjeta <strong>de</strong> adquisición).• 2 salidas complementarias (normal y negada)• Salida en intensidad.• Bajo consumo <strong>de</strong> potencia• Bajo coste• No linealidad < 0.1 %• Alta velocidad <strong>de</strong> conversión: 85 ns.Para más <strong>de</strong>talle, se pue<strong>de</strong> acudir al Datasheet <strong>de</strong>l integrado en el Anexo I.En él se <strong>de</strong>scriben, entre otros muchos aspectos técnicos, el diagrama <strong>de</strong> bloquesy funcionamiento interno, en el que no nos vamos a <strong>de</strong>tener. Sí vamos a <strong>de</strong>tallar acontinuación el encapsulado usado, <strong>de</strong>scribiendo la función <strong>de</strong> cada una <strong>de</strong> las patas y laconfiguración usada <strong>de</strong> entre las muchas que admite el integrado.57


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 4.13: Integrado DAC08Describimos cada una <strong>de</strong> las patas <strong>de</strong>l integrado:• V LC Es la entrada <strong>de</strong>l integrado que nos permite seleccionar con qué familia <strong>de</strong>lógicas digitales vamos a usar. En concreto, para trabajar con lógica TTL, que es laque usa el puerto digital E/S <strong>de</strong> la tarjeta <strong>de</strong> adquisición <strong>de</strong> datos, el fabricante nosindica que tenemos que poner la entrada a tierra (tensión 0V).I , I son las salidas analógicas <strong>de</strong>l convertidor. Evi<strong>de</strong>ntemente, se trata <strong>de</strong>•OUT OUTseñales en corriente. El integrado presenta la opción <strong>de</strong> tener la salida “natural” y sunegada. Esta última es igual a la que tendríamos en la salida “natural” si aplicamosel operador NOT a la entrada digital.• B1............B8son los valores digitales <strong>de</strong> la señal <strong>de</strong> entrada (bits <strong>de</strong> la palabra digitala convertir). B1 es el MSB o Bit Más Significativo y B 8 es el LSB o Bit MenosSignificativo. Evi<strong>de</strong>ntemente, los valores <strong>de</strong> tensión e intensidad <strong>de</strong>berán estar<strong>de</strong>ntro <strong>de</strong> la norma TTL, que es la seleccionada por la entrada V LC .• V + , V - son las tensiones <strong>de</strong> alimentación <strong>de</strong>l circuito. V + correspon<strong>de</strong> a la polaridadpositiva y V- a la negativa.• V REF(+) y V REF(-) son las entradas que <strong>de</strong>finen el rango <strong>de</strong> funcionamiento <strong>de</strong>lintegrado, mediante unas resistencias que <strong>de</strong>terminan la corriente <strong>de</strong> fondo <strong>de</strong>escala.• COMPENSATION es una entrada en la que se recomienda colocar un con<strong>de</strong>nsador<strong>de</strong> compensación para trabajar a altas velocida<strong>de</strong>s <strong>de</strong> conversión.58


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>La configuración que montamos en el integrado es:Fig 4.14 Configuración <strong>de</strong>l conversorEl modo <strong>de</strong> funcionamiento se pue<strong>de</strong> enten<strong>de</strong>r diciendo que la corriente <strong>de</strong>salida analógica es el producto <strong>de</strong> la corriente <strong>de</strong> referencia por el número digital <strong>de</strong>entrada. La corriente <strong>de</strong> fondo <strong>de</strong> escala se <strong>de</strong>fine a partir <strong>de</strong> la intensidad <strong>de</strong> referenciamediante la relación:don<strong>de</strong>: I FR = I 14 .I255= ⋅ 256FRI REFEc.4.21Con la configuración indicada, se tienen los valores <strong>de</strong> salida <strong>de</strong> las corrientes enfunción <strong>de</strong> la entrada digital que se indican en la siguiente tabla:Tabla 4.4: Valores <strong>de</strong> salida <strong>de</strong>l CDAEl funcionamiento normal en una configuración “referencia positiva”, como esnuestro caso es que una referencia <strong>de</strong> tensión externa fuerce una corriente <strong>de</strong> referenciaa través <strong>de</strong> la resistencia R REF , que irá al pin 14. El pin 15 ,V REF(-) se conectará a tierra.Como esta entrada está conectada a la entrada <strong>de</strong>l AO <strong>de</strong> referencia <strong>de</strong>l CDA, se fuerzaque en la entrada 15 se tenga la misma tensión, esto es, tierra virtual. De esta manera se59


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>obtiene la fórmula <strong>de</strong> <strong>de</strong>finición <strong>de</strong> la intensidad <strong>de</strong> referencia <strong>de</strong> modo inmediato apartir <strong>de</strong> la tensión <strong>de</strong> referencia externa:IFR255 V= ⋅ 256 RREFREFEc.4.22Teniendo en cuenta que este valor <strong>de</strong> intensidad es el que nos <strong>de</strong>termina el fondo<strong>de</strong> escala, sirviendo como referencia para la conversión, es evi<strong>de</strong>nte la necesidad <strong>de</strong>forzar que éste sea lo más estable posible, ya que cualquier variación provocaríacambios en el valor analógico obtenido a la salida para una entrada <strong>de</strong>terminada.Por ello, se opta por usar un circuito integrado externo que realice la función <strong>de</strong>referencia <strong>de</strong> tensión. Con este circuito se asegura que, aunque haya variaciones o picos<strong>de</strong> tensión en la línea, a la entrada <strong>de</strong>l CDA tendremos siempre un valor fijo y estable <strong>de</strong>10V, con una elevada precisión. Para ello usamos el integrado AD581, cuya referenciase pue<strong>de</strong> consultar en el Anexo III.4.5.3.2. Adaptación <strong>de</strong> la SalidaComo hemos visto en la <strong>de</strong>scripción <strong>de</strong>l circuito DAC08, éste da como salidauna intensidad fruto <strong>de</strong> la conversión <strong>de</strong> la palabra digital <strong>de</strong> la entrada. Sin embargo,las bombas <strong>de</strong> perfusión tienen un control basado en una tensión variable <strong>de</strong> 0 a 10V,no una corriente, por lo que se hace necesaria una conversión.Vemos las distintas opciones que se nos plantean:‣ La opción más inmediata que se nos pue<strong>de</strong> ocurrir es colocar simplementeuna resistencia, ya que, por la conocida Ley <strong>de</strong> Ohm V=I•R y escalandocorrectamente el valor <strong>de</strong> la resistencia R, po<strong>de</strong>mos obtener una tensión a lasalida directamente proporcional a la corriente <strong>de</strong> salida <strong>de</strong>l CDA.El cálculo <strong>de</strong>l valor <strong>de</strong> dicha resistencia es bien sencillo, si consi<strong>de</strong>ramos losrangos tanto <strong>de</strong>l CDA (en intensidad) como el rango <strong>de</strong>seado para las bombas (entensión):60


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En primer lugar, el valor <strong>de</strong> la intensidad <strong>de</strong> referencia:VREF = 10VRREF = 5K⎫⎬ ⇒ I⎭REF=VRREFREF= 2mAEc.4.23Y teniendo en cuenta que el rango <strong>de</strong> la tensión es <strong>de</strong> 0 a 10 V:10VR = = 5KΩEc.4.242mASin embargo, existe un impedimento para hacer esto, y es que el CDA da unacorriente <strong>de</strong> salida <strong>de</strong>finida como entrante al circuito, es <strong>de</strong>cir, con signo negativo. Sicolocáramos únicamente una resistencia, tendríamos un rango <strong>de</strong> tensiones <strong>de</strong> 0 a –10V.‣ La opción más lógica para invertir la salida y obtener una señal en tensiónsiempre positiva es colocar un circuito inversor a continuación <strong>de</strong> laresistencia. Este montaje básico, basado en un AO, coloca a la salida el mismovalor <strong>de</strong> tensión que lee a la entrada, pero con el signo cambiado, que es justo loque queremos.Optamos, pues, por esta alternativa.Si usamos el integrado AD711, que es un AO muy comúnmente usado para estetipo <strong>de</strong> montajes, tendremos el esquema 1 :Fig.4.15: Montaje Inversor1 Para más información, acudir al Anexo***61


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Si tenemos en cuenta que las dos resistencias son iguales (R=5K) y, aplicando elprincipio <strong>de</strong> tierra virtual y la alta impendancia <strong>de</strong> entrada <strong>de</strong>l operacional, , obtenemos:V≅ − Ec.4. 25OUTV INEste montaje tiene a<strong>de</strong>más la ventaja <strong>de</strong> proporcional a la salida la intensidadnecesaria para atacar la carga que se conecte a continuación. A priori no <strong>de</strong>bería haberproblemas con el control <strong>de</strong> la bomba, pero usando este modo nos aseguramos que lacorriente sea la suficiente como para activar los circuitos <strong>de</strong> entrada, y así el convertidorse pue<strong>de</strong> usar también con otros sistemas que precisen <strong>de</strong> más intensidad <strong>de</strong> entrada.Existiría aún otra opción, que sería usar el CDA con una referencia negativa(cambiando el signo <strong>de</strong> las referencias V REF(+) y V REF(-) , con lo que conseguimoscambiar el signo <strong>de</strong> la corriente <strong>de</strong> salida y tener una tensión positiva en la resistencia <strong>de</strong>carga. Para solventar el problema <strong>de</strong> la posible baja intensidad <strong>de</strong> salida <strong>de</strong>l montaje, sepodría añadir el mismo operacional AD711 en montaje seguidor <strong>de</strong> tensión. Sinembargo, optamos por la opción anterior por ser la más usada, ya que es mucho más“elegante” trabajar con una tensión <strong>de</strong> referencia positiva y un regulador <strong>de</strong> +10V, envez <strong>de</strong> uno <strong>de</strong> –10V.4.5.3.3 Alimentación <strong>de</strong>l circuitoComo ya se ha indicado anteriormente, el integrado DAC08 requiere unaalimentación diferencial para su correcto funcionamiento, <strong>de</strong>bido a los AO que contieneen su diseño. Infructuosamente se intentó polarizar el mismo con una tensión <strong>de</strong>funcionamiento “unipolar”, para evitar el problema que ocasiona generar una referenciabipolar en un circuito.Para generar una alimentación diferencial lo primero que se nos pue<strong>de</strong> ocurrir esconstruir un puente <strong>de</strong> resistencias (dos resistencias en serie <strong>de</strong>l mismo valor), <strong>de</strong> talforma que el punto <strong>de</strong> unión se convierte en la referencia <strong>de</strong>l circuito (tierra) y cada uno<strong>de</strong> los otros extremos <strong>de</strong> las resistencias iguales se convierten en +V cc y -V cc .62


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Esta solución, aunque extremadamente sencilla y económica, presenta lossiguientes inconvenientes:• En primer lugar, estamos añadiendo dos resistencias en serie entre laalimentación y tierra externa. Evi<strong>de</strong>ntemente, por ellas circulará una intensidad,produciéndose un consumo extra <strong>de</strong> potencia. A<strong>de</strong>más, en función <strong>de</strong>l valor <strong>de</strong>las resistencias, éstas pue<strong>de</strong>n llegar a disipar bastante calor.El montaje presenta una gran <strong>de</strong>pen<strong>de</strong>ncia para su buen funcionamientocon el hecho <strong>de</strong> que las dos resistencias tengan exactamente el mismo valor,para que la división <strong>de</strong> tensión <strong>de</strong> la fuente <strong>de</strong> alimentación externa <strong>de</strong>efectivamente como resultado una tensión diferencial <strong>de</strong>l mismo valor. Es biensabido que lograr esto con componentes discretos es prácticamente imposible.Por un lado las resistencias presentan una cierta tolerancia, esto es, su valor realno coinci<strong>de</strong> exactamente con el nominal que marca su código <strong>de</strong> colores.A<strong>de</strong>más, aunque se colocaran resistencias <strong>de</strong> alta precisión (las hay hasta <strong>de</strong>l0.1%), siempre estará presente el fenómeno físico <strong>de</strong> variación <strong>de</strong> la resistencia<strong>de</strong> un metal con la temperatura, que no será el mismo en los dos elementosresistivos.En realidad se comprueba que el integrado DAC08 soporta relativamentebien pequeñas variaciones en torno a la tensión diferencial <strong>de</strong> alimentación. Estoes, las dos tensiones (positiva y negativa) no tienen por qué ser exactamenteiguales, pue<strong>de</strong>n variar un poco siempre que este valor esté por encima <strong>de</strong>lmínimo necesario para polarizar los circuitos.Sin embargo, para lo que sí es sensible el sistema es la variación <strong>de</strong> lareferencia <strong>de</strong> tierra. Al variar los valores <strong>de</strong> las resistencias <strong>de</strong>l puente, lo que seestá haciendo es “<strong>de</strong>splazar” el valor <strong>de</strong> tierra <strong>de</strong>l sistema (no olvidar que con laconfiguración <strong>de</strong>scrita, se genera una tierra en el punto <strong>de</strong> unión <strong>de</strong> las dosresistencias). Esto tiene como consecuencia variaciones en el valor <strong>de</strong> la salida,ya que ésta estará, evi<strong>de</strong>ntemente, referida al valor <strong>de</strong> tierra <strong>de</strong>l circuito.63


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Es por este problema fundamentalmente por el que <strong>de</strong>scartamos la opción<strong>de</strong> generar la referencia diferencial en el propio circuito.• La otra opción que es la que finalmente seleccionamos es la <strong>de</strong> alimentar elcircuito con una fuente que sea intrínsecamente diferencial. Es <strong>de</strong>cir, usamosuna fuente <strong>de</strong> alimentación externa que tiene como salida +V cc , -V cc y GND.Elegimos un mo<strong>de</strong>lo <strong>de</strong> fuente con salida a 12 V <strong>de</strong> fabricante RS-AMIDATA.Este mo<strong>de</strong>lo <strong>de</strong> fuente tiene a<strong>de</strong>más la salida protegida frente a picos <strong>de</strong> la re<strong>de</strong>léctrica (se alimenta a 220V) y perfectamente regulada.El mo<strong>de</strong>lo elegido <strong>de</strong> fuente genera una tensión a la salida <strong>de</strong> ± 12V,a<strong>de</strong>más <strong>de</strong> la salida <strong>de</strong> tierra. Se conecta a la red eléctrica (220V, 50Hz), peromanteniendo al circuito aislado <strong>de</strong> posibles picos <strong>de</strong> tensión en la misma. Es unafuente diseñada para ser usada en circuitos integrados, por lo que, para mayorcomodidad, se ha diseñado una pequeña placa para po<strong>de</strong>r acce<strong>de</strong>r a losterminales <strong>de</strong> entrada y salida <strong>de</strong> la fuente a través <strong>de</strong> conectores <strong>de</strong> bornas.4.5.3.4. Esquemático <strong>de</strong>l circuitoUna vez analizadas todas las partes <strong>de</strong>l circuito conversor, sólo nos quedadiseñar el PCB (esquemático) e implementarlo físicamente. Para el diseño hacemos uso<strong>de</strong>l software <strong>de</strong> diseño “Tango PCB”.Fig 4.16: Esquemático <strong>de</strong>l circuito conversor CDA64


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Y el circuito final, tras ser probado en placa <strong>de</strong> pruebas todos sus componentes ymontado posteriormente en la placa es:Fig 4.17: Convertidores CDA montados en placa4.6 SENSORES DE TEMPERATURAUn sensor <strong>de</strong> temperatura entra <strong>de</strong>ntro <strong>de</strong> un conjunto <strong>de</strong> dispositivos muchomás amplio conocido como transductores. Un transductor es un dispositivo encargado<strong>de</strong> captar los valores <strong>de</strong> la variable a medir y traducir sus variaciones a las <strong>de</strong> otramagnitud más manipulable. En particular, se utilizan con frecuencia los transductoreseléctricos, es <strong>de</strong>cir, traducen la variable recogida a una variable eléctrica, en nuestrocaso, a tensiones analógicas. Esto se <strong>de</strong>be fundamentalmente a dos factores: por un lado,la gran cantidad <strong>de</strong> fenómenos que alteran las propieda<strong>de</strong>s eléctricas <strong>de</strong> los cuerpos; ypor otro, la facilidad que presentan las variables eléctricas para su transmisión ymanipulación.De entre toda la gama <strong>de</strong> dispositivos sensores <strong>de</strong> temperatura, tendremos queescoger uno que se adapte a nuestros requerimientos. Un sensor <strong>de</strong> temperatura serámejor que otro en función <strong>de</strong> alguno <strong>de</strong> los siguientes parámetros:‣ Rango <strong>de</strong> temperaturas medibles con el sensor65


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>‣ Precisión‣ Linealidad‣ Tiempo <strong>de</strong> respuesta‣ Consumo‣ CosteEn particular, nuestra aplicación requiere <strong>de</strong> un tipo <strong>de</strong> sensor capaz <strong>de</strong> medirtemperaturas subcero (hasta –20º Centígrados, aproximadamente). A<strong>de</strong>más, <strong>de</strong>be existiralguna forma <strong>de</strong> medir la temperatura <strong>de</strong> un fluido, ya sea directamente con el sensor omediante algún tipo <strong>de</strong> aislamiento. Por último, el tiempo <strong>de</strong> respuesta (tiempo <strong>de</strong>l queprecisa el sensor para cambiar la salida en tensión cuando varía la temperatura <strong>de</strong>lmedio que está midiendo) <strong>de</strong>be ser lo suficientemente pequeño para po<strong>de</strong>r controlar lasbombas convenientemente.4.6.1 TIPOS DE SENSORESDescribimos a continuación <strong>de</strong> manera breve algunos <strong>de</strong> las familias másconocidas <strong>de</strong> sensores <strong>de</strong> temperatura:4.6.1.1 Termómetro <strong>de</strong> MercurioEs el termómetro más conocido y uno <strong>de</strong> los más usados en aplicaciones noindustriales. En él una pequeña masa <strong>de</strong> mercurio <strong>de</strong>ntro <strong>de</strong> un fino tubo, normalmente<strong>de</strong> vidrio, varía con la temperatura <strong>de</strong> forma prácticamente lineal, marcando elincremento en una escala graduada.Evi<strong>de</strong>ntemente, este tipo <strong>de</strong> sensores no respon<strong>de</strong> a nuestras necesida<strong>de</strong>s, ya queno proporciona una salida en tensión o intensidad que pueda ser leída por el PC, aunqueexisten mo<strong>de</strong>los más avanzados en los que la lectura se hace en un display, en vez <strong>de</strong> enuna escala graduada.66


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>4.6.1.2 Termómetro <strong>de</strong> ResistenciaEs otro tipo <strong>de</strong> termómetro bien conocido, aunque su principio <strong>de</strong>funcionamiento se basa en un fenómeno físico bien distinto. Se basa en el hecho <strong>de</strong> quela resistencia intrínseca <strong>de</strong> los metales varía en función <strong>de</strong> la temperatura <strong>de</strong>l mismo.Así, si conocemos la relación entre la variación <strong>de</strong> temperatura y la variación <strong>de</strong>resistencia y po<strong>de</strong>mos mediar la resistencia <strong>de</strong>l metal, conoceremos la temperatura <strong>de</strong>lmedio en el que se halla inmerso.La resistencia <strong>de</strong> un material no es más que una propiedad por la cual dichomaterial se opone al paso <strong>de</strong> corriente eléctrica a través <strong>de</strong> él. La magnitud resistencia semi<strong>de</strong> en Ohmios (Ω), y relaciona la intensidad que circula por el material con la tensiónque cae a través <strong>de</strong> la conocida Ley <strong>de</strong> Ohm: V=I·R.Para un metal, la resistencia respon<strong>de</strong> a la fórmula:R = R 0(1 + αt)Ec.4. 261 1t = R − Ec.4. 27αRα0en la cual R 0 es la resistencia a 0ºC, R es la resistencia a t grados y α es uncoeficiente característico <strong>de</strong>l metal.4.6.1.3 TermistorEl termistor es otro termómetro que posee el mismo fundamento físico que eltermómetro <strong>de</strong> resistencia, con la diferencia <strong>de</strong> utilizar en vez <strong>de</strong> un metal, un cuerposemiconductor. Esto supone tres diferencias respecto al termómetro <strong>de</strong> resistencia:‣ El coeficiente α es negativo, con lo cual, al aumentar la temperatura disminuye laresistencia <strong>de</strong>l semiconductor (ecuación 4.26).67


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>‣ En segundo lugar, para una misma variación <strong>de</strong> temperatura, la variación <strong>de</strong>resistencia es bastante mayor, comparativamente, que para los metales, con lo que setiene más sensibilidad.‣ Los semiconductores presentan mayor resistividad que los metales, por lo que parauna misma resistividad, el volumen <strong>de</strong>l semiconductor es menor que el <strong>de</strong> un metal.En <strong>de</strong>finitiva, el termistor es <strong>de</strong> menor tamaño y mayor sensibilidad que eltermómetro <strong>de</strong> resistencia.4.6.1.4. TermoparEl termopar es, probablemente, uno <strong>de</strong> los sensores <strong>de</strong> temperatura másconocido y usado en aplicaciones <strong>de</strong> medida industriales, por lo que nos <strong>de</strong>tenemos unpoco más para explicar su principio <strong>de</strong> funcionamiento y características.Los termopares proporcionan un medio económico <strong>de</strong> medir temperatura, conventajas como:‣ Son extremadamente robustos.‣ Termopares con metales <strong>de</strong> sección <strong>de</strong>lgada respon<strong>de</strong>n muy rápidamente a loscambios <strong>de</strong> temperatura (tiempo <strong>de</strong> respuesta menor a 0.1 segs). Incluso sepue<strong>de</strong> llegar hasta menos <strong>de</strong> 10µseg, con ciertos tipos <strong>de</strong> metales.‣ Amplio rango <strong>de</strong> medida, <strong>de</strong>s<strong>de</strong> temperaturas subcero hasta cientos <strong>de</strong> gradoscentígrados.‣ Fácil <strong>de</strong> instalar, y disponibles en gran variedad <strong>de</strong> formatos.El fenómeno físico en el que se basa el funcionamiento <strong>de</strong>l termopar se <strong>de</strong>nominaefecto Seebeck.El número <strong>de</strong> electrones libres en un metal <strong>de</strong>pen<strong>de</strong>n <strong>de</strong> la composición <strong>de</strong>lmismo y <strong>de</strong> la temperatura. Por tanto, si unimos dos metales distintos mediante unaunión isoterma, se producirá una diferencia <strong>de</strong> potencial <strong>de</strong>bido a la diferencia en elnúmero <strong>de</strong> electrones libres en cada uno <strong>de</strong> los metales. Esta diferencia <strong>de</strong> potencial seráfunción <strong>de</strong> la temperatura.68


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>El circuito básico recomendado para establecer una referencia <strong>de</strong> funcionamientopara el termopar y obtener una medida coherente en tensión es el siguiente:Fig 4.18: Circuito <strong>de</strong>Adaptación para termoparEl cero se calibra mediante la resistencia R 3 , y el rango <strong>de</strong> funcionamientomediante R 9. El procedimiento para calibrar es:1. Colocar el termopar en agua en su punto <strong>de</strong> congelación, para que midaexactamente 0ºC2. Ajustar el valor <strong>de</strong> R 3 para obtener una medida <strong>de</strong> 0V.3. Colocar el termopar en agua hirviendo para medir 100ºC4. Ajustar R 9 para seleccionar la tensión <strong>de</strong> fondo <strong>de</strong> escala, que <strong>de</strong>fine el rango <strong>de</strong>funcionamiento.Con este procedimiento <strong>de</strong> calibrado se obtiene a la salida 1µA/ºC.• Termopar tipo KDe todos los tipos <strong>de</strong> termopares, los basados en aleaciones <strong>de</strong> cromo(niquel/cromo o niquel/aluminio) son los más usados y se <strong>de</strong>nominantermopares tipo K. Son el tipo <strong>de</strong> termopar más antiguo, ya que suscaracterísticas están <strong>de</strong>scritas y estandarizadas <strong>de</strong>s<strong>de</strong> 1.916.69


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>curva:Su relación tensión entre <strong>de</strong> unión (EMF) frente a temperatura respon<strong>de</strong> a laFig 4.19: Curva característica <strong>de</strong> termopar tipo KEn la gráfica anterior se observa otra <strong>de</strong> las características principales <strong>de</strong> lostermopares tipo K: su amplio rango <strong>de</strong> funcionamiento. Aunque en la gráfica aparece unpoco más, los fabricantes aseguran un correcto funcionamiento <strong>de</strong>ntro <strong>de</strong>l rango –50ºC– 200ºC, aproximadamente. En particular, este límite superior pue<strong>de</strong> verse ampliamentesuperado en <strong>de</strong>terminados termopares. El límite inferior, -50ºC, aprox, hace que estetipo <strong>de</strong> sensores se pueda usar en aplicaciones <strong>de</strong> criopreservación, como es nuestrocaso.4.6.1.5 Sensores Basados en Circuitos Integrados.Otro tipo <strong>de</strong> sensores para medir temperatura son los basados en alguna <strong>de</strong> laspropieda<strong>de</strong>s físicas <strong>de</strong> los semiconductores. Se tienen circuitos integrados capaz <strong>de</strong>proporcionar directamente una tensión o intensidad proporcional a la temperatura, conla ventaja adicional <strong>de</strong> que es bastante sencillo añadir en el mismo encapsulado circuitosadicionales al propio sensor que aporten funciones como amplificación <strong>de</strong> la señal,adaptación, filtrado, mejora <strong>de</strong> la linealidad <strong>de</strong> la respuesta, etc. El principalinconveniente, o diferencia con los <strong>de</strong>más anteriormente <strong>de</strong>scritos, es que este tipo <strong>de</strong>sensores precisan <strong>de</strong> una alimentación externa para su funcionamiento, lo cual esconsecuencia <strong>de</strong> la presencia <strong>de</strong> circuitos activos <strong>de</strong>ntro <strong>de</strong>l sensor. Como contrapartida,son sensores <strong>de</strong> gran velocidad <strong>de</strong> respuesta.70


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Existen diversos subtipos <strong>de</strong> sensores catalogados en función <strong>de</strong>l fenómeno físicoen que se basan para la medición <strong>de</strong> temperatura:‣ Sensores basados en resistencias integradas. Se basan en el mismo principiofísico <strong>de</strong> variación <strong>de</strong> la resistencia <strong>de</strong> un material en función <strong>de</strong> la temperaturaya <strong>de</strong>scrito en el caso <strong>de</strong> los sensores <strong>de</strong> resistencia discretos. Másconcretamente, el fenómeno es similar al <strong>de</strong>scrito en el caso <strong>de</strong> los termistores,ya que el material usado en el circuito integrado será, evi<strong>de</strong>ntemente, unsemiconductor.‣ Sensores basados en diodos. Un diodo es un componente básico <strong>de</strong> laelectrónica, y no es más que una unión <strong>de</strong> un semiconductor dopado tipo p conotro tipo n. En esta unión se establece una barrera <strong>de</strong> potencial que hace que porel dispositivo sólo circule intensidad en el caso <strong>de</strong> que se polarice directamentepor encima <strong>de</strong> una cierta tensión <strong>de</strong> corte. El valor <strong>de</strong> esta tensión también<strong>de</strong>pen<strong>de</strong> <strong>de</strong> la temperatura.También existen dispositivos basados en los llamados diodos zéner, enlos que lo que varía es la tensión <strong>de</strong> avalancha.Un ejemplo bastante usado <strong>de</strong> este tipo <strong>de</strong> sensores es el integradoLM335, <strong>de</strong> muy amplia difusión.‣ Sensores basados en transistores. Si se tienen dos transistores idénticos (locual prácticamente se logra en un integrado) funcionando con la mismaintensidad <strong>de</strong> colector, entonces la diferencia entre sus tensiones base-emisortambién es una función que <strong>de</strong>pen<strong>de</strong> exclusivamente <strong>de</strong> la temperatura. Unintegrado muy usado que se basa en este efecto es el AD590, el cualproporciona una corriente <strong>de</strong> salida <strong>de</strong> 1µA/ºC, tras someter la salida en tensiónobtenida <strong>de</strong>l fenómeno anterior a un proceso <strong>de</strong> linealización.71


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>4.6.2.ETAPA DE ADAPTACIÓNAlgo común en todo tipo <strong>de</strong> sistemas <strong>de</strong> medida, in<strong>de</strong>pendientemente <strong>de</strong> lamagnitud física a medir, es que la salida <strong>de</strong>l sensor o transductor precisa <strong>de</strong> untratamiento electrónico previo a su visualización.Esta etapa <strong>de</strong> adaptación contempla diversas operaciones, como:‣ Conversión <strong>de</strong> magnitu<strong>de</strong>s. En algunos casos, conviene pasar a unamagnitud eléctrica como son la tensión o intensidad la salida <strong>de</strong>l sensor otransductor.Éste es el caso típico <strong>de</strong> la termoresistencia, cuya salida es una resistencia<strong>de</strong>pendiente <strong>de</strong> la temperatura. Es mucho más cómodo traducir esa variación <strong>de</strong>resistencia a una variación <strong>de</strong> tensión.Un circuito típico que realiza esta función es:Fig 4.20: Puente <strong>de</strong> WheatstoneEn este montaje, <strong>de</strong>nominado Puente <strong>de</strong> Wheatstone, la tensión medida entre lospuntos A y B se calcula como:VAB= VA− V⎛ R2= V⎜⎝ R1+ R2BR2= VR + R31R3−R + R4⎞⎟⎠2− VR3R3+ R4=Ec.4.2872


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Cuando V AB =0 se dice que el puente está balanceado, y se cumple una relaciónentre todas las resistencias <strong>de</strong>l puente:R1R =4 Ec.4. 29R2R3El modo <strong>de</strong> funcionamiento normal para este tipo <strong>de</strong> aplicaciones es mediar lasvariaciones <strong>de</strong> la tensión V AB en función <strong>de</strong> la variación <strong>de</strong> una <strong>de</strong> las resistencias (queserá, por ejemplo una termoresistencia).Típicamente se hace que las resistencias valgan:R = ZRRR12340= Z= Z00= Z0⋅ (1 + x)don<strong>de</strong> el valor <strong>de</strong> x <strong>de</strong>nota la variación en torno al valor nominal <strong>de</strong> laresistencia.Y se obtiene una salida:V ABx≅ ⋅VEc.4. 304Otras operaciones que se llevan a cabo en la etapa <strong>de</strong> adaptación son:‣ Filtrado, para eliminar los posibles ruidos que se introducen en el sistema <strong>de</strong>medida, ocupando parte <strong>de</strong> la banda <strong>de</strong> alta frecuencia. En muchas aplicaciones,bastará con introducir un filtro discreto <strong>de</strong> or<strong>de</strong>n bajo.‣ Amplificación. Normalmente el valor <strong>de</strong> la señal que da como salida eltransductor tiene un nivel bajo, por lo que será preciso amplificarla para obtenerun nivel <strong>de</strong> tensión acor<strong>de</strong> con la aplicación que hará uso <strong>de</strong> la medida. Aunquese pue<strong>de</strong>n usar amplificadores “convencionales”, lo más aconsejable es usaramplificadores <strong>de</strong> instrumentación, que en un mismo integrado aportan mejoraspara tratar con este tipo <strong>de</strong> señales.73


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>4.6.3 SENSOR IMPLEMENTADOUna vez estudiados la gran variedad <strong>de</strong> sensores <strong>de</strong> temperatura y sus múltiplesimplementaciones por parte <strong>de</strong> los fabricantes, nos <strong>de</strong>cidimos finalmente por elintegrado AD590.Veamos, mediante un proceso <strong>de</strong> exclusión, por qué no hemos seleccionadoninguna <strong>de</strong> las otras opciones :La primera opción, dado que es el tipo <strong>de</strong> sensor más usado en la industria y esfácil encontrar implementaciones con encapsulados para medir temperaturas <strong>de</strong> fluidos,era la <strong>de</strong>l termopar tipo K. A<strong>de</strong>más, su precio es relativamente bajo.Sin embargo, el gran inconveniente <strong>de</strong> los termopares no es su instalación yfuncionamiento en sí, sino la etapa <strong>de</strong> adaptación que precisan. Esta etapa, ya <strong>de</strong>scritaanteriormente (apartado 4.5.1.4) requiere, en primer lugar <strong>de</strong> un montaje bastante máscomplejo que el que pue<strong>de</strong> necesitar, por ejemplo, una termoresistencia (puente <strong>de</strong>Wheatstone). Pero el mayor inconveniente no es la implementación física, sino elcalibrado <strong>de</strong>l sistema <strong>de</strong> medida, también <strong>de</strong>scrito en el mencionado apartado. Esteproceso <strong>de</strong> calibrado, a realizar con un montaje <strong>de</strong> componentes discretos, presentamucha dificultad, y no es cuantificable el valor <strong>de</strong>l error resultante tras el calibrado.Existen, no obstante, otras alternativas al diseño e implementación concomponentes discretos <strong>de</strong> la etapa <strong>de</strong> adaptación <strong>de</strong> un termopar. Por ejemplo, grancantidad <strong>de</strong> polímetros <strong>de</strong> medias prestaciones incorporan medida <strong>de</strong> temperatura entresus funciones mediante un sensor tipo termopar. Sin embargo, aprovechar este circuitopara obtener una medida directamente en tensión no es sencillo, ya que, aunque existenpolímetros con puerto <strong>de</strong> comunicaciones con un PC, su precio es realmente elevado.A nivel industrial se usan sistemas basados en PLC (Circuitos LógicosProgramables) o autómatas para la captación <strong>de</strong> las señales <strong>de</strong> termopar, o bien sistemas74


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong><strong>de</strong> adaptación “universales” <strong>de</strong> medidas 2 . Ambos casos se salen totalmente <strong>de</strong> nuestrocontexto <strong>de</strong> aplicación.Desechamos, pues, el sensor tipo termopar, con lo que nos quedafundamentalmente sensores basados en resistencias o bien en circuitos integrados.Entre estas dos opciones nos <strong>de</strong>cantamos finalmente por un sensor basado encircuito integrado. En cuanto a precio, ambas soluciones están bastante parejas, yprácticamente lo mismo se pue<strong>de</strong> afirmar en cuanto a la facilidad <strong>de</strong> montaje yutilización, si bien en este punto el circuito integrado es un poco más sencillo, ya que, aldar una salida directamente en tensión o intensidad, nos ahorramos la etapa <strong>de</strong>conversión <strong>de</strong> magnitu<strong>de</strong>s (puente <strong>de</strong> Wheatstone), que pue<strong>de</strong> introducir problemas encuanto a la linealidad.Precisamente este factor <strong>de</strong> la linealidad <strong>de</strong>l sistema es el <strong>de</strong>finitivo para<strong>de</strong>cantarnos por un sensor basado en circuito integrado, ya que, como se ha comentadoanteriormente, este tipo <strong>de</strong> sensores suele llevar incorporado en el encapsulado unaetapa que hace más lineal la salida.Entre los dos circuitos integrados <strong>de</strong>scritos, elegimos finalmente el integradoAD590, dado que su uso está más extendido que el LM335 y su rango <strong>de</strong>funcionamiento es mayor.4.6.3.1 El Sensor AD590Como ya los <strong>de</strong>scribimos anteriormente, el circuito integrado AD590 es unsensor <strong>de</strong> temperatura que basa su funcionamiento en la variación <strong>de</strong> la tensión baseemisor<strong>de</strong> dos transistores pareados. Tiene entre sus características técnicas principaleslas siguientes:• Corriente <strong>de</strong> salida lineal <strong>de</strong> 1µA/ºC2 Por ejemplo, el sistema SINEAX V60475


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>• Rango <strong>de</strong> funcionamiento: <strong>de</strong> –55ºC a +150ºC• Tres terminales: Alimentación, tierra y salida• Linealidad: 0.3ºC• Rango <strong>de</strong> tensiones <strong>de</strong> alimentación: <strong>de</strong> +4V a +30V• Bajo costeEl aspecto externo <strong>de</strong>l integrado es muy similar al <strong>de</strong> un transistor BJT, dado susreducidas dimensiones y que tiene únicamente 3 pines.Fig 4.21: AD590Otra particularidad <strong>de</strong> este sensor, que lo hace especialmente indicado paraaplicaciones <strong>de</strong> medida es que el formato <strong>de</strong> la salida es en intensidad, no en tensión.Esto posibilita transportar la información <strong>de</strong>s<strong>de</strong> el sensor hasta el circuito <strong>de</strong> adaptacióny medida a relativamente gran<strong>de</strong>s distancias sin apenas distorsión <strong>de</strong> la información.4.6.3.2 Etapa <strong>de</strong> Amplificación.La etapa <strong>de</strong> amplificación se hace en nuestro caso totalmente necesaria, dadoque la salida <strong>de</strong>l sensor no tiene nivel suficiente para ser tratada por la tarjeta <strong>de</strong>adquisición <strong>de</strong> datos (a<strong>de</strong>más <strong>de</strong>l hecho <strong>de</strong> que esté en corriente, no en tensión).En el Data Sheet <strong>de</strong>l AD590 (ver Anexo IV) se recomienda el siguiente circuitopara ser usado como etapa <strong>de</strong> amplificación:76


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 4.22: Circuito <strong>de</strong> Amplificación para el AD590En el montaje anterior se observan las siguientes características:‣ En primer lugar se observa el sensor propiamente dicho, en la parte <strong>de</strong> laizquierda. Éste está unido al resto <strong>de</strong>l circuito mediante un conector <strong>de</strong> 2 hilosúnicamente (alimentación y salida en corriente). En realidad, se precisará <strong>de</strong> untercer hilo para unir la pata <strong>de</strong> tensión <strong>de</strong> referencia <strong>de</strong>l AD590 con la global <strong>de</strong>lcircuito. De esta forma se logra que haya una única tierra para todo el circuito yque todos los integrados funcionen correctamente.Esta unión se expresa <strong>de</strong> manera esquemática mediante la líneadiscontinua que une la tierra <strong>de</strong>l circuito con el cable <strong>de</strong> conexión <strong>de</strong>l sensor.‣ La alimentación <strong>de</strong>l circuito se establece mediante una fuente <strong>de</strong> valor +7V.Como sabemos por las especificaciones técnicas, el integrado admite un rango<strong>de</strong> tensión <strong>de</strong> alimentación <strong>de</strong>s<strong>de</strong> +4V a +30V, sin que varíe sustancialmente sufuncionamiento. Lo que sí variará, evi<strong>de</strong>ntemente, es su nivel <strong>de</strong> consumo <strong>de</strong>potencia (el fabricante especifica 1.5mW funcionando a 5V <strong>de</strong> alimentación,pero para ver con más <strong>de</strong>talle la variación se <strong>de</strong>be acudir a las gráficas <strong>de</strong>lAnexo IV).‣ Se usa una resistencia <strong>de</strong> valor 1kΩ para convertir la corriente que se obtiene <strong>de</strong>lsensor a una tasa <strong>de</strong> 1µA/ºC a tensión (1mV/ºC). Para asegurar una correctaconversión, se requiere una resistencia <strong>de</strong> precisión 0.1%.77


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>La corriente I T que se obtiene <strong>de</strong>l sensor fluye únicamente por laresistencia, ya que el integrado AD524 es un amplificador <strong>de</strong> instrumentación.Éste tiene, entre otras muchas mejoras, con respecto a un amplificador“convencional”, dos amplificadores operacionales a la entrada en configuración“seguidor <strong>de</strong> tensión”. De esta manera, se asegura una altísima impedancia <strong>de</strong>entrada al circuito, y se pue<strong>de</strong> aproximar diciendo que ninguna intensidad entrapor sus entradas.‣ El elemento que realiza la amplificación es el integrado AD524. Básicamente sepue<strong>de</strong> <strong>de</strong>cir que es un amplificador <strong>de</strong> altas prestaciones específicamentediseñado para aplicaciones <strong>de</strong> instrumentación y acondicionamiento <strong>de</strong> señales.Aunque no esté indicado en el esquemático, precisará <strong>de</strong> unaalimentación diferencial, como todos los amplificadores. A<strong>de</strong>más, se la aña<strong>de</strong>una resistencia “<strong>de</strong> carga” <strong>de</strong> valor 2kΩ a la salida.La resistencia R G cumple la función <strong>de</strong> ajuste <strong>de</strong> la ganancia <strong>de</strong>l circuito.‣ En la entrada inversora <strong>de</strong>l amplificador <strong>de</strong> instrumentación se observa unmontaje divisor <strong>de</strong> resistencias que toma como referencia la salida <strong>de</strong>l integradoAD580. Para enten<strong>de</strong>r bien la función <strong>de</strong> este montaje, hay que indicarpreviamente que el sensor AD590 mi<strong>de</strong> la temperatura en su escala absoluta, es<strong>de</strong>cir, en escala Kelvin) . Por tanto, la salida <strong>de</strong>l integrado será <strong>de</strong> 1µA/ºK, y enla resistencia <strong>de</strong> 1kΩ tendremos 1mV/ºK. Este hecho no supone problemaalguno, ya que la conversión <strong>de</strong> unida<strong>de</strong>s entre los dos sistemas <strong>de</strong> medida(Celsius y Kelvin) es bien sencilla y respon<strong>de</strong> a la siguiente ecuación:K = 273 . 15 + C Ec.4. 31Interpretando la ecuación 4.31 como un cambio <strong>de</strong> variable, po<strong>de</strong>mos<strong>de</strong>cir que la diferencia entre un sistema <strong>de</strong> medida y otro no es más que un“offset” <strong>de</strong> valor 273.15, o si preferimos, que el punto <strong>de</strong> inicio <strong>de</strong> las dosescalas difiere en dicha cantidad. Sin embargo, la “pendiente” <strong>de</strong> la recta que<strong>de</strong>fine el cambio <strong>de</strong> variable es la unidad, lo cual quiere <strong>de</strong>cir que los dossistemas <strong>de</strong> medida tienen el mismo incremento entre grado y grado y esexactamente igual hablar <strong>de</strong> una tasa <strong>de</strong> 1µA/ºC que <strong>de</strong> 1µA/ºK.78


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Esto no ocurre <strong>de</strong> igual manera si tratamos con el tercer sistema <strong>de</strong>medida <strong>de</strong> temperaturas, el sistema Fahrenheit. La relación entre los sistemasCelsius y Fahrenheit viene dada por :9F = ⋅ C + 32 Ec.4. 325Pues bien, aunque el sensor trabaje internamente con el sistema Kelvin,es mucho más cómodo para nosotros usar el sistema <strong>de</strong> medición centígrado. Yesto no es por una razón puramente <strong>de</strong> comodidad, ya que estamos másacostumbrados a este tipo <strong>de</strong> medición; el sistema Celsius tiene la “ventaja”adicional <strong>de</strong> trabajar con valores <strong>de</strong> los grados positivos y negativos, lo cual setraducirá en valores <strong>de</strong> tensión con los dos signos. Esto hace que se aumente elrango dinámico (en concreto, se multiplica por dos) que po<strong>de</strong>mos usar para elcircuito sensor. Evi<strong>de</strong>ntemente, trabajar con valores negativos con el sistemaKelvin es imposible, ya que precisamente el sistema se construye a partir <strong>de</strong> la<strong>de</strong>finición <strong>de</strong> “cero absoluto” , que coinci<strong>de</strong> en la escala centígrada con el valor<strong>de</strong> –273.15ºC.Una vez vista la conveniencia <strong>de</strong> convertir la escala, es fácil comprobarque el circuito resistivo en la entrada negativa <strong>de</strong>l amplificador cumple esafunción. Mediante las dos resistencias (9k09 y 1k) y ajustando el potenciómetro<strong>de</strong> 200 Ω se logra una tensión <strong>de</strong> 273.2 mV a la entrada el amplificador. Dadoque éste funciona amplificando la diferencia entre las entradas positiva ynegativa, el efecto real es que estamos “restando” la cantidad <strong>de</strong> 273.2 mV a laentrada que va a ser amplificada.Dado que el ajuste es bastante fino, en el circuito se usa un integradocomo referencia para fijar la tensión <strong>de</strong> offset. El circuito AD580 fija unatensión a su salida igual a 2.5V, in<strong>de</strong>pendientemente <strong>de</strong>l valor <strong>de</strong> alimentaciónque se le aplique (siempre que esté <strong>de</strong>ntro <strong>de</strong> su rango, evi<strong>de</strong>ntemente). De estaforma se logra hacer fija la tensión <strong>de</strong> offset.79


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Usando este circuito con los valores <strong>de</strong> los componentes que se especifican, selogra tener un circuito <strong>de</strong> medida en el rango <strong>de</strong> –55ºC a +100ºC. Dado que elamplificador presenta una ganancia <strong>de</strong> 100, se obtiene un rango <strong>de</strong> tensión a la salida <strong>de</strong>–5.5V a +10V a una tasa <strong>de</strong> 100mV/ºC.4.6.3.3 Diseño <strong>de</strong>l CircuitoEl diseño y construcción física <strong>de</strong>l circuito <strong>de</strong> medida <strong>de</strong> temperatura a partir <strong>de</strong>lsensor AD590 se va a basar fundamentalmente en el circuito recomendado por elfabricante y <strong>de</strong>scrito en la figura 4.20.Sin embargo, vamos a cambiar unos cuantos puntos <strong>de</strong>l diseño para adaptarnoslo mejor posible a las peculiarida<strong>de</strong>s un nuestra aplicación. En concreto, nuestro circuitofinal <strong>de</strong>berá ser un circuito “portátil”, en el sentido <strong>de</strong> que, aunque esté conectado alresto <strong>de</strong>l sistema por un cable para transportar la señal <strong>de</strong> tensión, el circuito no <strong>de</strong>be sermuy voluminoso ni pesado, para po<strong>de</strong>r colocarlo y mediar la temperatura en cualquierpunto que <strong>de</strong>seemos. Para ello va a ser fundamental la alimentación; haremos loscambios pertinentes para lograr tener una única alimentación para todo el circuito con elmenor peso, y sobre todo, menor coste posible.Otro punto <strong>de</strong> vital importancia va a ser la optimización <strong>de</strong>l rango dinámico <strong>de</strong>funcionamiento. Sin olvidar nunca que el objetivo final es la captura <strong>de</strong> la señal <strong>de</strong>tensión que representa la temperatura por parte <strong>de</strong> la tarjeta <strong>de</strong> adquisición <strong>de</strong> datos,tendremos que ajustar los valores <strong>de</strong> los componentes <strong>de</strong>l circuito para usar al máximoposible todo el rango <strong>de</strong> funcionamiento <strong>de</strong> la tarjeta, lo que redundará en una mayorsensibilidad para el conjunto <strong>de</strong>l sistema <strong>de</strong> medida. A<strong>de</strong>más, se <strong>de</strong>berá tener en cuentael rango <strong>de</strong> temperatura en el que trabajaremos.• Amplificador <strong>de</strong> InstrumentaciónEl cambio más sustancial en nuestro circuito con respecto al circuito <strong>de</strong> la figura4.20 es que no usamos el integrado AD524 como elemento <strong>de</strong> amplificación <strong>de</strong> la señal.Tras consultar catálogo <strong>de</strong> especificaciones <strong>de</strong> diversos fabricantes y comparar las80


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>características y precio con otros integrados, se opta por la opción <strong>de</strong> no usar dichointegrado, dado su elevado coste.En su lugar, usaremos el integrado AD622, que realiza básicamente la mismafunción. Se trata también <strong>de</strong> un amplificador <strong>de</strong> instrumentación, que, aunque <strong>de</strong>menores prestaciones en cuanto al tiempo <strong>de</strong> respuesta y ancho <strong>de</strong> banda <strong>de</strong>funcionamiento con respecto al AD524, pue<strong>de</strong> cumplir perfectamente con la función <strong>de</strong>éste en el circuito.Sus características principales son:• Rango <strong>de</strong> tensión <strong>de</strong> alimentación: ± 2.6 a ± 15 V (siempre diferencial)• Bajo consumo (1.5mA máximo)• Gran precisión en la ganancia (0.15%)• 125µV <strong>de</strong> offset máximo• CMRR=66dB• Rango <strong>de</strong> ganancia: 2-1000• Ganancia ajustable mediante resistencia externaEn este último punto existe una gran diferencia con respecto al integradoAD524. Aunque los dos tienen ajuste externo <strong>de</strong> ganancia mediante resistencia, elAD524 sólo permite seleccionar la ganancia entre un reducido conjunto <strong>de</strong> valores(1,10,100,1000), mientras que la selección <strong>de</strong> ganancia en el AD622 es “continua”, en elsentido <strong>de</strong> que se pue<strong>de</strong> seleccionar cualquier valor <strong>de</strong> ganancia <strong>de</strong>ntro <strong>de</strong>l rangosimplemente colocando la resistencia <strong>de</strong> valor a<strong>de</strong>cuado.• AlimentaciónEl problema <strong>de</strong> la alimentación es básico para una aplicación <strong>de</strong> instrumentaciónen la que preten<strong>de</strong>mos que el dispositivo sea lo más ligero y portable posible.Si seguimos estrictamente las especificaciones relativas al diseño <strong>de</strong>l circuito(figura 4.20), tendríamos un total <strong>de</strong> 3 fuentes <strong>de</strong> alimentación distintas. A saber, unafuente <strong>de</strong> +7V para la alimentación <strong>de</strong>l sensor AD590, una fuente <strong>de</strong> +15V para el81


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>regulador <strong>de</strong> tensión AD580 y una última fuente diferencial para el amplificador <strong>de</strong>instrumentación. Esto es realmente poco eficiente, ya que tenemos que rutar 3 series <strong>de</strong>pistas distintas para cada una <strong>de</strong> las fuentes, amén <strong>de</strong>l coste que supone el tener 6fuentes <strong>de</strong> tensión (no olvidar que tenemos que construir 2 sensores <strong>de</strong> temperaturaidénticos).Por tanto, nuestro objetivo va a ser reducir este número <strong>de</strong> fuentes al mínimo, yelegir entre todas las opciones, aquélla cuyo coste sea menor.De las tres fuentes, la que plantea menos problemas es la primera <strong>de</strong> ellas, es<strong>de</strong>cir, la fuente <strong>de</strong> +7V para el sensor. Como dijimos, el sensor admite un rango <strong>de</strong>tensiones <strong>de</strong> hasta +30V sin apenas variar su funcionamiento, por lo que fácilmentepo<strong>de</strong>mos integrar la alimentación <strong>de</strong> este integrado en la fuente principal <strong>de</strong>l circuito.Prácticamente lo mismo suce<strong>de</strong> con la fuente <strong>de</strong> +15V <strong>de</strong>l regulador AD580. Siaten<strong>de</strong>mos a las especificaciones técnicas, comprobamos que éste es capaz <strong>de</strong> mantenerla salida estable a +2.5 V si lo alimentamos con una tensión <strong>de</strong> entre 4.5 y 30V.La fuente que presenta algo <strong>de</strong> más problemas por su carácter diferencial es laque alimenta el amplificador AD622. Prácticamente nos encontramos con un problemaidéntico al tratar el problema <strong>de</strong> la alimentación <strong>de</strong> los convertidores Digital-Analógico(ver apartado 4.4.3.3). En esta ocasión vamos a optar por 2 pilas colocadas en serie, <strong>de</strong>tal forma que <strong>de</strong>finimos la tierra en el punto <strong>de</strong> unión entre ambas. Esta configuraciónes bien sencilla y económica y sólo presenta un pequeño inconveniente, que es que una<strong>de</strong> las dos pilas ( en concreto la encargada <strong>de</strong> suministrar la tensión <strong>de</strong> alimentaciónpositiva) se <strong>de</strong>scargará a un ritmo mayor que la otra, dado que esta última sólo tiene queaportar energía al integrado AD622, mientras que la primera alimenta a<strong>de</strong>más a losintegrados AD589 y AD590.Con respecto al valor nominal <strong>de</strong> tensión <strong>de</strong> las pilas usadas, la restricción conrespecto al valor mínimo viene dado por el máximo entre los mínimos valores admitidospara la alimentación <strong>de</strong> los integrados. Esto es:82


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>= max { min( AD622),min( AD580),min( AD590} = max{ 2.6,4.5,4}= 4. VV CC5Pero este valor no nos vale, ya que queremos optimizar el diseño usando almáximo posible el rango <strong>de</strong> tensiones <strong>de</strong> la tarjeta <strong>de</strong> adquisición, que está entre +10V y–10V. Lo i<strong>de</strong>al sería tener pilas <strong>de</strong> exactamente ese valor, pero dado que ese valor noestá estandarizado en el mercado, tomamos el valor nominal <strong>de</strong> tensión inmediatamenteinferior, que es +9V. Este valor correspon<strong>de</strong> a las pilas <strong>de</strong> formato PP3, cuyo coste <strong>de</strong>adquisición es realmente bajo.En el diseño final se contará con la posibilidad <strong>de</strong> seleccionar entre laalimentación proporcionada por las dos pilas anteriormente mencionadas y la fuente <strong>de</strong>alimentación diferencial <strong>de</strong> 12 V usada en los covertidores Digital-Analógico. Para ello,ésta última fue seleccionada con un nivel <strong>de</strong> potencia <strong>de</strong> salida suficiente como parapo<strong>de</strong>r alimentar los cuatro sistemas a la vez (dos sensores y dos CDA)• Rango <strong>de</strong> FuncionamientoEn el circuito contamos con varios elementos que nos pue<strong>de</strong>n permitir ajustar elrango <strong>de</strong> funcionamiento <strong>de</strong>l sensor mediante la variación <strong>de</strong> su valor. Éstos son:• Resistencia <strong>de</strong> entrada. Es la resistencia que convierte la información encorriente (I T ) en tensión. Usaremos el valor especificado, es <strong>de</strong>cir, 1kΩ) ycolocaremos resistencias metálicas <strong>de</strong> alta precisión (0.1%) y alta estabilidadtérmica.• Potenciómetro <strong>de</strong> Offset. Mediante el ajuste <strong>de</strong> este potenciómetro logramosajustar el valor <strong>de</strong> offset en el amplificador, restándole a la señal 273.2 mV paraconvertirla a la escala Kelvin. Realmente no usaremos este potenciómetro paraajustar el rango, sino para eliminar el posible error sistemático <strong>de</strong>l sensor. Siapreciamos una <strong>de</strong>riva <strong>de</strong> la tensión por encima o <strong>de</strong>bajo <strong>de</strong> la que <strong>de</strong>beríamarcar para una temperatura dada, aumentaremos o disminuiremos la tensión <strong>de</strong>offset mediante este potenciómetro.83


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>• Potenciómetro <strong>de</strong> ajuste <strong>de</strong> ganancia. Según las especificaciones <strong>de</strong>lfabricante, la relación entre la ganancia <strong>de</strong>seada para el amplificador AD622 y elvalor <strong>de</strong> la resistencia R G que se <strong>de</strong>be colocar viene dada por:50.5KΩR G= Ec.4. 33G −1Para calcular el valor <strong>de</strong> la resistencia, <strong>de</strong>finimos un rango <strong>de</strong> funcionamientoen temperatura lo suficientemente amplio. A<strong>de</strong>más, tenemos en cuenta que el rango <strong>de</strong>funcionamiento en tensiones es <strong>de</strong> –9V a +9V, y seleccionamos un rango <strong>de</strong>temperatura por exceso para que el sensor pueda seguir funcionando correctamenteincluso en el caso <strong>de</strong> que disminuya la carga <strong>de</strong> las pilas:Rango _ T ª: −40ºC → + 40º C⎫⎬Rango _ V : −9V→ + 9V⇒⎭18V/ 80º C ≡ 0.225V/º C ⇒ G = 225Ec.4.34Y por aplicación <strong>de</strong> la ecuación 4.33:= 50.5KR ≅ 220. Ω225 −153GEc.4. 35El uso <strong>de</strong>l potenciómetro externo para el ajuste <strong>de</strong> ganancia tiene la ventajaadicional <strong>de</strong> que po<strong>de</strong>mos modificar el valor <strong>de</strong> ésta (cambiando a su vez el rango <strong>de</strong>funcionamiento) simplemente aplicando la ecuación 4.33). Sin embargo, si se prefiere,se pue<strong>de</strong> colocar directamente una resistencia (el valor <strong>de</strong> R=221Ω es uno <strong>de</strong> los valores<strong>de</strong> fabricación para todo tipo <strong>de</strong> resistencias), aportando un poco <strong>de</strong> más estabilidad a laganancia.• Esquemático <strong>de</strong>l circuitoAl igual que hicimos para diseñar los CDA, recurrimos a la herramienta TangoPCB, dando como resultado el siguiente esquemático:84


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 4.23:Esquemático <strong>de</strong>l circuito sensor <strong>de</strong> temperatura4.7 SCREW PANELEl Screw Panel o panel <strong>de</strong> conexiones es el elemento hardware que usaremospara conectar los distintos elementos <strong>de</strong>l sistema a la tarjeta <strong>de</strong> adquisición <strong>de</strong> datos.Esta tarjeta actuará como elemento central <strong>de</strong>l sistema, sirviendo <strong>de</strong> interfaz entre elor<strong>de</strong>nador don<strong>de</strong> correrá el programa <strong>de</strong> control y los elementos hardware. Por un lado,servirá <strong>de</strong> entrada <strong>de</strong> datos <strong>de</strong> temperatura mediante la tensión proporcionada por lossensores, y por otro lado, dará las ór<strong>de</strong>nes <strong>de</strong> control generadas en el programa a lasbombas peristálticas.Como vimos en el apartado 4.4, la DT302 es una tarjeta tipo PCI, es <strong>de</strong>cir, seconecta internamente al bus <strong>de</strong> datos <strong>de</strong>l PC. Para conectarse a los elementos externosal PC con los que intercambiará los datos mediante sus puertos, la tarjeta tiene unconector <strong>de</strong> 68 líneas. En este conector, cada línea tiene asociada una función en latarjeta, <strong>de</strong> igual modo que el cable estándar para este tipo <strong>de</strong> conectores tiene un código<strong>de</strong> colores que i<strong>de</strong>ntifica unívocamente a qué pin <strong>de</strong>l conector se correspon<strong>de</strong> cadacable. Evi<strong>de</strong>ntemente, al tratarse <strong>de</strong> un número tan elevado <strong>de</strong> líneas, resulta bastante85


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>tedioso e incómodo el localizar la línea que <strong>de</strong>seamos conectar en cada momento alequipo externo en cuestión. A<strong>de</strong>más, en muchos <strong>de</strong> los casos, los equipos (sensores,CDA, bombas...) realizan la interconexión con otros elementos con cables muy distintosa los hilos <strong>de</strong>l conector <strong>de</strong> la tarjeta.Para solventar este tipo <strong>de</strong> problemas y hacer más fácil trabajar con la tarjeta <strong>de</strong>adquisición <strong>de</strong> datos, el fabricante recomienda conectar al otro extremos <strong>de</strong>l cable <strong>de</strong> 68líneas un Screw Panel o panel <strong>de</strong> interconexión. Este elemento no es más que un panelque facilita la conexión hacia el exterior <strong>de</strong> las líneas a ser usadas en la aplicación. Apesar <strong>de</strong> tratarse <strong>de</strong> un elemento puramente resistivo, el precio <strong>de</strong>l Screw Panelcomercial es bastante elevado, por lo que optamos por construir uno a nuestra medida.A<strong>de</strong>más, al diseñar y construir uno nosotros, lo haremos a la medida <strong>de</strong> laaplicación en la que va a ser usada. Usaremos los conectores a<strong>de</strong>cuados para los cables<strong>de</strong> comunicación, empleando sólo las líneas necesarias y <strong>de</strong>jando el resto <strong>de</strong> las líneas<strong>de</strong>l cable libres para futuras aplicaciones.El panel frontal <strong>de</strong> conexiones <strong>de</strong>l Screw Panel tendrá los siguientes elementos:• Conectores BNC. Son los conectores estándar usados para cables tipo coaxial.Colocaremos 4 <strong>de</strong> estos conectores:• Conector <strong>de</strong> entrada para sensor <strong>de</strong> temperatura 1• Conector <strong>de</strong> entrada para sensor <strong>de</strong> temperatura 2.• Conector <strong>de</strong> salida para bomba peristáltica 1.• Conector <strong>de</strong> salida para bomba peristáltica 2.• Conectores B9. Son los conectores <strong>de</strong> 9 líneas usados típicamente para lascomunicaciones serie, como por ejemplo el puerto RS-232 <strong>de</strong> los PC. En este caso,sin embargo, lo usaremos para otro tipo <strong>de</strong> comunicación bien distinta: unatransmisión en paralelo <strong>de</strong> los 8 bits <strong>de</strong> los puertos digitales hacia los convertidoresDigital-Analógico. A estos 8 bits se les aña<strong>de</strong> la novena línea que transmite la tierracomún que actúa como referencia <strong>de</strong> la tensión en las 8 líneas anteriores.Tendremos 2 conectores “macho” <strong>de</strong> este tipo, uno para cada CDA.86


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Para la interconexión entre los hilos <strong>de</strong>l cable <strong>de</strong> 68 líneas y los conectores <strong>de</strong>lpanel frontal usaremos una pequeña placa con conectores <strong>de</strong> bornas. Esto se hace asípara po<strong>de</strong>r modificar en cualquier momento <strong>de</strong> forma sencilla la asignación <strong>de</strong> líneas yfunciones. Llegado el caso, basta con <strong>de</strong>satornillar en el conector la línea a ser sustituiday modificarlo por otra.La asignación entre las líneas <strong>de</strong> la tarjeta y la función que <strong>de</strong>ben <strong>de</strong>sempeñar sehizo ayudándose en la documentación <strong>de</strong> la tarjeta y la asignación <strong>de</strong> código <strong>de</strong> colores<strong>de</strong>l cable <strong>de</strong> 68 líneas.La asignación queda reflejada en la siguiente tabla:87


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>LINEA DEFINICION FUNCIÓN0 Bit 0 Port A Bit 7 puerto digital 116 Bit 1 Port A Bit 8 puerto digital 149 Bit 2 Port A Bit 9 puerto digital 115 Bit 3 Port A Bit 5 puerto digital 148 Bit 4 Port A Bit 4 puerto digital 114 Bit 5 Port A Bit 3 puerto digital 147 Bit 6 Port A Bit 2 puerto digital 113 Bit 7 Port A Bit 1 puerto digital 146 Bit 0 Port B Bit 7 puerto digital 212 Bit 0 Port B Bit 8 puerto digital 245 Bit 0 Port B Bit 9 puerto digital 211 Bit 0 Port B Bit 5 puerto digital 244 Bit 0 Port B Bit 4 puerto digital 210 Bit 0 Port B Bit 3 puerto digital 243 Bit 0 Port B Bit 2 puerto digital 29 Bit 0 Port B Bit 1 puerto digital 268 Analog Input 0 Canal <strong>de</strong> Entrada 134 Analog Input 1 Canal <strong>de</strong> Entrada 258 Analog Output 0 Canal <strong>de</strong> Salida 124 Analog Output 1 Canal <strong>de</strong> Salida 135 Power GND Tierra Común8 Dig GND Tierra Común17 Dig GND Tierra Común21 Dig GND Tierra Común42 Analog GND Tierra Común55 Analog GND Tierra Común67 Analog Input 0 Return Tierra Común33 Analog Input 1 Return Tierra ComúnTabla 4.5: Asignación <strong>de</strong> funciones a las líneas <strong>de</strong> la tarjeta DT30288


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En la tabla 4.5 se observa cómo todas las líneas <strong>de</strong> tierra <strong>de</strong> la tarjeta se hanunido en un único punto, formando así la tierra común <strong>de</strong>l circuito. Se ha hecho estoincluso con la referencia <strong>de</strong> tierra <strong>de</strong>l puerto digital que no usamos (línea 21), ya que elfabricante recomienda no <strong>de</strong>jar al aire ninguna <strong>de</strong> las posibles referencias <strong>de</strong> tierra <strong>de</strong> latarjeta. También hemos unido al plano <strong>de</strong> tierra las líneas <strong>de</strong> retorno <strong>de</strong> los canalesanalógicos <strong>de</strong> entrada (líneas 33 y 67). Con esta configuración y usando el mododiferencial, po<strong>de</strong>mos medir tensiones tanto positivas como negativas en lacorrespondiente línea <strong>de</strong> entrada (34 ó 68, respectivamente), estando dichas tensionessiempre referidas al mencionado plano <strong>de</strong> tierra común.Se observa que la numeración <strong>de</strong> las líneas digitales no correspon<strong>de</strong> con los bits<strong>de</strong>l puerto <strong>de</strong> salida (numeración <strong>de</strong> las líneas en el conector RS-232 o B9). Se haseleccionado esta configuración para que concuer<strong>de</strong> con el CDA que estará al otroextremo <strong>de</strong>l cable. La línea número 9 <strong>de</strong>l conector estará unida a la tierra común,proporcionando la referencia necesaria para la transmisión <strong>de</strong> los 8 bits.Una vez que unimos las líneas a sus correspondientes conectores (B9 para lospuertos digitales y conectores BNC para cable coaxial para las líneas analógicas <strong>de</strong>entrada y salida) obtenemos un panel frontal <strong>de</strong> conexiones en nuestro Screw Panelcomo el que sigue:PUERTO BOUT 2IN 2PUERTO AOUT 1IN 1Fig 4.24: Frontal <strong>de</strong>l Screw Panel89


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>CAPITULO 5. SOFTWARE DEL SISTEMA5.1 INTRODUCCIÓNEn el presente capítulo vamos a <strong>de</strong>scribir toda la parte <strong>de</strong> Software <strong>de</strong>l sistema<strong>de</strong> perfusión. Este Software es, en esencia, el programa que controla la tarjeta <strong>de</strong>adquisición <strong>de</strong> datos y estará programado en el entorno <strong>de</strong> programación <strong>de</strong> objetos HP-VEE. El programa <strong>de</strong>berá cumplir varias funciones, entre las que <strong>de</strong>stacan: Configuración <strong>de</strong> la tarjeta. En la fase inicial <strong>de</strong>l programa, el software configuralos “drivers” <strong>de</strong> la tarjeta <strong>de</strong> adquisición para po<strong>de</strong>r usar los puertos yentradas/salidas necesarias para la aplicación. Gestión <strong>de</strong> Entrada-Salida. Una vez configurada la tarjeta, el programa la usarácomo “interfaz” entre el PC y el exterior, don<strong>de</strong> estarán el resto <strong>de</strong> elementosHardware <strong>de</strong> la aplicación. La usará como entrada <strong>de</strong> señales <strong>de</strong> temperatura ycomo salida <strong>de</strong> caudales. Diseño <strong>de</strong> Perfiles. El programa <strong>de</strong>be incluir una fase inicial en el que el usuariodiseñará los perfiles <strong>de</strong> concentración y temperatura <strong>de</strong>seados para que elsistema <strong>de</strong> perfusión los haga efectivos. Control <strong>de</strong>l Sistema. El sistema requiere <strong>de</strong> un control en bucle cerrado para quela evolución <strong>de</strong> la temperatura y concentración se haga efectiva.Antes <strong>de</strong> comenzar a <strong>de</strong>scribir con<strong>de</strong> talle el programa realizado, comenzaremoscon una breve discusión acerca <strong>de</strong>l entorno <strong>de</strong> programación usado y su idoneidad paraeste tipo <strong>de</strong> aplicaciones.90


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>5.2 DESCRIPCIÓN DEL SOFTWARE HP-VEE5.2.1 HP-VEE FRENTE A OTRAS ALTERNATIVASA la hora <strong>de</strong> comenzar una aplicación software, lo primer que nos planteamos esqué lenguaje <strong>de</strong> programación vamos a usar. Vamos a hacer un breve repaso <strong>de</strong> algunas<strong>de</strong> las alternativas que se presentan, para justificar <strong>de</strong> manera conveniente la elección <strong>de</strong>HP-VEE.En primer lugar, y dado que entre las características <strong>de</strong> la aplicación seencuentra el hecho <strong>de</strong> que tendremos que usar sistemas <strong>de</strong> control y estructuras <strong>de</strong>datos, po<strong>de</strong>mos pensar en la conveniencia <strong>de</strong> trabajar con la herramienta MATLAB. Esteprograma, que nació como una simple herramienta para cálculos matemáticos más omenos complicados, se ha ido <strong>de</strong>sarrollando hasta llegar a ser un verda<strong>de</strong>ro lenguaje <strong>de</strong>programación. A<strong>de</strong>más, el mismo programa aporta gran cantidad <strong>de</strong> utilida<strong>de</strong>s(“toolbox”) especialmente diseñadas para una gran cantidad <strong>de</strong> aplicaciones. Entre esasaplicaciones se encuentra la herramienta “Simulink”, que se usa para simular sistemas ydiseñar controladores <strong>de</strong>s<strong>de</strong> los más sencillos (todo-nada, PID...) hasta los máscomplejos (re<strong>de</strong>s neuronales, control predictivo....). Sin embargo, el uso <strong>de</strong> Simulinkestá sobre todo restringido a problemas <strong>de</strong> simulación <strong>de</strong> sistemas, como una excelenteayuda para el diseño posterior <strong>de</strong> controladores reales. No está pensado para trabajar entiempo real con sistemas que interactúen con el exterior.Matlab tiene también multitud <strong>de</strong> funciones para tratar con datos, incluyendo lainterpolación y la representación en gráficas 2D y 3D. Como veremos más a<strong>de</strong>lante, síusaremos algunas <strong>de</strong> estas funciones para la etapa inicial <strong>de</strong>l programa.Lo siguiente que podríamos pensar es trabajar con un idioma <strong>de</strong> programación<strong>de</strong> propósito general, como pue<strong>de</strong> ser C. Este lenguaje es bien conocido y aporta granpotencia y versatilidad, permitiendo cualquier tratamiento <strong>de</strong> los datos. A<strong>de</strong>más, lasversiones más avanzadas, como Visual C++ son orientadas a objetos (ver apartado4.2.1) y facilitan mucho la tarea <strong>de</strong> <strong>de</strong>sarrollar programas en entorno Windows.91


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Prácticamente lo mismo suce<strong>de</strong> con otro lenguaje, como es Visual Basic, cuyasintaxis es algo más sencilla que la <strong>de</strong> Visual C++, aunque los programas resultanmenos eficientes .La mayor dificultad a la hora <strong>de</strong> trabajar con este tipo <strong>de</strong> lenguajes es que lainteracción con los componentes HW se hace mediante funciones <strong>de</strong> librería quetrabajan a relativamente bajo nivel. Así, el proceso <strong>de</strong> configuración <strong>de</strong> la tarjeta o lacaptura <strong>de</strong> datos resulta mucho más complicado y tedioso que con un entornoespecialmente diseñado para ello, como es el caso <strong>de</strong> HP-VEE.5.2.2 HP-VEE COMO LENGUAJE ORIENTADO A OBJETOSEl software <strong>de</strong> control “Agilent VEE 5.0” <strong>de</strong> la casa Hewlett Packardproporciona un entorno <strong>de</strong> programación basado en objetos. La OOP (“ProgramaciónOrientada a Objetos”) es una estrategia <strong>de</strong> programación totalmente distinta a losprogramas “clásicos”, <strong>de</strong>sarrollados en lenguajes como C, Basic, Fortran, Pascal, etc.En estos lenguajes, se genera un programa que se ejecuta <strong>de</strong> forma secuencial, es <strong>de</strong>cir,una instrucción <strong>de</strong>trás <strong>de</strong> otra, con la salvedad, claro está, <strong>de</strong> las estructuras <strong>de</strong> controltipo for o while . Y <strong>de</strong> igual manera se programa; esto es, escribiremos las instruccionesen modo texto en el mismo or<strong>de</strong>n que queremos que sean ejecutadas.Sin embargo, en los lenguajes <strong>de</strong> programación OOP se trabaja con el concepto<strong>de</strong> objeto. Un objeto se entien<strong>de</strong> como un trozo <strong>de</strong> código con estructuras <strong>de</strong> variables yfunciones (procedimientos, en el argot OOP) que se encapsula para po<strong>de</strong>r ser accedido<strong>de</strong>s<strong>de</strong> el resto <strong>de</strong>l programa. Así, cada objeto es un elemento in<strong>de</strong>pendiente en elprograma, que interactúa con el resto <strong>de</strong> objetos para llevar a cabo las acciones precisasen el programa. Y la clave <strong>de</strong> la programación orientada a objetos - y lo que marca lamayor diferencia con otros lenguajes <strong>de</strong> programación- es que el código <strong>de</strong>l programano se escribe <strong>de</strong> forma secuencial, ni se tienen por qué ejecutar los objetos en el or<strong>de</strong>nen que los colocamos en el programa. Ejemplos <strong>de</strong> este tipo <strong>de</strong> lenguajes son C++,Visual Basic o Java.92


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Aunque al principio pueda parecer esta forma <strong>de</strong> programar algo confusa eineficiente, en cuanto se realizan los primeros programas y se adquiere algo <strong>de</strong> <strong>de</strong>streza,se comprueba que es todo lo contrario: el uso <strong>de</strong> objetos facilita en gran medida laprogramación <strong>de</strong> muchas tareas que resultarían tediosas si las intentásemos hacer con unlenguaje <strong>de</strong> programación tipo secuencial. En la práctica totalidad <strong>de</strong> los casos, pararealizar un programa sólo tenemos que ir añadiendo objetos y haciendo las oportunasconexiones entre ellos. Se llega así al concepto <strong>de</strong> “programar sin escribir”.Hemos nombrado anteriormente algunos lenguajes basados en OOP, como C++,Visual Basic o Java. Se trata <strong>de</strong> lenguajes <strong>de</strong> programación <strong>de</strong> alto nivel, y <strong>de</strong> propósitogeneral, es <strong>de</strong>cir, basándonos en ellos po<strong>de</strong>mos <strong>de</strong>sarrollar programas para cualquiertipo <strong>de</strong> aplicación. Sólo bastará con añadir – o programar – las correspondientesfunciones <strong>de</strong> librería.HP-VEE, aunque también basado en OOP, respon<strong>de</strong> a otra filosofía. Más que unlenguaje <strong>de</strong> propósito general, se trata <strong>de</strong> un entorno <strong>de</strong> programación especialmentepensado para <strong>de</strong>sarrollar aplicaciones <strong>de</strong> tratamiento <strong>de</strong> datos. Así, aporta objetosespecialmente útiles para trabajar con periféricos, sistemas HW <strong>de</strong> captura <strong>de</strong> datos, etc.Estos objetos facilitan en gran medida el trabajo con los sistemas HW, ya que hacen laconfiguración realmente sencilla y evita tener que trabajar con las funciones <strong>de</strong>configuración, que por ser <strong>de</strong> mucho más bajo nivel son bastante más complejas.• ComparativaPara corroborar lo dicho anteriormente en cuanto a la facilidad <strong>de</strong> programacióncon lenguajes OOP (en particular HP-VEE) frente a los lenguajes <strong>de</strong> programaciónsecuenciales, presentamos a continuación un breve programa realizado en doslenguajes: el mismo HP-VEE y C.El código correspon<strong>de</strong> a un sencillo programa que simplemente inicializa unvector <strong>de</strong> 10 elementos con entradas aleatorias y calcula <strong>de</strong>spués el máximo.93


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Vemos en primer lugar el programa en C:/* Program to find maximum element in array */#inclu<strong>de</strong> main( ){double num[10],max;int i;for (i=0;i


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Aunque, finalmente, se haya establecido como herramienta <strong>de</strong> programación elsoftware HP VEE 5.0, se hace necesaria una comparativa <strong>de</strong> este programa con otrossimilares en el mercado. En este apartado se muestran las características yfuncionalida<strong>de</strong>s, tanto <strong>de</strong> HP VEE 5.0 <strong>de</strong> Hewlett Packard, como <strong>de</strong> LAB VIEW <strong>de</strong>National Instruments.Aunque las últimas versiones <strong>de</strong> HP VEE han mejorado sustancialmente elrendimiento <strong>de</strong> sus pre<strong>de</strong>cesoras, éste, en general, sigue siendo inferior al que ofreceLAB VIEW. En situaciones <strong>de</strong> programación eficiente no existen diferenciassignificativas entre las velocida<strong>de</strong>s obtenidas en ambos sistemas. Sin embargo, cuandola programación se realiza <strong>de</strong> manera más intuitiva las velocida<strong>de</strong>s que se consiguen enLAB VIEW <strong>de</strong>stacan sobre las ofrecidas por HP VEE.Ambos paquetes son bastante rápidos al realizar multitud <strong>de</strong> soluciones. Hay queprecisar que el sentido correcto que se aplica al concepto <strong>de</strong> velocidad está relacionadocon la rapi<strong>de</strong>z <strong>de</strong> ofrecer una respuesta gráfica, el número <strong>de</strong> operaciones que necesitarealizar, etc.La principal diferencia entre HP VEE y LAB VIEW se encuentra en laarquitectura <strong>de</strong> la programación gráfica. Mientras HP VEE personaliza sus iconos conuna etiqueta, LAB VIEW no los modifica necesitando recordar el significado <strong>de</strong> cadauno <strong>de</strong> ellos.LAB VIEW surge <strong>de</strong> la necesidad <strong>de</strong> controlar las tarjetas <strong>de</strong> adquisición <strong>de</strong>datos que se instalaban en el or<strong>de</strong>nador y funcionaban paralelamente a él. Por otro lado,HP VEE nace orientado a controlar instrumentos que operaban <strong>de</strong> forma in<strong>de</strong>pendiente.Por ejemplo, HP VEE pue<strong>de</strong> ser i<strong>de</strong>al para <strong>de</strong>sarrollar aplicaciones con instrumentosexternos conectados a través <strong>de</strong> interfaces GPIB o RS-232, así como gestionarlos <strong>de</strong>ntro<strong>de</strong> una red Ethernet. Esto no basta para concluir que ambas herramientas estén <strong>de</strong>alguna manera limitadas, sino que inci<strong>de</strong> en la existencia <strong>de</strong> dos puntos <strong>de</strong> vistadiferentes.Debido a este origen, LAB VIEW realiza a bajo nivel cada una <strong>de</strong> las tareasrelacionadas con el control. De hecho, posee aspectos que recuerdan a C o PASCAL.95


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En cambio HP VEE opera mediante programación a más alto nivel, aunque tambiénconserva aspectos clásicos. A<strong>de</strong>más aña<strong>de</strong> varias formas <strong>de</strong> ondas y arrays con multitud<strong>de</strong> funciones matemáticas para operar con ellos.Generalmente, si se utiliza equipamiento externo, el cuello <strong>de</strong> botella se <strong>de</strong>be adicho equipamiento, por lo que quizás, para ciertas aplicaciones la velocidad <strong>de</strong>lprograma no sea un factor <strong>de</strong>terminante ya que siempre será superior a la efectiva.Evi<strong>de</strong>ntemente, la adquisición <strong>de</strong> software, hardware y resto <strong>de</strong> periféricos <strong>de</strong> unamisma compañía soluciona muchos <strong>de</strong> estos problemas.Se pue<strong>de</strong> finalizar concluyendo que nadie se equivoca al optar por uno u otroprograma, puesto que los resultados son similares y únicamente <strong>de</strong>berá adaptarse a lasparticularida<strong>de</strong>s <strong>de</strong> la herramienta en cuestión.5.2.1 DESCRIPCIÓN DEL ENTORNO HP-VEEComo ya hemos dicho, HP-VEE es un entorno <strong>de</strong> programación orientado aobjetos. Presenta la apariencia típica <strong>de</strong> todas las aplicaciones que corren bajoWindows:Fig 5.2: Entorno <strong>de</strong> programación HP-VEE 5.096


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Se observan las siguientes áreas <strong>de</strong>ntro <strong>de</strong>l programa:‣ Barra <strong>de</strong> Título (Title Bar). Situada en la parte superior <strong>de</strong> la ventana <strong>de</strong>lprograma, contiene el icono y nombre <strong>de</strong>l programa, así como los típicosbotones <strong>de</strong> minimizar, maximizar y cerrar.‣ Barra <strong>de</strong> Menú (Menu Bar).Es la típica barra <strong>de</strong> las aplicaciones Windows enla que encontramos todos los objetos y funciones <strong>de</strong>l programa. Hay que<strong>de</strong>stacar que para el uso <strong>de</strong> HP-VEE con la tarjeta <strong>de</strong> adquisición <strong>de</strong> datos, espreciso instalar un componente adicional <strong>de</strong>nominado DT-VPI, cuya instalaciónse refleja en la aparición <strong>de</strong> un nuevo menú con dicho título en esta barra.‣ Barra <strong>de</strong> Herramientas (Toolbar). En esta barra se encuentran accesiblesalgunas <strong>de</strong> las funciones más usadas <strong>de</strong>l programa.‣ Espacio <strong>de</strong> Trabajo (Work Area). Es la zona don<strong>de</strong> colocamos cada uno <strong>de</strong> losobjetos, uniéndolos mediante líneas y formando lo que es el programa en sí.‣ Explorador <strong>de</strong> Programa (Program Explorer).Esta región, situada a laizquierda, presenta <strong>de</strong> manera esquemática (mediante diagrama <strong>de</strong> árbol) laestructura <strong>de</strong>l programa que estamos realizando. Resulta especialmenteinteresante cuando la complejidad <strong>de</strong>l programa se hace mayor y tenemos quetrabajar con jerarquías <strong>de</strong> objetos y funciones.‣ Barra <strong>de</strong> estado (Status Bar). Indica algunos parámetros <strong>de</strong> interés <strong>de</strong>l estado<strong>de</strong> ejecución <strong>de</strong>l programa.No es nuestra intención entrar en <strong>de</strong>talle en el funcionamiento <strong>de</strong> cada uno <strong>de</strong> losobjetos con los que cuenta HP-VEE, ya que sería extremadamente largo y tedioso. Paraconsultar cualquier duda u obtener más información se pue<strong>de</strong> acce<strong>de</strong>r a: Ayuda <strong>de</strong>l programa, en la Barra <strong>de</strong> Menú. Ayuda en línea, en la página www.hp.com Ficheros PDF: VEE_Pro_Users_Gui<strong>de</strong> yVEE_Pro_Advanced_Techniques97


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>• DT-VPITal y como se indicó en el apartado 4.2.3, en un origen HP-VEE estuvo i<strong>de</strong>adopara trabajar con equipos periféricos, para lo que cuenta con multitud <strong>de</strong> objetos yfunciones. Sin embargo, para trabajar con tarjetas <strong>de</strong> adquisición <strong>de</strong> datos, necesita uncomponente extra específico <strong>de</strong>nominado DT-VPI. Este componente aporta todos losobjetos necesarios para configurar y trabajar con tarjetas <strong>de</strong> adquisición <strong>de</strong> datos.La secuencia <strong>de</strong> instalación <strong>de</strong> todo el software sería la siguiente:Fig 5.3: Instalación <strong>de</strong> DT-VPIUna vez realizados todos los pasos, en la barra <strong>de</strong> menú <strong>de</strong>l HP-VEE apareceráun nuevo menú <strong>de</strong>nominado DT_DataAcq en la que aparecen todos los objetos queinteractúan con la tarjeta <strong>de</strong> adquisición:98


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 5.4: Menú Data Acquisition en HP-VEE4.3. PROGRAMA “CRYOMA”“Cryoma”es el programa realizado en el entorno HP-VEE para la supervisión <strong>de</strong>todo el proceso <strong>de</strong> perfusión llevado a cabo con los elementos hardware <strong>de</strong>scritos en elcapítulo 3.Dado que tiene una complejidad que podíamos calificar <strong>de</strong> media-alta, se haceimprescindible acudir a la técnica <strong>de</strong> programación jerárquica. Esto es, dividimos elprograma en distintos bloques que son programados <strong>de</strong> manera in<strong>de</strong>pendiente <strong>de</strong>l resto,<strong>de</strong> tal forma que po<strong>de</strong>mos modificarlos e incluso cambiarlos sin alterar elfuncionamiento global <strong>de</strong>l programa.Para llevar a cabo esta i<strong>de</strong>a acudimos a la facilidad aportada por HP-VEE <strong>de</strong>crear objetos <strong>de</strong> usuario (User Objects). En estos objetos “encapsulamos” el trozo <strong>de</strong>programa que <strong>de</strong>seamos, <strong>de</strong> tal forma que hacia fuera se “ve” y se usa como si fuera unobjeto más <strong>de</strong> HP-VEE a todos los efectos. Para ello, <strong>de</strong>finimos en cada caso susentradas y salidas.99


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Este procedimiento es totalmente iterativo, <strong>de</strong> tal forma que po<strong>de</strong>mos usarobjetos <strong>de</strong> usuario <strong>de</strong>ntro <strong>de</strong> otros hasta formar una estructura jerárquica <strong>de</strong> programa.Comenzaremos este capítulo <strong>de</strong>scribiendo en primer lugar dicha estructura <strong>de</strong>programa, para a continuación, entrar en <strong>de</strong>talle en cada uno <strong>de</strong> los bloques o módulosque lo componen, <strong>de</strong>scribiendo su diseño y modo <strong>de</strong> funcionamiento.4.3.1 DIAGRAMA DE BLOQUES DEL PROGRAMAEn primer lugar vamos a ver en qué partes está dividido el programa. Haciendouso <strong>de</strong> la facilidad <strong>de</strong> crear objetos <strong>de</strong> usuario en HP-VEE, hemos creado una estructurajerárquica <strong>de</strong>ntro <strong>de</strong>l programa. Esto facilita en gran medida tanto la comprensión <strong>de</strong>lmismo como el propio diseño, ya que si intentáramos situar todos los objetos <strong>de</strong>ntro <strong>de</strong>un único espacio <strong>de</strong> trabajo, resultaría un programa a todas luces ilegible y difícil <strong>de</strong><strong>de</strong>purar.La jerarquía <strong>de</strong>l programa se pue<strong>de</strong> observar en la ventana <strong>de</strong> explorador <strong>de</strong>programa, y respon<strong>de</strong> a una estructura como la que sigue:MAININICIALIZA BITMAP SETUP ENTRADA PRINCIPAL100


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>TARJETAENTRADATARJETASALIDAPROGRESSBARENFRIA TUBOSSAVE FILESVARIABLESBUCLE PPAL.FINALIZACONTROLLECTURAT/QREFERENCIASPIDACTUADRORBUCLEFINALIZAFig 5.5: Diagrama <strong>de</strong> Bloques <strong>de</strong>l programa CRYOMAPara conocer más en <strong>de</strong>talle la división en bloques (UserObjects) <strong>de</strong>l programa,se <strong>de</strong>be acudir a la ventana <strong>de</strong> exploración <strong>de</strong> programa <strong>de</strong>l HP-VEE.5.3.2 BLOQUE MAIN101


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Como en la mayoría <strong>de</strong> los lenguajes <strong>de</strong> programación, <strong>de</strong>notamos con elnombre main al bloque o función principal <strong>de</strong>l programa (en este caso, es el propio HP-VEE el que le asigna este nombre directamente al bloque principal). Fijándonos en laestructura <strong>de</strong> bloques, po<strong>de</strong>mos <strong>de</strong>cir que el bloque main es el nodo raiz <strong>de</strong>l que partentodos los <strong>de</strong>más submódulos.El bloque main respon<strong>de</strong> a la siguiente estructura <strong>de</strong> objetos:Fig 5.6: Módulo MainEn el bloque main se distinguen las siguientes partes:‣ Inicializa. Es el módulo en el que englobamos la <strong>de</strong>finición e inicialización <strong>de</strong>todas las variables globales que usaremos a lo largo <strong>de</strong>l programa. Lasencapsulamos todas en un mimo bloque para tenerlas más accesibles ylocalizables. De igual manera, en este módulo se programa la configuración <strong>de</strong>la tarjeta DT302 y <strong>de</strong> todos los puertos <strong>de</strong> la misma que van a ser usados. Se vecon más <strong>de</strong>talle en el apartado 5.3.3.‣ Start. Es un objeto tipo “flow” o <strong>de</strong> control <strong>de</strong> flujo <strong>de</strong>l programa. Lo usamospara que el usuario pueda <strong>de</strong>cidir, pulsando sobre él, el momento <strong>de</strong> inicio <strong>de</strong>lproceso <strong>de</strong> perfusión (también se pue<strong>de</strong> hacer, evi<strong>de</strong>ntemente, mediante el botón102


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>“Run” <strong>de</strong> la barra <strong>de</strong> herramientas, o pulsando Ctrl. + G. Este botón <strong>de</strong> controlestará incluido en el Panel View o ventana <strong>de</strong> explotación <strong>de</strong> la aplicación.En este punto hay que comentar un aspecto importante sobre el modo <strong>de</strong>ejecución <strong>de</strong> los programas <strong>de</strong>sarrollados en HP-VEE. Como dijimos en sumomento, HP-VEE es un lenguaje orientado a objetos, en el que la ejecución <strong>de</strong>las distintas partes <strong>de</strong>l programa (objetos) no tiene ninguna relación con el or<strong>de</strong>nen el que se coloquen en el panel <strong>de</strong>l programa o la situación física <strong>de</strong> losmismos. De hecho, una <strong>de</strong> las herramientas <strong>de</strong> la aplicación proporcionamétodos para or<strong>de</strong>nar los objetos a gusto <strong>de</strong>l programador, conservando siemprelas conexiones entre los mismos, que son las que realmente <strong>de</strong>finen el sentido<strong>de</strong>l flujo <strong>de</strong>l programa.Existen varias reglas para <strong>de</strong>terminar el or<strong>de</strong>n <strong>de</strong> ejecución <strong>de</strong> un objeto<strong>de</strong>ntro <strong>de</strong> un programa:1. En primer lugar, el sentido <strong>de</strong>l flujo <strong>de</strong> ejecución (propagación)en un objeto es siempre <strong>de</strong> izquierda a <strong>de</strong>recha y <strong>de</strong> arriba abajo.De hecho, a la izquierda se sitúan los pines <strong>de</strong> entrada <strong>de</strong> datos,mientras que a la <strong>de</strong>recha están los <strong>de</strong> salida <strong>de</strong> datos. De igualmanera, arriba está la entrada <strong>de</strong> control y abajo la salida <strong>de</strong>control, como se aprecia en la siguiente figura:2. Fig Para 5.7 que Disposición un objeto <strong>de</strong> se los ejecute, pines en todas un objeto las entradas HP-VEE <strong>de</strong> datos (DataIn) y la entrada XEQ (sólo pue<strong>de</strong> haber una) <strong>de</strong>ben estar103


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>conectadas. Si alguna <strong>de</strong> ellas no lo está, al intentar ejecutar elprograma nos daría error <strong>de</strong> compilación.3. De igual forma, para que el objeto se ejecute, todas las entradasData in y XEQ <strong>de</strong>ben estar activadas. Esto implica que el objetocuya salida <strong>de</strong> datos está conectada a una <strong>de</strong> estas entradas setiene que haber ejecutado previamente.4. La entrada Sequense Input o “entrada <strong>de</strong> control” no tiene por quéestar conectada forzosamente, a diferencia <strong>de</strong> las entradas <strong>de</strong>datos. Pero si esta entrada está conectada, se <strong>de</strong>be <strong>de</strong> activar antes<strong>de</strong> que se pueda ejecutar el objeto.5. Los objetos sin entrada <strong>de</strong> datos o <strong>de</strong> control se ejecutan enprimer lugar Según esta regla, en el bloque Main <strong>de</strong> la figura4.5.en primer lugar se ejecutará el bloque <strong>de</strong> inicialización, yaque no tiene configurada entrada alguna. De esta manera nosaseguramos que todas las variables están <strong>de</strong>finidas e inicializadasy la tarjeta está configurada antes que cualquier objeto <strong>de</strong>lprograma pueda intentar hacer uso <strong>de</strong> ellas.6. Hilos paralelos <strong>de</strong> ejecución pue<strong>de</strong>n ser ejecutados en cualquieror<strong>de</strong>n. Es <strong>de</strong>cir, si dos objetos cumplen a la vez todos susrequisitos para ser ejecutados, el programa no garantiza en modoalguno el or<strong>de</strong>n en que realmente se ejecutarán. En ese caso es elpropio usuario o programador el que tiene que añadir mecanismosadicionales <strong>de</strong> control para verificar que el flujo <strong>de</strong>l programasigue realmente lo <strong>de</strong>seado. Para ello se pue<strong>de</strong>n usar los pinesXEQ o Séquense Input, , por ejemplo.En el caso <strong>de</strong>l bloque main, los objetos “Inicializa” y“Start” cumplen la regla 5 al mismo tiempo (inicio <strong>de</strong>lprograma), por lo que podría dar lugar a conflicto. Sin embargo,éste no se llega a producir, ya que unimos convenientemente la104


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>salida <strong>de</strong> control <strong>de</strong>l objeto Stara a la entrada <strong>de</strong> control <strong>de</strong>Inicializa.7. Los objetos se ejecutan una sola vez, a menos que estén <strong>de</strong>ntro <strong>de</strong>un bucle gobernado por un objeto tipo “repeat”, por ejemplo.8. Si se produce un error, el pin <strong>de</strong> salida “Error” se propaga <strong>de</strong> lamisma forma que lo hacen los pines <strong>de</strong> salida <strong>de</strong> datos en el caso<strong>de</strong> que no haya error. Sin embargo, el pin <strong>de</strong> salida <strong>de</strong> control síque se activa normalmente.‣ Info . Al igual que el objetos “Start”, este objeto no tiene ningún pin <strong>de</strong> entradani control, por lo que se ejecuta al inicio <strong>de</strong>l programa. Sin embargo, con éste noexiste conflicto posible, ya que su única función es mostrar una pantalla <strong>de</strong>l bloc<strong>de</strong> notas con un texto escrito previamente, en el caso <strong>de</strong> que el usuario loseleccione. En nuestro caso lo usamos para incluir en el programa una breve<strong>de</strong>scripción <strong>de</strong>l mismo para el usuario.‣ Call BitMap Éste es un objeto tipo Call, en el que ejecutamos una llamada a unafunción <strong>de</strong> usuario implementada mediante un objeto UserFunction. La funciónBitmap lo único que hace es presentar en pantalla un pequeño menú <strong>de</strong> inicio enel que po<strong>de</strong>mos seleccionar entre comenzar el programa (opción START) o bienentrar en el menú <strong>de</strong> configuración <strong>de</strong>l mismo (opción SETUP). Se presenta enpantalla la vista Panel View <strong>de</strong>l objeto, con el logo <strong>de</strong>l programa <strong>de</strong> fondo <strong>de</strong> laforma siguiente:105


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 5.8: Objeto Bitmap <strong>de</strong> inicio <strong>de</strong>l programa‣ Setup. Este objeto se ejecuta cuando el usuario selecciona la opcióncorrespondiente en el menú <strong>de</strong> inicio (Bitmap).Se trata <strong>de</strong> un objeto en el que elusuario pue<strong>de</strong> seleccionar los valores <strong>de</strong> todos los parámetros <strong>de</strong> relevancia <strong>de</strong>lprograma. Lo vemos con más <strong>de</strong>talle en el apartado 5.3.4.‣ Entrada <strong>de</strong> Datos. Éste es uno <strong>de</strong> los módulos principales. Como se recordará,el objetivo último <strong>de</strong>l programa es implementar un sistema <strong>de</strong> perfusión quelogre introducir en un órgano una disolución con una <strong>de</strong>terminada temperatura yconcentración a cada instante. Pues bien, esa temperatura y concentración<strong>de</strong>berán seguir un <strong>de</strong>terminado perfil a lo largo <strong>de</strong>l tiempo total <strong>de</strong>l experimento.De la elaboración <strong>de</strong> esos perfiles se encarga este módulo, <strong>de</strong>l que nosocuparemos con más <strong>de</strong>talle en el apartado 5.3.5.En este punto, sólo comentar que el módulo Entrada <strong>de</strong> Datos se activajusto cuando el usuario acciona el botón “Start”, o bien cuando termina elobjeto “Setup”. Después <strong>de</strong> ejecutado, dará como salida dos vectores, quecontendrán cada uno los perfiles elaborados <strong>de</strong> concentración (C) y temperatura(T).Una vez ejecutado el objeto, se activará la salida <strong>de</strong> control que va comoentrada al módulo “Principal”, permitiendo a éste ejecutarse.106


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>‣ T,C. Son dos objetos tipo “Logging alphanumeric”,<strong>de</strong>ntro <strong>de</strong> la clase “display”<strong>de</strong> HP-VEE. Su función es la <strong>de</strong> permitir al usuario acce<strong>de</strong>r al contenido <strong>de</strong> unvector viendo todos los elementos <strong>de</strong>l mismoEste tipo <strong>de</strong> objetos los usaremos bastante durante todo el programa; en nuestrocaso nos sirven para comprobar que los elementos <strong>de</strong> los vectores T y C son loscorrectos.‣ Build Waveform. Este objeto <strong>de</strong> HP-VEE se usa para po<strong>de</strong>r representar <strong>de</strong>manera gráfica una curva almacenada previamente en formato <strong>de</strong> vector por otroobjeto. Para ello simplemente lo colocamos entre el objeto que da como salida elvector a representar y el objeto que representa en forma <strong>de</strong> gráfica(“Waveform”) la curva <strong>de</strong>seada.Sólo hay que configurar el “tiempo <strong>de</strong> muestreo” (“t span”), que es eltiempo entre una muestra y otra.Un ejemplo <strong>de</strong> la utilización <strong>de</strong> este objeto es:Fig 5.9 Ejemplo <strong>de</strong> utilización <strong>de</strong>l objeto “Build Waveform”107


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En nuestro caso hemos configurado “time span” como una entrada más alobjeto, <strong>de</strong> tal forma que po<strong>de</strong>mos seleccionar externamente el tiempo entre muestrasconsecutivas en la gráfica. Este tiempo será igual al tiempo seleccionado a la hora <strong>de</strong>realizar los perfiles en el módulo “Entrada <strong>de</strong> Datos”, y lo hemos <strong>de</strong>finido comovariable global en el módulo “Inicializa” con el nombre <strong>de</strong> “tfast”. (Se verá más<strong>de</strong>talladamente el significado <strong>de</strong> esta variable – en realidad constante durante toda laejecución <strong>de</strong>l programa- en el apartado 5.3.3)En el objeto “t_span” lo único que se hace es acce<strong>de</strong>r a la variable antesmencionada (“tfast”) mediante un objeto tipo “Get Variable” (recordamos que tfastestá <strong>de</strong>finida como variable global <strong>de</strong>l programa y la única forma <strong>de</strong> acce<strong>de</strong>r a ella esmediante dicho objeto.A<strong>de</strong>más, se escala dicha variable, dado que tfast está <strong>de</strong>finida en segundos,mientras que el objeto “Build Waveform” precisa <strong>de</strong> un tiempo <strong>de</strong> muestreo expresadoen milisegundos.Tenemos, pues, dos formas <strong>de</strong> acce<strong>de</strong>r a los perfiles <strong>de</strong> temperatura yconcentración creados en el módulo “Entrada <strong>de</strong> Datos”, uno <strong>de</strong> manera gráfica y otroaccediendo a los elementos <strong>de</strong>l vector <strong>de</strong> manera individual:108


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 5.10:Array y forma <strong>de</strong> onda <strong>de</strong>l perfil <strong>de</strong> temperatura T‣ SaveT, SaveC. A<strong>de</strong>más <strong>de</strong> po<strong>de</strong>r acce<strong>de</strong>r en tiempo <strong>de</strong> ejecución <strong>de</strong>l programa alas gráficas creadas <strong>de</strong> temperatura y concentración, el programa almacena estasgráficas en un fichero para po<strong>de</strong>r acce<strong>de</strong>r a ellas en cualquier otro momento.Para ello hacemos uso <strong>de</strong>l objeto “To File”:Fig 5.11 Objeto “To File”Para acce<strong>de</strong>r al fichero haremos uso <strong>de</strong>l objeto “From File”.‣ Principal. Como su propio nombre indica, en este módulo se realizan lasfunciones principales <strong>de</strong>l programa. En él se lleva a cabo el control propiamentedicho, tomando como referencias los perfiles <strong>de</strong> temperatura y concentración109


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>que tiene el objeto como entrada. A<strong>de</strong>más, internamente al objeto, se acce<strong>de</strong>rá ala tarjeta tanto para tomar referencias <strong>de</strong> temperatura como para actuar sobre lasbombas con la señal <strong>de</strong> tensión a<strong>de</strong>cuada.Veremos este bloque con más <strong>de</strong>talle en el apartado 5.3.6.5.3.3 BLOQUE INICIALIZAComo hemos visto en el apartado anterior, este módulo es el primero que seejecuta al iniciar el programa. En su interior están los objetos necesarios para <strong>de</strong>clarar einicializar todas las variables y constantes globales que serán usadas en el programa.Igualmente, se configura la tarjeta <strong>de</strong> adquisición y los puertos usados.Para mayor comodidad, el módulo “Inicializa” se divi<strong>de</strong> en varios submódulossegún la tarea que realiza cada uno:Fig 5.12: División <strong>de</strong>l módulo“Inicializa” en varios submódulos‣ Variables_Globales. En este submódulo se <strong>de</strong>claran e inicializan todas lasvariables <strong>de</strong>l experimento, <strong>de</strong> tal forma que puedan estar accesibles <strong>de</strong>s<strong>de</strong>cualquier módulo <strong>de</strong>l programa. Aunque las <strong>de</strong>claremos como “variables”, enrealidad son las constantes <strong>de</strong> cada experimento, en el sentido <strong>de</strong> que, una vez110


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong><strong>de</strong>finidas por el usuario, no cambiarán durante el tiempo <strong>de</strong> ejecución <strong>de</strong>lprograma.Estas variables son:Fig 5.13: Variables GlobalesExplicamos el significado <strong>de</strong> cada una <strong>de</strong> las variables:• Flujo. Esta variable <strong>de</strong>fine el flujo nominal que se inyectará en el órgano,como suma <strong>de</strong> todos los flujos parciales extraídos por cada uno <strong>de</strong> las 4bombas. Si recordamos las ecuaciones que <strong>de</strong>finen nuestro sistema:⎧⎨⎩T1⎧⎨⎩TQ⋅ C ⋅φ20Q1121+ Q= T⋅ (1 − C)φ12F ,1+ Q022= C ⋅φ⋅ Q= T110+ T⋅QC,1= (1 − C)⋅φF ,221+ T⋅ Q0C,212⋅Q22Ec.5.1Ec.5.2Ec.5.3Ec.5.4símbolo φ .0Vemos que esta variable se <strong>de</strong>nota en dichas ecuaciones mediante elSe expresará en ml/min.• Tf1, Tf2. Correspon<strong>de</strong>n a los valores <strong>de</strong> las temperaturas <strong>de</strong> los baños fríos<strong>de</strong> crioprotector y Krebs, respectivamente. Debemos expresar ambastemperaturas en la escala centígrada (ºC).111


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>• Tc. Este valor, también presente en las ecuaciones 5.1 a 5.4, representa elvalor <strong>de</strong> la temperatura <strong>de</strong>l tanque isotermo “caliente” o a temperaturaambiente. También la tenemos que expresar en grados Celsius, como todaslas temperaturas en el programa.• Tslow. Es el tiempo <strong>de</strong> cambio <strong>de</strong> referencia en el sistema. Una vezdiseñados los perfiles <strong>de</strong> concentración y temperatura a seguir, el sistemamanda cada tslow segundos una referencia a los controladores para que éstostraten <strong>de</strong> seguirla. Durante ese periodo <strong>de</strong> tiempo el controlador solo “ve” unareferencia <strong>de</strong> temperatura constante que es la que ten<strong>de</strong>rá a alcanzar mediantelas acciones <strong>de</strong> control pertinentes. Pasado el tiempo, el sistema lanza unanueva referencia que será extraída, al igual que la anterior, <strong>de</strong> las gráficas <strong>de</strong>temperatura y concentración generadas en el módulo “Entrada <strong>de</strong> Datos”.De esta manera vamos “avanzando” en el perfil <strong>de</strong>seado hasta llegar alfin <strong>de</strong>l proceso, que será cuando tomemos la última referencia <strong>de</strong> la curva.• Tfast Es el segundo <strong>de</strong> los tiempos <strong>de</strong> interés en el programa. Si “tslow”marcaba el ritmo al cual las referencias a seguir se van actualizando en loscontroladores, “tfast” indicará cada cuanto tiempo se lanza la acción <strong>de</strong>control sobre las bombas peristálticas.El controlador intentará siempre seguir la última referencia dada por elprograma durante un tiempo “tslow”. Para ello, calculará las acciones <strong>de</strong>control y las mandará hacia la tarjeta cada “tfast” segundos.Evi<strong>de</strong>ntemente, dado el modo <strong>de</strong> funcionamiento que acabamos <strong>de</strong><strong>de</strong>scribir, se <strong>de</strong>be <strong>de</strong> cumplir que tslow>tfast. En realidad, “tfast” <strong>de</strong>berá serbastante menor que “tslow” , para que al controlador pueda mandar lassuficientes acciones <strong>de</strong> control antes <strong>de</strong> que cambie la referencia (<strong>de</strong> ahí elnombre <strong>de</strong> ambos parámetros). De este modo garantizaremos que llegamos aalcanzar la referencia, <strong>de</strong>ntro <strong>de</strong> ciertos márgenes.112


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>• T_enfria .Como se verá más a<strong>de</strong>lante, en el módulo Principal, es necesrioque antes <strong>de</strong> comenzar el proceso <strong>de</strong> perfusión propiamente dicho, se ejecuteuna fase inicial <strong>de</strong> “preparación” en la que se enfrían los tubos queconducirán el fluido frío <strong>de</strong>s<strong>de</strong> los tanques hasta el corazón. Haciendo estopara intentar minimizar en la medida <strong>de</strong> lo posible las pérdidas térmicaspresentes en el sistema. Para ello ponemos a funcionar la bomba fría almáximo durante un tiempo igual al marcado en esta variable.• Delay. Dentro <strong>de</strong>l ciclo <strong>de</strong> control, la fase inicial correspon<strong>de</strong> a un cálculoteórico <strong>de</strong>l valor <strong>de</strong> caudal que es necesario suminisitrar para lograr unatemperatura igual a la <strong>de</strong>seada en cada momento. Después <strong>de</strong> este cicloentrará a funcionar el control fino o control en bucle cerrado, que hace uso <strong>de</strong>las medidas dadas por los sensores y calcula en cada momento una acción <strong>de</strong>control. El parámetro <strong>de</strong>termina el tiempo que está actuando la “acciónteórica”; es <strong>de</strong>cir, el tiempo que esperamos en cada iteración antes <strong>de</strong> lanzarlos controladores.• Precision. El último <strong>de</strong> los tiempos característicos <strong>de</strong>l sistema tiene unsignificado totalmente distinto al <strong>de</strong>scrito para los tiempos “tslow” y “tfast”.En este caso, lo que se indica mediante el parámetro “precision” es elnúmero <strong>de</strong> puntos por segundo que tomaremos para nuestras gráficas generadasen el módulo “Entrada <strong>de</strong> Datos”.Por <strong>de</strong>fecto, tomaremos un valor <strong>de</strong> 1 para este parámetro, lo que indicaque en Matlab, el vector <strong>de</strong> tiempo <strong>de</strong>l experimento irá <strong>de</strong>s<strong>de</strong> el valor <strong>de</strong> 0 hastael valor <strong>de</strong> duracion con saltos <strong>de</strong> 1 segundoUsando la sintaxis <strong>de</strong> Matlab:t=0:1:duracion;• Directorio. Indica el nombre <strong>de</strong>l directorio don<strong>de</strong> almacenaremos losresultados <strong>de</strong>l experimento.113


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>• Kp, Ki, Kd Son los parámetros <strong>de</strong>l controlador PID que regula latemperatura..La forma usada para <strong>de</strong>finir todos los parámetros es exactamente idéntica, por loque nos <strong>de</strong>tenemos en explicar brevemente sólo la primera <strong>de</strong> ellas, esto es, lainicialización <strong>de</strong>l parámetro “flujo”:Fig 5.15: Inicialización <strong>de</strong> la variable “flujo”Vemos cada uno <strong>de</strong> los objetos y qué función realizan:• Declare Flujo. Es el objeto que nos permite <strong>de</strong>clarar una variable para quepueda ser usada posteriormente. Esto es importante: HP-VEE no contemplala facilidad que tienen otros idiomas (como Visual Basic, por ejemplo) <strong>de</strong> usarvariables sin haber sido <strong>de</strong>claradas previamente. Si intentamos usar unavariable sin haberla <strong>de</strong>clarado antes con este objeto, el programa nos daría unmensaje <strong>de</strong> error al compilar ( como suce<strong>de</strong> en C, por ejemplo). De estamanera se solucionan bastantes conflictos con nombres <strong>de</strong> variables y/ocontextos <strong>de</strong> aplicación <strong>de</strong> las mismas que se podrían presentar.El objeto “Declare” presenta el siguiente menú:114


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 5.16: Menú <strong>de</strong>l objeto “Declare”Vemos el significado <strong>de</strong> cada uno <strong>de</strong> los campos <strong>de</strong>l menú:• Name. Evi<strong>de</strong>ntemente, es el nombre que le damos a la variable.Al indicar un nombre en este campo, cambia automáticamente elnombre <strong>de</strong>l objeto.• Scope. Se refiere al contexto en el cual la variable será “visible”para po<strong>de</strong>r ser usada por otros objetos. Las opciones son:- “Local to Context”. La variable solo será visible <strong>de</strong>s<strong>de</strong> elcontexto en el cual es <strong>de</strong>finida, como por ejemplo elObjeto <strong>de</strong> Usuario “Variables”- “Local to Library”. La variable pertenecerá a unalibrería en concreto, y sólo los objetos que tambiénpertenezcan a dicha librería podrán hacer uso <strong>de</strong> ella.- “Global” El contexto <strong>de</strong> aplicación <strong>de</strong> la variable serátodo el programa, por lo tanto cualquier objeto podráhacer uso <strong>de</strong> ella y modificarla, in<strong>de</strong>pendientemente <strong>de</strong>lnivel jerárquico en que dicho objeto esté.Ésta es la opción que seleccionamos para todos losparámetros <strong>de</strong>l programa.• Type. Define el tipo <strong>de</strong> la variable. Se pue<strong>de</strong> elegir entre tipoReal, entero <strong>de</strong> 32 bits, complejo, forma <strong>de</strong> onda, etc. Cada tipotiene una codificación distinta, y sobre él se pue<strong>de</strong>n hacer sólociertas operaciones, por lo que si intentamos realizar unaoperación limitada a un tipo sobre una variable <strong>de</strong>finida comootro tipo, el programa dará error.115


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En nuestro caso, elegimos tipo “Real”posibles incompatibilida<strong>de</strong>s entre tipos.para evitar• Num Dims Establece el número <strong>de</strong> dimensiones que tendrá lavariable. Así si seleccionamos el valor 0 tendremos un escalar,con 1 tendremos un vector, con 2 una matriz <strong>de</strong> dos dimensiones,etc.Un aspecto importante es que se selecciona el número <strong>de</strong>dimensiones, no el tamaño en cada una <strong>de</strong> las dimensiones; estoqueda libre, pudiéndose introducir cualquier tamaño en función<strong>de</strong> las necesida<strong>de</strong>s.En nuestro caso, seleccionaremos el valor 0 , ya quetrabajamos con parámetros que son escalares.• Flujo (ml/min). Éste es un objeto tipo “Constant”, y permite al usuariointroducir un valor en su caja <strong>de</strong> texto para que sea accesible para el resto <strong>de</strong>objetos mediante su pin <strong>de</strong> salida <strong>de</strong> datos.Hay objetos tipo “Constant” para todos los tipos <strong>de</strong> variables usados enHP-VEE; en concreto éste es un objeto tipo “Constant Real”• Set flujo. Es el objeto que permite dar un valor a una variable previamente<strong>de</strong>finida mediante el objeto “Declare” (al ejecutarse éste último la variable yaocupa un lugar en el espacio <strong>de</strong> memoria <strong>de</strong>l or<strong>de</strong>nador, pero todavía está“vacía”, no tiene ningún valor y da error al intentar leerla).‣ Tarjeta Entrada. En este módulo inicializamos la tarjeta DT302, configurandolos puertos <strong>de</strong> entrada analógicos que necesitamos.116


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 5.17: Inicialización <strong>de</strong> los canales <strong>de</strong> entrada <strong>de</strong> la tarjeta DT 302• Input 0, Input 1. Son dos objetos <strong>de</strong> la clase DT_Data_acq, en particularobjetos tipo A/D Configuration. Haciendo uso ellos po<strong>de</strong>mos configurar lospuertos <strong>de</strong> entrada analógicos <strong>de</strong> la tarjeta conectada al bus PCI, mediante elsiguiente menú:117


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 5.18: Menú <strong>de</strong> configuración <strong>de</strong> los canales A/DEn el menú se pue<strong>de</strong>n configurar los siguientes parámetros:• Channel. La tarjeta DT302 tiene hasta 16 posibles canalesanalógicos <strong>de</strong> entrada, funcionando en modo “single en<strong>de</strong>d”; es<strong>de</strong>cir, con tensión <strong>de</strong> una sola polaridad. Si queremos trabajar conrango <strong>de</strong> tensiones ampliado (tensión diferencial), tenemos queusar 2 canales “single en<strong>de</strong>d” para cada canal <strong>de</strong> entrada,reduciéndose el número <strong>de</strong> canales a la mitad (disponemos <strong>de</strong> 8).En nuestro caso usaremos sólo 2 canales <strong>de</strong> entrada:Input 0 e Input 1. El primer <strong>de</strong> ellos tomará la tensión <strong>de</strong> salida<strong>de</strong>l primer sensor <strong>de</strong> temperatura, que mi<strong>de</strong> la temperatura <strong>de</strong>lcrioprotector. Input1 hará lo propio con el segundo <strong>de</strong> lossensores, que mi<strong>de</strong> la temperatura <strong>de</strong>l Krebs.• Gain. La tarjeta se pue<strong>de</strong> programar para que añada una gananciavía hardware a la señal que se introduce por los canalesanalógicos <strong>de</strong> entrada. Esta ganancia se pue<strong>de</strong> seleccionar entrelos valores 1,2, 4 y 8.118


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En ambos canales <strong>de</strong> entrada tomaremos ganancia nula(0dB), lo que equivale a seleccionar la ganancia 1 en este menú.• Rate. Es la tasa <strong>de</strong> muestreo en Hertzios (número <strong>de</strong> muestras porsegundo) a la que funciona el convertidor Analógico-Digital conel que funciona internamente cada uno <strong>de</strong> los canales <strong>de</strong> entrada<strong>de</strong> la tarjeta. Dado que nuestra señal va a ser esencialmente unaseñal en baja frecuencia, tomamos el valor por <strong>de</strong>fecto <strong>de</strong> latarjeta; esto es: 1000Hz.• Timing. En esta ventana se configura con más <strong>de</strong>talle cada uno<strong>de</strong> los aspectos <strong>de</strong> temporización <strong>de</strong> los canales. Entre otras cosasse pue<strong>de</strong> configurar el modo <strong>de</strong> funcionamiento <strong>de</strong>l reloj, si ésteva a ser externo o interno, etc.• Hardware. Aquí se configura el modo <strong>de</strong> funcionamiento y elrango <strong>de</strong>l canal; esto es, se indica a la tarjeta si trabajaremos enmodo “single en<strong>de</strong>d” o “diferential” y el rango <strong>de</strong> tensiones <strong>de</strong>entrada admisibles:Fig 5.19: Menú <strong>de</strong> configuración Hardware• Declare Input 0, Input 1. Una vez configurados los puertos <strong>de</strong> entrada en latarjeta con los objetos Input0, Input1, éstos dan como salida un “manejador <strong>de</strong>hardware”, <strong>de</strong>nominado “hSubsys” Usando este manejador, el resto <strong>de</strong> objetos<strong>de</strong> la calase DataACq pue<strong>de</strong>n acce<strong>de</strong>r a la tarjeta ya configurada. Para ello, lo119


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>que hacemos es <strong>de</strong>finir una variable global don<strong>de</strong> vamos a almacenar estosmanejadores, <strong>de</strong> tal forma que <strong>de</strong>s<strong>de</strong> cualquier parte <strong>de</strong>l programa podamoshacer uso <strong>de</strong> ellos con los objetos “Get Variable”.Es <strong>de</strong>cir, tratamos los manejadores “hsubsys” exactamente igual que sise tratasen <strong>de</strong> constantes <strong>de</strong>l programa. En este caso el tipo <strong>de</strong> variable esInt32.De igual forma que hicimos con las variables en el módulo“Variables_Globales”, una vez <strong>de</strong>clarada la variable, la inicializamos al valorque da como salida los objetos <strong>de</strong> configuración Hardware; esto es, Input 0 eInput 1.Fig 5.20: Declaración <strong>de</strong> lavariable Input0‣ Tarjeta Salida. Este módulo es totalmente análogo al anterior, con la salvedad<strong>de</strong> que en este caso se establece la configuración <strong>de</strong> los puertos analógicos ydigitales <strong>de</strong> salida, mientras que en el módulo “Tarjeta Entrada” lo que seconfiguraban eran los puertos analógicos <strong>de</strong> entrada.La estructura <strong>de</strong>l módulo es la siguiente:120


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 5.21: Módulo “Tarjeta Salida”Como se pue<strong>de</strong> apreciar en la figura 4.21, la estructura <strong>de</strong> este módulo esesencialmente la misma que la <strong>de</strong>l módulo “Tarjeta_Entrada”. Es <strong>de</strong>cir, con los objetos<strong>de</strong> configuración seleccionamos el modo <strong>de</strong> funcionamiento <strong>de</strong>seado para los puertos encuestión <strong>de</strong> la tarjeta. Estos objetos darán como salida una variable tipo hSubsys, queintroduciremos en el objeto “Set Variable” tras valer <strong>de</strong>clarado una variable tipo global.La diferencia fundamental está en el tipo <strong>de</strong> objetos <strong>de</strong> configuración que se usan.Mientras que en el módulo “Tarjeta_Entrada” se usaban objetos tipo “A/DConfiguration”, en este caso tendremos dos tipos <strong>de</strong> objetos <strong>de</strong> configuración:• Objetos “D/A Configuration” Son los objetos que hemos etiquetado como“Analog Output 0” y “Analog Output 1” y correspon<strong>de</strong>n a la configuración<strong>de</strong> los únicos dos canales <strong>de</strong> salida analógicos con los que cuenta la tarjetaDT302.El menú <strong>de</strong> configuración es :121


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 5.22: Menú <strong>de</strong>l objeto “D/A Configuration”Como se observa en la figura 5.22, el menú <strong>de</strong> configuración <strong>de</strong> los objetos“D/AConfiguration” es prácticamente idéntico al ya visto en los objetos “A/DConfiguration”; sólo se diferencia en algunos <strong>de</strong>talles:• En primer lugar, en la pestaña “Channel” sólo aparecen dosopciones: 0 y 1, dado que la tarjeta DT302 sólo tiene 2 canalesanalógicos <strong>de</strong> salida• No se pue<strong>de</strong> seleccionar ganancia alguna para la salida; siempre seráel valor 1.• En el submenú “Hardware” sólo existe la opción <strong>de</strong> configurar lasalida en modo “differential”• Objetos “Digital Out Config”. Como su propio nombre indica, haciendo uso<strong>de</strong> este objeto po<strong>de</strong>mos configurar uno <strong>de</strong> los puertos digitales <strong>de</strong> la tarjetacomo puerto <strong>de</strong> salida <strong>de</strong> datos. Así, y mediante la adición <strong>de</strong> un CDA externo(ver apartado 4.5) po<strong>de</strong>mos tener dos canales <strong>de</strong> salida analógicos “extra”.El menú <strong>de</strong> configuración es un poco distinto al que ya hemos visto paralos canales analógicos <strong>de</strong> entrada y salida:122


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 5.23: Menú <strong>de</strong> configuración <strong>de</strong>los puertos E/S digitalesComo se aprecia, en este caso la configuración es aún más fácil: bastarásimplemente con seleccionar la tarjeta entre las que tengamos instalada (ennuestro caso sólo una: la DT302) y elegir cuál <strong>de</strong> los 3 puertos (A, B, C) estamosconfigurando como salida. Una vez hecho esto, el objeto internamente llamará alas funciones necesarias para asegurar la correcta configuración.En la figura 5.21 vimos cómo hemos configurado dos salidas analógicas(“analog0 y analog1”) y dos puertos digitales como salida (“PortA y portB”), lograndoasí las 4 salidas que precisamos en el sistema para el control <strong>de</strong> las 4 bombasperistálticas. Ahora bien, ¿cómo distribuimos estas salidas entre las 4 bombas?Po<strong>de</strong>mos pensar que la forma en que asignemos los canales <strong>de</strong> salida a lasbombas es totalmente indiferente, dado que en última instancia los 4 darán una tensiónentre 0 y 10V, que es lo que precisan las bombas para ser controladas. Sin embargo, enla práctica comprobamos que los dos canales creados a partir <strong>de</strong> los puertos <strong>de</strong>Entrada/Salida digitales <strong>de</strong> la tarjeta mediante los CDA externos no tienen unfuncionamiento igual que los dos canales analógicos <strong>de</strong> salida <strong>de</strong> la tarjeta DT302. Estoes normal, ya que nuestro convertidor está realizado a partir <strong>de</strong> componentes discretos,por lo que estará expuesto a muchas más fuentes <strong>de</strong> error que los sistemas integrados <strong>de</strong>conversión <strong>de</strong> la tarjeta.123


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En particular, se comprueba que el convertidor empieza a fallar al llegar a losvalores digitales más altos; es <strong>de</strong>cir, la curva real se distancia <strong>de</strong> la i<strong>de</strong>al, por lo que lacorrespon<strong>de</strong>ncia entre el valor digital <strong>de</strong> entrada y la tensión analógica <strong>de</strong> salida no es lamisma que en la zona “baja” <strong>de</strong> la curva. Po<strong>de</strong>mos explicarlo diciendo que, para valoresaltos <strong>de</strong> tensión, cambia el valor <strong>de</strong>l LSB.Decidimos asignar los canales digitales <strong>de</strong> salida (“PortA” y “PortB”) a lasbombas que extraerán el crioprotector, mientras que los canales <strong>de</strong> salida “analog0” y“analog1” se asignarán a las bombas que extraen el Krebs <strong>de</strong> los baños fríos ytemperatura ambiente. Se ha optado por esta opción ya que sabemos que laconcentración en la mezcla <strong>de</strong> crioprotector no va a ser muy alta, por lo quegeneralmente no llegaremos a valores altos para la tensión <strong>de</strong> control en las bombas queextraen el crioprotector. Sabemos que la mayor parte <strong>de</strong>l tiempo el sistema trabajará enla zona <strong>de</strong>l CDA don<strong>de</strong> el funcionamiento es mejor.La asignación queda, pues, <strong>de</strong> la siguiente manera:• Q 11 : Anticongelante frío: PortA• Q 12 : Anticongelante temperatura ambiente : PortB• Q 21 : Krebs frío : Analog0• Q 21 : Krebs temperatura ambiente : Analog15.3.4 BLOQUE “SETUP”En este módulo se ha implementado un pequeño menú <strong>de</strong> configuración en el queel usuario pue<strong>de</strong> acce<strong>de</strong>r y modificar todos los parámetros relevantes <strong>de</strong>l mismo. Dichosparámetros son los que ya hemos <strong>de</strong>scrito anteriormente en el módulo “Inicializa”, y serefieren tanto a variables <strong>de</strong>l experimento (temperaturas <strong>de</strong> los tanques, flujo nominal,etc) como a variables <strong>de</strong> funcionamiento <strong>de</strong>l sistema (tiempos característicos). Tambiénse selecciona el directorio don<strong>de</strong> se <strong>de</strong>sea que se graben los resultados.124


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En el mencionado módulo “Inicializa” se han <strong>de</strong>finido previamente todos estosparámetros como variables globales <strong>de</strong>l sistema y se les ha dado un valor por <strong>de</strong>fecto,que es el que aparecerá al iniciarse el módulo “SETUP”.Fig 5.24. SetupSi el usuario <strong>de</strong>sea realizar cambios en alguno <strong>de</strong> los parámetros <strong>de</strong>be pulsar enprimer lugar la opción Aplicar, pulsando Aceptar para salir <strong>de</strong>l menú, hay habidocambios o no.El modo <strong>de</strong> implementar el objeto SETUP se basa en que los objetos tipoconstante se ejecutarán sólo cuando se lance el evento “Aplicar”. De esta manerahacemos posibles que el usuario pueda modificar el valor <strong>de</strong>l parámetro tantas vecescomo crea necesario antes <strong>de</strong> seleccionar el valor <strong>de</strong>finitivo. De la misma forma, losobjetos se ejecutarán siempre al iniciarse el módulo, con la intención <strong>de</strong> que seavisualizado el valor por <strong>de</strong>fecto, que leemos con un objeto GetVariable.Finalmente, al pulsar aceptar se lanza el valor <strong>de</strong> salida <strong>de</strong>l objeto constante haciaun objeto SetVariable mediante la activación <strong>de</strong> un objeto Gate.El código <strong>de</strong>l módulo Setup es el siguiente:125


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 4.25: Código <strong>de</strong>l SETUP5.3.5 BLOQUE “ENTRADA DE DATOS”Este módulo es el encargado <strong>de</strong> realizar la primera parte <strong>de</strong>l proceso <strong>de</strong>perfusión; esto es, la creación <strong>de</strong> los perfiles <strong>de</strong> temperatura y concentración queposteriormente servirán <strong>de</strong> referencia para los módulos <strong>de</strong> control <strong>de</strong> las bombas. Paraello, como veremos a continuación, haremos uso <strong>de</strong> la aplicación “Matlab”¸ que <strong>de</strong>beráinstalada en el mismo PC que el software <strong>de</strong> control HP-VEE, don<strong>de</strong> está <strong>de</strong>sarrolladoel programa principal.126


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>• ¿Por qué Matlab?En primer lugar nos preguntamos sobre la necesidad <strong>de</strong> usar un programa comoMatlab, dado que nuestro software HP-VEE aporta varios objetos para el tratamiento <strong>de</strong>gráficas, e incluso interpolación. En concreto, HP-VEE tiene objetos para representargráficas o datos en distintos formatos (menú display). Sin embargo, esto es bastantelimitado, ya que lo que hacen estos objetos es simplemente hacer accesible para elusuario <strong>de</strong> una manera gráfica un conjunto <strong>de</strong> datos.En este módulo precisamos hacer bastante más. En primer lugar, no sólonecesitamos representar un conjunto <strong>de</strong> datos en una gráfica, sino que en primer lugar,queremos introducir <strong>de</strong> forma dinámica una serie <strong>de</strong> puntos; esto es, el propio usuario<strong>de</strong>fine los puntos característicos <strong>de</strong> las curvas. Esto, evi<strong>de</strong>ntemente, también lopo<strong>de</strong>mos hacer con HP-VEE, pero el interfaz proporcionado por Matlab es mucho másversátil.Sin embargo, la mayor limitación <strong>de</strong> HP-VEE se da cuando, una vez introducidoslos puntos <strong>de</strong> relevancia en las curvas, queremos generar dichas curvas porinterpolación <strong>de</strong> dichos puntos. Efectivamente, nuestro programa requiere <strong>de</strong> un“continuo” <strong>de</strong> puntos <strong>de</strong> don<strong>de</strong> tomar las referencias cada cierto tiempo. Para ello lo queharemos será interpolar los puntos que el usuario introduzca. La interpolación es unproceso algo más complejo, y el realizarlo con HP-VEE supondría mucho más esfuerzo<strong>de</strong> programación que con Matlab, don<strong>de</strong> es algo prácticamente inmediato. A<strong>de</strong>más,Matlab ofrece gran variedad <strong>de</strong> tipos <strong>de</strong> interpolación (spline, poligonales, cuadráticas,cúbicas, etc.)Es por ello que optamos por crear un pequeño “subprograma” en Matlab pararealizar la tarea <strong>de</strong> captación <strong>de</strong> datos por parte <strong>de</strong>l usuario e interpolación <strong>de</strong> losmismos.Hay que <strong>de</strong>cir que existe una versión posterior <strong>de</strong>l software que usamos (HP-VEE6.0) que ya contiene entre sus opciones objetos que trabajan directamente consentencias <strong>de</strong> Matlab. Sin embargo, nosotros trabajamos con la versión 5.0, por lo quees necesario crear el programa <strong>de</strong> forma externa a HP-VEE y comunicar los dosprocesos entre sí.127


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Sin embargo, el uso <strong>de</strong>l programa Matlab implica un claro inconveniente, comoes que el usuario <strong>de</strong>be tener instalado dicho paquete Software en su PC. Es por ello que,a<strong>de</strong>más <strong>de</strong> la versión <strong>de</strong>l programa que usa Matlab, creamos una nueva versión <strong>de</strong>lmismo en el que hacemos uso únicamente <strong>de</strong>l programa HP-VEE, incluso para la etapa<strong>de</strong> creación <strong>de</strong> perfiles que ahora nos ocupa. Como hemos comentado anteriormente,trabajando <strong>de</strong> esta forma per<strong>de</strong>remos gran parte <strong>de</strong>l potencial <strong>de</strong> Matlab; en concreto,HP-VEE sólo nos va a permitir crear interpolaciones lineales.5.3.5.1 Módulo <strong>de</strong> Entrada <strong>de</strong> Datos en MatlabVemos en primer lugar <strong>de</strong> qué forma vamos a solventar el hecho <strong>de</strong> trabajar endos plataformas Software distintas, como son HP-VEE y Matlab.• Comunicación entre los procesosComo ya hemos dicho, parte <strong>de</strong>l programa va a estar programado en Matlab,mientras que el grueso <strong>de</strong>l mismo lo estará en HP-VEE. Se hace, pues, necesario,comunicar ambas aplicaciones entre sí. En concreto, HP-VEE “ce<strong>de</strong>rá” el control aMatlab al inicio <strong>de</strong>l proceso, cuando requiera que éste cree los perfiles, y Matlab le<strong>de</strong>volverá las gráficas cuando haya terminado.La primera opción que se nos presenta es salvar en un fichero los resultados <strong>de</strong> lainterpolación en Matlab, <strong>de</strong> tal forma que HP-VEE pueda tener acceso a los datoshaciendo uso <strong>de</strong> un objeto que abra dicho fichero. Ésta es una opción “poco elegante”, yque a<strong>de</strong>más tiene varios inconvenientes, como por ejemplo que tenemos que asegurar lacompatibilidad entre los formatos <strong>de</strong> almacenamiento <strong>de</strong> Matlab y HP-VEE.HP-VEE ofrece otras alternativas <strong>de</strong> comunicación, como por ejemplo, trabajarcon sockets o procesos ejecutables compilados en UNIX. Ofrece también la posibilidad<strong>de</strong> trabajar con el protocolo interno <strong>de</strong> comunicación <strong>de</strong> procesos en Windows DDE(“Direct Data Exchange”). Mediante objetos <strong>de</strong>l tipo to/from, se pue<strong>de</strong> programar unacomunicación con otra aplicación <strong>de</strong> Windows que soporte este protocolo, ajustando losparámetros necesarios. Se crea así un “enlace” interno al Sistema Operativo que,128


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>mediante una arquitectura cliente-servidor, asegura la transferencia <strong>de</strong> datos entre lasaplicaciones. Esto sería i<strong>de</strong>al para nuestros propósitos, pero tiene el inconveniente <strong>de</strong>que DDE no soporta todos los tipos <strong>de</strong> datos.Encontramos otro protocolo bastante similar al DDE pero que sí soporta todos lostipos <strong>de</strong> datos que precisamos en nuestra aplicación. Este “protocolo” se basa en latecnología “Active X”, ampliamente difundida y soportada por las últimas versiones <strong>de</strong>Matlab. Usando clases Active-X, HP-VEE provee objetos que permite realizar diversasacciones con Matlab <strong>de</strong> forma similar a si estuviéramos operando <strong>de</strong>s<strong>de</strong> la consola <strong>de</strong>dicho programa. Entre estas acciones está introducir una matriz, leerla, ejecutar unprograma, abrirlo, cerrarlo, etc.Para activar estas opciones, seguiremos los siguientes pasos en HP-VEE:1. En primer lugar tenemos que seleccionar la librería <strong>de</strong> componentes a utilizar.Para ello, nos vamos al menú Device→ Actives Automation References.2. Se nos abre un menú, don<strong>de</strong> tendremos que activar la opción Matlab Application5.2 (versión 5.2) Type Library.Fig 4.26: Menú <strong>de</strong> selección <strong>de</strong> componentes129


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>3. Una vez hecho esto, ya po<strong>de</strong>mos seleccionar los objetos que <strong>de</strong>seemos. Para ellohacemos uso <strong>de</strong>l buscador <strong>de</strong> objetos y funciones, pulsando ctrl. + I o haciendoclic en el icono .• Estructura <strong>de</strong> Objetossiguiente:Pasamos a <strong>de</strong>scribir el módulo “Entrada <strong>de</strong> Datos”. Su estructura <strong>de</strong> objetos es laFig 4.27: Estructura <strong>de</strong> objetos <strong>de</strong>l módulo <strong>de</strong> entrada<strong>de</strong> datos basado en Matlab130


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En primer lugar, en cumplimientos <strong>de</strong> las reglas <strong>de</strong> ejecución en HP-VEE, seejecutará el objeto Declare Matlab. Es un objeto tipo Declare como los vistos en elapartado 5.3.3, con la única salvedad que el objeto es el nombre <strong>de</strong> la aplicación queharemos uso en los siguientes objetos, <strong>de</strong>finiéndose como Global y tipo Objeto:Fig 4.28: Objeto “Declare Matlab”Una vez que hemos <strong>de</strong>clarado la variable, po<strong>de</strong>mos hacer uso <strong>de</strong> ella <strong>de</strong>s<strong>de</strong>cualquier objeto. En primer lugar la usaremos para ejecutar el programa Matlab, <strong>de</strong>forma exactamente igual que si lo hiciéramos <strong>de</strong>s<strong>de</strong> el menú <strong>de</strong> inicio <strong>de</strong> Windows. Estoo hacemos con el objeto “Start Matlab”:Fig 4.29: Objeto “Start Matlab”Si existe algún problema y no se pue<strong>de</strong> ejecutar correctamente el programaMatlab, el objeto activará su salida <strong>de</strong> error, que a su vez lanza un mensaje <strong>de</strong> error y elprograma se <strong>de</strong>tendrá con el objeto STOP.Por el contrario, si Matlab se ha ejecutado correctamente, se ejecutará otrocuadro <strong>de</strong> diálogo que avisa al usuario <strong>de</strong> que <strong>de</strong>be proce<strong>de</strong>r a introducir los datos en elprograma Matlab para que la aplicación pueda seguir su curso.131


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Una vez que el usuario ha leído el cuadro <strong>de</strong> diálogo y lo ha cerrado pulsando enel botón “aceptar”, se ejecutará un objeto que “maximiza” el programa Matlab, para queel usuario pueda empezar a hacer uso <strong>de</strong> él:Fig 4.30: Objeto que maximiza la aplicaciónLa primera acción que se lleva a cabo sobre el programa Matlab es introducir ensu espacio <strong>de</strong> variables una matriz con nombre “t”.Esta matriz será el vector <strong>de</strong> tiempos<strong>de</strong>l sistema, que servirá <strong>de</strong> base en nuestra aplicación Matlab para generar los perfiles<strong>de</strong> concentración y temperatura.Fig 4.31: Objeto que introduce en Matlab lamatriz tSobre este objeto hay que realizar algunas consi<strong>de</strong>raciones:En primer lugar, se observa que el procedimiento <strong>de</strong>l que se hace uso para llevara cabo la acción <strong>de</strong> introducir una matriz en Matlab tiene 4 parámetros <strong>de</strong> entrada. Elprimero <strong>de</strong> ellos es el nombre <strong>de</strong> la variable en cuestión (en nuestro caso, “t”). Elsegundo <strong>de</strong> ellos hace referencia al espacio <strong>de</strong> variables <strong>de</strong> Matlab don<strong>de</strong> crearemosdicha variable. En nuestro caso, crearemos la variable “t” <strong>de</strong>ntro <strong>de</strong>l espacio <strong>de</strong>variables global <strong>de</strong>l programa, lo cual se <strong>de</strong>nota mediante la palabra “base”.Por último, hay que hacer referencia a los parámetros pr, pi1. Por <strong>de</strong>fecto, elobjeto Put Full Matriz admite como entrada una matriz que <strong>de</strong>be ser compleja . Hayque introducirle por separado las partes real e imaginaria, que son precisamente lasentradas pr, pi1.132


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En nuestro caso, trabajaremos siempre con vectores reales, por lo que la entradapi1 <strong>de</strong>berá ser “nula”. A<strong>de</strong>más, el vector “t” será generado por la propia aplicaciónMatlab, con un tamaño <strong>de</strong>finido a partir <strong>de</strong>l tiempo <strong>de</strong>l experimento seleccionado por elusuario. Por tanto, no tiene sentido <strong>de</strong>finir un tamaño a priori, por lo que también elvector pr será “nulo”.Dado que HP-VEE no admite “vectores vacíos”, lo que se hace es crear“artificialmente” un vector que contenga sólo un elemento nulo. Esto es lo que hace elobjeto “EmptyArray”, que será la entrada <strong>de</strong> pr y pi1.Una vez introducido el vector “t” en Matlab, todo está dispuesto para que elusuario haga uso <strong>de</strong> la aplicación para diseñar los perfiles. Y es aquí don<strong>de</strong> se presentael problema <strong>de</strong>l sincronismo entre las dos aplicaciones. Dado que es el usuario el que<strong>de</strong>fine los perfiles en Matlab, no po<strong>de</strong>mos saber a priori cuánto tiempo va a tardar esteproceso, y por tanto, cuándo pue<strong>de</strong> tomar <strong>de</strong> nuevo HP-VEE el control <strong>de</strong> la aplicación.El usuario pue<strong>de</strong> tardar más o menos tiempo en función <strong>de</strong> factores como el número <strong>de</strong>puntos introducidos, la duración <strong>de</strong>l experimento, tipo <strong>de</strong> interpolación seleccionada,etc.Se hace necesario, pues, programar un mecanismo que “sincronice” las dosaplicaciones para que, una vez se haya terminado el proceso en Matlab, HP-VEE puedaretomar el control y continuar con el proceso.figura 5.27).Esto se implementa mediante el bucle gobernado por el objeto UntilBreak (VerEl modo <strong>de</strong> operación es el siguiente: una vez ejecutado el objeto “Put FullMatriz” se activa el objeto <strong>de</strong> control <strong>de</strong> flujo “Until Break”. Este objeto crea un “hilo<strong>de</strong> ejecución” <strong>de</strong>l programa; esto es, hace que se ejecute continuamente el grupo <strong>de</strong>objetos que están conectados a su salida hasta que se ejecute un objeto tipo “Break”.Esta técnica <strong>de</strong> programación se <strong>de</strong>nomina “espera activa”, ya que lo quehacemos es esperar que se termine la aplicación en Matlab, y mientras esto suce<strong>de</strong>133


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>vamos testeando una cierta condición que nos <strong>de</strong>terminará precisamente cuándo finalizala aplicación.La condición que vamos testeando <strong>de</strong>ntro <strong>de</strong>l bucle es que el vector <strong>de</strong> tiempos<strong>de</strong>l proceso, “t”, siga teniendo longitud nula, que es la que le dimos por <strong>de</strong>fecto cuandolo introdujimos en el espacio <strong>de</strong> variables <strong>de</strong> Matlab.La aplicación programada en Matlab que calcula los perfiles <strong>de</strong> temperatura yconcentración se ha diseñado como una función, es <strong>de</strong>cir, un trozo <strong>de</strong> código que dacomo resultado un cierto número <strong>de</strong> variables, que al tratarse <strong>de</strong> Matlab, siempre seránvectores. Uno <strong>de</strong> los vectores que <strong>de</strong> cómo resultado será el vector <strong>de</strong> tiempos “t”. Estevector se <strong>de</strong>finirá <strong>de</strong>ntro <strong>de</strong> la función haciendo uso <strong>de</strong>l tiempo total <strong>de</strong> experimento queseleccione el usuario. Así, cuando finalice la función, este vector se “superpondrá” alvector “t” que introducimos al principio con dimensión nula.Lo primero que se hace en el bucle es ejecutar en Matlab una instrucción quecalcule la longitud <strong>de</strong>l mencionado vector “t”. Esto se hace mediante el siguiente objeto,también basado en Active X:Fig 4.32: Objeto Chequea_Dimension”La instrucción l=length(t) <strong>de</strong> Matlab calcula la longitud <strong>de</strong>l vector que seintroduce como parámetro (esto es, “t”) y la introduce en la variable “l”. Esta variabletambién pertenecerá al espacio <strong>de</strong> variables global <strong>de</strong> Matlab.Una vez calculado el tamaño, lo siguiente es comprobar su valor, para lo cual“obtenemos” la variable “l” <strong>de</strong>s<strong>de</strong> HP-VEE mediante el objeto “Get Full Matrix”:Fig 4.33: Objeto GetFullMatrix, con el que obtenemos elvalor <strong>de</strong> la variable l134


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Este objeto es análogo al “Put Full Matriz”, ya visto. De hecho realiza lafunción complementaria a éste; es <strong>de</strong>cir, lo que hace es “obtener” el valor <strong>de</strong> unavariable <strong>de</strong>s<strong>de</strong> el programa Matlab. Por analogía <strong>de</strong>ducimos que el primero <strong>de</strong> losparámetros indica el nombre <strong>de</strong> la variable, mientras que el segundo indica el espacio <strong>de</strong>variables don<strong>de</strong> ésta se encuentra. En los dos últimos parámetros se indica que las partesreal e imaginaria <strong>de</strong> la variable en cuestión se tomarán “por referencia”.Dado que en este caso lo que estamos leyendo es un escalar, <strong>de</strong>finimos a laentrada <strong>de</strong>l objeto un vector <strong>de</strong> una dimensión y un solo valor:Fig 4.34: Vector <strong>de</strong> entrada para pr y pi1Como se aprecia en la figura 5.27, la salida <strong>de</strong>l objeto Get Full Matriz (enrealidad sólo la parte real <strong>de</strong>l vector “l”) va a la entrada <strong>de</strong> un objeto tipo if/then/else,don<strong>de</strong> chequearemos su valor.El funcionamiento <strong>de</strong> estos objetos es tal que se acciona la salida “then” si severifica la condición indicada. Si no es así, la salida activada será la marcada como“else”.Fig 4.35: chequeo <strong>de</strong> lacondición sobre la variableEn este caso, la condición que se comprueba es que el valor <strong>de</strong> la entrada alobjeto (“pr”) sea distinto <strong>de</strong> cero. En caso <strong>de</strong> que sea así, se activa la salida “Then”, que135


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>a su vez activa el objeto Break, forzándose la salida <strong>de</strong>l bucle. En caso contrario (lalongitud <strong>de</strong>l vector “t” sigue siendo cero) no suce<strong>de</strong> nada y seguimos en el bucle.Una vez que se sale <strong>de</strong>l bucle con el ”Break”, se permite que se ejecute el objeto“Dimension”. Este objeto ha ido tomando como entrada pr, pero no se le permiteejecutarse hasta que no finaliza el objeto “Until Break”. En este objeto pasamos <strong>de</strong>vector a un escalar el valor <strong>de</strong> la dimensión, que se conecta a la salida <strong>de</strong>l móduloEntrada <strong>de</strong> Datos.Una vez salidos <strong>de</strong>l bucle lo que resta es obtener las matrices <strong>de</strong> temperatura yconcentración. Para ello haremos uso <strong>de</strong> sendos objetos tipo “Get Full Matriz”,uno paracada matriz. En primer lugar obtendremos la matriz <strong>de</strong> temperaturas y a continuación la<strong>de</strong> concentración.Un pequeño problema que hay que solventar es que no sabemos a priori quélongitud van a tener dichas matrices. Para solventarlo tomamos la salida <strong>de</strong>l objetodimension y la introducimos como entrada a un objeto que genera un vector.Después <strong>de</strong> capturadas las matrices, se conectan a la salida <strong>de</strong>l módulo Entrada<strong>de</strong> Datos para que puedan ser accesibles <strong>de</strong>s<strong>de</strong> el resto <strong>de</strong>l programa. A su vez, dosobjetos tipo display (T y C) permiten acce<strong>de</strong>r a cada elemento <strong>de</strong> la matriz.Una vez hecho esto, sólo queda cerrar el programa Matlab, lo que hacemosmediante el objeto Matlab.Quit. Si se produce algún error, se informa al usuario y selanza un objeto Stop que <strong>de</strong>tiene la aplicación.• Programa regresion.mEl programa <strong>de</strong>sarrollado en Matlab para introducir los datos <strong>de</strong> usuario y generarlos perfiles mediante interpolación se ha programado como una función (con extensión.m) que da como salida los vectores t, T y C (tiempo, Temperatura y Concentración,respectivamente). El código fuente <strong>de</strong> la función se muestra a continuación:136


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>function [t,T,C]=regresion()clcclfdisp (' ')disp (' ')disp (' ')disp ('****************************************************************')disp ('*MENU DE INICIO DEL SISTEMA DE PERFUSIÓN *')disp ('* INTRODUZCA LOS DATOS NECESARIOS PARA ELABORAR LOS PERFILES ')disp ('**************************************************************** ')disp (' ')disp (' ')disp (' INTRODUZCA TIEMPO TOTAL DEL EXPERIMENTO (segundos) ')duracion=input (' Duración = ');disp (' ')t=0:1:duracion; %VECTOR DE TIEMPOtiempos=[]; %VECTOR DE TIEMPOS DE LOS PUNTOS TIEMPO,TEMPtemps=[]; %VECTOR DE TEMPERATURAS DE LOS PUNTOS TIEMPO,TEMPconcents=[]; %VECTOR DE CONCENTRACIONES DE LOS PTOS TIEMPO, CONCENTSdisp (' ')disp (' INTRODUZCA LOS PUNTOS SIGNIFICATIVOS DEL PERFIL DETEMPERATURA ')disp (' DE LA FORMA: TIEMPO,TEMPERATURA ')disp (' INTRODUZCA 0,0 PARA TERMINAR ')disp (' ')subplot (1,2,1); %ABRIMOS LA VENTANA DE REPRESENTACIÓNgrid on;title ('PERFIL DE TEMPERATURA ');xlabel ('TIEMPO (segundos) ');ylabel ('TEMPERATURA (grados) ');while (1==1) %LEEMOS LOS DATOS QUE VA INTRODUCIENDO EL USUARIOentrada(1)=input(' Tiempo = ');entrada(2)=input(' Temperatura = ') ;disp (' ')if (entrada==[0,0]) %FINbreakelse%EN PRIMER LUGAR REPRESENTAMOS EL PUNTO EN LA GRÁFICAplot (entrada(1),entrada(2),'xr');grid on;hold on;title ('PERFIL DE TEMPERATURA ');xlabel ('TIEMPO (segundos) ');ylabel ('TEMPERATURA (grados) ');endtiempos=[tiempos,entrada(1)]; %LO AÑADIMOS AL VECTOR DE TIEMPOStemps=[temps,entrada(2)]; %LO AÑADIMOS AL VECTOR DE TEMPERATURASendclear entrada;137


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>disp (' ')disp (' ')disp ('disp (' ')disp ('disp ('disp ('disp ('ELIJA EL PERFIL DE CURVA DESEADA: ')1) POLÍGONO ')2) POLINOMIO GRADO N QUE PASE POR TODOS LOS PUNTOS ')3) INTERPOLACIÓN POLINOMIAL ')4) INTERPOLACIÓN SPLINE ')disp (' ');opcion=input('OPCIÓN = ');format long; %MAXIMA PRECISION PARA RESOLVER EL SSIT. ECS.switch (opcion)case 1 %POLIGONOSif (tiempos(length(tiempos)) ~= duracion) %ULTIMO PUNTO DISTINTO ADURACION%CALCULAMOS LA PENDIENTE DEL ÚLTIMO TRAMO DE RECTApendiente=(temps(length(temps))-temps(length(temps)-1))/(tiempos(length(tiempos))-tiempos(length(tiempos)-1));%CALCULAMOS EL VALOR DE LA TEMPERAURA FINAL POR INTERPOLACION DELULTIMO TRAMO DE RECTATfinal=pendiente * (duracion-tiempos(length(tiempos))) +temps(length(temps));%AÑADIMOS EL PUNTO FINAL DE LA CURVAtiemposlong=[tiempos, duracion];temps=[temps,Tfinal];clear Tfinal;endif (tiempos(1) ~= 0) %PRIMER PUNTO DISTINTO DE CERO%CALCULAMOS LA PENDIENTE DEL PRIMER TRAMO DE RECTApendiente=(temps(1)-temps(2))/(tiempos(1)-tiempos(2));Tinicial=pendiente * (0-tiempos(1)) + temps(1);tiemposlong=[0,tiemposlong];temps=[Tinicial,temps];clear Tinicial;end%INTERPOLAMOST=interp1(tiemposlong,temps,t);plot(t,T);clear tiemposlong;clear pendiente;case 2 %POLINOMIO GRADO N%SE PLANTEA COMO UN SISTEMA DE ECUACIONES EN EL QUE LAS INCOGNITAS%SON LOS N COEFICIENTES DEL POLINOMIO Y LOS DATOS LOS PUNTOSINTRODUCIDOSY=temps'; %PARA RESOLVER EL SIST TRABAJAMOS CON VECTOR COLUMNAx=[];for (i=1:1:length(Y)-1) % SUBMATRIZ NECESARIA PARA RESOLVER ELSISTEMAx=[x;tiempos.^i];end138


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>global X;X=[ones(1,length(Y));x]'; % MATRIZ DE VALORES DEL TIEMPOclear x;global a;a=X\Y; %RESOLVEMOS EL SISTEMA Y OBTENEMOS LOS COEFICIENTES DELPOLINOMIOclear X Y;T=[];for (i=1:length(t)-1)%UN PUNTO PARA CADA VALOR DE tT(i)=0;for (j=1:length(a)) %MULTIPLICAMOS PORCADA COEFICIENTET(i)=T(i)+a(j)*(t(i)^(j-1));endT=[T,T(i)];endplot(t,T);clear a;clear i,j;case 3 %INTERPOLACIÓN POLINOMIALdisp (' ')disp (' ')disp ('INTRODUZCA EL GRADO DEL POLINOMIO DE INTERPOLACIÓN ')Grado = ');N=input('a=polyfit(tiempos,temps,N);T=[];for (i=1:length(t)-1) %UN PUNTO PARA CADA VALOR DE tT(i)=0;for (j=length(a):-1:1)T(i)=T(i)+a(j)*(t(i)^(length(a)-j));endT=[T,T(i)];endplot(t,T);clear N;clear a;clear i,j;case 4 %SPLINET=spline(tiempos,temps,t);plot(t,T);end %end switchhold off;clear option;clear temps;tiempos=[];concents=[];disp (' ');disp (' ');disp (' ');%REPETIMOS PARA LAS CONCENTRACIONES139


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>disp (' INTRODUZCA LOS PUNTOS SIGNIFICATIVOS DEL PERFIL DECONCENTRACIÓN ')disp (' DE LA FORMA: TIEMPO,CONCENTRACIÓN ')disp (' INTRODUZCA 0,0 PARA TERMINAR ')disp (' ')subplot (1,2,2);grid on;title ('PERFIL DE CONCENTRACIÓN ');xlabel ('TIEMPO (segundos)');ylabel ('CONCENTRACIÓN ');while (1==1)entrada(1)=input(' Tiempo = ');entrada(2)=input(' Concentración = ');disp (' ')if (entrada==[0,0])breakelse plot (entrada(1),entrada(2),'xb');grid on;hold on;title ('PERFIL DE CONCENTRACIÓN ');xlabel ('TIEMPO (segundos)');ylabel ('CONCENTRACIÓN ');endtiempos=[tiempos,entrada(1)]; %LO AÑADIMOS AL VECTOR DE TIEMPOSconcents=[concents,entrada(2)]; %LO AÑADIMOS AL VECTOR DE%CONCENTRACIONESendclear entrada;disp (' ')disp (' ')disp (' ELIJA EL PERFIL DE CURVA DESEADA: ')disp (' ')disp (' 1) POLÍGONO ')disp (' 2) POLINOMIO GRADO N QUE PASE POR TODOS LOS PUNTOS ')disp (' 3) INTERPOLACIÓN POLINOMIAL ')disp (' 4) INTERPOLACIÓN SPLINE ')disp (' ')opcion=input('OPCIÓN = ');format long;switch (opcion)case 1if (tiempos(length(tiempos)) ~= duracion)%CALCULAMOS LA PENDIENTE DEL ÚLTIMO TRAMO DE RECTApendiente=(concents(length(concents))-concents(length(concents)-))/(tiempos(length(tiempos))-tiempos(length(tiempos)-1));%CALCULAMOS EL VALOR DE LA TEMPERAURA FINAL POR INTERPOLACION DEL140


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>%ULTIMO TRAMO DE RECTACfinal=pendiente * (duracion-tiempos(length(tiempos))) +concents(length(concents));%AÑADIMOS EL PUNTO FINAL DE LA CURVAtiemposlong=[tiempos, duracion];concents=[concents,Cfinal];endif (tiempos(1) ~= 0)%CALCULAMOS LA PENDIENTE DEL PRIMER TRAMO DE RECTApendiente=(concents(1)-concents(2))/(tiempos(1)-tiempos(2));Cinicial=pendiente * (0-tiempos(1)) + concents(1);tiemposlong=[0,tiemposlong];concents=[Cinicial,concents];clear Cinicial;endC=interp1(tiemposlong,concents,t);plot(t,C);clear tiemposlong;clear pendiente;case 2Y=concents'; %PARA RESOLVER EL SIST TRABAJAMOS CON VECTOR COLUMNAx=[];for (i=1:1:length(Y)-1) % SUBMATRIZ NECESARIA PARA RESOLVER EL SISTx=[x;tiempos.^i];endglobal X;X=[ones(1,length(Y));x]'; % MATRIZ DE VALORES DEL TIEMPOclear x;global a;a=X\Y; %RESOLVEMOS EL SISTEMA Y OBTENEMOS LOS COEFICIENTESclear X Y;C=[];for (i=1:length(t)-1) %UN PUNTO PARA CADA VALOR DE tC(i)=0;for (j=1:length(a))C(i)=C(i)+a(j)*(t(i)^(j-1));endC=[C,C(i)];endplot(t,C);clear a;clear i,j;case 3disp (' ')disp (' ')disp ('INTRODUZCA EL GRADO DEL POLINOMIO DE INTERPOLACIÓN ')Grado = ');N=input('a=polyfit(tiempos,concents,N);C=[];for (i=1:length(t)-1) %UN PUNTO PARA CADA VALOR DE tC(i)=0;141


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>for (j=length(a):-1:1)C(i)=C(i)+a(j)*(t(i)^(length(a)-j));endC=[C,C(i)];endplot(t,C);clear N;clear a;clear i,j;case 4 %SPLINEC=spline(tiempos,concents,t);plot(t,C);end %end switchhold off;clear option;clear concents;clear tiempos;clear duracion;6.1.Se pue<strong>de</strong>n ver ejemplos <strong>de</strong> cada una <strong>de</strong> las variantes <strong>de</strong> perfiles en el apartado5.3.5.2 Módulo <strong>de</strong> Entrada <strong>de</strong> Datos en HP-VEELa versión 1.1 <strong>de</strong>l programa Cryoma contempla la elaboración <strong>de</strong> los perfiles <strong>de</strong>concentración y temperatura directamente en HP-VEE. Para ello hace uso <strong>de</strong>l objetoRegresión, que pasamos a explicar brevemente a continuación:• Objeto RegressionFig 4.36:Objeto Regression142


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Este objeto recibe como entrada una serie <strong>de</strong> puntos (array) en forma <strong>de</strong>coor<strong>de</strong>nadas; es <strong>de</strong>cir, con componentes x e y <strong>de</strong> la recta que queremos generar. A lasalida tendremos los coeficientes <strong>de</strong> la curva <strong>de</strong> regresión, así como los datos <strong>de</strong> entradaen formato coord. y el parámetro goodness o grado <strong>de</strong> bondad <strong>de</strong> la aproximación a lospuntos originales.El objeto nos permite seleccionar entre interpolaciones lineales y polinómicas,pudiendo seleccionar el grado <strong>de</strong> ésta última entre un rango <strong>de</strong> 1 a 4. El principalinconveniente es que, a diferencia <strong>de</strong> otros objetos en HP-VEE, el objeto Regresión nonos permite configurar el grado <strong>de</strong> la interpolación como entrada al objeto. Parasolucionar esto y po<strong>de</strong>r seleccionar el grado, pondremos varios <strong>de</strong> estos objetos enparalelo.• Código <strong>de</strong>l objetoEl proceso <strong>de</strong> elaboración <strong>de</strong> los perfiles <strong>de</strong> temperatura y concentración estotalmente análogo, por lo que este módulo se compondrá a su vez <strong>de</strong> dos módulosidénticos, uno para la temperatura y otro para la concentración. Reproducimos acontinuación el primero <strong>de</strong> ellos:Fig 4.37: Módulo <strong>de</strong> Entrada <strong>de</strong> Datos en HP-VEEDesglosamos el contenido <strong>de</strong> la figura 4.37 para compren<strong>de</strong>r mejor elfuncionamiento <strong>de</strong>l módulo.143


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 4.38: Bucles <strong>de</strong> controlpara entrada <strong>de</strong> datos <strong>de</strong>usuarioEn primer lugar, como se aprecia en la figura 4.38, se ejecutan dos buclesregidos por sendos objetos UntilBreak. El objetivo <strong>de</strong> estos bucles es repetir el procesotantas veces como sea necesario en el caso <strong>de</strong> que se <strong>de</strong>tecte algún error o inconsistenciaen los datos introducidos por el usuario, como pue<strong>de</strong> ser un número <strong>de</strong> puntos inferior algrado <strong>de</strong> interpolación seleccionado.El usuario introduce los datos haciendo uso <strong>de</strong> objetos tipo Integer Input. Alejecutarse estos objetos se le muestra al usuario un mensaje y un cuadro <strong>de</strong> diálogo paraque éste introduzca el dato solicitado. Así, en el primero <strong>de</strong> los bucles se solicita elgrado <strong>de</strong>l polinomio y en el segundo se solicitan las componentes <strong>de</strong> tiempo ytemperatura <strong>de</strong> cada uno <strong>de</strong> los puntos <strong>de</strong> la curva.Fig 4.39: Mensajes en el módulo <strong>de</strong> entrada144


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Los valores <strong>de</strong> tiempo y temperatura <strong>de</strong> cada uno <strong>de</strong> los puntos van hacia unobjeto Build coord., que constuye una coor<strong>de</strong>nada para cada entrada. Estas coor<strong>de</strong>nadasse van almacenando en un objeto Collector hasta que el usuario <strong>de</strong>ci<strong>de</strong> no introducirmás puntos (fig. 4.38).La verificación <strong>de</strong> que el número <strong>de</strong> puntos es el correcto se realiza mediante unobjeto If/Then/Else que recibe como entradas al número <strong>de</strong> puntos y el grado <strong>de</strong>lpolinomio. Si hay error, se da un mensaje al usuario y se <strong>de</strong>tiene el bucle para que elusuario vuelva a introducir el grado <strong>de</strong>l polinomio; en caso contrario se ejecutan otros 4objetos If/Then/Else en paralelo que <strong>de</strong>ci<strong>de</strong>n cuál <strong>de</strong> los objetos Regresión se ejecutará.Fig 4.40:Verificación <strong>de</strong> condición <strong>de</strong> errorUna vez los objetos Regresión reciben los datos y la señal <strong>de</strong> activación, generanlos coeficientes <strong>de</strong>l polinomio <strong>de</strong> interpolación, que dan como salida en forma <strong>de</strong>vector. Acce<strong>de</strong>remos a ellos individualmente, para po<strong>de</strong>r incluir cada parámetro en unobjeto fórmula que los multiplicará por la variable in<strong>de</strong>pendiente, generando el valor <strong>de</strong>la temperatura para cada valor <strong>de</strong>l tiempo, en un bucle que va <strong>de</strong>s<strong>de</strong> 0 hasta el tiempomáximo <strong>de</strong> los introducidos por el usuario.Las salidas <strong>de</strong> cada objeto fórmula las vamos almacenando con un Collector yfinalmente la damos a la salida <strong>de</strong>l módulo. Para ello usamos objetos JCT en cascada yaque, a priori no sabemos cuál <strong>de</strong> las ramas ha sido ejecutada.145


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 4.41: Regresión y generación <strong>de</strong>l vector <strong>de</strong> temperaturaSe pue<strong>de</strong>n ver ejemplos <strong>de</strong> la generación <strong>de</strong> perfiles en el apartado 6.15.3.6 MODULO PRINCIPALLas tareas fundamentales que realiza el módulo Principal son:• Comprobación previa <strong>de</strong> la coherencia <strong>de</strong> tamaños entre las matrices <strong>de</strong>concentración y temperatura• Extracción <strong>de</strong> las referencias <strong>de</strong> concentración y temperatura .• Sincronismo <strong>de</strong>l algoritmo, para que las referencias se actualicen en el tiempocorrecto.• Pasarle dichas referencias al módulo <strong>de</strong> control.• Almacenar las referencias en un fichero.146


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 4.42:Módulo PRINCIPALDividimos el módulo en varias partes para po<strong>de</strong>r ver más fácilmente cómo sellevan a cabo cada una <strong>de</strong> estas funciones.En primer lugar vemos la comprobación <strong>de</strong> la coherencia <strong>de</strong> tamaños:Fig 4.43: Comprobación <strong>de</strong> los tamaños <strong>de</strong> T y CPara que el algoritmo funcione correctamente las matrices que almacenan losperfiles <strong>de</strong> temperatura (“T”) y concentración (“C”) <strong>de</strong>ben tener el mismo tamaño. Espor ello que se hace necesario comprobar previamente que esto se cumple antes <strong>de</strong>comenzar a ejecutar el algoritmo propiamente dicho.147


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Para ello acudimos a las funciones matemáticas <strong>de</strong> HP-VEE, entre las que seencuentra la función totSize(x). Usándola en sendos objetos tipo Fórmula po<strong>de</strong>moscalcular el tamaño <strong>de</strong> los vectores <strong>de</strong> entrada a dicho objeto, que serán “T” y “C”. Estostamaños irán como entrada a un objeto if/then/else, don<strong>de</strong> se testeará si son iguales.Si no son iguales, se activa un mensaje <strong>de</strong> error informando al usuario y secerrará la aplicación mediante un objeto Stop.5.3.6.1 Módulo “Enfria_Tubos”Una vez realizada la comprobación, el algoritmo comienza a ejecutar la rutina <strong>de</strong>control. Lo primero que se hace es lanzar el módulo “Enfria_Tubos”. Como se indicóen el capítulo 3, la principal fuente <strong>de</strong> error <strong>de</strong>l sistema, que provoca entre otras cosasque no se verifiquen las ecuaciones “i<strong>de</strong>ales” es el efecto <strong>de</strong> las pérdidas térmicas en lostubos, especialmente en el tubo <strong>de</strong> conducción <strong>de</strong> fluido frío. Pese a estar aislado conrecubrimiento térmico, la diferencia <strong>de</strong> temperatura entre el líquido extraído <strong>de</strong>l tanquefrío y el ambiente es muy alta, por lo que se producen pérdidas térmicas <strong>de</strong>s<strong>de</strong> el inicio<strong>de</strong>l tubo hasta el final.Para intentar minimizar estas pérdidas se pone en funcionamiento la bomba fría almáximo durante un tiempo marcado por la variable <strong>de</strong>l sistema “t_enfria”. Esto lorealiza el módulo “Enfria_Tubos”, que se ejecuta <strong>de</strong>spués <strong>de</strong> pedir confirmación alusuario mediante un mensaje en pantalla.En dicho módulo básicamente lo que se hace es poner la bomba que extrae elcaudal frío al máximo y la que extrae el caudal caliente al mínimo durante el tiemposeleccionado. Una vez terminado dicho tiempo, se vuelven a poner ambas bombas acero y se <strong>de</strong>vuelve el control al módulo PRINCIPAL.148


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 4.44: Módulo Enfria_TubosSe pue<strong>de</strong> seguir la duración <strong>de</strong>l proceso <strong>de</strong> enfriamiento <strong>de</strong> tubos mediante laevolución <strong>de</strong> una barra <strong>de</strong> proceso, implementada mediante objetos <strong>de</strong> librería “ActiveXControl”:Fig4.45: Objeto “ProgressBar”El objeto ProgressBar va <strong>de</strong>splazando la barra <strong>de</strong> proceso a partir <strong>de</strong>l valor quese le aplica como entrada mediante la fórmula ProgressBar.Value. Este valor <strong>de</strong>be estarentre 0 y 100 y se recoge mediante el bucle For Range. Para que el tiempo total <strong>de</strong>lproceso coincida con el tiempo que tarda la barra en alcanzar el valor final se aña<strong>de</strong> un<strong>de</strong>lay <strong>de</strong>spués <strong>de</strong> cada iteración. El tiempo marcado en el <strong>de</strong>lay se calcula en el objetofórmula a partir <strong>de</strong>l valor t_enfria.149


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>5.3.6.2 Temporización y actualización <strong>de</strong> referenciasUna <strong>de</strong> las funciones asignadas al módulo PRINCIPAL es la <strong>de</strong> asignar losvalores <strong>de</strong> referencia <strong>de</strong> T y C para el módulo CONTROL, cambiando éstas cada tslowsegundos. Para ello se hace uso <strong>de</strong> un objeto OnCycle.Lo primero que se hace es extraer <strong>de</strong> las matrices <strong>de</strong> temperatura y concentraciónlas referencias que se fijarán para cada intervalo <strong>de</strong> tiempo <strong>de</strong> longitud tslow. Esto esnecesario, ya que las matrices “T” y “C” obtenidas en el módulo Entrada <strong>de</strong> Datos nosdan un “continuo” <strong>de</strong> valores. En concreto dan una curva interpolada <strong>de</strong> los puntoscaracterísticos que introdujo el usuario, con una separación entre puntos consecutivosigual a la inversa <strong>de</strong>l valor <strong>de</strong> precision (variable global <strong>de</strong>l sistema). De esta curvatenemos que sacar referencias cada tslow segundos.Esto lo hacemos <strong>de</strong> la siguiente forma:Fig 4.43: Extracción <strong>de</strong> referencias cada tslow segundos.En la figura 4.43 está expuesto el trozo <strong>de</strong>l módulo Principal que se encarga <strong>de</strong>ir actualizando las referencias <strong>de</strong> temperatura en cada ciclo <strong>de</strong>l bucle <strong>de</strong> control. Para laactualización <strong>de</strong> las referencias <strong>de</strong> concentración se opera <strong>de</strong> forma totalmente análoga.150


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>El objeto que se encarga <strong>de</strong> ir extrayendo las referencias (puntos <strong>de</strong>l vector <strong>de</strong>temperaturas “T”) es el objeto GetValues. Básicamente lo que hace es implementar lafórmula T[i], en la que “T” es el vector <strong>de</strong> temperaturas a la entrada e “i” es el índiceque recorre dicho vector. El valor <strong>de</strong>l índice lo actualizaremos convenientemente encada ciclo con el resto <strong>de</strong> objetos.El valor <strong>de</strong>l índice “i” se obtiene en el objeto marcado como “i+incr” . Sufuncionamiento es bien sencillo: lo que hace es sumarle al valor anterior <strong>de</strong>l índice uncierto incremento <strong>de</strong> tal forma que situemos el índice en la posición <strong>de</strong> la nuevareferencia <strong>de</strong> temperatura.El valor <strong>de</strong>l índice anterior se obtiene a partir <strong>de</strong>l objeto Junction (JCT). Este esun objeto bastante particular <strong>de</strong>ntro <strong>de</strong> HP-VEE, ya que, mientras el resto <strong>de</strong> objetosprecisan que todas sus entradas <strong>de</strong> datos estén activadas para que se ejecute el códigoasociado al objeto, JCT sólo precisa que una <strong>de</strong> las entradas se active. Lo único quehace el objeto es colocar a la salida el valor <strong>de</strong> la última entrada que se ha activado.Para que funcione tal como queremos y nos pueda dar a la salida el valor anterior <strong>de</strong>líndice lo que hacemos es realimentar la salida <strong>de</strong>l objeto “i+incr” a una <strong>de</strong> las entradas<strong>de</strong>l objeto JCT. La otra entrada se une a la salida <strong>de</strong> un objeto tipo constante. De estamanera aseguramos el funcionamiento tanto al principio <strong>de</strong>l bucle como durante elmismo. En la primera iteración, dado que el objeto “i+incr” aún no se ha ejecutadonunca, su salida no estará activa. Sin embargo, el objeto “inicial”, que es <strong>de</strong> tipoconstante y no tiene ninguna entrada, se habrá ejecutado al principio, por lo que susalida sí estará activa y es la que el objeto “JCT” reproducirá a la salida. A partir <strong>de</strong> laprimera iteración, la salida <strong>de</strong>l objeto “i+incr” siempre será “la última que se haactivado”, y será reproducida a la salida <strong>de</strong> “JCT”.El cálculo <strong>de</strong>l valor <strong>de</strong>l incremento se hace mediante el objeto “incr”:151


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 4.44: Cálculo <strong>de</strong>l incremento <strong>de</strong> índiceEl cálculo <strong>de</strong>l incremento se hace teniendo en cuenta los parámetros <strong>de</strong>l sistematslow y precision. Al estar <strong>de</strong>finidos como variables globales <strong>de</strong>l sistema, acce<strong>de</strong>mos aellas mediante dos objetos tipo “Get Variable” (“Get tslow” y “Get precision”). Elincremento se calcula en el objeto “Calcula_incr” mediante una sencilla multiplicación.El valor <strong>de</strong>l incremento será el producto <strong>de</strong>l intervalo <strong>de</strong> tiempo entre dos referenciasconsecutivas (“tslow”) por el número <strong>de</strong> puntos por segundo generados por Matlab(“precision”).De la forma anteriormente <strong>de</strong>scrita se van tomando las muestras <strong>de</strong>l vector “T”.Se llegará al final <strong>de</strong>l bucle y <strong>de</strong>l algoritmo cuando el valor <strong>de</strong>l índice “i” llegue al final<strong>de</strong>l vector. Para verificar esto en cada iteración se ejecuta un objeto tipo if/then/else, enel que se va comparando el valor <strong>de</strong>l índice “i” con el tamaño <strong>de</strong>l vector “T” (calculadoanteriormente para verificar que los tamaños <strong>de</strong> “T” y “C” eran iguales). Cuando elíndice llegue al límite se ejecuta un “Break” que hace que termine el bucle.varios objetos:Las muestras que tomamos <strong>de</strong>l vector “T” en el objeto “Get Values” irán hacia‣ En primer lugar, las vamos recogiendo en un objeto tipo “LoggingAlphanumeric”, para po<strong>de</strong>r acce<strong>de</strong>r a ellas durante la ejecución <strong>de</strong>l programa.‣ A medida que se van tomando las referencias, también las vamosalmacenando en un objeto tipo “collector”.152


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>El funcionamiento <strong>de</strong> este objeto se basa en que pue<strong>de</strong> almacenar valoresque van apareciendo a su entrada en un vector <strong>de</strong> tamaño in<strong>de</strong>finido; esto es,pue<strong>de</strong> almacenar cuantas muestras <strong>de</strong>seemos. Cuando se llegue al final <strong>de</strong>lbucle, la salida <strong>de</strong> secuencia <strong>de</strong>l objeto “On Cycle” activará la entrada “XEQ”<strong>de</strong>l objeto “collector”, mandando todas las muestras en forma <strong>de</strong> vector haciaun objeto “To File” que las almacenará en el disco duro.Fig 4.45: Funcionamiento <strong>de</strong>l objeto “collector”‣ Por último, las muestras <strong>de</strong> temperatura se entregan al objeto “CONTROL” ,que las usará como referencia durante todo un ciclo <strong>de</strong>l bucle.El resto <strong>de</strong> objetos presentes en el módulo PRINCIPAL están <strong>de</strong>stinadosfundamentalmente a la recolección <strong>de</strong> datos <strong>de</strong>l experimento y posterioralmacenamiento en dicheros mediante objetos tipo “To File”. En el caso <strong>de</strong> latemperatura leída en cada momento, hacemos uso <strong>de</strong> una variable local al módulo (T1)en la que vamos almacenando el conjunto <strong>de</strong> valores <strong>de</strong> temperatura tomados en elmódulo CONTROL en cada iteración <strong>de</strong>l bucle principal. Al final <strong>de</strong> cada iteración elconjunto <strong>de</strong> valores se añadirán al array que contiene todos los valores anteriores paraque éste pueda ser guardado al completo al finalizar el proceso.También existe un objeto ProgressBar análogo al usado <strong>de</strong>ntro <strong>de</strong>l módulo <strong>de</strong>enfriamiento <strong>de</strong> tubos. En este caso, la única particularidad añadida es que fijamos elrango máximo <strong>de</strong> la barra al valor <strong>de</strong>l tamaño <strong>de</strong> las matrices T y C (duración <strong>de</strong>lexperimento).153


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>5.3.6.3 Panel ViewEn la vista Panel View generamos la pantalla que el usuario verá durante todo elproceso <strong>de</strong> perfusión. En ella aparece la evolución <strong>de</strong> la temperatura frente a lareferencia en cada momento, tanto en formato numérico como en una gráfica frente altiempo. Asimismo, aparece la barra <strong>de</strong> proceso anteriormente <strong>de</strong>scrita (ProgressBar) yun botón <strong>de</strong> acción para dar la posibilidad <strong>de</strong> abortar el procedimiento antes <strong>de</strong> llegar alfinal.Fig 4.46: Panel <strong>de</strong> Explotación <strong>de</strong> la aplicación5.3.7. MÓDULO CONTROLEl módulo “Control” es el que realmente implementa el control sobre las 4bombas peristálticas, <strong>de</strong> tal forma que efectivamente se logre que la evolución <strong>de</strong> latemperatura <strong>de</strong>l sistema siga el perfil diseñado y almacenado en el vector “T”.154


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En este módulo se realizan funciones para sincronizar el “bucle rápido” o “bucle<strong>de</strong> control” <strong>de</strong>l sistema, interactuar con la tarjeta tanto para tomar las referencias comopara dar las correspondientes acciones <strong>de</strong> control y para el cálculo <strong>de</strong> cuáles <strong>de</strong>ben serdichas acciones <strong>de</strong> control para cada bomba, <strong>de</strong>pendiendo <strong>de</strong> la referencia en cadamomento.La estructura <strong>de</strong>l módulo es como sigue:Fig 4.47: Módulo CONTROLEn primer lugar se ejecuta el módulo “Referencias”. Este objeto implementa lafunción <strong>de</strong> generar la temperatura que se <strong>de</strong>be alcanzar en cada rama cuando trabajamoscon la configuración completa compuesta por 4 bombas. En efecto, como se explica<strong>de</strong>talladamente en el apartado <strong>de</strong> ampliaciones, al trabajar con 4 bombas para generar uncontrol in<strong>de</strong>pendiente <strong>de</strong> temperatura y concentración con un rango amplio <strong>de</strong> valores,tenemos que modificar la suposición inicial <strong>de</strong> otorgar a cada rama una temperatura <strong>de</strong>referencia igual a la temperatura <strong>de</strong>seada, esperando que la suma <strong>de</strong> flujos nos sigadando el mismo valor <strong>de</strong> temperatura.La estrategia a seguir es dar un valor distinto <strong>de</strong> temperatura a cada rama enfunción <strong>de</strong> la temperatura final que queramos tener, <strong>de</strong>l flujo nominal y <strong>de</strong> laconcentración.155


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En el caso <strong>de</strong> que trabajemos en el “modo reducido”; esto es, solamente con dosbombas, este módulo se inhabilita y la referencia <strong>de</strong> temperatura es directamente lasuministrada por el módulo PRINCIPAL.Una vez obtenida las referencias <strong>de</strong> cada rama se ejecutan los módulos “T/Q”,uno por cada rama <strong>de</strong> control. Estos módulos, <strong>de</strong>scritos con más <strong>de</strong>talle en el apartado5.3.8 y en el apartado <strong>de</strong> resultados y conclusiones implementan la relación entre latemperatura <strong>de</strong>seada en cada momento y los caudales que hay que aplicar paralograrla. Como explicamos en el capítulo 3, este módulo, que en teoría <strong>de</strong>bería ser laimplementación <strong>de</strong> la ecuación <strong>de</strong> balance <strong>de</strong> temperatura (Ec 3.1 y 3.3), pasa a ser unaimplementación heurística <strong>de</strong>l sistema.Para cada referencia <strong>de</strong> temperatura se generan los caudales correspondientes,haciendo uso a<strong>de</strong>más <strong>de</strong> la concentración.5.3.7.1 Bucle <strong>de</strong> ControlUna vez ejecutada la fase inicial <strong>de</strong>l módulo se pasa al bucle <strong>de</strong> controlsecundario o “bucle rápido”. En este bucle iremos calculando las acciones <strong>de</strong> controlcon una periodicidad <strong>de</strong> tfast segundos. Pero antes <strong>de</strong> iniciar dicho bucle, se permite alsistema actuar directamente con los valores <strong>de</strong> caudal calculados <strong>de</strong> las ecuaciones. Paraello hacemos uso <strong>de</strong>l un objeto tipo “Delay”.Fig 4.48: Bucle <strong>de</strong> Control156


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Durante un tiempo igual a t_<strong>de</strong>lay veces el tiempo tfast el bucle se va ejecutando,comprobándose dicha condición en un objeto If/Then/Else. Cuando se supera el límitese activa la salida Then, que va conectada a las salidas <strong>de</strong> los PID, permitiendo que losvalores generados por éstos vayan a los actuadores.De la misma manera, para evitar que el bucle se ejecute in<strong>de</strong>finidamente seaña<strong>de</strong> una condición tipo if/then/else. Como primer entrada, dicho objeto tendrá lasalida <strong>de</strong> un objeto tipo “counter”. Éste aumenta su valor en una unidad por cada vezque se ejecute el objeto “On cycle”.Como segunda entrada tendrá una constante dada por el objeto “iteraciones”En este objeto se genera el número <strong>de</strong> veces que se tiene q ejecutar el bucle paraque el tiempo <strong>de</strong> ejecución coincida con una iteración <strong>de</strong>l bucle principal o bucle lento(regido por la constante tslow).Dado que el tiempo característico <strong>de</strong> ejecución <strong>de</strong>l bucle rápido es tfast, esevi<strong>de</strong>nte que el número <strong>de</strong> iteraciones vendrá dado por el cociente entre tslow y tfast.Cuando se igualen las dos entradas sabremos que hemos llegado al fin <strong>de</strong>l bucle, por loque ejecutamos un objeto tipo “Exit UserObject” para <strong>de</strong>tener el hilo <strong>de</strong> ejecución ysalir <strong>de</strong>l programa.5.3.7.2 Lectura <strong>de</strong> TemperaturaEn cada iteración <strong>de</strong>l bucle <strong>de</strong> control se ejecuta en primer lugar el objetoencargado <strong>de</strong> leer la temperatura <strong>de</strong> cada una <strong>de</strong> las ramas <strong>de</strong> control.157


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 4.49: Módulo <strong>de</strong> Lectura <strong>de</strong> Temperatura‣ Entrada. Es el módulo que realmente acce<strong>de</strong> a la tarjeta <strong>de</strong> adquisición <strong>de</strong>datos, leyendo una tensión analógica <strong>de</strong> uno <strong>de</strong> los canales <strong>de</strong> entrada. Se tratabásicamente <strong>de</strong> un objeto “Get Single Value”, que toma como entrada uno <strong>de</strong>los subsistemas analógicos inicializados en el módulo “Tarjeta_Entrada” (verapartado 5.3.3). Para acce<strong>de</strong>r a ellos se usa un objeto tipo “Get Variable”.‣ Ganancia. Hace referencia a la ganancia aportada por el amplificador <strong>de</strong>instrumentación en el circuito <strong>de</strong>l sensor <strong>de</strong> temperatura. Como se <strong>de</strong>scribió enel apartado 3.4, si dividimos la tensión <strong>de</strong> salida <strong>de</strong>l circuito sensor por estaganancia obtenemos la tensión en milivoltios <strong>de</strong> la resistencia <strong>de</strong> entrada alamplificador <strong>de</strong> instrumentación.‣ Fórmula. Los dos objetos fórmula implementan las operaciones <strong>de</strong> escaladonecesarios para pasar <strong>de</strong> un valor <strong>de</strong> tensión ofrecida por el amplificador a unvalor <strong>de</strong> temperatura en grados centígrados. En primer lugar se divi<strong>de</strong> el valorcapturado directamente por la tarjeta por el valor <strong>de</strong> ganancia. Esto nos da elvalor en milivoltios <strong>de</strong> la resistencia que convierte la intensidad <strong>de</strong> salida <strong>de</strong>lsensor a tensión. Para obtener el valor <strong>de</strong>finitivo en grados centígrados notenemos más que multiplicar por un factor <strong>de</strong> escala <strong>de</strong> valor 1000, quecoinci<strong>de</strong> con el valor en Ohmios <strong>de</strong> la resistencia.158


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>5.3.7.3 Acción <strong>de</strong> ControlUna vez leída la referencia <strong>de</strong> temperatura, el siguiente objeto en ejecutarse seráel controlador PID (se ejecutarán los dos controladores PID en cada una <strong>de</strong> las dosramas <strong>de</strong> control en paralelo). Este objeto implementa un control tipo Proporcional +Derivativo + Integral (<strong>de</strong> ahí su nombre). Como todos los controladores, recibirá comoentrada la referencia actual a la que se preten<strong>de</strong> llegar (generada en el “bucle lento”, estareferencia será constante durante un periodo <strong>de</strong> tslow segundos) y el valor actual <strong>de</strong> lavariable a controlar, esto es, la temperatura. Un estudio más exhaustivo <strong>de</strong> estecontrolador se pue<strong>de</strong> ver en los apartados 5.3.9El objeto “PID” se activará siempre <strong>de</strong>spués <strong>de</strong> haberse ejecutado el objeto“lectura_Temp”, ya que hemos conectado sus pines <strong>de</strong> secuencia en dicho or<strong>de</strong>n. Deesta forma garantizamos que el valor medido <strong>de</strong> temperatura que toma el controladorpara calcular la acción <strong>de</strong> control es la correspondiente a esta iteración <strong>de</strong>l bucle, y no ala anterior.Tal y como se <strong>de</strong>scribió al principio <strong>de</strong> este apartado, los controladores PIDgeneran una acción <strong>de</strong> control <strong>de</strong>finida como una pequeña variación ∆Q en torno alvalor <strong>de</strong> caudal “nominal” calculado para que se verifiquen las ecuaciones <strong>de</strong>l sistemaen cada intervalo <strong>de</strong> tiempo tslow .Este valor (<strong>de</strong>nominado DQ en el programa) lo sumaremos al valor <strong>de</strong> las ramas<strong>de</strong> control que extraen los flujos “fríos” <strong>de</strong> la mezcla; esto es, Q 11 y Q 21 . Para que severifiquen las ecuaciones <strong>de</strong> balance <strong>de</strong>l sistema <strong>de</strong>beremos restar la misma cantidad <strong>de</strong>flujo a los caudales que extraen los flujos “calientes”; esto es Q 12 y Q 22 .Fig 4.50: Generación <strong>de</strong> la acción <strong>de</strong> control a partir <strong>de</strong> DQ159


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En la figura 4.50 se observa cómo la acción <strong>de</strong> control DQ calculada en elmódulo PID se suma al caudal Q 11 y se resta al caudal Q 12La cantidad que se suma o resta viene dada por la salida <strong>de</strong> un objeto tipo JCT.Éste tiene como entradas un objeto tipo constante <strong>de</strong> valor 0 y la salida <strong>de</strong>l módulo PID.De acuerdo con la regla <strong>de</strong> funcionamiento <strong>de</strong>l JCT, en la salida <strong>de</strong>l mismo tendremos elvalor <strong>de</strong> la entrada que ha sido la última en activarse. Como el objeto constante se activajusto al ejecutarse el módulo CONTROL, dado que no tiene ninguna entrada, el valor 0será el primer valor que se obtenga a la salida <strong>de</strong>l JCT. De esta manera, al principio nose sumará o restará ninguna cantidad a los flujos nominales, lo cual está enconcordancia con la fase inicial <strong>de</strong> control en la que <strong>de</strong>jamos actuar al sistema con losvalores calculados directamente <strong>de</strong> resolver las ecuaciones <strong>de</strong>l sistema.Una vez finalizado el tiempo <strong>de</strong>l <strong>de</strong>lay, entra en acción el bucle y se ejecuta elmódulo PID, por lo que el objeto JCT dará siempre como salida el valor <strong>de</strong> DQcalculado.5.3.8. MÓDULO T/QEste módulo es el encargado <strong>de</strong> proporcionar los valores <strong>de</strong> caudal para lograruna temperatura <strong>de</strong>terminada. En condiciones <strong>de</strong> idoneidad este módulo se <strong>de</strong>beríalimitar a resolver el sistema <strong>de</strong> ecuaciones dado por las ecuaciones 3.1 a 3.4, en el que latemperatura y concentración son los datos y las incógnitas son los caudales. Sinembargo, <strong>de</strong>bido a la importancia <strong>de</strong>l efecto <strong>de</strong> las pérdidas térmicas, este mo<strong>de</strong>lo es <strong>de</strong>ltodo inviable, ya que la temperatura obtenida no se asemeja en absoluto a la predichapor las ecuaciones.La primera corrección que se pue<strong>de</strong> plantear es una modificación a latemperatura <strong>de</strong> referencia para que tenga en cuenta las pérdidas térmicas que seproducen en la conducción <strong>de</strong>l fluido frío <strong>de</strong>s<strong>de</strong> el tanque hasta el punto <strong>de</strong> unión <strong>de</strong> losfluidos. Esta primera aproximación tampoco es <strong>de</strong>l todo válida, ya que dichas pérdidasson distintas, por ejemplo, para cada valor <strong>de</strong> caudal, entre otros factores.160


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>La solución adoptada pasa por generar una nueva “ecuación” <strong>de</strong> sistema basadapuramente en consi<strong>de</strong>raciones heurísticas; esto es, en mediciones <strong>de</strong>l comportamiento<strong>de</strong>l sistema ante <strong>de</strong>terminados estímulos.El procedimiento a seguir sería el siguiente:1.- Se selecciona un valor para el caudal frío y otro para el caliente2.- Se registra la temperatura una vez estabilizada3.- Se varían los valores <strong>de</strong> caudal frío y caliente, siempre conservando la condición <strong>de</strong>que el flujo suma sea constante.4.- Con la tabla <strong>de</strong> valores <strong>de</strong> temperatura obtenidos se calcula la recta <strong>de</strong> regresión <strong>de</strong> auno <strong>de</strong> los caudales frente a la temperatura.5.- Entrando en dicha recta con el valor <strong>de</strong> temperatura obtenemos el valor <strong>de</strong> caudalnecesario6.- Deducimos el valor <strong>de</strong>l otro caudal por imposición <strong>de</strong> la condición <strong>de</strong> flujoconstante.Éste sería el procedimiento básico; para ser aún más preciso se <strong>de</strong>ben repetir elprocedimiento para distintos valores <strong>de</strong> las temperaturas <strong>de</strong> los tanques y realizar unasegunda interpolación o corrección sobre la recta ya calculada.La implementación <strong>de</strong> la ecuación en el objeto T/Q es bien sencilla:Fig 4.51: Módulo T/Q161


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>5.3.9. MÓDULO PIDComo mencionamos en el apartado anterior, el módulo “PID” es el controlador<strong>de</strong> cada una <strong>de</strong> las ramas <strong>de</strong> control <strong>de</strong>l sistema. El PID es, probablemente, elcontrolador “clásico” más usado en todo tipo <strong>de</strong> sistemas industriales, tanto enimplementaciones analógicas como digitales. Permite ajustar <strong>de</strong> manera in<strong>de</strong>pendientelas componentes proporcional, <strong>de</strong>rivativa e integral <strong>de</strong>l error habido entre la referenciaque <strong>de</strong>seamos alcanzar y el valor real <strong>de</strong> la magnitud en cada instante. Ajustando cadacomponente <strong>de</strong> manera a<strong>de</strong>cuada po<strong>de</strong>mos lograr un comportamiento dinámico <strong>de</strong>lsistema acor<strong>de</strong> a nuestras necesida<strong>de</strong>s en relación a la estabilidad <strong>de</strong>l sistema, velocidad,etc.La implementación con objetos HP-VEE es la siguiente:Fig 4.52: Implementación <strong>de</strong>l PIDEl controlador se compone <strong>de</strong> 3 ramas distintas don<strong>de</strong> se generan los términosproporcional, <strong>de</strong>rivativo e integral a partir <strong>de</strong>l error calculado como la diferencia entre lareferencia a alcanzar (setpoint) y el valor actual <strong>de</strong> la temperatura (actual).162


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>‣ Término Proporcional. Se calcula directamente a partir <strong>de</strong>l término <strong>de</strong> error.Esta parte <strong>de</strong> la acción <strong>de</strong> control estará pon<strong>de</strong>rada por el factor K P .‣ Término Integral. En tiempo continuo la integral se <strong>de</strong>fine como una suma<strong>de</strong> elementos infinitesimales entre dos extremos o límites <strong>de</strong> integración.Trasladando este concepto al tiempo discreto, lo que se obtiene es un sumatorio<strong>de</strong> un cierto número <strong>de</strong> términos <strong>de</strong> error, al que le hacemos la media. Esto loimplementamos en primer lugar con un objeto “sliding collector”, que vaalmacenando los términos que llegan para formar un vector que da a la salida encada iteración. Es a este vector al que le calculamos la media, sumando todossus términos y dividiendo por el número total <strong>de</strong> elementos.Una vez calculado este término, se pon<strong>de</strong>ra con el factor K I .‣ Término Derivativo. Éste término lo aproximamos por la diferencia entre eltérmino <strong>de</strong> error actual y el <strong>de</strong> la iteración anterior (Recordamos que la<strong>de</strong>finición <strong>de</strong> <strong>de</strong>rivada se hace llevando esto al límite infinitesimal en eldominio continuo).Para realizarlo, usamos el objeto “shift register” , que nos almacena elvalor anterior <strong>de</strong> la entrada y nos ofrece la posibilidad <strong>de</strong> acce<strong>de</strong>r a éste y alvalor actual. Restando ambos términos tenemos el término integral, que lomultiplicamos por un factor K I .5.3.10 MÓDULO ACTUADORCada uno <strong>de</strong> los 4 módulos “Actuador” presentes <strong>de</strong>ntro <strong>de</strong>l módulo “Control”son los encargados <strong>de</strong> entregar a la tarjeta <strong>de</strong> adquisición <strong>de</strong> datos los valores <strong>de</strong> tensiónque <strong>de</strong>be poner a cada salida. Estos valores resultan <strong>de</strong> una sencilla conversión <strong>de</strong>s<strong>de</strong>los valores <strong>de</strong> caudal calculados por los controladores PID.Dado que tenemos dos tipos <strong>de</strong> salidas (las salidas analógicas <strong>de</strong> la tarjeta y lospuertos <strong>de</strong> salida digitales que actuarán sobre los conversores Digital-Analógico),tendremos dos tipos <strong>de</strong> objetos.163


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>5.3.10.1 Actuador para Q 11 y Q 12Los flujos Q 11 y Q 12 son los que actúan sobre las bombas 1 y 2 son las queextraen el anticongelante <strong>de</strong> los baños térmicos. Éstos bombas son las que controlamosmediante los convertidores Digital-Analógico externos, por lo que los puertos queusamos en la tarjeta son los puertos digitales. Usamos el puerto A para Q 11 y el puertoB para Q 12 .Fig 4.53: Actuador sobre los puertos digitales para Q 11 o Q 12El módulo es bien simple, y su componente fundamental es el objeto “Put SingleValue” que pone en el puerto digital que le indiquemos <strong>de</strong> la tarjeta el valor que<strong>de</strong>seemos. Tiene como entrada en primer lugar el subsistema <strong>de</strong>l puerto hardware, quecomo el resto, fue creado en el módulo “Inicializa” y recuperamos aquí como variableglobal.En segundo lugar se le indica al objeto el canal en cuestión que queremos usar.En el caso <strong>de</strong>l flujo Q 11 indicamos el número 0 (puerto A), mientras que para Q 12indicamos el 1 (puerto B).Por último se indica el valor en analógico que el sistema colocará en digital enel puerto indicado. En este caso hay que tener en cuenta que el valor que tenemos quesacar por el puerto digital no es exactamente el valor <strong>de</strong> tensión que actuará sobre labomba para dar el caudal <strong>de</strong>seado.164


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>El puerto digital <strong>de</strong> la tarjeta lo que hace es convertir a binario base el valor quele indicamos por la entrada <strong>de</strong> datos <strong>de</strong>l objeto “Put Single Value”. Para tener en cuentael rango <strong>de</strong> funcionamiento <strong>de</strong> la tensión tenemos que dividir por el valor <strong>de</strong>l LSB <strong>de</strong>lCDA externo.Recordamos que el valor <strong>de</strong>l LSB se calculaba como:RangoLSB = 100. 04V8n _ niveles= 2≅ Ec.5. 5Dividiendo el valor <strong>de</strong> tensión que finalmente queremos lograr a la entrada <strong>de</strong>controlador <strong>de</strong> la bomba entre 0.04 V lo que obtenemos es el valor en digital quetendremos a la entrada <strong>de</strong>l CDA externo, que tras la conversión nos volverá a dar elvalor <strong>de</strong> tensión analógica inicial.La conversión previa <strong>de</strong>s<strong>de</strong> el caudal calculado por los controladores (que damoscomo entrada al módulo actuador) y el valor <strong>de</strong>seado <strong>de</strong> tensión se calcula mediante unasencilla división por el factor <strong>de</strong> escala calculado para las bombas en el apartado 4.3.3:Q( ml / min) = K ⋅V( voltios)Ec.5. 6En la configuración final, K vale 6 para la bomba fría y 1 para la caliente.5.3.10.1 Actuador para Q 21 y Q 22Los caudales Q 21 y Q 22 se sacan directamente por los dos canales analógicos <strong>de</strong>salida <strong>de</strong> a tarjeta, sin mediar ningún componente externo. El módulo actuador paraestos casos es un poco más sencillo, ya que no hace falta hacer la “conversión” a digitalprevia. Sin embargo, sí que habrá que implementar la ecuación 5.6 tal como hicimos enel apartado anterior.165


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Fig 4.54: Actuador sobre los puertos analógicos para Q 21 y Q 22166


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>CAPÍTULO 6: RESULTADOS Y CONCLUSIONES6.1 EJEMPLOS DE CURVAS DE INTERPOLACIONPresentamos a continuación varios ejemplos <strong>de</strong>l funcionamiento <strong>de</strong> los dosmódulos <strong>de</strong> entrada <strong>de</strong> datos implementados. Recordamos que estos módulos son losque permiten al usuario <strong>de</strong>finir la evolución <strong>de</strong>seada para las magnitu<strong>de</strong>s temperatura yconcentración, y que se habían implementado dos versiones <strong>de</strong>l mismo: la primera <strong>de</strong>ellas en Matlab, permitiendo una amplia gamas <strong>de</strong> opciones <strong>de</strong> interpolación sobre lospuntos introducidos, y otra más reducida en HP-VEE que sólo permite interpolaciónpolinomial hasta grado 4.6.1.1. MÓDULO DE ENTRADA DE DATOS EN MATLABEl modo <strong>de</strong> operación <strong>de</strong> la función regresion.m programada en Matlab se basaen un procedimiento iterativo en el que el programa le va solicitando al usuario lascoor<strong>de</strong>nadas <strong>de</strong> los puntos característicos <strong>de</strong>l perfil con los que se generará la curva encuestión. Una vez introducidos todos lo puntos <strong>de</strong> la forma (tiempo, temperatura) o(tiempo, concentración), según sea el caso, el usuario <strong>de</strong>ci<strong>de</strong> el tipo <strong>de</strong> regresión que<strong>de</strong>sea usar.Mostramos a continuación varios ejemplos en los que se pue<strong>de</strong>n apreciar lascaracterísticas <strong>de</strong> cada tipo <strong>de</strong> curva:• Ejemplo 1:TIEMPO(segundos)TEMPERATURA(ºC)0 50 80 120 200 300 500 650 700 800 850 900 9507 6.5 6 5.1 4.2 3.5 1.9 0.2 0 -0.8 -1.2 -1.9 -2.2167


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>‣ Interpolación Poligonal 3 :Este tipo <strong>de</strong> curva no se pue<strong>de</strong> llamar propiamente “regresión”, ya que realmentelo único que hace es construir una curva a base <strong>de</strong> segmentos <strong>de</strong> recta que unen lospuntos característicos, eso sí, dando un “continuo” <strong>de</strong> valores en todo el rango <strong>de</strong>tiempo, que es lo que precisamos para tomar referencias en el programa. Su utilida<strong>de</strong>striba en que el usuario introduce únicamente un número reducido <strong>de</strong> puntos, y esrealmente fácil <strong>de</strong> generar en Matlab, mientras que si lo quisiéramos hacer en HP-VEEsupondría un esfuerzo <strong>de</strong> programación mucho mayor.‣ Interpolación SplineFig 6.2: Spline3 En todas las gráficas <strong>de</strong> este capítulo se muestra en el eje X el tiempo en segundos y en el eje Y latemperatura en grados centígrados (ºC)168


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>La interpolación spline tiene la utilidad que genera gráficas cuya evolución esmucho más “suave” que las generadas por otros métodos, mejorando claramente lacurva generada por el método polinomial. Esto pue<strong>de</strong> resultar especialmente útil, ya quecualquier cambio brusco <strong>de</strong> la temperatura pue<strong>de</strong> resultar perjudicial para al órgano.Como contrapartida se observa que la curva obtenida no es estrictamente <strong>de</strong>creciente,sino que presenta un punto <strong>de</strong> inflexión casi al final, don<strong>de</strong> la temperatura crece duranteun tramo. Esto pue<strong>de</strong> ser útil para cierto tipo <strong>de</strong> experimentos, siempre que a juicio <strong>de</strong>lexperimentador que elabore el perfil y si se hace <strong>de</strong> forma controlada.Este mismo fenómeno se pue<strong>de</strong> dar cuando usamos el método <strong>de</strong> interpolaciónque genera una curva <strong>de</strong> grado igual al número <strong>de</strong> puntos introducidos y que pasa portodos ellos.• Ejemplo 2:TIEMPO(segundos)TEMPERATURA(ºC)0 100 200 350 500 650 800 9006 5 3.5 2.2 1 0.2 -0.5 -2‣ Interpolación spline /grado NFig 6.3:SplineFig 6.4Grado N169


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>En las figuras anteriores se observa cómo en este caso las interpolaciones tipospline y <strong>de</strong> grado N generan curvas bastante similares. Esto no suce<strong>de</strong>rá en todos loscasos, y queda a juicio <strong>de</strong>l experimentador seleccionar una u otra a su conveniencia.En el programa regresion.m existe también la posibilidad <strong>de</strong> generarinterpolaciones simples, como son las regresiones lineales (grado 1), cuadráticas(polinomial <strong>de</strong> grado 2) o cúbicas (grado 3). Dado que éste es el caso contemplado en elprograma <strong>de</strong> entrada <strong>de</strong> datos <strong>de</strong> HP-VEE, lo estudiamos en el siguiente apartado.6.1.2 MÓDULO DE ENTRADA DE DATOS EN HP-VEEComo se ha comentado ya en varias ocasiones, este módulo en HP-VEE sólopermite realizar regresiones polinomiales <strong>de</strong> bajo or<strong>de</strong>n. Este tipo <strong>de</strong> curvas, pese a sesimpleza, nos pe<strong>de</strong>n ser suficientes para el <strong>de</strong>sarrollo <strong>de</strong> las primeras pruebas con elsistema. Mostramos a continuación un ejemplo <strong>de</strong> este tipo <strong>de</strong> curvas para distintosgrados.TIEMPO(segundos)TEMPERATURA(ºC)0 300 500 650 9006 4 1 0 -2Las curvas generadas a partir <strong>de</strong> este conjunto <strong>de</strong> puntos <strong>de</strong> entrada tienen, comohemos comentado, la ventaja <strong>de</strong> su simplicidad. Como contrapartida está el hecho <strong>de</strong>que la curva no pasa exactamente por los puntos que hemos introducido, ya que se trata<strong>de</strong> una aproximación <strong>de</strong> mínimos cuadrados. Se tendrá que sopesar si la diferencia entrelos puntos es la recta es tolerable; en caso contrario se <strong>de</strong>berá seleccionar otro tipo <strong>de</strong>curva o, en su <strong>de</strong>fecto, tener en cuenta dicha diferencia a la hora <strong>de</strong> introducir lospuntos.170


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>‣ Interpolación lineal y cuadrática‣ Interpolación cúbica y <strong>de</strong> or<strong>de</strong>n 4A medida que aumenta el grado <strong>de</strong> la curva, mejora la proximidad <strong>de</strong> ésta a lospuntos. Esto se pue<strong>de</strong> ver mediante el coeficiente Goodness <strong>de</strong> las curvas, que vale0.9095, 0.9836, 0.9914 y 0.9929 para las curvas <strong>de</strong> or<strong>de</strong>n 1,2,3 y 4, respectivamente.Esta mejora se logra a costa <strong>de</strong> mayor complejidad en la curva, lo que pue<strong>de</strong> redundaren puntos <strong>de</strong> inflexión en la misma, como se observa en las gráficas.171


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>6.2. OBTENCION DE LA CURVA DE REGRESIÓNTal y como se <strong>de</strong>scribió en el apartado 5.8, uno <strong>de</strong> los puntos clave para el buenfuncionamiento <strong>de</strong>l sistema es la elaboración <strong>de</strong> una regla que relacione los caudalesaportados por las bombas con la temperatura final lograda en el punto <strong>de</strong> suma <strong>de</strong> losfluidos. Tal como se justificó, nos basaremos en una regla puramente heurística, ya queel mo<strong>de</strong>lo <strong>de</strong>l que partíamos era en exceso sencillo para mo<strong>de</strong>lar con fi<strong>de</strong>lidad losprocesos <strong>de</strong> pérdidas térmicas presentes en el sistema.Para la elaboración <strong>de</strong> dicha relación temperatura/caudal proce<strong>de</strong>mos <strong>de</strong> lasiguiente forma:1. En primer lugar hay que seleccionar un flujo nominal suma tal que nos permitaobtener un rango <strong>de</strong> temperaturas “aceptable”. Esta es otra consecuenciaimportante <strong>de</strong> las pérdidas térmicas: no po<strong>de</strong>mos lograr el objetivo <strong>de</strong> controlarla temperatura para cualquier valor <strong>de</strong>l flujo. Se pue<strong>de</strong> ver que para flujos muypequeños, las pérdidas son mucho más importantes y es muy difícil obtenertemperaturas por <strong>de</strong>bajo <strong>de</strong> lo 0ºC, que es nuestro objetivo. A<strong>de</strong>más, se observaen los experimentos que el fluido caliente siempre tiene un efecto predominantesobre el frío; esto es, para cantida<strong>de</strong>s muy pequeñas <strong>de</strong> fluido caliente encomparación con el frío se obtiene una temperatura bastante alta.Estudiamos, pues, para qué valor <strong>de</strong>l flujo máximo se obtiene el mejorrango <strong>de</strong> temperatura. Para hacer esto, colocamos en la bomba extractora <strong>de</strong>lfluido caliente el tubo más pequeño <strong>de</strong>l que disponemos (1.6 mm <strong>de</strong> sección),que nos proporciona una relación tensión/caudal <strong>de</strong> 1 a 1; es <strong>de</strong>cir, obtenemos urango <strong>de</strong>s<strong>de</strong> 0 a 10 mililitros/minuto (este es un rango teórico, ya que aquí noconsi<strong>de</strong>ramos el efecto <strong>de</strong> la zona muerta <strong>de</strong> las bombas). En la bombaextractora <strong>de</strong>l fluido frío colocamos el tubo <strong>de</strong> relación 6/1, obteniendo unmáximo <strong>de</strong> 60 mililitros/minuto.Imponemos la variación máxima (<strong>de</strong> 0 a 10 ml/min) en el fluido caliente,y <strong>de</strong> ahí <strong>de</strong>ducimos cuál es el rango <strong>de</strong> funcionamiento (en tensión y en caudal)172


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>para el fluido caliente, imponiendo que la suma <strong>de</strong> caudales <strong>de</strong>be <strong>de</strong> serconstante. Con estos valores extremos en el rango (valores máximos y mínimos<strong>de</strong> los flujos) calculamos cuál es el mínimo y el máximo valor <strong>de</strong> temperaturaalcanzable.Obtenemos curvas <strong>de</strong> este tipo:Fig 6.9: Máximo <strong>de</strong> temperaturaEn la figura 6.9 se muestra la evolución <strong>de</strong> la temperatura hastaestabilizarse en el valor máximo <strong>de</strong> aproximadamente 7.5ºC2. Repetimos el procedimiento anterior, registrando los valores máximos ymínimos <strong>de</strong> temperatura alcanzables para una amplia gama <strong>de</strong> fluidos netosposibles.Reproducimos a continuación los resultados obtenidos:173


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>• Flujo = 20 ml/minMÍNIMOMÁXIMOFlujo Caliente (Voltios) 0 10Flujo Caliente (ml/min) 0 10Flujo Frío (Voltios) 1.67 3.33Flujo Frío (ml/min) 10 20TEMPERATURA (ºC) 6 12• Flujo = 30 ml/minMÍNIMOMÁXIMOFlujo Caliente (Voltios) 0 10Flujo Caliente (ml/min) 0 10Flujo Frío (Voltios) 3.33 5Flujo Frío (ml/min) 20 30TEMPERATURA (ºC) 5 10• Flujo = 40 ml/minMÍNIMOMÁXIMOFlujo Caliente (Voltios) 0 10Flujo Caliente (ml/min) 0 10Flujo Frío (Voltios) 5 6.67Flujo Frío (ml/min) 30 40TEMPERATURA (ºC) -2.8 12174


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>• Flujo = 50 ml/minMÍNIMOMÁXIMOFlujo Caliente (Voltios) 0 10Flujo Caliente (ml/min) 0 10Flujo Frío (Voltios) 6.67 8.33Flujo Frío (ml/min) 40 50TEMPERATURA (ºC) -5.5 9• Flujo = 55 ml/minMÍNIMOMÁXIMOFlujo Caliente (Voltios) 0 10Flujo Caliente (ml/min) 0 10Flujo Frío (Voltios) 7.5 9.17Flujo Frío (ml/min) 45 55TEMPERATURA (ºC) -7 7A tenor <strong>de</strong> los resultados anteriores, nos <strong>de</strong>cantamos por trabajar con un flujoneto <strong>de</strong> 55 ml/min, que es el que nos proporciona un rango <strong>de</strong> temperaturas mayor.Este valor <strong>de</strong> flujo tiene el inconveniente <strong>de</strong> ser <strong>de</strong>masiado gran<strong>de</strong> para po<strong>de</strong>r serinyectado en un corazón con los que se están realizando actualmente los experimentos(normalmente, provenientes <strong>de</strong> ratones). La solución está en <strong>de</strong>sechar una parte <strong>de</strong>lflujo, quedándonos con el tanto por ciento restante.3. Para el valor <strong>de</strong> flujo seleccionado en el punto anterior y su rango <strong>de</strong> caudalesasociado, vamos variando el caudal a pequeños intervalos (<strong>de</strong>l or<strong>de</strong>n <strong>de</strong> 0.5V) ymidiendo la temperatura resultante. Así, vamos construyendo una tabla querelaciona los caudales con la temperatura obtenida.175


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Se obtienen gráficas como la que sigue:Fig 6.10: Obtención <strong>de</strong> un valor <strong>de</strong>temperatura para un par <strong>de</strong> valores <strong>de</strong> caudalEn la figura 6.10 se observa que la temperatura presenta un pequeñocomportamiento oscilatorio en torno al valor estacionario, que en este caso está en tornoa los –3ºC. Esto es <strong>de</strong>bido al propio movimiento <strong>de</strong> los rotores <strong>de</strong> las bombasperistálticas, que provocan que el fluido obtenido en el tubo no sea totalmente continuo,sino que da pequeños “saltos”.La tabla obtenida para un flujo <strong>de</strong> 55 ml/min es la siguiente:176


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>F. Caliente (V)F. CalienteF. FríoF. Frío (V)(ml/min)(ml/min)Temperatura10 10 7.5 45 7.59.5 9.5 7.583 45.5 7.159 9 7.667 46 6.658.5 8.5 7.75 46.5 6.68 8 7.833 47 6.37.5 7.5 7.917 47.5 5.657 7 8 48 5.156.5 6.5 8.083 48.5 4.556 6 8.167 49 45.5 5.5 8.25 49.5 3.455 5 8.333 50 2.854.5 4.5 8.417 50.5 2.154 4 8.5 51 1.453.5 3.5 8.583 51.5 0.553 3 8.667 52 -0.32.5 2.5 8.75 52.5 -1.152 2 8.83 53 -2.21.5 1.5 8.917 53.5 -3.21 1 9 54 -4.50.5 0.5 9.08 54.5 -6.50 0 9.17 55 -6.74. Partiendo <strong>de</strong> los resultados reflejados en la anterior tabla, se construye unacurva <strong>de</strong> regresión que relacione la temperatura con uno <strong>de</strong> los dos caudales. Ennuestro caso, seleccionamos el caudal caliente y una curva <strong>de</strong> grado 2, que es lasiguiente:2f ( T ) = 0.3232 ⋅T+ 0.62492 ⋅T+ 3.05211177


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>5. De la condición <strong>de</strong> flujo constante obtenemos el valor <strong>de</strong>l otro flujo medianteuna simple resta:g( T ) = 55 − f ( T )6.3 RESULTADOSPresentamos a continuación algunas <strong>de</strong> las curvas obtenidas al imponer elanterior procedimiento al sistema con distintos perfiles <strong>de</strong> temperatura:• Curva 1Fig 6.11: curva <strong>de</strong> resultadosSe observa en la figura 6.11 que se logra un seguimiento <strong>de</strong> la referenciabastante aceptable, con un error en torno a 0.6ºC ( el análisis <strong>de</strong> estos resultados se hallevado a cabo mediante otra pequeña aplicación en HP-VEE diseñada a tal efecto).178


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Sobre esta gráfica hay que comentar varias cosas. En primer lugar, la referenciaque aparece en la figura es la referencia que el controlador recibe como entrada. Estareferencia, como ya hemos explicado ampliamente en el capítulo <strong>de</strong>dicado al software,es constante durante un tiempo igual a tslow, que es el tiempo característico <strong>de</strong>l bucleprincipal o “bucle lento” <strong>de</strong>l sistema. Los valores se van extrayendo <strong>de</strong> la recta querecibe el sistema como entrada, <strong>de</strong> don<strong>de</strong> se toman los valores con un “salto” entre ellos<strong>de</strong> precisamente tslow puntos.Para realizar una valoración <strong>de</strong> la bondad <strong>de</strong> los resultados tenemos que <strong>de</strong>cirque el error obtenido es tolerable para las aplicaciones que <strong>de</strong>seamos, sobre todo sitenemos en cuenta que el sistema es un prototipo que servirá para hacer los primerosexperimentos.Veamos a continuación cómo se comporta el sistema ante otro tipo <strong>de</strong> entradas:• Curva 2Fig 6.12: curva <strong>de</strong> resultados #2En la figura 6.12 se observan algunas particularida<strong>de</strong>s dignas <strong>de</strong> mención:179


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>‣ En primer lugar, se observa un comportamiento un tanto extraño al inicio <strong>de</strong>la curva. Para compren<strong>de</strong>rlo, hay que recordar que la fase inicial <strong>de</strong>l proceso <strong>de</strong>perfusión consta <strong>de</strong> un tiempo en el que enfriamos los tubos para intentarminimizar el efecto <strong>de</strong> las pérdidas térmicas. Al final <strong>de</strong> este proceso, en elinterior <strong>de</strong> los tubos se tendrá una temperatura bastante baja, muy cercana a lamínima alcanzable. Si <strong>de</strong> repente comenzamos el proceso <strong>de</strong> perfusión con unatemperatura “elevada” (en torno a los 7 ºC), el sistema tardará un tiempo enalcanzarla. Esto pue<strong>de</strong> resultar incluso perjudicial para el corazón, por lo que escompetencia <strong>de</strong>l experimentador comenzar con un perfil <strong>de</strong> temperatura acor<strong>de</strong>a esta circunstancia, o bien esperar un pequeño tiempo antes <strong>de</strong> comenzar elproceso.‣ En esta curva hay que <strong>de</strong>stacar que llegamos a una temperatura bastante másbaja que la lograda en la primera curva, llegando hasta los –3ºC. El sistema, sinembargo, se sigue comportando bastante bien.‣ Se comprueba que el sistema también respon<strong>de</strong> <strong>de</strong> manera aceptable antecambios más o menos bruscos <strong>de</strong> la temperatura. Por ejemplo, en la segundatransición <strong>de</strong> la curva existe un salto en la temperatura <strong>de</strong> 3 ºC‣ El comportamiento global <strong>de</strong> la curva es incluso mejor que el logrado en elanterior experimento. Esto se explica porque en el módulo regresion <strong>de</strong>lprograma hemos restado el pequeño offset <strong>de</strong> 0.5 ºC presente en los anterioresexperimentos180


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>• Curva 3Fig 6.13:Curva <strong>de</strong> resultados #3En la figura 6.13 se observa cómo, pese a estar “forzando” al sistema a cambios<strong>de</strong> pendiente y saltos bruscos en la referencia <strong>de</strong> temperatura, éste se comporta <strong>de</strong>manera aceptable. La utilidad <strong>de</strong> un experimento <strong>de</strong> estas características es comprobarla viabilidad <strong>de</strong>l sistema para usar curvas como algunas <strong>de</strong> las <strong>de</strong>scritas en el apartado6.1. En concreto, algún ejemplo <strong>de</strong> interpolación spline o <strong>de</strong> grado N presenta puntos<strong>de</strong> inflexión, provocando que la curva no sea estrictamente <strong>de</strong>creciente en todo surango. Esta situación se ve reproducida en la figura 6.13Otra característica observada es que el error en régimen permanente en cadaciclo es algo distinto. Esto es <strong>de</strong>bido a que estamos trabajando prácticamente con elrango completo <strong>de</strong> temperaturas, y el comportamiento <strong>de</strong>l sistema noe s el mismo parabajas que para altas temperaturas.A<strong>de</strong>más, en el experimento anterior se ha disminuido el valor <strong>de</strong> la constantetslow hasta un valor <strong>de</strong> 90 segundos, con lo que se le da menos tiempo al sistema a quese estabilice.181


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>6.4 PROCESO CALIBRADOEn el apartado 6.2 se ha <strong>de</strong>scrito cómo se <strong>de</strong>be llevar a cabo el proceso inicial<strong>de</strong>l calibrado <strong>de</strong>l sistema o “calibrado grueso”. Con dicho procedimiento hemos llevadoa cabo la batería <strong>de</strong> experimentos mostrados en el apartado 6.3. Llegado a este punto,po<strong>de</strong>mos <strong>de</strong>cir que el sistema se comporta <strong>de</strong> manera bastante aceptable. Sin embargo, ala hora <strong>de</strong> llevar a cabo los experimentos, es el propio experimentador el que <strong>de</strong>be<strong>de</strong>cidir sobre la “bondad” <strong>de</strong> dicho comportamiento, y llegado el caso <strong>de</strong> que sejustifique una mejora sustancial, llevar a cabo las modificaciones pertinentes para ello.Por ejemplo, se pue<strong>de</strong> consi<strong>de</strong>rar oportuno reducir el error en régimen permanente enciertos tramos <strong>de</strong>l rango <strong>de</strong> funcionamiento <strong>de</strong>l sistema, como es el caso <strong>de</strong> latemperatura por <strong>de</strong>bajo <strong>de</strong> 0ºC, que es nuestro fin último. Otra alternativa es intentardisminuir el tiempo que tarda el sistema en pasar <strong>de</strong> la temperatura mínima al inicio <strong>de</strong>lproceso a la primera referencia <strong>de</strong> temperatura (ver figura 6.12).Proponemos, pues, un método para que el experimentador pueda realizar uncalibrado con más o menos garantías <strong>de</strong> éxito.• La propuesta inicial es intentar bajar el error en régimen permanente. Para ellohacemos uso exclusivamente <strong>de</strong> la componente integral <strong>de</strong>l controlador; esto es, laconstante K I. A tenor <strong>de</strong> la experiencia y los resultados obtenidos, se recomienda moverel valor <strong>de</strong> dicha constante en un rango que oscila entre 2 y 5.• Para el valor <strong>de</strong> las constantes <strong>de</strong> tiempo, no se <strong>de</strong>be bajar nunca <strong>de</strong>l valor 90 parala constante tslow, recomendándose al menos un valor <strong>de</strong> 120.• Con respecto al <strong>de</strong>lay, situarlo al menos al valor <strong>de</strong> 30, excepto en el caso <strong>de</strong> quequeramos modificar el tiempo <strong>de</strong> establecimiento, don<strong>de</strong> <strong>de</strong>be estar al mínimo posible,pero con un valor siempre estrictamente positivo.• Para obtener un tiempo <strong>de</strong> establecimiento según las exigencias <strong>de</strong>l experimentadorse propone usar el método <strong>de</strong> calibrado <strong>de</strong> Ziegler-NicholsDicho método propone unos valores para las tres constantes <strong>de</strong>l controlador enfunción <strong>de</strong> la respuesta <strong>de</strong>l sistema:182


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>TIPO CONTROL K P T I T DPPIPIDTK ⋅ DT0.9 ⋅TK ⋅ DT1.2 ⋅TK ⋅ DT3 ⋅DT2 ⋅ DT 0 .5 ⋅ DTEn la anterior tabla los valores <strong>de</strong> las constantes representan lo siguiente(particularizando para nuestro sistema).‣ K: Diferencia <strong>de</strong> temperatura obtenida para un salto en el caudal <strong>de</strong>valor unidad (aumentamos 1ml/min el caudal frío y disminuimos elcaliente en la misma proporción). Este valor es variable a lo largo <strong>de</strong>lrango <strong>de</strong> funcionamiento <strong>de</strong>l sistema (ver la tabla <strong>de</strong> la página 177), porlo que se <strong>de</strong>be seleccionar el punto en el que queremos mejorar lasprestaciones. Si se quiere trabajar con un valor medio, éste se sitúa entorno a 1.1‣ T: tiempo que tarda en llegar al valor en régimen permanente. Estevalor se sitúa en un rango <strong>de</strong> aproximadamente 20-30 segundos, aunquetambién es bastante variable.‣ DT: tiempo <strong>de</strong> retraso, <strong>de</strong>s<strong>de</strong> que se da la acción <strong>de</strong> control hasta queque el sistema la “percibe”. Este valor es <strong>de</strong> aproximadamente 6segundos.La relación <strong>de</strong> las dos últimas entradas <strong>de</strong> la tabla con los parámetros <strong>de</strong>lcontrolador son:⎧⎪T⎨⎪T⎪⎩IDK=KK=KPIDP183


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>CAPITULO 7. LIMITACIONES DEL SISTEMAPROPUESTA DE MEJORAS.7.1 INTRODUCCIÓNEn el presente capítulo vamos a realizar un análisis <strong>de</strong> las limitaciones <strong>de</strong>lsistema implementado, haciendo especial hincapié en las fuentes <strong>de</strong> error presentes entoda la ca<strong>de</strong>na <strong>de</strong>l sistema, <strong>de</strong>s<strong>de</strong> los tanques isotermos hasta el inyector. Veremoscuáles <strong>de</strong> las suposiciones hechas para el diseño <strong>de</strong>l sistema no se cumplen exactamente,así como las imperfecciones <strong>de</strong>l sistema y errores intrínsecos que hacen difícil que selogre un buen seguimiento <strong>de</strong>l perfil <strong>de</strong> temperatura <strong>de</strong>seado.Al mismo tiempo que vemos los errores, nos <strong>de</strong>tendremos a ver posibles mejorasy/o ampliaciones al sistema que soslayen cada uno <strong>de</strong> los términos <strong>de</strong>l error.Po<strong>de</strong>mos dividir el sistema en las distintas partes cuyo funcionamiento da lugara errores que <strong>de</strong>bemos tener en consi<strong>de</strong>ración:‣ Sistemas isotermos‣ Tubos <strong>de</strong> conducción <strong>de</strong> fluidos‣ Bombas peristálticas‣ Sensores‣ Convertidores Digital-Analógico y tarjeta <strong>de</strong> adquisición‣ Software <strong>de</strong> control184


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>7.2 SISTEMAS ISOTERMOSLos sistemas isotermos <strong>de</strong>scritos en el apartado 4.2 cumplen una funciónprimordial en el sistema, que es mantener los fluidos (Krebs y anticongelante) en suinterior a una temperatura fija durante todo el tiempo que dure el proceso. Este hecho es<strong>de</strong> una importancia vital, ya que si la temperatura en los baños térmicos <strong>de</strong> don<strong>de</strong>extraemos los líquidos con las bombas no es constante, en modo alguno la suma <strong>de</strong>flujos al final <strong>de</strong> los tubos <strong>de</strong> conducción va a tener la temperatura <strong>de</strong>seada, ya que lasecuaciones <strong>de</strong>l sistema no se verificarán.En la práctica se comprueba que existen serias dificulta<strong>de</strong>s para mantener latemperatura <strong>de</strong> los baños a un valor totalmente fijo durante el tiempo <strong>de</strong>l experimento,observándose una variación en torno al 5% <strong>de</strong>l valor nominal <strong>de</strong> temperatura. En primerlugar, incluye el hecho <strong>de</strong> que el congelador no fija <strong>de</strong>masiado bien la temperatura en suinterior, y a<strong>de</strong>más ésta no es homogénea, afectando a la temperatura <strong>de</strong>l contenedor.Como explicamos en el apartado 4.2, esto se remediaba en parte mediante el uso <strong>de</strong> lossistemas calefactores, que ejercían un control todo-nada para igualar la temperaturamedida por una termostato a la fijada en su regulador. Un mejor uso <strong>de</strong> este sistema,con termostatos más avanzados y un ajuste fino tanto <strong>de</strong>l tiempo <strong>de</strong> operación <strong>de</strong> lostermostatos como <strong>de</strong> la temperatura <strong>de</strong>l arcón congelador <strong>de</strong>ben redundar en un mejorfuncionamiento <strong>de</strong>l sistema.7.3 TUBOS DE CONDUCCIÓNDurante toda la fase <strong>de</strong> elaboración <strong>de</strong>l proyecto se ha trabajado con tubos <strong>de</strong>conducción <strong>de</strong> fluidos similares a los usados en aplicaciones comunes <strong>de</strong> Medicina.Estos tubos presentan el inconveniente <strong>de</strong> que su rango <strong>de</strong> temperatura <strong>de</strong>funcionamiento no es el a<strong>de</strong>cuado para aplicaciones <strong>de</strong> criopreservación. A medida quese baja la temperatura, se aprecia un endurecimiento <strong>de</strong>l tubo, llegando a una granrigi<strong>de</strong>z que pue<strong>de</strong> provocar su ruptura.Para un mejor funcionamiento <strong>de</strong>l prototipo, se recomienda trabajar con tubos <strong>de</strong>silicona, que resisten mejor las bajas temperaturas.185


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Pero el mayor inconveniente que presentan los tubos <strong>de</strong> conducción son laspérdidas <strong>de</strong> temperatura. El líquido que circula por su interior ve distorsionada sutemperatura a medida que avanza por el tubo, llegando a per<strong>de</strong>r varios grados conrespecto a la temperatura que tenía en el otro extremo. La importancia <strong>de</strong> este fenómenose ve acentuada por el hecho <strong>de</strong> que es muy <strong>de</strong>pendiente con la temperatura ambiente.La explicación es evi<strong>de</strong>nte: mientras mayor sea la diferencia entre las temperaturas en elinterior y el exterior <strong>de</strong> los tubos conductores más flujo <strong>de</strong> calor habrá en un sentidopara que éstas se igualen.La solución es bastante difícil; lo que se hace es intentar minimizar el fenómenoen la medida <strong>de</strong> lo posible, acortando todo lo que se pueda la longitud <strong>de</strong> los tubos.Evi<strong>de</strong>ntemente, a menor longitud, menos pérdidas. Esto hace que el sistema secomporte <strong>de</strong> manera distinta si cambiamos los tubos en cualquier momento (paramontar el dispositivo en otra ubicación, por ejemplo). A<strong>de</strong>más, se aislan los tubosmediante aislante térmico, <strong>de</strong>l mismo tipo que el usado en instalaciones <strong>de</strong> aireacondicionado.Se pue<strong>de</strong>n plantear otras posibles mejoras encaminadas a aislar térmicamentelos tubos conductores. Una opción podría ser hacer circular alre<strong>de</strong>dor <strong>de</strong> los tubos unfluido que actúe como aislante térmico ante la temperatura exterior. Esta solución es<strong>de</strong>masiado compleja y costosa, pero podría disminuir bastante las pérdidas.7.4. BOMBAS PERISTÁLTICASComo se indicó en el apartado 4.3, las bombas usadas para el prototipo <strong>de</strong>sistema <strong>de</strong> perfusión son el mo<strong>de</strong>lo D-21 <strong>de</strong> la marca DINKO. Estas bombas, aunqueusadas en ámbitos médicos y <strong>de</strong> experimentación, no tienen unas prestaciones<strong>de</strong>masiado elevadas en cuanto al control <strong>de</strong>l flujo y la estabilidad <strong>de</strong>l mismo. Enconcreto, aunque en las especificaciones se indica una sensibilidad en el control <strong>de</strong>l 1%<strong>de</strong>l rango total <strong>de</strong> funcionamiento (10V), en la práctica se aprecia que este valor oscilaentre 0.3V y 0.5V, <strong>de</strong>pendiendo <strong>de</strong> la zona <strong>de</strong> trabajo <strong>de</strong>ntro <strong>de</strong>l rango admisible.186


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Otra limitación <strong>de</strong> las bombas es la llamada zona muerta <strong>de</strong> funcionamiento. Es<strong>de</strong>cir, el rango <strong>de</strong> funcionamiento <strong>de</strong> las bombas no parte <strong>de</strong> 0 Voltios <strong>de</strong> tensión, sinoque precisa <strong>de</strong> casi 2V para que realmente se obtenga un flujo hacia el exterior.A<strong>de</strong>más, esta cantidad es bastante variable, siendo modificada por agentes externos,como la presencia <strong>de</strong> aire en los circuitos.Todas estas limitaciones se pue<strong>de</strong>n ver subsanadas, o al menos ampliamentesuperadas, si usáramos una bomba peristáltica <strong>de</strong> mayores prestaciones, como es el caso<strong>de</strong> la Infusomat Fm o Lifecare 5000. Estas bombas presentan un diseño mucho másavanzado, basado en microprocesador, y llevan incluido entre otras funciones, uncontrol interno <strong>de</strong>l flujo, por lo que el fabricante nos asegura un tiempo <strong>de</strong>establecimiento realmente bajo para lograr una estabilidad en el flujo que le hemosindicado en torno al 5%.7.5 SENSORESEn este apartado nos vamos a referir únicamente a los sensores <strong>de</strong> temperaturaya implantados. En primer lugar hay que <strong>de</strong>cir que trabajar con un sensor <strong>de</strong>temperatura basado en circuito integrado, como es el caso <strong>de</strong>l AD590 presenta un claroinconveniente si lo que <strong>de</strong>seamos medir es la temperatura <strong>de</strong> un fluido, como es nuestrocaso. Es bastante complicado usar el integrado en la medida <strong>de</strong> temperatura <strong>de</strong> unfluido, ya que cualquier cantidad <strong>de</strong> líquido, por pequeña que ésta sea, que caiga sobrelos conectores <strong>de</strong>l integrado, provocan cortocircuito y pue<strong>de</strong>n llegar a estropear elsensor.Por tanto, se opta por una opción <strong>de</strong> montaje en la que el sensor se aisla <strong>de</strong>lmedio líquido mediante un recubrimiento plástico. Este recubrimiento permiteintroducir el sensor en el fluido sin peligro, pero <strong>de</strong>teriora las medidas. A<strong>de</strong>más, ladiferencia <strong>de</strong> temperatura entre la real y la que medimos es difícilmente cuantificable.Para solucionar esto se pue<strong>de</strong> dar al sensor un baño con barniz aislante especialpara integrados.187


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>Con respecto al funcionamiento, hay que <strong>de</strong>cir que el termómetro patrón que seusó para el calibrado es un termómetro digital con sonda termopar tipo K. Estosdispositivos presentan una precisión <strong>de</strong> 1ºC, por lo que es ésa la limitación teórica <strong>de</strong> laprecisión en nuestro calibradp.Otro error importante que se aprecia en el diseño <strong>de</strong>l circuito sensor es laganancia <strong>de</strong>l amplificador <strong>de</strong> instrumentación. En efecto, dado que ésta se regulaexternamente mediante un potenciómetro, se <strong>de</strong>tectan variaciones más o menosimportantes. Evi<strong>de</strong>ntemente, cualquier variación <strong>de</strong>l valor nominal <strong>de</strong> 225 para laganancia, que es el que consi<strong>de</strong>ramos en el software <strong>de</strong> control, hace que las medidasobtenidas estén distorsionadas. Para solucionar esto se propone colocar una resistencia<strong>de</strong> alta estabilidad térmica <strong>de</strong> valor 221 Ohmios, que es precisamente el valor que nosda una ganancia <strong>de</strong> 225.7.6 CDAUna <strong>de</strong> las principales fuentes <strong>de</strong> error cuando trabajamos con convertidoresDigital-Analógico es el error intrínseco <strong>de</strong> conversión. Como sabemos, al convertir <strong>de</strong>una magnitud digital a otra analógica existirá un cierto error o in<strong>de</strong>terminación dado porel hecho <strong>de</strong> que trabajamos con un número finito <strong>de</strong> niveles <strong>de</strong> conversión (en concreto,2 n don<strong>de</strong> n es el número <strong>de</strong> bits <strong>de</strong>l conversor). Sin embargo, como ya comentamos en elapartado 4.4, en nuestro caso esto no nos da problema, ya que el valor <strong>de</strong> precisión <strong>de</strong>las bombas peristálticas (0.1V teóricos) es mayor que el LSB <strong>de</strong>l convertidor (0.04V).Lo que sí se aprecia en la implementación con componentes discretos <strong>de</strong>l CDAes que el funcionamiento se <strong>de</strong>teriora cuando nos acercamos a los valores altos <strong>de</strong>lrango <strong>de</strong> funcionamiento. Para solucionar esto, se propone implementar cualquiera <strong>de</strong>los circuitos <strong>de</strong> compensación recomendados en el Datasheet <strong>de</strong>l conversor.Otra alternativa al uso <strong>de</strong> CDA externos es trabajar con bombas <strong>de</strong> controldigital. Por ejemplo, las Infusomat FM o Lifecare 5000 tienen puerto <strong>de</strong>188


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>comunicaciones RS-232. También se pue<strong>de</strong> usar una tarjeta que tenga suficiente número<strong>de</strong> salida (la DT300 tiene 8 salidas, y su uso es compatible con la tarjeta DT302).7.7 SOFTWARE DE CONTROLCon respecto al Software <strong>de</strong> control, la principal discusión que po<strong>de</strong>mos hacer essobre la conveniencia o no <strong>de</strong> usar controladores tipo PID para el sistema. Acontinuación haremos un pequeño estudio <strong>de</strong> una estrategia <strong>de</strong> control más avanzadaque se pue<strong>de</strong> adaptar bien a las necesida<strong>de</strong>s <strong>de</strong> nuestro sistema: El Control PredictivoBasado en el Mo<strong>de</strong>lo7.7.1 CONTROL PREDICTIVO BASADO EN EL MODELOEl Control Predictivo Basado en el Mo<strong>de</strong>lo (MPC, <strong>de</strong> sus siglas en inglés) es unaestrategia <strong>de</strong> control que se basa en un conocimiento previo más o menos exacto <strong>de</strong>lproceso a controlar. De esta forma, se pue<strong>de</strong>n pre<strong>de</strong>cir las salidas futuras <strong>de</strong>l sistema yaplicar una acción <strong>de</strong> control a<strong>de</strong>cuada para minimizar los errores. En realidad no setrata <strong>de</strong> un tipo <strong>de</strong> controlador, sino <strong>de</strong> toda una familia <strong>de</strong> algoritmos que tienen encomún las siguientes características: Uso explícito <strong>de</strong> un mo<strong>de</strong>lo para pre<strong>de</strong>cir la salida <strong>de</strong>l proceso en futurosinstantes <strong>de</strong> tiempo (horizonte) Cálculo <strong>de</strong> las señales <strong>de</strong> control minimizando una cierta función objetivo. Estrategia <strong>de</strong>slizante, <strong>de</strong> forma que en cada instante el horizonte se va<strong>de</strong>splazando hacia el futuro, lo que implica aplicar la primera señal <strong>de</strong> control encada instante y <strong>de</strong>sechar el resto, repitiendo el cálculo en cada instante <strong>de</strong>muestreo. Se pue<strong>de</strong>n introducir términos <strong>de</strong> error en el algoritmo Válido para todo tipo <strong>de</strong> representaciones <strong>de</strong>l sistema (función <strong>de</strong> transferencia,ecuaciones <strong>de</strong> estado, etc) Permite tratar control multivariable Posee compensación <strong>de</strong>l retardo189


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong> Admite restricciones sobre las acciones <strong>de</strong> control. Por ejemplo, se pue<strong>de</strong>imponer límites en el valor <strong>de</strong> la tensión <strong>de</strong> salida, para evitar valores fuera <strong>de</strong>lrango <strong>de</strong> funcionamiento <strong>de</strong> las bombas o en las zonas muertas. También sepue<strong>de</strong>n imponer condición sobre las <strong>de</strong>rivadas <strong>de</strong> las acciones <strong>de</strong> control,evitando cambios bruscos en las mismas. Es especialmente útil si se saben las referencias futuras, como es nuestro caso,ya que seguimos un perfil previamente <strong>de</strong>finido.Entre sus principales inconvenientes está la elevada carga <strong>de</strong> cálculo que precisael algoritmo, pero la principal dificultad a la hora <strong>de</strong> diseñar un buen algoritmo con latécnica MPC es que se <strong>de</strong>be partir <strong>de</strong> un buen conocimiento <strong>de</strong>l proceso. Esto incluyeuna caracterización en forma <strong>de</strong> función <strong>de</strong> transferencia, por ejemplo, que recoja todoslos fenómenos físicos que intervienen en el proceso.7.7.2 CONTROL MULTIVARIABLEComo se ha visto durante todo el <strong>de</strong>sarrollo <strong>de</strong>l proyecto, el objetivo último <strong>de</strong>lmismo es lograr que la disolución <strong>de</strong> crioprotector que se inyecta en el órgano tenga una<strong>de</strong>terminada temperatura y concentración en cada momento. Sin embargo, en elalgoritmo <strong>de</strong> control sólo cerramos el bucle sobre la variable temperatura, mediante losdos sensores implementados a partir <strong>de</strong>l integrado AD590.La variable concentración queda, pues, en “bucle abierto”. Esto significa que,aunque la tengamos en cuenta en las ecuaciones y <strong>de</strong>mos las acciones <strong>de</strong> controla<strong>de</strong>cuadas para lograr en cada momento la concentración marcada por la curva diseñadaal inicio <strong>de</strong>l proceso, no tenemos garantía <strong>de</strong> que realmente se está logrando seguirdicho perfil <strong>de</strong> concentración.Esto se ha hecho así por varios motivos:‣ En primer lugar, la variable temperatura se consi<strong>de</strong>ra <strong>de</strong> más importancia en elproceso que la concentración. Las variaciones en ésta última sobre el perfil<strong>de</strong>seado no serán especialmente relevantes en los resultados.190


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>‣ Los sensores <strong>de</strong> temperatura son bastante conocidos y usados en la industria;existe una amplia gama <strong>de</strong> ellos y es relativamente sencillo encontrar uno acor<strong>de</strong>a nuestras necesida<strong>de</strong>s por un precio bastante bajo. Sin embargo, para medir laconcentración <strong>de</strong> la disolución tendríamos que acudir a un medidor <strong>de</strong> Ph.‣ Por último, si quisiéramos incorporar el/los sensores <strong>de</strong> PH a<strong>de</strong>más <strong>de</strong> lossensores <strong>de</strong> temperatura, el algoritmo se complicaría bastante, al tener que seguirdos referencias con sólo una gama <strong>de</strong> acciones <strong>de</strong> control, como son los 4 flujos<strong>de</strong> las bombas, que a<strong>de</strong>más están relacionados entre sí, ya que la suma <strong>de</strong> todos<strong>de</strong>be ser igual al flujo nominal en todo momento.Para trabajar con sistemas multivariables como el propuesto existen técnicas quebásicamente lo que preten<strong>de</strong>n es separar la función <strong>de</strong> transferencia con dos entradas endos funciones “simples”, esto es, con una entrada y una salida. Sobre cada una <strong>de</strong> ellasaplicaremos un control ”tradicional”.Existen otras técnicas <strong>de</strong> control que se basan en minimizar un cierto criterio <strong>de</strong>diseño, en contraposición con las técnicas clásicas, como el PID, que preten<strong>de</strong>n obteneruna salida con unas ciertas características temporales (error en régimen permanente,sobreoscilación, velocidad, etc). En nuestro caso, se podría diseñar un cierto criterio <strong>de</strong>diseño que tuviera en cuenta los errores tanto en temperatura como en concentración,pon<strong>de</strong>rando cada uno <strong>de</strong> ellos en función <strong>de</strong> la importancia que <strong>de</strong>mos al seguimiento <strong>de</strong>cada variable.7.7.3 SENSORES DE CAUDALPor último presentamos una modificación al sistema que supondría la adición <strong>de</strong>nuevos sensores, en este caso sensores <strong>de</strong> caudal o caudalímetros. La i<strong>de</strong>a es intentarmejorar la estabilidad en el caudal ofrecido por cada una <strong>de</strong> las bombas peristálticas. Enestas bombas el caudal que indiquemos no tiene por qué coincidir con exactitud con elque realmente ofrecen. Aparecerá una cierta respuesta dinámica <strong>de</strong>l sistema bomba ante191


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>la entrada introducida (referencia <strong>de</strong> tensión), que po<strong>de</strong>mos ten<strong>de</strong>r en cuenta en elsoftware <strong>de</strong> control.Para mejorar el funcionamiento <strong>de</strong> las bombas tendríamos en primer lugar quemo<strong>de</strong>lar el comportamiento <strong>de</strong> cada una <strong>de</strong> la forma antes dicha, y a continuación,tratarlas a cada una como un subsistema in<strong>de</strong>pendiente <strong>de</strong>ntro <strong>de</strong> nuestro sistema global.Po<strong>de</strong>mos controlarlas cada una <strong>de</strong> manera in<strong>de</strong>pendiente cerrando un bucle <strong>de</strong> controlsecundario con sensores <strong>de</strong> caudal. De esta forma construiríamos un sistema <strong>de</strong> controlcon dos bucles: uno principal o “externo” que funcionaría exactamente igual al queactualmente tenemos implementado, y 4 bucles “internos” que se encargarían <strong>de</strong> que lareferencia <strong>de</strong> caudal dada por el bucle externo se cumpliera con exactitud en cadabomba.Esto presenta varios problemas, entre los cuales el más importante es el tiempo.Para que el control <strong>de</strong> cada bomba se pudiera hacer efectivo, se requeriría <strong>de</strong> un númeromás o menos elevado <strong>de</strong> acciones <strong>de</strong> control por cada cambio en a referencia <strong>de</strong> caudal.Esto, evi<strong>de</strong>ntemente, requeriría <strong>de</strong> cierto tiempo, con lo que estaríamos limitando lavelocidad <strong>de</strong> actuación <strong>de</strong> nuestro bucle principal.A<strong>de</strong>más, <strong>de</strong>spués <strong>de</strong> realizar búsqueda <strong>de</strong> sensores <strong>de</strong> caudal entre variosfabricantes, se comprueba que, aunque existen productos para trabajar con caudalesmuy bajos (<strong>de</strong>l or<strong>de</strong>n <strong>de</strong> ml/min, como pue<strong>de</strong> llegar a ser nuestro caso), su precio esrealmente elevado (<strong>de</strong>l or<strong>de</strong>n <strong>de</strong> 600 euros).Por tanto, se propone el uso <strong>de</strong> un sensor <strong>de</strong> caudal (caudalímetro omicrorotámetro) en el extremo <strong>de</strong>l circuito don<strong>de</strong> el fluido se inyecta en el órgano. Así,aunque no ejerza función <strong>de</strong> control en el sistema, sí pue<strong>de</strong> servir al menos paraproporcionar una i<strong>de</strong>a <strong>de</strong>l caudal que realmente está siendo introducido en el órgano, ycomprobar cuánta es la variación con respecto al valor nominal <strong>de</strong>seado.Con la misma filosofía, se pue<strong>de</strong> usar un sensor <strong>de</strong> concentración en el mismopunto como alternativa al sistema <strong>de</strong> control propuesto en el apartado 7.7.2.Dado que la concentración es una magnitud difícil <strong>de</strong> medir <strong>de</strong> manera directa,se proponen dos alternativas:192


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>‣ Sensor <strong>de</strong> Ph. Sabiendo el nivel <strong>de</strong> Ph exacto <strong>de</strong> los fluidos en estado puro,po<strong>de</strong>mos <strong>de</strong>ducir la concentración <strong>de</strong> la mezcla mediante una regla <strong>de</strong> 3.‣ Osmómetro. Son un tipo <strong>de</strong> sensores que mi<strong>de</strong>n la concentración a partir <strong>de</strong> lapresión osmótica que ejerce la muestra sobre otra disolución patrón (la presiónosmótica es la ejercida por un fluido cuando éste tien<strong>de</strong> a igualar lasconcentraciones en una mezcla). Tienen el principal inconveniente <strong>de</strong> su muyelevado coste.7.8 IMPLEMENTACIÓN DEL SISTEMA CON 4 BOMBASTal como se <strong>de</strong>scribió en al capítulo 3, el diseño original <strong>de</strong>l sistema consta <strong>de</strong>un sistema con 4 bombas en el que la i<strong>de</strong>a básica es que, combinando convenientementela cantidad <strong>de</strong> fluido <strong>de</strong> cada bomba, po<strong>de</strong>mos tener un fluido suma con la temperaturay concentración que <strong>de</strong>seemos.Sin embargo, se <strong>de</strong>mostró en la práctica que la simplicidad <strong>de</strong>l mo<strong>de</strong>lo nocontemplaba efectos tan importantes como las pérdidas térmicas producidas al circularel fluido frío por los tubos o al producirse la suma <strong>de</strong> los fluidos fríos y calientes. Estohace que sea prácticamente imposible lograr los objetivos iniciales.A partir <strong>de</strong> la experiencia obtenida en la consecución <strong>de</strong>l control en latemperatura, se proponen las siguientes alternativas para lograr un control integraltemperatura-concentración:7.8.1 DISEÑO ORIGINAL FUNCIONANDO A ALTO CAUDALLa i<strong>de</strong>a fundamental que subyace en el problema <strong>de</strong> las pérdidas térmicas es quea medida que bajamos el caudal nominal con el que trabajamos, bajando a su vez loscaudales parciales, las pérdidas por el efecto <strong>de</strong>l medio ambiente en el que seencuentran inmersos los tubos se hacen mayores. A<strong>de</strong>más, se pue<strong>de</strong> comprobar que el193


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>caudal a temperatura ambiente tiene más importancia en la temperatura <strong>de</strong> la mezclaque el caudal “frío”. Es por ello que hemos seleccionado un caudal nominal <strong>de</strong> 55ml/min, con una relación <strong>de</strong> 6/1en los caudales fríos y calientes (ver apartado 6.2).Si queremos ampliar el modo <strong>de</strong> funcionamiento a la configuración original enla que en cada subraya circula un flujo proporcional a la concentración seleccionada encada momento, hay que tener en cuenta un hecho fundamental, que es que laconcentración máxima tolerable por el órgano es <strong>de</strong>l 10% aproximadamente. A esto hayque añadir que la mínima temperatura que se pue<strong>de</strong> obtener con el Krebs es 6ºCaproximadamente, ya que la temperatura <strong>de</strong> fusión (mínima temperatura a la quepo<strong>de</strong>mos mantener el Krebs en el tanque frío está en torno a la temperatura <strong>de</strong> fusión <strong>de</strong>lagua <strong>de</strong>stilada, esto es, 0ªC).Sumando estos dos factores, concluimos que sería necesario “enfriar” el fluido a5ºC (Krebs) con otro fluido (crioprotector) a menor temperatura, pero cuyo fluido seráapenas el 10%. Visto que se hace necesaria una relación 6/1 para lograr una rangoaceptable <strong>de</strong> temperatura, se antoja casi imposible lograrlo con una relación 1/10.La opción que se presenta para seguir en esta línea es trabajar con uncrioprotector a muy baja temperatura <strong>de</strong> fusión (mucho más baja que la logradaactualmente; esto es, -13ºC aproximadamente). Si logramos que la temperatura <strong>de</strong> larama <strong>de</strong> crioprotector sea mucho menor que la <strong>de</strong> la rama <strong>de</strong>l Krebs, es posible que sepueda bajar a éste <strong>de</strong> 0ºC, pese a que la cantidad <strong>de</strong> flujo <strong>de</strong>l anticongelante es muchomenor.Para obtener la temperatura con la que <strong>de</strong>bemos trabajar en cada una <strong>de</strong> lassubrayas, se proce<strong>de</strong>ría <strong>de</strong> una forma similar a la que hemos realizado para la regulación<strong>de</strong> temperatura (apartado 6.3). Si en este caso íbamos calculando la temperaturaobtenida variando los flujos, manteniendo siempre el flujo suma y la temperatura <strong>de</strong> losflujos parciales constante, en este caso se trata <strong>de</strong> obtener la temperatura suma variandola temperatura <strong>de</strong> cada uno <strong>de</strong> los flujos suma y manteniendo constante el valor <strong>de</strong>dichos flujos suma. Se pue<strong>de</strong> enten<strong>de</strong>r mejor en el siguiente resumen:194


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>• Control Implementado (Regulación <strong>de</strong> la temperatura con dos bombas)• Mediciones: Temperatura Suma (T)• Variación: flujos parciales Q 11 , Q 12• Condición: Q 11 + Q 12 = CTE• Temperaturas flujos parciales: CTE (temperaturas <strong>de</strong> los tanques)• Regla <strong>de</strong> Regresión Deducida: Q 11 =f(T)• Control para 4 Bombas (Generador <strong>de</strong> referencias <strong>de</strong> temperatura para cada rama)• Mediciones: Temperatura Suma (T)• Variación: temperaturas <strong>de</strong> los flujos parciales T 1 , T 2⎧ Q1= C ⋅φ• Condición: ⎨⎩Q2= (1 − C)⋅φ• Temperaturas flujos parciales: VARIABLE (calculadas a partir <strong>de</strong> laecuación que vamos a <strong>de</strong>ducir. Sirven como referencia para el regulador<strong>de</strong> temperatura <strong>de</strong>scrito en el punto anterior- 1 en cada rama)• Regla <strong>de</strong> Regresión Deducida: T 1 =f(T)7.8.2 DISEÑO ORIGINAL FUNCIONANDO A DISTINTASCONCENTRACIONESEn al apartado anterior se ha <strong>de</strong>scrito una línea <strong>de</strong> acción para intentar conseguirun rango aceptable <strong>de</strong> temperatura trabajando con una concentración menor al 10%. Sinembargo, ésta tiene claros inconvenientes, como es el <strong>de</strong> que es necesario que laconcentración sea siempre estrictamente mayor que cero (no po<strong>de</strong>mos “enfriar” el flujo<strong>de</strong>l Krebs si no añadimos crioprotector más frío). Aún así, lograr un rango <strong>de</strong>temperatura aceptable <strong>de</strong>pen<strong>de</strong>rá mucho <strong>de</strong> cuánto seamos capaces <strong>de</strong> minimizar laspérdidas, para que el flujo frío efectivamente sea capaz <strong>de</strong> enfriar la mezcla.195


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>La alternativa que se propone en este apartado se basa en variar la configuraciónoriginal, en la que se trabajaba con substancias “puras”. Efectivamente, en elplanteamiento original partíamos <strong>de</strong> la base <strong>de</strong> que en cada una <strong>de</strong> las subrayas teníamosúnicamente crioprotector o Krebs en estado puro. Visto los problemas que estaconfiguración plantea, una alternativa pue<strong>de</strong> ser variar las concentraciones <strong>de</strong>crioprotector en cada uno <strong>de</strong> las dos subrayas <strong>de</strong> control. De esta forma po<strong>de</strong>mos bajarla temperatura mínima (temperatura <strong>de</strong> fusión) en la rama que anteriormente sólocontenía Krebs. El inconveniente <strong>de</strong> este método es que, como sabemos, no po<strong>de</strong>mosaumentar la concentración <strong>de</strong> la disolución <strong>de</strong> forma arbitraria, ya que la toxicidad <strong>de</strong>ésta podría dañar <strong>de</strong> manera irremisible el órgano.Se trata, pues, <strong>de</strong> probar distintas concentraciones en cada una <strong>de</strong> las ramas,midiendo el rango <strong>de</strong> temperatura que po<strong>de</strong>mos lograr y comprobando si laconcentración efectiva es siempre inferior a la máxima permitida.7.8.3 DISEÑO BASADO EN INTERCAMBIADOR DE CALOREn los diseños alternativos presentados en los en los apartados anteriores semantiene una característica común, a todas luces insalvable con la configuraciónoriginal <strong>de</strong> 4 bombas. Esta característica es el alto flujo nominal con el que se trabaja.En efecto, ya vimos que para lograr un rango <strong>de</strong> temperaturas aceptable hacía faltatrabajar con un flujo realmente alto (55ml/min). Esta cantidad posiblemente tendría queser aumentada para implementar cualquiera <strong>de</strong> las soluciones <strong>de</strong>scritas en los apartados7.8.1 y 7.8.2. En principio, esto no es un gran inconveniente, ya que es posibledisminuir el caudal mediante unas pequeñas válvulas que po<strong>de</strong>mos ajustar paraquedarnos con un porcentaje <strong>de</strong>l flujo, eliminando el resto (que sería inservible, al estarya mezclado).El problema se plantea cuando queremos trabajar con otro tipo <strong>de</strong> congelantes,como es el caso <strong>de</strong>l dimetilsulfóxido, cuyo precio es mucho mayor que el poliglicerolcon e que se han realizado las primeras pruebas. En ese caso, la opción <strong>de</strong> <strong>de</strong>rivar el90% <strong>de</strong> la solución no es en modo alguno aceptable, por resultar <strong>de</strong>masiado onerosa.196


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>La opción que planteamos es una modificación <strong>de</strong>l sistema original, dividiendoen dos subsistemas totalmente in<strong>de</strong>pendientes el control <strong>de</strong> la temperatura y <strong>de</strong> laconcentración.En la opción propuesta, la primera <strong>de</strong> las ramas implementaría el control entemperatura ya diseñado, trabajando al mismo valor <strong>de</strong>l flujo (55 ml/min), pero con unanticongelante <strong>de</strong> bajo coste, ya que no será el que finalmente se inyecte en el órgano.En la segunda rama se tendrían dos tanques a temperatura ambiente, uno para elKrebs y otro para el anticongelante. Esta disolución sí será la que se inyecte en elcorazón. En esta rama trabajamos con el caudal que realmente precisamos (<strong>de</strong>l or<strong>de</strong>n <strong>de</strong>5 ml/min) y a temperatura ambiente. Para ello precisamos <strong>de</strong> bombas <strong>de</strong> muy altaprecisión, distintas a las usadas para la otra rama .Ahora bien, en esta segunda rama logramos un flujo con el caudal y laconcentración <strong>de</strong>seado, pero a una temperatura fija en torno a la temperatura ambiente.¿Cómo logramos que se disminuya la temperatura? Para ello hacemos uso <strong>de</strong> undispositivo conocido como intercambiador <strong>de</strong> calor. Este dispositivo, construido abase <strong>de</strong> dos serpentines <strong>de</strong> pequeño diámetro entrecruzados permite transmitir latemperatura <strong>de</strong>l flujo que circula por uno <strong>de</strong> los serpentines al segundo. En nuestraconfiguración, el flujo generado en la rama fría circularía por el primero <strong>de</strong> losserpentines, enfriando la disolución que circulará por el segundo <strong>de</strong> ellos, a un caudalmucho menor.197


Departamento <strong>de</strong> Física Aplicada III. <strong>Universidad</strong> <strong>de</strong> <strong>Sevilla</strong>198

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!