proyecto final de carrera - deeea.urv.catdeeea.urv.cat/public/propostes/pub/pdf/463pub.pdf · de...

130
PROYECTO FINAL DE CARRERA Desarrollo de un sistema integrado para el control de temperatura de trabajo de agrupaciones integradas de microsensores Titulació: Enginyeria Tècnica Industrial en Electrònica Industrial AUTOR: Rubén Folch Fernández. DIRECTOR: Eduard Llobet Valero. FECHA: Junio/2005.

Upload: vokhue

Post on 01-Oct-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

PROYECTO FINAL DE CARRERA

Desarrollo de un sistema integrado para el control de temperatura de trabajo de agrupaciones integradas de

microsensores Titulació: Enginyeria Tècnica Industrial en Electrònica Industrial

AUTOR: Rubén Folch Fernández.

DIRECTOR: Eduard Llobet Valero.

FECHA: Junio/2005.

Page 2: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Índice

1 Introducción 1.1-Objeto del proyecto...................................................................................... 1 1.2-Antecedentes................................................................................................. 1 1.3-Perfil de requerimientos .............................................................................. 2

1.4-Soluciones ..................................................................................................... 2 1.5-Descripción de los elementos sensores......................................................... 4

1.5.1-Principio de funcionamiento..................................................................... 4

1.5.2-Fabricación del sensor micro-hotplate ..................................................... 6

1.5.3-Deposición de la película activa ................................................................ 7

1.5.4-Modelo eléctrico/electrónico ..................................................................... 8

2 Descripción del equipo 2.1-Generalidades............................................................................................. 10 2.2-Modos de funcionamiento.......................................................................... 11 2.3-Herramientas utilizadas............................................................................. 11 3 Hardware 3.1-Placa Base................................................................................................... 13

3.1.1-Microcontrolador PIC16F876 ................................................................ 13 3.1.2-Alimentación ........................................................................................... 16 3.1.3-Filtro de Butterworth ............................................................................... 17 3.1.4-Comunicación UART.............................................................................. 21 3.1.5-Zócalos de bus ISA.................................................................................. 23 3.1.6-Sensores y adquisición de datos.............................................................. 25 3.1.6.1-Sensores .......................................................................................... 25 3.1.6.2-Adquisición de datos....................................................................... 25

Page 3: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

3.2-Lazos de control ......................................................................................... 27 3.2.1-Diagrama de bloques............................................................................... 28 3.2.2-Fuente de corriente Howland .................................................................. 28 3.2.3-Captación de señal................................................................................... 33 3.2.3.1-Captación de la intensidad de heater............................................. 33

3.2.3.1-Captación de la tensión de heater................................................... 36 4 Software 4.1-Software PC................................................................................................ 39

4.1.1-Modo de funcionamiento «continuo» ..................................................... 41 4.1.2- Modo de funcionamiento «incremental» ............................................... 44 4.1.3-Configuración del puerto serie ............................................................... 45 4.1.4-Menú de ayuda ........................................................................................ 48

4.2-Software PIC16F876 .................................................................................. 49

4.2.1-Software microcontrolador master ......................................................... 49

4.2.1.1-Inicializaciones................................................................................ 50

4.2.1.2-Interrupción de transmisión .......................................................... 52

4.2.1.2-Interrupción del RTCC.................................................................. 54 4.2.2-Software microcontroladores esclavos.................................................... 56 4.2.2.1-Inicializaciones................................................................................ 56 4.2.2.2-Lazo de control ............................................................................... 59 5 Comprobación de funcionamiento 5.1-Puntos de medida ....................................................................................... 65 5.2-Resultados .................................................................................................. 67 5.3-Conclusiones............................................................................................... 68

Page 4: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

6 Planos 6.1- Lay-out de la Placa Base............................................................................ 70 6.2- Rutado de pistas (cara de arriba) de la Placa Base.................................. 71 6.3- Rutado de pistas (cara de abajo) de la Placa Base................................... 72 6.4- Cara de componentes de la Placa Base..................................................... 73 6.5- Lay-out de la tarjeta de los Lazos de Control........................................... 74 6.6- Rutado de pistas (cara de arriba) de la tarjeta de control....................... 75 6.7- Rutado de pistas (cara de abajo) de la tarjeta de control ........................ 76 6.8- Cara de componentes de la tarjeta de control.......................................... 77 6.9- Plano constructivo de la cámara de acero ................................................ 78 7 Presupuesto 7.1-Placa Base................................................................................................... 79 7.2-Tarjetas de control ..................................................................................... 82 7.2.1- Tarjeta de control para sensores de capa fina....................................... 82 7.2.2- Tarjeta de control para sensores de capa gruesa .................................. 84 7.3-Mano de obra ............................................................................................. 86 7.4-Resumen del presupuesto .......................................................................... 88 8 Pliego de Condiciones 8.1-Objetivos del pliego de condiciones ........................................................... 89 8.2-Condiciones generales ................................................................................ 89 8.2.1- Condiciones legales y administrativas ................................................... 89 8.2.2- Condiciones facultativas ........................................................................ 90 8.2.3- Condiciones económicas......................................................................... 91 8.3-Condiciones de materiales y equipos ......................................................... 91 8.3.1- Descripción general del montaje............................................................ 91

Page 5: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

8.3.1.1- Conductores eléctricos................................................................... 91 8.3.1.2- Conectores ..................................................................................... 92 8.3.1.3- Resistencias fijas ............................................................................ 92

8.3.1.4- Condensadores fijos....................................................................... 92 8.3.1.5- Circuitos integrados ...................................................................... 92 8.3.1.6- Driver RS-232................................................................................. 93 8.3.1.7- Microcontrolador .......................................................................... 93 8.3.1.8- Diseño de placas de circuito impreso ............................................ 94 8.4-Condiciones de ejecución y montaje.......................................................... 95

8.4.1- Descripción general del montaje............................................................ 95

8.4.2- Fabricación de las placas de circuito impreso....................................... 95

8.4.3- Montaje de los componentes en las placas............................................. 96

8.4.4- Montaje de la caja .................................................................................. 96

8.4.5- Comprobación y ajustes......................................................................... 97 ANEXO I: Programa PC I.1-Código Menú Principal .............................................................................. 98 I.2-Código Menú para Modo de transmisión «Continuo».............................. 99 I.3-Código Menú para Modo de transmisión «Incremental» ....................... 103 I.4-Código Formulario de ayuda ................................................................... 108 I.5-Código Formulario «Sobre»..................................................................... 109 ANEXO II: Programa microcontrolador máster................................................... 110 ANEXO III: Programa microcontroladores esclavos............................................ 114 ANEXO IV: Manual de consulta rápida................................................................ 118 Bibliografía ............................................................................................................. 123

Page 6: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Introducción

1

1 Introducción 1.1-Objeto del proyecto En el Laboratorio 334 del campus Sescelades de la Universitat Rovira i Virgili se pretende diseñar y construir físicamente un prototipo de “nariz electrónica” totalmente integrado para su facilidad de manejo usando como elemento sensor dos grupos sensores de gases de tecnología micro-hotplate.

El prototipo deberá incorporar y mejorar los perfeccionamientos adoptados en otros proyectos similares, tales como el control de temperatura de la resistencia heater de dicho sensor, siguiendo una señal de consigna determinada por el usuario, tal y como se detallará más adelante, con el fin de conseguir una mejora en las mediciones de gases y evitar perturbaciones debidas a las variaciones de la temperatura ambiente en la capa activa de los sensores. 1.2-Antecedentes Los sensores micro-hotplate utilizados en este proyecto requieren una temperatura alta de trabajo, del orden de los centenares de grados centígrados, para que su sensibilidad y rendimiento sean altos. Para incrementar la temperatura hasta valores óptimos se utilizan fuentes de corriente controladas por tensión que atacan directamente la membrana de cada sensor incrementando así la temperatura de trabajo. El problema tratado en otros proyectos ha sido solucionar la fuerte dependencia que tienen dichos sensores con la temperatura de su entorno. Es decir, un cambio en la temperatura ambiente, hace variar el punto de trabajo establecido y, por lo tanto, las medidas realizadas con el mismo pueden diferir o incluso incurrir en errores. Ese problema se solucionó de manera más o menos sencilla aplicando un control de temperatura en la membrana de cada sensor. Es decir, se consignaba un punto de trabajo predeterminado y el controlador al uso debía mantener estable ese punto de trabajo aunque las variaciones de temperatura en el ambiente fuesen pronunciadas.

Se optó por un controlador digital, encabezado por un microcontrolador, ya que éste era capaz de medir la temperatura de cada membrana a través de su resistencia. Usando los módulos analógico / digital, que la mayoría de microcontroladores de gama media incorporan, se medía tensión e intensidad de la membrana y se dividían entre sí para obtener la resistencia y posteriormente la temperatura real de trabajo.

Usando el mismo método con un control analógico, aunque su coste monetario

hubiese sido seguramente menor, se hubiese necesitado un divisor analógico y la implementación del mismo se antojaba compleja. El microcontrolador, pese a la —a priori— pérdida de velocidad en el sistema, solucionaba de manera sencilla el problema del control mediante resistencia.

Asimismo, el tipo de control a implementar fue objeto de discusión. Para

comprobar la respuesta de los sensores a todos los tipos convencionales de control, se probaron controles PID (Proporcional – Integral – Derivativo), PI y P. Como el modelo frecuencial del sistema estaba establecido en un modelo de primer orden (con una

Page 7: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Introducción

2

constante de tiempo, τ, aproximada de 20 ms), los dos primeros controles mencionados parecían excesivos y se optó por un control P que finalmente resultó ser correcto y eficiente.

La modulación térmica de los sensores micro-hotplate utilizando distintos tipos

de formas de onda para mejorar su selectividad frente a diferentes tipos de volátiles también ha sido objeto de estudio en previos proyectos.

Habiéndose estudiado la selectividad de los mismos con formas de onda

triangulares, de diente de sierra, senoidales y cuadradas, son estas últimas, a frecuencias bajas (de entre 20 y 500mHz) las que presentan un mejor resultado. 1.3-Perfil de requerimientos En los proyectos anteriores que estudiaban o modelizaban el comportamiento de los sensores de gases mico-hotplate se primaba el correcto funcionamiento de los prototipos por encima de una mayor funcionalidad, desde el punto de vista del usuario, en tanto en cuanto se conformaban alrededor de una serie de interconexionados de placas y tarjetas en el momento de realizar medidas. Así pues, la construcción de un sistema sensor integrado que premiase la funcionalidad del prototipo y que incorporara las mejoras de funcionamiento diseñadas en otros proyectos, para que el usuario final obtuviera una mayor comodidad en su uso y una mejor precisión de las medidas obtenidas, se antojaba fundamental para la consecución de futuros estudios y una mayor practicidad de los mismos.

De esta manera, el proyecto requería que en una sola maqueta del prototipo

estuviera incorporado el sistema de comunicación con un ordenador personal, los lazos de control de la resistencia heater de cada sensor, los sensores propiamente dichos (incluyendo una cámara de sensores construida a tal efecto) y unos conectores específicos para la recogida de datos tales como la tensión en la resistencia heater y la tensión en la resistencia de electrodo de cada uno de los elementos sensores para su posterior análisis. 1.4-Soluciones

El presente proyecto recogerá todos los avances conseguidos por anteriores estudiantes e incorporará la creación de una consigna de temperatura pensada ex profeso para que futuros proyectos obtengan mejores resultados.

La consigna mencionada partirá de la base de que con formas de onda de tipo

cuadrado y frecuencias bajas se haya conseguido un mayor rendimiento con los sensores y optará por crear una consigna cuadrada e incremental. Es decir, estableciendo una temperatura de trabajo máxima (final) y otra mínima (inicial), incrementar la temperatura a intervalos constantes y conocidos de manera proporcional hasta llegar a la máxima especificada, incluyendo, además, que tras un aumento de temperatura se proceda a una disminución brusca de la misma hasta el primer valor. Esto se puede ver de manera sencilla en el siguiente gráfico:

Page 8: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Introducción

3

fig 1. Modelo de consigna incremental

La generación de una consigna con la forma de onda especificado no era algo trivial en primera instancia y una generación mediante elementos pasivos tales como resistencias, condensadores y activos como los amplificadores operacionales se suponía difícil. Además, como el control de temperatura de cada sensor se había establecido hacerlo con un microcontrolador, se optó desde un primer momento por generar ese tipo de señal también un microcontrolador, capaz de controlar la variación de temperatura en el momento indicado (To) así como la amplitud de la misma. En posteriores puntos de la presente memoria se profundizará en la forma de generación de la señal arriba explicitada. Por otra parte, asumiendo que los mismos microcontroladores encargados de establecer el lazo de control podrían encargarse de recibir y generar dicha señal de consigna, se optó por descartar tal solución para dotar al prototipo de una mayor modularidad: el coste añadido de un quinto microcontrolador no incrementaba demasiado el precio final del prototipo y la ventaja evidente de tener los lazos de control separados de cualquier sistema de generación de consignas, fuesen éstas cuales fuesen, era una ventaja más que evidente. De esta manera, en una predecible revisión, añadiéndole algunas líneas de código del programa en el PC y otras al código de uno sólo de los microcontroladores del sistema (máster) se entraba directamente en un sistema integrado totalmente nuevo y diferente al anterior sin necesidad de hacer cambios en el hardware ni de reprogramar cuatro microcontroladores distintos que, dependiendo de la programación del lazo de control existente cabía la posibilidad de que el cambio o el revisionado no fuese posible. En resumen, la solución adoptada para construir una maqueta de control de temperatura totalmente integrada ha sido la que se puede ver en el siguiente diagrama (fig. 2):

8·To

To

Tmin

Tmax

T (ºC)

t (s)

Page 9: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Introducción

4

fig 2. Diagrama esquematizado del sistema de control de un sensor

1.5-Descripción de los elementos sensores Para una mayor comprensión y familiaridad de las expresiones y locuciones mencionadas en el presente proyecto, en este punto se hace una somera explicación de los sensores de gases utilizados en el prototipo. 1.5.1- Principio de funcionamiento Los sensores de gases utilizan óxido metálico como material sensor, normalmente SnO2. Cuando un cristal de óxido metálico como el SnO2 es calentado a una temperatura elevada, el oxigeno atmosférico es absorbido en la superficie del cristal con una carga negativa. Las cargas negativas provienen de la zona de conducción del óxido metálico. Las cargas atrapadas en la superficie generan una zona de vaciamiento alrededor de las partículas de óxido.

De este modo, en la frontera entre granos aparece una barrera de potencial que se opone al paso de cargas eléctricas, tal y como se indica en la siguiente figura:

Constantes de consigna

µC Máster

Señal de consigna ”Incremental” µC

Esclavo

Lazo de Control

Consigna

Medida Real

Excitación

Señal de consigna

“Continua”

Page 10: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Introducción

5

fig 3. Modelo de barrera de potencial en la frontera entre granos (en ausencia de gases)

La resistencia eléctrica del sensor es atribuida a esa barrera de potencial. En presencia de un gas reductor, la densidad de las cargas negativas de la superficie disminuye, así pues, la altura de la barrera en la interfaz entre-granos se reduce. La reducción de la barrera disminuye la resistencia del sensor (fig. 4):

fig 4. Modelo de barrera de potencial en la frontera entre granos

(en presencia de gases)

Page 11: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Introducción

6

La relación entre la resistencia del sensor y la concentración de gas reductor puede ser expresada por encima de un cierto rango de concentración de gas, con la siguiente ecuación empírica:

[ ] α−⋅= CARs (1) Donde se define: Rs como la Resistencia eléctrica del sensor A como una constante propia del sensor C como la concentración de gas reductor α como el factor potencial (α < 1) 1.5.2- Fabricación del micro-hotplate El integrado de micro-hotplates con series de cuatro microsensores es fabricado en obleas de doble cara pulida, con sustratos de Si tipo P <1 0 0>, de 300µm de espesor (de 4 a 40 Ω/cm). La estructura del dispositivo se compone básicamente de una capa sensible al gas, los electrodos, de capas aislantes y una calentadora de polisilicio. El proceso tecnológico de fabricación de los sensores está conformado en los nueve pasos detallados a continuación:

1- Deposición de la capa de membrana. Las membranas dieléctricas se componen por una capa de SiN4 de 0.3µm de grosor depositada por LPCVD. Cada pastilla tiene 4 membranas de 900 x 900 µm2.

2- Deposición y aplicación de un heater con forma de serpentín, de polisilicio dopado con POCI3 de 6 Ω/cuadrados de resistencia (el coeficiente de temperatura de resistividad (TCR) del polisilicio depende del nivel de dopaje y, para el nivel de dopaje aplicado fue medido un valor de 6.79 x 10-4. El heater se utiliza también como un sensor de temperatura).

3- Se deposita una capa de 0.8µm de grosor de SiO2 para asilar el heater de los electrodos y la película sensora.

4- Apertura de los contactos del heater para ser accesibles. 5- Realización de la definición de los electrodos de Pt de 0.2µm2 lift-off. Una capa

delgada (20 mm) de Ti es depositada antes del Pt para promover la adhesión del electrodo. El área del electrodo era de 400 x 400 µm2. La figura muestra el heater y la configuración de los electrodos:

Page 12: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Introducción

7

fig 5. Planta de la membrana

6- Se aplica la máscara del ataque de la cara posterior. 7- Se depone la capa sensora en el área del electrodo. 8- El silicio de la cara posterior es atacado con KOH a 70ºC (40% del peso) para

crear las membranas térmicamente aisladas. 9- Se conecta el hilo y el encapsulado. Cada pastilla se monta en un encapsulado

TO-8. Mediante una conexión con ultrasonidos se conectan los hilos de oro de 52µm de diámetro. Para prevenir una rotura de las membranas debido a la expansión del aire en la cavidad situada bajo las membranas a la hora de calentar el heater, las pastillas no son pegadas directamente a la superficie del encapsulado metálico, sino que se mantienen elevadas utilizando dos espaciadores laterales de silicio.

1.5.3- Deposición de la película activa Mientras en el proceso descrito previamente la deposición de la capa sensora es generalmente el último paso —especialmente cuando la serigrafía o las técnicas de capa de gota son utilizadas—, en este caso el serigrafiado se hace antes del ataque del silicio de la cara posterior. Este procedimiento evita dañar la membrana del sensor y así la lleva a un rendimiento excelente (alrededor del 95% de los microsensores funcionan correctamente después del corte y encapsulado). La capa sensora se compone de nanopolvo de SnO de 5µm de grosor. El espesor de la capa activa se puede controlar entre 2 y 20 micras ajustando la viscosidad de pasta orgánica, la máscara y el espesor impreso. La pasta imprimible es preparada utilizando un medio orgánico basado en terpienol. Después que el nanopolvo de óxido de estaño se mezcla con el medio, se obtiene una pasta con la viscosidad requerida (la mezcla pesa el 58% del total). La pasta se imprime en las obleas semifabricadas utilizando una máquina de alta precisión de serigrafía que permite la alineación de la máscara en una cara.

Para obtener una adherencia buena entre el sustrato y la película activa, la oblea es calentada 60ºC y, después de la impresión, las obleas se dejan reposar para recuperar la temperatura ambiente. A continuación son secadas durante 15 minutos a 125ºC para que el medio orgánico quede completamente seco y entonces pueda ser transportada a

Page 13: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Introducción

8

un horno de cinta rotativa, donde permanecerá durante una hora a una temperatura homogénea de 600ºC.

Las obleas depositadas están entonces listas para el ataque de la capa posterior,

el corte y el encapsulado. Para proteger la superficie de la capa delantera y el material sensible depositado, las obleas se cubren con un protector mecánico durante la fase de ataque posterior.

1.5.4- Modelo eléctrico/electrónico. Los sensores utilizados en el presente proyecto vienen encapsulados en un TO-8 estándar y los pines se distribuyen tal y como se indican en la figura 6 (fig. 6) donde «H» corresponde a la resistencia de heater o de “calentamiento” (Rh), «E» la resistencia de electrodo (Rs) y «C» es el común para heater y electrodo generalmente conectado a la tensión de referencia —para este proyecto y, a partir de ahora, 0v o masa—. De los cuatro sensores que encontramos en el encapsulado, dos tienen una resistencia heater, fácilmente medible con un multímetro, de 650Ω (ya que en estos la patilla entre el polisilicio y el contacto es más larga) y los otros dos tienen una resistencia heater de 550Ω. Durante la realización de este proyecto y de manera paralela, la disposición de pines del grupo sensor micro-hotplate de membranas de 650 y 550 ohmios respectivamente fue modificada en fábrica obteniéndose un pinaje distinto para un mismo grupo sensor. El presente proyecto se ha realizado con la disposición de pines antigua, aunque en el momento de diseñar el circuito, previendo un futuro montaje, la nueva configuración se ha tenido en cuenta en un diseño alternativo (ver sección 6: Planos).

fig 6. Planta de la membrana con el patillaje usado en este proyecto y disposición de los sensores

Page 14: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Introducción

9

El esquema de funcionamiento de los sensores se fundamenta en el esquema eléctrico mostrado en la figura 7 (fig. 7) de donde sólo se conoce el valor de Rh a temperatura ambiente.

fig 7. Modelo eléctrico

La relación entre la Temperatura de trabajo y la Resistencia de heater se dirime según la expresión (2):

( ) ( )[ ]ooh TTRTR −⋅⋅+⋅= −41079,61 (2)

Donde queda definido: Rh(T) como la resistencia heater a temperatura de trabajo determinada.

Ro como la resistencia heater a temperatura ambiente (de aquí en adelante se suponen 25ºC).

6.79·10-4 como valor del coeficiente de temperatura de resistividad del polisilicio.

To como la temperatura ambiente propiamente dicha en ºC. T como la temperatura de trabajo. En este proyecto, por especificación de diseño, se escoge que la temperatura de

trabajo elegida por el usuario oscile en un rango comprendido entre 250 y 450 ºC, ambos inclusive.

Page 15: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Descripción del equipo

10

2 Descripción del equipo 2.1-Generalidades Todo el diseño de este proyecto se mueve alrededor de las posibilidades que ofrecen los microcontroladores PIC como elementos de comunicación entre otros integrados y/o microcontroladores, y el control de los dispositivos finales (sensores). El proyecto necesitaba de un microcontrolador con grandes y variopintas prestaciones y, dada su versatilidad y disposición en el mercado, se escogió el PIC16F876.

Los objetivos principales de este proyecto son el control de la temperatura de la resistencia de heater de los sensores mencionados en puntos anteriores (para lo cual será necesario adquirir la intensidad y tensión de la resistencia heater, respectivamente) y la comunicación entre un ordenador personal y el microcontrolador para que el usuario pueda tener un control directo sobre el prototipo.

Para ambos efectos, es necesario que el usuario pueda disponer de una

configuración que le permita escoger la o las temperaturas de trabajo de manera totalmente arbitraria según sus necesidades o las de su estudio. Esa información será enviada al microcontrolador encargado de generar la señal de consigna adecuada, utilizando una comunicación serie asíncrona de protocolo estándar RS-232. Para adaptar las tensiones propias de este protocolo (+12v/-12v) a las señales TTL que requiere el microcontrolador (0/+5v), se utilizará un integrado MAX232 que se usará como interficie entre ambas partes.

Una vez el microcontrolador encargado de generar la consigna haya obtenido los

valores indicados por el usuario, éste se encargará de crear los valores adecuados de consigna mediante la utilización de su módulo PWM (Pulse Width Modulation).

El módulo PWM proporcionará un pulso rectangular con un valor medio de

tensión muy próximo proporcionalmente a la temperatura de trabajo deseada en cada momento. Con un posterior filtrado, esta señal será transformada en un valor continuo y estable para que un segundo microcontrolador recoja este valor con su módulo analógico/digital.

La frecuencia de la señal de PWM será generada por uno de los timer internos

del microcontrolador encargado para tal efecto. El ritmo de cambio de la señal de consigna, es decir, el ciclo de trabajo de la

señal PWM, fijado en un paso previo por el usuario, será igualmente controlado por un segundo timer interno del microcontrolador, usado solamente cuando la señal de consigna sea variable y periódica en el tiempo.

El PIC16F876 dispone también de 3 puertos de entrada/salida con 8 bits por

puerto. Dos de estos bits serán usados para anunciar a cada microcontolador esclavo, según corresponda, de que se ha empezado a generar una señal de consigna. De esta manera, ninguna de las tarjetas esclavas podrá empezar a trabajar hasta que el

Page 16: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Descripción del equipo

11

microcontrolador encargado de generar la consigna no haya recibido y articulado una señal que puedan seguir.

2.2-Modos de funcionamiento Con intención de recoger el testigo dejado por los anteriores proyectos encargados de controlar la temperatura de heater de los sensores, se ha diseñado un modo de funcionamiento en el que la consigna de trabajo sea constante y continua en el tiempo así como un modo de funcionamiento en el que el usuario configurará el valor máximo y mínimo entre los que quiere que se mueva la temperatura de trabajo y fijará un tiempo de variación entre las mismas (véase fig. 1). En ambos modos de trabajo, el rango de temperatura en el que el usuario podrá fijar su consigna, queda fijado entre 250 y 450 ºC. El periodo de tiempo que el usuario necesite que cada consigna se mantenga en el mismo valor para el modo de trabajo incremental (To, en la figura 1) se fija entre 0,5 y 5 segundos, valor lo suficientemente elevado como para que la resistencia heater sea capaz de trasladar correctamente el calor acumulado a la resistencia de electrodo aunque no lo suficiente como para que los periodos de adquisición de datos se vean afectados. Una vez transmitidos esos valores al microcontrolador principal o máster, éste generará la consigna que deberán seguir los microcontroladores secundarios o esclavos. Se han dispuesto tantos esclavos como la mitad de resistencias de heater en las que se vaya a realizar control de temperatura, es decir, cuatro microcontroladores para los dos grupos sensores, de cuatro sensores micro-hotplate cada uno. Este detalle se concibió así desde el inicio del presente proyecto para aprovechar al máximo los dos módulos de PWM de los que dispone el microcontrolador elegido. Cuando los microcontroladores esclavos digitalicen la señal de consigna, estos empezarán a tomar los datos necesarios para cuantificar la resistencia de heater y mantenerla estable en el valor de temperatura requerida por el usuario. Esto se realizará mediante un control P con una constante proporcional definida en el mismo programa del microcontrolador y establecida mediante ensayos empíricos. Dicha constante quedará definida en el programa del microcontrolador asociado y podrá ser variable en una posterior revisión del código fuente del programa de manera sencilla y rápida. Los microcontroladores esclavos leerán a intervalos definidos y constantes, en forma de tensión equivalente (0-5 voltios), los valores de intensidad y tensión respectivamente de la resistencia de heater para el subsiguiente cálculo de la resistencia real de heater y su posterior control. El control continuará hasta que bien se desconecte la alimentación del sistema o bien se varíen los valores de consigna, donde se proseguirá nuevamente con un control P intentando alcanzar el nuevo valor de consigna. 2.3-Herramientas utilizadas Prácticamente todo el material utilizado para la consecución de este proyecto, tanto en su fase de diseño como de puesta en funcionamiento, ha sido facilitado por la Universitat Rovira i Virgili.

Page 17: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Descripción del equipo

12

Todo el diseño electrónico se ha montado sobre una placa base donde se sustentará el sistema de transmisión (conector serie DB9, MAX232…), el microcontrolador máster, la alimentación del sistema, los buses ISA encargados de alojar las tarjetas de control, y la cámara de sensores con los sensores propiamente dichos. Las cinco placas de circuito impreso han sido diseñadas con el programa Orcad Capture & Layout v.9.0 y, como la tecnología disponible en los laboratorios de la universidad no permite realizar placas de más de dos caras, el diseño ha debido ser óptimo para que no se necesitase un rutado de mayor complejidad. El programa PC ha sido realizado con Visual Basic v.9.0 por ser un programa fácil tanto de aprender como de utilizar y previendo una posible revisión del mismo, se supone un programa suficientemente amigable como para que el usuario no tenga demasiados problemas en realizar la misma. El VB 6.0 es un programa que permite crear programas bajo un entorno Windows, con estructuras y modos de funcionamiento con los que el usuario se pueda encontrar familiarizado. El mayor problema que un programador avezado pueda encontrarse en el momento de programar bajo un entorno Windows, sistema operativo mal llamado de “tiempo real”, es el control y la ejecución de las interrupciones y el VB es capaz de solventarlo siempre y cuando dichas interrupciones contengan operaciones sencillas como en el caso del presente proyecto. El software introducido en los microcontroladores ha sido escrito con un lenguaje de alto nivel como es el C++ integrado en el programa PCW C Compiler v3.163 expresamente diseñado para trabajar explícitamente con microcontroladores PIC. A sabiendas de que la opción de usar un programa de alto nivel para la programación de los microcontroladores posiblemente afectaría al rendimiento de los mismos (una programación de bajo nivel siempre se ha mostrado más eficaz), se optó por ésta por la facilidad de uso que comportaba y por la posibilidad de que un segundo programador usase los programas existentes para añadir una modificación ya que la claridad de código que puede tener el C++ es diametralmente opuesta a la que puede tener un lenguaje de bajo nivel. Para la programación de los microcontroladores propiamente dicha se ha usado el programador de microcontroladores PicStar Plus usando el programa MPLAB como interface, ambos disponibles en los laboratorios de la universidad.

Page 18: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

13

3 Hardware

En el siguiente punto se definirá el hardware que conforma el sistema, desde la concepción del diseño hasta el cálculo concreto, si procede, de cada elemento que forma parte del equipo. 3.1-Placa Base Por definición, se ha llamado “Placa Base” a todo aquello que no forma parte de los lazos de control, distribuídos en cuatro tarjetas conectadas al sistema mediante buses ISA, tal y como se explicará más adelante.

Así pues la Placa Base está conformada por los siguientes elementos: -Microcontrolador: formado por el PIC16F876, el cristal de cuarzo Y1 y los

condensadores C15 y C16. -Alimentación: conformada por el regulador de tensión LM7805, los

condensadores C11 y C12 y la regleta de 3 vías J8. -Filtros de Butterworth: construidos por el conjunto de resistencias R1, R2, R3,

R4, los condensadores C6, C7, C8, C9 y los amplificadores operacionales LM714, sobre los zócalos U10 y U11 respectivamente.

-Comunicación UART: constituida por el integrado MAX232 sobre el zócalo

U1, los condensadores electrolíticos C1, C2, C3, C4 y C5 y el conector DB9 hembra, P1.

-Buses ISA: compuesto por los zócalos de bus J7, J9, J10, J11. -Grupo Sensor: formado por el zócalo J14 -Adquisición de datos: integrado en el zócalo de cable plano J12 y los zócalos

J15 y J20. Todo ello, queda desglosado en los subsiguientes puntos y completamente definido en la sección 6: Planos. 3.1.1-Microcontrolador PIC16F876 Para la realización de este proyecto era necesaria la utilización de un microcontrolador programable que fuese capaz de realizar operaciones de manera síncrona mediante interrupciones, que tuviese capacidad de comunicación con otros dispositivos digitales exteriores y que supiese interpretar señales analógicas también externas. Por todo eso, entre otras, se encuentra justificada la elección del microcontrolador PIC16F876 que presenta las siguientes caracteristicas como las más relevantes:

Page 19: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

14

-CPU tipo RISC: sólo 35 instrucciones sencillas de 14 bits que se ejecutan durante uno o dos ciclos de instrucción (equivalente a 4 u 8 ciclos de reloj). -Capacidad para operar hasta a 20MHz. Aunque para el presente proyecto todos los microcontroladores se han programado para funcionar a 4MHz, modo de funcionamiento que presenta unos ciclos de instrucción inferiores a 1µs. -Memoria de programa tipo FLASH: que permite reprogramar el dispositivo tantas veces como sea necesario aunque el microcontrolador conserva el código de programa una vez desconectada la alimentación. Con capacidad para albergar 8192 instrucciones pertenecientes al código del programa. -Memoria RAM: 368 bytes disponibles para guardar las variables generadas durante el tiempo de ejecución. -Memoria EEPROM: con 256 bytes para retener información indefinidamente. -Interrupciones: Capacidad para gestionar 13 fuentes de interrupción distintas, tanto internas como externas. -8 niveles de pila hardware: capacidad para manejar hasta 8 subrutinas nidificadas. -Puertos de de Entrada/Salida: 3 puertos de 8 bits cada uno. -Programación ICSP (In Circuit Serial Programming): lo que permite ser reprogramado de forma serie mediante dos pines. -Temporizadores: consta de 3 timers. Dos de ellos de 8 bits y uno de 16 bits, con pre y postscaler pudiendo trabajar en modo timer o en modo contador y con capacidad de generar interrupciones de reloj a la CPU. -ADC: cinco convertidores analógico/digital de 10 bits de resolución cada uno y capacidad para establecer el límite superior e inferior de la tensión de referencia. -Dos módulos de Captura-Comparación-PWM (CCP): moduladores de anchura de pulsos con 10 bits de resolución. La captura de tiempo y la comparación se realizan con resoluciones de 16 bits. -UART: módulo de comunicación serie asíncrona.

Page 20: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

15

fig 8. Microcontrolador PIC16F876 según el encapsulado PDIP, SOIC

El PIC16F876 consta de 28 pines. Dos de ellos deben estar conectados a la tensión de referencia mientras que un tercero necesita estar dentro de un rago de tensiónes entre 4 y 5,5 voltios para poder establecer una correcta alimentación. Los pines asociados a un buffer TTL (la mayoría de pines de entrada/salida) considerarán un 0 lógico cualquier entrada dentro de los márgenes de la tensión de referencia y 0,15 veces la tensión de alimentación (VDD), mientras que las tensiones que se muevan entre 0,25 veces VDD y VDD serán consideradas como un 1 lógico. Si los puertos están configurados como salidas, se obtendrán tensiones de cómo mínimo VDD-0,7 voltios y de 0,6 voltios, como máximo, para representar un 1 y un 0 respectivamente. Una parte importante del diseño recae en las características del reloj, puntal básico del funcionamiento interno del microcontrolador. Para esa tarea se utiliza un cristal de cuarzo de 4MHz acompañado de dos condensadores de 15pF cada uno como compensación de fase para contrarestar el efecto del inversor interno.

fig 9. Conexionado básico

Page 21: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

16

Como se puede observar en la figura 9 (fig. 9), al conexionado básico anteriormente explicado se le ha añadido el condensador C10, de un valor aproximado de 100nF, conectado entre la alimentación del integrado y masa, como medida de precaución, para que realice las funciones de filtro paso-bajo y elimine o como mínimo atenúe, cualquier armónico parásito que pueda hacer incurrir en un mal funcionamiento del sistema. Asimismo, el pin MCLR/Vpp (pin 1) ha sido conectado a VDD para asegurar que no se produzca ningún reset del microcontrolador sin el consentimiento del usuario. En el apartado 4: Software, se entrará en detalle en la programación, así como el cálculo de variables utilizadas, de los módulos utilizados en este proyecto. 3.1.2-Alimentación Tal y como se ha explicado anteriormente, los microcontroladores usados en este diseño necesitan de una tensión estable de aproximadamente cinco voltios para funcionar correctamente. Esa característica deja clara la necesidad de contar con un regulador de tensión capaz de manter constante un valor cercano a los cinco voltios sin sufrir modificaciones en el mismo cuando la alimentación del equipo las sufra. Además, es importante mantener estable ese valor de alimentación, tanto para salvaguardar el correcto funcionamiento del o los integrados conectados a esa fuente de alimentación, como para el conversor analógico/digital usado en los lazos de control, ya que éste módulo utiliza la tensión de alimentación, VDD, como tensión de referencia para realizar sus conversiones. Por tanto, una mala estabilidad de las misma conllevaría muy posiblemente una mala lectura de la señal a convertir. Con estas premisas, se decide utilizar el regulador lineal de tensión LM7805, que cumple con creces los requisitos de funcionamiento: capaz de presentar menos de 4 mV de variación en la salida por cada voltio que varie la entrada y 9 mV de variación si la corriente de entrada varia un amperio. Además, es capaz de convertir tensiones de entrada en un rango de 7 a 35 voltios a una tensión muy cercana a los cinco voltios (4,98 voltios en el último ensayo de laboratorio) y suministrar hasta un amperio de corriente con picos momentáneos de 2,2. Todo eso aseguraba una correcta alimentación de los integrados que necesiten de esa tensión para funcionar (microcontroladores PIC y MAX232). Como ninguno de ellos exigía un dispendio exagerado de corriente el diseñador constató que el amperio de corriente máxima que podía proporcionar dicho elemento era más que suficiente para alimentar a cinco microcontroladores trabajando a máxima potencia y a la interficie MAX232 en pleno rendimiento. El resto de integrados (amplificadores operacionales LM741 y cuadruples amplificadores operacionales LM324) han sido alimentados a tensiones de +15 y -15 voltios usando una fuente de tensión simétrica, diponible en el laboratorio de trabajo, que con su salida positiva, también es la encargada de alimentar al integrado LM7805, tal y como se puede apreciar en la figura (fig. 10):

Page 22: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

17

fig 10. Regulador de tensión Tal y como se observa en la figura, se han añadido dos condensadores de 330 y 10 nF a la entrada y la salida respectivamente para mejorar la respuesta transitoria del integrado. Ambos valores venían recomendados por el fabricante en el datasheet del regulador. 3.1.3-Filtro de Butterworth La necesidad real de implementar un filtro en el sistema viene explicada por la ausencia, en el microcontrolador escogido, de un covertidor digital/analógico capaz de generar por sí mismo tensiones anaglógicas de voltaje distinto al digital. De esta manera, para generar cualquier señal analógica que se desee, se utiliza el módulo PWM del microcontrolador, capaz de crear una onda rectángular de amplitud 5 voltios, con un periodo fijo y programable y cuyo ciclo de trabajo puede ser variable entre el 0 y el 100% del periodo de la señal. Así pues, con un filtrado que garantice una correcta atenuación de los armónicos de frecuencias altas, presentes en los cambios bruscos de la señal PWM (el flanco de subida y el de bajada respectivamente), se consigue obtener un valor contínuo de tensión equivalente al primer armónico de la serie de fourier de la señal PWM.

Esto es:

Page 23: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

18

fig 11. Señal PWM Para un cálculo correcto, se puede obtener la serie de Fourier de la señal anterior.

Según la expresión compleja del desarrollo de Fourier:

( )∑∑∞

∞−

+∞

∞−

⋅=⋅= noo Ctnjn

tjnn eCeCtf arg)( ωω (3)

Donde queda definido:

To

πω

⋅=

2

∫ −⋅=T tjn

n dtetfT

C0

0)(1 ω

Suponemos fPWM(t) como una señal par definida a trozos siendo: fPWM(t) = A si 0 ≤ t ≤ Ton fPWM(t) (4) fPWM(t) = 0 si Ton ≤ t ≤ T De esta manera, se puede calcular el parámetro Cn propio del desglose de la señal PWM según la serie de Fourier:

( ) ( )∫ ∫ ∫><

− =⋅=⋅=T

T T

ootjn

n

ono dttn

TA

dttntfT

dtetfT

C 2

0

2

0cos

2cos)(

2)(

1ωωω

( )

=

=

2sin

2 2

0

onoon

T

o

on

Tnc

TT

An

tnsenTA

C

on

ωω

ω (5)

TPWM

fPWM(t)

t

A

Ton

Page 24: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

19

El término TTon que aparece como resultado en la ecuación (5) se identifica

como ciclo de trabajo y se define como el tanto por uno que la señal está en nivel alto. Finalmente, la expresión de Fourier de la señal PWM arriba indicada, según la ecuación (3), será:

( ) ( )∑∑∞

∞−

+∞

∞−

+ ⋅

=⋅= nono CtnjonoonCtnj

n eTn

cT

TAeCtf argarg

2sin)( ωω ω

Se puede observar que en el primer armónico de la señal (n = 0), el valor de ésta queda definida por:

T

TAtf on

n=

=0)( (6)

De esta forma, se comprueba que para el filtro a diseñar se debe obtener una frecuencia de corte dispuesta entre ω = 0 y ω = ω0, para que éste discrimine todos los armónicos iguales o superiores al primero y así asegurar que el valor de salida del filtro sea justamente el presentado en la expresión (6). Tal y como se verá más adelante, la frecuencia de PWM escogida y programada en el microcontrolador ronda los 47 kHz (47619 Hz, exactamente), unas cien veces inferior a la frecuencia del cristal de cuarzo encargado de generar la frecuencia de trabajo del microcontrolador, lo que garantiza que el valor de frecuencia PWM se pueda alcanzar con facilidad.

Para esta aplicación y considerando que el filtrado de la señal PWM debía ser parte fundamente del diseño, se dispuso utilizar un filtro activo conformado un por amplificador operacional, condensadores y resistencias, como puede ser un filtro de Butterworth de la figura que garantiza, con una sola célula, una atenuación de -40dB por década que, como se demostrará seguidamente, resultaba suficiente para el proyecto.

fig 12.Filtro de Butterworth

Page 25: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

20

Según un análisis por simple inspección del circuito, se puede escribir la relación:

621

1jwC

VVR

VVR

VVi oxoxx −=

−=

− (7)

Por otra parte:

72

7

1

1

jwCR

jwCVV xo

+= (8)

De esta forma, desarrollando (7) y (8) se encuentra la relación

normalizada)()(

)(sVisVo

sH = :

76217621

17272

7621

1

1

)()(

)(

CCRRCCRRRCRC

ss

CCRRsVisVo

sH+

++

== (9)

Comparando la expresión (9) con la ecuación normalizada de un filtro de

segundo orden se pueden definir varios parámetros:

22 2

)(xx ss

KsH

ωζω ++=

Donde, recordando, ζ es igual al factor de amortiguación y ωx es la frecuencia natural de oscilación.

Así, por comparación se obtiene que:

7621

1CCRR

x =ω

Si para diseño se fijan las relaciones 76 2CC = y RRR == 21 obtenemos un

factor de amortiguación de 22

=ζ y una frecuencia natural de oscilación de:

22

1

7RCf x

π=

Si se resuelve C7 = 100nF y R = 68k, según valores normalizados, calculando se

ve que se obtiene una frecuencia de corte de aproximadamente 16,5Hz que queda muy alejada de los 47kHz que se obtendrán en la generación de la onda PWM. El valor de C6, por proximidad, debe ser de 220nF.

Page 26: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

21

Como mera comprobación, se puede calcular la influencia del armónico fundamental. A la frecuencia de trabajo de PWM se presenta una atenuación de:

dBjHdBo 412.138

5.1647619

log40)( −=⋅−=ω ⇒

720412.138

102.110)47619( −−

⋅==jH Por lo tanto, el error en la señal de salida que se aprecia teniendo en cuenta sólo el primer armónico es:

⋅⋅= −

2476192

sin102.1)47619( 7 onono

Tc

TT

AjVπ

Tal y como se puede demostrar, el valor máximo de la expresión anterior, es decir, el error máximo cometido, se alcanza cuando Ton es justamente la mitad del tiempo total. Cuantificando:

VoltscA

jV TTo

on

77

2109.1

2sin

2102.1)47619( −−

=⋅=

⋅⋅=

π

Cifra de error totalmente despreciable para la presente aplicación.

3.1.4-Comunicación UART

La comunicación serie asincrona es la solución escogida para la comunicación entre el PC y el microcontrolador master.

Como se ha comentado anteriormente, el protocolo de comunicación RS-232

utiliza señales comprendidas entre los +3 y los +12v para designar un “1” lógico y señales de -3 a -12v para el “0” lógico. Esas son, por tanto, las tensiones características de las señales de comunicación que entraran o saldrán del PC encargado de la comunicación.

El microcontrolador, por su parte, sólo es capaz e ejercer la comunicación con

señales TTL, es decir 0v designando al cero lógico y 5v para el uno lógico. Para que se pueda establecer una buena comunicación entre PC y

microcontrolador y viceversa, se utiliza la interficie de comunicación MAX232 diseñada para adaptar las tensiones de protocolo RS-232 a TTL. Este integrado del fabricante MAXIM consta de 2 entradas / salidas y puede llegar a operar hasta con velocidades de transmisión 120 kbps.

Page 27: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

22

fig 13.Comunicación UART

El integrado MAX232 se rodea de una serie de condensadores electrolíticos

encargados de doblar y/o invertir las tensiones de entrada para adaptar unas tensiones a otras. Así, según el esquema de la figura 13 (fig. 13), vemos que tres de los condensadores de 1µF (valor extraído de las hojas características del integrado) se utilizan para duplicar la tensión de alimentación y obtener +10v y los otros dos restantes, de la misma capacidad, tienen la capacidad de invertir dicha tensión y obtener +10 o -10 v según el caso.

La conexión entre el PC y el microcontrolador se establece mediante la conexión

del puerto de comunicación serie del PC escogido para tal efecto (normalmente COMM1 o COMM2, aunque en algunos ordenadores pueda existir el 3 y 4) y el conector DB9 hembra de la placa PCB con un cable de comunicación serie NULL-MODEM con los pines de transmisión y recepción cruzados.

Page 28: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

23

fig 14. Conector de 9 pines macho, visto desde la parte posterior del ordenador

Según la disposición de pines anterior, la fabricación de un cable NULL-MODEM cruzado se efectúa con dos conectores, uno macho para la conexión con la placa de circuito impreso, y uno hembra para la conexión con el PC. El pin de recepción de datos del PC, “RD”, debe estar conectado con el pin de transmisión de datos del microcontrolador, “TD”, y viceversa. Para que se pueda establecer una correcta comunicación y tanto el PC como la placa base trabajen a una misma tensión de referencia, el pin GND de ambos conectores debe estar unido (fig. 15).

fig 15. Cable cruzado NULL-MODEM

3.1.5-Zócalos de Buses ISA Para diseñar un sistema sensor integrado, los lazos de control debían conformar parte de la placa base y ésta, a su vez, tener un tamaño manejable por el usuario (sus dimensiones, en principio, no debían ser mayores que una hoja de papel tamaño DIN-A4, por ejemplo). Además, la placa base, debe tener un rutado de pistas más o menos sencillo, ya que en el laboratorio no se dispone de la tecnología necesaria para hacer placas de circuito impreso de más de dos caras. De esta manera, una buena forma de integrar los circuitos de los ocho lazos de control que deben controlar la temperatura de los ocho heater de los elementos sensores en la placa base, sin que estos ocupen mucho espacio ni se enmarañen demasiado las pistas de todos los circuitos, es utilizar buses para ensamblar tarjetas de comunicación y así hacer crecer la placa en vertical, en vez de hacerlo en horizontal.

Page 29: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

24

Un zócalo de bus de buenas prestaciones (número de inserciones, buen contacto entre uniones, etc) y de bajo coste son los zócalos de bus ISA que se pueden encontrar en cualquier PC estándar. El mercado ofrece buses de 18, 31 y 18+31 pines por cara y para esta implementación se han escogido los de 31 pins por cara por ser de un tamaño adecuado para la aplicación y porque el número de pins disponibles superaba con creces el número de conexiones de entrada / salida a realizar. Los zócalos de 18 pins hubiesen sido suficientes por número de conexiones pero su reducido tamaño hacía demasiado inestable la tarjeta de control, con el consiguiente peligro que eso comportaba para las conexiones tanto de la tarjeta con el zócalo como del zócalo con la placa base.

fig 16. Zócalo de bus ISA de 31 pins

Para este diseño, habida cuenta de que cada tarjeta de está formada por dos lazos de control, se necesitan cuatro zócalos de bus para ensamblar las cuatro tarjetas de control.

Las características esenciales del zócalo de bus ISA escogido son:

-Contactos bañados en oro o con laminilla de oro.

-Molduras de dialilftalato relleno de fibra de vidrio. Vías y paso de 2,54mm. Dos filas de contactos de 30µ chapados en oro

-Aislamiento de poliéster conforme a UL94V-0

-Terminales de soldadura DIP de 3,96mm

Según la disposición de pines del zócalo de la figura 16 (fig. 16) el conexionado con las tarjetas de control queda supeditado única y exclusivamente a los pines de la fila “A” (A1 ÷ A31), dispuestos, para las cuatro tarjetas, según la descripción siguiente: -Pines A31, reservado para la alimentación del microcontrolador, +5v, y A30 para la tensión de referencia (masa). -Pin A27, reservado para la entrada de la tensión de consigna, proveniente de la salida del filtro de Butterworth (en el esquema del ciruito: Vin_dc. Ver sección 6: Planos). -Pin A26: reservado para la comunicación entre microcontrolador máster y microcontroladores esclavo (RB0/INT en esquema).

Page 30: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

25

-Pines A18 y A17, reservados para las tensiones de alimentación de los integrados que requieran tensiones de +15 y -15v, respectivamente. -Pines A3 y A1, salida de la intensidad de heater proporcionada por los lazos de control. 3.1.6-Sensores y adquisición de datos 3.1.6.1-Sensores Tal y como se ha comentado en puntos anteriores, el grupo de sensores micro-hotplate viene encapsulado en un estándar TO-8. Pese a los esfuerzos por encontrar un zócalo comercializado que respondiera a dicho estándar, actualmente no existe en el mercado un zócalo capaz de alojar los 12 pines que están dispuestos en la agrupación de sensores. De esta manera, para la colocación de los sensores en la placa de circuito impreso PCB, y teniendo en cuenta que cada agrupación no estaba destinada a ser un elemento fijo, sino un elemento con múltiples conexionados y desconexionados sobre la placa, se optó por buscar una tira de pines que, disponiéndola a modo de zócalo con la disposición del encapsulado en cuestión, hiciera las veces de zócalo. Se optó por una tira de pines torneados de la marca “Farnell in One”, usados en distintos tipos de trabajos realizados en la Universidad Rovira i Virgili, cuyo índice de inserciones garantizaba como mínimo 500 ciclos, cifra que, tratándose de una solución que nunca fue la primera opción, se encontró adecuada. 3.1.6.2-Adquisición de datos El sistema integrado de control tiene capacidad para que el usuario sea capaz de medir con cualquier módulo especializado (p.e. tarjetas de aquisición de datos) la tensión de la resistencia heater. Para ello se ha dispuesto un conector de cable plano de 20 pines, J12, cuyos canales 1, 3, 5, 7, 9, 11, 13 y 15 están conectados en paralelo a cada uno de los terminales “H” (resistencia de heater) de cada sensor. El resto están conectados a la tensión de referencia, tal y como se puede observar en la figura 17 (fig. 17):

Page 31: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

26

fig 17.Conector de cable plano para lectura de Vh

Asímismo, los terminales “E” de los sensores (resistencia de electrodo) han sido conectados, cuatro a cuatro (conectores J15 y J20, respectivamente), a una tira de pines identica a la utilizada para el conexionado de los sensores, ya que se previó que las futuras medidas de resistencia de electrodo se pudiesen realizar con un multímetro digital como los disponibles en el laboratorio: “Hewlett Packard 34974A” y/o “Keithley 6517A”.

Page 32: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

27

3.2-Lazos de control Una vez descrita la placa base, los lazos de control serán el siguiente punto a diseñar y describir para la realización del sistema.

Tal y como se ha explicado en puntos anteriores, los lazos de control se encargan de mantener la temperatura de los heater de los sensores micro-hotplate, utilizados en este diseño, dentro de un rango de temperatura explicitado por el usuario y trasladado al lazo de control por el microcontrolador máster.

Para formar el lazo de control será necesario disponer, una vez más, de un

microcontrolador al uso que se encargue de recoger los datos de consigna, los datos reales momentaneos y realizar un control P adecuado a cada instante sobre la resistencia heater.

Alrededor del microcontrolador se dispondrán de una serie de circuitos

generadores o captadores de señal. Esquematizando, una tarjeta de control viene conformada por (según esquema eléctrico adjunto, ver sección 6: Planos): -Un microcontrolador PIC16F876, el cristal de cuarzo de 4MHz, Y1, y los condensadores de compensación de fase C5 y C6. -Los filtros de Butterwoth. Uno para cada salida PWM del microcontrolador, encargados de filtrar el pulso rectangular proveniente de las mismas. Ambos formados por las resistencias R1, R2, R3, R4, los condensadores C1, C2, C3, C4 y dos de los amplificadores operacionales “A” y “C” que forman parte del integrado U9 de cuatro amplificadores operacionales LM324. -Las fuentes de corriente Howland, formadas por los amplificadores operacionales B y D provenientes del integrado U9 y las resistencias R5, R6, R7, R8, R9, R10, R11, R12. -Los ciruitos de captación de señal Vh e Ih. Formados por los integrados de cuatro amplificadores operacionales U12 y U13, y las resistencias R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23, R24, R25, R26. Como se puede observar, el microcontrolador y los componentes que lo rodean, están compuestos por los mismos elementos que componen los mismos circuitos de la placa base. Así pues, se obviará en la descripción de los lazos de control, para no hacer pesada la lectura con una repetición de explicaciones. El único cambio significativo es la conexión a sus canales analógicos de cinco señales de entrada correspondientes a la señal de consigna e intensidad y tensión de los heaters controlar. El conexioado electríco puede observarse con detalle en el plano adjunto en esta memoria del lazo de control (sección 6: Planos) Los filtros de Butterworth pese a tener el mismo esquema eléctrico, mismo valor de componentes e identica funcionalidad que los de la placa base, esta vez cumplen la

Page 33: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

28

función de filtrar la señal PWM que corresponde al valor de intensidad que se quiere inyectar en el heater de cada sensor. Como se detalla en la sección 4: Software, la frecuencia de la señal PWM que generan los microcontroladores esclavos es significativamente inferior a la utilizada para el microcontrolador master, aunque esta modificación no afecta de manera explícita a la configuración del filtro de Butterworth ni al filtrado de la señal, pues la frecuencia de corte continúa estando suficientemente alejada de la frecuencia fundamental de oscilación. El error producido se calcularía de la misma forma que en el caso anterior, aunque éste se puede comprobar que es mínimo. En los subsiguientes puntos se desglosan los circuitos que forman parte de las tarjetas de control. 3.2.1-Diagrama de bloques Para una mejor comprensión del lazo de control que se quiere diseñar y que será detallado en los próximos puntos, se presenta un simple diagrama de bloques del lazo de control esquematizado (inspirado en el lazo de control de temperatura diseñado para el proyecto “Sistema en lazo cerrado para el control de temperatura de trabajo de una agrupación de microsensores de gases” realizado por Jordi Colomer Campos bajo la tutela de Eduard Llobet Valero):

fig 18. Diagrama de bloques del lazo de control

Tal y como se ha explicado, cada tarjeta alberga dos lazos de control, por lo que el diagrama de bloques anterior se debe doblar usando un solo microcontrolador. Es decir, el microcontrolador encargado de la tarjeta de control deberá usar cinco canales de conversión analógico/digital (pines AN0, AN1, AN2, AN4, según fig. 8) y los dos módulos de PWM de los que dispone (CCP1 y CCP2).

CONSIGNA

µC PWM

A/D A/D

BUTTERWORTH HOWLAND

r LECTURA

Ih

HEATER

ADQUISICIÓN Ih

ADQUISICIÓN Vh

Page 34: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

29

3.2.2-Fuente de corriente Howland

Parte fundamental del lazo de control es la fuente de corriente que proporciona la corriente necesaria al heater del sensor para que éste alcance la temperatura de consigna deseada.

Una buena fuente de corriente y una de las más típicas académicamente

hablando, es la conocida fuente de corriente Howland. La tensión de entrada de tal fuente será proporcionada por una salida PWM del microcontrolador esclavo (previo paso por un filtro paso - bajos, en una función idéntica a la vista anteriormente con el filtro del microcontrolador máster) y de manera proporcional a esta tensión tendremos una intensidad de salida que atacará directamente a la resistencia heater de nuestro sensor.

La relación entre el voltaje de entrada y la intensidad de salida se determina

según los siguientes cálculos referenciados al siguiente circuito (típico de una fuente Howland):

Fig 19. Fuente de corriente Howland

En cualquier fuente de corriente que se diseñe, los dos parámetros que priman y que el diseñador debe buscar son la intensidad y la impedancia de salida. Además se debe intentar que la intensidad de salida quede relacionada de manera más o menos sencilla con la tensión de entrada y que la impedancia de salida sea elevada para que la intensidad dada a la carga se acerque lo más posible a los cálculos hechos por el diseñador. Para calcular la impedancia de salida, un buen método es sustituir la resistencia de carga RL por un generador imaginario de corriente iA y cortocircuitar la fuente de tensión Vi tal y como se ve representado en la figura veinte (fig. 20). Así, la impedancia de salida viene determinada por la relación:

A

AO i

vZ = (10)

Page 35: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

30

Por simple inspección del circuito se corrobora que:

32 RvV

Rv

i AOAA

−−= (11)

Fig 20. Método de Cálculo de la impedancia de salida

Y, aplicando el método del cortocircuito virtual (es cierto que el circuito tiene realimentación negativa y positiva, pero se puede demostrar que en este tipo de configuración prima la negativa, haciendo el circuito estable y, por lo tanto, válido para aplicar c.v.), con unas simples ecuaciones se puede hallar la relación entre la tensión de salida y la tensión auxiliar vA generada por la fuente de corriente iA:

41 RVv

Rv OAA −

=− ⇒

+=

1

41RR

Vv OA (12)

Con las ecuaciones (10), (11) y esta última podemos hallar la impedancia de salida:

4231

132

RRRRRRR

ZO −=

Tal y como se ha comentado, interesa una impedancia de salida lo más alta posible. Así, observando momentáneamente la ecuación de la impedancia de salida, se observa que igualando la diferencia 4231 RRRR − a cero la impedancia de salida tiende a infinito. Por lo tanto, una de las especificaciones del diseño de esta fuente de corriente será: 4231 RRRR = El siguiente paso será calcular la intensidad de cortocircuito, que es el segundo parámetro que se necesita para modelizar el circuito en un modelo Norton. Para el

Page 36: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

31

cálculo de esta intensidad, un método sencillo es calcular el cociente entre la tensión en circuito abierto en la carga (Voc) y la impedancia de salida de la fuente. Esto es:

o

OCSC Z

VI =

Fig 21. Método de Cálculo de la intensidad de cortocircuito

Para lo que primero se debe calcular la tensión en circuito abierto, Voc. Por

simple inspección del circuito obtenemos las siguientes ecuaciones:

41 RVV

RVV oococi −

=−

(13)

+=

2

31RR

VV oco (14)

Con la combinación de ambas lograremos una expresión de Voc que dependa de Vi, que es, al fin y al cabo, lo que se pretende:

1324

24

RRRRRR

VV ioc −=

De esta manera ya tenemos todos los parámetros para calcular la intensidad de cortocircuito:

132

24

2413

132

1324

24

RRRRR

V

RRRRRRR

RRRRRR

VZV

I iio

ocSC −=

−==

Page 37: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

32

Si a esta última expresión se le aplica la especificación de diseño encontrada anteriormente ( 4231 RRRR = ), tendremos una expresión de la intensidad de cortocircuito mucho más reducida que la anterior:

2132

24 1R

VRRR

RRVI iiSC −=−=

(15)

Así, como se puede observar, queda una intensidad de cortocircuito que depende lineal y proporcionalmente de la tensión de entrada, según una transconductancia

2

1RG −=

Sólo quedaría dar unos valores de resistencias comerciales que se adaptaran al diseño de nuestro sistema teniendo en cuenta la especificación de diseño hallada anteriormente para esta fuente Howland.

Haciendo algunas pruebas, es fácil encontrar los valores comerciales de resistencias que pueden cumplir con las especificaciones de diseño halladas: R1 = 68k? R2 = 680? R3 = 180? R4 = 18k?

Fig 22. Fuente de Corriente Howland

Para saber entre qué rango de intensidad trabajará la fuente de corriente, se debe estudiar qué rango de tensiones se establecerán en su entrada.

La tensión de entrada de la fuente de corriente provendrá de la salida de un filtro de Butterworth encargado de filtrar una señal PWM proveniente del microcontrolador.

Page 38: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

33

La amplitud de señal del filtro, según su respuesta frecuencial H(s) es cercana a 1 (ver punto 3.1.3-Filtro de Butterworth) y la señal PWM tal y como se ha visto se mueve entre cero y cinco voltios. Por lo tanto, el límite superior de la tensión de entrada de la fuente de corriente Howland queda establecido en cinco voltios y, consecuentemente, el valor máximo de intensidad que dicha fuente podrá proporcionar, queda establecido en:

mAv

RV

I isc 35.7

6805

2

−=Ω

−=−=

Se puede observar que el signo de la corriente proporcionada es negativo. Esto

no supone ningún problema ya que la resistencia de heater no deja de ser una resistencia de características normales y admite cualquier tipo de signo de intensidad y tensión. 3.2.3-Captación de señal Para cerrar el lazo de control y configurar la intensidad de salida de la fuente de corriente Howland, es necesario que el microcontrolador tenga conocimiento, en cada periodo de muestreo, de los valores que toma la resistencia de heater.

Para ello necesita saber qué valor de intensidad está proporcionando en ese instante la fuente de corriente y qué valor de tensión cae en la resistencia de heater. Ambos valores deben trasladarse a dos canales del conversor analógico/digital del microcontrolador para su posterior proceso.

En los siguientes puntos se describen los circuitos que hacen posible que el

microcontrolador pueda conocer en todo momento los valores reales de tensión e intensidad de heater. 3.2.3.1-Captación de la intensidad de heater La solución más inmediata para conocer el valor de la intensidad de heater, ya que el microcontrolador es encargado a la vez de controlar la fuente de corriente Howland y conocer el valor que ésta proporciona, es realizar un cálculo interno: conociendo el valor del ciclo de trabajo aplicado y la relación tensión – intensidad de la fuente de corriente, ecuación (15), el mismo microcontrolador puede saber qué valor de intensidad está proporcionando en cada momento aplicando una relación inversa. Esta solución, sin embargo, no se muestra adecuada ya que el filtro de Butterworth utilizado para filtrar la señal de PWM produce un retardo en el sistema que ocasionaría un desfase en el cálculo del valor de dicha variable, con el consiguiente error en el momento de realizar el control. La solución adoptada es más sencilla, si cabe, aunque añade un componente de hardware que la solución arriba comentada no incluiría. Ésta se resume en introducir una resistencia “parásita” en serie con la resistencia heater que tenga un valor pequeño

Page 39: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

34

y determinado. Así, midiendo la tensión entre sus terminales se obtiene de inmediato un valor de intensidad concreto.

Fig 23. Conexión de la resistencia “r” para la medida de la intensidad heater

La intensidad proporcionada por la fuente de corriente no alcanza en ningún

caso la decena de miliamperios (ver punto 3.2.2-Fuente de corriente Howland) y para el diseño se ha escogido un valor de resistencia de 10 ohmios. De esta manera, la potencia máxima disipada por esa resistencia de medida de la intensidad de heater es:

mWmARIP 5.010)35.7( 22 =⋅=⋅=

Valor que en ningún momento puede suponer una fuente de problemas para el

equipo. Para captar el valor de tensión de la resistencia “r” es necesario un circuito que adapte el rango de tensión en el que se puede mover dicha resistencia, al rango de tensión que el convertidor analógico/digital es capaz de trabajar, esto es, entre cero y cinco voltios. La tensión Vr máxima se puede calcular fácilmente sabiendo la intensidad máxima que puede proporcionar la fuente de corriente Howland: mVmArIV scr 5.731035.7maxmax −=⋅−=⋅=

Por lo tanto, el rango de entrada al circuito captador de señal se moverá entre cero y -70 mV, aproximadamente, y el rango de salida deberá moverse entre cero y cinco voltios. Eso indica que el circuito debe tener una ganacia aproximada de:

685.735

≅=∆mVi

La tensión que cae en la resistencia de medida de la intensidad de heater es una tensión flotante y de signo negativo. Por ello es necesario diseñar un amplificador inversor de tensiones flotantes como el que se puede apreciar en la figura 24 (fig. 24):

Page 40: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

35

Fig 24. Circuito amplificador inversor de tensión flotante

Con un rápido análisis se comprueba que efectivamente este circuito realiza la función deseada. Por el método de superposición:

hhr VoVVoo VVV || += +

( )1

2| R

RVVV hrVVo hr

+−=+

+

+

=1

2

34

4| 1

RR

RRR

VV hVo h

( )

+

+

++−=1

2

34

4

1

2 1RR

RRR

VRR

VVV hhro

Arreglando la expresión anterior:

+

++−+−=

1

2

34

4

1

2

1

2 1RR

RRR

RR

VRR

VV hro (16)

Con esta expresión, si se pretende hacer desaparecer a la tensión de heater, Vh, se justifica la siguiente relación:

+

+=

1

2

43

4

1

2 1RR

RRR

RR

(17)

Con el dato añadido de que la ganancia 1

2R

R debe ser 68 tal y como se ha

calculado anteriormente. Dos valores comerciales de resistencias que cumplen a la perfección con ese número pueden ser R2 = 68k? y R1 = 1k? . De esta manera, la expresión (12) queda reducida a la igualdad:

34

4

6968

RRR+

=

Por lo que resulta obvio que los valores de las resistencias R4 y R3 deben ser R4

= 68k? y R3 = 1k? .

Page 41: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

36

Así se elimina de la ecuación la variable que incomoda y la expresión (16) queda reducida a la relación:

1

2

RR

VV ro −=

Vr es producto de la intensidad proporcionada por la fuente Howland y la resistencia de medida de dicha intensidad (10? ). La tensión que se llega al microcontrolador es proporcional al valor de intensidad de la resistencia de heater siguiendo la relación: sco IV ⋅⋅−= 1068 Por lo tanto, para averiguar el valor de intensidad que circula por la resistencia heater el microcontrolador sólo debe dividir por 680 el valor de la tensión de entrada. 3.2.3.2-Captación de la tensión de heater Para trasladar los valores de tensión de heater al microcontrolador, es necesario saber entre qué rango de tensiones puede moverse el mismo y convertir éste, a su vez, en un rango de tensión que pueda comprender el microcontrolador, tal y como se ha visto en el punto anterior con la intensidad de heater. Se tienen dos rangos de tensiones distintos para cada uno de los sensores de distinta membrana. Tal y como se ha comentado anteriormente, el usuario es capaz de seleccionar la temperatura de trabajo en la que quiere que se mueva la resistencia de heater. Su máximo se ha fijado en 450 ºC, cifra que aplicada a la expresión (2) proporciona el valor máximo de resistencia de heater para cada sensor.

Los sensores cuya resistencia heater a temperatura ambiente es de 550? tendrán una resistencia heater máxima de:

( )( ) Ω≅−⋅+⋅= − 709254501079.61550 4

hR

Los sensores con resistencia heater a temperatura ambiente de 650? tendrán una máxima de:

( )( ) Ω≅−⋅+⋅= − 6.837254501079.61650 4

hR Conociendo ambos valores y la intensidad máxima que puede proporcionar la fuente de corriente Howland es inmediato calcular entre qué rango de tensión se puede mover cada heater: -5.211 voltios para los sensores de 550 O y -6.16 voltios para los sensores de 650 O. Como la tensión de la resistencia heater es una tensión referida al terminal de referencia, sólo es necesario diseñar un amplificador inversor que adapte los rangos establecidos.

Page 42: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

37

Fig 25. Circuito amplificador inversor En los lazos que controlen la temperatura de los sensores resistencia a temperatura ambiente de 550Ω, se precisa un amplificador inversor con una ganancia, en valores absolutos, de:

96.0221.55

==∆ h

Por aproximación, la ganancia del amplificador tiene que ser cercana a 1. Para ese propósito se ha escogido un valor comercial de resistencia de 10kΩ para ambas. La ganancia del circuito de los lazos de control para los sensores de resistencia de heater a temperatura ambiente de 650 O es:

81.016.65

==∆ h

Para éste, se han escogido unos valores comerciales de resistencia de 8.2 kΩ para R5 y 10 kΩ para R6 (según esquema de la figura 25). Tal y como era de esperar, se puede apreciar que la única diferencia apreciable en el hardware de un lazo de control de temperatura de un sensor de resistencia heater a temperatura ambiente de 550 Ω con uno de 650 Ω es una sola resistencia: la que adapta el rango de tensiones de entrada al microcontrolador. Para que no existan efectos de carga entre la resistencia de heater y los circuitos captadores de señal, se colocan asimismo unos espejos de tensión entre ambos módulos con la función de separar eléctricamente una parte de otra. De esta manera, el esquema final de los circuitos captadores de señal, queda configurado como se puede apreciar en la figura 26 (fig. 26):

Page 43: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Hardware

38

Fig 26. Circuitos captadores de señal Cada una de las salidas de ambos circuitos se conecta directamente a un canal analógico/digital del microcontrolador para que este pueda tomar muestras en cada periodo de muestreo. Se observa que una sola de esta configuración puede articularse alrededor de un integrado LM324, cuádruple amplificador operacional, capaz de ser alimentado en tensiones simétrica de hasta ±16v, lo que cumple con las especificaciones de diseño adoptadas en este proyecto. De esta manera, ya que una tarjeta de control se ocupa de dos lazos de temperatura, será necesario disponer de tres integrados LM324: uno para los filtros de Butterworth y las fuentes de corriente Howland y dos para los circuitos captadores de dos heaters.

Esa integración hace que la tarjeta de control pueda tener unas dimensiones reducidas y ajustadas, característica necesaria para ensamblar ésta en los zócalos de buses ISA, arriba comentados (ver 3.1.5-Zócalos de Buses ISA). Unas dimensiones mayores podrían hacer que la tarjeta fuese inestablemente soportada por el zócalo de bus con los consiguientes problemas de conexionado que esto comportaría.

Tanto el esquema de la placa base anteriormente comentada como el de los lazos

de control, así como el lay-out de ambos circuitos se pueden observar con detalle en la sección 6: Planos.

Page 44: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

39

4 Software

La mención de la palabra software en este apartado pretende hacer referencia a todo aquel conjunto de actividades que, programadas internamente, realizan tanto el ordenador como los microcontroladores dispuestos entre la placa base y los lazos de control. El software del PC ha sido compilado con el Visual Basic 6.0. El Basic es un programa muy sencillo de utilizar que permite, en este modo, crear aplicaciones visuales en entornos conocidos por el usuario, al estilo Windows, que además funcionan bajo ese sistema operativo. El objetivo fundamental en el momento de trabajar con dicho programa será crear una herramienta capaz de enviar y recibir datos del microcontrolador master.

La información enviada satisface los datos necesarios para que el microcontrolador sea capaz de generar la consigna deseada. Para el modo de trabajo incremental, temperatura máxima y mínima para cada tipo de sensor, así como el tiempo que se desea que cada consigna permanezca estable (ver fig. 1) y para el modo de trabajo continuo simplemente los valores de temperatura en los que se desea que permanezca consignada la resistencia de heater.

La recepción de datos en el programa del PC estará limitada a la confirmación,

por parte del microcontrolador máster, de que el envío de las constantes de consigna se ha finalizado correctamente.

Los programas que componen el código fuente de los microcontroladores se han

compilado con el programa PCW C Compiler, compilador que permite programar con un lenguaje de alto nivel como es el C++ además de llevar integradas las principales variables, constantes y funciones de cada microcontrolador, del que sólo es necesario tener la biblioteca de registros necesaria.

En los próximos puntos se desglosan las principales características de cada

programa, con la prudencia de evitar líneas de código (que se pueden encontrar en los anexos correspondientes), y utilizando árboles, diagramas de flujo y ecuaciones matemáticas para una mejor comprensión de los mismos. 4.1-Software PC Para utilizar esta aplicación es imprescindible disponer de un ordenador personal con el sistema operativo instalado Microsoft Windows 95 (ó superior) y un puerto de comunicación serie disponible. Todo este software está orientado a configurar el modo de consigna y los parámetros necesarios requeridos por cada modo para transferirlos al sistema de control: elección de modo de trabajo del equipo (modo de consigna continua o modo de consigna incremental), configuración de los parámetros necesarios para cada modo de consigna y transmisión de constantes.

Page 45: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

40

Los formularios en Visual Basic quedan definidos como las diferentes pantallas con opciones para el usuario que irán apareciendo durante el programa. La figura 27 (fig. 27) muestra la pantalla de inicio que se generará cuando, una vez el usuario haya instalado el programa de transmisión en el ordenador que piensa utilizar para comunicarse con el sistema de control, clique doblemente sobre el archivo ejecutable que aparecerá en el directorio de destino.

Fig 27. Pantalla principal del programa de comunicación Sobre los diferentes formularios se irán “pegando”, según las necesidades del programa y la destreza del programador, los diferentes botones, cuadros de texto, menús, etc, que el programador establece para cada formulario concreto.

Como la mayor parte de programas bajo entorno Windows, el código se ejecuta por sucesos, es decir, sólo cuando se clica sobre alguno de los iconos de los diferentes menús o cuando se produce alguna interrupción externa. Por lo tanto, la mayoría del tiempo el programa sólo espera a que el usuario realice alguna acción. Las interrupciones en VB no se pueden atender con la misma efectividad con la que corresponden otros lenguajes como pudieran ser el C, aunque para aplicaciones que no es necesario un control muy estricto se puede hacer servir con cierta ligereza y suficiente rapidez. El árbol jerárquico asociado a la pantalla principal del programa de transmisión de consignas se puede ver en el gráfico de la figura 28 (fig. 28), donde a simple vista se pueden observar las diferentes opciones que el usuario puede escoger y el camino a seguir:

Page 46: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

41

Fig 28. Árbol del programa de transmisión

Los cuadros del segundo nivel están asociados a los menús que se pueden encontrar en el formulario principal y los cuadros del tercer nivel representan nuevos formularios que se irán cargando a medida que el usuario los necesite. Seguidamente se explican los diferentes modos de consigna a los que el usuario puede acceder adentrándose en el menú “Consigna”. 4.1.1-Modo de transmisión «Continuo» Cuando el usuario escoge el modo de transmisión “Continuo” del menú “Consigna” de la pantalla de inicio, se carga el formulario que aparece en la figura 29 (fig. 29), donde cohabitan dos cuadros de texto, cada uno asociado a un tipo de sensor, para que el usuario pueda escoger la temperatura de trabajo de consigna idónea o necesaria para cada aplicación.

Fig 29. Formulario asociado al modo de transmisión «Continuo»

Inicio

Consigna Ayuda

Modo consigna Incremental

Modo consigna Continua Ayuda rápida

Sobre Transmisión

Page 47: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

42

Para el envío satisfactorio de las constantes de consigna, es necesario que se rellenen todos los datos solicitados y que éstos estén dentro de los límites establecidos por el programador, es decir, un número comprendido entre 250 y 450 ºC para el caso de las temperaturas.

Fig 30. Diagrama de bloques asociado a la transmisión de constantes

De esta forma, se puede observar, según el diagrama de bloques anterior que sólo los datos válidos para las especificaciones del programa serán enviados al microcontrolador y que éste, a su vez, deberá dar por finalizada la transmisión de datos con su conformidad, evitando así toda posible mal funcionalidad del sistema por una errónea transmisión de las constantes de consigna. La preparación de las constantes de consigna, en este caso sólo de las temperaturas de cada sensor, se efectúa llevando a cabo la conversión de los datos de entrada a un valor comprendido entre 25 y 255 decimal, ya que, tal y como se comenta más adelante, la transmisión se realiza en modo texto, es decir, enviando caracteres de 8 bits referenciados al código ASCII. Para ello se utiliza la siguiente aplicación:

INICIO ¿Enviar?

No

Preparación de la trama

¿Error? Sí

No

Transmisión

¿Éxito? Sí

No

Motivo

Transmisión Finalizada

Page 48: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

43

Fig 31. Conversión de constantes de Temperatura La asociación de la temperatura mínima (250 ºC) al veinticinco decimal se efectúa, pese a la pérdida de resolución que ello conlleva, para que el PWM que genere el microcontrolador máster sea una onda convencional como la mostrada en la figura 11 (fig. 11), aunque de periodo alto mínimo, en vez de una señal sin periodo alto, con la posible confusión que ello podría originar. Un cálculo más preciso de la función de conversión de datos lleva a conocer las operaciones aplicadas en el código del programa una vez escritos los datos en las pertinentes cajas de texto:

25º250 =→= bCT ⇒ cm +⋅= 25025 15,1200230

==m

12º450 8 −=→= bCT ⇒ cm +⋅= 450255 5.262−=c De esta manera, la función de conversión de datos queda explicitada tal y como se muestra en la ecuación (18): 5,26215,1 −⋅= Tb (18) Además, ya que el valor convertido debe corresponderse con un valor decimal entero, se aplica un redondeo al alza para perder la mínima precisión posible en el momento de truncar posibles decimales. El redondeo se realiza añadiendo media unidad al valor total de la conversión; por lo tanto, la ecuación (18) queda modificada según (19): 26215,1 −⋅= Tb (19) De esta manera, la precisión de cada dato a la salida del módulo de transmisión se puede calcular a partir de la resolución del sistema:

Resolución = Cunidad

º200230

⇒ Precisión = unidadC

Rº87.0

1≅

25

28-1

250 450 T (ºC)

Byte (dec.)

Page 49: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

44

4.1.2-Modo de transmisión «Incremental» Tal y como ocurre con el modo de transmisión continuo, cuando el usuario escoge el modo de transmisión “Incremental” en el menú “Consigna” de la pantalla principal, se carga el formulario asociado para tal efecto (figura 32) y el programa queda en espera de que se rellenen los campos requeridos, en este caso las temperaturas máxima y mínima a las que se quiere someter cada sensor y el periodo que éstas permanecerán estables, siguiendo la forma de onda de la figura 1 (fig. 1).

Fig 32. Formulario asociado al modo de transmisión «Incremental» El comportamiento del presente modo de trabajo es idéntico al modo de trabajo «Continuo», tanto en funcionalidad (diagrama de bloques ajustado al de la figura 30) como en procedimiento. Así, la transformación de las temperaturas de consigna, tanto máxima como mínima, se efectúa según la relación de la ecuación (19). El dato adicional que se introduce en este modo de transmisión es la frecuencia de consignas que se requiere en el quinto cuadro de texto, tal y como se puede apreciar en el formulario de la figura 32 (fig. 32). Este dato, por tener un rango de trabajo distinto al de las temperaturas, tiene una ecuación de adecuación de valores diferente, aunque con similar resultado final. El rango de tiempo entre consignas establecido en el diseño (ver 2.2-Modos de funcionamiento) está fijado entre 0.5 y 5 segundos, lo que equivale a una frecuencia de trabajo de entre 200 y 2000 miliHercios. Ese rango deberá ser trasladado, igual que en el caso de las temperaturas, a un valor decimal que se corresponda con el código ASCII, comprendido entre cero y 255 decimal. En este caso sí se contempla en cero ya que éste valor sólo será usado en la configuración interna del microcontrolador máster.

De esta forma, la recta de adaptación del dato de frecuencia queda fijada tal y como se observa en la siguiente figura:

Page 50: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

45

Fig 32. Conversión de la constante de Frecuencia Los parámetros de la ecuación de la recta que rige la conversión queda inmediatamente definida como:

0200/1 =→= bmHzTo ⇒ cm +⋅= 2000 36051

=m

122000/1 8 −=→= bmHzTo ⇒ cm +⋅= 2000255 9

255−=c

De esta manera, la recta queda definida según la ecuación (20), a la que se le aplica el mismo redondeo para una mayor precisión que a los datos de temperatura resultantes de la ecuación (19):

+−

⋅= 5.0

92551

36051

oTb (19)

La ecuación anterior, al momento de convertir el periodo de trabajo, concede una precisión de:

Resolución = mHzunidad

1800255

⇒ Precisión = unidadmHz

R06.7

1≈

Las cinco constantes, una vez comprobadas y convertidas, se envían en forma de

carácter al microcontrolador máster, que, tal y como se explicará más adelante, procederá a la creación de cada consigna, según el modo de trabajo que se haya escogido. 4.1.3-Configuración del puerto serie

Paralelamente a la carga de los formularios de transmisión de datos, internamente se establecen una serie de inicializaciones menores, como pudieran ser algunas variables internas inherentes al propio código de programa, y una básica e imprescindible como es la inicialización del puerto serie.

0

28-1

200 2000

1/To (mHz)

Byte (dec.)

Page 51: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

46

A diferencia de otros lenguajes donde la necesidad de realizar una transmisión serie conllevaba un acceso a los registros del integrado 8259, encargado del control de las interrupciones, y del 8250, encargado de la comunicación serie, con el Visual Basic sólo es necesario seleccionar y arrastrar un control de comunicaciones (icono MSComm) hacia el formulario que necesite trabajar con transmisión y recepción de datos, proporcionando al programador autonomía para poder controlar todas las propiedades de ese tipo de comunicación. De las propiedades principales de la comunicación serie se pueden destacar las siguientes: -Las variables RThreshold y SThreshold establecen el número de caracteres que tienen que entrar en los buffers de transmisión o recepción de datos para que se produzca una interrupción en la ejecución normal del programa. Esa interrupción se nombra como Oncomm y ocurre cada vez que ocurre alguna de las siguientes situaciones:

-Hay un número de caracteres igual a SThreshold en el buffer de transmisión. -Hay un número de caracteres igual a RThreshold en el buffer de recepción. Se generarán interrupciones continuamente hasta que los datos recibidos sean leídos. -En comunicación a través del módem, se produce algún cambio a través de las lineas CTS, DSR (de “1” a “0”) o CD. -En comunicación a través de módem, cuando se detecta una llamada. -Si se produce algún tipo de error en la comunicación: error de trama, desbordamiento de alguno de los buffers, etc… -Si se recibe el carácter de final de fichero.

En la presente aplicación, se desea una interrupción cada vez que un carácter

entre o salga del controlador 8250. Para ello se establecen las propiedades RThreshold y SThreshold a “1”.

-La propiedad InputLen especifica el número de bytes que se leen a la vez del

buffer de recepción. -Settings, donde se pueden modificar las típicas opciones de programación del

puerto serie como la velocidad de transmisión, el número de bits de paridad, el número de bits por trama y los bits de stop. Obviamente, es obligado que esa configuración sea la misma con la que trabaje el microcontrolador que debe recibir los datos.

La configuración escogida para esta aplicación, según resultados comprobados

en el laboratorio, ha sido de una velocidad de transmisión de 9600 baudios, sin bits de paridad, ocho bits de datos en la trama y uno de stop.

Page 52: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

47

Cualquier modificación que el usuario deseara realizar de esas variables implicaría una revisión tanto del código del programa de transmisión del PC como del microcontrolador máster.

-Inputmode: variable que establece la forma en que se leerán los datos que

llegarán por el puerto serie: en modo texto, donde se asociará cada dato a un carácter del código ASCII, o en modo binario, donde los datos entrantes serán matrices de bits.

En el presente proyecto, los datos se leerán en modo texto porque de esa manera

se añade facilidad en el manejo de los mismos. -CommPort y PortOpen son, respectivamente, las variables que eligen el puerto

serie por el que el usuario pretende transmitir la trama de datos asociados a cada tipo de consigna y la apertura de puerto mencionado. Ni que decir que el puerto seleccionado no debe estar utilizado por cualquier otra aplicación.

En el presente programa se ha dejado a cargo del usuario la elección del puerto

de comunicación a través del menú “Configuración E/S” que aparece en cada formulario de transmisión de datos. Se han habilitado las opciones “COM1” a “COM4” esperando que, en el ordenador en el que se instale el programa de comunicación, alguno de los cuatro puertos a seleccionar esté libre y operativo.

Una vez seleccionado el puerto de transmisión, se abre el puerto escogido y en

ese instante las interrupciones de puerto serie quedan activadas. Del conjunto de fuentes que pueden desencadenar este tipo de interrupción, sólo

se prestará atención a las que hagan referencia a la existencia de datos en el buffer. De esta forma, cuando se produce una interrupción, se suceden una serie de acciones:

-El VB genera un valor o código que especifica la fuente concreta que ha

desencadenado la interrupción. -En la rutina de servicio a la interrupción se compara ese valor con todos los

posibles e inmediatamente se ejecutan las instrucciones específicas para aquel suceso concreto:

-Si la interrupción se produce por algún cambio en las líneas de comunicación a

través de módem, se anuncia, porque al no trabajar con ese tipo de comunicación y, en el cable cruzado, tener sólo conectadas las líneas de transmisión y recepción de datos y la de referencia, si se produce este tipo de interrupción, lo más probable es que haya un error o cruce con los cables.

-Si se ha recibido un dato se lee y se compara con el carácter “<” (seleccionado

al azar en la tabla ASCII al inicio del presente proyecto); de coincidir se da la transmisión por finalizada exitosamente.

-Si hay un dato en el buffer de transmisión, no se realiza acción alguna ya que

queda por supuesto que el hecho de enviar información se supone un hecho perfectamente controlable desde la ejecución normal del programa.

Page 53: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

48

4.1.4-Menú de Ayuda El software del PC incorpora una opción de ayuda al usuario en el menú de la pantalla principal “Ayuda”, que pretende ser una introducción rápida y concisa para el usuario final del programa al funcionamiento del programa.

Cuando se ejecuta, se abre una pantalla que contiene instrucciones muy directas para que el usuario sea capaz de entender en pocas palabras el funcionamiento de cada modo de consigna, así como los rangos de trabajo de cada variable, para que no sea necesaria la lectura completa de la presente memoria en el momento de utilizar el programa de transmisión de consignas.

Cabe decir que el mencionado programa se ha procurado diseñar para que el

usuario final se vea prácticamente imposibilitado de transmitir una orden de consigna errónea, controlando toda introducción de datos para su restricción al rango especificado; constantemente aparecen cuadros de dialogo y aviso si el usuario pretende transmitir datos incorrectos.

Además, se ha diseñado un pequeño formulario, al que se puede acceder

clicando en la opción “Sobre transmisión”, dentro del menú “Ayuda”, donde se especifica el objetivo del programa, el tipo de microsensores de gases utilizados por el sistema sensor, el autor, departamento y fecha de creación, que se puede utilizar tanto para añadir la fecha y/o autor de una nueva revisión del programa como para situar a un usuario inexperto dentro de un contexto determinado.

Fig 33. Formulario de identidad del programa de Transmisión

Page 54: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

49

4.2-Software PIC16F876 El código fuente de los programas asociados a cada microcontrolador, una vez programados, se encuentran dentro de su memoria FLASH y se encarga de realizar las funciones asociadas propiamente a cada microcontrolador.

Toda la configuración de los diferentes periféricos utilizados en cada momento (RTCC, PWM, ADC…) y de cualquier elemento interno al PIC se efectúa mediante cambios de valor en los diferentes registros que se encuentran internamente dentro de la memoria RAM. Ésta es volátil y es por eso que debe ser reprogramada por el software cada vez que se requiera de una nueva ejecución.

Los registros, constantes y variables independientes al software e inherentes a la

programación de todos y cada uno de los módulos y registros del microcontrolador escogido, se encuentran compendiadas dentro del fichero <16F876.h>, incluido de manera sencilla en la cabecera de cada programa.

De esta forma, bajo el entorno de programación C++ que otorga el compilador

PWC C Compiler se pueden usar fácilmente todas las funciones y variables requeridas para la programación de cada módulo sin necesidad de adentrarse en las dificultades comprensivas de un lenguaje de bajo nivel.

En los siguientes apartados se desglosarán intuitivamente las funciones de cada

software, dividiéndolas, para una mejor comprensión, en distintos apartados. El código correspondiente a cada microcontrolador se puede encontrar en los anexos incorporados. 4.2.1-Software microcontrolador Máster Tal y como se ha comentado anteriormente, el microcontrolador máster es el encargado de recibir los datos de consigna transmitidos por el usuario mediante el software instalado en el ordenador, confirmar dichos datos y generar la señal de consigna explicitada a la espera de recibir nuevos datos. La recepción de los datos de consigna, así como la temporización de cada valor de consigna, si procede (modo Incremental), se fundamenta en la rutina de servicio a la interrupción asociada que incluye una serie de instrucciones a seguir cada vez que se genere una interrupción. La generación de la señal PWM, cuyo valor de tensión continua es proporcional a cada valor de temperatura requerido en cada intervalo de tiempo, se fundamenta tanto en la inicialización del timer2, encargado de la frecuencia de la señal, como en los valores concretos de ciclo de trabajo (dutty cicle) que se irán calculando a medida que avance el tiempo de ejecución. En los siguientes subapartados se irán desglosando las inicializaciones, funciones y cálculos que giran entorno al microcontrolador máster.

Page 55: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

50

4.2.1.1-Inicializaciones Una vez conectado el sistema sensor a la fuente de alimentación correspondiente, el microcontrolador máster procede a inicializar los módulos y variables necesarios que requiere para recibir del usuario, procedentes del PC, el modo y las constantes de consigna necesarias para adentrarse en el bucle de escritura del ciclo de trabajo de cada PWM a generar. Durante la ejecución del programa del microcontrolador máster, se pueden utilizar los registros libres ó de propósito general de la RAM del integrado para almacenar todas aquellas variables que se usarán durante la ejecución del programa. Estas variables no son sino acumuladores para las temporizaciones, variables intermedias o variables donde almacenar los datos transmitidos. De ser necesario, la mayoría de ellas se inicializan a cero. El módulo USART se inicializa en la cabecera del programa para recibir y transmitir datos a una velocidad de 9600 baudios, acorde con lo programado en el software de transmisión de consignas, y se habilita la interrupción correspondiente: int_rda. Tanto en el modo de trabajo “Continuo” como en el modo de trabajo “Incremental”, la frecuencia del PWM que se genera es invariable y constante. El timer2 es el temporizador que dirime el periodo, y por tanto la frecuencia, de trabajo de la señal generada. Para obtener el valor deseado de la señal de PWM es necesario introducir en PR2 (registro de control interno del microcontrolador asociado al módulo PWM) el valor entero saliente de la siguiente expresión:

( ) PREESCALEROSCPWM TMRTPRT 2412 ⋅⋅⋅+= (20) Donde se define TOSC como el periodo de oscilación del cristal de cuarzo y TMR2PREESCALER como el número de múltiplos de periodo antes de la recarga de timer2, es decir, antes de que se produzca una interrupción, pudiendo ser éste 1, 4 ó 16. En este caso, como el periodo a generar puede ser alcanzado sin necesidad de PREESCALER se utiliza 1.

La frecuencia de PWM debe estar debidamente alejada de la frecuencia de corte del filtro de Butterworth anteriormente calculado (ver 3.1.3-Filtro de Butterworth), de aproximadamente 16,5 Hz. Se escoge una frecuencia de 47kHz por estar alejada entre tres y cuatro décadas de la frecuencia de corte del filtro y por ser una frecuencia que no ofrece, según el datasheet del integrado, una pérdida alarmante de resolución. Con todo esto, se puede calcular el valor necesario de PR2 para inicializar el módulo:

( ) 14

1412

471

⋅⋅⋅+=MHz

PRkHz

⇒ 2766.202 =PR

Como PR2 debe ser un valor entero, se escoge, por aproximación, PR2 = 20, lo que deja una frecuencia final de PWM de exactamente 47,619 kHz; valor que es utilizado como constante en la cabecera del programa para un posterior cálculo más preciso del ciclo de trabajo.

Page 56: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

51

Para establecer el ciclo de trabajo de la señal, se calcula qué periodo de tiempo está en alto la señal. Es decir, cuando timer2, en su cuenta, alcance cierto valor, cambia el estado de la señal de salida de “alto” (5v) a “bajo“ (0v) y permanece en ese nivel hasta que se complete el periodo total. Por lo tanto, dc ó ciclo de trabajo se puede calcular usando la expresión: PREESCALEROSCcycleduty TMRTREGPWM 2_ ⋅⋅= Donde REG es un registro interno que almacena el valor a calcular para variar dc. Si se considera que PWMduty_cycle tiene unidades de segundos ó milisegundos y que el valor de PREESCALER utilizado, se explica el razonamiento:

PREESCALEROSCPWM

TMRTREGf

dc 21

⋅⋅=⋅ (21)

De la ecuación (21) se desprende el valor dc, que será definido por los valores traspasados desde el programa de transmisión de consignas al microcontrolador máster. Dichos valores de consigna están encuadrados dentro de un rango comprendido entre cero y 255 decimal, tal y como se explica en el punto 4.1.1 de esta memoria. Eso explica que para calcular el porcentaje de tiempo a nivel alto sea necesario dividir entre el máximo valor que puede tomar la señal de consigna: 255. Por lo tanto, el cálculo del valor de REG necesario para ajustar el valor del ciclo de trabajo del módulo PWM queda establecido en:

OSC

PWM

TTconsigna

REG ⋅−

=128

(22)

Este valor alcanzará su máximo cuando se necesite calentar el heater a una temperatura de 450 ºC. En ese caso, el valor máximo de REG, necesario para un ciclo de trabajo del 100%, queda definido, según (22), como:

8412

2558

=⋅−

=OSC

PWM

TT

REG

El cálculo del valor REG será necesario realizarlo cada vez que sea necesario generar un valor nuevo de consigna, es decir, tras una nueva transmisión, trabajando en modo incremental o continuo, o tras un lapso de tiempo definido por el usuario, trabajando en modo incremental.

Page 57: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

52

4.2.1.2-Interrupción de transmisión Una vez inicializado el módulo PWM y activadas las interrupciones correspondientes, se procede a la espera de que el usuario transmita las constantes de consigna, que serán recibidas mediante interrupción al programa principal del módulo USART.

Al producirse una interrupción generada por el módulo USART, se genera una secuencia de sucesos resumidos esquemáticamente en la figura 34 (fig. 34):

Fig 34. Diagrama de bloques de la interrupción USART En la trama de consigna proveniente del usuario a través del PC, hay añadido un carácter que informa al microcontrolador de si el modo de trabajo requerido es continuo o es incremental. De ser continuo, el único paso a seguir es calcular el valor del ciclo de trabajo que hace generar un valor de tensión en la salida del filtro de Butterworth

int_rda inicio

Recepción de un carácter

¿Trama completada?

No

fin int_rda

Retorno función principal

Envío de carácter de fin de transmisión

¿Modo de trabajo?

Inc. Cont.

Copia de valores de consigna, cálculo de periodo entre

consignas, inicialización RTCC y habilitación int_RTCC. Primer

valor de dc.

Deshabilitación RTCC y cálculo de dc.

Page 58: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

53

proporcional a la temperatura de consigna (según la aplicación de la figura 35) utilizando la ecuación (22).

Fig 35. Relación entre carácter de consigna y tensión media generada Asimismo, se deshabilitan las interrupciones del timer0 ó RTCC, encargadas, en el modo incremental, de generar los tiempos entre consignas. De esta manera, el valor de ciclo de trabajo calculado, permanecerá constante hasta una nueva orden del usuario o la desconexión del equipo. En la trama transmitida del modo de trabajo incremental, además de las constantes de temperatura para cada heater, viene incorporado el periodo de tiempo que el sistema debe mantener estable los valores de temperatura; aunque igual que con los valores de temperatura, viene codificado en forma de carácter (ver 4.1.2-Modo de transmisión «Incremental»). Para generar ese periodo de tiempo, se utiliza uno de los dos timers del microcontrolador que continua en desuso, en este caso, tal y como se ha comentado anteriormente, el RTCC.

Del mismo modo que en la inicialización del timer2, para el módulo PWM, el

RTCC sigue un proceso semejante, aunque teniendo en cuenta que el valor de tiempo a conseguir no es constante, sino que puede ser reprogramado por el usuario tantas veces como sea necesario mediante una nueva transmisión.

El problema reside en el tiempo a alcanzar, del orden de segundos. El RTCC es

un timer de 8 bits y, si procede, genera una interrupción cuando éste desborda, es decir, en el instante que pasa de 255 a 0. El tiempo que tarda en realizar esta acción es programable por el usuario, pero siempre limitado por el máximo admisible (65,5 ms, aprox.).

De esta manera, es necesario concatenar dos timers para llegar a alcanzar un

valor cercano a los segundos. Este problema se resuelve utilizando un timer vía hardware (el mencionado timer0) y otro software que tenga como reloj el anterior, tal y como se puede observar en la figura 36 (fig 36).

Para utilizar números cómodos en el momento de la programación, se explicita

generar una interrupción de RTCC cada 50 ms, periodo que como máximo causará una desviación del mismo tiempo en el periodo total de consigna, lo que permite asegurar que el error no es en absoluto apreciable.

0.5

5

25 255

Char (dec.)

vo_butterworth (v)

Page 59: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

54

Fig 36. Generación de bases de tiempo

Para conseguir la escala de tiempo deseada, 50 ms, es necesario calcular el valor del registro interno del timer0. Como la base de tiempo a generar es de un valor considerable, se selecciona el valor de preescaler máximo admitido por el RTCC: 256. De esta manera, el cálculo es sencillo:

6875,602564

400000005.0256

04)(

256_ =⋅

⋅−=

⋅⋅

−=PREESCALER

osc

TRMfst

RTCCREG

El valor a programar debe ser un valor entero, así que por proximidad, se escoge

61, lo que creará una desviación en la base de tiempo. Para no tener más error del admitido, es necesario calcular la base de tiempo real:

( )

mstic 92,494000000

10612562564 3

=⋅−⋅⋅

=

De esta manera, se generará una interrupción de RTCC cada 49,92 milisegundos. Para alcanzar el intervalo requerido, será necesario multiplicar esa base de tiempo tantas veces como sea necesario hasta alcanzar el valor requerido. 4.2.1.3-Interrupción de RTCC Tal y como se ha explicado en los anteriores apartados, sólo en el modo de trabajo incremental se generarán interrupciones de timer0 ó RTCC. Esta interrupción será la encargada de variar los valores del ciclo de trabajo del módulo PWM cada vez que sea necesario. La interrupción divide la señal de consigna incremental en ocho estados, definidos en la figura 37 (fig. 37).

Fig 37. Subdivisión de la señal de consigna en estados

To

vomin

vomax

vo_butterworth (v)

t (s)

S0 S1

S2

S3

S4

S5

S6

S7

S0 …

[ ]sfosc

µ4

REG_RTCC cuenta [ ] cuentaticsto ⋅=

[ ] ( )OSC

PREESCALER

fRTCCREGTMR

mstic310_25604 ⋅−⋅⋅

=

Page 60: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

55

Como se puede apreciar, la señal de consigna se subdivide en ocho estados, siendo los impares los que varían su valor incrementalmente, y los pares los que conservan el valor inicial. La interrupción de RTCC evalúa el estado futuro para saber si debe incrementar la consigna o recuperar la inicial. Se puede observar el esquema de funcionamiento en el siguiente diagrama de bloques:

Fig 38. Diagrama de bloques de la interrupción RTCC

int_rtcc (49,92 ms)

inicio

Decremento acumulador de

interrupciones en una unidad

¿Intervalo completado?

No

fin int_rtcc

Retorno función principal

Recarga del acumulador

¿Estado par? No Sí

Cálculo o recarga del ciclo de trabajo

para S0

Actualización del estado de la señal

de consigna

Cálculo nuevo valor de ciclo de trabajo

Actualización ciclo de trabajo

Page 61: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

56

En caso de encontrarse en un estado par, la interrupción procede a incrementar el valor del ciclo de trabajo. Este aumento se calcula de manera proporcional, es decir, restando la temperatura máxima y la mínima (en este caso el valor codificado ASCII correspondiente) y dividiendo el resultado entre tantos incrementos como sean necesarios, en este caso cuatro. El valor resultante es nombrado como offset:

sincremento

TToffset minmax −

= (23)

De esta forma, en el primer incremento (estado S1, según fig. 37), se añade un valor de offset al ciclo de trabajo inicial, en el estado S3 se añaden dos, en el S5 se añaden tres y en el S7 se añaden cuatro, o lo que es lo mismo, se llega al valor máximo de consigna. Una vez generados los valores de consigna, independientemente del modo requerido, los microcontroladores esclavos son los encargados de recibir dichos valores y comenzar el lazo de control sobre la resistencia de heater. 4.2.2-Software microcontroladores Esclavos Los microcontroladores esclavos tienen por función, única y exclusiva, elevar y mantener dentro de los rangos de consigna la temperatura de la resistencia de heater de los sensores micro-hotplate, independientemente de las variaciones de temperatura del entorno. El control suficiente y recomendado, tal y como se ha probado en proyectos anteriores, es un control P directamente sobre el valor de resistencia, aunque controles más complejos, como pudieran ser un PID o un PI, no desmejoran los resultados obtenidos. Igual que ocurre con el funcionamiento del microcontrolador máster, los esclavos fundamentan su actividad en rutinas de servicio a la interrupción, conformando el lazo de control dentro de la rsi correspondiente, captando los datos necesarios del exterior y calculando el ciclo de trabajo del módulo PWM cada vez que sea necesario. En los siguientes apartados se desglosará el funcionamiento del lazo de control tratando de explicar concisa y sencillamente su completo funcionamiento. 4.2.2.1-Inicializaciones Antes de proceder a la secuencia de control, además de las variables propias del programa, inicializadas a cero de ser necesario, es imprescindible inicializar los módulos internos del microcontrolador que se utilizarán dentro del lazo de control. Parte fundamental del lazo son los convertidores analógico digitales que posee integrados el microcontrolador PIC16F876. Como cada lazo de control necesita captar cinco señales (consigna, intensidad y tensión del primer heater e intensidad y tensión

Page 62: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

57

del segundo heater) es necesario inicializar el módulo A/D de manera que todos los canales de conversión estén operativos. Conjuntamente se define la frecuencia de conversión. En el PIC16F876 se aconseja que el tiempo que dure la conversión de un bit (TAD) no sea menor a 1,6 µs, lo que implica inicializar el módulo a un frecuencia lo suficientemente baja como para entrar en los intervalos de adquisición de datos, pero lo bastante alta como para que se cumpla totalmente el tiempo de conversión. El microcontrolador permite escoger entre tres frecuencias submúltiplas de la frecuencia de oscilación (FOSC / 2, FOSC / 8, FOSC / 32) y una frecuencia derivada del oscilador RC interno. El periodo de adquisición para las frecuencias anteriores, por lo tanto, queda definido por:

sf

Tosc

AD µ5,02

== sf

Tosc

AD µ28

==

sf

Tosc

AD µ832

== sf

TRC

AD µ861

÷≈=

Debido a que el oscilador interno (conformado por una célula R-C) sólo es aconsejable cuando el microcontrolador trabaja en modo SLEEP, se opta por configurar el módulo A/D a una frecuencia en la conversión de 32oscf . El conversor trabaja con unas tensiones de referencia iguales a las del resto del circuito, es decir VDD, para el margen superior (al ser una tensión lo suficientemente estable) y masa para el margen inferior. Al programarse para conversiones de 10 bits, la precisión representada por el bit menos significativo se calcula como:

bitmVVV

V refrefLSB 89.4

10235

1210)()( ==

−=∆ −+

Al realizar la conversión de los valores analógicos requeridos y para que el valor de conversión sea lo más cercano posible al valor real, es necesario que la capacidad que mantiene el valor de la tensión de entrada tenga tiempo a cargarse completamente. Es decir, antes de recoger el dato resultante de la conversión es necesario esperar un breve lapso de tiempo para que ésta se haga con la mayor precisión posible. Ese intervalo de tiempo se puede calcular como: CTEMPCAMPADQ TTTT ++= (24) Donde se define TAMP como el tiempo que tarda en estar listo el amplificador interno, TC es la constante de tiempo del condensador interno y TCTEMP es el retardo producido por su coeficiente de temperatura. Asumiendo que el valor de la capacidad interna es de 120 pF, que el equivalente Thevenin del circuito de entrada tiene una resistencia de entrada de 10 k, que TAMP son 2

Page 63: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

58

µs y que debido a la temperatura se obtiene un retardo cercano a 1,5 µs, se obtiene un tiempo de espera para la conversión de 20 µs. Tras realizar la inicialización del módulo A/D, es necesario inicializar los módulos PWM, tal y como sucedía con el microcontrolador máster.

Dentro del lazo de control se realizan tanto las conversiones A/D como la actualización del ciclo de trabajo, por lo tanto, condicionado por los tiempos de conversión, es imprescindible que el periodo de la señal PWM sea mayor que el máximo tiempo que necesite el lazo de control para realizar todas las operaciones que requiera. De esta manera, se puede actualizar a tiempo el ciclo de trabajo sin perder periodos de PWM. El mayor tiempo de control es necesario emplearlo para la espera de las conversiones A/D. En cada muestreo es necesario realizar cinco conversiones, lo que implica un tiempo de espera de 100 µs. Suponiendo que, como máximo, se requiera el mismo tiempo para realizar el resto de operaciones dentro del lazo de control, se estima que éste necesita 200 µs cuando toma el camino más largo. La frecuencia de PWM inicializada en el microcontrolador máster (sobre los 47 kHz) tiene un periodo cercano a los 20 µs, valor claramente insuficiente para cubrir el periodo de control. Es necesario calcular una frecuencia con un periodo mayor. Una frecuencia de PWM de 4 kHz equivale a un periodo de 250 µs, suficientes para cubrir el periodo de control y actualizar el ciclo de trabajo. Para obtener esa frecuencia, es necesario calcular el valor del registro PR2 de la ecuación (20) e inicializar timer2, encargado de generar la frecuencia de PWM, a ese valor:

( ) PREESCALEROSC TMRTPR 2412s 250 ⋅⋅⋅+=µ Como el tiempo a alcanzar es mayor que en el caso anterior y PR2 es un registro de 8 bits, se eleva el valor de TMR2PREESCALER a 16. Por lo tanto:

( ) 164

1412

41

⋅⋅⋅+=MHz

PRkHz

⇒ 625,142 =PR

Redondeando al alza, se obtiene un valor de PR2 de 15. Esto genera una variación en la frecuencia inicial quedando programada a 3906,25 Hz. Consecuentemente a lo explicado, no es posible tomar muestras a menor temporización que la marcada por la frecuencia PWM y, al mismo tiempo, es necesario dejar un margen de varios periodos de PWM para estabilizar el valor continuo de la señal tras el filtrado y para que la resistencia de heater pueda traspasar el calor generado a la capa activa del sensor. Se considera que para tal efecto, un tiempo de muestreo cercano a la decena de milisegundos recoge todas las anteriores premisas, teniendo en cuenta que dicho tiempo no puede ser demasiado elevado para que el control tenga suficientes muestras como para poder aplicarlo correctamente.

Page 64: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

59

Para generar la frecuencia de muestro se usa el RTCC y su inicialización es semejante a la calculada en el apartado 4.2.1.2 para el microcontrolador máster. Se ha considerado que 30 periodos de PWM son suficientes para garantizar una estabilidad correcta del calor generado por la resistencia de heater. Un ciclo de PWM se completa cada 256 µs, de forma que un ciclo de muestreo estaría alrededor de los 7,68 ms (30·To), lo que equivale a una frecuencia de muestreo de 130 Hz. De esta manera, la inicialización del RTCC se fundamenta en el cálculo del valor a programar en su registro asociado para que desborde en cada periodo de muestreo. Esto es:

95,2252564

4000000130

1

25604)(

256_ =⋅

⋅−=

⋅⋅

−= HzTRM

fstRTCCREG

PREESCALER

osc

Redondeando al alza, REG_RTCC = 226, lo que genera una frecuencia real de muestreo de 130,21 Hz, dato que es lo suficientemente próximo al valor estimado como para carecer de relevancia. Una vez inicializado el RTCC, se procede a habilitar la interrupción asociada. Durante la programación se ha preferido programar el lazo de control dentro de la rutina de servicio a la interrupción asociada al RTCC para que los tiempos de ejecución se ajustasen lo más precisamente posible a lo teórico. Pese a que el tiempo de adquisición y control es elevado (∼200 µs), éste es fijo y controlado, por lo tanto el riesgo de que el tiempo de atención a la interrupción se incremente de manera descontrolada causando un malfuncionamiento del programa se reduce a una mínima expresión.

Una vez inicializados los módulos necesarios, se carga el máximo valor admisible de ciclo de trabajo en las variables que lo controlan, para que el primer valor muestreado sea un valor distinto de cero, y se procede a la entrada en el lazo de control. 4.2.2.2-Lazo de control El lazo de control para dos resistencias de heater se sitúa dentro de la rutina de atención a la interrupción del RTCC y tanto el muestro de las señales de entrada, como el control de la señal de salida (intensidad de heater mediante modulación PWM) se realiza cada vez que se cumple el tiempo de muestreo indicando anteriormente. El diagrama de bloques de la figura 39 (fig. 39) muestra resumidamente los pasos que sigue el microcontrolador cada vez que entra dentro del lazo de control:

Page 65: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

60

fig 39. Diagrama de bloques del lazo de control

Tal y como se puede observar en el gráfico anterior, se realizan tres adquisiciones por cada resistencia de heater: valor de consigna, enviada por el microcontrolador máster, intensidad de y tensión de heater, provenientes, cada una de ellas de los circuitos captadores de señal (ver 3.2.3-Captación de señal). El conversor A/D convierte la señal analógica de su puerto de entrada a un valor digital de 10 bits que se enmarca dentro de una variable de tipo long. Para conocer el valor real de cada variable, se debe realizar la conversión a las unidades correspondientes.

INICIO

Adquisición de temperatura de

consigna y cálculo Rh en consigna

Lectura de tensión e intensidad de heater

¿ih = 0?

Cálculo Rh

real

¿Rh_consigna mayor

Rh_real?

Incremento del ciclo de

trabajo

Decremento del ciclo de

trabajo

No

No

int_rtcc (7.68 ms)

Lazo de control FIN

Retorno a función principal

Page 66: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

61

Para resolver la temperatura de consigna a la que se quiere mantener la resistencia heater de los sensores, se sigue el procedimiento inverso al usado en la programación del microcontrolador máster, el cual se puede ver reflejado en el siguiente gráfico:

fig 40. Relación entre tensión y temperatura de consigna De esta manera, según la aplicación de la figura anterior y siguiendo un desglose parecido al visto en anteriores puntos, la temperatura de consigna en relación a la tensión adquirida queda definida por la ecuación (25):

5.2285.4

200+= ADVTemp (25)

Nuevamente, ya que la variable de temperatura quedará dentro de una variable de tipo entero, se añade medio punto al valor calculado para que, al redondear, la pérdida de precisión sea la menor posible.

A ojos del microcontrolador, el valor de la tensión adquirida, VAD, no es más que un parámetro intermedio, ya que el resultado de la conversión no será más que una ristra de diez bits que serán depositados en las pertinentes variables. Para saber el valor de tensión analógica, sólo será necesario aplicar el factor de conversión (26):

convconvV

Vb

ccAD ⋅=⋅

−=

10235

12 (26)

Siendo la variable “conv” una variable de tipo long que almacenará el resultado

de la conversión. De esta manera, eliminando la variable intermedia VAD de la ecuación (25) con este nuevo resultado, obtenemos el cálculo de la temperatura de consigna según la lectura del canal analógico asociado, logrando la ecuación programada en el microcontrolador:

5.2287.920

200+⋅= convTemp (27)

Una vez obtenida la consigna de temperatura se procede al cálculo de la resistencia de heater a temperatura de consigna según la ecuación (2), comentada en el punto 1.5.4- Modelo eléctrico/electrónico, con la salvedad de que la diferencia de

250

450

0.5 5 VAD (v)

Temp. (ºC)

Page 67: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

62

temperaturas entre la temperatura de trabajo y la temperatura ambiente que allí aparece ya queda contemplada en la temperatura de consigna en la que el usuario quiere mantener la resistencia de heater; así pues:

( ) TRRTR ooh ∆⋅⋅⋅+= −41079,6 (2) El siguiente paso, siguiendo el diagrama de bloques del lazo de control de la figura 39 (fig. 39), es calcular la resistencia de heater real, para poder realizar una comparación entre la consignada y la real y aplicar, de ser necesario, la pertinente corrección en el ciclo de trabajo. Como se ha comentado en otros puntos de la presente memoria, para saber la resistencia de heater real, es necesario realizar un cociente entre la tensión de heater y la intensidad que en ese momento está proporcionando la fuente de corriente Howland. Ambos parámetros están conectados a dos canales de conversión analógico-digital del microcontrolador. Dichas conversiones, de la misma forma que ocurre con la tensión de consigna, serán almacenadas en la variable tipo long que contendrá los 10 bits resultados de la conversión. Por lo tanto, deberán realizarse dos nuevos factores de conversión para conocer el valor de tensión e intensidad de heater. Para la intensidad de heater, conociendo que el valor máximo de intensidad que puede alcanzar la fuente de corriente Howland es 7.35 mA en valor absoluto, obtenemos:

convconvi

ibh ⋅=⋅

−=

102335.7

12max (28)

La tensión de heater es calculada de forma similar, teniendo presente, siempre y cuando, que la tensión de heater es distinta para cada tipo de sensor (ver 3.2.3.2-Captación de la tensión de heater) y que, por lo tanto, el valor máximo de la misma deberá ser programado en el lazo de control teniendo en cuenta el tipo de sensor al que va dirigido el mismo. De esta forma:

convv

v bh

h ⋅−

=12

max_ (29)

Un detalle a tener en cuenta son las unidades de cada variable; la intensidad de heater aparece con unidades de miliamperios y la tensión de heater aparece con unidades de voltios, así que para que la resistencia resultante de la división aparezca con unidades de ohmios es necesario que la tensión de heater se multiplique por 1000, o bien, que la intensidad de heater se divida entre 1000. Para evitar problemas, se evita esta última solución, de manera que se pueda trabajar con valores más elevados y acordes con el tipo de variables manejadas. De esta manera, la ecuación (29) queda expresada:

convv

v bh

h ⋅−

⋅=

12

1000max_ (30)

Page 68: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

63

Tal y como se ha comentado, el cociente entre ambas según la Ley de Ohm, dará como resultado la resistencia de heater real e instantánea. El siguiente paso del lazo de control será comparar la resistencia consignada y la real: si la resistencia consignada es mayor a la resistencia real, será necesario incrementar el ciclo de trabajo para que la intensidad de heater aumente, aumentando así la temperatura de trabajo. De la misma manera, si ocurre el caso contrario, resistencia de heater real mayor a la consignada, el ciclo de trabajo deberá disminuir.

Al realizarse un control de carácter proporcional, el incremento o decremento

del ciclo de trabajo vendrá dado por la diferencia entre resistencia real y consignada aplicada sobre el ciclo de trabajo anterior. Intuitivamente:

max_

__1 Rh

consignaRhrealRhPdcdc tt

−⋅±= − (31)

Por lo tanto, para calcular el valor de dc que será necesario traspasar a los

módulos PWM del microcontrolador, será necesario utilizar la expresión (21), utilizada para calcular el ciclo de trabajo del microcontrolador máster, en el punto 4.2.1.1-Inicializaciones, y la expresión anterior. De esta manera, resulta:

max_2

__

RhTMRf

consignaRhrealRhfPdcdc

PREESCALERPWM

osc

⋅⋅

−⋅⋅±=∆ (32)

Si se tiene en cuenta que la frecuencia de oscilación del cristal son 4 MHz, que

la frecuencia de la señal de PWM es de 3906,25 Hz, que el valor de PREESCALER asignado es 16, se obtiene la expresión final del ciclo de trabajo, según (33):

max_

__64

Rh

consignaRhrealRhPdcdc

−⋅⋅±=∆ (33)

La constante proporcional P vendrá definida en la cabecera del programa, siempre según las preferencias y necesidades del programador, según si requiera que el ciclo de trabajo (y por tanto la temperatura del heater) se pueda incrementar con una pendiente pronunciada o suave y paulatinamente.

Finalmente, el comportamiento del lazo de control se puede observar en el

siguiente cronograma, donde se ven compendiados todos los tiempos de ejecución como la captación de señal por parte del microcontrolador:

Page 69: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Software

64

fig 41. Cronograma de funcionamiento del lazo de control

TPWM = 256 µs

TMuestreo = 30·TPWM = 7.68ms

TControl

t

t

t

t

t

PWM

Consigna

Ih

Vh

Control

Captación señal (canal A/D)

Actualización dc

Page 70: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Comprobación de funcionamiento

65

5 Comprobación de funcionamiento

En el siguiente apartado se plasman algunos de los datos obtenidos durante la consecución del presente proyecto, tras realizar una prueba empírica de funcionamiento.

Los datos tales como tensiones absolutas (tensión de heater, tensión de

consigna) y las tensiones intermedias (tensión de la resistencia para la medida de la intensidad de heater) han sido observados bien con un multímetro estándar, bien con un osciloscopio de laboratorio, lo cual apunta a que la precisión de los mismos debe entrecomillarse debidamente.

Los datos de “proceso”, aquellos que son propios de cálculos internos de los

microprocesadores, se han calculado a posteriori, tal y como se detallará más adelante, a partir de las ecuaciones y razonamientos expuestos a lo largo de esta memoria.

El ensayo se realiza con el modo de consigna «incremental», con unos datos de

consigna de entre 300 y 400 ºC como temperaturas mínima y máxima respectivamente; y para tener el tiempo necesario de tomar todos los datos, se estipula un tiempo de cambio entre consignas de 2 segundos, lo que equivale a 500 mHz.

Fig 42. Datos de consigna El ensayo se realiza con un heater de resistencia teórica de 650 O en el que se

miden, al principio de la prueba, 670 O reales.

5.1-Puntos de medida Para el ensayo se proponen tres puntos de medida fijos: tensión de consigna (en la salida del filtro de Butterworth conectado a las tarjetas de control de temperatura de los sensores de 650 O; punto de medida 1 en fig. 43), tensión flotante de la resistencia

Page 71: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Comprobación de funcionamiento

66

de medida de la intensidad de heater (punto de medida 2) y tensión de heater propiamente dicha (punto de medida 3).

Fig 43. Puntos de medida Los datos recogidos tendrán unidades de voltios, aunque la tensión de la resistencia de medida de la intensidad de heater (punto de medida 2) se anota como milivoltios por ser una unidad más adecuada. 5.2-Resultados Para englobar lo dicho anteriormente y para una mayor comprensión y visualización de los datos recogidos, éstos se resumen en la siguiente tabla:

1

2

3

Page 72: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Comprobación de funcionamiento

67

Brevemente, siguiendo el orden de la tabla anterior, se presenta en la primera columna el estado en el que se encuentra la señal de consigna incremental (los estados pares incluido el primero retroceden hasta la temperatura mínima consignada, los impares se incrementan proporcionalmente; ver 1.4-Soluciones), en las dos siguientes columnas se muestra la temperatura de consigna y su valor decimal tras haber sido convertido en carácter ASCII para su posterior transmisión al microcontrolador máster por parte del programa de transmisión.

Seguidamente, tal y como se puede observar en la fig. 43, se presenta la tensión de salida del filtro de Butterworth encargado de filtrar la señal PWM generada por el microcontrolador máster, cuyo valor es proporcional a la temperatura de consigna. Con ese valor se obtiene la siguiente columna, la temperatura de consigna que recibe el microcontrolador esclavo de la tarjeta de control; valor que generará dicho microcontrolador usando las ecuaciones (26) y (27) del punto 4.2.2.2-Lazo de control de la presente memoria.

Tras eso se miden tensión e intensidad de heater real e instantánea. Usando la

Ley de Ohm se procede a calcular la resistencia de heater instantánea y, con la relación de la resistencia de heater y temperatura ambiente (ecuación (2), 1.5.4- Modelo eléctrico/electrónico) se calcula, finalmente, la temperatura del heater.

5.3-Conclusiones Tal y como se puede comprobar en la tabla relacional anteriormente expuesta, existe una desviación entorno al 4% de la temperatura realmente consignada por el usuario a la que finalmente se ve elevada la resistencia de heater del sensor.

Est

ado

Tem

per

atu

ra d

e co

nsi

gn

a (º

C)

Con

vers

ión

a de

cim

al

Tens

ión

de

con

sig

na[1

] (v)

Con

vers

ión

a T

empe

ratu

ra (

ºC)

Tens

ión

de

hea

ter[3

] (v

)

Inte

nsi

dad

de

hea

ter[2

] (m

A)

Res

iste

nci

a d

e h

eate

r (O

)

Tem

per

atu

ra r

eal

de

hea

ter

(ºC

)

S0 300 83 1.83 310 3.42 4.35 786.2 307

S1 325 112 2.39 336 3.62 4.53 799.1 337

S2 300 83 1.83 310 3.41 4.33 787.5 312

S3 350 141 2.96 361 3.81 4.70 811.2 365

S4 300 83 1.83 310 3.41 4.33 787.5 312

S5 375 170 3.53 387 3.99 4.85 822.2 390

S6 300 83 1.83 310 3.39 4.33 784.0 304

S7 400 198 4.08 412 4.15 4.99 832.5 414

Page 73: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Comprobación de funcionamiento

68

Esta desviación se produce principalmente por cuatro factores: las múltiples conversiones y redondeos al alza que se realizan hasta que dicho valor es concretado en el microcontrolador esclavo que lo recoge, la tensión de offset del amplificador operacional LM741 que forma parte del filtro de Butterworth adherido a la señal PWM que el microcontrolador máster genera para traspasar el valor de consigna, la desviación entre el valor programado y el valor real de la resistencia de heater para temperatura ambiente (650 contra 670O) y la imprecisión de medida inherente a los instrumentos utilizados. Pasando por alto esa desviación, se observa que el error entre la temperatura de consigna que recoge el microcontrolador encargado de ejecutar el lazo de control, y la temperatura a la que es elevada la resistencia heater es prácticamente despreciable, entre el 1 y el 2%, teniendo en cuenta, una vez más las imprecisiones de las medidas y la desviación de Rh(Tamb). Por otra parte, se observa que el incremento y decremento de temperatura, siguiendo la forma de onda de la consigna incremental, se produce debidamente y ésta crece y decrece según lo hace su consigna. Esto se puede ver resumido en la siguiente figura:

Fig 44. Tª de consigna y Tª de heater real

Finalmente, apuntar a posibles caminos de mejora del sistema como puede ser la comunicación entre microcontrolador máster y esclavos mediante protocolo de comunicación I2C, lo que abriría las puertas a la eliminación de la doble conversión D/A – A/D de la señal de consigna, evitando en gran medida la desviación de conversión y añadiendo la posibilidad de transmitir tanto los datos de tensión e intensidad hacia el PC, para un posterior procesado más preciso y detallado —pese al incremento de tiempo en cada iteración del lazo de control que eso supondría—, como otros datos suplementarios hacia el lazo de control como un nuevo valor de TCR, constante proporcional del lazo de control P, resistencia de heater a temperatura ambiente, etcétera…

300

400

T (ºC)

t (s)

307

414

337

t (s)

325 350

375

365 390

Page 74: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Planos

69

6 Planos En las siguientes hojas se muestran tanto los esquemas de conexionado eléctrico (lay-out) de la placa base y los lazos de control como el rutado de pistas de ambos circuitos, a los que se hacer referencia en los apartados anteriores. Los planos que se incluyen en este apartado son, por estricto orden:

6.1-Lay-out de la Placa Base (pág. 70). 6.2-Rutado de pistas (cara de arriba) de la Placa Base (pág. 71). 6.3-Rutado de pistas (cara de abajo) de la Placa Base (pág. 72). 6.4-Cara de componentes de la Placa Base (pág. 73).

6.5-Lay-out de la tarjeta de los Lazos de Control (pág. 74). 6.6-Rutado de pistas (cara de arriba) de la tarjeta de control (pág. 75). 6.7-Rutado de pistas (cara de abajo) de la tarjeta de control (pág. 76). 6.8-Cara de componentes de la tarjeta de control (pág. 77).

6.9-Plano constructivo de la cámara de acero utilizada para los sensores microhot-plate (pág. 78).

Todo el diseño ha sido realizado con el programa de diseño electrónico Orcad Capture & Lay-out v.9.0.

Page 75: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

5

5

4

4

3

3

2

2

1

1

D D

C C

B B

A A

+5

+5

+15

-15

-15

-15

-15

-15

+5

-15

-15

+15

+15

+15

+15

+15

+15

+5

+5

+5+5

+5

+5

GrupoSensor

+15GND

Adquisición dedatos (Vh)

-15

Vin_dcRBO/INT

Ih2

Ih3

Capa fina

Capagruesa

Vin_dcRBO/INT

Ih3

Ih4

Ih2

Ih1

Ih1

Ih4

MedidaResistenciaRs

E.T.S.E. D.E.E.E.A.

Lay-Out de la Placa Base

Desarrollo de un sistema integrado para el controlde Temperatura de trabajo de agrupaciones integradas

de microsensores

R.FOLCH

E.LLOBET

E.LLOBET

20/05/05

20/05/05

20/05/05

ESCALA N/A

DIB

UJA

DO

VE

RIF

.A

PR

OB

.

Contrato Unidad Sección Código Página Rev.

N/A N/A Planos 6.1 70 0

C7

100nF

C7

100nF

3

26

7 14 5

+

-

U11

AD741

+

-

U11

AD741

C31uFC31uF

MCLR/Vpp1

RA0/AN0 2

RA1/AN1 3

RA2/AN2/VREF 4

RA3/AN3 5

RA4/TOCKI 6

RA5/AN4/SS 7

Vss

8

OSC1/CLKIN9

OSC2/CLKOUT 10

RC0/T1OSO/T1CKI 11

RC1/T1OSI/CCP2 12

RC2/CCP1 13

RC3/SCK/SCL 14

RC4/SDI/SDA 15

RC5/SDO 16

RC6/TX/CK 17

RC7/RX/DT 18Vss

19V

DD

20

RB0/INT 21

RB1 22

RB2 23

RB3 24

RB4 25

RB5 26

RB6 27

RB7 28

U2 PIC16F76U2 PIC16F76

12345678910111213141516171819202122232425262728293031

J9J9

1234

J20J20

R2

68k

R2

68k

VIN1

GN

D3

VOUT 2

U3LM7805/TOU3LM7805/TO

C11uFC11uF

123

J8

CON3

J8

CON3

R1

68k

R1

68k

12345678910111213141516171819202122232425262728293031

J11J11

C10C10

12345678910111213141516171819202122232425262728293031

J10J10

C51uFC51uF

C11330nFC11330nF

C6

220nF

C6

220nF

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

J14J14

C41uFC41uF

Y1

4MHz

Y1

4MHz

594837261

P1

CONNECTOR DB9

P1

CONNECTOR DB9

12345678910111213141516171819202122232425262728293031

J7J7

R4

68k

R4

68k

R1IN 13

R2IN 8

T1IN 11

T2IN 10

C+ 1

C1- 3

C2+ 4

C2- 5

V+ 2

V- 6

R1OUT12

R2OUT9

T1OUT14

T2OUT7

VC

C16

GN

D15

U1

MAX232

U1

MAX232

C1210nFC1210nF

R3

68k

R3

68k

C8

220nF

C8

220nF

C9

100nF

C9

100nF

C1515pFC1515pF

135791113151719

2468

101214161820

J12J12

C2

1uF

C2

1uF

3

26

7 14 5

+

-

U10

AD741

+

-

U10

AD741

C1615pFC1615pF

1234

J15J15

Page 76: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Fecha

20/05/05

Rev.

0D e s c r i p c i ó n

EMISIÓN FINALPáginaUnidad

Apr

obad

o

Fecha

1/1

Esc

ala

FechaVer

ifica

do

Contrato

Titulo del Plano :

Proyecto :

Sección Código Revisión

FechaDib

ujad

o

Page 77: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Fecha

20/05/05

Rev.

0D e s c r i p c i ó n

EMISIÓN FINALPáginaUnidad

Apr

obad

o

Fecha

1/1

Esc

ala

FechaVer

ifica

do

Contrato

Titulo del Plano :

Proyecto :

Sección Código Revisión

FechaDib

ujad

o

Page 78: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Fecha

20/05/05

Rev.

0D e s c r i p c i ó n

EMISIÓN FINALPáginaUnidad

Apr

obad

o

Fecha

1/1

Esc

ala

FechaVer

ifica

do

Contrato

Titulo del Plano :

Proyecto :

Sección Código Revisión

FechaDib

ujad

o

Page 79: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

5

5

4

4

3

3

2

2

1

1

D D

C C

B B

A A

+5

+5

+15

-15

+15

+15

-15

+15

+15

-15

+15

+15

+15

-15

+15

+15

-15

+15

+15

-15

-15

-15

-15

-15

-15

-15

-15

+15

E.T.S.E. D.E.E.E.A.

Lay-Out Tarjetas de los Lazos de Control

Desarrollo de un sistema integrado para el controlde Temperatura de trabajo de agrupaciones integradas

de microsensores

R.FOLCH

E.LLOBET

E.LLOBET

20/05/05

20/05/05

20/05/05

ESCALA N/A

DIB

UJA

DO

VE

RIF

.A

PR

OB

.

Contrato Unidad Sección Código Página Rev.

N/A N/A Planos 6.5 74 0

R23

68k

R23

68k

10

98

411

+

-

U12CLM324

+

-

U12CLM324

3

21

411

+

-

U9A

LM324

+

-

U9A

LM324

3

21

411

+

-

U13A

LM324

+

-

U13A

LM324

10

98

411

+

-

U13CLM324

+

-

U13CLM324

R211kR211k

10

98

411

+

-

U9C

LM324

+

-

U9C

LM324

R2268kR2268k

C3100nFC3100nF

5

67

411

+

-

U13BLM324

+

-

U13BLM324

R25

10

R25

10C2

220nF

C2

220nF

12

1314

411

+

-

U13DLM324

+

-

U13DLM324

R3

68k

R3

68k

R26

10

R26

10

R4

68k

R4

68k

R6

18k

R6

18k

12

1314

411

+

-

U9D

LM324

+

-

U9D

LM324

R17

10k

R17

10k

5

67

411

+

-

U12B

LM324

+

-

U12B

LM324

R16

1k

R16

1k

R10

68k

R10

68k

R8680R8680

R131kR131k

R9

18k

R9

18k

12

1314

411

+

-

U12DLM324

+

-

U12DLM324

R1468kR1468k

R12

680

R12

680

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

J2CON31J2CON31

R11

180

R11

180

MCLR/VPP1

GN

D8

OSC1/CLK9

OSC2/CLKOUT 10GN

D19

VDD20

RA0/AN0 2

RA1/AN1 3

RA2/AN2 4

RA3/AN3/REF 5

RA4/T0CLK 6

RA5/AN4/SS 7

RB0/INT 21

RB1 22

RB2 23

RB3 24

RB4 25

RB5 26

RB6 27

RB7 28

RC0/T1OSO/T1CLK 11

RC1/T1OSI/CCP2 12

RC2/CCP1 13

RC3/SCK/SCL 14

RC4/SDI/SDA 15

RC5/SDO 16

RC6/TX/CK 17

RC7/RX/DT 18

U6

PIC16F876

U6

PIC16F876

R7

180

R7

180

R18R18

5

67

411

+

-

U9B

LM324

+

-

U9B

LM324R5

68k

R5

68k

R15

68k

R15

68k

R2

68k

R2

68k

R19R19

R1

68k

R1

68k

Y1

4MHz

Y1

4MHz

R20

10k

R20

10k

C515pFC515pF

C1

220nF

C1

220nF

C615pFC615pF

3

21

411

+

-

U12A

LM324

+

-

U12A

LM324

C4100nFC4100nF

R24

1k

R24

1k

Page 80: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

20/05/050 EMISIÓN FINAL

Apr

obad

o

Fecha

1/1scal

a

FechaVer

ifica

do

Titulo del Plano :

Proyecto :

FechaDib

ujad

o

Page 81: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Fecha

20/05/05

Rev.

0D e s c r i p c i ó n

EMISIÓN FINALPáginaUnidad

Apr

obad

o

Fecha

1/1

Esc

ala

FechaVer

ifica

do

Contrato

Titulo del Plano :

Proyecto :

Sección Código Revisión

FechaDib

ujad

o

Page 82: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Fecha

20/05/05

Rev.

0D e s c r i p c i ó n

EMISIÓN FINALPáginaUnidad

Apr

obad

o

Fecha

1/1

Esc

ala

FechaVer

ifica

do

Contrato

Titulo del Plano :

Proyecto :

Sección Código Revisión

FechaDib

ujad

o

Page 83: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

EMISIÓN FINAL0

Rev.

20/05/05

Fecha D e s c r i p c i ó n

Ver

ifica

do

Página

Titulo del Plano :

Contrato

Apr

obad

oE

scal

a

1/1

Fecha

Fecha

SecciónUnidad Código Revisión

Dib

ujad

o

Fecha

Proyecto :

Page 84: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Presupuesto

79

7 Presupuesto

En los siguientes puntos se desglosarán los componentes que conforman el sistema, siguiendo una breve descripción para una fácil identificación del elemento, además de su precio unitario, las cantidades necesarias y el precio total del producto.

Al final de cada punto se puede encontrar el coste total de cada desglose y, al final del capítulo, un resumen del presupuesto con el precio final del sistema. 7.1-Placa Base

PO

SIC

IÓN

IT

EM

DESCRIPCIÓN Description

UN

IDA

D

Un

it

CA

NT

IDA

D

Qu

anti

ty

PRECIO UNITARIO

Unitari Price

PRECIO TOTAL Total amount

A. PLACA BASE

A.1 Placa PCB Placa de circuito impreso de doble cara, fotosensible, con baño de cobre.

Ud 1 3.15€

TRES CON QUINCE EUROS

3.15€

TRES CON QUINCE EUROS

A.2 Cable de conexión Cable de conexión de 0.7 mm2 (colores negro y rojo).

m 15 0.16€

CERO CON SETENTA Y

NUEVE EUROS

2.4€

DOS CON CUATRO EUROS

A.3 Cable serie Cable para puerto serie DB9 tipo NULL-MODEM .

m 2 0.25€

CERO CON VEINTICINCO

EUROS

0.50€

CERO CON CINCUENTA

EUROS

A.4 Conector DB9 Conector DB9 (hembra), soldable y recto para cable.

Ud 1 0.25€

CERO CON VEINTICINCO

EUROS

0.25€

CERO CON VEINTICINCO

EUROS

A.5 Conector DB9 Conector DB9 (macho), soldable y recto para cable.

Ud 1 0.25€

CERO CON VEINTICINCO

EUROS

0.25€

CERO CON VEINTICINCO

EUROS

A.6 Conector DB9 Conector DB9 (hembra) para placa de circuito impreso.

Ud 1 0.66€

CERO CON SESENTA Y SEIS EUROS

0.66€

CERO CON SESENTA Y SEIS EUROS

Page 85: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Presupuesto

80

PO

SIC

IÓN

IT

EM

DESCRIPCIÓN Description

UN

IDA

D

Un

it

CA

NT

IDA

D

Qu

anti

ty

PRECIO UNITARIO

Unitari Price

PRECIO TOTAL Total amount

A.7 Zócalo 16 pins Zócalo DIP de 16 pins torneados.

Ud 1 0.29€

CERO CON VEINTINUEVE

EUROS

0.29€

CERO CON VEINTINUEVE

EUROS

A.8 Zócalo 28 pins Zócalo DIP de 28 pins torneados.

Ud 1 0.51€

CERO CON CINCUENTA Y

UN EUROS

0.51€

CERO CON CINCUENTA Y

UN EUROS

A.9 Zócalo 8 pins Zócalo DIP de 8 pins torneados.

Ud 2 0.24€

CERO CON VEINTICUATRO

EUROS

0.48€

CERO CON CUARENTA Y OCHO EUROS

A.10 Tira 20 pins Tira de 20 pins torneados.

Ud 2 2.16€

DOS CON DIECISEIS

EUROS

4.32€

CUATRO CON TREINTA Y DOS

EUROS

A.11 Regleta 3 contactos Regleta de conexión de 3 contactos para PCB.

Ud 1 0.37€

CERO CON TREINTA Y

SIETE EUROS

0.37€

CERO CON TREINTA Y

SIETE EUROS

A.12 MC7805C Regulador de tensión de salida a 5v en encapsulado TO-220.

Ud 1 0.51€

CERO CON CINCUENTA Y

UN EUROS

0.51€

CERO CON CINCUENTA Y

UN EUROS

A.13 PIC16F87X Microcontrolador de 8 bits PIC16F87X en encapsulado DIP28.

Ud 1 8.73€

OCHO CON SETENTA Y

TRES EUROS

8.73€

OCHO CON SETENTA Y

TRES EUROS

A.14 ST232CN Interficie de comunicación RS-232 en encapsulado DIP16.

Ud 1 1.50€

UNO CON CINCUENTA

EUROS

1.50€

UNO CON CINCUENTA

EUROS

A.15 UA741CN Amplificador operacional en encapsulado DIP8.

Ud 2 0.80€

CERO CON OCHENTA

EUROS

0.80€

CERO CON OCHENTA

EUROS

A.16 Zócalo de Bus Zócalo de Bus ISA de 31 pins.

Ud 4 2.25€

DOS CON VEINTICINCO

EUROS

9€

NUEVE EUROS

Page 86: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Presupuesto

81

PO

SIC

IÓN

IT

EM

DESCRIPCIÓN Description

UN

IDA

D

Un

it

CA

NT

IDA

D

Qu

anti

ty

PRECIO UNITARIO

Unitari Price

PRECIO TOTAL Total amount

A.17 Conector de cable plano Conector de cable plano de 20 pins para PCB.

Ud 1 2.31€

DOS CON TREINTA Y UN

EUROS

2.31€

DOS CON TREINTA Y UN

EUROS

A.18 Condensador 1µF Condensador electrolítico polarizado de aluminio y radial. 1µF ± 10%, 63 v.

Ud 5 0.13€

CERO CON TRECE EUROS

0.65€

CERO CON SESENTA Y

CINCO EUROS

A.19 Condensador 330nF Condensador de poliéster metalizado. 330nF ± 5%, 100 v.

Ud 1 0.16€

CERO CON DIECISÉIS

EUROS

0.16€

CERO CON DIECISÉIS

EUROS

A.20 Condensador 10nF Condensador de poliéster metalizado. 10nF ± 5%, 100 v.

Ud 1 0.16€

CERO CON DIECISÉIS

EUROS

0.16€

CERO CON DIECISÉIS

EUROS

A.21 Condensador 100nF Condensador de poliéster metalizado. 100nF ± 5%, 250 v.

Ud 3 0.16€

CERO CON DIECISÉIS

EUROS

0.48€

CERO CON CUARENTA Y OCHO EUROS

A.22 Condensador 220nF

Condensador de poliéster metalizado. 220nF ± 5%, 250 v.

Ud 2 0.16€

CERO CON DIECISÉIS

EUROS

0.32€

CERO CON TREINTA Y DOS

EUROS

A.23 Condensador 15pF Condensador cerámico tipo “lenteja” de 15pF± 5%, 10 v.

Ud 2 0.14€

CERO CON CATORCE

EUROS

0.28€

CERO CON VENTIOCHO

EUROS

A.24 Cristal 4 MHz Cristal de cuarzo tipo XT de 4 MHz

Ud 1 0.51€

CERO CON CIENCUENTA Y

UN EUROS

0.51€

CERO CON CIENCUENTA Y

UN EUROS

A.25 Resistencia 68kO Resistencia de película de carbón de 68 kO ± 5% y 0.25W

Ud 4 0.04€

CERO CON CERO CUATRO

EUROS

0.16€

CERO CON DIECISÉIS

EUROS

Page 87: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Presupuesto

82

PO

SIC

IÓN

IT

EM

DESCRIPCIÓN Description

UN

IDA

D

Un

it

CA

NT

IDA

D

Qu

anti

ty

PRECIO UNITARIO

Unitari Price

PRECIO TOTAL Total amount

TOTAL CAPITULO A................................

38.81€ TREINTA Y OCHO CON OCHENTA Y UN EUROS

7.2-Tarjetas de control 7.2.1-Tarjeta de control para sensores de capa fina

PO

SIC

IÓN

IT

EM

DESCRIPCIÓN Description

UN

IDA

D

Un

it

CA

NT

IDA

D

Qu

anti

ty

PRECIO UNITARIO

Unitari Price

PRECIO TOTAL Total amount

B.1 TARJETA DE CONTROL (Para sensores de capa fina)

B.1.1 Placa PCB Placa de circuito impreso de doble cara, fotosensible, con baño de cobre.

Ud 1 3.15€

TRES CON QUINCE EUROS

3.15€

TRES CON QUINCE EUROS

B.1.2 Zócalo 14 pins Zócalo DIP de 14 pins torneados.

Ud 3 0.29€

CERO CON VEINTINUEVE

EUROS

0.87€

CERO CON OCHENTA Y

SIETE EUROS

B.1.3 Zócalo 28 pins Zócalo DIP de 28 pins torneados.

Ud 1 0.51€

CERO CON CINCUENTA Y

UN EUROS

0.51€

CERO CON CINCUENTA Y

UN EUROS

B.1.4 PIC16F87X Microcontrolador de 8 bits PIC16F87X en encapsulado DIP28.

Ud 1 8.73€

OCHO CON SETENTA Y

TRES EUROS

8.73€

OCHO CON SETENTA Y

TRES EUROS

B.1.5 LM324 Cuadruple amplificador operacional en encapsulado DIP14.

Ud 3 0.80€

CERO CON OCHENTA

EUROS

2.40€

DOS CON CUARENTA

EUROS

Page 88: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Presupuesto

83

PO

SIC

IÓN

IT

EM

DESCRIPCIÓN Description

UN

IDA

D

Un

it

CA

NT

IDA

D

Qu

anti

ty

PRECIO UNITARIO

Unitari Price

PRECIO TOTAL Total amount

B.1.6 Condensador 100nF Condensador de poliéster metalizado. 100nF ± 5%, 250 v.

Ud 2 0.16€

CERO CON DIECISÉIS

EUROS

0.32€

CERO CON TREINTA Y DOS

EUROS

B.1.7 Condensador 220nF Condensador de poliéster metalizado. 220nF ± 5%, 250 v.

Ud 2 0.16€

CERO CON DIECISÉIS

EUROS

0.32€

CERO CON TREINTA Y DOS

EUROS

B.1.8 Condensador 15pF Condensador cerámico tipo “lenteja” de 15pF± 5%, 10 v.

Ud 2 0.14€

CERO CON CATORCE

EUROS

0.28€

CERO CON VENTIOCHO

EUROS

B.1.9 Cristal 4 MHz Cristal de cuarzo tipo XT de 4 MHz

Ud 1 0.51€

CERO CON CIENCUENTA Y

UN EUROS

0.51€

CERO CON CIENCUENTA Y

UN EUROS

B.1.10 Resistencia 68kO Resistencia de película de carbón de 68 kO ± 5% y 0.25W

Ud 10 0.04€

CERO CON CERO CUATRO

EUROS

0.40€

CERO CON CUARENTA

EUROS

B.1.11 Resistencia 18kO Resistencia de película de carbón de 18 kO ± 5% y 0.25W

Ud 2 0.04€

CERO CON CERO CUATRO

EUROS

0.08€

CERO CON CERO OCHO

EUROS

B.1.12 Resistencia 680O Resistencia de película de carbón de 680 O ± 5% y 0.25W

Ud 2 0.04€

CERO CON CERO CUATRO

EUROS

0.08€

CERO CON CERO OCHO

EUROS

B.1.13 Resistencia 180O Resistencia de película de carbón de 180 O ± 5% y 0.25W

Ud 2 0.04€

CERO CON CERO CUATRO

EUROS

0.08€

CERO CON CERO OCHO

EUROS

B.1.14 Resistencia 1kO Resistencia de película de carbón de 1 kO ± 5% y 0.25W

Ud 4 0.04€

CERO CON CERO CUATRO

EUROS

0.16€

CERO CON DIECISÉIS

EUROS

B.1.15 Resistencia 10kO Resistencia de película de carbón de 10 kO ± 5% y 0.25W

Ud 2 0.04€

CERO CON CERO CUATRO

EUROS

0.08€

CERO CON CERO OCHO

EUROS

Page 89: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Presupuesto

84

PO

SIC

IÓN

IT

EM

DESCRIPCIÓN Description

UN

IDA

D

Un

it

CA

NT

IDA

D

Qu

anti

ty

PRECIO UNITARIO

Unitari Price

PRECIO TOTAL Total amount

B.1.16 Resistencia 8.2kO Resistencia de película de carbón de 8.2 kO ± 5% y 0.25W

Ud 2 0.04€

CERO CON CERO CUATRO

EUROS

0.08€

CERO CON CERO OCHO

EUROS

TOTAL CAPITULO B.1................................

18.05€ DIECIOCHO CON CERO CINCO EUROS

7.2.2-Tarjeta de control para sensores de capa gruesa

PO

SIC

IÓN

IT

EM

DESCRIPCIÓN Description

UN

IDA

D

Un

it

CA

NT

IDA

D

Qu

anti

ty

PRECIO UNITARIO

Unitari Price

PRECIO TOTAL Total amount

B.2 TARJETA DE CONTROL (Para sensores de capa gruesa)

B.2.1 Placa PCB Placa de circuito impreso de doble cara, fotosensible, con baño de cobre.

Ud 1 3.15€

TRES CON QUINCE EUROS

3.15€

TRES CON QUINCE EUROS

B.2.2 Zócalo 14 pins Zócalo DIP de 14 pins torneados.

Ud 3 0.29€

CERO CON VEINTINUEVE

EUROS

0.87€

CERO CON OCHENTA Y

SIETE EUROS

B.2.3 Zócalo 28 pins Zócalo DIP de 28 pins torneados.

Ud 1 0.51€

CERO CON CINCUENTA Y

UN EUROS

0.51€

CERO CON CINCUENTA Y

UN EUROS

B.2.4 PIC16F87X Microcontrolador de 8 bits PIC16F87X en encapsulado DIP28.

Ud 1 8.73€

OCHO CON SETENTA Y

TRES EUROS

8.73€

OCHO CON SETENTA Y

TRES EUROS

Page 90: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Presupuesto

85

PO

SIC

IÓN

IT

EM

DESCRIPCIÓN Description

UN

IDA

D

Un

it

CA

NT

IDA

D

Qu

anti

ty

PRECIO UNITARIO

Unitari Price

PRECIO TOTAL Total amount

B.2.5 LM324 Cuadruple amplificador operacional en encapsulado DIP14.

Ud 3 0.80€

CERO CON OCHENTA

EUROS

2.40€

DOS CON CUARENTA

EUROS

B.2.6 Condensador 100nF Condensador de poliéster metalizado. 100nF ± 5%, 250 v.

Ud 2 0.16€

CERO CON DIECISÉIS

EUROS

0.32€

CERO CON TREINTA Y DOS

EUROS

B.2.7 Condensador 220nF Condensador de poliéster metalizado. 220nF ± 5%, 250 v.

Ud 2 0.16€

CERO CON DIECISÉIS

EUROS

0.32€

CERO CON TREINTA Y DOS

EUROS

B.2.8 Condensador 15pF Condensador cerámico tipo “lenteja” de 15pF± 5%, 10 v.

Ud 2 0.14€

CERO CON CATORCE

EUROS

0.28€

CERO CON VENTIOCHO

EUROS

B.2.9 Cristal 4 MHz Cristal de cuarzo tipo XT de 4 MHz

Ud 1 0.51€

CERO CON CIENCUENTA Y

UN EUROS

0.51€

CERO CON CIENCUENTA Y

UN EUROS

B.2.10 Resistencia 68kO Resistencia de película de carbón de 68 kO ± 5% y 0.25W

Ud 10 0.04€

CERO CON CERO CUATRO

EUROS

0.40€

CERO CON CUARENTA

EUROS

B.2.11 Resistencia 18kO Resistencia de película de carbón de 18 kO ± 5% y 0.25W

Ud 2 0.04€

CERO CON CERO CUATRO

EUROS

0.08€

CERO CON CERO OCHO

EUROS

B.2.12 Resistencia 680O Resistencia de película de carbón de 680 O ± 5% y 0.25W

Ud 2 0.04€

CERO CON CERO CUATRO

EUROS

0.08€

CERO CON CERO OCHO

EUROS

B.2.13 Resistencia 180O Resistencia de película de carbón de 180 O ± 5% y 0.25W

Ud 2 0.04€

CERO CON CERO CUATRO

EUROS

0.08€

CERO CON CERO OCHO

EUROS

B.2.14 Resistencia 1kO Resistencia de película de carbón de 1 kO ± 5% y 0.25W

Ud 4 0.04€

CERO CON CERO CUATRO

EUROS

0.16€

CERO CON DIECISÉIS

EUROS

Page 91: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Presupuesto

86

PO

SIC

IÓN

IT

EM

DESCRIPCIÓN Description

UN

IDA

D

Un

it

CA

NT

IDA

D

Qu

anti

ty

PRECIO UNITARIO

Unitari Price

PRECIO TOTAL Total amount

B.2.15 Resistencia 10kO Resistencia de película de carbón de 10 kO ± 5% y 0.25W

Ud 4 0.04€

CERO CON CERO CUATRO

EUROS

0.16€

CERO CON DIECISÉIS

EUROS

TOTAL CAPITULO B.2................................

18.05€ DIECIOCHO CON CERO CINCO EUROS

7.3-Mano de obra

PO

SIC

IÓN

IT

EM

DESCRIPCIÓN Description

UN

IDA

D

Un

it

CA

NT

IDA

D

Qu

anti

ty

PRECIO UNITARIO

Unitari Price

PRECIO TOTAL Total amount

C.2 MANO DE OBRA

C.1 Diseño placa base Diseño, cálculo de la circuitería asociada, elección de componentes y pruebas de funcionamiento.

h 25 30€

TREINTA EUROS

750€

SETECIENTOS CINCUENTA

EUROS

C.2 Diseño lazos de control

Diseño, cálculo de la circuitería asociada, elección de componentes y pruebas de funcionamiento.

h 15 30€

TREINTA EUROS

450€

CUATROCIENTOS CINCUENTA

EUROS

C.3 Diseño software placa base Diseño y pruebas de funcionamiento del software asociado al microcontrolador máster.

h 10 30€

TREINTA EUROS

300€

TRESCIENTOS EUROS

C.4 Diseño software placa base Diseño y pruebas de funcionamiento del software asociado a los microcontroladores esclavos.

h 10 30€

TREINTA EUROS

300€

TRESCIENTOS EUROS

Page 92: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Presupuesto

87

PO

SIC

IÓN

IT

EM

DESCRIPCIÓN Description

UN

IDA

D

Un

it

CA

NT

IDA

D

Qu

anti

ty

PRECIO UNITARIO

Unitari Price

PRECIO TOTAL Total amount

C.5 Diseño software PC Diseño y pruebas de funcionamiento del software asociado a la transmisión de consignas.

h 10 30€

TREINTA EUROS

300€

TRESCIENTOS EUROS

C.6 Montaje placa base Realización de la placa, montaje, taladros, soldaduras de componentes y testeo de pistas.

h 15 30€

TREINTA EUROS

450€

CUATROCIENTOS CINCUENTA

EUROS

C.7 Montaje lazos de control Realización de la placa, montaje, taladros, soldaduras de componentes y testeo de pistas.

h 25 30€

TREINTA EUROS

750€

SETECIENTOS CINCUENTA

EUROS

TOTAL CAPITULO C................................

3300€ TRES MIL TRES CIENTOS EUROS

Page 93: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Presupuesto

88

7.4-Resumen del presupuesto

§ TOTAL CAPITULO A.................................................................... 38.81€ § TOTAL CAPITULO B.1.............................18.05€ x 2 unidades = 36.1€ § TOTAL CAPITULO B.2.............................18.05€ x 2 unidades = 36.1€ § TOTAL CAPITULO C..................................................................... 3300€

TOTAL EJECUCIÓN…………………………...3411€ § GASTOS GENERALES (13%)………………………………………..443.43€ § BENEFICIO INDUSTRIAL (6%)………………………………………204.66€ TOTAL GG y BI…………………………………648.09€ § IVA (16%)………………………………………………………………. TOTAL EJECUCIÓN CONTRATA……….……………..4059€

El total del presupuesto asciende a la suma de CUATRO MIL CINCUENTA Y NUEVE EUROS.

Rubén Folch Fernández Ingeniero Técnico Industrial

Junio - 2005

Page 94: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Pliego de condiciones

89

8 Pliego de condiciones 8.1-Objetivos del pliego de condiciones

El pliego de condiciones define los siguientes aspectos: - Aspectos legales y administrativos del proyecto. - Normas, reglamentos y leyes por las que se ha de regir el proyecto.

- Responsabilidades de los agentes que intervienen en el proyecto - Características exigibles a los materiales y equipos.

- Técnicas a utilizar en la ejecución y puesta en marcha.

- Controles de calidad a realizar.

8.2-Condiciones generales Las condiciones generales contemplan los aspectos legales. Administrativos y económicos aplicables al presente proyecto y están formadas por los apartados subsiguientes. 8.2.1- Condiciones legales y administrativas Todos los objetivos a desarrollar en el proyecto se ejecutarán cumpliendo la normativa UNE referente a todas las partes implicadas y específicas del apartado “31 Electrónica” del catálogo de AENOR (Asociación Española de Normalización y Certificación), tales como: 31.020 – Componentes electrónicos en general. 31.040 – Resistencias eléctricas. 31.040.10 – Resistencias fijas. 31.060 – Condensadores. 31.060.10 – Condensadores fijos en general. 31.080 – Dispositivos semiconductores. 31.160 – Filtros eléctricos. 31.180 – Tarjetas y circuitos impresos. 31.200 – Circuitos integrados, microelectrónica, etcétera.

Page 95: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Pliego de condiciones

90

Al mismo tiempo, se deben cumplir los aspectos técnicos de instalación que afectan directa o indirectamente a este trabajo, incluidos el Reglamento Electrotécnico de Baja Tensión. Se citan a continuación las instrucciones técnicas complementarias (ICTs) más importantes del RBT: 0.19 – Instalaciones interiores o receptoras. Prescripciones generales. 0.22 – Instalaciones interiores o receptoras. Protección contra sobreintensidades. 0.23 – Instalaciones interiores o receptoras. Protección contra sobretensiones. 0.36 – Instalaciones a muy Baja Tensión. 0.37 – Instalaciones a tensiones especiales. 0.43 – Instalaciones de receptores. Prescripciones generales.

0.48 – Instalaciones de receptores. Transformadores i autotransformadores. Reactancias y rectificadores. Condensadores. Normas UNE de obligado cumplimiento.

8.2.2- Condiciones facultativas Los permisos de carácter obligatorio se deberán obtener por parte de la empresa contratante, quedando la empresa contratista al margen de todas las consecuencias derivadas de las mismas. Cualquier retardo en el proceso de fabricación por causas debidamente justificadas, siendo estas ajenas a la empresa contratista, serán debidamente aceptadas por el contratante, no teniendo este último derecho a reclamación. Cualquier demora no justificada supondrá el pago de una multa por valor del 6% del importe total de fabricación por fracción de retardo, pactado con anterioridad en el contrato. La empresa contratante se compromete a proporcionar las mejores facilidades al contratista para que la fabricación sea rápida y perfecta. El equipo cumplirá los requisitos mínimos respecto al proyecto encargado y cualquier variación o mejora en el contenido del mismo deberá ser consultada al técnico diseñador. Durante el tiempo estimado para la instalación, el técnico proyectista podrá renunciar a la suspensión momentánea si así se cree oportuno. Las características de los elementos y componentes serán especificadas en la memoria, teniendo en cuenta su perfecta colocación y posterior utilización. La contratación de este proyecto se considera válida cuando las dos partes implicadas se comprometen a concluir las cláusulas del contrato, por la cual deberán estar firmados los documentos adecuados en una reunión conjunta después de haber llegado a un acuerdo. Los servicios prestados por la empresa contratista se considerarán

Page 96: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Pliego de condiciones

91

finalizados desde el momento en el que el equipo se ponga en funcionamiento después de la previa comprobación de que todo funcione correctamente. La garantía se extiende durante un año y la empresa contratista se hará cargo de la avería mientras se justifique que ésta no tiene nada que ver con un mal uso del equipo. Una vez agotada la garantía, la empresa contratante no tendrá derecho a reclamar ajustes y reparaciones gratuitas en el global del equipo. El presupuesto no incluye gastos de tipo energético producidos por el proceso de instalación, ni las obras, en caso de ser necesarias, que irán a cargo de la empresa contratante. El cumplimiento de las comprobaciones elementales por parte de la empresa instaladora no será competencia del proyectista, el cual queda excluido de toda responsabilidad derivada del mal funcionamiento del equipo como consecuencia de estos hechos. 8.2.3- Condiciones económicas La forma de efectuar el abono del equipo será al contado si éste ya está construido. Si tuviese que ser fabricado, se abonará en dos pagos: uno a cuenta para iniciar el proceso de fabricación i el resto al finalizar el mismo, siempre y cuando se cumplan los requisitos expuestos en las condiciones facultativas. 8.3-Condiciones de materiales y equipos En este apartado se incluyen las especificaciones de todos los materiales que forman parte del proyecto. Estos garantizan las normativas y los reglamentos vigentes que los pueden afectar, ya expresados en las condiciones generales. 8.3.1- Descripción general del montaje Todo el hardware diseñado para este proyecto debe ir montado dentro de una caja. Antes de este paso se deben conocer una serie de especificaciones que ayudarán en la correcta elección de los diferentes componentes electrónicos que constituyen el circuito. 8.3.1.1- Conductores eléctricos Tanto en las conexiones de alimentación como en las de los cables que van desde el módulo a la fuente, se utilizarán conductores circulares ya que estos ofrecen una mayor flexibilidad. Irán aislados superficialmente en toda su longitud con recubrimiento de esmalte, barniz o plástico preferiblemente. Los cables de alimentación llevarán tres conectores banana de 4mm de paso y tendrán una sección no inferior a 0.75 mm2. Los tres conductores que van desde la fuente al módulo irán trenzados para evitar ruido externo.

Page 97: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Pliego de condiciones

92

La comunicación entre el PC y el módulo de control se realiza mediante un cable NULL-MODEM con las líneas de transmisión y recepción cruzadas. Éste deberá tener una longitud mínima de 2 metros. 8.3.1.2- Conectores Las conexiones de alimentación se realizan a través de regletas de 3 contactos. Las conexiones para la adquisición de datos procedentes del módulo de control se realizan con conectores de cable plano de 20 pins. Para la conexión con el PC se utiliza un DB9 – hembra insertado en la placa. 8.3.1.3- Resistencias fijas Es necesario conocer los extremos máximo y mínimo entre los que estará comprendido el valor de una resistencia. Según la serie a la que pertenezca, su tolerancia variará normalmente entre el 20 y el 1 por ciento. Preferiblemente se utilizarán resistencias de carbono de las series E12 ó E24, con capacidad para disipar hasta 250 mW. Las resistencias de película metálica también son perfectamente aplicables a este proyecto, aunque su pequeño coeficiente de temperatura las hace más aptas donde las condiciones climáticas sean más desfavorables. 8.3.1.4- Condensadores fijos Las características que son más relevantes en el momento de escoger un tipo de condensador son la tolerancia y el volumen. A grandes rasgos se pueden agrupar en tres grandes grupos: cerámicos, de plástico y electrolíticos. Estos últimos son los que presentan una relación capacidad/volumen mejor, teniendo unas características técnicas aceptables. En el presente proyecto se utilizan condensadores electrolíticos de aluminio con unas tolerancias de giran alrededor del 20%, siempre teniendo en cuenta que la expectativa de vida de este tipo de condensadores es limitada. También se pueden utilizar, con igual resultado, condensadores de policarbonato o de poliéster con valores de tolerancia que podrán llegar hasta el 5% y que ofrecerán una vida más larga. Para las aplicaciones donde se requiera una capacidad muy baja y precisa (excelentes para la alta frecuencia), será conveniente el uso de condensadores cerámicos con tolerancias próximas al 2% y tamaño pequeño. 8.3.1.5- Circuitos integrados En este apartado se quiere hacer mención de los siguientes integrados:

- Amplificadores operacionales LM741 y LM324

Page 98: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Pliego de condiciones

93

- Regulador de tensión LM7805 El operacional LM741 deberá tener un encapsulado DIP8 y si se pretende cambiar por otro modelo, deberá cumplir las características más significativas detalladas en la hoja del fabricante en el capítulo “Anexos”. Éstas podrían ser el rango de tensiones simétricas que puede aceptar, el nivel de rechazo al modo común… El operacional LM324 es cuádruple i en este caso tiene un encapsulado DIP14. Como en el caso anterior, modelos con la misma configuración de patillas y con unas características similares serán perfectamente aplicables. El regulador de tensión LM7805 se utiliza en formato T0-220 y debe satisfacer unas características determinadas tales como unos buenos niveles de regulación de línea y de carga, un rango de tensiones de entrada superiores a los 15 voltios y una corriente máxima de salida superior a 1 amperio. 8.3.1.6- Driver RS-232 El driver RS-232 debe satisfacer las normas y especificaciones EIA/TIA-RS232E. El que se utiliza actualmente es el MAX232 que presenta las siguientes características, en caso de tenerse que sustituir por un modelo equivalente:

- Tensión de alimentación de 5 v.

- Conexión de 5 condensadores electrolíticos de 1 µF.

- Velocidades de transmisión / recepción superiores a 9600 bps.

- Encapsulado DIP16 8.3.1.7- Microcontrolador Los microcontroladores utilizados en el presente proyecto son los PIC16F876-04 de la marca Microchip. El tipo de software que lleva inscrito lo hace insustituible por otro con el mismo número de patillas (28 pins) que provengan de otro fabricante. Dentro de la marca Microchip hay otros dispositivos de memoria FLASH que cumplan las características de éste pero con ciertos matices:

- PIC16F873: tiene una capacidad de memoria inferior, tanto de programa como de EEPROM, pero suficiente como para satisfacer las necesidades de la presente aplicación.

- PIC16F876A: es prácticamente idéntico al usado en todos los aspectos y, por

tanto, perfectamente sustituible.

Es importante que se utilice un cristal de cuarzo con una frecuencia de 4 MHz porque el software interno del microcontrolador esta formalmente ligado a los tiempos que proporciona las oscilaciones de éste. El encapsulado será de tipo PDIP.

Page 99: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Pliego de condiciones

94

8.3.1.8- Diseño de placas de circuito impreso Las placas de circuito impreso han sido diseñadas con el programa informático

“Orcad Capture & Layout 9.0” para una posterior impresión de los fotolitos. Para su realización se han escogido placas presensibilizadas positivas en las dos caras y se ha determinado un perfil y trazado de pistas y botones teniendo en cuenta los siguientes puntos:

- En el recorrido de pistas se evitarán los ángulos cerrados (menores a 90º), los

chaflanes rectos y los rincones en general. - Se utilizarán ángulos suaves (a poder ser de 45º ó 135º), chaflanes cuando

haya un cambio brusco de sentido y rincones entre botones adyacentes.

- Se debe procurar minimizar el recorrido con el camino más directo posible y, si conviene, utilizando vías para comunicar una cara con la opuesta.

- Los botones deben soportar el esfuerzo mecánico de sujeción del componente.

Debe preverse una superficie proporcional al número de pines del componente y a su momento de inercia. Si procede, se ampliará la superficie anexa a los botones.

- Las pistas (y cualquier superficie conductora sobre la base) presentarán una

capacidad parásita entre ellas. Si dos pistas adyacentes se pueden inferir una corriente alterna deberán separarse, si es necesario interponer una tercera pista unida a un potencial neutro, que actúe como pantalla electroestática.

- Los corrientes que circulan por las pistas también inducirán f.e.m. parasitas en

otras pistas. Conviene mantener la longitud de las pistas tan corta como sea posible, evitar los ángulos y la acumulación de distintas pistas paralelas.

- Las placas de circuito impreso rígido se deben soldar más adelante. Se deben

vigilar las posibles acumulaciones de soldadura y la posibilidad de “puentes” que se puedan producir.

- Se procurará evitar los amontonamientos de componentes (de no ser

estrictamente necesario debido a la frecuencia de trabajo del circuito), considerando también los efectos de calentamiento.

La anchura de las pistas es homogénea, de 0.8 mm, superando los 0.5 mm

establecidos por las normas. Los botones utilizados son circulares, con un diámetro de 2 mm, o cuadrados, con un ancho de 2 mm de lado.

Para calcular el ancho de una pista se puede utilizar la siguiente fórmula empírica:

27

3maxI

a = (34)

Donde a es el ancho de la pista en mm e Imax es la intensidad que debe pasar por

la pista, en amperios.

Page 100: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Pliego de condiciones

95

8.4-Condiciones de ejecución y montaje A continuación se expresará la forma de ejecutar, fabricar y montar algunas partes

del equipo, garantizando el cumplimiento de las normativas y reglamentaciones vigentes que les puedan afectar, ya expresadas en las condiciones legales y administrativas.

8.4.1- Descripción general del montaje Seguidamente se presentan las diferentes fases que componen el montaje del presente proyecto y el orden con el que se debe ejecutar, con la obligación de terminar la fase anterior antes de comenzar con la siguiente.

1. – Encargo y compra de los componentes necesarios. 2. – Fabricación de las placas de circuito impreso.

3. – Montaje de los componentes en las placas.

4. – Montaje de la caja (de creerse necesario).

5. – Ajustes y comprobación de los parámetros para el buen funcionamiento.

6. – Puesta en marcha del equipo.

7. – Control de calidad.

8. – Mantenimiento del equipo, informando y formando debidamente a las

personas que en un futuro deberán responsabilizarse del mismo.

Todas estas partes que en su conjunto conforman la obra, tendrán que ser ejecutadas por montadores que cumplan las normas que la comunidad autónoma, país o bien comunidad internacional tenga previstas para este tipo de montajes, no haciéndose responsable el proyectista de los desperfectos ocasionados por su cumplimiento.

8.4.2- Fabricación de las placas de circuito impreso Una vez diseñados e impresos los fotolitos en papel de transparencia, se pueden fabricar las placas siguiendo el siguiente procedimiento fotolitográfico:

- Se debe poner a punto la maquinaria y los materiales a utilizar: insoladota, revelador, atacante y las placas cortadas de material fotosensible positivo de doble cara y de fibra de vidrio.

- La placa de circuito impreso se dispone en el interior de la insoladota, sobre el

vidrio y en contacto con los fotolitos originales a escala 1/1. Para garantizar el contacto entre los fotolitos y la placa, el conjunto se cubre con una lámina de plástico flexible y transparente. Un pequeño orificio en la base del vidrio conecta un compresor o bomba de vacío con la función de que la misma

Page 101: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Pliego de condiciones

96

presión atmosférica deje el conjunto bien prensado contra el vidrio sin burbujas de aire.

- El tiempo de exposición depende de la lámpara usada, de la distancia de ésta a

la placa, del material fotosensible usado y de la antigüedad del mismo. El fabricante indica cuál es el tiempo de exposición recomendado.

- Finalizada la exposición se retira la placa de la insoladota y se coloca dentro

del líquido revelador durante el tiempo indicado por el fabricante. Cuando este periodo ha finalizado, las pistas se deben ver nítidas y el resto de la superficie sin ningún rastro de sustancia fotosensible, es decir: el cobre limpio.

- Una vez revelada, la placa se limpia con agua abundante. Para la fase de

atacante, se sumerge en atacador y es aquí donde se debe observar como desaparece el cobre libre y las pistas se mantienen intactas. Cuando el proceso ha finalizado, se limpia nuevamente con agua pata detener la fase del atacador.

- Para finalizar, se deberá limpiar la sustancia fotosensible que recubre las pistas

con alcohol o acetona. Estás ya estarán a punto para poder ser recubiertas de estaño utilizando el rodillo.

- Sólo quedará realizar los agujeros con una broca de 0.5 a 1 mm.

(preferiblemente de 0.8mm), procurando no despegar, por el efecto de la presión, el cobre de la fibra de vidrio.

8.4.3- Montaje de los componentes en las placas Para que los diferentes componentes de la placa funcionen como un conjunto, deber ser soldados en la misma. En este proyecto se empleará la soldadura por fusión de una aleación metálica (normalmente comprendida por estaño en un 62% y plomo en un 38%). Es importante que la temperatura sea adecuada para el material (en este caso de 179ºC) y se aplique durante un tiempo prudente. Una vez finalizado este proceso, se debe proceder a la verificación tanto por métodos ópticos como eléctricos, mediante un multímetro comprobando la continuidad de las diferentes conexiones. Finalmente se grabarán en los microcontroladores correspondientes el software convenientemente compilado con el MPLAB o cualquier programa alternativo que pueda realizar tal efecto, y un grabador como el PICSTAR Plus. 8.4.4- Montaje de la caja Con las placas finalizadas, se dispondrán para que se haga un estudio de ubicación dentro de una caja. Esta caja protegerá el conjunto del módulo de posibles golpes y cortocircuitos. Será importante que la placa se encuentre firmemente sujetada y que la caja disponga de oberturas de ventilación.

Page 102: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

Pliego de condiciones

97

8.4.5- Comprobación y ajustes Todas las pruebas deberán de estar supervisadas por un técnico cualificado que deberá comprobar que:

- La tensión de alimentación llega convenientemente rectificada a todos y cada uno de los integrados.

- La comunicación serie asíncrona entre sistema y PC es correcta.

- La conexión y fijación de las tarjetas de control en los zócalos de bus ISA

permite una correcta conexión del sistema.

- El ciclo de trabajo de los módulos PWM de cada microcontrolador oscila entre el 0 y el 100% de la señal.

Todas estas operaciones se pueden encontrar más detalladas en los capítulos 2, 3 y

4 de la presente memoria.

Page 103: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO I – Programa PC

98

Anexo I Programa PC I.1-Código Menú Principal

Fig 27. Pantalla principal del programa de comunicación

Private Sub Command1_Click() Unload Form1 End Sub Private Sub mnuManual_Click() Load Ayuda Ayuda.Show End Sub Private Sub mnuSobre_Click() Load Sobre Sobre.Show End Sub Private Sub mnuContinua_Click() Load Continua Continua.Show Unload Form1 End Sub Private Sub mnuIncremental_Click() Load Incremental Incremental.Show Unload Form1 End Sub Private Sub mnuSalir_Click() Unload Form1 End Sub

Page 104: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO I – Programa PC

99

I.2-Código Menú para Modo de transmisión «Continuo»

Fig 29. Formulario asociado al modo de transmisión «Continuo» Private Sub mnuComm1_Click() If MSComm1.CommPort <> 1 And MSComm1.PortOpen = False Then MSComm1.CommPort = 1 MSComm1.PortOpen = True mnuComm1.Checked = True mnuComm2.Checked = False mnuComm3.Checked = False mnuCOMM4.Checked = False Else: MsgBox ("El Puerto de comunicación 1 ya está abierto") End If End Sub Private Sub mnuComm2_Click() If MSComm1.CommPort <> 2 And MSComm1.PortOpen = False Then MSComm1.CommPort = 2 MSComm1.PortOpen = True mnuComm1.Checked = False mnuComm2.Checked = True mnuComm3.Checked = False mnuCOMM4.Checked = False Else: MsgBox ("El Puerto de comunicación 2 ya está abierto") End If End Sub

Page 105: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO I – Programa PC

100

Private Sub mnuComm3_Click() If MSComm1.CommPort <> 3 And MSComm1.PortOpen = False Then MSComm1.CommPort = 3 MSComm1.PortOpen = True mnuComm1.Checked = False mnuComm2.Checked = False mnuComm3.Checked = True mnuCOMM4.Checked = False Else: MsgBox ("El Puerto de comunicación 3 ya está abierto") End If End Sub Private Sub mnuComm4_Click() If MSComm1.CommPort <> 4 And MSComm1.PortOpen = False Then MSComm1.CommPort = 4 MSComm1.PortOpen = True mnuComm1.Checked = False mnuComm2.Checked = False mnuComm3.Checked = False mnuCOMM4.Checked = True Else: MsgBox ("El Puerto de comunicación 4 ya está abierto") End If End Sub Private Sub Volver_Click() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False End If Load Form1 Form1.Show Unload Continua End Sub Private Sub MSComm1_OnComm() Select Case MSComm1.CommEvent Case comBreak MsgBox ("Se ha recibido una interrupción") Case comEventFrame MsgBox ("Error de trama") Case comEventOverrun MsgBox ("Datos perdidos") Case comEventRxOver

Page 106: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO I – Programa PC

101

MsgBox ("Desbordamiento del búfer de recepción") Case comEventRxParity MsgBox ("Error de paridad") Case comEventTxFull MsgBox ("Búfer de transmisión lleno") Case comEventDCB MsgBox ("Error inesperado al recuperar DCB") Case comEvCD MsgBox ("Cambio en la línea CD") Case comEvCTS MsgBox ("Cambio en la línea CTS") Case comEvDSR MsgBox ("Cambio en la línea DSR") Case comEvRing MsgBox ("Cambio en el indicador de llamadas") Case comEvSend 'MsgBox ("Hay un SThreshold carácteres en el búfer de transmisión") Case comEvEOF MsgBox ("Se ha encontrado un carácter EOF en la entrada") Case comEvReceive recibido = MSComm1.Input If recibido = "<" Then MsgBox ("TRANSMISIÓN FINALIZADA CON ÉXITO") End If End Select End Sub Private Sub Transmitir_Click() Dim Tf, Tg, modo As Integer Dim bip1, bip2 As Boolean Dim caracter(6) As String bip1 = False bip2 = False modo = 67 caracter(0) = Chr(modo) If Text1.Text = 0 Or Text3.Text = 0 Then MsgBox ("Por favor, rellene todos los campos") Else If (Text1.Text >= 250) And (Text1.Text <= 450) Then Tf = 1.15 * Int(Text1.Text) – 262 Else MsgBox ("Temperatura sensores 550ohm fuera de rango (250 - 450ºC)") bip1 = True End If If (Text3.Text >= 250) And (Text3.Text <= 450) Then

Page 107: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO I – Programa PC

102

Tg = 1.15* Int(Text3.Text) – 262 Else MsgBox ("Temperatura sensores de 650ohm fuera de rango (250 - 450ºC)") bip2 = True End If End If If MSComm1.PortOpen = False Then MsgBox ("Seleccione puerto de comunicación") ElseIf bip1 = False And bip2 = False Then MSComm1.Output = caracter(0) caracter(1) = Chr(Tf) MSComm1.Output = caracter(1) caracter(2) = Chr(Tg) MSComm1.Output = caracter(2) caracter(3) = Chr(Tg) MSComm1.Output = caracter(3) caracter(4) = Chr(Tg) MSComm1.Output = caracter(4) caracter(5) = Chr(Tg) MSComm1.Output = caracter(5) End If End Sub Private Sub Form_Load() 'Inicialización de las etiquetas de texto Text1.Text = 0 Text3.Text = 0 'Configuración general MSComm1.RThreshold = 1 MSComm1.SThreshold = 1 'Configuración modo transmisión/recepción: modo texto MSComm1.InputMode = comInputModeText 'Sin protocolo de transmisión MSComm1.Handshaking = comNone '9600 bauds, sin paridad, 8 bits de datos y 1 de stop MSComm1.Settings = "9600,N,8,1" 'Usar todo el buffer para transmitir MSComm1.InputLen = 0 End Sub

Page 108: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO I – Programa PC

103

I.3-Código Menú para Modo de transmisión «Incremental»

Fig 32. Formulario asociado al modo de transmisión «Incremental» Private Sub mnuComm1_Click() If MSComm1.CommPort <> 1 And MSComm1.PortOpen = False Then MSComm1.CommPort = 1 MSComm1.PortOpen = True mnuComm1.Checked = True mnuComm2.Checked = False mnuComm3.Checked = False mnuCOMM4.Checked = False Else: MsgBox ("El Puerto de comunicación 1 ya está abierto") End If End Sub Private Sub mnuComm2_Click() If MSComm1.CommPort <> 2 And MSComm1.PortOpen = False Then MSComm1.CommPort = 2 MSComm1.PortOpen = True mnuComm1.Checked = False mnuComm2.Checked = True mnuComm3.Checked = False mnuCOMM4.Checked = False Else: MsgBox ("El Puerto de comunicación 2 ya está abierto") End If End Sub

Page 109: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO I – Programa PC

104

Private Sub mnuComm3_Click() If MSComm1.CommPort <> 3 And MSComm1.PortOpen = False Then MSComm1.CommPort = 3 MSComm1.PortOpen = True mnuComm1.Checked = False mnuComm2.Checked = False mnuComm3.Checked = True mnuCOMM4.Checked = False Else: MsgBox ("El Puerto de comunicación 3 ya está abierto") End If End Sub Private Sub mnuComm4_Click() If MSComm1.CommPort <> 4 And MSComm1.PortOpen = False Then MSComm1.CommPort = 4 MSComm1.PortOpen = True mnuComm1.Checked = False mnuComm2.Checked = False mnuComm3.Checked = False mnuCOMM4.Checked = True Else: MsgBox ("El Puerto de comunicación 4 ya está abierto") End If End Sub Private Sub MSComm1_OnComm() Select Case MSComm1.CommEvent Case comBreak MsgBox ("Se ha recibido una interrupción") Case comEventFrame MsgBox ("Error de trama") Case comEventOverrun MsgBox ("Datos perdidos") Case comEventRxOver MsgBox ("Desbordamiento del búfer de recepción") Case comEventRxParity MsgBox ("Error de paridad") Case comEventTxFull MsgBox ("Búfer de transmisión lleno") Case comEventDCB MsgBox ("Error inesperado al recuperar DCB") Case comEvCD MsgBox ("Cambio en la línea CD") Case comEvCTS MsgBox ("Cambio en la línea CTS")

Page 110: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO I – Programa PC

105

Case comEvDSR MsgBox ("Cambio en la línea DSR") Case comEvRing MsgBox ("Cambio en el indicador de llamadas") Case comEvSend 'MsgBox ("Hay un SThreshold carácteres en el búfer de transmisión") Case comEvEOF MsgBox ("Se ha encontrado un carácter EOF en la entrada") Case comEvReceive recibido = MSComm1.Input If recibido = "<" Then MsgBox ("TRANSMISIÓN FINALIZADA CON ÉXITO") End If End Select End Sub Private Sub Transmitir_Click() Dim Tf_min, Tf_max, Tg_min, Tg_max, T, modo As Integer Dim bip1, bip2, bip3, bip4, bip5 As Boolean Dim caracter(6) As String modo = 73 caracter(0) = Chr(modo) If Text1.Text = 0 Or Text2.Text = 0 Or Text3.Text = 0 Or Text4.Text = 0 Or Text5.Text = 0 Then MsgBox ("Por favor, rellene todos los campos") Else If (Text1.Text <= 450) And (Text1.Text >= 250) Then Tf_min = 1.15 * Int(Text1.Text) – 262 Else MsgBox ("Temperatura mínima sensores de 550ohm fuera de rango (250 - 450ºC)") bip1 = True End If If (Text2.Text > Text1.Text) And (Text2.Text <= 450) Then Tf_max = 1.15 * Int(Text2.Text) – 262 Else If (Text2.Text < Text1.Text) Then MsgBox ("Temperatura máxima sensores de 550ohm menor a Temperatura mínima") bip2 = True Else MsgBox ("Temperatura mínima sensores de 550ohm fuera de rango (250 - 450ºC)") bip2 = True End If

Page 111: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO I – Programa PC

106

End If If (Text3.Text <= 450) And (Text3.Text >= 250) Then Tg_min = 1.15 * Int(Text3.Text) - 262 Else MsgBox ("Temperatura mínima sensores de 650ohm fuera de rango (250 - 450ºC)") bip3 = True End If If (Text4.Text > Text3.Text) And (Text4.Text <= 450) Then Tg_max = 1.15 * Int(Text4.Text) – 262 Else If (Text4.Text < Text3.Text) Then MsgBox ("Temperatura máxima sensores de 650ohm menor a Temperatura mínima") bip4 = True Else MsgBox ("Temperatura mínima sensores de 650ohm fuera de rango (250 - 450ºC)") bip4 = True End If End If If (Text5.Text >= 200) And (Text5.Text <= 2000) Then T = (51 / 360) * Int(Text5.Text) - (255 / 9) Else MsgBox ("Frecuencia de consignas fuera de rango (200 - 2000 mHz)") bip5 = trae End If End If If MSComm1.PortOpen = False Then MsgBox ("Seleccione puerto de comunicación") ElseIf bip1 = False And bip2 = False And bip3 = False And bip4 = False And bip5 = False Then MSComm1.Output = caracter(0) caracter(1) = Chr(Tf_min) MSComm1.Output = caracter(1) caracter(2) = Chr(Tf_max) MSComm1.Output = caracter(2) caracter(3) = Chr(Tg_min) MSComm1.Output = caracter(3) caracter(4) = Chr(Tg_max) MSComm1.Output = caracter(4) caracter(5) = Chr(T) MSComm1.Output = caracter(5) End If End Sub

Page 112: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO I – Programa PC

107

Private Sub Volver_Click() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False End If Load Form1 Form1.Show Unload Incremental End Sub Private Sub Form_Load()

'Inicialización de las etiquetas de texto Text1.Text = 0 Text2.Text = 0 Text3.Text = 0 Text4.Text = 0 Text5.Text = 0

'Configuración general 'MSComm1.CommPort = 4 MSComm1.RThreshold = 1 MSComm1.SThreshold = 1

'Configuración modo transmisión/recepción: modo texto MSComm1.InputMode = comInputModeText 'Sin protocolo de comunicación MSComm1.Handshaking = comNone '9600 bauds, sin paridad, 8 bits de datos y 1 de stop MSComm1.Settings = "9600,N,8,1" 'Usar todo el buffer para transmitir MSComm1.InputLen = 0 'Abrir el puerto. 'MSComm1.PortOpen = True End Sub

Page 113: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO I – Programa PC

108

I.4-Código Formulario de ayuda

fig 45. Formulario de ayuda al usuario Private Sub Cerrar_Click() Unload ayuda End Sub

Page 114: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO I – Programa PC

109

I.5-Código Formulario «Sobre»

Fig 33. Formulario de identidad del programa de Transmisión Private Sub Command1_Click() Load Form1 Form1.Show Unload Sobre End Sub

Page 115: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO II – Programa microcontrolador máster

110

Anexo II Programa microcontrolador máster /*-------------------------------------------------------------------------------------------------------- PROGRAMA PARA EL MICROCONTRADOR MASTER DEL SISTEMA

Objetivo: el microcontrolador máster del sistema será el encargado de recibir los datos de consigna por la USART, transmitidos por el usuario desde el PC y, tras su interpretación, será el encargado de generar la consigna adecuada para cada microcontrolador esclavo mediante PWM.

Autor: Rubén Folch Fernández Última Revisión: 20/05/05 --------------------------------------------------------------------------------------------------------*/ #include <16F876.h> #fuses XT, NOWDT, NOPROTECT, PUT // Se inicializa el registro “CONFIGURATION WORD”: // XT: Cristal / Oscilador // NOWDT: Sin uso de WATCH DOG TIMER // NOPROTECT: Sin protección de código // PUT: Temporizador de puesta en marcha #USE DELAY(clock = 4000000) #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) // Inicialización de la USART #DEFINE FREC_PWM 47619

// Frecuencia de PWM en Hz #DEFINE TIC 0.04992000319

// segundos (aprox 1 interrupción por cada TIC segundos) unsigned int8 value[6], // vector donde se almacenarán los datos recibidos vf, vf_max, vg, vg_max, offsetf, offsetg; int i = 0; int16 frec; int cuenta; long DCf, // Ciclo de trabajo de ambas salidas PWM DCg;

Page 116: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO II – Programa microcontrolador máster

111

int z, xmision = 0; signed n; void reconstruccion(void); void inicio(void); #int_rda // Interrupción de Transmisión void serial_isr() value[i] = getc(); i++; if(i == 6) i = 0; putc('<'); if(value[0] == 'I') reconstruccion(); else if (value[0] == 'C') disable_interrupts(int_rtcc); inicio(); #int_rtcc void clock_isr() if(--cuenta == 0) cuenta = (int)((1000 / (TIC * frec)) + 0.5); n++; if(n%2) // si n impar, cambio de consigna vf = vf + offsetf*z; vg = vg + offsetg*z; z++; if (z > 4) z = 1; else vf = value[1];

Page 117: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO II – Programa microcontrolador máster

112

vg = value[3]; if (n >= 7) n = -1; DCf = (long)((vf*4000000)/(255*FREC_PWM) +0.5); DCg = (long)((vg*4000000)/(255*FREC_PWM) +0.5); void reconstruccion(void) // Copia de valores para no perder los originales vf = value[1]; vf_max = value[2]; vg = value[3]; vg_max = value[4]; //reconstrucción de frecuencia (entre 200 - 2000 mHz) frec = (int16)(((1800 / 255) * value[5]) + 200.5); //mHz void inicio(void) // inicializa módulos PWM y timer2 setup_ccp1(CCP_PWM); setup_ccp2(CCP_PWM); setup_timer_2(T2_DIV_BY_1, 20, 1); if(value[0] == 'I') // Calcula el primer valor de DC DCf = (long)((vf*4000000)/(255*FREC_PWM) +0.5); DCg = (long)((vg*4000000)/(255*FREC_PWM) +0.5); // Inicializa timer0 encargado de generar // los intervalos entre consignas setup_timer_0(RTCC_INTERNAL | RTCC_DIV_256); set_rtcc(61); cuenta = (int)((1000 / (TIC * frec)) + 0.5); offsetf = (unsigned int8)((vf_max - vf)/4 + 0.5 ); offsetg = (unsigned int8)((vg_max - vg)/4 + 0.5); // Inicializa variables auxiliares n = 0;

Page 118: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO II – Programa microcontrolador máster

113

z = 1; enable_interrupts(int_rtcc); enable_interrupts(global); // Habilitamos interrupciones else if (value[0] == 'C') DCf = (long)((value[1]*4000000)/(255*FREC_PWM) +0.5); DCg = (long)((value[2]*4000000)/(255*FREC_PWM) +0.5); xmision = 1; main() enable_interrupts(int_rda); enable_interrupts(global); while(1) if(xmision) set_pwm1_duty(DCf); set_pwm2_duty(DCg);

Page 119: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO III – Programa microcontroladores esclavos

114

Anexo III Programa microcontroladores esclavos /*-------------------------------------------------------------------------------------------------------- PROGRAMA PARA LOS MICROCONTRADOR ESCLAVOS DEL SISTEMA

Objetivo: Cada microcontrolador esclavo se encargará de controlar dos sensores del mismo tipo mediante PWM. La consigna a seguir será dada por el uC master.

**NOTA: Programa para sensores con resistencia de heater a temperatura ambiente de 650 ohm y un valor de TCR de 6.79e-4. Intensidad máxima proporcionada por la fuente de corriente (a valor de PWM máximo): 7.35 mA.

Autor: Rubén Folch Fernández Última revisión: 20/05/05 --------------------------------------------------------------------------------------------------------*/ #include <16F876.h> #device ADC=10 #fuses XT, NOWDT, NOPROTECT, PUT #USE DELAY(clock = 4000000) #include <STDLIB.h> #DEFINE R_MAX 838 // (**[1]) resistencia máxima en ohm que tiene // el sensor a una temperatura de 450ºC #DEFINE CTE_PROP 5 // Constante proporcional del control P #DEFINE Ro 650 // (**[2]) Resistencia del sensor a Temp. Ambiente #DEFINE Co 0.000679 // valor de TCR long lec_consigna, // Lectura de consigna conv1, // valores relectura de canal A/D

conv2, conv3, conv4; long Temp, // temperatura de consigna Adc1 = 64, Adc2 = 64; // Inicialización de los ciclos de trabajo a valor máx. int16 R_consigna, // resistencia de heater a Temp. consigna R_medida1, R_medida2; // Resistencias de heater med. (reales instantáneas) float vh1 = 0.0; // Tension heater1 y heater2 float vh2 = 0.0; float ih1,

ih2; // Intensidad heater1 y heater2

Page 120: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO III – Programa microcontroladores esclavos

115

int16 copia_ih1 = 0, copia_ih2 = 0;

float const RES_PWM = 0.00076372315;

// (**[3]) RES_PWM = Fosc / ( Fpwm * Preescaler * Rmax)

#int_rtcc void clock_isr()

// Lazo de control: se obtienen tensión e intensidad del heater y se // calcula la resistencia de heater. Después se procede a un control P set_adc_channel(0); delay_us(20); lec_consigna = Read_ADC(); Temp = (long)(lec_consigna * (200.0 / 920.7) + 228.5);

// Temp = 200/4.5 * Vad + 228.5 ; Vad = Lec_consigna * (5 / 1023) R_consigna = (int16)(Temp * (Ro * Co) + Ro + 0.5); set_adc_channel(1); delay_us(20); conv1 = Read_ADC(); set_adc_channel(2); delay_us(20); conv2 = Read_ADC(); ih1 = (7.35 / 1023.0) * conv1; // ih [mA] copia_ih1 = (int16)(ih1*1000); vh1 = (6200.0 / 1023.0) * conv2;

// (**[4]) vh [mV] if(copia_ih1) R_medida1 = (int16)((vh1 / ih1) + 0.5); if (R_consigna > R_medida1) Adc1 += (long)(((R_consigna - R_medida1) * RES_PWM * CTE_PROP) + 0.5); // Aplicamos control tipo P if (Adc1 > 64) Adc1 = 64;

Page 121: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO III – Programa microcontroladores esclavos

116

else Adc1 -= (long)(((R_medida1 - R_consigna) * RES_PWM * CTE_PROP) + 0.5); if ( Adc1 < 0 ) Adc1 = 0; set_adc_channel(3); delay_us(20); conv3 = Read_ADC(); set_adc_channel(4); delay_us(20); conv4 = Read_ADC(); ih2 = (7.35 / 1023.0) * conv3; // ih [mA] copia_ih2 = (int16)(ih2*1000); vh2 = (6200.0 / 1023.0) * conv4; // (**[5]) vh [mV] if(copia_ih2) R_medida2 = (int16)((vh2 / ih2) + 0.5); if (R_consigna > R_medida2) Adc2 += (long)(((R_consigna - R_medida2) * RES_PWM * CTE_PROP) + 0.5); // Aplicamos control tipo P if (Adc2 > 64) Adc2 = 64; else Adc2 -= (long)(((R_medida2 - R_consigna) * RES_PWM * CTE_PROP) + 0.5); if ( Adc2 < 0 ) Adc2 = 0;

Page 122: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO III – Programa microcontroladores esclavos

117

main() setup_port_a(ALL_ANALOG); setup_adc(ADC_CLOCK_DIV_32); setup_timer_0(RTCC_INTERNAL | RTCC_DIV_256); set_rtcc(226); // frec muestreo de ~130Hz enable_interrupts(int_rtcc); setup_ccp1(CCP_PWM); setup_ccp2(CCP_PWM); setup_timer_2(T2_DIV_BY_16, 16, 1); enable_interrupts(global); while (1) set_pwm1_duty(Adc1); set_pwm2_duty(Adc2); **NOTA: El programa arriba detallado pertenece al microcontrolador de un lazo de control encargado de fijar la temperatura de trabajo de dos sensores con resistencia de heater a temperatura ambiente de 650 O. El mismo programa sirve para sensores de Rh(Tamb) de 550 O, aunque es preciso cambiar las líneas de código marcadas con “(**[n])” por las abajo listadas, según corresponda “n”: [1] #DEFINE R_MAX 709 [2] #DEFINE Ro 550 [3] float const RES_PWM = 0,090267983; [4] vh1 = (5000.0 / 1023.0) * conv2; [5] vh2 = (5000.0 / 1023.0) * conv4;

Page 123: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO IV – Manual de consulta rápida

118

Anexo IV **NOTA: El siguiente manual pretende ser una breve introducción al funcionamiento del sistema para un usuario experimentado en controles de temperatura y sensores de gases. Se recomienda la lectura completa de la presente memoria para una mayor comprensión del sistema. Manual de consulta rápida

El sistema sensor consta, muy básicamente, de un programa de comunicación entre el usuario y el sistema, una placa base y cuatro tarjetas de control.

El programa de comunicación debe instalarse en un ordenador con un sistema

operativo Windows 95 o superior y que disponga de, al menos, un puerto de comunicación serie disponible.

Sólo es necesario un “doble clic” sobre el archivo “setup” dentro del directorio

del programa para que éste ejecute el programa de instalación. Será necesario dar un directorio de destino.

El programa de instalación ofrece la opción de crear un acceso directo en el

menú de inicio del sistema operativo. Una vez instalado, sólo será necesario encontrar dicho acceso, tal y como se muestra en la figura 46 (fig. 46) y clicar sobre él para ejecutar el programa de comunicación.

fig 46. Acceso a programa de comunicación

Page 124: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO IV – Manual de consulta rápida

119

Como paso previo a cualquier otra opción, se recomienda insertar las tarjetas de control en sus zócalos de bus, de tal forma que la cara de componentes quede en la parte interior de la “Placa Base” y la cara de pistas en la parte exterior, tal y como se puede observar en la figura 47 (fig. 47).

fig 47. Inserción de las tarjetas de control

Existen dos tipos de tarjetas de control: dos tarjetas que ejecutan un lazo de control dirigido a sensores micro-hotplate de capa gruesa (de resistencia de heater a temperatura ambiente de 650 O) y dos de lazo para sensores de capa fina (550 O). Situando la “Placa Base” para que el conector serie DB9 quede en el extremo superior izquierdo, las dos primeras tarjetas (650 O) deben insertarse en los zócalos de bus de la parte izquierda de la “Placa Base” y las otras dos en los de la parte derecha. Una vez colocadas las tarjetas de control se recomienda conectar el módulo a la alimentación. Para ello son necesarios los cables de alimentación que deben estar conexos con la regleta situada en la esquina superior derecha. Para una correcta alimentación es necesaria una fuente de alimentación simétrica con salidas de ±15v. El conexionado debe realizarse de acuerdo a la figura 48 (fig. 48).

fig 48. Conexión a la alimentación

Una vez inseridas las tarjetas y conectada la alimentación, se puede proceder a la comunicación con el sistema mediante el programa de transmisión de consignas. Para ello es necesario que el usuario haya conectado el PC donde haya instalado el programa y la “Placa Base” con un cable serie cruzado.

Page 125: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO IV – Manual de consulta rápida

120

El usuario puede escoger, según los ensayos que desee realizar, dos tipos de

consignas de temperatura: una continua (el sistema elevará y mantendrá estable la temperatura de la resistencia heater de los sensores a la consigna fijada para cada tipo de sensor) y una consiga de tipo incremental, según la forma de onda de la figura 49 (fig. 49).

fig 49. Modelo de consigna incremental

Para seleccionar cualquier modo de funcionamiento sólo es necesario clicar sobre el menú “Consigna” que aparece en la parte superior de la pantalla principal del programa de comunicación ó pulsar la combinación de teclas “ctrl. + C” para entrar en el menú de consigna “Continuo” ó “ctrl. + I” para el “Incremental” (no son necesarias mayúsculas).

fig 50. Selección de consignas

Una vez introducidos los datos de consigna requeridos sólo es preciso clicar sobre la tecla “Enviar” (notar la necesidad de seleccionar el puerto de comunicación en el menú “Configuración E/S” ). En caso de error, el programa notificará con una ventana de aviso sobreimpresa el motivo de fallo de la transmisión. Para un correcto funcionamiento, el programa requiere todos y cada uno de los datos que se explicitan además de que los mismos figuren dentro del rango de trabajo del sistema.

8·To

To

Tmin

Tmax

T (ºC)

t (s)

Page 126: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO IV – Manual de consulta rápida

121

fig 51. Ejemplos de avisos de errores El sistema ha sido diseñado para trabajar dentro de un rango de temperatura de entre 250 y 450 ºC, ambos incluidos. De la misma forma, es capaz de generar consignas de tipo “Incremental” con un periodo To que puede oscilar entre los 0.5 y los 5 segundos. En caso de una transmisión exitosa se generará, asimismo, un mensaje de conclusión (fig. 52) y en ese momento el microcontrolador máster empezará a traspasar los datos de consigna a los lazos de control.

fig 52. Conclusión de transmisión

El sistema puede funcionar hasta la desconexión de la alimentación. Una nueva reconexión requerirá nuevos valores de consigna. El sistema admite cambios “al momento”, tanto de constantes como de tipo de consigna. Sólo será necesaria una nueva transmisión. Una vez inicializado y estabilizado, el usuario puede adquirir la tensión de heater de cada sensor, para su posterior análisis y procesado, mediante el conector de cable plano situado en la parte inferior derecha de la “Placa Base”.

Page 127: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

ANEXO IV – Manual de consulta rápida

122

fig 53. Conector de cable plano para adquisición

de tensión de heater Los ocho primeros pins, empezando por el extremo superior, de la parte izquierda del conector, corresponden a las ocho tensiones de heater, estando, los cuatro primeros, conectados a los heaters de capa gruesa y los cuatro siguientes a los heaters de capa fina. Los demás pines del conector están conectados a la tensión de referencia (masa). Es posible conectar un multímetro digital, para medir la resistencia de electrodo tras una inyección de gas o en vacio, al sistema mediante los conectores de cuatro pines situados a ambos lados de la cámara de gases.

El multimetro debe estar preparado para medir resistencias de hasta teraohmios y por ello se recomienda el multímtero “Keithley 6517A” (también posible el “Hewlett Packard 34974A”), capaz de medir resistencias de hasta 200 TO además de poseer una tarjeta de adquisición de datos de 10 canales, la cual cosa posibilita el conectar, a la vez, las ocho resistencias de electrodo.

Se recomienda consultar el manual de instrucciones y funcionamiento del

instrumento y el punto “1.5-Descripción de los elementos sensores”, de la presente memoria, antes de realizar cualquier conexión y/o medición.

Page 128: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

123

Bibliografía

[1] Varios Autores. Funcions electróniques. Edicions UPC [2] Fco. Javier Ceballos, Enciclopedia de Microsoft Visual Basic 6. Ra-ma. [3] José Maria Angulo Usategui, Susana Romero Yasa i Ignacio Angulo Martínez,

Microcontroladores PIC. Mc Graw Hill. [4] http://ww1.microchip.com/downloads/en/DeviceDoc/30292c.pdf

PIC16F876 datasheet [5] Mª Auxilio Recasens Bellver, José González Calabuig. Diseño de circuitos

impresos con orCAD Capture y Layout v.9.2. Madrid International Thomson. [6] Mikel Arteaga García. Caracterización de sensores de óxido metálicos sobre

soportes de silicio micromecanizado. Proyecto de final de carrera. [7] Xavier Blanch Escobar. Estudi i optimització de les formes d’ona per modular

térmicament sensors de gasos. Proyecto de final de carrera. [8] Jordi Colomer Camps. Sistema para el control en lazo cerrado de la

temperatura de trabajo de una agrupación integrada de microsensores de gases. Proyecto de final de carrera.

Page 129: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

124

Page 130: PROYECTO FINAL DE CARRERA - deeea.urv.catdeeea.urv.cat/public/PROPOSTES/pub/pdf/463pub.pdf · de control de la resistenciaheater de cada sensor, los sensores propiamente dichos (incluyendo

125

¡Hasta un niño de cinco años sería capaz de entender esto! ¡Rápido, busque a un niño de cinco años! GROUCHO MARX

Solo tres hombres lo han entendido: uno fue el príncipe Alberto, que está muerto.

El segundo fue un profesor alemán, que se volvió loco. Yo soy el tercero.

Y he olvidado todo el asunto. HENRY J. PALMERSTON

Sin orden ni concierto, a vuelapluma y según se me ocurra:

A Eduard Llobet por aguantar a un proyectista Guadiana. A Raúl Calavia, por tener siempre “un

momentillo”. A Edgar Sotter, por la colaboración y el tiempo. A Jordi Maré y los sufridos técnicos de laboratorio por la atención mostrada en todo momento, especialmente cuando los amigos de lo ajeno se hicieron amablemente cargo de mi proyecto. A los amigos de lo ajeno, cómo no, para que lo hayan podido disfrutar (y con su pan se lo coman). A la gitana que pagué cuantiosamente para que les echara una maldición de las suyas y se materializara en algo sencillito; por ejemplo, el Loa-Loa (una enfermedad parasitaria en la que uno puede juntar en una misma frase, sin apenas dificultad, las palabras: “gusanos”, “debajo”, “ojos”, “larga” y “convalecencia”). A Dumas y El Conde de MonteCristo, por enseñarme que el tiempo pone a cada uno en su sitio. A los Monty Phyton, por enseñarme que siempre hay que mirarle el lado bueno a la vida (If life seems jolly rotten / There's something you've forgotten / And that's to laugh and smile and dance and sing... And, always look on the bright side of life [whistling]). Al maestro Murphy, por tomarme de alumno aventajado y querer cerciorarse de que todas sus leyes son desgraciadamente ciertas a través de mi persona; en fin. A la pereza, a los tiempos muertos y al sofá de mi casa, porque me costó, pero les gané la batalla, qué demonios. A Samuel, Paco, Mariano, Xavi, Javi, Marc y los que se quedaron en el camino por enseñarme que arrieros somos y que se hace camino al andar. A Albert Marsal por no tener nunca un no como respuesta y una respuesta para todo. A RosiFer, Sandra y Pepe por estar. A Andrés, Pedro, Toni y Nando por aparecer y quedarse. A Eloy, por ser y por estar (y por manejar como nadie el “Impr. Pant.”). A Carlitus. A Mafalda y Garfield por enseñarme magistrales lecciones de filosofía de puerta de lavabo (“Dormir me abre el apetito y comer me da sueño. Qué bello es vivir”). Al Pitufo Gruñón, por no pitufarle pitufar. A la suerte, mal que le pese, por no haber hecho acto de presencia en ninguno de los numerosos momentos que el presente proyecto y yo hemos pasado juntos: fastídiate, por no decir algo más gordo. A Kirk, Spock, Laforge y Picard porque me da la real gana y por los buenos ratos. A Romeo, Poé, y sus antepasados y compañeros que tuvieron, tienen y tendrán; ellos saben por qué. A Lucas por los momentos de blanco sobre negro, porque la noche caiga de una vez, y porque es un tiquismiquis y por eso es un editor fantástico y un loco la mar de lúcido. A la Penélope que con su telar teje mi destino: estás despedida, me encargo yo. A mis padres, por haberme dado siempre la oportunidad sin hacer demasiadas preguntas. A Javi Vázquez, Vitaliano Alfageme, Ángel Alejandre y el personal de TPI-Tgn por haber confiado en mí (“¿Y el proyecto para cuando?” Pues ya, ya mismo, impacientes… ¡Subidme el sueldo!). Al amable lector, por continuar leyendo en estos momentos (¿todavía aquí?), que su mérito tiene.

P.S.: Desgraciadamente y muy a su pesar, el abajo firmante es una persona falible e imperfecta y está seguro de dejarse personas que han estado con él puntualmente o a lo largo de estos años (el chico aquel que trabajaba en ese proyecto que tenía la novia aquella, que me enseñó cuatro verdades incontestables de los microcontroladores y ¡qué me aspen si me acuerdo cómo se llama!). Vayan por delante mis disculpas y tengan a bien inscribirse en la línea de puntos: A……………………………… por ………………………….

Simplemente… gracias a todos.

Rubén.