Sei sulla pagina 1di 175

DISEO Y CONSTRUCCIN DE MEDIDORES DE FLUJO PARA LQUIDOS Y SENSORES DE TEMPERATURA CON SALIDA DIGITAL

JUAN SALVADOR ROSERO TOVAR

UNIVERSIDAD NACIONAL DE COLOMBIA FACULTAD DE INGENIERA DEPARTAMENTO DE INGENIERA MECNICA SANTAF DE BOGOT D.C. 2001

DISEO Y CONSTRUCCIN DE MEDIDORES DE FLUJO PARA LQUIDOS Y SENSORES DE TEMPERATURA CON SALIDA DIGITAL

JUAN SALVADOR ROSERO TOVAR

Proyecto de grado para optar el ttulo de Ingeniero Mecnico

Director Ing. Fabio Sierra Vargas

UNIVERSIDAD NACIONAL DE COLOMBIA FACULTAD DE INGENIERA DEPARTAMENTO DE INGENIERA MECNICA SANTAF DE BOGOT D.C. 2001

Nota de aceptacin ________________________________ ________________________________ ________________________________

________________________________ Ing. Sierra Vargas Director del proyecto

________________________________ Jurado

________________________________ Jurado

Santaf de Bogot D.C. 22 de junio de 2001.

Este proyecto va dedicado nica y exclusivamente a Dios, ya que es mi fuente de agua permanente. l me ha dado todo lo que tengo. Por l poseo la inteligencia que me permite realizar este proyecto, l me ha dado la tranquilidad y seguridad para hacer las cosas; por l he podido disfrutar de dos grandes hermanos, Jos Leonardo y Sandra. Por l he aprendido a dar gracias por la existencia de mis amigos y enemigos, la cual en sus buenos consejos y humillaciones, respectivamente, mi vida se ha hecho ms fuerte y relevante para hacer feliz a las personas que en mis aos de vida se han esmerado por hacerme saber cuanto me quieren: mi abuela Ana Tilde y mis mams Lesvia y Rebe.

AGRADECIMIENTOS

Expreso mis ms sinceros agradecimientos a aquellas personas que de una u otra forma colaboraron moral y/o materialmente con la realizacin de este proyecto:

FABIO SIERRA, Ingeniero Mecnico, profesor del rea de ciencias trmicas de Ingeniera Mecnica, Universidad Nacional de Colombia. Director del presente proyecto por su increble paciencia para conmigo y por sus valiosos aportes durante el proyecto.

NELSON

COGUA,

Tcnico

encargado

del

laboratorio

de

motores,

Universidad Nacional de Colombia. Gracias a l me llen de ganas para culminar este proyecto. Siempre me llam la atencin su espritu de servicio y el sentido de pertenencia por todo aquello relacionado con la Universidad Nacional.

CARLOS JULIO HERNNDEZ, Licenciado en electromecnica, encargado del laboratorio de plantas trmicas. Gracias a l aprend a tener un poco ms de paciencia.

JOS carrera.

Y LORENA, por toda la colaboracin prestada durante toda mi

WILLIAM DEL CASTILLO, fue la persona que ms confianza deposit en m.

FAMILIA ROSERO, por la ayuda econmica que siempre me brind.

ALVARO, FIDEL Y JOHN, su apoyo moral nunca lo olvidar porque con ustedes aprend lo bueno que es pasar dificultades cuando tienes a alguien te respalde.

FAMILIA RAMREZ-HOME, FAMILIA DEFFIT-TELLEZ, FAMILIA SUREZ Y ANDRS, mi hermanito, gracias por dejarme contar con sus vidas y con sus consejos, sin ellos no hubiera mejorado mi forma de ser.

ELVIS VALDIVIESO Y ALEJANDRO GALINDO, mis amigos de toda la carrera.

A mis tos, Salvador, David y Arturo, y a todas aquellas personas cuyos nombres se me escapan en este momento. Gracias por su tiempo, sus ganas y su afecto.

TABLA DE CONTENIDO

Pgina

INTRODUCCIN 1. MEDIDORES O SENSORES DE FLUJO 1.1 DEFINICIN 1.2 GENERALIDADES 1.3 PARTES DE UN SENSOR 1.3.1 Mecanismo de contacto directo 1.3.2 Transductor primario 1.3.3 Sistema de lectura 1.4 TIPOS DE SENSORES DE FLUJO 1.4.1 Medidores de presin diferencial 1.4.2 Medidores magnticos 1.4.3 Medidores de desplazamiento positivo 1.4.4 Medidores tipo turbina 1.4.4.1 Factores de prdida de energa en medidores tipo turbina 2. CONSIDERACIONES DE DISEO DE LOS SENSORES DE FLUJO 2.1 REGMENES DE FLUJO DE FLUIDOS EN TUBERAS: LAMINAR Y TURBULENTO 2.1.1 Velocidad media de flujo 2.1.2 Nmero de Reynolds 2.1.3 Radio hidrulico 2.2 LLENADO DE LA TUBERA

15

15 15 16 16 16 16 18 18 17 19 19

19

22 22 25 26 26

3. CONSTRUCCIN DE LOS SENSORES DE FLUJO 3.1 RGIMEN DE FLUJO PARA EL RANGO DE TRABAJO 3.2 CARACTERSTICAS DEL SENSOR ESCOGIDO 3.2.1 Nmero de labes utilizado 3.2.1.1 Turbina de 4 labes 3.2.1.2 Turbina de 6 labes 3.2.1.3 Turbina de 8 labes 3.2.2 Cubierta del sensor 3.2.3 Sistema de acople del sensor 3.2.4 Ventajas 3.2.5 Desventajas 30 31 32 33 33 34 35 36 53 53

4. SISTEMA DE ADQUISICIN DE DATOS (SAD) 4.1 DEFINICIN 4.2 ELEMENTOS DEL SISTEMA 4.2.1 Sensores o transductores 4.2.2 Circuito de acondicionamiento de seales 4.2.3 Circuito de muestreo y retencin (Sampled and Hold) 4.2.4 Multiplexor analgico 4.2.5 Conversor Anlogo Digital (A/D) 4.2.6 Conversor Digital Anlogo (D/A) 4.3 PARMETROS CARACTERSTICOS DE UN SAD 4.4 CLASIFICACIN DE LOS SADs 4.5 ERRORES QUE SE PRESENTAN EN LA DIGITALIZACIN DE SEALES 65 54 55 56 56 57 57 57 62 64 65

5. SENSORES DE TEMPERATURA 5.1 CARACTERSTICAS DE LOS INSTRUMENTOS 5.2 SENSORES DE TEMPERATURA 67 68

5.3 TIPO DE SENSOR UTILIZADO 5.4 CONFORMACIN DE LA TARJETA (SADs) PARA SENSORES DE TEMPERATURA 5.4.1 Etapa de acondicionamiento 5.4.2 Tarjeta principal 5.4.3 Etapa de visualizacin 5.4.4 Ventajas 5.4.5 Desventajas

69

70 70 72 74 75 79

6. SENSORES DE FLUJO : MODO DE UTILIZACIN Y FUTURAS MODIFICACIONES 6.1 CUIDADOS PARA USAR EL SENSOR DE FLUJO 6.2 MODO EN QUE REALIZA INTERNAMENTE LA MEDICIN 81 82

7. TARJETA SAD PARA SENSORES DE TEMPERATURA: MODO DE UTILIZACIN Y FUTURAS MODIFICACIONES 7.1 CUIDADOS PARA USAR LA TARJETA 7.2 FUNCIONAMIENTO INTERNO DE LA TARJETA 8. SOFTWARE PARA PROGRAMAR MICROCONTROLADORES PIC 86 84 85

9. CONCLUSIONES

94

NDICE DE FIGURAS
Pgina

FIGURA 1.1 Medidor de presin diferencial FIGURA 1.2 Medidor magntico FIGURA 2.1 Flujo laminar FIGURA 2.2 Flujo en zona crtica FIGURA 2.3 Flujo turbulento FIGURA 2.4 Perfil de velocidades en rgimen laminar FIGURA 2.5 Perfil de velocidades en rgimen turbulento FIGURA 2.6 Tubera parcialmente llena FIGURA 2.7 Tubera totalmente llena FIGURA 2.8a Fotografa de turbinas artesanales FIGURA 2.8b Fotografa de turbinas artesanales FIGURA 3.1 Fotografa de turbinas en resina FIGURA 3.2a Fotografa tarjeta de lectura del sensor de flujo FIGURA 3.2b Fotografa de turbina de 4 labes FIGURA 3.3 Fotografa de turbina de 6 labes FIGURA 3.4 Fotografa de turbina de 8 labes FIGURA 3.5 Posicin de cubierta inicialmente pensado FIGURA 3.6 Posicin de cubierta actualmente implementado FIGURA 3.7 Sistema de acople del sensor FIGURA 3.7a Diagrama elctrico sensor flujo FIGURA 3.8 Un imn no registra de vuelta FIGURA 3.9 Cuatro imanes si registran de vuelta FIGURA 3.10 Grfico para turbina de 4 labes y un imn(ensayo 1)

18 18 23 23 23 24 25 27 28 28 28 29 32 33 34 35 36 36 37 38 39 39 44

FIGURA 3.11 Grfico para turbina de 4 labes y un imn ( ensayo 2 ) FIGURA 3.12 Grfico para turbina de 4 labes y un imn ( ensayo 3 ) FIGURA 3.13 Grfico para turbina de 4 labes y un imn ( ensayo 4 ) FIGURA 3.14 Grfico para turbina de 4 labes y cuatro imanes ( ensayo 1 ) FIGURA 3.15 Grfico para turbina de 4 labes y cuatro imanes ( ensayo 2 ) FIGURA 3.16 Grfico para turbina de 4 labes y cuatro imanes ( ensayo 3 ) FIGURA 3.17 Grfico para turbina de 4 labes y cuatro imanes ( ensayo 4 ) FIGURA 3.21 Fotografa del sensor y la tarjeta de lectura FIGURA 4.1 Esquema general de un SAD FIGURA 4.2 Seal digitalizada FIGURA 4.3 Conversor A/D tipo escalera FIGURA 4.4 Conversor A/D de aproximaciones sucesivas FIGURA 5.0 Diagrama de conexiones elctricas ampliif. operacional FIGURA 5.1 Fotografa etapa de acondicionamiento FIGURA 5.1a Diagrama elctrico sensor temperatura FIGURA 5.2 Fotografa tarjeta principal con las subetapas FIGURA 5.3 Fotografa etapa de visualizacin FIGURA 5.3a Diagrama conexiones display 7 segmentos FIGURA 5.4 Fotografa de la tarjeta mostrando modo solo display FIGURA 5.5 Fotografa de la tarjeta mostrando modo solo serial FIGURA 5.6 Fotografa de la tarjeta mostrando modo display y serial

45 46 47

48

49

50

51 52 55 57 60 61 71 72 73 74 74 75 76 77 77

12

NDICE DE TABLAS
Pgina

TABLA 3.1 Resultados para turbina de 4 labes y un imn ( ensayo 1) 40

TABLA 3.2 Resultados para turbina de 4 labes y un imn ( ensayo 2) TABLA 3.3 Resultados para turbina de 4 labes y un imn ( ensayo 3) TABLA 3.4 Resultados para turbina de 4 labes y un imn ( ensayo 4) TABLA 3.5 Resultados para turbina de 4 labes y cuatro imanes ( ensayo 1) TABLA 3.6 Resultados para turbina de 4 labes y cuatro imanes ( ensayo 2) TABLA 3.7 Resultados para turbina de 4 labes y cuatro imanes ( ensayo 3) TABLA 3.8 Resultados para turbina de 4 labes y cuatro imanes ( ensayo 4) 43 42 42 41 41 41 40

13

INTRODUCCIN

La transferencia de calor es un fenmeno que est presente en la mayora de los procesos industriales. Se menciona ste por ser uno de los ms frecuentes y est bastante asociado con el siguiente proyecto.

En el mercado se pueden encontrar diferentes sistemas de transferencia de calor, tales como: Intercambiador de Calor de Placas, Intercambiador de Carcasa y Tubo, etc. Estos sistemas no pueden ser instalados

indiscriminadamente sin antes analizar dos factores de vital importancia durante la ejecucin de un proyecto: la factibilidad y la viabilidad, las cuales determinan si es posible realizar un proyecto y que tan conveniente puede resultar el mismo.

En el momento de disear un sistema de este tipo se fijan lmites de transferencia que hay que cumplir para poder garantizar su rendimiento y resulta necesario conocer las condiciones reales de operacin para saber en que rango de eficiencia est trabajando el proceso. Esto es un punto a tener en cuenta si se sabe que una disminucin, por pequea que sea, de este parmetro puede representar prdidas enormes en industrias donde los procesos de transferencia de calor son de magnitud considerable. Unos parmetros requeridos para realizar este anlisis son: temperaturas y caudales de los fluidos de trabajo.

En los ltimos aos, la Universidad Nacional de Colombia ha estado fomentando la ejecucin de proyectos de grado que tienen como objetivo principal el desarrollo de investigaciones que permitan la creacin de nuevas tecnologas o el mejoramiento de otras ya existentes; logrndose con esto el acondicionamiento de las diferentes instalaciones a un costo razonable para el presupuesto de la universidad.

14

Teniendo en cuenta los anteriores aspectos, se decidi disear unos sensores de flujo que permitan obtener valores de caudal con una precisin bastante buena en el rango de 1 a 200 lt / min; dispositivo de gran importancia en los procesos de transferencia de calor. Adems, consciente de la importancia que representa la medicin de la temperatura en dicho proceso se decidi tambin disear una tarjeta de adquisicin de datos para sensores de temperatura que pueda enviar lecturas a una base de datos, y que al igual que los sensores de flujo, sea porttil y permita visualizar valores en un display, en caso de faltar el computador.

Los anteriores dispositivos se realizaron con la tecnologa de los microcontroladores PIC 16F84 y 16C74B (16F874 16F877) de Microchip.

15

1.

MEDIDORES O SENSORES DE FLUJO

DEFINICIN

Un medidor o sensor de flujo, es inicialmente, un transductor (transforma un tipo de seal en otra) que recibe un tipo de seal, dependiendo de la clase de sensor, y la transforma en un valor de caudal. En el siguiente trabajo se contemplan los sensores de tipo volumtrico, es decir, miden el paso de volumen en la unidad de tiempo de un determinado fluido, que para el caso, es agua.

GENERALIDADES

En diferentes procesos industriales es de gran relevancia conocer el flujo en la unidad de tiempo de los fluidos de trabajo con el fin de determinar si se est actuando a la mnima o a la mxima capacidad de operacin de los mismos. Es aqu donde juega un papel importante el sensor de flujo.

En el mercado se pueden encontrar sensores de diferentes tamaos, principios, precisiones etc., pero dependiendo de los parmetros para la escogencia pueden resultar bastante costosos. Este ltimo factor ha dado motivacin para desarrollar sensores capaces de cumplir con determinados requisitos de operacin y que, ante todo, sean de fcil adquisicin, econmicamente hablando. Esto porque hay usuarios que necesitan medir caudales en diferentes puntos sin demasiada precisin; es obvio, que si no se necesita alta precisin, no se justifica tener que adquirir un sensor de alta designacin y alto costo si se puede obtener otro de menor designacin, pero ajustado al presupuesto de los usuarios.

16

PARTES DE UN SENSOR DE FLUJO

Por lo general un sensor de flujo completo est constituido por un mecanismo de contacto directo con el flujo que est pasando, un transductor primario y un sistema de lectura.

Mecanismo de contacto directo

Esta es la parte que permanece en contacto con el fluido de trabajo. Dicha parte debe cumplir con ciertos requisitos con el fin de evitar errores en las posteriores transformaciones de seal; por lo general, ste representa el cuello de botella en la construccin de estos sensores.

Transductor primario

Este dispositivo se encarga de recibir la seal enviada por el mecanismo de contacto directo y realizar una transformacin con el fin de hacer un cambio de variable para que el sistema de lectura lo pueda interpretar.

Sistema de lectura

ste se encarga de recibir la seal proveniente del transductor primario y realizar una serie de acondicionamientos para poder mostrar el determinado valor de caudal en un display o simplemente enviarlo al computador. En cualquiera de los dos casos debe permitir visualizar en diferentes unidades, para mayor comodidad.

Al iniciar esta seccin se habl de sensor de flujo completo porque se puede presentar el caso en el que dicho sensor est contemplado slo con medidor

17

de contacto directo y transductor primario. Este ltimo arrojara una seal de voltaje o corriente que necesitara ser acondicionada para relacionarla con valores de caudal, como se dijo anteriormente.

TIPOS DE SENSORES DE FLUJO

Hay diferentes formas de medir caudal volumtrico. Los ms utilizados son: medidores de presin diferencial, medidores magnticos, medidores tipo turbina, medidores de desplazamiento positivo.

Medidores de presin diferencial

Se fundamentan en la aplicacin del teorema de Bernoulli, el cual se resume en que

Energa Cintica + Energa de Presin = Constante

Ec. (1)

Una disminucin del dimetro de la tubera ocasiona una restriccin al paso del fluido. La seccin mnima por la cual pasa el fluido se denomina vena contracta, figura 1.1. Al medir la diferencia de presin (P1) aguas arriba de la restriccin y en la vena contracta (P2) y conociendo los dimetros se puede deducir que el caudal es proporcional a la raiz cuadrada de la cada de presin:

Q = k* Diferencial Pr esin

Ec. (2)

18

stos se conocen tambin como medidores de presin diferencial. Vena contracta

Direccin flujo

P2

P1

Figura 1.1 Medidor de presin diferencial

Medidores magnticos

stos derivan su funcionamiento de la ley de induccin de Faraday. Dicha ley establece que la tensin inducida en cualquier conductor al moverse ste perpendicularmente a travs de un campo magntico, es proporcional a la velocidad del conductor. Se construye colocando un campo magntico en posicin normal a la direccin del flujo a medir, sobre el mismo plano y rotados 90 grados se colocan dos electrodos sobre los cuales se mide la magnitud de la fuerza electromotriz inducida por el paso del fluido, figura 1.2.

F.E.M. Inducida

Campo magntico Figura 1.2 Medidor magntico

19

Medidores de desplazamiento positivo

Este tipo de transductores miden el caudal contando o integrando volmenes separados de lquido. La precisin depende de la holgura que se tenga en las paredes mviles y las fijas.

Medidores tipo turbina

Est constituido por un rotor o turbina que gira con el paso del fluido con una velocidad directamente proporcional al caudal. ste ofrece grandes ventajas ya que es de fcil construccin y permite realizar mediciones para caudales pequeos.

1.4.4.1 Factores de prdida de energa en medidores tipo turbina

En este tipo de sensores se pueden presentar inconvenientes (debido a prdidas de energa) al momento de ser operados, entre stos se pueden citar: rotacin defectuosa, lectura de caudal errnea, etc. Por lo anterior, es importante conocer las causas que originan tales inconvenientes. Como causas principales pueden citarse:

Prdidas por friccin sobre las paredes de los contornos; stas varan con el cuadrado de la velocidad relativa y con la longitud del ducto o canal por donde se mueve el fluido, siendo inversamente proporcional al radio hidrulico de la seccin de dicho ducto. Tambin intervienen la viscosidad del fluido y la rugosidad de las paredes.

Prdidas por separacin del fluido de los contornos de los labes o por choques contra los mismos, producindose turbulencias o vibraciones perjudiciales. Este efecto tiene lugar, por ejemplo, en la operacin a carga

20

parcial o sobrecarga en las mquinas de labes fijos, al modificarse la incidencia con la regulacin del caudal. La mquina, ya sea bomba o turbina, est ligada rgidamente a otra mquina de velocidad angular constante (motor o generador) y para modificar la potencia de acuerdo con la demanda, se regula el gasto, cambiando en magnitud o direccin de la velocidad absoluta de entrada al rotor; pero como la velocidad de arrastre permanece constante, necesariamente la velocidad relativa se sale de la posicin tangente que debe tener respecto al labe, producindose la separacin o choque contra el mismo.

Desde luego, la separacin se produce en el borde de ataque del labe, al modificarse el ngulo de incidencia y para velocidades subsnicas del fluido. En el caso de velocidades supersnicas, como sucede con algunas mquinas que trabajan con aire, gas o vapor, la separacin se presenta en el borde de fuga del labe debido a un gradiente de presin adversa que se crea en virtud de una interaccin entre la onda de choque que se genera en la parte convexa del labe. Esta separacin lugar a turbulencias que aumentan la fuerza de arrastre del labe, disminuyendo el rendimiento. Este efecto obliga a limitar el valor del cambio en las velocidades relativas del fluido y a sacrificar la energa esttica transferida por este concepto.

Prdidas por recirculacin del fluido entre el rotor y la carcasa. El rotor al gira dentro de la carcasa llena de fluido produce una verdadera centrifugacin de las partculas que estn en su contacto perifrico, dando lugar a una corriente circulatoria que sigue al rotor en su movimiento. En ciertas mquinas hidrulicas se ha podido comprobar que la velocidad angular de esta corriente llega a ser la mitad de la del rotor. Vara de unas mquinas a otras, siendo evidente una prdida energtica a causa de una recirculacin del fluido.

21

Prdidas por fugas. Resulta difcil evitar las fugas del fluido entre las partes mviles y fijas de una turbomquina, pues si se fuerza la presin sobre los sellos de ajuste, se aumenta el efecto abrasivo sobre los mismos y se acelera su destruccin, adems de producir un frenado que reduce el movimiento. Preferible es tolerar una ligera fuga, en muchos casos, como en las mquinas hidrulicas, que ayude a mantener hmedos los sellos, no slo para proteccin de stos, sino tambin para favorecer el deslizamiento y mejorar las condiciones de funcionamiento.

22

2. CONSIDERACIONES DE DISEO DE LOS SENSORES DE FLUJO

En el captulo anterior se habl acerca de los sensores de flujo, las clases existentes y sus partes. Antes de realizar cualquier seleccin respecto al tipo de medidor es relevante considerar dos aspectos: El flujo con el que se va a trabajar es laminar para el rango de trabajo, o siempre es turbulento ? La tubera por la que se va a transportar el fluido est totalmente llena ? Son factores que deben ser manejados con cuidado, ya que de esto depende el desempeo del sensor. A continuacin se profundizar acerca de los anteriores aspectos.

2.1 REGMENES DE FLUJO DE FLUIDOS EN TUBERAS: LAMINAR Y TURBULENTO

Un experimento simple muestra que hay dos tipos de flujo de fluidos en tuberas. ste consiste en inyectar pequeas cantidades de fluido coloreado en un lquido que circula por una tubera de cristal y observar el comportamiento de los filamentos coloreados en diferentes zonas, despus de los puntos de inyeccin.

Si la descarga o la velocidad media es pequea, las lminas de fluidos coloreado se desplazan en lneas rectas, figura 2.1. A medida que el caudal se incrementa, esta lminas continan movindose en lneas rectas hasta que se alcanza una velocidad en donde las lminas comienzan a ondularse y se rompen en forma brusca y difusa, figura 2.2.

23 Flujo laminar

Figura 2.1

Flujo en zona crtica

Figura 2.2

Flujo turbulento Figura 2.3

Esto ocurre en la llamada velocidad crtica. A velocidades mayores que la crtica los filamentos se dispersan de manera indeterminada a travs de toda la corriente, figura 2.3.

El tipo de flujo que existe a velocidades ms bajas que la crtica se conoce como rgimen laminar y a veces como rgimen viscoso. Este rgimen se caracteriza por el deslizamiento de capas cilndricas concntricas una sobre otra de manera ordenada. La velocidad es mxima en el eje de la tubera y disminuye rpidamente hasta anularse en la pared de la misma, figura 2.4.

A velocidades mayores que la crtica, el rgimen es turbulento. En el rgimen turbulento hay un movimiento irregular e indeterminado de las partculas del fluido en direcciones transversales a la direccin principal del flujo; la distribucin de velocidades en el rgimen turbulento es ms uniforme a travs del dimetro de la tubera que en el rgimen laminar, figura 2.5. A

24

pesar de que existe un movimiento turbulento a travs de la mayor parte del dimetro de la tubera, siempre hay una pequea capa de fluido en la pared de la tubera, conocida como la capa perifrica o subcapa laminar, que se mueve en rgimen laminar.

2.1.1 Velocidad media de flujo

sta se refiere a la velocidad promedio de cierta seccin transversal dada por la ecuacin de continuidad para un flujo estacionario:

q A

Ec. (5)

en donde q es el caudal volumtrico y A el rea de la seccin transversal de la tubera.

La velocidad media es un punto importante, ya que el caudal que se desea medir depende de ella, y por tanto, es necesario saber cual es su valor en cierta posicin de la tubera (debido al perfil de velocidades en la tubera) para poder determinar q.

Figura 2.4 Perfil de velocidades en rgimen laminar

25

Figura 2.5 Perfil de velocidades en rgimen turbulento 2.1.2 Nmero de Reynolds

Las investigaciones de Osborne Reynolds han demostrado que el rgimen de flujo en tuberas, es decir, si es laminar o turbulento, depende del dimetro de la tubera, de la densidad y la viscosidad del fluido y de la velocidad del flujo. El valor numrico de una combinacin adimensional de estas cuatro variables, conocido como el nmero de Reynolds, puede considerarse como la relacin de las fuerzas dinmicas de la masa del fluido respecto a los esfuerzos de deformacin ocasionados por la viscosidad. Este es: D * *

Re =

= viscosidad del fluido


= densidad de masa del fluido = velocidad media del fluido D = dimetro de la tubera

Ec. (6)

Donde

Para estudios tcnicos, el rgimen de flujo en tuberas se considera como laminar si el nmero de Reynolds es menor que 2000 y turbulento si es superior a 4000. Entre estos dos valores est la zona denominada crtica donde el rgimen de flujo es impredecible, pudiendo ser laminar, turbulento o de transicin, dependiendo de muchas condiciones con posibilidad de

26

variacin. La experimentacin cuidadosa ha determinado que la zona laminar puede acabar en Re tan bajo como 1200 o extenderse hasta 40000, pero estas condiciones no se presentan en la prctica. El nmero de Reynolds es importante porque ayuda a ubicar el rgimen de flujo, y por consiguiente, el perfil de velocidades.

2.1.3 Radio hidrulico

A veces se tienen conductos con seccin transversal que no es circular. Para calcular el nmero de Reynolds en estas condiciones, el dimetro circular es sustituido por el dimetro equivalente(cuatro veces el radio hidrulico).

RH =

SuperficieSeccinVenaLquida PermetroMojado

Ec. (7)

Esto se aplica a cualquier tipo de conducto(conducto circular no completamente lleno, ovalado, cuadrado o rectangular), pero no a formas muy estrechas, como aberturas anulares o alargadas, donde la anchura es pequea en comparacin con la longitud. En tales casos, el radio hidrulico es aproximadamente igual a la mitad de la anchura del paso.

2.2 LLENADO DE LA TUBERA

Un punto importante al momento de construir un sensor de flujo es la garanta de que la tubera est totalmente llena. Como lo que se quiere obtener es una medida de caudal, en este caso volumtrico, este valor viene expresado en funcin de la velocidad del fluido y del rea transversal de la tubera a travs de la cual est pasando el mismo. En caso de construirse un sensor que determine valores de velocidad relacionados con su respectivo

27

caudal, se hace indispensable multiplicar dicho valor por una constante, el rea transversal. Debido a que va a haber reas diferentes para caudales diferentes (antes del llenado total de la tubera) lo que antes era una constante, ahora es una variable, figura 2.6. Esto representa un obstculo tremendo para las turbinas de reaccin como son la Kaplan y la Francis, debido a que necesitan ser ubicadas lo ms centradas posible en el ducto, con el fin de obtener el movimiento deseado; sin contar la turbulencia que altera su rotacin; muy diferente sera si estuviera totalmente llena la tubera, figura 2.7. Todo esto se pudo corroborar porque se construyeron turbinas axiales, mixtas y radiales con el nico motivo de observar sus comportamientos. Inicialmente se hicieron construcciones con materiales caseros que aumentaron considerablemente el peso de las turbinas y al ser sometidas a los caudales pertinentes, no se movan, figura 2.8, a y b.

Tubera

rea variable con el caudal

Vista frontal

Vista lateral

Figura 2.6 Tubera parcialmente llena

28 Tubera rea siempre constante

Vista frontal

Vista lateral

Figura 2.7 Tubera totalmente llena

Figura 2.8a Fotografas de las turbinas artesanales

Figura 2.8b Fotografa de las turbinas artesanales

29

3. CONSTRUCCIN DE LOS SENSORES DE FLUJO

En el captulo primero se habl acerca de los mecanismos para medicin de caudal ms utilizados. Por razones de simplicidad en la construccin y por el rango de trabajo en el caudal se analizarn los sensores tipo turbina.

Figura 3.1 Fotografas de turbinas en resina

Teniendo en cuenta lo que se estudi en el captulo segundo ( tipo de flujo y llenado de tubera ), se tom la decisin de buscar materiales ms livianos con que construir las turbinas, y fue as que se recurri a la resina poliestrica ( viene con un catalizador ); sta result ser bastante liviana, pero present un inconveniente en el momento de crear los moldes ( fabricados con caucho silicona ), ya que para lograr un espesor de labe pequeo se necesitaba de un sistema de llenado muy bueno. Al momento de sacar la turbina en resina sus labes resultaron incompletos, y lo que definitivamente puso las condiciones para descartar este sistema, fue la gran fragilidad de dicha resina, figura 3.1.

30

Es conveniente anotar que no para todos los caudales el rea era variable, ya que, para cada dimetro de tubera hay un rango de caudal, hacia el infinito, en el que dicha tubera empieza a aparecer siempre totalmente llena.

Despus de la seleccin del mecanismo de medicin se realiz la construccin de tres clases de turbina: Francis, Kaplan y Pelton. Cada una se someti a diferentes flujos con el fin de observar su movimiento. Debido a los caudales tan pequeos con los que se necesita trabajar, las turbinas Francis y Kaplan no mostraron un buen desempeo, por tal efecto, se tom como turbina para el mecanismo, la Pelton. sta segn los ensayos mostr mejor desempeo, debido a que es una turbina de impulso, la turbulencia no la afecta tanto como a las otras turbinas, es de construccin sencilla, y lo que es mejor, para su funcionamiento no se necesita que la tubera est totalmente llena.

3.1 RGIMEN DE FLUJO PARA EL RANGO DE TRABAJO

En el captulo segundo se habl de los regmenes de flujo de fluidos en tuberas; en esta seccin se pretende caracterizar el rgimen de flujo para el rango de caudal a trabajar. Con lo estudiado y con los datos del problema se puede determinar con qu tipo de flujo se est trabajando. Los sensores o medidores de flujo se pondrn a operar con dos tipos de tubera 1/2 y con 1 . Consultando tablas se tiene que Para tubera 1 : Si se trabaja con 200 lt / min ( condicin mxima que se pretende ) se obtiene una velocidad del fluido de 3,5 m / s. Se sabe que para el agua a 17 C, = 0,001 N*s / m2, = 1000 Kg. / m3, = 3,5 m / s, luego con estos

31

valores Re es aproximadamente igual a 111125. Esto indica que el flujo pasando a 200 lt / min es turbulento. Para tubera 1 / 2 : Trabajando con 60 lt /min se obtiene una velocidad del fluido de 0,45 m/ s; tomando los valores para agua se obtiene un Re de 5715. Indica que tambin es turbulento. Segn los resultados anteriores, los sensores van a estar sometidos a flujo en rgimen turbulento que de acuerdo con lo estudiado, este tipo de rgimen muestra un perfil de velocidades ms uniforme a travs del dimetro de la tubera que para rgimen laminar.

3.2 CARACTERSTICAS DEL SENSOR ESCOGIDO

Como se dijo anteriormente la turbina seleccionada para construir el sensor fue la Pelton debido a las ventajas ofrecidas. Despus de descartar turbinas y materiales se decidi emplear acrlico para construir la Pelton deseada. Este material, es muy liviano, es fcil de maquinar y para conseguir, y tuvo una resistencia buena a altas temperaturas ( fue sometido en agua a 92 C durante 50 minutos que es el equivalente a los minutos de una prctica de laboratorio). Es importante recalcar que la turbina que en el sensor se denomina una Pelton no es 100% igual, ya que la utilizada tiene labes rectos ( con el fin de disminuir al mximo su peso ) y no cucharas como la Pelton real, pero siguen compartiendo el hecho de ser denominadas turbinas de impulso, es decir, aprovechan solamente la energa cintica del fluido de trabajo.

32

3.2.1 Nmero de labes utilizado

Este es un factor que slo se le da la importancia que requiere al momento de hacer pruebas, las cuales son las que dan el veredicto final acerca de si funciona o no el sistema utilizado, independientemente de si el accesorio aparenta arrojar datos confiables. Para realizar pruebas de movimiento se construy una tarjeta que recibe seales provenientes de la turbina y las transforma en revoluciones por minuto de la misma, figura 3.2. Esta tarjeta est conformada, principalmente, por un microcontrolador PIC 16F84 de MICROCHIP que se encarga de recibir seales provenientes del sensor ( en forma de pulsos ) y pasarla a valores de r.p.m. Con esto se puede estudiar que tan homogneo es el giro de la turbina durante el paso del fluido a diferentes caudales con el fin de obtener grficas de comportamiento, Caudal Vs. r.p.m.

Figura 3.2 Fotografa tarjeta de lectura del sensor de flujo


Como ltimo procedimiento, despus de estudiar las diferentes curvas de Caudal Vs. r.p.m. se saca una regresin ( observando cual es la ms lineal y para que rango de trabajo ) con la que se vuelve a programar el PIC para

33

relacionar los r.p.m. con valores de caudal que finalmente son enviados a un display. Se debe aclarar que la tarjeta posee un sensor de lectura condensado en un transistor de Efecto Hall, la cual funciona bajo la accin de campos magnticos. Para que la turbina mande seal a la tarjeta se le adapt un imn que produce un campo magntico.

3.2.1.1 Turbina de 4 labes

sta arroj los mejores resultados. Se procur que el ncleo de la misma fuera lo ms pequeo posible con el fin de disminuir la cantidad de material usado ( resultando de menor peso ); tambin se hicieron sus labes lo ms delgados y largos posibles, figura 3.2. De este tipo se construyeron dos turbinas, una para flujos grandes y otra para pequeos.

Figura 3.2 Fotografa de turbina de 4 labes 3.2.1.2 Turbina de 6 labes

Mostr buenos resultados, pero para caudales grandes. Es bastante til debido a que cuando est pasando el fluido por la tubera, la cual no est

34

siempre totalmente llena, necesita de longitudes de arco pequeas entre labe y labe para poder mantener una rotacin permanente. Es un poco ms pesada que la de 4 labes a iguales dimensiones, figura 3.3.

La turbina de seis labes presenta un inconveniente y es que su construccin es mucho ms compleja que la de cuatro, por tal motivo, presenta un gran desbalanceo. Durante la rotacin de turbinas tan pequeas sometidas a flujos pequeos, el desbalanceo es un fenmeno totalmente indeseable.

Figura 3.3 Fotografa de turbina de 6 labes

3.2.1.3 Turbina de 8 labes

ste tipo de turbina se esperaba mostrara mejores resultados. Es decir, todo indicaba que por la pequea longitud de arco entre labe y labe, mucho ms pequea que la de 6 labes, el fluido iba a tener un acople perfecto con dicha turbina. Pero en la prctica no ocurri as, debido a que, para flujos grandes difcilmente se mova ( rotacin irregular ), mucho menos para flujos

35

pequeos. La ltima modificacin realizada fue disminuirle el ncleo de soporte de los labes con el fin de hacerla ms liviana y sus labes quedaran ms largos; con esto se logr mejorar su movimiento, pero definitivamente su construccin es mucho ms compleja que la de las turbinas anteriormente mencionadas ( la 4 y la 6 labes ), figura 3.4.

Figura 3.4 Fotografa de turbina de 8 labes

3.2.2 Cubierta del sensor

Por lo general, los sensores de flujo demandan garantas en el llenado de la tubera, debido a esto, el mecanismo de contacto directo aparece ubicado en la parte superior o central de la tubera, as se construy inicialmente el sensor, figura 3.5. Realizando ensayos se pudo constatar que al rotar la posicin del mecanismo de contacto directo 180 grados, se poda garantizar la rotacin de la turbina y poder realizar mediciones de caudal en tubera que no estuvieran totalmente llenas, figura 3.6. La cubierta, como se puede apreciar en la figura 3.6, es una T comn y corriente ( encontrada en el mercado ).

36

3.2.3 Sistema de acople del sensor

Este sistema est conformado por la cubierta y por el dispositivo de accesorios integrado. Este ltimo est conformado por: turbina, transistor de Efecto Hall, tubera soporte, plug ( para enviar seal a la tarjeta ), cable apantallado, accesorios de sello ( para evitar humedad ), imn ( para la excitacin del transistor de Efecto Hall ), ver figura 3.7.

Envo de seal El fluido NO alcanza el mecanismo

Figura 3.5 Posicin de cubierta inicialmente pensado El fluido SI alcanza el mecanismo

Envo de seal Figura 3.6 Posicin de cubierta actualmente implementado

37

T Imn Accesorio para sello Turbina Tapa para sello

Transistor de Efecto Hall

Tubera soporte Plug

Cable apantallado para envo de seal

Figura 3.7 Sistema de acople del sensor

38

39

Luego de realizar pruebas con la tarjeta de lectura para diferentes caudales se sacaron curvas de r.p.m. de la turbina contra caudal y se observ que para algunos caudales, sobre todo para los ms pequeos, las lecturas de r.p.m. eran muy similares. Esto represent un gran problema porque de esta manera se haca imposible sacar una regresin que relacionara estas dos variables. Inicialmente se pens en que como se estaba probando con turbina de cuatro labes se podra presentar el caso que para caudales muy pequeos, la turbina no alcanzara a registrar una revolucin completa. Por ejemplo, tomando dos caudales Q1 y Q2, siendo Q1 mayor que Q2. El sistema de lectura tiene un tiempo base para contabilizar revoluciones ( 6 segundos ) y despus de este tiempo base desprecia los giros posteriores. Al pasar el caudal Q1, ste registra 9 vueltas y de vuelta, y al pasar el caudal Q2,, registra 9 vueltas y de vuelta. Si analizamos las dos rotaciones, en esencia son iguales, aunque en la realidad sean diferentes. Luego, el sistema de lectura como en ese momento no entenda de vueltas, entonces visualizaba r.p.m. iguales para rotaciones diferentes; induciendo esto una gran error. Este problema se pudo superar ubicando un imn en cada labe ( relacin 4:1 respecto al sistema anterior, figura 3.8 ), figura 3.9. As el sistema de lectura puede entender de vuelta y la regresin mejorara, cosa que ocurri en la realidad.

De los anteriores procesos se sacaron curvas que corroboraron el hecho.

Figura 3.8 Un imn No registra de vuelta

Figura 3.9 Cuatro imanes Si registra de vuelta

40

UN SOLO IMAN (Grafico 1) (Tomando todos los datos) Hz r.p.m. 0 10 20 30 40 46 50 56 60

Caudal(Lt/min) 0,00 216,00 241,30 340,69 401,74 431,82 486,67 495,00 520,83 0 13,42 37,28 56,95 77,73 90,72 92,52 93,49 103,43

Tabla 3.1 Para turbina de 4 labes y un imn (todos los datos)

UN SOLO IMAN (Grafico 2) (Descartando datos) Hz r.p.m. 0 10 20 30 40 46 50 56 60

Caudal(Lt/min) 0,00 213,30 240,00 338,33 395,88 436,67 483,75 491,90 518,33 0 13,42 37,28 56,95 77,73 90,72 92,52 93,49 103,43

Tabla 3.2 Para turbina de 4 labes y un imn (datos parciales)

41

UN SOLO IMAN (Grafico 3) (Tomando todos los datos) Hz r.p.m. 0 10 20 30 40 50 60

Caudal(Lt/min) 0,00 180,00 207,83 293,53 354,71 421,76 457,65 0 14,0967 41,2048 56,7721 79,7647 68 93,913

Tabla 3.3 Para turbina de 4 labes y un imn (todos los datos)


UN SOLO IMAN (Grafico 4) (Descartando datos) Hz r.p.m. 0 10 20 30 40 50 60

Caudal(Lt/min) 0,00 180,00 212,86 290,77 354,62 418,67 457,65 0 14,0967 41,2048 56,7721 79,7647 68 93,913

Tabla 3.4 Para turbina de 4 labes y un imn (datos parciales)


CUATRO IMANES (Grafico 5) (Tomando todos los datos de r.p.m y caudal) Hz r.p.m. Caudal(Lt/min) 0 0,00 0,00 10 668,00 13,35 15 715,00 26,21 20 871,33 37,07 25 970,74 47,64 30 1131,67 60,31 35 1240,19 68,76 40 1540,00 78,30 45 1680,00 83,69 50 1772,86 90,50 55 1853,46 93,22 60 1912,38 97,66

Tabla 3.5 Para turbina de 4 labes y cuatro imanes (todos los datos)

42

CUATRO IMANES (Grafico 6) (Descartando datos de r.p.m. y caudal ) Hz r.p.m. Caudal(Lt/min) 0 0,00 0,00 10 666,67 13,35 15 710,00 26,21 20 872,80 37,07 25 980,59 47,50 30 1134,14 57,48 35 1340,00 69,22 40 1542,63 78,64 45 1677,89 83,03

Tabla 3.6 Para turbina de 4 labes y cuatro imanes (datos parciales)

CUATRO IMANES (Grafico 7) (MAS ACEPTABLE) (Tomando todos los datos de caudal ) Hz r.p.m. 0 10 15 20 25 30 35 40 45 50 55 60

Caudal(Lt/min) 0,00 0,00 666,67 13,35 710,00 26,21 872,80 37,07 980,59 47,64 1134,14 60,31 1340,00 68,76 1542,63 78,30 1677,89 83,69 1773,53 90,50 1860,00 93,22 1912,35 97,66

Tabla 3.7 Para turbina de 4 labes y cuatro imanes (todos los datos)

43

CUATRO IMANES (Grafico 8) (Tomando todos los datos de r.p.m ) Hz r.p.m. 0 10 15 20 25 30 35 40 45 50 55 60

Caudal(Lt/min) 0,00 0,00 668,00 13,35 715,00 26,21 871,33 37,07 970,74 47,50 1131,67 57,48 1240,19 69,22 1540,00 78,64 1680,00 83,03 1772,86 89,17 1853,46 82,83 1912,38 95,25

Tabla 3.8 Para turbina de 4 labes y cuatro imanes (todos los datos)

44

Grafico 1. Caudal Vs. r.p.m. (Todo r.p.m. - Todo caudal - 1 iman)

120

100

80

Caudal (Lt/min)

60

40

20

0 0,00

100,00

200,00

300,00 r.p.m.

400,00

500,00

600,00

Figura 3.10 Para turbina de 4 labes y un imn (todos los datos)

45

Grafico 2. Caudal Vs. r.p.m. (Desc. r.p.m. - Todo caudal - 1 iman)

120

100

80

Caudal (Lt/min)

60

40

20

0 0,00

100,00

200,00

300,00 r.p.m.

400,00

500,00

600,00

Figura 3.11 Para turbina de 4 labes y un imn (datos parciales)

46

Grafico 3. Caudal Vs. r.p.m. (Todo r.p.m. - Todo caudal - 1 iman)

100 90 80 70 Caudal (Lt/min) 60 50 40 30 20 10 0 0,00

50,00

100,00 150,00 200,00 250,00 300,00 350,00 400,00 450,00 500,00 r.p.m.

Figura 3.12 Para turbina de 4 labes y un imn (todos los datos)

47

Grafico 4. Caudal Vs. r.p.m. (Todo r.p.m. - Todo caudal - 1 iman)

100

90

80

70

60 Caudal (Lt/min)

50

40

30

20

10

0 0,00

50,00

100,00

150,00

200,00

250,00 r.p.m.

300,00

350,00

400,00

450,00

500,00

Figura 3.13 Para turbina de 4 labes y un imn (datos parciales)

48

Grafico 5. Caudal Vs. r.p.m. (Todo r.p.m. - Todo caudal - 4 imanes)

120,00

100,00

80,00

Caudal (Lt/min)

60,00

40,00

20,00

0,00 0,00

500,00

1000,00 r.p.m.

1500,00

2000,00

2500,00

Figura 3.14 Para turbina de 4 labes y cuatro imanes (todos los datos)

49

Grafico 6. Caudal Vs. r.p.m. (Desc. r.p.m. - Desc. caudal - 4 imnaes)

120,00

100,00

80,00

Caudal (Lt/min)

60,00

40,00

20,00

0,00 0,00

500,00

1000,00 r.p.m

1500,00

2000,00

2500,00

Figura 3.15 Para turbina de 4 labes y cuatro imanes (datos parciales)

50

Grafico 7. Caudal Vs. r.p.m. (Desc. r.p.m. - Todo caudal - 4 imanes) GRAFICA A UTILIZAR PARA REGRESION

120,00

100,00
y = 0,0565x - 9,7146

80,00

Caudal (Lt/min)

60,00

40,00

20,00

0,00 0,00

500,00

1000,00 r.p.m.

1500,00

2000,00

2500,00

Figura 3.16 Para turbina de 4 labes y cuatro imanes (todos los datos)

51

Grafico 8. Caudal Vs. r.p.m. (Todo r.p.m. - Desc. caudal - 4 imnaes)

120,00

100,00

80,00

Caudal (Lt/min)

60,00

40,00

20,00

0,00 0,00

500,00

1000,00 r.p.m.

1500,00

2000,00

2500,00

Figura 3.17 Para turbina de 4 labes y cuatro imanes (todos los datos)

52

Figura 3.21 Fotografa del sensor y la tarjeta


de lectura

En la figura 3.16 se muestra la regresin utilizada para pasar de r.p.m. de la turbina a valor de caudal en Lt / min. El grfico se puede observar que esta es la curva que mejor relaciona estas dos variables.

En este proyecto se construyeron cuatro sensores de flujo: uno con turbina de 8 labes, otro con turbina de 6 labes y dos con turbinas de 4 labes ( uno grande y otro pequeo ). El acople sensor tarjeta de lectura puede verse en el figura 3.21.

En la prctica, los sensores con los que se est realizando mediciones poseen turbina Pelton de 4 labes.

53

3.2.4 Ventajas

Estos sensores permiten su desarrollo a menor costo que los del mercado. Estn sujetos a mejoras. Pueden asociarse con la tarjeta de adquisicin de datos (futura aplicacin), mencionada ms adelante, con el fin de enviar datos de caudal y temperatura al computador con propsitos estadsticos.

3.2.5 Desventajas

Estos estn diseados para trabajar en el rango de 1 a 200 lt / min, pero se ha observado que para caudales muy pequeos se presentan problemas. Se tiene la plena conviccin que si se construyen no tan artesanalmente las prdidas disminuirn considerablemente.

El sistema de rodadura es un pequeo eje de relojera que mostr poco rozamiento con el acrlico. A este sistema se le adecuaron unos bujes bastante imprecisos debido a la pequeez del eje.

54

SISTEMA DE ADQUISICIN DE DATOS (SAD)

4.1 DEFINICIN

La aplicacin de mtodos digitales en los procesos implica el desarrollo de un sistema electrnico que se encargue de llevar informacin de las variables del proceso al sistema digital que recibe los datos. Cuando se habla de la entrada de la informacin hacia del sistema digital, se refiere a adquisicin de datos.

Las seales que maneja un SAD pueden ser de dos tipos:

Seales digitales, las cuales pueden tomar dos estados (bajo o alto) y pueden ser usadas para determinar la presencia o ausencia de un evento (el paso de una persona, por ejemplo), cambio de posicin de un interruptor (abrir o cerrar una puerta, ejemplo tambin vlido).

Seales anlogas, que pueden tomar cualquier valor entre un mnimo y un mximo y que por lo general varan en el tiempo de acuerdo con las condiciones del proceso. Estas seales provienen, en la mayora de los casos, de sensores o transductores; tambin, en vez de recibirlas, se pueden enviar hacia un actuador.

La habilidad del sistema para preservar la exactitud e integridad de las seales originales que van desde o hacia el sistema digital es la principal medida de su calidad.

55

4.2 ELEMENTOS DEL SISTEMA

Un sistema de adquisicin de datos se compone bsicamente ( figura 4.1 ) de: Sensores o transductores Circuito de acondicionamiento de seales Circuito de muestreo y retencin Multiplexor analgico Conversores Anlogo - Digital (A/D) Conversores Digital - Anlogo (D/A) A continuacin se hace un estudio general de cada uno de estos subsistemas. Sensor Acondicionamiento de seal

Multiplexor analgico

Muestreo y retencin

Conversor A / D

Salida digital

Recepcin de datos Figura 4.1 Esquema general de un SAD

56

4.2.1 Sensores o transductores

Corresponde al primer elemento del sistema y es el que mide la magnitud de inters. Su funcin es la de convertir energa de una forma fsica que puede ser mecnica, trmica, magntica, etc. en una seal elctrica.

La cantidad de energa convertida por un transductor es pequea, de manera que hay que acondicionarla para adaptarla a la etapas posteriores.

Si la cantidad de energa convertida, y por ende, extrada del proceso, es muy grande, se podra perturbar el funcionamiento del proceso en forma indeseada.

4.2.2 Circuito de acondicionamiento de seales

Por lo general, los rangos de las seales entregadas por los transductores no estn acordes con los de las entradas que ofrece el SAD; e igualmente los niveles de tensin y de corriente que requieren los actuadores, en caso de haberlos, son mayores que los que est en capacidad de ofrecer un sistema de distribucin de seales (este proyecto no distribuye seales), por tanto, se hace imprescindible una etapa intermedia llamada acondicionamiento de seales. Este circuito se encarga de la amplificacin, filtrado y adaptacin de seales de los transductores al SAD. Dado que maneja slo seales elctricas, el acondicionador de seales constituye lo que se denomina una interfaz, la cual se encarga de garantizar que todas las seales de entrada tengan un rango dinmico similar, y las de salida se adapten a las necesidades del actuador.

57

4.2.3 Circuito de muestreo y retencin (Sampled and Hold)

Este circuito se encarga de tomar una muestra (Sample) y mantenerla (Hold) durante el tiempo que dura su conversin a cdigo digital.

Este se hace necesario siempre y cuando la seal de entrada sufra variaciones apreciables durante el tiempo que dura la conversin.

4.2.4 Multiplexor analgico

Este circuito acta como un interruptor rotatorio de varias posiciones que peridicamente selecciona una seal de entrada y la enruta al circuito de muestreo y retencin.

El proceso de muestreo involucra al multiplexor analgico y al circuito de muestreo y retencin (S&H).

4.2.5 Conversor Anlogo Digital (A/D)

Un conversor de este tipo es un dispositivo que recibe una entrada de voltaje Seal anloga

Seal digital

Tiempo

Figura 4.2 Seal digitalizada

58

Vent (puede variar desde cero hasta un valor mximo llamado Vref) y que entrega una palabra digital con una precisin y una resolucin dadas que se obtienen mediante la comparacin de dicha entrada con el voltaje de referencia Vref. La figura 4.2 muestra una seal digitalizada debido al conversor A / D. El proceso de conversin implica dos etapas: la cuantificacin de la seal y la codificacin de la misma.

Cuantificacin : consiste en representar la amplitud de la seal anloga mediante un nmero finito de valores distintos en un instante de tiempo determinado. Si el convertidor es de n bits, se pueden representar 2n estados; el error mximo cometido por el convertidor es la mitad de la distancia existente entre dos valores de salida, as: Emax = 0,5*Vref / 2n

Ec. (8)

Codificacin : es la representacin del valor asignado a la seal mediante combinaciones de estados lgicos altos y bajos. El voltaje anlogo medido es una fraccin del voltaje de referencia igual a la fraccin que forma el valor digital con respecto al valor binario mximo: Vent / Vref = valor digital de salida / 2n El valor digital de salida se expresa de la siguiente forma: b1*2n-1 + b2*2n-2 + b3*2n-3 + ...... + bn*20

Ec. (9)

Ec. (10)

de donde b1,b2,b3,...,bn corresponden a los bits de la palabra digital (siendo b1 el ms significativo).

59

Las principales especificaciones de los conversores A/D son:

Nmero de bits : es la longitud de bits de la palabra de salida. Voltaje de referencia : corresponde al valor mximo que puede tener el valor anlogo de entrada. Resolucin : corresponde al mnimo valor de voltaje en la entrada que causa una variacin en la salida digital. Resolucin = Vref / 2n

Ec. (11)

Tiempo de conversin : tiempo desde el comienzo hasta el final de la conversin. Tensin de alimentacin : algunos conversores A/D requieren una sola fuente, otros necesitan una dual. Seales de digitales de control : CS (conversin start), es un pulso que se enva al convertidor para indicarle un proceso de conversin; EOC (end of conversin), es un pulso que se origina del convertidor para avisar a la unidad externa que ya ha terminado el proceso de conversin.

Los conversores A/D ms conocidos considerando sus ventajas y su implementacin en una gran cantidad de sistemas son: el de tipo escalera, el de aproximaciones sucesivas y de voltaje a frecuencia.

Tipo escalera : este incorpora un convertidor digital analgico cuya salida se denota Vx. Inicialmente el valor de este voltaje es de cero, la salida del comparador est en alto y la compuerta AND deja pasar los pulsos del reloj al contador; cuando se activa el contador mediante la seal CS enviada por el circuito de control, suministra un valor digital binario que empieza en cero y se va incrementando en una unidad con cada pulso del reloj, figura 3.3. Este valor

60

digital pasa al convertidor D/A que entrega un voltaje Vx que aumenta en forma escalonada. Cuando el voltaje Vx supere el valor anlogo de entrada, la salida del comparador cambia de un valor lgico alto a uno bajo, por lo cual la compuerta AND no deja pasar ms pulsos al reloj del contador terminando as la conversin. AND Reloj Contador

Salida digital + Vx Conversor A/D Entrada anloga Figura 4.3 Conversor A/D tipo escalera

Para comenzar otra conversin se debe dar un reset al contador. Aproximaciones sucesivas : al igual que el anterior incorpora tambin un convertidor D/A. El circuito de control coloca un 1 en el bit ms significativo (MSB) b1 manteniendo los otros bits con el valor lgico cero. El convertidor D/A realiza la conversin y enva un valor de voltaje Vx al comparador, si el voltaje de entrada resulta mayor que el voltaje Vx el valor alto permanece como valor definitivo para el b1; pero si el voltaje Vent resulta menor que Vx entonces el circuito de control remueve el valor alto y coloca un cero que permanece como valor definitivo para b1, figura 4.4.

61 Entrada anloga Comparador Lgica de control Salida digital

Conversor D/A Figura 4.4 Conversor A/D de aproximaciones sucesivas Voltaje a frecuencia (V/F) : Este tipo de convertidores permite obtener una buena conversin a bajo costo y con una buena resolucin (puede ser superior a ocho bit).

El convertidor V/F entrega un tren de pulsos cuya frecuencia es proporcional al voltaje de entrada. La frecuencia F que entrega el contador es:

F = Kf * Vent

Ec. (12)

siendo Kf la constante del convertidor V/F. Si se cuentan esos pulsos durante un tiempo determinado, se obtiene un valor digital proporcional a su frecuencia y por consiguiente proporcional al valor anlogo de entrada. Este conteo se hace para una base de tiempo fija ts. El nmero de pulsos N que pasa al contador es:

N = F * ts

Ec. (13)

Algunos de estos convertidores entregan directamente cdigo BCD (Binario Codificado Decimal) para facilitar el uso del display.

62

4.2.6 Conversor Digital Anlogo (D/A)

Este dispositivo transforma un dato de entrada dado como una palabra binaria de n bits en un nivel de tensin proporcional a dicha palabra Vsal, que se ubica en un rango entre cero y el Vref. Debido a que se dispone de un nmero limitado de bits en la entrada, se dispone tambin de un nmero limitado de niveles anlogos en la salida del dispositivo, por lo cual la seal de salida ser anloga discreta.

La salida anloga es una fraccin del voltaje de referencia igual a la fraccin que forma el valor binario de entrada con respecto al valor binario mximo Vsal / Vref = valor digital de entrada / 2n

Ec. (14)

de donde el valor digital de entrada se puede expresar como en la Ec. (10). Las principales especificaciones de los conversores D/A son:

Nmero de bits : es la longitud en bits de la palabra de entrada al convertidor. Voltaje de referencia : es el valor mximo que puede alcanzar el voltaje anlogo de salida. Resolucin : es la variacin en voltios que experimenta el voltaje anlogo de salida al cambiar el bit menos significativo (LSB) del valor digital de entrada.

Resolucin = Vref / 2n

Ec. (15)

Tiempo de asentamiento (Setting time): es el tiempo que transcurre desde el momento en que se produce un cambio en la entrada que involucre al dgito ms significativo hasta el momento en que la salida se estabiliza en un nuevo valor.

63

Tensin de alimentacin : algunos conversores D/A requieren de una fuente simple, en cambio otros necesitan una dual. Voltaje de desplazamiento (offset) : algunos conversores presentan un voltaje de desplazamiento cuando la entrada digital es nula, debido al amplificador operacional que se encuentra en su salida; por ello generalmente existen terminales para compensacin de voltaje de desplazamiento.

Los principales tipos de conversores D/A son:

Conversor con red de resistencias R 2R : utiliza un sumador con tantos canales de entrada como bit posee el convertidor y cada uno de ellos es seleccionado por el valor del bit correspondiente. ste usa un amplificador operacional para obtener en la salida una seal de voltaje proporcional al nivel de corriente de su entrada. Este convertidor puede presentar problemas debido a la precisin de las resistencias. Conversor de resistencias ponderadas : consta de una red de resistencia en la que la corriente que circula por cada resistencia es la mitad de la corriente que circulara por la resistencia correspondiente al bit inmediatamente superior. Cada resistencia proporciona una corriente con un valor determinado que se suma con las contribuciones de corriente de las otras resistencias en la entrada del amplificador operacional, el cual entrega un nivel en su salida proporcional a la suma de corrientes. Conversor por modulacin de ancho de pulso : primero se convierte el dato de n bits de entrada en una serie de pulsos con un determinado ancho. Se usa un comparador con dos canales de n bits, uno de los cuales es el cdigo binario de entrada y el otro es el valor binario de un contador interno de n bits, el cual est aumentando su cuenta gracias a un oscilador y cuando las dos entradas del comparador son iguales el comparador bascula

64

su salida y el proceso vuelve a empezar basculando de nuevo la salida al finalizar, con lo cual se obtiene un tren de pulsos con una ancho determinado por el tiempo en que el reloj alcanza el dato de entrada.

Despus de un tren de pulsos se pasa a travs de un filtro pasabajos y se obtiene la seal de salida del convertidor.

La principal desventaja de este convertidor es el nmero elevado de pasos que se debe realizar.

4.3 PARMETROS CARACTERSTICOS DE UN SAD

Las caractersticas ms sobresalientes para evaluar la configuracin de un sistema de adquisicin de datos son:

El nmero de canales analgicos y digitales de entrada y salida. Exactitud : este parmetro involucra la resolucin, la cual indica la desviacin de la medida respecto al valor real. Debe englobar los efectos de la resolucin de los conversores y los diferentes errores de linealidad, offset y ganancia de todos los elementos del sistema. Velocidad de muestreo : est dada por el tiempo entre dos lecturas consecutivas de una misma variable. ste depende de: el tiempo que necesite el multiplexor para seleccionar y conectar el canal, el tiempo que necesite el conversor A/D para realizar la conversin, el tiempo que tarde la comunicacin con el microprocesador, el tiempo promedio que tarda el microprocesador en procesar cada variable y el nmero de variables muestreadas.

65

4.4 CLASIFICACIN DE LOS SADs

Existen diversas clasificaciones de los SADs. stas dependen de : su arquitectura, tipo de bus a que estn conectados, etc. En esta seccin slo se dar la clasificacin de acuerdo con el tipo de bus usado.

Basado en bus externo :

estos sistemas estn formados por varios

instrumentos interconectados a travs de algn bus, como puede ser el: GIPB, VXI, etc. En estos sistemas el ordenador acta como controlador del sistema; ste se encarga de gestionar todas las operaciones que se realizan en el BUS. Basado en bus interno : Estos consisten en tarjetas de adquisicin de datos que se conectan al bus del sistema a travs de uno de los slots de expansin de la tarjeta madre. Circuitos integrados de adquisicin de datos : tiene circuitos integrados que incorporan la mayor parte de los subsistemas necesarios para realizar la adquisicin de las seales analgicas (amplificador,

multiplexor, filtros, S&H, conversores A/D, conversores D/A, timers, etc.).

4.5 ERRORES QUE SE PRESENTAN EN LA DIGITALIZACIN DE SEALES

Muestreo : Una seal anloga se muestrea observando y memorizando su amplitud instantnea a intervalos regulares e ignorndola el resto del tiempo, figura 3.2. La velocidad a la cual se realiza la actualizacin de las muestras se denomina rata o frecuencia de muestreo (Fs). El teorema de Nyquist dice que la rata de muestreo del sistema debe ser mayor que dos veces la

66

componente de ms alta frecuencia presente en las seales de entrada multiplicada por el nmero de canales anlogos. Fs 2 * Fc * N

Ec. (15)

El uso de una frecuencia de muestreo inferior a la establecida por el criterio de Nyquist cusa prdida de informacin debido a que el nmero de muestras por ciclo resultante es insuficiente para reconstruir todas las seales de entrada; esta condicin se denomina submuestreo o error de aliasing. El error promedio de muestreo se obtiene comparando el rea bajo la curva de un semiciclo de la seal reconstruida con el rea bajo la curva del semiciclo de la seal original.

Ruido : Debido a la interferencia electromagntica, las seales que van desde los transductores hasta el microprocesador puede presentar ruido, la cual origina errores en los datos muestreados. Este factor es muy importante cuando se trabaja en ambientes industriales debido a que puede afectar severamente el control de los procesos.

Alinealidad : Los conversores A/D y D/A presentan un error de Alinealidad del voltaje de entrada y el cdigo de salida. Este error se obtiene de la diferencia del valor que entrega el conversor y la lnea recta ideal. La nica forma de evitar este error es utilizando conversores de alta calidad. En muchas ocasiones el comportamiento del transductor el no lineal. Esta caracterstica se puede corregir por software, con el programa de control, o por hardware, mediante circuitos que contienen linealizadores como extractores de raiz cuadrada, amplificadores logartmicos, etc.

67

5. SENSORES DE TEMPERATURA

El conocimiento y seleccin apropiada de los elementos de instrumentacin industrial es un factor muy importante en el desarrollo de cualquier proceso donde se haga estudio de variables, y ms, si se realiza un proceso de control y automatizacin. La calidad de los instrumentos utilizados y el conocimiento de las condiciones de operacin son factores que afectan en gran medida el desempeo del sistema que se implemente. En el captulo 3 se habl acerca de las tarjetas de adquisicin de datos, las cuales se encargan de tomar seales provenientes de sensores o transductores y hacerle una serie de acondicionamientos, con el fin de que los dispositivos posteriores puedan entenderlas. En este captulo se pretende mostrar una aplicacin del SADs con sensores de temperatura.

5.1 CARACTERSTICAS DE LOS INSTRUMENTOS

Antes de empezar con la aplicacin de las SADs es necesario conocer los parmetros ms relevantes con los que debe cumplir un instrumento de medida :

Precisin : es la tolerancia de medida del instrumento y define los lmites del error cuando ste se emplea en condiciones normales de servicio. Generalmente se da en unidades de la variable medida. Resolucin : se refiere al cambio ms pequeo que puede detectar el instrumento. Repetibilidad : es la habilidad del instrumento para mostrar la misma indicacin (Vm) cuando se presente el mismo valor (Vr). Se da en porcentaje.

68

Sensibilidad : es la relacin entre el incremento de la lectura y el incremento de la variable que la ocasiona; si la sensibilidad es grande en todo el rango se dice que el transductor es lineal. Rango : es el intervalo de valores de la variable de entrada que se puede medir. Alcance : es la diferencia entre el valor mximo y el valor mnimo que se puede medir. Histresis : es la diferencia mxima que se observa en los valores indicados por el instrumento para el mismo valor cualquiera del campo de medida cuando la variable recorre toda la escala en los dos sentidos, ascendente y descendente.

5.2 SENSORES DE TEMPERATURA

En

la industria, la medida de la temperatura constituye uno de los

procedimientos ms comunes y de mayor importancia. En el mercado se puede encontrar una gran variedad de sensores o transductores de temperatura, entre ellos se pueden mencionar : termmetro de vidrio, termmetro bimetlico, termmetro de bulbo y capilar, termmetro de resistencia, termistor, termopar y pirmetro de radiacin, entre otros. A continuacin se explica brevemente el principio de funcionamiento de los transductores de temperatura cuya seal puede ser fcilmente digitalizada. Punto importante si se sabe que en muchas ocasiones es ms ventajoso tomar los datos obtenidos y enviarlos a un computador para graficarlos en lugar de mostrarlos en un display. Termopar : su funcionamiento se basa en el efecto Seebeck, es decir, al unir dos alambres de diferente metal, por un extremo, dejando las otras dos puntas libres. Luego, si los extremos unidos estn a una temperatura (T1) diferente a la temperatura (T2) de los extremos libres, se genera entre

69

estos dos ltimos una diferencia de potencial (e) que depende de los materiales empleados en los dos alambres y la diferencia de temperatura. Termistor : es un elemento semiconductor en el que pequeos cambios de temperatura ocasionan cambios muy grandes en la resistencia elctrica, la cual disminuye al aumentar la temperatura. Debido a lo anterior, ste es un dispositivo de alta sensibilidad. El tiempo de servicio es un factor que afecta la respuesta de este tipo de sensores, con la cual va cambiando el porcentaje de aumento de la resistencia. Este efecto se conoce como envejecimiento. Detector resistivo : su sistema de funcionamiento es bastante parecido al del Termistor, la nica diferencia es que tiene un coeficiente de variacin de la resistencia positivo, es decir, que su resistencia aumenta al aumentar la temperatura, y adicionalmente esta relacin es lineal. Circuito integrado : es de tamao reducido y se encuentra en diferentes tipos de encapsulado: metlico, plstico, montaje superficial, etc. Su principio de funcionamiento se deriva de la influencia que ejerce la temperatura sobre las caractersticas elctricas de los semiconductores. La salida es lineal con la temperatura. Son fciles de usar debido a que no requieren una gran cantidad de dispositivos externos para su operacin y los rangos de salida dan buena inmunidad al ruido.

5.3 TIPO DE SENSOR UTILIZADO

Para

el siguiente trabajo se utilizar el sensor integrado LM35. ste es

barato, slo necesita una etapa de amplificacin, contrario al termopar que necesita mayor amplificacin debido al valor de voltaje tan pequeo que enva. Adems, los rangos de temperatura trabajados en el laboratorio estn dentro del rango para el cual estn diseados los LM35.

70

5.4 CONFORMACIN DE LA TARJETA ( SADs ) PARA SENSORES DE TEMPERATURA

Debido a la necesidad que se tiene en algunas ocasiones de visualizar valores de temperatura en diferentes posiciones de una mquina trmica, o a veces, enviar esos mismos valores a un computador a intervalos de tiempo demasiado pequeos, se ha planteado una solucin con el fin de suplir tales necesidades. La solucin viene con el diseo de una tarjeta que recibe 5 seales anlogas de temperatura y las procesa en dos modalidades: visualizacin en un display y envo serial al computador. La tarjeta viene conformada por varias etapas.

5.4.1 Etapa de acondicionamiento

sta etapa est conformada en subetapas de amplificacin no inversoras, es decir, cada una de ellas recibe una seal anloga de temperatura del orden de los milivoltios y la pasa al rango de 0 a 5 V ( valores TTL para que los pueda entender el microcontrolador ). Dependiendo de los voltajes de alimentacin de los amplificadores, el rango de amplificacin puede ser cambiado ( en futura aplicacin donde se necesite de 0 a 24 V ) mediante la manipulacin de potencimetros de precisin contenidos en la tarjeta, figura 5.1.

71

72

Figura 5.1 Fotografia etapa de acondicionamiento

5.4.2 Tarjeta principal

Esta etapa contiene inicialmente un microcontrolador PIC 16C74B de MICROCHIP la cual se encarga de procesar toda la informacin proveniente de la tarjeta de acondicionamiento. El PIC tiene un algoritmo que recibe seales anlogas de temperatura y las procesa envindolas al PC o a un display para ser interpretada por el usuario. El valor de temperatura puede ser expresado en grados Celsius o en grados Fahrenheit. Esta misma etapa contiene una subetapa para realizar comunicacin serial mediante el chip MAX232 y otra subetapa de acondicionamiento para enviar datos a un display de 7 segmentos, figura 5.2.

73

74

Figura 5.2 fotografa tarjeta principal con las subetapas

5.4.3 Etapa de visualizacin

Esta es la etapa ms sencilla y simplemente contiene una configuracin triple de displays dobles de 7 segmentos, las cuales reciben seal de la tarjeta principal para visualizar temperaturas ya sean en grados Celsius o en grados Fahrenheit, figura 5.3.

Figura 5.3 Fotografia etapa de visualizacion

75

La tarjeta completa permite realizar tres tareas opcionales :

Modo slo display : en este caso, la tarjeta recibe las seales de temperatura, les aplica una regresin y finalmente muestra el resultado de

76

la regresin en un display, nicamente. En este modo la temperatura se visualiza en grados Celsius o Fahrenheit, dependiendo de lo deseado, ver en figura 5.4 la configuracin de los suiches. Modo slo serial : en esta seleccin, la tarjeta recibe las seales de temperatura y enva los resultados al computador va puerto serial, nicamente, ver en la figura 5.5 la configuracin de los suiches. Modo display y serial : si se escoge esta opcin se combinan las dos anteriores. Es decir, en un momento dado est visualizando la temperatura en el displays y casi simultneamente, se envan serialmente al computador. Es importante anotar que el display slo est en capacidad de visualizar una temperatura a la vez, ver en la figura 5.6 la configuracin de los suiches.

Figura 5.4 Fotografa de la tarjeta mostrando modo solo display

77

Figura 5.5 Fotografa de la tarjeta mostrando modo solo serial

Figura 5.6 Fotografa de la tarjeta mostrando modo display y serial 5.4.1 Ventajas

Esta tarjeta ofrece la ventaja de ser porttil, algo semejante al lector de termocuplas, en el cual se conecta la termocupla tipo J o K y el lector arroja el valor de la temperatura medida en un display. La ventaja de la tarjeta es

78

que sta puede tomar lecturas de 5 temperaturas sin necesidad de estar conectando y desconectando los sensores como ocurre con el lector (slo puede leer una temperatura al tiempo). Se hace nfasis en que la tarjeta puede visualizar una temperatura a la vez, pero constantemente est haciendo la lectura de las 5 temperaturas, excepto en el modo de slo display.

La tarjeta est compuesta por mdulos : acondicionamiento, sistema de lectura, comunicacin serial, es decir, los mdulos no se han integrado con el fin de realizar futuras aplicaciones. Por ejemplo, actualmente se trabaja con sensores LM35 que entregan 10 mV por cada grado Celsius; en caso que se quiera tomar lecturas de termocuplas ste arrojara un error, en caso de integrar los mdulos, debido a que las termocuplas y los LM35 necesitan ganancias diferentes para alcanzar los 5 V. Luego, si a 50 por ejemplo, el C, LM35 entrega 500 mV, la termocupla entrega un valor mucho menor; ahora, cuando pasa por el mdulo de acondicionamiento, la seal proveniente del LM35 entregara alrededor de 2,5 V mientras que la de la termocupla no alcanzara este rango. Finalmente, el conversor A/D recibe cada seal y arrojara un error para la lectura de la termocupla, debido a que la ganancia fue realizada para los LM35. Anlogamente, si se calcula una ganancia para seal de termocupla puede ocurrir un dao en el sistema. ste consiste en que como la seal LM35 es mayor que la de la termocupla, por haberse realizado el acondicionamiento para una seal ms pequea, la ganancia es mayor que antes; la consecuencia de esto es que la amplificacin sobre el LM35 arrojar ms de 5 V, fatal para el microcontrolador.

Otra ventaja de la tarjeta es que permite visualizar valores de temperatura en un display (muy cmodo para el usuario que simplemente desea conocer como se est comportando cierto proceso), y adems, si se desea, puede enviar los datos serialmente a un computador (bastante til para estudiantes

79

que requieren hacer un seguimiento completo a un proceso) para sacar estadsticas.

La tarjeta es susceptible de modificaciones (es lo ideal) con el fin de mejorarla. ste es tal vez el punto ms importante en este proyecto, debido a que lo importante en los proyectos realizados por la universidad es que se estn realizando constantemente mejoras para retardar la llegada de la inminente obsolescencia.

Actualmente se est realizando un proyecto de grado para trabajar con sensores de presin. La tarjeta puede ser habilitada ms adelante para que reciba seales de presin logrando as un sistema ms integrado de lectura en procesos en donde presin y temperatura juegan un papel preponderante.

5.4.2 Desventajas

Debido a que la tarjeta no est integrada (ya se vio el por qu de su ventaja) hace que la velocidad de lectura se disminuya, aunque segn las proyecciones, las exigencias futuras no se vern afectadas de manera considerable.

Por otra parte, se hace hincapi, en que si se fuera a realizar control en procesos de alta precisin, la tarjeta se encontrara en serios problemas de restriccin, es decir, la velocidad con la que se muestrea es muy baja y por tanto el sistema reacciona lento.

El sistema de filtrado es demasiado sencillo (entre las proyecciones est en que no va a afectar considerablemente la lectura) y en caso de ponerla a

80

trabajar en ambientes sumamente contaminados por ruido podra arrojar muchos errores.

81

6. SENSORES DE FLUJO : MODO DE UTILIZACIN Y FUTURAS MODIFICACIONES

6.1 CUIDADOS PARA USAR EL SENSOR DE FLUJO

Para la manipulacin de los sensores es necesario tener ciertos cuidados. Una parte del sensor va a estar constantemente en la red de la tubera y una tapa impedir que cuando no se est utilizando el sensor salga agua por dicho lugar. Es conveniente que esto permanezca tapado.

Se recomienda que el sensor despus de utilizado se saque de la cubierta y se seque.

Evite quitar los imanes ubicados en los labes de la turbina, stos son de vital importancia en el funcionamiento del sensor.

Al momento de realizar medidas de caudal haga lo siguiente:

Tome el sensor e introdzcalo en la cubierta teniendo cuidado de colocarlo de acuerdo con el pasador de posicin. l sensor entra fcilmente, as que no hay que forzarlo, esto podra provocar el quiebre de la turbina. Gire la tapa de ajuste para evitar fugas durante la medicin. Conecte el cable apantallado tanto al sensor como al sistema de lectura. Alimente con 5 V ( no exceder este valor ) el sistema de lectura. Escoja la unidad de medida oprimiendo el botn indicado.

82

6.2 MODO EN QUE REALIZA INTERNAMENTE LA MEDICIN

El sistema de lectura est basado en el uso del microcontrolador PIC 16F84 de MICROCHIP. ste dispositivo tiene 13 puertos I/O de los cuales 12 se usan para visualizar en el display y uno para realizar el cambio de unidades (litros por minutos o galones por minutos). En general se puede decir que un PIC es como una pequea computadora que se programa para que realice una determinada tarea. Este PIC maneja interrupciones, de las cuales se estn usando dos : una por pin externo y otra por rebose del temporizador.

Interrupcin por pin externo : el microcontrolador empieza a realizar el algoritmo programado y cuando por el pin RB0/INT ocurre un cambio, ya sea de alto a bajo o viceversa, el PIC suspende el algoritmo inicial y se pone a realizar otro. Este otro algoritmo es el que cuenta giros de la turbina. En el programa de adelante se ver ms claramente de que se est hablando. Como inicialmente se van a medir r.p.m. ( como cada labe tiene un imn los r.p.m. aparecen cuadruplicados ), se sabe que si se miden

revoluciones durante 6 segundos y lo multiplico por 10, entonces se obtienen r.p.m. Interrupcin por rebose del temporizador : sta ocurre cuando un registro llamado TMR0 se rebosa (de 0 a 255 o viceversa). El rebose ocurre porque con cada ciclo de instruccin el registro se va incrementando o decrementando en una unidad. Esta es la interrupcin para realizar la temporizacin de los 6 segundos.

La rutina general del PIC es la de llenar un registro (interrupciones debido al giro de la turbina) y asociarlo con un valor de caudal, la cual se ha determinado previamente mediante la obtencin de curvas Caudal Vs. r.p.m.

83

Si se analiza bien el programa se le pueden realizar modificaciones para aumentar las funciones del programa, por ejemplo: mostrar el caudal es ms de dos unidades, realizar comunicacin serial etc.

La siguiente es la rutina para realizar la medicin de caudal de agua. sta utiliza interrupcin por pin externo y por tmr0.

Se realiza una regresin lineal para relacionar CAUDAL y RPM. La regresin es: CAUDAL = 0,056*RPM - 9,7. Para la tarea se uso el microcontrolador PIC 16f84. NOTA: El programa para el microcontrolador puede ser realizado en lenguaje ensamblador MPASM del MPLab o en lenguaje C propio de

microcontroladores MPC que trabaja tambin con el MPLab.

84

7. TARJETA SAD PARA SENSORES DE TEMPERATURA : MODO DE UTILIZACIN Y FUTURAS MODIFICACIONES

7.1 CUIDADOS PARA USAR LA TARJETA

La tarjeta para realizar adquisicin de datos est basada en la tecnologa del microcontrolador PIC 16C74B de MICROCHIP. Este est contiene 33 puertos I/O, maneja comunicacin serial, posee conversor A/D de 8 canales a 8 bits. ste es de mayor capacidad que el utilizado para los sensores de flujo.

Por otra parte, es importante saber que el circuito del microcontrolador debe ser alimentado con 5 V (no se debe exceder este valor) al igual que el mdulo para realizar la comunicacin serial. En cambio, para el mdulo de acondicionamiento se hace necesario tener una fuente dual: +10 V y 10 V. Para utilizarlo se deben seguir los siguientes pasos:

Conectar los sensores por los que se van a tomar lecturas. Tener cuidado que no vayan a estar en corto, esto ocurre frecuentemente con conectores de mala calidad.

Verificar que el pin RA4/TOCKI est en alto para visualizar en que modo se va a trabajar.

Escoger entre las tres operaciones posibles de manipulacin del algoritmo.

Activar la temperatura que se quiere visualizar, en caso de estar con modo display. Si se activan todas, la tarjeta visualizar todas a intervalos muy pequeos de tiempo, por tal efecto, es recomendable visualizar una a la vez. Alimentar la tarjeta con los voltajes correspondientes

85

7.2 FUNCIONAMIENTO INTERNO DE LA TARJETA

El algoritmo de trabajo es bastante parecido al de los sensores de flujo con la diferencia de que ac se realiza conversin A/D y comunicacin serial, ambos implementados en el PIC desde la fbrica. Inicialmente el PIC recibe seales anlogas de temperatura, ste realiza la conversin A/D y la enva a un registro. ste ltimo es enviado a una rutina para pasarlo a valor de temperatura (se usa una regresin). Posteriormente, dependiendo del modo de operacin, el PIC muestra la temperatura (en Celsius o Fahrenheit) y/o la enva serialmente al computador. En la tarjeta se pueden encontrar una serie de suiches para escoger unidad de la temperatura, otros para seleccionar las temperaturas y otro para visualizar el modo de trabajo. Ms adelante aparece la rutina del microcontrolador. La siguiente es la rutina para realizar la adquisicin de datos por parte del SAD

86

8. SOFTWARE PARA PROGRAMAR MICROCONTROLADORES PIC

Los microcontroladores PIC con los que se realizaron las tarjetas son de la fbrica MICROCHIP. Dependiendo de la tarea que se les va a asignar stos deben ser programados con un algoritmo propio de la tarea que va a realizar.

De fbrica, ellos vienen sin ningn tipo de algoritmo grabado. Para realizar la programacin de los PICs se utiliza el software MPLAB, el cual ofrece varias

Figura 8.1 Ventana de inicio del MPLAB

herramientas para la simulacin del algoritmos antes de grabarlos, figura 8.1. ste es un punto importante si se tiene en cuenta que hay PICs que slo

87

admiten una grabacin; en caso de quedar mal el algoritmo habra que desechar el chip.

Figura 8.2 Opcin para crear un programa

Para empezar a elaborar un programa se le da la opcin New Source del men File, figura 8.2.

Figura 8.3 Opcin para definir procesador

88

Debido a que hay diferentes tipos de PICs se debe escoger el tipo con el cual se va a trabajar. Para esto se escoge la opcin Development Mode, del men Options, figura 8.3. Enseguida el software despliega una ventana para escoger el tipo de procesador ( tipo de PIC ), figura 8.4.

Figura 8.4 Ventana indicando tipo de procesador escogido

Figura 8.5 Opcin para salvar el programa fuente

89

Luego de escoger las opciones preliminares se empieza a escribir el algoritmo; posteriormente se debe salvar con un nombre fcil de reconocer, para esto se escoge la opcin Save As, del men File, figura 8.5. El software despliega ventana para ingresar el nombre del programa o algoritmo, figura 8.6.

Figura 8.6 Ventana para dar nombre al programa

Figura 8.7 Opcin para crear un proyecto

90

Cuando ya se ha salvado el programa se procede a crear un proyecto; ste ltimo contiene informacin de archivos de: error, estmulos, ventanas etc.

Para esto se escoge la opcin New Project, del men Project, figura 8.7.

Figura 8.8 Ventana para dar nombre al proyecto

Figura 8.9 Ventana adicionar programa(s) fuente al proyecto

91

El software despliega ventana para escoger nombre del proyecto, figura 8.8. Despus de aceptar se abre otra ventana para escoger el nombre del programa fuente (el mismo que se cre al principio); este paso es importante

Figura 8.10 Opcin para compilar el proyecto

Debido a que hay proyectos que pueden tener ms de un programa fuente.

En caso de haber varios programas se deben adicionar los diferentes nombres, figura 8.9. Para las tarjetas construidas slo se tiene un programa fuente.

El proceso final es la compilacin del proyecto con el fin de saber si se tienen errores sintcticos (errores en escritura); para esto se escoge la opcin Make Project (cuando se tiene un programa fuente) o Buid All (cuando se tienen varios programas fuentes), ambos en el men Project, figura 8.10.

Al final, el software despliega una ventana indicado si la compilacin fue exitosa o no, figura 8.11; en caso de no serlo, aparecen los errores y las

92

lneas en donde se encuentran. Despus de corregirlos se debe reiniciar la compilacin. Es importante recalcar que el software slo corrige errores sintcticos; los errores de algoritmo estn bajo la responsabilidad de la persona que va a programar.

Figura 8.11 Ventana indicando xito en la compilacin

Figura 8.12 Opcin para activar programador

93

Cuando la compilacin es exitosa y se sabe ( debe se 100% en caso de usarse PIC de una sola grabacin) que no hay errores de algoritmo,

entonces se puede proceder a programar el PIC. Esta tarea la realiza un programador Picstart Plus de MICROCHIP que se conecta al puerto serial (por defecto es el Comm1, pero se puede reconfigurar en software). La activacin se realiza ejecutando la opcin Enable Programmer del men Picstart Plus, figura 8.12.

Es conveniente hacer saber que los PICs se pueden programar usando lenguaje ensamblador, cuyos archivos fuentes quedan con la extensin *. asm o usando lenguaje C propio de PIC, en cuyo caso la extensin es *.C.

La primera opcin se puede realizar con el slo MPLAB, pero la segunda necesita del MPC para asociarlo con el MPLAB. Para mayor informacin se deben consultar los catlogos del MPLAB y del MPC.

94

9.

CONCLUSIONES

Con el anterior proyecto, fabricacin de sensores de flujo y temperatura, se pudo constatar que dentro de la universidad se pueden realizar diferentes proyectos bastante buenos.

Con respecto a los sensores de flujo, se puede observar un gran avance, pero definitivamente hay mucho por mejorar. Este proyecto puede perfeccionarse ms con el fin de obtener mediciones todava ms precisas; para tal efecto, se necesita fabricar accesorios con muy buenos acabados. Adems, explorando otros materiales los resultados podran ser mejores.

La tarjeta para los sensores de temperatura ofrece comodidades en el momento de realizar toma de datos, pero puede ser mejorada respecto al filtrado de la seal, ya que actualmente tiene un filtro supersencillo la deja pasar un poco de ruido ( para las condiciones de diseo esto no afecta ) que para futuras aplicaciones sera un problema.

Los dispositivos anteriormente construidos necesitan de cuidados con el fin de evitar su avera. Es muy importante tener esto en cuenta.

95

APNDICE A

ALGORITMO PARA REALIZAR MEDICIN DE CAUDALES


ESPECIFICACIONES DEL PROCESADOR #pragma option v; #pragma __CONFIG @ 0x2007 = 0x3FF9; ASIGNACIN DE LIBRERAS PROPIAS DEL MPC #include <16f84.h> #include <Delay14.h> #include <math.h> ASIGNACIN DE FUNCIONES Y VARIABLES DE TRABAJO int vueltas; int temporizador_1; int decimales; int unidades; int decenas; int centenas; void handle_EXTERN(); void handle_TMR0(); int funcion(int num); RUTINA QUE ADMINISTRA LAS INTERRUPCIONES void __INT(void) { SaveContext();

if (INTCON.INTF) { INTCON.INTF = 0; handle_EXTERN(); }

if (INTCON.T0IF) { INTCON.T0IF = 0; temporizador_1 += 1;

96

if (temporizador_1 > 0x5A) { handle_TMR0(); } }

RestoreContext(); } RUTINA PRINCIPAL PARA MANIOBRAR DISPLAY'S void main() {

OPTION = 0x87; INTCON = 0xB0; TRISB = 1; TRISA = 0x10; PORTB = 0; PORTA = 0; centenas = 17; decenas = 10; unidades = 18; decimales = 19; temporizador_1 = 0; TMR0 = 0; vueltas = 0;

while(1) {

PORTA = 0x08; PORTB = funcion(decimales); Delay_Ms_4MHz(5); if (temporizador_1 > 0x5A) { temporizador_1 = 0; }

PORTA = 0x04; PORTB = funcion(unidades); Delay_Ms_4MHz(5); if (temporizador_1 > 0x5A) { temporizador_1 = 0;

97

PORTA = 0x02; PORTB = funcion(decenas); Delay_Ms_4MHz(5); if (temporizador_1 > 0x5A) { temporizador_1 = 0; }

PORTA = 0x01; PORTB = funcion(centenas); Delay_Ms_4MHz(5); if (temporizador_1 > 0x5A) { temporizador_1 = 0; } } } CADA VEZ QUE PASA UN IMAN MARCA void handle_EXTERN() { vueltas += 1; } REALIZA LA REGRESIN DESPUS DE 6 SG void handle_TMR0() {

Esta rutina realiza la regresin " Caudal = 0,056*RPM - 9,7 "

int vuelta1,vuelta2,temporal1,temporal2,uno_temp; int temporalent,temporaldec;

temporal1 = vueltas/100; if (temporal1 == 0) { temporal2 = vueltas/10; temporalent = vueltas%10; } else { temporalent = vueltas%100; temporal2 = temporalent/10;

98

temporalent = temporalent%10; }

temporal1 = temporal1*10; vuelta1 = temporal1 + temporal2; vuelta2 = temporalent;

if (vuelta1 > 25) { centenas = 10; decenas = 11; unidades = 12; decimales = 13; //L //i //m //S

} else { if (vuelta1 < 7) {

if (vuelta1 == 0) { if (vuelta2 == 0) { centenas = 17; decenas = 10; unidades = 18; decimales = 19; } } else { centenas = 10; decenas = 11; unidades = 12; decimales = 14; } } else { //L //i //m //I //F //L //U //J

temporal1 = vuelta1*5; temporal2 = vuelta1*6; temporal2 = temporal2/10;

99

temporaldec = vuelta1*6; temporaldec = temporaldec%10; temporaldec = temporaldec*10; temporalent = temporal2+temporal1; temporal1 = vuelta2*5; vuelta1 = temporal1%10; vuelta1 = vuelta1*10; temporal1 = temporal1/10;

if (temporal1 > 0) { temporalent = temporalent + temporal1; }

temporaldec = temporaldec + vuelta1; temporal1 = vuelta2*6; temporaldec = temporaldec + temporal1; temporal1 = temporaldec/100;

if (temporal1 > 0) { temporalent = temporalent + temporal1; temporaldec = temporaldec%100; } temporalent = temporalent - 9; if (temporaldec < 70) { temporalent = temporalent - 1; temporaldec = 30 + temporaldec; } else { temporaldec = temporaldec - 70; }

centenas = temporalent/100; if (centenas > 0) { uno_temp = centenas*100; temporalent = temporalent-uno_temp; } else { centenas = 15;

100

} decenas = temporalent/10; unidades = temporalent%10; decimales = temporaldec/10; } }

vueltas = 0; vuelta1 = 0; vuelta2 = 0; temporal1 = 0; temporal2 = 0; } FUNCION PARA CARGAR ENCENDIDO DE LEDS int funcion(int num) { int value; switch (num) { case 0: value = 0xBE; break; case 1: value = 0x12; break; case 2: value = 0x7C; break; case 3: value = 0x76; break; case 4: value = 0xD2; break; case 5: value = 0xE6; break; case 6: value = 0xEE; break; case 7: value = 0x32; break; case 8: value = 0xFE; break; case 9: value = 0xF6; break; case 10: value = 0x8C; break; case 11: value = 0x08; break; case 12: value = 0x4A; // "m" // "i" // Para la "L" // 9; // 8; // 7; // 6; // 5; // 4; // 3; // 2; // 1; //Para el 0;

101

break; case 13: value = 0xE6; break; case 14: value = 0x12; break; case 15: value = 0; break; case 16: value = 0x4C; break; case 17: value = 0xE8; break; case 18: value = 0x9E; break; case 19: value = 0x1E; break; // "J" // "U" // "F" // "c" // "espacio" // "I" // "S"

} return (value); }

#include <Delay14.lib>

102

APNDICE B

ALGORITMO PARA REALIZAR MEDICIN DE TEMPERATURAS


ESPECIFICACIONES DEL PROCESADOR #pragma option v; ESPECIFICACIN DE LIBRERIAS #include <16c74a.h> #include <Ser14.h> #include <Ad74.h> #include <Delay14.h> #include <math.h> DECLARACION DE FUNCIONES Y VARIABLES int funcion(int num); void multiplicacion(unsigned char analogo); unsigned char conversion(registerx canal); void muestra(int letra,int fin); unsigned char canal0,canal1,canal2,canal3,canal4,canal5,canal6,canal7; int vueltas; int temporizador_1; int centenas,decenas,unidades,decimales; int conver255; int contador; int valor; void handle_TMR0(); RUTINA PRINCIPAL DEL MICROCONTROLADOR void main() {

Setup_Async_Mode(51);

Rata baudios = Fosc/64(SPBRG +1) = 4MHz / 64(51+1) = 1200 baudios

INIT_A2D(ANA5_VDDN,FRC); TRISA = 0x3F; TRISB = 0x01;

Para 5 canales anlogos y oscilador RC Todos como entrada RB7:RB1 salida - RB0 entrada

103

TRISC = 0x8F; TRISD = 0x0F; TRISE = 0x07; INTCON = 0;

RC3:RC0-RC7 (I) RC6:RC4 (O) RD7:RD4 (O) RD3:RD0 (I) RE2:RE0 (I)

while(PORTA.4 == 1) {

if (PORTD.3 == 0) { if (PORTD.2 == 0) { Mensaje de solo Display centenas = 18; decenas = 1; unidades = 13; decimales = 24; muestra(20,20); //o //l //d //i //S y S

} else { Mensaje de Display y Serial centenas = 24; decenas = 20; unidades = 20; decimales = 14; muestra(13,21); //i //S //S //E //D y r

} } else { if (PORTD.2 == 0) { Mensaje de solo Serial centenas = 18; decenas = 1; unidades = 20; decimales = 14; //o //l //S //E

104

muestra(20,21);

//S y r

} else { Mensaje de Futura Aplicacion centenas = 26; decenas = 27; unidades = 10; decimales = 28; muestra(15,1); } } //u //t //A //P //F y L

} centenas = 0; decenas = 0; unidades = 0; decimales = 0;

OPTION = 0x87; while(1) { if (PORTD.3 == 0) { if (PORTD.2 ==0) { RUTINA PARA MOSTRAR EN DISPLAY if (PORTC.0 == 1) { canal0 = conversion(Ch0); multiplicacion(canal0); INTCON = 0xA0; while(contador < 16) { muestra(10,0); } INTCON = 0; contador = 0; }

105

if (PORTC.1 == 1) {

canal1 = conversion(Ch1); multiplicacion(canal1); INTCON = 0xA0; while(contador < 16) { muestra(11,0); } INTCON = 0; contador = 0; }

if (PORTC.2 == 1) { canal2 = conversion(Ch2); multiplicacion(canal2); INTCON = 0xA0; while(contador < 16) { muestra(12,0); } INTCON = 0; contador = 0; }

if (PORTC.3 == 1) { canal3 = conversion(Ch3); multiplicacion(canal3); INTCON = 0xA0; while(contador < 16) { muestra(13,0); } INTCON = 0; contador = 0; }

106

if (PORTD.0 == 1) { canal4 = conversion(Ch4); multiplicacion(canal4); INTCON = 0xA0; while(contador < 16) { muestra(14,0); } INTCON = 0; contador = 0; }

} else { RUTINA PARA MOSTRAR EN DISPLAY Y ENVIAR A SERIAL canal0 = conversion(Ch0); Transmit(canal0);

canal1 = conversion(Ch1); Transmit(canal1);

canal2 = conversion(Ch2); Transmit(canal2);

canal3 = conversion(Ch3); Transmit(canal3);

canal4 = conversion(Ch4); Transmit(canal4);

if (PORTC.0 == 1) { multiplicacion(canal0); INTCON = 0xA0; while(contador < 16) {

107

muestra(10,0); } INTCON = 0; contador = 0; }

if (PORTC.1 == 1) { multiplicacion(canal1); INTCON = 0xA0; while(contador < 16) { muestra(11,0); } INTCON = 0; contador = 0; }

if (PORTC.2 == 1) { multiplicacion(canal2); INTCON = 0xA0; while(contador < 16) { muestra(12,0); } INTCON = 0; contador = 0; }

if (PORTC.3 == 1) {

multiplicacion(canal3); INTCON = 0xA0; while(contador < 16) { muestra(13,0); } INTCON = 0; contador = 0;

108

if (PORTD.0 == 1) { multiplicacion(canal4); INTCON = 0xA0; while(contador < 16) { muestra(14,0); } INTCON = 0; contador = 0; }

} } else { if (PORTD.2 == 0) { RUTINA PARA SOLO ENVIAR DATOS VIA PUERTO SERIAL NOTA: Aqui se realizan todas las conversiones A/D de los 5 canales y se envian al computador. El PC decide cuantas temperaturas de las cinco posibles va a recibir

if (PORTC.0 == 1) { canal0 = conversion(Ch0); Transmit(canal0); }

if (PORTC.1 == 1) { canal1 = conversion(Ch1); Transmit(canal1); }

if (PORTC.2 == 1) {

109

canal2 = conversion(Ch2); Transmit(canal2);P }

if (PORTC.3 == 1) { canal3 = conversion(Ch3); Transmit(canal3); }

} else { RUTINA PARA FUTURA APLICACION Mensaje de Futura Aplicacion centenas = 26; decenas = 27; unidades = 10; decimales = 28; muestra(15,1); //u //t //A //P //F y L

} } } }

FUNCION PARA ENVIAR LA INFORMACION A LOS PUERTOS void muestra(int letra,int fin) {

PORTC = 0; PORTD = 0x80; PORTB = funcion(letra); Delay_Ms_4MHz(5);

PORTC = 0; PORTD = 0x40; PORTB = funcion(centenas); Delay_Ms_4MHz(5);

110

PORTC = 0; PORTD = 0x20; PORTB = funcion(decenas); Delay_Ms_4MHz(5);

PORTC = 0; PORTD = 0x10; PORTB = funcion(unidades); Delay_Ms_4MHz(5);

PORTC = 0x20; PORTD = 0; PORTB = funcion(decimales); Delay_Ms_4MHz(5);

if (PORTA.4 == 1) { PORTD = 0; PORTC = 0x10; PORTB = funcion(fin); Delay_Ms_4MHz(5); } else { if (PORTB.0 == 0) { PORTD = 0; PORTC = 0x10; PORTB = funcion(12); Delay_Ms_4MHz(5); } else { PORTD = 0; PORTC = 0x10; PORTB = funcion(15); Delay_Ms_4MHz(5); } } } //Muestra la F //Muestra la C

111

FUNCION PARA CARGAR ENCENDIDO DE LEDS int funcion(int num) { int value;

El valor del digito en binario debe ser cargado en el puerto B retardo = 2ms

Estos son los valores de los puertos que controlan los transistores RC4 = D6, RC5 = D5, RD4 = D4, RD5 = D3, RD6 = D2, RD7 = D1

switch (num) { case 0: value = 0x7E; break; case 1: value = 0x0C; break; case 2: value = 0xB6; break; case 3: value = 0x9E; break; case 4: value = 0xCC; break; case 5: value = 0xDA; break; case 6: value = 0xFA; break; case 7: value = 0x0E; break; case 8: value = 0xFE; break; case 9: value = 0xDE; break; case 10: value = 0xEE; break; case 11: value = 0xF8; break; case 12: value = 0x72; break; // C // B // A // 9 // 8 // 7 // 6 // 5 // 4 // 3 // 2 // 1 // Para el 0

112

case 13: value = 0xBC; break; case 14: value = 0xF2; break; case 15: value = 0xE2; break; case 16: value = 0xFA; break; case 17: value = 0xEC; break; case 18: value = 0xB8; break; case 19: value = 0xA8; break; case 20: value = 0xDA; break; case 21: value = 0x62; break; case 22: value = 0; break; case 23: value = 0x10; break; case 24: value = 0x08; break; case 25: value = 0xB0; break; case 26: value = 0x38; break; case 27: value = 0xF0; break; case 28: value = 0xE6; break;

//

//

//

//

//

//

//

//

//

//

Espacio

//

Raya

//

//

//

//

//

} return (value); }

ESTA RUTINA FUE REALIZADA PARA PASAR EL VALOR DE 8 BITS DEL CONVERSOR A UN VALOR DE TEMPERATURA CENTIGRADA. TEMPERATURA(C) = analogo*90/255 = analogo*0.353

113

TEMPERATURA(F) = 1.8(analogo*0.353) + 32

void multiplicacion(unsigned char analogo) {

int vuelta1,vuelta2; int temporal1,temporal2,uno_temp; int temporalent,temporaldec;

centenas = 0; decenas = 0; unidades = 0; decimales = 0;

if (PORTB.0 == 0) { RUTINA PARA MOSTRAR LA TEMPERATURA EN GRADOS CENTIGRADOS temporal1 = analogo/100; if (temporal1 == 0) { temporal2 = analogo/10; temporalent = analogo%10; } else { temporalent = analogo%100; temporal2 = temporalent/10;

temporalent = temporalent%10; }

temporal1 = temporal1*10; vuelta1 = temporal1 + temporal2; vuelta2 = temporalent;

temporal1 = vuelta1*3; temporal2 = vuelta1*5;

//5 //6

114

temporal2 = temporal2/10; temporaldec = vuelta1*5; //6

temporaldec = temporaldec%10; temporaldec = temporaldec*10; temporalent = temporal2+temporal1; temporal1 = vuelta2*3; vuelta1 = temporal1%10; vuelta1 = vuelta1*10; temporal1 = temporal1/10; //5

if (temporal1 > 0) { temporalent = temporalent + temporal1; }

temporaldec = temporaldec + vuelta1; temporal1 = vuelta2*5; //6

temporaldec = temporaldec + temporal1; temporal1 = temporaldec/100;

if (temporal1 > 0) { temporalent = temporalent + temporal1; temporaldec = temporaldec%100; }

centenas = temporalent/100; if (centenas > 0) { uno_temp = centenas*100; temporalent = temporalent-uno_temp; } else { centenas = 22; } decenas = temporalent/10; unidades = temporalent%10; decimales = temporaldec/10; } else

115

RUTINA PARA MOSTRAR LA TEMPERATURA EN GRADOS FARENHEIT temporal1 = analogo/100; if (temporal1 == 0) { temporal2 = analogo/10; temporalent = analogo%10; } else { temporalent = analogo%100; temporal2 = temporalent/10;

temporalent = temporalent%10; }

temporal1 = temporal1*10; vuelta1 = temporal1 + temporal2; vuelta2 = temporalent;

temporal1 = vuelta1*6; temporal2 = vuelta1*3; temporal2 = temporal2/10; temporaldec = vuelta1*3; temporaldec = temporaldec%10; temporaldec = temporaldec*10; temporalent = temporal2+temporal1; temporal1 = vuelta2*6; vuelta1 = temporal1%10; vuelta1 = vuelta1*10; temporal1 = temporal1/10;

//5 //6

//6

//5

if (temporal1 > 0) { temporalent = temporalent + temporal1; }

temporaldec = temporaldec + vuelta1;

116

temporal1 = vuelta2*3;

//6

temporaldec = temporaldec + temporal1; temporal1 = temporaldec/100;

if (temporal1 > 0) { temporalent = temporalent + temporal1; temporaldec = temporaldec%100; }

temporalent = temporalent + 32;

centenas = temporalent/100; if (centenas > 0) { uno_temp = centenas*100; temporalent = temporalent-uno_temp; } else { centenas = 22; } decenas = temporalent/10; unidades = temporalent%10; decimales = temporaldec/10;

analogo = 0; vuelta1 = 0; vuelta2 = 0; temporal1 = 0; temporal2 = 0; } RUTINA PARA REALIZAR CONVERSIN A/D unsigned char conversion(registerx canal) { int suma; Select_A2D_Ch(canal); Delay_10xUs_4MHz(20);

117

valor = ConvertAD(); return(valor);

} RUTINA REALIZADA CON CADA INTERRUPCION void __INT(void) { SaveContext(); if (INTCON.T0IF) { INTCON.T0IF = 0; contador ++; } RestoreContext(); }

#include <Ser14.lib> #include <Delay14.lib> #include <Ad14.lib>

118

APNDICE C

MANUAL PARA LA FABRICACION DE TARJETAS ELECTRONICAS

1.

INTRODUCCIN

La universidad a travs de los aos ha tenido la necesidad de adquirir equipos tiles para el desarrollo o elaboracin de prcticas de laboratorio con el fin de acercar al estudiantado ms a la realidad. En este proceso se encuentran grandes restricciones, una de ellas es el factor econmico determinado por el presupuesto.

En el mercado se pueden encontrar dispositivos de alta calidad construidos a travs de muchos aos de investigacin e inversin de capital. Con el presente proyecto, y con muchos otros, lo que se pretende es desarrollar nuevas tecnologas, mejorarlas progresivamente, y por qu no, adaptar otras ya existentes dndole un toque personal para lograr la economa.

En este proyecto se desarrollaron tarjetas para sensores de flujo y de temperatura; dichas tarjetas se pueden mandar a fabricar, pero el costo es bastante alto. Por tanto, este manual est enfocado a motivar a los estudiantes para que se introduzcan en el amplio mundo de la electrnica , y por supuesto, proporcionar ideas de cmo fabricar tarjetas que funcionen aceptablemente (siempre que sea viable) evitando tener que realizar trabajos costosos por fuera de la universidad.

119

2.

TEORA BSICA

Con el fin de hacer una induccin en el tema de la electrnica, es necesario mencionar una teora bsica para aquellas personas que les gustara ingresar a este mundo, pero que no saben por donde empezar. Entre los conceptos bsicos estn:

Materia: todo lo que se ve a nuestro alrededor est hecho de materia. El escritorio, el lapicero, el papel, el agua, etc. La materia es algo que tiene masa y ocupa espacio. Se puede encontrar en tres estados: slido, gaseoso y lquido.

Elementos: la materia est hecha de elementos, las cuales son sustancias que se encuentran normalmente en el universo, tales como: carbono, oxgeno, plata, oro, etc.

tomos: cada elemento est hecho de tomos. Estos ltimos poseen un corazn central llamado ncleo, lleno con partculas cargadas positivamente conocidas como protones. En las rbitas del ncleo se encuentran partculas cargadas negativamente llamadas electrones. Todos los tomos estn as constituidos, sin importar si conforman un ncleo como el hidrgeno o el oro. La nica diferencia importante, es el nmero de electrones y protones que posee cada tomo, ver figura 2.1.

Figura 2.1

120

Los tres conceptos anteriores se tocaron muy someramente y pueden parecer irrelevantes, pero si se analiza uno de los componentes que revolucion la electrnica, es decir el transistor, se puede constatar que ste est fabricado a base de elementos llamados semiconductores (silicio,

germanio); estos ltimos, estn compuestos por neutrones, protones y electrones (de electrn viene el nombre de electrnica). Los grandes inventores han llegado a la conclusin que del conocimiento de las pequeas cosas surgen las grandes ideas.

2.1 LOS ELECTRONES Y LA CORRIENTE ELCTRICA

Por definicin, la electrnica es la parte de la fsica que estudia el movimiento de los electrones. La corriente electrnica es el movimiento de millones de electrones a travs de un conductor (cable). Cuando usted conecta una batera a una bombilla, la lmpara se ilumina, puesto que una corriente electrnica circula a travs de ella. Lo que realmente ocurre, es que en el lado negativo de la batera, usted tiene millones y millones de electrones en exceso, y en el lado positivo usted tiene un dficit o falta de ellos. Por tanto, los electrones fluyen desde el terminal negativo de la batera, al positivo (es decir, de donde hay ms electrones hacia donde hay menos), pasando a travs de la lmpara. Esto, constituye una corriente electrnica, la cual hace que se encienda la lmpara, ver figura 2.2.

Figura 2.2

121

2.2 IDENTIFICACIN DE COMPONENTES ELECTRNICOS

Ya conociendo en que consiste y como se produce la corriente, es relevante familiarizarse con cada uno de los componentes que pueden integrar un circuito electrnico. En un circuito de estos lo que se hace es combinar esos componentes, para jugar con corrientes y voltajes; en el momento en que se manipulen los tiempos de aparicin de corrientes y voltajes (como tambin su aumento o disminucin) es cuando surgen las llamadas acciones de control; estas ltimas son las responsables de que se enciendan dispositivos automticamente, entre muchas aplicaciones. De los componentes electrnicos se pueden mencionar:

Batera o pila: esta se encarga de almacenar energa elctrica, ver figura 2.3. La batera proporciona la diferencia de potencial elctrico que hace que los electrones se desplacen de un lugar a otro produciendo la corriente. Imagnese que el efecto de la batera es como la altura para que se produzca una cada de agua, si no hay diferencia de alturas, el agua permanece quieta (no hay cascada). Luego, sin este elemento, no se presenta corriente electrnica.

Apariencia

Smbolo

Figura 2.3

122

Interruptor o suiche: este dispositivo se encarga de abrir y cerrar un circuito elctrico para fluya o deje de fluir corriente en un circuito, ver figura 2.4.

Figura 2.4

Resistencia o resistor: esta se usa para limitar o controlar la corriente que fluye a travs de un circuito, presentando una oposicin o resistencia al paso de la corriente, ver figura 2.5. Esto es semejante a un carro que va a una velocidad (corriente) de 80 km/h y se choca contra una pared (resistencia). Despus del choque el carro sigue corriendo a 10 Km/h; esto quiere decir que la pared control la velocidad del auto. Luego, entre ms robusta (alta resistencia) sea la pared, menor va a ser la velocidad despus del choque.

Figura 2.5

123

Potencimetro: este es una resistencia variable, es decir, se utilizan cuando se requieren valores ms precisos de resistencias, ver figura 2.6.

Figura 2.6

Fotocelda: esta es un tipo especial de resistencia que vara de acuerdo con la intensidad de la luz que incida en su superficie, ver figura 2.7.

Figura 2.7

124

Capacitor o condensador de cermica: este acta como una batera temporal, pues almacena electricidad. Los de cermica almacenan pequeas cantidades de electricidad y no tienen polaridad (es decir, no importa el sentido en que se conecten), ver figura 2.8.

Apariencia

Smbolo

Figura 2.8
Capacitor o condensador electroltico: estos almacenan cantidades

relativamente grandes de electricidad. Estos si poseen polaridad, lo que significa que tienen un terminal positivo y uno negativo, por ende, se debe tener cuidado al conectarlos en un circuito (instalarlo en la posicin correcta), ver figura 2.9.

Figura 2.9

125

Diodo: este es un dispositivo que permite el paso de corriente solo en una direccin. Este se puede comparar con una calle de una sola va, o una vlvula cheque. Posee dos terminales: uno es el nodo (terminal +) y el otro es el ctodo(terminal -). El ctodo se indica con una banda que rodea el cuerpo del diodo, ver figura 2.10.

Figura 2.10
Diodo emisor de luz (LED): este es una clase especial de diodo que emite luz cuando fluye una corriente a travs de l. Tiene dos terminales: nodo y ctodo, ver figura 2.11.

Figura 2.11

126

SCR: este permite el paso de corriente, solo si se le aplica un voltaje positivo a uno de sus terminales llamado puerta o gate. Posee tres terminales: nodo, ctodo y gate, ver figura 2.12.

Figura 2.12
Transistor: este es utilizado para conmutar y para amplificar electricidad. Tiene tres terminales: base, colector y emisor. De acuerdo con su fabricacin los hay: NPN y PNP, ver figura 2.13.

Apariencia

Smbolo

Figura 2.13

Circuito integrado: este contiene muchos componentes (transistores, diodos, resistencias, condensadores etc) colocados dentro de un paquete muy pequeo llamado chip. Cada clase de circuitos integrados, efecta una funcin

127

distinta de acuerdo con los componentes que posea y a la forma como estn conectados con otros componentes. Estos dispositivos revolucionaron la electrnica ya que uno o varios circuitos complejos pueden ser condensados en un solo chip, ver figura 2.14.

Figura 2.14

Parlante: su propsito es producir sonido, convirtiendo la corriente que fluye a travs de l, en ondas sonoras. Se puede usar como micrfono convirtiendo las ondas sonoras en corriente, ver figura 2.15.

Apariencia

Smbolo

Figura 2.15

128

2.3 USO DE LA TABLA DE CONEXIONES SIN SOLDADURA (protoboard)

Este es un dispositivo que permite ensamblar circuitos electrnicos sin uso de soldadura. Esto hace posible conexiones rpidas y fciles, y es til para experimentos puesto que permite el montaje y desmontaje de componentes sin ningn problema. sta es usada por principiantes y cientficos. En la figura 2.16 se puede observar que la protoboard tiene muchos orificios pequeos en cada tramo. Cada orificio aloja un terminal de un componente o un cable. Todos los cinco huecos en cada grupo vertical o juego, estn interconectados. As que cada grupo vertical est en contacto. Dos o ms cables o terminales conectados en alguno de los 5 huecos, se conectar o estar en contacto con el otro. Hay 60 juego de huecos, ver figura 2.17.

Figura 2.16

Figura 2.17

129

Un canal central separa o divide la tabla en mitades. Los circuitos integrados son conectados a travs del canal. Sobre la protoboard hay impresos nmeros y letras para ayudar con la identificacin de cada orificio durante el proceso de ensamble, ver figura 2.18.

Figura 2.18
Para entender ms acerca del manejo de la protoboard imagnese que desea conectar una pila, una resistencia y un led en serie. En la figura 2.19 aparece el diagrama esquemtico, en la figura 2.20 aparece el diagrama de conexiones al aire y en la figura 2.21 aparece el diagrama de conexiones sobre la protoboard; observe la diferencia y sus ventajas.

Figura 2.19

130

Figura 2.20

Figura 2.21

131

3. INDUCCIN A LOS MICROCONTROLADORES En el captulo anterior se proporcion una teora bsica sobre principios y

componentes electrnicos. En esta seccin se pretende dar una induccin acerca de los microcontroladores (este est contenido dentro de la familia de chips y se pueden programar). Juegan un papel importante en el diseo y construccin de tarjetas inteligentes, tales como: tarjetas receptoras de seales anlogas de temperatura, presin etc; tarjetas transmisoras de seales de control, o tarjetas que realizan las dos tareas anteriores, y mucho ms. Como se puede apreciar, estos pequeos integrados son unas computadoras condensadas.

En el mercado se pueden encontrar diferentes tipos de microcontroladores de todas las marcas y complejidad. Para entrar a conocer un poco sobre estos dispositivos se tomar como base el microcontrolador PIC16F84 (PIC significa Controlador de Interface Perifrico) es bastante sencillo y permite una familiarizacin rpida. Este ltimo punto es muy importante, ya que hay microcontroladores de gran complejidad que en primera instancia podran desmotivar a la persona que intentara manipularlo. Siempre es mejor ir de lo sencillo a lo complejo.

Hay dos familias de microcontroladores: los de memoria EPROM y los de memoria FLASH. La diferencia es que los primeros para reprogramarlos se hace necesario borrarlos con luz ultravioleta (requiere un dispositivo para borrado ultravioleta), mientras que la segunda familia se borra con pulsos elctricos (enviados por software).

132

3.1 TERMINOLOGA BSICA Para entrar a conocer progresivamente los PIC, es necesario mencionar cierta terminologa: Pin: cada una de las patas de sostn del chip. El nmero de estos depende del tamao y complejidad del encapsulado. Oscilador (reloj): configuracin electrnica que permite enviar un tren de pulsos al PIC a una determinada frecuencia. Los hay: RC (resistencia condensador), XT (cristal) , etc. Este es til para la ejecucin de cada instruccin del algoritmo de programacin del PIC. Cristal: fragmento de cuarzo encapsulado en cuerpo metlico que enva un tren de pulsos a determinada frecuencia de alta precisin (ms preciso que el RC). Puerto: conjunto de lneas que pueden ser configuradas como entrada o como salida, es decir, para recibir o para enviar seales, respectivamente. Los puertos son el puente entre el microcontrolador y el exterior. Lnea: pin que hace parte de un puerto. Interrupcin: cambio de tarea en un algoritmo, provocado por la ejecucin de un evento especial. Evento: accin provocada por un agente externo o interno al PIC. Este chip maneja cuatro tipo de eventos asociado a interrupciones. Hay PICs que traen hasta 13 tipos de eventos. Memoria voltil: es aquella que se borra cuando no se encuentra alimentado el chip. Memoria EEPROM (diferente a la EPROM): esta permite guardar informacin incluso si se quita la alimentacin. Registro: posicin de memoria para guardar informacin valiosa. Est conformado por 8 bits.

133

Bit: memoria individual que almacena un alto o bajo (referido a los voltajes usados para representar nmeros binarios, es decir, 5 voltios = alto (1), 0 voltios = bajo (0)). Reset: accin con la que se obliga al PIC a comenzar nuevamente el algoritmo de programacin. Arquitectura: esto se refiere a los bloques funcionales internos que conforman el microcontrolador y la forma en que estn conectados. Memoria de datos: es aquella donde aparecen los registros de propsito general (para guardar datos valiosos mientras se ejecutan lneas de cdigo) y registros de funciones especiales (guardan datos de configuracin, por ejemplo: la configuracin de los puertos, como entrada o salida, etc). Este PIC tiene adems un tipo de memoria destinada a guardar datos EEPROM. Memoria de programa: es donde se encuentran guardadas las lneas de cdigo. Bus: es un conjunto de lneas que transportan informacin entre dos o ms mdulos. Mdulo: bloque que realiza una tarea dentro de la arquitectura general del PIC.

3.2 CONSTITUCIN DE UN MICROCONTROLADOR

Este microcontrolador est fabricado con tecnologa CMOS, tiene un consumo bajo de potencia, y adems, es completamente esttico, es decir, que el reloj puede detenerse (esto es diferente a quitar la alimentacin) y los datos de la memoria no se pierden. La configuracin de los pines puede apreciarse en la figura 3.1.

134

Figura 3.1
Al PIC16F84 se le pone un reloj de 4 MHz (puede ser de otra frecuencia) para mayor facilidad. El reloj manda pulsos cuadrados al PIC, este ltimo los recibe, y por cada 4 pulsos recibidos ejecuta una lnea de cdigo. As:

Fejec = Freloj / 4

De donde: Freloj = es la frecuencia del reloj seleccionado Fejec = es la frecuencia de ejecucin de las lneas de cdigo

Tejec = 1 / Fejec

De donde: Tejec = es el tiempo que demora la ejecucin de cada lnea de cdigo

Por ejemplo: si se tiene un reloj de 4 MHz Cunto demora ejecutndose cada lnea de cdigo ?

135

Fejec = 4 000 000 Hz / 4 = 1 000 000 Hz Tejec = 1 / 1 000 000 Hz = 1 x 10 E 6 seg = 1Seg

Esto quiere decir que cada lnea de cdigo se demora 1 millonsima de segundo, un tiempo bastante pequeo. Aqu radica la importancia de estos chips programables, es decir, realizan tareas sumamente rpidas que ningn humano podra reemplazar; por tal motivo se usan como dispositivos de control. Para funcionar, como se dijo anteriormente, necesita de un oscilador. Este se conecta como se muestra en la figura 3.2.

Figura 3.2
Este posee dos puertos: el A con 5 lneas (RA0 RA4) y el B con 8 lneas (RB0 RB7). Cada pin de los puertos puede proporcionar por si slo 25 mA y puede recibir 20 mA. Estos valores tienen que respetarse para evitar daos internos, ver figura 3.3

136

Figura 3.3 Hay veces en que se necesita reiniciar el programa del PIC, para tal operacin se debe resetear (hacer reset) mandando a bajo voltaje el pin llamado MCLR (master clear), ver figura 3.4.

Figura 3.4 El PIC durante la ejecucin de instrucciones est realizando una cantidad de operaciones inimaginables que son una realidad debido a la arquitectura general; en ella aparecen la conexin de puertos, las memorias de datos y de programa, bloques especiales, temporizadores de arranque, el oscilador, etc.

137

Todos los elementos se conectan entre si por medio de buses, ver figura 3.5.

Figura 3.5

138

El esquema de la memoria de programa, mostrado en la figura 3.6, tiene una capacidad para 1Kbyte (1024 lneas de cdigo), y es de tipo FLASH. Esta se puede direccionar desde la posicin 0000h hasta 03FFh, y adems de memorizar las lneas de cdigo, es til para guardar gran cantidad de constantes con el fin de reservar la memoria de datos que son bastante valiosas en la ejecucin del programa.

Figura 3.6
En la memoria de programa aparecen dos vectores: el de reset y el de interrupcin. El primero es apuntado cada vez que se resetea el PIC y el segundo, cuando ocurre una interrupcin; en este ltimo, debe aparecer la etiqueta hacia donde debe dirigirse para ejecutar la rutina de interrupcin.

139

El esquema de la memoria de datos, mostrado en la figura 3.7, tiene una capacidad para direccionar 128 posiciones (aunque slo aparecen 80

implementadas), de las cuales 12 son

registros que cumplen un propsito

especial en el control del PIC y los otros 68 son registros de uso general en el que se pueden guardar datos temporales. Cada registro especial tiene sus correspondientes bits que realizan tareas distintas.

Figura 3.7
Se puede mencionar someramente lo que contiene cada registro especial para lograr mayor motivacin en las personas, as: TMR0: registro que se va incrementando o decrementando (se configura a voluntad) con la ejecucin de determinado nmero lneas de cdigo, la cual depende del preescalador (este determina si el TMR0 cambia cada 2, 4, 8,....,256 lneas de cdigo ejecutadas).

140

PCL: este pertenece al contador de programa y determina la posicin de la lnea de cdigo, en la memoria de programa, que actualmente se est ejecutando.

STATUS: este contiene el estado aritmtico de la ALU (Unidad Lgica Aritmtica), la causa del reset y los bits de proteccin de pgina para la memoria de datos.

FSR: con este se trabajan apuntadores. PORTA y PORTB: estos guardan el estado actual (bajo o alto) de las lneas del puerto A y B, respectivamente. EEDATA: este almacena el dato ledo o escrito en la memoria de datos EEPROM. EEADR: esta almacena la posicin sobre la que se va a leer o escribir en la memoria de datos EEPROM. INTCON: este se encarga de decir cuales interrupciones se van a habilitar e informar en que momento han ocurrido. OPTION: este determina el tipo de preescalador a utilizar y los flancos (bajada o subida) para seales externas respecto al llenado del TMR0. TRISA y TRISB: estos guardan el estado de la configuracin de los puertos A y B (entrada o salida), respectivamente.

Cuando ya se tiene claro lo que se quiere hacer en el programa, se empieza a escribir en el software compilador, en el cual se crea un proyecto para simular y verificar la lgica del algoritmo (para saber si va a funcionar en la realidad). El compilador utilizado es el MPLAB de MICROCHIP (encontrado ,con manuales, en el laboratorio de microprocesadores, Universidad Nacional). Para familiarizarse con el manejo de este software, se debe consultar el texto principal de la tesis: DISEO Y CONSTRUCCIN DE MEDIDORES DE FLUJO DE LQUIDOS Y SENSORES DE TEMPERATURA CON SALIDA DIGITAL.

141

Sera intil extender las explicaciones acerca de todo lo que se puede hacer con el PIC y cual es su constitucin completa. Por ende, si se quiere conocer exhaustivamente todo sobre este PIC, o sobre otro en especial, se recomienda visitar la pgina www.microchip.com en donde se podr obtener toda la informacin pertinente.

142

4. FABRICACIN DE TARJETAS ELECTRNICAS ( Circuitos impresos )

Vista ya la teora bsica y algunas aplicaciones dentro de la electrnica, es sabido que como paso siguiente a la seleccin del circuito deseado es la conexin de elementos en una protoboard; esto con el fin de observar su funcionamiento y prever futuros cambios. La protoboard (llamada tambin tabla de conexin sin soldadura) ofrece grandes ventaja en circuitos susceptibles de cambios, pero para aplicaciones definitivas presenta una restriccin, ya que sus elementos quedan expuestos a las manos de personas inescrupulosas que terminan por averiar parcial o totalmente (en caso de no existir diagramas esquemticos) la aplicacin. Con el fin de suplir tales necesidades se recurre a los circuitos impresos (aplicado en las tarjetas electrnicas) la cual estn diseados para fijar elementos por medio de soldadura (en este caso se usa estao).

CIRCUITOS IMPRESOS

Son lneas metlicas fijadas en un material llamado baquelita que forma, a travs de uniones, las llamadas lneas de circuitos de la aplicacin. La elaboracin de estas lneas son ms exigentes que en la protoboard, ya que aqu no estn permitidas la sobre posicin de lneas (puentes de cables) y mucho menos la modificacin del circuito; esto porque el diagrama obtenido no se puede cambiar por ningn motivo, a menos que se imprima nuevamente el circuito.

143

CONCEPTOS BSICOS

Para comenzar, es necesario exponer algunos conceptos bsicos para entender mejor lo que se va a hacer. Baquelita: placa de resina sinttica obtenida por condensacin de un fenol en presencia de formol. Sobre esta se pone una capa de cobre con la que se hacen las lneas del circuito. Estas placas pueden ser de dos tipos: Perforada: en esta se hacen lneas semejantes a la de las protoboard para unir con soldadura. En esta se permite la realizacin de puentes y futuras modificaciones. La desventaja es que el circuito al igual que en la protoboard tiende a quedar desordenado. Virgen: esta viene totalmente cubierta en cobre y mediante procesos qumicos u pticos se imprime el circuito. Esta no permite

modificaciones, pero el circuito que mucho ms presentable y ordenado. Para nuestras aplicaciones se usar este tipo. Percloruro frrico: xido de hierro utilizado para realizar el ataque qumico a la capa de cobre de la baquelita. Esta es la solucin de ataque. Tinta indeleble: tinta usada para proteger las lneas de circuito del ataque qumico. Acetato: material plstico en el que se hace la primera impresin del circuito. Sobre ste se adhiere la tinta de la fotocopiadora, la cual es un polvillo derretido por calor. Plancha: dispositivo usado para calentar los acetatos. Circuito base: dibujo del circuito realizado manualmente, por medio de instrumentos o con software especializado. La forma como se realice este no es muy importante siempre y cuando se haga claro. No se menciona un software en especial para realizarlo, ya que cada da sale uno nuevo, pero entre ellos estn: Eagle, AutoCad, Winboard, etc.

144

Choque trmico: diferencial de temperatura aplicado para desprender la tinta del acetato y provocar su adherencia a la capa de cobre de la baquelita.

PROCEDIMIENTO

Para empezar, se debe realizar el circuito base, la cual contiene todas las conexiones hechas en la protoboard, pero en forma ordenada. Este debe ser revisado minuciosamente con el fin de evitar futuros errores, o en el mejor de los casos, perfeccionarlo, ver figura 4.1.

Circuito

Hoja

Figura 4.1 Obtenido el circuito base revisado, se procede a imprimirlo en un acetato. Este proceso se realiza aprovechando las ventajas obtenidas al sacar las fotocopias; esta viene en polvo, y por medio de calentamiento, se derrite y se pega en el acetato. Algo semejante se har con la plancha, ms adelante.

Debido a que las primeras impresiones en la baquelita seguramente no saldrn bien, mientras se aprende, se recomienda fotocopiar varias veces el circuito sobre

145

el acetato para aprovecharlo al mximo (para mayor economa, sobre todo si son circuitos pequeos), ver figura 4.2. Circuito base Acetato

Figura 4.2 Ahora se procede a tomar la baquelita virgen y cortarla de acuerdo con el tamao del circuito del acetato. Este paso es importante porque la solucin frrica atacar todo el cobre descubierto de la baquelita, y entre ms cobre descubierto, se requiere mayor tiempo de ataque y se presenta mayor desgaste de la solucin.

La placa se puede cortar con un bistur comn hacindole varias pasadas, y posteriormente doblndola sobre una superficie plana, ver figura 4.3. Placa con las dimensiones deseadas Lnea de corte Fuerza aplicada para el doblez

Figura 4.3

Despus de cortada la placa, se procede a limpiarla para quitarle el mugre y la grasa que pueda tener (se debe evitar ponerle los dedos). Para tal operacin se debe usar esponjilla metlica fina y jabn de loza.

146

Ahora se debe tomar una mesa totalmente plana y cmoda a la estatura del operador; ubquela cerca de un grifo que suministre agua para hacer el choque trmico en el momento preciso. Tome la baquelita y ubquela sobre la mesa con la capa de cobre hacia arriba, ver figura 4.4.

Capa de cobre Placa de baquelita

Figura 4.4

Sobre la capa de cobre ubique el acetato con la tinta en contacto con el cobre.

Ponga sobre la placa y el acetato una toalla gruesa o material que permita transferencia de calor de la plancha a la baquelita y que proteja el acetato del calor, ver figura 4.5.

147

Toalla gruesa Acetato Placa de baquelita

Mesa

Figura 4.5 Empiece a calentar el conjunto anterior con la plancha (al mximo) por espacio de 10 minutos, procurando pasarla por toda el rea, ver figura 4.6.

Plancha

Acetato

Toalla Baquelita

Mesa

Figura 4.6 Despus del tiempo estipulado, retire la plancha y la toalla. Enseguida, tome la placa y el acetato, pegados, y pngalos debajo del chorro de agua para provocar el choque trmico, esto har que la tinta se desprenda del acetato y se pegue en la baquelita. En caso de no haber un grifo cercano, deposite la placa y el acetato en un platn con agua para provocar el mismo choque.

148

Desprenda el acetato y verifique el estado de la tinta que qued sobre la baquelita. Si qued totalmente continua, este proceso ha finalizado sino repita todas las operaciones anteriores. Si se observan unas pocas lneas discontinuas, stas se pueden rellenar con marcador de tinta indeleble, con el fin de evitar repetir los procesos anteriores. Ahora, tome el agua tibia (40 C) y eche la solucin de percloruro frrico (una bolsita estndar por litro de agua) y disulvala bien. Meta totalmente la baquelita en la solucin de ataque y muvalo constantemente hasta que observe que las capas de cobre, excepto las del circuito, hayan desaparecido totalmente, ver figura 4.7.

Baquelita (Contiene circuito adherido en tinta indeleble) Solucin de ataque (Percloruro frrico)

Figura 4.7

Cuando finalice el ataque, tome la esponjilla metlica y raspe para quitar la tinta que qued sobre el circuito. Despus de este paso se observar el circuito de la aplicacin totalmente impreso en cobre.

Por ltimo, proceda a perforar los agujeros pertinentes para finalmente soldar los elementos del circuito.

149

5. APLICACIN PRACTICA

En los captulos anteriores se trataron conceptos bsicos de electrnica; adems, se explic lo que era una tarjeta electrnica y las ventajas que se obtienen al construirla. Tambin, se toc tangencialmente el tema de los microcontroladores PIC a manera de induccin: su arquitectura y su aplicabilidad. En este captulo, se pretende reunir todos esos conceptos con el fin de realizar una aplicacin prctica.

En la siguiente seccin se plantear un problema para resolverlo paso a paso.

5.1 Planteamiento de un problema

Se necesita tomar temperaturas en diferentes puntos de un intercambiador de calor (dispositivo que permite la transferencia de calor de un fluido a otro). Este dispositivo maneja temperaturas en el rango de 15 (temperatura ambiente C promedio de Bogot) y 95 Los valores de las temp eraturas deben ser enviadas C. a un computador, y este ltimo, debe realizar un algoritmo para finalmente retornar una seal que permita cerrar o abrir una vlvula que controle el paso de agua caliente (fluido que transfiere el calor). Esto con el fin de que la transferencia de calor se realice cumpliendo con las exigencias de temperatura del agua fra (fluido que recibe el calor), una de ellas es el caudal que se est manejando.

En un sistema de este tipo, primordialmente se deben sensar (tomar la lectura) cuatro temperaturas, ver figura 5.1. Con estos valores, y con otros de caudal y de geometra, se puede realizar el estudio del intercambiador de calor, es decir, analizar como es su eficiencia.

150

Intercambiador de Calor TEntFra TEntCal

TSalCal

TSalFra

Figura 5.1 TEntFra = Temperatura de entrada del agua fra TSalFra = Temperatura de salida del agua fra TEntCal = Temperatura de entrada del agua caliente TSalCal = Temperatura de salida del agua caliente

5.2 Diagrama de bloques

Estos diagramas son realizados para realizar como estn relacionadas las diferentes etapas (bloques) con las que se va a resolver el problema, ver figura 5.2. Para empezar a entender lo que en realidad se va a hacer, es importante estudiar cada bloque. El bloque del intercambiador no es necesario porque ya fue mencionado.

151

TEntFra
Intercambiador de calor

Sensor 1 Sensor 2

TSalFra TEntCal TSalCal


Sensor 4

Acondicionador de seales

Sensor 3

Sensores
Vlvula que controla el paso del agua caliente

Fuente regulada

Seal de 0 a 0.5 V

Acondicionador de la seal de control

Seal de la Interface a la vlvula (seal de control anloga). De 0 a 5 V.

Interface Intercambiador - PC

Seal del PC a la Interface (seal de control digital)

Figura 5.2

152

5.2.1 Sensores

Este est constituido por otros cuatro sub-bloques, cada uno de los cuales, se refiere a los dispositivos utilizados para pasar valores de temperatura a seales elctricas manipulables, es decir, son los transductores Temperatura-Voltaje. Los transductores usados son los LM35, la cual tienen la apariencia de un transistor, ver figura 5.3. Tienen tres pines: alimentacin, tierra y seal anloga. Esta ltima, es una seal que mantiene un valor continuo en el tiempo, presentando una gran gama de valores; contrario a la seal digital que slo presenta dos valores: alto y bajo. Por ejemplo, supngase que cuando un restato (resistencia variable ubicada, por ejemplo, para saber el nivel de apertura de una puerta) cambia de posicin, dos transductores, uno anlogo y otro digital, envan ambos una seal mxima de 2 voltios (la mnima es de 0 voltios).

LM35

Alimentacin

Tierra

Seal anloga Figura 5.3

Si se analizan los dos transductores se observar que el de tipo anlogo permite conocer con mayor exactitud la posicin de la puerta, ya que ste puede arrojar muchos valores de voltaje (asociados con la ubicacin de la puerta) entre 0 y 2 V, por ejemplo, 0 , 0.5 , 1.5 y 2 V, que quiere decir que la puerta est totalmente cerrada, abierta al 25%, abierta al 75% y totalmente abierta, respectivamente.

153

Mientras que un transductor digital slo enva 0 v o 2 V, es decir, la puerta est totalmente cerrada o totalmente abierta, ver figura 5.4.

Seal Transductor anlogo


2V 1.5 V 100% abierto 75% abierto

0.5 V 0V

25% abierto 100% cerrado

Seal Transductor digital


100% abierto

2V

On

0V

Off t Figura 5.4

100% cerrado

Como se vio anteriormente, los transductores anlogos son mucho ms ventajosos que los digitales por la gama de valores ofrecida; pero, cuando se quiere visualizar la temperatura medida en un dispositivo, el valor anlogo por s slo no se puede utilizar si no se le realizan cambios, ya que los dispositivos de visualizacin como displays, computadores, etc., reciben slo seales digitales. Es

154

por esto que surge la necesidad de expresar los valores anlogos en digitales (esto lo hacen los conversores A/D).

Un sistema siempre est restringido por las consideraciones de diseo, es decir, como se plante inicialmente el problema. El rango de trabajo est entre 15 y 95 (para esta aplicacin se pondr entre 0 y 95 C, contando que se puede C bombear agua a 0 ,y ste, debe ser tenido en cue nta para interpretar los C) resultados de la conversin A/D (Anloga a Digital). Ahora, tomando el transductor ejemplo, la cual es lineal y tiene una salida:

Voltaje = 0.0211 * Temperatura

Donde la temperatura est en grados Celsius. Es comn encontrar en los dispositivos electrnicos registros de 8 bits (visto anteriormente) y estos pueden la realizacin de 256 combinaciones de valores: de 00000000 hasta 11111111. Si se va a trabajar de 0 a 95C, se puede obtener la longitud de trabajo as: 95 0 = 95. Para hallar la precisin de la conversin A/D se hace:

Longitud de trabajo / #Combinaciones = 95 / 256 = 0.37

Lo que quiere decir que la variacin de temperatura ms pequea que puede registrar el conversor A/D es de 0.37 El transdu ctor enva la seal al conversor C. A/D para que cada uno de los posibles valores de temperatura entre 0 y 95C tenga su valor digital asociado, en la figura 5.5 se pueden ver algunos ejemplos.

155

Salida del Transductor


Seal anloga (V) C

Salida del Conversor A/D


Valor binario Valor decimal

0 0.0078 0.3158 0.9474 2

0 0.37 15 45 95

00000000 00000001 00101000 01111001 11111111

0 1 40 121 255

Figura 5.5

En la realidad, el LM35 arroja 10 mV/C (contrario al del ejemplo), trabaja entre 55C y 150C, se puede alimentar entre 4 y 30 V y su precisin es de 0.5 V. Esto ltimo quiere decir que el transductor registrar temperaturas como: 0.5, 10.5, 10, 90.5C, etc., pero nunca registrar: 10.8 ni 90.1C, etc. Si se compara el LM35 con el conversor A/D, se puede corroborar que habr combinaciones que nunca se van a registrar, por ejemplo, 0.37C, ya que el conversor A/D es capaz de hacerlo, pero la precisin del transductor no lo permite. Para esta aplicacin, el LM35 es aceptable y es barato, pero para otras, sera mejor consultar catlogos de transductores con el fin de observar toma la gama de precisiones.

Como se puede ver, el LM35, para 45C arrojar una seal de 45C*10mV/C = 450mV, en lugar de 0.9474 V (este era un ejemplo). 5.2.2 Acondicionador de seales de los transductores TemperaturaVoltaje Debido a que la seal de los LM35 est en valores muy pequeos de voltaje (mV) y debe ser enviada a un dispositivo de lectura TTL (maneja de 0 a 2V = bajo y 2.4 a 5 V = alto), sta debe ser acondicionada. Esta tarea se realiza con base en los

156

amplificadores operacionales. Estos son integrados que permiten diferentes funciones dependiendo de la configuracin utilizada entre resistencias y condensadores. Estas funciones pueden ser: amplificador inversor, no inversor, seguidor unitario, sumador, integrador, diferenciador (para mayor informacin leer cualquier libro de amplificador operacionales). Para esta aplicacin se usar la funcin de amplificador no inversor, cuya salida est en fase con la entrada y la ganancia puede ser mayor o menor que 1 (es decir, puede salir ms grande o ms pequea).

Por ejemplo, si la entrada es de 150mV y se requiere una salida de 2000mV (2 V). 2000 = (1 + Rf / R1)*150, de donde, Rf / R1 = 12.33. Esto quiere decir que la relacin entre esas dos resistencias sea de 12.33 y de esta forma la configuracin siempre amplificar 13.33 veces la seal de entrada.

En la aplicacin se debe tener cuidado que cuando la temperatura sea de 95C (mxima) el voltaje amplificado sea de 5 V (mximo), de lo contrario se daara el dispositivo de lectura TTL. Luego, Rf puede ser un potencimetro (porque se puede cuadrar a propsito) de 5k o una resistencia fija de 4K; y R1 de 1k. As: Vo = (1 + 4k/1k)*950 mv = 4750 mV 4.75 V El integrado usado es el LF347N (para mayor informacin de ste o de otro integrado consultar Manual de Reemplazos ECG). Este trae cuatro amplificadores. En la figura 5.6 aparece el diagrama esquemtico.

157

+ Vcc

LF 347N


+ R1 Rf R1

Rf

R1

Rf R1

Rf

- Vcc
Figura 5.6
Seal proveniente de los LM35 sin acondicionar Seal de los LM35 acondicionada

Lugar donde se pueden ubicar filtros para evitar el ruido (puede ser tipo RC o con amplificadores operacionales, aunque estos ltimos son complejos)

Nota: Los valores de + Vcc y Vcc dependen del tipo de amplificador utilizado. Los valores de Rf y R1 son externas al integrado.

158

5.2.3 Fuente regulada Esta es la que se encarga de alimentar todos los circuitos integrados (MAX232, amplificadores operacionales, microcontrolador, LM35, etc.) con los voltajes respectivos. Ella puede ofrecer 10, -10 y 5 V, corriente continua. El diagrama esquemtico aparece en la figura 5.7. + Vcc - Vcc

Transformador LF 317T TAB 220 + +1 F 2200 F 5 k + + 1 F + + + + 2200 F 5 k 1 F Tierra Figura 5.7 LF 347T

1 F

100 F

5.2.4 Interface Intercambiador - PC Est constituida por un microcontrolador PIC que se encarga de recibir las seales anlogas, convertirlas en digitales y enviarlas finalmente al PC (computador personal).

159

Como el microcontrolador maneja voltajes TTL ( de 0 a 5 V) y debe enviar informacin al PC (maneja voltajes RS232, de 12 a 12 V), debe utilizarse una etapa intermedia conformada por el MAX232, la cual convierte un 0 V (TTL) en un 12 V (RS232) y un 5 V (TTL) en un 12 V(RS232) para que el PC pueda entenderlo.

El conector DB9 va unido al PC. Este recibe seales digitales de temperatura del sistema y las enva al PC para alimentar el algoritmo de control.

Todo la Interface Intercambiador PC se puede ver en la figura 5.8. RXTTL = Seal TTL del PC al microcontrolador TXTTL = Seal TTL del microcontrolador al PC RX232 = Seal RS232 del PC al microcontrolador TX232 = Seal RS232 del microcontrolador al PC

Algo importante es la seal de control. Esta se obtiene de la siguiente forma: La seal que retorna el PIC es una PWM (pulso de ancho modulado) que pudo ser sustituida por un conversor D/A (contrario al conversor A/D) para retornar una seal anloga. El valor del registro PWM controla el ancho de los pulsos digitales que con por medio de una configuracin R-C se asemeja a una seal anloga, ver figura 5.9.

En el caso A, el registro se llena casi con el mximo valor, en cambio, en el caso B, es casi el valor mnimo. Si se analizan los dos casos, es los mismo que enviar seales anlogas proporcionales al ancho de pulso, entre 0 y 5 V, que es el rango de trabajo del microcontrolador.

160

Conector DB9 al PC 10 F por 5


1

5V

TX232
1 6

MAX232 5V
Entrada Seales Anlogas acondicionadas

RX232 RXTTL
1

TXTTL

5V

22 pF por Cristal XT 2 4 MHz Seal de control anloga +

Filtro

PIC 16C74B o semejante


Figura 5.8

161 Seal PWM OFF Voltaje seal anloga asociada

ON

Seal PWM

Voltaje seal anloga asociada

OFF ON

Figura 5.9

Figura 5.10

162

6. ESTRATEGIAS DE CONTROL

En el captulo anterior se mostr paso a paso como se deba armar el hardware para sensar las temperaturas y realizar acciones de control sobre la vlvula. En este captulo se pretende mencionar someramente dos estrategias de control con el fin de motivar al estudiante en esta rea.

Finalidad de una estrategia de control Cuando uno va a realizar medidas frecuentes en un proceso, es muy dispendioso poner a una persona a realizar dicha tarea. Es empricamente imposible que un ser humano est en diferentes partes, simultneamente, tomando medidas de diferentes variables, comparar los resultados, y por ltimo, manipular un accesorio para lograr estabilizar el sistema. Son en estas situaciones donde se hace indispensable tener un hardware (circuitos mostrados en el captulo anterior parte fsica) que sirva de puente para que un software (programa en el que se hace la estrategia de control parte intangible) pueda actuar sobre los accesorios que logran estabilizar el sistema en cuestin (para el caso, es la vlvula neumtica que regula el paso del agua caliente).

Hay muchas estrategias de control, pero en este caso slo se mencionarn dos: Control con redes neuronales y Control con PID.

163

6.1.1 Control con redes neuronales Este tipo de control es una emulacin del sistema cerebral de los seres humanos. Los humanos a lo largo de su existencia va recibiendo estmulos y los va guardando en los respectivos espacios de memoria. A medida que se van presentando situaciones, el cerebro, dependiendo de la cantidad de estmulos que haya recibido reaccionar ms rpido o ms lento para resolver el problema. En el control con redes neuronales se hace algo semejante, es decir, se estudia el sistema, se escoge un determinado nmero de neuronas (nodos de la red) y se le hace un entrenamiento para que reaccione de determinada forma ante ciertos estmulos.

Este sistema es un poco complejo, pero si se desea conocer ms a fondo sobre el tema, hay bastante literatura relacionada con el Control con Redes Neuronales.

En las siguientes lneas aparece como se hace en Visual Basic el software para esta estrategia de control:

DECLARACION DE LAS VARIABLES PBLICAS Y ARREGLOS '------------------------------------------------------------Public Tem Public eP Public B Public Tmax Public x Public dis Public color Public Suma Public derivada Public eOld Public e Public uTemp Public A

164

Public d Public Rango Public V1 Public V2 Public V3 Public V4 Public V5 Public V6 Dim TempV(0 To 7) As Integer Dim xlApp As Object Dim Dia As String 'Nombre de la base de datos Dim Hora As String 'Nombre de la tabla de trabajo Dim NewWs As Workspace 'Epacios de trabajo Dim NewDB As Database Dim DbOpts As Long, DbName As String Dim NewTbl As TableDef Dim Fld(1 To 12) As Field 'Campos de la tabla Dim NewDyn As Recordset Dim lll As Workspace Dim Datos(1 To 12) As String 'Datos de la comunicacin Dim Campos(1 To 12) As String

PROCEDIMIENTO PARA OCULTAR O HACER VISBLE POTENCIOMETROS '--------------------------------------------------------Private Sub cmdCalibrar_Click() If cmdCalibrar.Caption = "Calibrar" Then cmdCalibrar.Caption = "Ocultar C." For i = 0 To 6 Potenciometro(i).Visible = True Next Else cmdCalibrar.Caption = "Calibrar" For i = 0 To 6 Potenciometro(i).Visible = False Next End If End Sub

CIERRE DEL PUERTO SERIAL '--------------------------------------------------------Private Sub cmdCerrarP_Click() ' Cerrar el puerto serial MSComm1.PortOpen = False

165

End Sub

BORRADO DE CURVA ACTUAL '--------------------------------------------------------Private Sub Command1_Click() Grafica.Cls Grafica.CurrentX = t Grafica.CurrentY = txtT(4).Text Grafica.CurrentX = t

End Sub

CARGA ULTIMAS CONSTANTES DE INTERES '--------------------------------------------------------Private Sub Form_Load() txtTmuestreo_Change cmdAplicar = True Grafica.Scale (0, 70)-(1000, 0) 'Cargar ultima calibracion de los potenciometros For i = 0 To 6 Potenciometro(i) = GetSetting(App.EXEName, "Potenciometro", i,Potenciometro(i)) Next Kp = GetSetting(App.EXEName, "Constatntes", "Kp", Kp) Ki = GetSetting(App.EXEName, "Constatntes", "Ki", Ki) Kd = GetSetting(App.EXEName, "Constatntes", "Kd", Kd) maximodelta = GetSetting(App.EXEName, "Constatntes", "MaximoDelta", maximodelta) Minimo = GetSetting(App.EXEName, "Constatntes", "Minimo", Minimo)

'Nmero de caracteres a leer en cada entrada MSComm1.InputLen = 1 color = 1 eOld = 0 muestra = 0 MSComm1.CommPort = 2 MSComm1.Settings = "1200,N,8,1" End Sub

GUARDA ULTIMAS CONSTANTES DE INTERES '--------------------------------------------------------Private Sub cmdSalir_Click() For i = 0 To 6 SaveSetting App.EXEName, "Potenciometro", i, Potenciometro(i)

166

Next SaveSetting App.EXEName, "Constatntes", "Kp", Kp SaveSetting App.EXEName, "Constatntes", "Ki", Ki SaveSetting App.EXEName, "Constatntes", "Kd", Kd SaveSetting App.EXEName, "Constatntes", "MaximoDelta", maximodelta SaveSetting App.EXEName, "Constatntes", "Minimo", Minimo

Unload Me End End Sub

DIBUJA GRAFICO DE LA CAJA DE TEXTO SELECCIONADA '--------------------------------------------------------Private Sub PintarLineas() Grafica.ForeColor = vbRed For i = 1 To 7 Grafica.Line (0, 255 * i)-(200, 255 * i) Next Grafica.ForeColor = vbGreen End Sub

FIJA PARAMETROS PARA LA COMUNICACION SERIAL '--------------------------------------------------------Private Sub cmdAplicar_Click() ' Usar el puerto especificado por el usuario MSComm1.CommPort = 2 'txtPuerto.Text ' 9600 baud, no parity, 8 data, and 1 stop bit. MSComm1.Settings = "1200,N,8,1" txtBitParada.Text End Sub 'txtBaudios.Text & "," & txtParidad.Text & "," & txtBitDatos.Text & "," &

PONE EN MANUAL O AUTOMATICO '--------------------------------------------------------Private Sub cmdAutomatico_Click() If cmdAutomatico.Caption = "Automatico" Then cmdAutomatico.Caption = "Manual" MSComm1.PortOpen = True Call ciclo MSComm1.PortOpen = False Else cmdAutomatico.Caption = "Automatico"

167

End If End Sub

LLAMA EL ALGORTIMO PARA RECIBIR Y ENVIAR DATOS EN MODO MANUAL '--------------------------------------------------------Sub ciclo() While cmdAutomatico.Caption = "Manual" Call Enviar Wend End Sub

ALGORITMO PARA EMPEZAR A CREAR LA BASE DE DATOS LUEGO PROCEDE A RECIBIR Y ENVIAR DATOS '--------------------------------------------------------Private Sub cmdenviar_click() 'Abrir el puerto

CrearDB

MSComm1.PortOpen = True Call Enviar

'Cerrar el puerto MSComm1.PortOpen = False End Sub

ALGORITMO PARA RECIBIR Y CONTROLAR CON REDES NEURONALES '------------------------------------------------------Private Sub Enviar() Dim Entrada(0 To 7) As Variant Dim Nom(0 To 7) As Integer Dim Valor(0 To 7) As Integer

' Send the attention command to the modem. MSComm1.Output = Chr(RB.Text) tt = Chr(u.Text) tt = Asc(tt) MSComm1.Output = Chr(u.Text) ' Wait for data to come back to the serial port. 'Numero de canales a usar Tmax = txtTmaxima.Text

168

n=7

A PARTIR DE AQUI SE EMPIEZA A REALIZAR LA ADQUISICIN DE DATOS


Do DoEvents Loop Until MSComm1.InBufferCount >= n

For i = 0 To n V(i).Text = "" Entrada(i) = MSComm1.Input Next t=t+1 d=d+1 If t > 1000 Then

Grafica.Refresh t=0 Grafica.CurrentY = x Grafica.CurrentX = 0

End If

A=A+1 If A >= B Then A=0 GoTo Llenar End If

listo:

For i = 0 To n - 1 If Entrada(i) = "" Then V(i).Text = "0" 'El cero se aproxima Else If Potenciometro(i) = "" Or Potenciometro(i) = "-" Then Potenciometro(i) = "0" V(i) = Asc(Entrada(i)) + Potenciometro(i)

'filtro de seal If muestra < 1 Then txtT(i).Text = (V(i) * Tmax) / (255) TempV(i) = V(i) Else J = Abs(V(i) - TempV(i))

169

K = Filtro.Text 'se cambia el valor del filtro, colocando un numero entre 0 a 255 If J > 5 Then 'detecta que hay ruido y: txtT(i).Text = (TempV(i) * Tmax) / (255) Else 'No hay ruido y puede colocar el valor de V(i) en pantalla txtT(i).Text = (V(i) * Tmax) / (255) TempV(i) = V(i) End If End If End If

'TempV(i) = V(i) Nom(i) = i Valor(i) = V(i) Next i

AQUI EMPIEZA EL ALGORITMO DE CONTROL


'---------------------------------------------------------

ESTE MUESTRA EL NUMERO DE NEURONAS USADAS


V1 = R.Text V3 = V2 V2 = txtT(4).Text V6 = V5 V5 = u

B2 = (V1 - 12.3333) * 0.035294 B3 = (V2 - 9.95765) * 0.032403 B4 = (V3 - 9.95765) * 0.032403 B5 = (V5 + 62.15991) * 0.002522 B6 = (V6 + 62.15991) * 0.002522 B7 = 1 I2 = (-1) * (B2 * 1.2383 + B3 * 3.8207 + B4 * 0.27523 + B5 * -4.9377 + B6 * -2.0382 + B7 * 0.34929) I3 = (-1) * (B2 * 0.43275 + B3 * 2.4483 + B4 * 1.4683 + B5 * 5.2239 + B6 * -0.32586 + B7 * -1.6974) I4 = (-1) * (B2 * -0.87645 + B3 * 1.2681 + B4 * -0.014347 + B5 * 0.20294 + B6 * 1.11434 + B7 * 1.8012) I5 = (-1) * (B2 * 5.1108 + B3 * -3.9979 + B4 * 2.5169 + B5 * 1.8462 + B6 * -0.71331 + B7 * -3.6779) J2 = 1 / (1 + Exp(I2)) J3 = 1 / (1 + Exp(I3)) J4 = 1 / (1 + Exp(I4))

170

J5 = 1 / (1 + Exp(I5)) J6 = 1 J11 = (-1) * ((-1.6395 * J2) + 2.9752 * J3 + (-1.321 * J4) + 2.6468 * J5 + (-1.3677 * J6)) G11 = 1 / (1 + Exp(J11))

'UNEURO' ES LA SEAL DE CONTROL

Uneuro = G11 / 0.002522 - 62.15991 u = Uneuro If u > 255 Then u = 255 End If If u < 90 Then u = 90 End If

txteOld = eOld txtE = e txtsumaacum = Suma muestra = d Grafica.Line -(t, txtT(4).Text)

Exit Sub

Llenar: Asignacion Llenar_Tabla GoTo listo

End Sub

CIERRA LA BASE DE DATOS '------------------------------------------------------Private Sub SalirDB() NewDB.Close End End Sub

171

ASIGNA VALORES A MOSTRAR EN LA BASE DE DATOS '------------------------------------------------------Private Sub Asignacion()

Datos(1) = Format(Now, "h:mm:ssa/p") Datos(2) = (d) Datos(3) = (txtT(0)) Datos(4) = (txtT(1)) Datos(5) = txtT(3) Datos(6) = txtT(4) Datos(7) = u Datos(8) = e Datos(9) = derivada End Sub

Public Sub Llenar_Tabla() Dim Rst As Recordset Dim i As Integer, Msg As String Msg = DbName & ".mdb"

With NewTbl On Error GoTo cantidad Set Rst = NewDB.OpenRecordset(Hora) Rst.AddNew For i = 1 To 9 If Datos(i) = "" Then Datos(i) = "Vacio" End If Rst(Campos(i)) = Datos(i) Next i End With Rst.Update NewWs.Databases.Refresh

Exit Sub cantidad: MsgBox Err.Description Err.Clear NewWs.Databases.Refresh NewDB.Close Set NewDB = NewWs.OpenDatabase(Msg, True) Set NewDyn = NewDB.OpenRecordset(Hora)

172

End Sub

IDENTIFICA LAS COLUMNAS DE LA BASE DE DATOS '------------------------------------------------------Public Sub CrearDB() Dim Msg As String, i As Integer '****************************** Campos(1) = "Hora" Campos(2) = "muestra" Campos(3) = "Tem_Ent_Cal" Campos(4) = "Tem_Sal_cal" Campos(5) = "Tem_Ent_fra" Campos(6) = "Tem_sal_fra" Campos(7) = "salida u" Campos(8) = "error" Campos(9) = "deriv_del err"

'Sintaxis para el metodo CreateDatabase Set NewWs = DBEngine.Workspaces(0) Set lll = DBEngine.Workspaces(0) Dia = Format(Now, "mmm-dd")

Hora = Format(Now, "h:mm:ssa/p") DbName = "C:\" & Dia If Dir(DbName) = " " Then Abrir: Msg = "Abriendo" & Dia MsgBox Msg Msg = DbName & ".mdb" Set NewDB = NewWs.OpenDatabase(Msg, True) Set NewTbl = NewDB.CreateTableDef(Hora) 'Especificar el nombre, tipo, tamao con el metodo

Set Fld(1) = NewTbl.CreateField(Campos(1), dbText, 250) Set Fld(2) = NewTbl.CreateField(Campos(2), dbText, 250) Set Fld(3) = NewTbl.CreateField(Campos(3), dbText, 250) Set Fld(4) = NewTbl.CreateField(Campos(4), dbText, 250) Set Fld(5) = NewTbl.CreateField(Campos(5), dbText, 250) Set Fld(6) = NewTbl.CreateField(Campos(6), dbText, 250) Set Fld(7) = NewTbl.CreateField(Campos(7), dbText, 250) Set Fld(8) = NewTbl.CreateField(Campos(8), dbText, 250) Set Fld(9) = NewTbl.CreateField(Campos(9), dbText, 250)

173

' Set Fld(10) = NewTbl.CreateField(Campos(10), dbText, 250) ' Set Fld(11) = NewTbl.CreateField(Campos(11), dbText, 250) ' Set Fld(12) = NewTbl.CreateField(Campos(12), dbText, 250)

'Aadir campos a la definicin de la tabla mediante el metodo

For i = 1 To 9 NewTbl.Fields.Append Fld(i) Next i NewDB.TableDefs.Append NewTbl Else On Error GoTo Abrir Set NewDB = NewWs.CreateDatabase(DbName, dbLangGeneral) ', dbEncrypt) Set NewTbl = NewDB.CreateTableDef(Hora) 'Especificar el nombre, tipo, tamao con el metodo

Set Fld(1) = NewTbl.CreateField(Campos(1), dbText, 10) Set Fld(2) = NewTbl.CreateField(Campos(2), dbText, 10) Set Fld(3) = NewTbl.CreateField(Campos(3), dbText, 10) Set Fld(4) = NewTbl.CreateField(Campos(4), dbText, 10) Set Fld(5) = NewTbl.CreateField(Campos(5), dbText, 10) Set Fld(6) = NewTbl.CreateField(Campos(6), dbText, 10) Set Fld(7) = NewTbl.CreateField(Campos(7), dbText, 10) Set Fld(8) = NewTbl.CreateField(Campos(8), dbText, 10) Set Fld(9) = NewTbl.CreateField(Campos(9), dbText, 10) 'Set Fld(10) = NewTbl.CreateField(Campos(10), dbText, 10) 'Set Fld(11) = NewTbl.CreateField(Campos(11), dbText, 10) 'Set Fld(12) = NewTbl.CreateField(Campos(12), dbText, 10)

'Aadir campos a la definicin de la tabla mediante el metodo

For i = 1 To 9 NewTbl.Fields.Append Fld(i) Next i NewDB.TableDefs.Append NewTbl End If NewWs.Databases.Refresh

End Sub

Private Sub Minimo_Change()

End Sub

174

IMPIDE QUE SE EMPIECE A LLENAR LA BASE DE DATOS '------------------------------------------------------Private Sub txtTmuestreo_Change() If txtTmuestreo.Text = "0" Then B = 100000000 End If If txtTmuestreo.Text = "" Then B = 100000000 Else B = Val(txtTmuestreo.Text) End If End Sub

En el procedimiento Sub_Enviar se encuentra inicialmente la parte que permite recibir los datos de las variables medidas (este es igual para el control con PID) y luego aparece un fragmento de algoritmo concerniente al Control Neuronal (este fragmento es lo que lo diferencia del Control con PID). 6.1.2 Control con PID

En este caso se sabe que si se tiene que controlar una variable se debe comparar un valor real (obtenido durante el proceso) con un valor terico (asignado desde el inicio del proceso). Mientras transcurre la operacin se presentan desviaciones (comnmente llamada errores) que deben corregirse para logra estabilizar el sistema. As, pueden surgir tres tipos de desviaciones: Proporcional, Integral y Derivativo.

Desviacin Proporcional = en este se analiza la proporcin de la desviacin. = Error actual Error anterior Ejemplo: e = (R.Text - txtT(4)) / (Rango)

Desviacin Integral = en este se analiza como se va acumulando con el tiempo el error.

175

Ejemplo: Suma = Suma + e Desviacin Derivativa = en este se analiza como vara con el tiempo el error.

Ejemplo:

derivada = (e - eOld)

El algoritmo que realiza el control con PID, es el mismo que para Redes Neuronales, excepto por el correspondiente fragmento azul (aqu tambin se puso en azul para indicar que es lo que se tiene que sustituir).
If Max.Text = "" Then Max = 45 If Min.Text = "" Then Min = 15

Rango = Max - Min eOld = e e = (R.Text - txtT(4)) / (Rango) Suma = Suma + e derivada = (e - eOld) uTemp = Kp * e + Ki * Suma + Kd * derivada u = uTemp * 255 If u > 255 Then u = 255 End If If u < 90 Then u = 90 End If

Para lograr mayor familiarizacin con este proceso se pueden consultar libros de control, la cual son numerosos. Adems, se puede consultar la tesis: DISEO Y CONSTRUCCIN DE UN INTERCAMBIADOR DE CALOR DE PLACAS PARALELAS. De esta manera se logra un acercamiento bastante bueno con la realidad.

Tambin se debe consultar acerca de la programacin en Visual Basic (cualquier versin).

Potrebbero piacerti anche