realización de un potenciostato - departament...
TRANSCRIPT
Realización de un Potenciostato
Ingeniería Técnica Industrial. Especialidad en Electrónica Industrial
AUTOR: Juan Luis Calabozo Sánchez DIRECTOR: Xavier Vilanova Salas
FECHA: Noviembre de 2004
Índice
i
ÍNDICE
Índice
ii
1 Memoria Descriptiva 2 1.1 Introducción 2 1.1.1 Antecedentes Generales 2 1.1.2 Objetivos del Proyecto 3 1.2 Descripción Funcional 4 1.3 Posibles Soluciones y Solución Adoptada 5 1.3.1 Sistemas de Dos y Tres Electrodos 5 1.3.2 Comunicación Serie y Comunicación Paralelo 6 1.4 Descripción General 11 1.4.1 Amplificadores Operacionales 11 1.4.1.1 El Amplificador Operacional Ideal 11 1.4.1.2 Parámetros No Ideales 12 1.4.2 Potenciostato 12
1.4.2.1 Etapa de Alimentación de Sensores (Potenciostato) 12 1.4.2.2 Etapa de Tensión de Consigna 13 1.4.2.3 Convertidor Corriente-Tensión 14
1.4.2.4 Adaptador de Tensión 14 1.4.2.5 Amplificador Inversor. Adquisición de Itrabajo 14 1.4.2.6 Amplificador Inversor. Adquisición de Vref 14 1.4.3 Prestaciones con Diferentes Operacionales. Simulación Pspice 15
1.4.4 Adquisición de Datos 28 1.4.4.1 Multiplexor 28 1.4.4.2 Convertidor A/D 30 1.4.4.3 Puerto Paralelo 32 1.4.5 Diagrama de Bloques del Equipo Completo 39 1.4.6 Descripción del Software 40 1.4.6.1 Visión General 40 1.4.6.2 Programa Principal. Diagrama de Bloques 40 1.4.6.3 Programa Principal. Descripción de los Bloques 41 1.4.6.4 Funciones Asociadas a la Interrupción del Timer 48 2 Memoria de Cálculo 51 2.1 Etapa de Alimentación de Electrodos (Potenciostato) 51 2.2 Etapa Convertidora I-V 53 2.3 Amplificador Inversor (Atenuador) 54 2.4 Tensión de Entrada 56 2.5 Convertidor A/D 56 2.6 Voltaje de Offset 57 2.7 Corrientes de Polarización de Entrada 60 3 Planos 65
3.1 Alimentaciones y Potenciostato 66 3.2 Inversores y Atenuador 68 3.3 Adquisición de Tensiones 70 3.4 Placa de Circuito Impreso 72
Índice
iii
4 Presupuesto 74
4.1 Mediciones 74 4.2 Cuadro de Precios 75 4.3 Aplicación de Precios 76 4.4 Resumen del Presupuesto 78
5 Pliego de Condiciones 80
5.1 Condiciones Técnicas 80 5.1.1 Especificaciones Eléctricas 80
5.1.1.1 Generalidades 80 5.1.1.2 Resistencias 80 5.1.1.3 Condensadores 81 5.1.1.4 Placas de Circuito Impreso 81
5.1.2 Especificaciones Mecánicas 82 5.1.3 Ensayos, Verificaciones y Ajustes 83
5.2 Condiciones de la Ejecución 83 5.2.1 Descripción del Proceso 83
5.2.1.1 Compra y Preparación del Material 83 5.2.1.2 Fabricación de los Circuitos Impresos 83
5.3 Condiciones Facultativas 84 5.4 Conclusiones 85
6 Anexos 87 6.1 Manual de Usuario 87
6.1.1 Introducción 87 6.1.2 Elementos que Componen el Sistema 87 6.1.3 Esquema de Conexión 88 6.1.4 Instrucciones de Conexión y Configuración del Sistema 88 6.1.5 Ejecución de la Aplicación 89 6.1.6 Notas 91
6.2 Listado del Programa 92 6.3 Características de los Componentes 104 6.3.1 Convertidor A/D 0804LCN 104 6.3.2 Multiplexor 4HCT 4052 107 6.3.3 Amplificador Operacional OP07 109 6.3.4 Amplificador Operacional OPA544 111 6.3.5 Amplificador Operacional TLE2061 115
6.4 Resultados Obtenidos con el Diseño Definitivo 117
Memoria descriptiva
1
MEMORIA DESCRIPTIVA
Memoria descriptiva
2
1 Memoria Descriptiva 1.1 Introducción
Los mecanismos de transferencia de electrones entre moléculas, proporcionan algunos conocimientos fundamentales sobre el comportamiento de los sistemas químicos. Un subcampo de la química, la electroquímica, estudia el movimiento de electrones entre moléculas en disolución y a través de diferentes materiales, como pueden ser por ejemplo los metales. Puesto que en estos sistemas se estudia el flujo de electrones, o corriente, se puede modelar el sistema químico como una serie de impedancias y conectarlas a un circuito eléctrico para controlar y observar los cambios. El instrumento más comunmente usado para realizar esta labor es el Potenciostato.
1.1.1 Antecedentes Generales
La realización de un potenciostato se debe a la necesidad de disponer de un equipo adecuado para la realización de ensayos electroquímicos. En nuestro caso está destinado a ensayos de electrodeposición de metales. Este tipo de electrodeposición tiene como finalidad el recubrimiento metálico de piezas.
El proceso electroquímico de electrodeposición es el más ampliamente utilizado
para formar recubrimientos metálicos sobre productos semielaborados. Industrialmente se lleva a cabo por inmersión de los productos semielaborados en un baño electrolítico acuoso cuyos principales componentes son sales u otros compuestos solubles del metal deseado para el recubrimiento. Las piezas se conectan al polo negativo de una fuente de alimentación de corriente, constituyendo los cátodos; los ánodos son generalmente placas o barras de un metal o aleación insoluble e inerte con el electrólito utilizado, aunque pueden emplearse otros materiales conductores. El paso de corriente provoca la deposición sobre los cátodos del metal de interés.
Durante el proceso de electrodeposición se produce sobre la pieza que actúa de
cátodo una reacción electroquímica de reducción. Los iones del metal deseado se reducen por acción del paso de corriente a metal, recubriendo la pieza metálica sumergida en el baño.
Para que esta reacción pueda tener lugar debe suministrarse al sistema la energía
eléctrica necesaria para superar el potencial de reducción del ion metálico y ello se realiza controlando la intensidad de corriente o la diferencia de potencial que se aplica sobre los electrodos. La cantidad de sustancia electrodepositada está relacionada con la carga eléctrica que ha circulado por el circuito
Desde el punto de vista del estudio teórico del proceso de electrodeposición, las
técnicas electroquímicas que se utilizan son fundamentalmente dos: la voltametría cíclica y la cronoamperometría de impulsos de potencial. Ambas técnicas son potenciostáticas, es decir, la variable eléctrica que se controla es el potencial aplicado sobre los electrodos.
Memoria descriptiva
3
1.1.2 Objetivos del Proyecto El principal objetivo del proyecto es la realización de un potenciostato y la
adecuada elección de sus componentes, de manera que nuestro circuito cubra el mayor rango posible de valores de tensión y corriente a la hora de controlar los procesos de electrosíntesis, en los que la principal finalidad será mantener constante la diferencia de potencial entre dos puntos, a pesar de las variaciones de la resistencia entre ellos
Los componentes críticos del circuito son amplificadores operacionales. Estos nos
van a limitar el rango de funcionamiento del potenciostato. Para minimizar estas limitaciones serán necesarios operacionales que cumplan los siguientes requisitos.
• baja corriente de polarización. • alta impedancia de entrada • baja tensión de offset
Se comprobarán los límites de funcionamiento del circuito utilizando diferentes
operacionales y simulando las cargas con resistencias reales. Una vez escogidos los operacionales adecuados, se añadirá una etapa que nos permita conectar nuestro potenciostato a un PC. Esto nos ofrecerá la oportunidad de visualizar el comportamiento de nuestro circuito durante su funcionamiento, así como el registro de datos y su posible análisis posterior.
La adquisición de las variables de interés se va a realizar a través del puerto
paralelo y con ayuda de un convertidor analógico/digital. La monitorización nos va a permitir comprobar el correcto funcionamiento del circuito en condiciones reales, aportándonos un gráfico de los valores de la tensión de consigna entre los dos puntos de interés y un gráfico de la corriente que circulará entre estos dos puntos.
Los valores de cada prueba serán guardados en ficheros de texto. El programa nos
va a permitir utilizar estos ficheros de texto para editar las gráficas pertenecientes a cada ensayo. En cada prueba, quedarán también registrados los valores en un segundo fichero de texto. La forma en que se almacenarán los valores en este fichero, permitirá su visualización en una tabla de Excel. De esta manera, se podrán visualizar las gráficas de resultados en cualquier PC sin necesidad de tener instalado nuestro programa.
Memoria descriptiva
4
1.2 Descripción Funcional
Las principales etapas que forman el circuito son las siguientes • etapa de ajuste de la tensión de entrada • potenciostato básico • etapas inversoras que permiten la adquisición de tensiones • adquisición de tensiones con ayuda de convertidor A/D y multiplexor
La parte principal del circuito diseñado es la etapa que cumple las funciones de
potenciostato. Esta etapa trata de mantener constante la tensión entre los electrodos de referencia y trabajo a pesar de las variaciones de la resistencia entre estos dos puntos. Esta tensión será igual a la tensión de entrada, que ajustaremos manualmente con ayuda de un potenciómetro.
Para comprobar que el potenciostato funciona correctamente, representamos
gráficamente la tensión del electrodo de referencia, la cual, como se ha comentado antes, debe ser constante e igual a la tensión de entrada. También representaremos gráficamente la corriente que atravesará los electrodos, con lo que tendremos una idea del comportamiento del proceso electroquímico.
El siguiente esquema nos da una idea del diseño final
Figura 1. Sistema completo para la utilización del potenciostato
Ajuste deVin
Placa de circuito impreso
PotenciostatoConvertidor A/D y multiplexor
Célula electroquímica y electrodos
Fuente de alimentación
PC
Auxiliar
Trabajo
Referencia
Memoria descriptiva
5
1.3 Posibles Soluciones y Solución Adoptada 1.3.1 Sistemas de Dos y Tres Electrodos
- Posible solución: sistema de dos electrodos
En los sistemas de dos electrodos, la corriente o el potencial son aplicados a través
del electrodo de referencia y el de trabajo, tal como se indica en la figura siguiente.
Figura 2. Sistema de dos electrodos
Aunque el electrodo de referencia suele escogerse de alto grado de no polarizabilidad, el paso de densidades de corriente elevadas provoca la aparición, en este electrodo, de un sobrevoltaje que, evidentemente, desvirtúa la utilización del electrodo como referencia.
Aparte de ello, y debido a la resistencia eléctrica presentada por la disolución, la
diferencia de potencial empleada no se aplica toda a la interfase del electrodo de trabajo, sino que existe una pérdida óhmica a lo largo de la disolución, que origina que el voltaje real existente en la interfase sea inferior al voltaje aplicado según:
Ereal = Eapl. - I·R
siendo
Ereal: caída de tensión en electrodo de trabajo Eapl.: diferencia de potencial aplicada entre electrodos I·R: caída de tension en la disolución
V
A
Electrodo de referencia
Electrodo de trabajo
Memoria descriptiva
6
Por todo ello, es más conveniente utilizar un sistema de tres electrodos, contraelectrodo o electrodo auxiliar, electrodo de referencia y electrodo de trabajo, por medio del cual se evita la polarización del electrodo de referencia, ya que por él no pasa corriente, puesto que el voltímetro empleado en la lectura debe tener una impedancia de entrada muy elevada (ver Figura 3).
Figura 3. Sistema de tres electrodos
- Solución adoptada: sistema de tres electrodos
El electrodo de referencia debe mantener una potencial constante para funcionar
como tal. Sin embargo, tan pronto como una corriente lo atraviesa, éste queda polarizado, lo que significa que su potencial varía con la corriente. Por lo tanto, ninguna corriente debe atravesar al electrodo de referencia.
Por ello es necesario introducir un tercer electrodo (auxiliar) que proporcione la
corriente necesaria para polarizar al electrodo de trabajo a la tensión deseada sin tener que utilizar el electrodo de referencia para realizar ésta misión (Figura 3). Éste quedará conectado a un amplificador con una corriente de polarización muy baja y resistencia de entrada muy alta procurando que la corriente que lo atraviesa sea mínima.
1.3.2 Comunicación Serie y Comunicación Paralelo. - Posible solución: comunicación serie
Transmisión síncrona y transmisión asíncrona en comunicación serie Una comunicación síncrona es aquella que está sometida a una rígida
temporización que va a permitir que el elemento receptor sea capaz de conocer en qué instante la señal que le llega tiene plena validez.
V
A
Electrodo de referencia
Electrodo de trabajo
Electrodo auxiliar
Memoria descriptiva
7
Por el contrario, una comunicación asíncrona no está sujeta a tal temporización. Los
datos pueden ser transmitidos en cualquier momento, por lo que el dispositivo transmisor debe enviar al receptor una señal auxiliar que indique el momento en que los datos son válidos. En la transmisión asíncrona deben existir señales de protocolo y tiene las siguientes características:
- La transmisión se efectúa carácter a carácter. - La temporización dentro de cada carácter es rígida. A cada bit le corresponde un
tiempo preciso. - Los caracteres se transmiten aisladamente. El tiempo que separa cada carácter
puede ser cualquiera, es decir sin sincronismo. - Cuando no se transmiten caracteres, el nivel lógico de la línea es 1. - Cada carácter va precedido por un tiempo de duración igual a cada uno de los bits
en el que el nivel lógico de la señal es 0. A este tiempo se le denomina bit de arranque.
- El número de bits que componen el carácter es pequeño. - El primer bit que se transmite es el de menor peso (b0), y el último es el de mayor
peso. - A continuación, opcionalmente, se transmite un bit llamado de paridad. - Al final de cada carácter, antes de que se transmita el siguiente, la línea debe
permanecer a 1 durante el tiempo equivalente a uno, uno y medio o dos bits como mínimo. Este tiempo se denomina bit de parada
Un circuito básico de generación de una señal serie asíncrona, como el mostrado en
la figura 4, incluiría, por ejemplo, un microcontrolador o microprocesador que se encargue de recoger una señal, para luego convertirla al formato digital con ayuda de un convertidor A/D. Este dato compuesto por varios bits pasaría a un registro de desplazamiento y, a la frecuencia marcada por un reloj, generaría en la salida la señal serie deseada.
Entrada paralelo
b7 b6 b5 b4 b3 b2 b1 b0
1 x x x x x x x x 0 Registro de desplazamiento
Figura 4. Generador de señal serie asícrona
La recepción de una señal asíncrona puede resultar algo más complicada. En primer lugar hay que tener en cuenta que la señal que llega al receptor puede estar distorsionada por los efectos de la línea de transmisión. En particular, los flancos de subida y bajada se habrán deteriorado como consecuencia de las capacidades e inductancias asociadas a la línea. Además puede haberse introducido ruido.
Out
Oscilador reloj Orden de arranque
Memoria descriptiva
8
En la figura 5 se muestra una posible configuración del circuito receptor. El circuito
detector de arranque debe observar el estado de la línea y activarse cuando se detecte un paso de 1 a 0. Cuando esto ocurre debe arrancar el oscilador de reloj que previamente ha debido ajustarse para que genere una frecuencia lo más parecida posible a la que se espera que utilice el transmisor.
La señal serie muestreada será introducida en un registro de desplazamiento
susceptible de ser leído en paralelo por un microprocesador o microcontrolador. Además debe existir un circuito contador que controle el número de desplazamientos a realizar, en función del número de bits que componen el carácter. Una vez recibido el último y comprobado el bit o bits de parada, el circuito receptor debe volver a su estado inicial.
lectura paralelo señal serie IN Registro de desplazamiento Oscilador reloj Detector bit de arranque
Figura 5. Posible configuración del circuito receptor
Si la frecuencia del reloj del receptor no coincide exactamente con la del transmisor, se producirá un desplazamiento acumulado a lo largo de los bits que componen el carácter. No obstante, puesto que el número de bits no es muy grande, es necesario un notable desajuste de frecuencias para que el muestreo de la señal llegue a ser incorrecto.
En la transmisión síncrona los datos o caracteres no se envían aisladamente sino
formando bloques de gran longitud. Al comienzo de cada bloque o trama se transmiten uno o dos caracteres de sincronismo que van a permitir al receptor la identificación de los restantes bits que componen el bloque.
La exactitud de la frecuencia del receptor es ahora un requisito de mucha mayor
importancia que en el caso de la transmisión asíncrona. Al ser grande el número de bits de los bloques, el error de tiempos acumulado que se deriva de un desajuste entre las frecuencias de reloj de transmisor y receptor puede hacer irreconocible la señal recibida.
En la transmisión síncrona no es posible trabajar con un oscilador de reloj en el
receptor totalmente independiente del reloj del transmisor. Ambos relojes deben ser uno mismo por lo que es necesario utilizar algún procedimiento para que al receptor llegue información exacta de la frecuencia utilizada en el transmisor. Un procedimiento para lograr este sincronismo entre relojes es unir los del transmisor y el receptor con una línea adicional que permita la transmisión directa de la señal de reloj. Otro procedimiento es el basado en el uso de algún sistema de modulación que haga llegar al receptor información
Memoria descriptiva
9
sobre la frecuencia de reloj original. En este caso es necesario un circuito separador de reloj que recupere el reloj original.
a) Señal serie TX RX Reloj
Señal b) compuesta TX Modulador Separador RX de reloj
Reloj Reloj
Figura 6. Sicronización de los relojes del transmisor y receptor
Si la información de la frecuencia de reloj está contenida de forma implícita en la propia señal serie, es preciso dejar un cierto tiempo para que el circuito separador de reloj alcance un régimen permanente y entregue la frecuencia correcta. Durante el tiempo en que se transmiten los caracteres de sincronismo es posible alcanzar este régimen permanente.
Pero además ocurre otra circunstancia importante en la transmisión síncrona: los
datos o caracteres se transmiten consecutivamente, sin ningún bit de separación entre ellos. La separación ha de lograrse exclusivamente llevando la cuenta del número de bits que componen cada carácter. Para ello es preciso conocer exactamente cuál es el primer bit de cada carácter, lo que puede lograrse identificando el primer (o los dos primeros) carácter recibido, con un carácter concreto que debe haber sido transmitido al comienzo de cada bloque o trama.
En la transmisión asíncrona, cuando no hay caracteres a transmitir no se transmite
nada, quedando la línea en posición de reposo. Por el contrario, en la transmisión síncrona, estos vacíos se llenan con caracteres de sincronismo con el fin de que el receptor no pierda la sincronización, tanto de frecuencia, como de espaciamiento de caracteres.
La construcción del hardware necesario para el manejo de señales serie nos viene
un tanto facilitado por la disponibilidad de diversas pastillas LSI especializadas, que además son compatibles con diversos microprocesadores.
Ventajas - Posibilidad de una sóla línea de comunicación (adecuado para largas distancias) Inconvenientes - Aumento del número y precio de los componentes. Por ejemplo microcontrolador
y adaptador de señal MAX232. - Necesidad de programación del microcontrolador o microprocesador para recojer
una tensión y enviarla por puerto serie.
Memoria descriptiva
10
- Mayor complejidad de programación del puerto serie del PC. - Mayor espacio ocupado en la placa por los componentes adicionales necesarios en
una comunicación serie.
- Solución adoptada: comunicación a través del puerto paralelo
El único inconveniente encontrado en esta solución es la cantidad de líneas de datos utilizadas para el envío de cada dato. Pero en nuestro caso esto no ha sido determinante porque el PC y el equipo formado por potenciostato y célula electroquímica van a estar muy cercanos.
Ventajas - Un sólo componente (convertidor A/D) entre tensión adquirida y puerto del PC. - Una sóla instrucción (inportb) en programa de PC para recoger el valor de tensión
deseado. - Poco espacio ocupado en placa por el componente que enlaza circuito y PC. Inconvenientes - Elevado número de líneas de datos y control entre el circuito y el PC.
Memoria descriptiva
11
1.4 Descripción General 1.4.1 Amplificadores Operacionales
Las principales variables electroquímicas son cantidades analógicas (o continuas),
por eso nuestro objetivo es conseguir un circuito que controle y mida tensiones, corrientes y cargas en el dominio analógico. Los dispositivos mejor preparados para realizar este trabajo son los amplificadores operacionales. Estudiaremos brevemente sus propiedades para poder entender la manera en que más tarde los conectaremos para crear nuestro circuito.
1.4.1.1 El Amplificador Operacional Ideal
La mayoría de operacionales son circuitos integrados que contienen dispositivos discretos como transistores, resistencias, condensadores y otros. Pero nuestro interés se centra únicamente en su comportamiento como unidad dentro de un circuito.
En la figura 7, podemos observar los terminales de alimentación. Normalmente son
dos terminales que se alimentan a +15V y -15V respecto a un terminal común que será en nuestro caso el terminal intermedio del secundario del transformador. Además podemos observar la línea de salida y las dos de entrada.
Figura 7. Modelo básico de amplificador operacional
El operacional dispone de una entrada inversora (E-) y una entrada no inversora (E+). La propiedad fundamental del amplificador es que la salida Eo es el resultado de amplificar e invertir la diferencia de tensión entre los terminales de entrada (Es). Esto es,
Eo = -A·Es (1)
donde A es la ganancia en lazo abierto. Dado que Eo se compone de dos tensiones referidas al terminal común como son E- y E+, podemos definir la tensión de salida como
Eo = -A· E- + A· E+ (2) donde Es = E- - E+ (3)
El amplificador operacional ideal tiene varias propiedades importantes. Primero, su
ganacia en lazo abierto A es infinita. Esto provoca que una pequeña diferencia de tensión en la entrada E- - E+ llevaría la salida Eo al límite entregable por alimentación simétrica del dispositivo. De aquí podemos deducir que si el operacional ofrece a su salida tensiones
+15V
-15V
E+
E-
Eo
0
o
o
0o
0
3
2
84
1+
-
V+
V-
OUTEs
Memoria descriptiva
12
situadas dentro de los límites de alimentación del dispositivo, entonces los dos terminales de entrada estarán en este caso al mismo potencial.
Otra propiedad es la impedancia de entrada infinita, cosa que les permite aceptar
tensiones de entrada absorviendo una cantidad mínima de corriente de la fuente de tensión. Esta característica nos permite medir tensiones sin modificarlas. Por otro lado nuestro dispositivo ideal puede proporcionar la cantidad de corriente deseada a su carga. Por lo tanto, idealmente tiene impedancia de salida nula.
Finalmente se considera que tiene ancho de banda infinito, respondiendo totalmente
a una señal de cualquier frecuencia.
1.4.1.2 Parámetros no Ideales A la hora de escoger los componentes, vamos a tener en cuenta las características
no ideales de los operacionales, ya que en nuestro circuito los operacionales van a trabajar al límite en alguno de sus parámetros. Vamos a repasar los más importantes dentro de la instrumentación electroquímica.
El primero de ellos es la ganancia en lazo abierto. Esta ganancia depende de la
frecuencia, disminuyendo para valores altos de ésta. Otra limitación es la del ancho de banda.Ésta la podemos ver desde el punto de vista del ancho de banda de ganancia unidad, que es la frecuencia a la que la ganancia en lazo abierto es igual a 1. El ancho de banda útil debe ser uno o dos órdenes de magnitud menor que el ancho de banda de ganancia unidad si es que éste va a ser un parámetro crítico en nuestro circuito. Otro parámetro que describe las limitaciones de un amplificador a altas frecuencias es el slew rate, que es la máxima velocidad de cambio de la tensión de salida a una señal escalón en la entrada.
El rango de impedancia de entrada en los dispositivos reales está entre 105 y 1013
Ω. Los límites de la tensión de salida están ligados a la tensión de alimentación de los operacionales. Un último parámetro que deberíamos de tener en cuenta en nuestra aplicación es la tensión de offset. En general una tensión en los terminales de entrada igual a cero no producirá una salida de cero voltios en la salida. La mayoría de operacionales disponen de terminales que permiten ajustar a cero esta tensión de offset mediante un potenciómetro.
1.4.2 Potenciostato 1.4.2.1 Etapa de Alimentación de Sensores (Potenciostato)
Este circuito forma parte de un sistema electroquímico destinado a realizar ensayos de electrodeposición de metales. El sistema lo completan tres electrodos y un recipiente con la disolución apropiada.
El potenciostato está formado por amplificadores y tiene como finalidad
mantener constante la tensión entre dos electrodos: el electrodo de trabajo y el de referencia. Contará además con dos etapas destinadas a medir la corriente que circule a través del electrodo de trabajo y la posible variación de la tensión a controlar.
Memoria descriptiva
13
El potenciostato más simple es el que se muestra a continuación
Figura 8. Potenciostato básico
La función de la etapa B es la de informar sobre la diferencia de tensión entre el electrodo de referencia y el terminal de tierra. En este circuito el electrodo de trabajo está conectado a tierra. El resultado es que la etapa B informa de la diferencia de tensión entre el electrodo de referencia y el electrodo de trabajo.
La etapa amplificadora A coge esta información y la compara con el voltaje de
consigna Vin. La comparación es usada para ajustar el voltaje del electrodo auxiliar, forzando una corriente a través de él, que llegará al electrodo de trabajo consiguiendo que la tensión entre electrodos de referencia y trabajo se iguale a la deseada (Vin). Tan pronto como la corriente comienza a circular, ésta podría hacerlo también a través del electrodo de referencia polarizándose y evitando que se mantenga estable el potencial entre los puntos deseados. Esto se evita gracias a uno de los parámetros más característicos de los amplificadores operacionales, que es su elevada impedancia de entrada y que tiene como resultado una corriente despreciable en la entrada no inversora de la etapa B.
1.4.2.2 Etapa de Tensión de Consigna
La primera conexión de nuestro circuito es a una fuente de alimentación simétrica. A partir de ésta y con ayuda de un potenciómetro y un seguidor de tensión, obtendremos la tensión deseada para polarizar finalmente el electrodo de trabajo. El seguidor de tensión requiere tensiones de entrada despreciables y está especialmente indicado para la medida de tensiones.
Además ofrece una elevada impedancia de entrada y baja impedancia de salida.
Esto le permite aceptar una entrada de un dispositivo que no puede proporcionar mucha corriente y le permite ofrecer la misma tensión a la salida aumentando la corriente al valor solicitado por la carga. Por lo tanto, es un intermediario que permite la medida de una tensión sin perturbarla significativamente.
0
o100k
Vcc
Vcc
Vee
Vee
0
o
o
3
2
84
1
+
-
V+
V-
OUT
3
2
84
1
+
-
V+
V-
OUT
100k
REFERENCIA
AUXI
LIAR
TRAB
AJO
Vin A
B
OPA544T
TLE2061AC
Memoria descriptiva
14
Vcc
Vee
Vout
0
ELECTRODO DE TRABAJO
3
2
84
1
+
-
V+
V-
OUT
1k
DOPA544T
Figura 9. Etapa de ajuste de la tensión de entrada
1.4.2.3 Convertidor Corriente-Tensión
Esta etapa convierte la corriente procedente del electrodo de trabajo en tensión, amplificándola por un factor 1000, lo que nos va permitir medir una variable que podrá ser representada gráficamente. El amplificador utilizado debe tener una impedancia de entrada muy elevada y una corriente de polarización muy baja, puesto que es parte de la corriente que polariza al electrodo y podría falsear la medida. Asimismo, deberá ser capaz de soportar las corrientes que va a generar el amplificador situado en la etapa A (Figura 8) cuando la resistencia de la disolución, se mueva por los valores de unas pocas centenas de ohmios.
Figura 10. Convertidor corriente/tensión
Si suponemos un comportamiento ideal del amplificador, observamos que el electrodo de trabajo está conectado virtualmente a masa.
1.4.2.4 Adaptador de Tensión Un amplificador inversor es necesario para adaptar las tensiones de salida de la etapa D (Figura 10) al rango entre 0 y 5 voltios, que es el permitido en el terminal de entrada de nuestro convertidor A/D. Esta etapa es menos crítica y por ello se implementará con un amplificador operacional de uso general.
Vino
0
o
Vee
Vcc Vcc
Vee
113
2
OP-073
2
74
6
1
8+
-
V+
V-
OUT
OS1
OS2Vin
10k
C
Memoria descriptiva
15
Figura 11. Atenuador
1.4.2.5 Amplificador Inversor. Adquisición de Itrabajo Esta etapa consta de un amplificador inversor al igual que la anterior, pero con la única diferencia del factor de multiplicación. En este caso es 1. Su función es invertir la señal, ya que en su entrada, el convertidor A/D sólo admite tensiones positivas.
La entrada de esta etapa se conectará a la salida de la etapa atenuadora del amplificador E (Figura 11).
Figura 12. Amplificador inversor
1.4.2.6 Amplificador Inversor. Adquisición de Vref
El potencial en el electrodo de referencia es negativo y debe ser igual o cercano a -Vin. Debería mantenerse constante a pesar de la variación de la resistencia de la disolución y del electrodo de trabajo. Esta es la segunda variable que será representada gráficamente y para ello deberá tener polaridad positiva para poder ser recogida por el convertidor A/D. Del cambio de polaridad se encarga un amplificador inversor, igual al representado en la figura 12.
1.4.3 Prestaciones con Diferentes Operacionales. Simulación Pspice • Amplificador Operacional uA741
0
Vee
Vcc
1k
5k6U7OP-07
3
2
74
6
1
8+
-
V+
V-
OUT
OS1
OS2
Vin
Vout E
0Vcc
Vee
U7OP-07
3
2
74
6
1
8+
-
V+
V-
OUT
OS1
OS2
1k
1k
Vin
FVout
Memoria descriptiva
16
Las prestaciones requeridas por nuestro circuito en los amplificadores operacionales son típicas de dispositivos de uso general. Por ello hay que contemplar el estudio de uno de los operacionales más generalizados como es el uA741.
Sus parámetros más importantes dentro del funcionamiento de nuestro circuito se
muestran en la tabla siguiente
UA741 Tensión de alimentación máx. ±22 V Tensión de offset 10 mV Corriente de offset 20 nA Corriente de polarización 80 nA Resistencia de entrada 2 MΩ Corriente cortocircuito 40 mA
Tabla 1. Parámetros más significativos del AO uA741 en nuestro circuito
La elección de un operacional adecuado para un circuito requiere una gran cantidad
de medidas y comparaciones entre los resultados. Hemos recurrido a la simulación del circuito con ayuda del programa Orcad Pspice 9 para tener una idea aproximada de las prestaciones de nuestro equipo con diferentes operacionales.
El esquema utilizado para la simulación se representa en la figura siguiente
Figura 13. Diseño utilizado en la simulación PSPICE
En el caso real se aplica una tensión a la entrada (p.e. 0.5 V), que es la tensión que debería aparecer entre el electrodo de trabajo (Work) y el de referencia (Ref), durante la
Memoria descriptiva
17
reacción química. En el transcurso de ésta, la resistividad de la disolución y la resistencia del electrodo de trabajo van a variar. Las correspondientes resistencias en nuestro circuito serán R11 y R12. El objetivo del circuito es mantener constante la tensión entre los electrodos de referencia y trabajo, a pesar de las variaciones de las resistencias R11 y R12. Vamos a comprobar el funcionamiento para una tensión de entrada fija y diversos valores de las resistencias anteriores. Vamos a considerar que R11 es el doble que R12 incluso a la hora de variar.
Condiciones de la simulación Tipo de simulación barrido en continua de R11 y R12 Vin 0.5 V Rango de valores de R11 10 Ω - 400 Ω Rango de valores de R12 5 Ω - 200 Ω Amplificador operacional uA741 Alimentación de operacionales ±22 V
Tabla 2. Condiciones de la simulación Resistencias de bajo valor entre conectores de electrodos
Figura 14. Comportamiento de la tensión entre electrodos de trabajo y referencia debido a la variación de los valores de las resistencias R11 y R12 (Figura 13)
El resultado obtenido, reflejado en la gráfica de la figura 14, indica que entre los electrodos de trabajo y referencia no se alcanza la tensión deseada hasta que R11=70 Ω y R12=35 Ω aproximadamente. Para valores muy pequeños de estas resistencias los amplificadores U2 y U4 (figura 13) ofrecen corrientes cercanas a sus valores de corriente de cortocircuito.
En los dos primeros tramos de la gráfica de tensión entre el electrodo de trabajo y el
de referencia, el funcionamiento del circuito es incorrecto. Esto se debe a que para esos valores de las resistencias, el amplificador U4 (figura 13) se encuentra saturado como muestra el resultado de la siguiente simulación, realizada en las mismas condiciones que las de la gráfica anterior.
R_aux_ref
0 100 200 300 400V(WORK,REF)
0V
250mV
500mV
R11=10 ohm R12=5 ohm
R11=400 ohm R12=200 ohm
Tens
ión
entre
ele
ctro
dos
de tr
abaj
o y
refe
renc
ia
Valores de R11 en ohmios
Memoria descriptiva
18
Figura 15. Comportamiento de la tensión de salida del amplificador U4 debido a la variación de los valores de las resistencias R11 y R12 (Figura 13)
El problema se acentúa para tensiones de entrada más altas. En la siguiente simulación se aplica una tensión de entrada de 3 V entre los electrodos de trabajo y referencia. Este valor se alcanza para resistencias más altas que en el caso anterior, porque las corrientes necesarias son mayores.
Condiciones de la simulación Tipo de simulación barrido en continua de R11 y R12 Vin 3 V Rango de valores de R11 10 Ω - 400 Ω Rango de valores de R12 5 Ω - 200 Ω Amplificador operacional uA741 Alimentación de operacionales ±22 V
Tabla 3. Condiciones de la simulación Resistencias de bajo valor entre conectores de electrodos
Figura 16. Comportamiento de la tensión entre electrodos de trabajo y referencia debido a la variación de los valores de las resistencias R11 y R12 (Figura 13)
Al igual que en el caso anterior (Vin=0.5 V) el responsable del funcionamiento incorrecto para valores pequeños de las resistencias R11 y R12 es el amplificador U4 (figura 13) que se encuentra saturado como muestra la siguiente simulación realizada en las mismas condiciones que la simulación anterior y representada en la gráfica de la figura 17.
R_aux_ref
0 100 200 300 400V(R5:2,R12:1)
0V
1.0V
2.0V
3.0VR11=40 ohm R12=20 ohm
Valores de R11 en ohmios
Tens
ión
entre
ele
ctro
dos
de tr
abaj
o y
refe
renc
ia
R_aux_ref
0 100 200 300 400V(R5:1)
0V
10V
20V
30V
Tens
ión
de sa
lida
del
ampl
ifica
dor U
4
Valores de R11 en ohmios
R11=10 ohm R12=5 ohm
Memoria descriptiva
19
Figura 17. Comportamiento de la tensión de salida del amplificador U4 debido a la variación de los valores de las resistencias R11 y R12 (Figura 13)
Se observa que prácticamente en todo el barrido de valores de las resistencias, el
amplificador operacional está saturado con un valor a su salida cercano a los 22 V, correspondiente a la tensión de alimentación.
La conclusión es que para valores muy bajos de R11 y R12 el funcionamiento de
nuestro circuito está limitado por la saturación del amplificador U4 (figura 13) y por las corrientes que deben proporcionar los amplificadores U4 y U2, que están cercanas a sus corrientes de cortocircuito.
Por otro lado, el circuito tendrá otra limitación para valores altos de las resistencias
R11 y R12, debido a las corrientes de polarización de los operacionales. Para ciertos valores de las resistencias, las corrientes que circulen por ellas serán muy pequeñas y próximas a las corrientes de polarización de los amplificadores. De esta manera, parte de la corriente necesaria para mantener constante la tensión entre el electrodo de trabajo (Work) y el electrodo de referencia (Ref) se perderá por los terminales de entrada de los operacionales.
Condiciones de la simulación Tipo de simulación barrido en continua de R11 y R12 Vin 0.5 V Rango de valores de R11 200 MΩ - 400 MΩ Rango de valores de R12 100 MΩ - 200 MΩ Amplificador operacional uA741 Alimentación de operacionales ±22 V
Tabla 4. Condiciones de la simulación Resistencias de alto valor entre conectores de electrodos
R_aux_ref
0 100 200 300 400V(R5:1)
15V
20V
R11=10 ohm R12=5 ohm R11=400 ohm
R12=200 ohm
Tens
ión
de sa
lida
del
ampl
ifica
dor U
4
Valores de R11 en ohmios
Memoria descriptiva
20
R_aux_ref
200M 250M 300M 350M 400MV(AUX)
15V
20V
Valores de R11 en ohmios
Figura 18. Comportamiento de la tensión entre electrodos de trabajo y referencia debido a la variación de los valores de las resistencias R11 y R12 (Figura 13)
La causa del funcionamiento incorrecto para los valores más altos de las resistencias R11 y R12 es la saturación del amplificador U2, como se puede comprobar en la siguiente simulación realizada en las mismas condiciones que la anterior. A causa de la saturación, el amplificador no es capaz de modificar la corriente a su salida, luego para un aumento de las resistencias R11 y R12 a corriente constante, el resultado será un aumento de la tensión entre los electrodos Work y Ref.
Figura 19. Comportamiento de la tensión de salida del amplificador U2 debido a la variación de los valores de las resistencias R11 y R12 (Figura 13)
En la siguiente simulación comprobamos el funcionamiento para una tensión de entrada más alta, quedando el resto de parámetros de la misma manera.
Condiciones de la simulación Tipo de simulación barrido en continua de R11 y R12 Vin 7 V Rango de valores de R11 400 MΩ - 700 MΩ Rango de valores de R12 200 MΩ - 350 MΩ Amplificador operacional uA741 Alimentación de operacionales ±22 V
Tabla 5. Condiciones de la simulación Resistencias de alto valor entre conectores de electrodos
R_aux_ref
200M 250M 300M 350M 400MV(R5:2,R12:1)
0V
1.0V
2.0V R11=200 Mohm R12=100 Mohm
R11=400 Mohm R12=200 Mohm
R11=400 Mohm R12=200 Mohm
Valores de R11 en ohmios
Tens
ión
entre
ele
ctro
dos
de tr
abaj
o y
refe
renc
ia
Tens
ión
de sa
lida
del
ampl
ifica
dor U
2
R11=200 Mohm R12=100 Mohm
Memoria descriptiva
21
Figura 20. Comportamiento de la tensión entre electrodos de trabajo y referencia debido a la variación de los valores de las resistencias R11 y R12 (Figura 13)
También en este caso se satura el amplificador U2 para los valores más altos de las
resistencias R11 y R12, como se puede ver en la siguiente gráfica.
Figura 21. Comportamiento de la tensión de salida del amplificador U2 debido a la variación de los valores de las resistencias R11 y R12 (Figura 13)
• Amplificador Operacional OP-07
Otro de los posibles dispositivos adecuado por sus características, para su uso en nuestro circuito es el amplificador operacional OP-07.
Sus características más importantes dentro del funcionamiento de nuestro circuito
se muestran en la tabla siguiente
OP-07 Tensión de alimentación máx. ±18 V Tensión de offset 60 µV Coeficiente de temperatura de la tensión de offset 0.5 µV/ºC Corriente de offset 0.8 nA Coeficiente de temperatura de la corriente de offset 12 pA/ºC Corriente de polarización ±1.8 nA Coeficiente de temperatura de la corriente de polarización 18 pA/ºC Resistencia de entrada 30 MΩ
Tabla 6. Parámetros más significativos del AO OP07 en nuestro circuito
R_aux_ref
400M 500M 600M 700M 750MV(AUX)
5V
10V
15V
20V
25V
R11=400 Mohm R12=200 Mohm
R11=400 Mohm R12=200 Mohm
R11=700 Mohm R12=350 Mohm
R_aux_ref
400M 500M 600M 700M350MV(R5:2,R12:1)
7.5V
10.0V
Valores de R11 en ohmios
Tens
ión
entre
ele
ctro
dos
de tr
abaj
o y
refe
renc
ia
R11=700 Mohm R12=350 Mohm
Tens
ión
de sa
lida
del
ampl
ifica
dor U
2
Valores de R11 en ohmios
Memoria descriptiva
22
El nuevo operacional substituye al uA741 en el esquema de la figura 13.
Realizaremos las mismas simulaciones para comparar finalmente los resultados.
Condiciones de la simulación Tipo de simulación barrido en continua de R11 y R12 Vin 0.5 V, 3 V Rango de valores de R11 10 Ω - 400 Ω Rango de valores de R12 5 Ω - 200 Ω Amplificador operacional OP-07 Alimentación de operacionales ±18 V
Tabla 7. Condiciones de las simulaciones. Resistencias de bajo valor entre conectores de electrodos
Los resultados obtenidos para las tensiones de entrada iguales a 0.5 V y 3 V, son muy similares a los obtenidos con el amplificador operacional uA741, tanto en las tensiones entre electrodo de trabajo y de referencia, como en los valores de las resistencias en los que se satura el operacional U4 (figura 13).
Pero se observan grandes diferencias, en los resultados obtenidos utilizando valores
altos de las resistencias situadas entre los electrodos.
Condiciones de la simulación
Tipo de simulación barrido en continua de R11 y R12 Vin 0.5 V Rango de valores de R11 16 GΩ - 22 GΩ Rango de valores de R12 8 GΩ - 11 GΩ Amplificador operacional OP-07 Alimentación de operacionales ±18 V
Tabla 8. Condiciones de la simulación. Resistencias de alto valor entre conectores de electrodos
Figura 22. Comportamiento de la tensión entre electrodos de trabajo y referencia
debido a la variación de los valores de las resistencias R11 y R12 (Figura 13)
R11=16 Gohm R12=8 Gohm
R11=22 Gohm R12=11 Gohm
R_aux_ref
14G 16G 18G 20G 22GV(WORK,REF)
0.50V
0.75V
1.00V
Valores de R11 en ohmios
Tens
ión
entre
ele
ctro
dos
de tr
abaj
o y
refe
renc
ia
Memoria descriptiva
23
En este caso, la tensión entre los electrodos de trabajo y de referencia se mantiene
constante, hasta que las resistencias R11 y R12 alcanzan valores aproximados de 19.5 MΩ y 9.75 MΩ respectivamente. En la implementación con amplificadores uA741, y en las mismas condiciones de simulación, la tensión entre electrodos de trabajo y referencia se mantenía constante hasta valores de R11 y R12 de 290 MΩ y 145 MΩ respectivamente.
Igual que ocurría utilizando el uA741, el responsable de esta limitación es el
amplificador operacional U2, el cual pasa al estado de saturación.
Figura 23. Comportamiento de la tensión de salida del amplificador U2 debido a la variación de los valores de las resistencias R11 y R12 (Figura 13)
En la siguiente simulación comprobamos el funcionamiento para una tensión de
entrada más alta, quedando el resto de parámetros de la misma manera.
Condiciones de la simulación Tipo de simulación barrido en continua de R11 y R12 Vin 7 V Rango de valores de R11 36 GΩ - 44 GΩ Rango de valores de R12 18 GΩ - 22 GΩ Amplificador operacional OP-07 Alimentación de operacionales ±18 V
Tabla 9. Condiciones de la simulación. Resistencias de alto valor entre conectores de electrodos
Figura 24. Comportamiento de la tensión entre electrodos de trabajo y referencia
debido a la variación de los valores de las resistencias R11 y R12 (Figura 13)
R_aux_ref
35G 40G 45GV(WORK,REF)
7.0V
7.5V
8.0V
R11=16 Gohm R12=8 Gohm
R11=22 Gohm R12=11 Gohm
R11=36 Gohm R12=18 Gohm
R11=44 Gohm R12=22 Gohm
R_aux_ref
16G 18G 20G 22GV(AUX)
15.00V
16.25V
17.50V
Tens
ión
de sa
lida
del
ampl
ifica
dor U
2
Valores de R11 en ohmios
Valores de R11 en ohmios
Tens
ión
entre
ele
ctro
dos
de tr
abaj
o y
refe
renc
ia
Memoria descriptiva
24
También en este caso se satura el amplificador U2 para los valores más altos de las resistencias R11 y R12, como se puede ver en la siguiente gráfica.
Figura 25. Comportamiento de la tensión de salida del amplificador U2 debido a la variación de los valores de las resistencias R11 y R12 (Figura 13)
• Amplificadores operacionales OPA544 y TLE2061 En las simulaciones realizadas con los amplificadores anteriores, hemos observado
una mejora del funcionamiento del circuito al utilizar el A.O. OP07. La explicación la encontramos en su menor corriente de polarización, y su mayor impedancia de entrada respecto al uA741. Además, existe un factor que limita el funcionamiento del circuito, y es la tensión de alimentación de los operacionales. Necesitamos amplificadores que nos ofrezcan la posibilidad de alimentarlos con tensiones más altas, para conseguir un margen mayor de funcionamiento antes de llegar a los estados de saturación observados en gráficas anteriores. También debemos asegurarnos de que los amplificadores utilizados suministren la corriente necesaria a los electrodos, en caso de que los valores de las resistencias entre los conectores de los electrodos sean muy bajos.
Los dispositivos más críticos, son los amplificadores U2 y U4 (figura 13) por varias
razones: - Su tensión de alimentación nos limita el funcionamiento del circuito, ya que son
los que acaban saturándose. - A través de ellos circulará la corriente que alimentará los electrodos. Estas
corrientes pueden ser relativamente altas para transistores de uso general como son el uA741 y el OP07.
- Deberían tener impedancia de entrada muy alta y corriente de polarización muy baja, para afectar lo menos posible al funcionamiento de las mallas a las que están conectados sus terminales de entrada.
Tras comparar diversos operacionales, nos hemos decidido por el OPA544, para
realizar la función de los dispositivos U2 y U4 (figura 13). Sus características más importantes dentro del funcionamiento del circuito, se muestran en la tabla siguiente.
R_aux_ref
35G 40G 45GV(AUX)
10V
15V
20V
R11=36 Gohm R12=18 Gohm
R11=44 Gohm R12=22 Gohm
Tens
ión
de sa
lida
del
ampl
ifica
dor U
2
Valores de R11 en ohmios
Memoria descriptiva
25
OPA544 Tensión de alimentación máx. ±30 V Tensión de offset ±1 mV Coeficiente de temperatura de la tensión de offset ±10 µV/ºC Corriente de offset ±10 pA Corriente de polarización ±15 pA Resistencia de entrada 1012 Ω Corriente de cortocircuito 4 A
Tabla 10. Parámetros más significativos del AO OPA544 en nuestro circuito
El otro dispositivo crítico es el amplificador U3 (figura 13), que recoge la tensión que aparece en el electrodo de referencia, actuando como seguidor de tensión. En este caso, las características necesarias son una alta impedancia de entrada y una baja corriente de polarización. El amplificador elegido para desempeñar esta función es el TLE2061. Sus características más importantes dentro del funcionamiento del circuito, se muestran en la tabla siguiente.
TLE2061 Tensión de alimentación máx. ±18 V Tensión de offset 0.6 mV Coeficiente de temperatura de la tensión de offset 6 µV/ºC Corriente de offset 1 nA Corriente de polarización 4 pA Resistencia de entrada 1012 Ω Corriente de cortocircuito ±80 mA
Tabla 11. Parámetros más significativos del AO TLE2061 en nuestro circuito
Una vez substituidos los amplificadores U2, U3, y U4 en el esquema de la figura 13, hemos realizado las mismas simulaciones para comparar finalmente los resultados.
Condiciones de la simulación Tipo de simulación barrido en continua de R11 y R12 Vin 0.5 V Rango de valores de R11 10 Ω - 400 Ω Rango de valores de R12 5 Ω - 200 Ω Amplificador operacional OPA544 y TLE2061 Alimentación de operacionales ±30 V y ±18 V respectivamente
Tabla 12. Condiciones de la simulación. Resistencias de bajo valor entre conectores de electrodos
Memoria descriptiva
26
Figura 26. Comportamiento de la tensión entre electrodos de trabajo y referencia debido a la variación de los valores de las resistencias R11 y R12 (Figura 13)
El circuito con los nuevos operacionales, alcanza antes la tensión deseada entre los
electrodos de trabajo y referencia. En este caso, gracias a la elevada tensión de alimentación del amplificador OPA544 que forma la etapa U4 (figura 13), este dispositivo abandona la saturación para unos valores de las resistencias R11 y R12 menores que en los casos del uA741 y del OP07. Por lo tanto, hemos conseguido aumentar el margen de funcionamiento para corrientes altas.
Pero la principal diferencia se apreciará para valores muy altos de las resistencias
R11 y R12.
Condiciones de la simulación Tipo de simulación barrido en continua de R11 y R12 Vin 0.5 V Rango de valores de R11 500 GΩ - 2 TΩ Rango de valores de R12 250 GΩ - 1 TΩ Amplificador operacional OPA544 y TLE2061 Alimentación de operacionales ±30 V y ±18 V respectivamente
Tabla 13. Condiciones de la simulación. Resistencias de alto valor entre conectores de electrodos
Figura 27. Comportamiento de la tensión entre electrodos de trabajo y referencia
debido a la variación de los valores de las resistencias R11 y R12 (Figura 13)
R_aux_ref
0 100 200 300 400V(WORK,REF)
0V
250mV
500mV
R_aux_ref
0 0.5T 1.0T 1.5T 2.0TV(WORK,REF)
0V
2.0V
4.0V
OPA544 y TLE2061
Tens
ión
entre
ele
ctro
dos
de tr
abaj
o y
refe
renc
ia
Valores de R11 en ohmios
R11=10 ohm R12=5 ohm
uA741, OP07
Tens
ión
entre
ele
ctro
dos
de tr
abaj
o y
refe
renc
ia
Valores de R11 en ohmios
OPA544 y TLE2061
uA741
OP07
Memoria descriptiva
27
Podemos concluir, que el comportamiento del circuito implemetado con amplificadores operacionales OPA544 y TLE2061, y valores altos de las resistencias R11 y R12, es mejor que en el caso de la implementación con amplificadores uA741 u OP07. La explicación la encontraremos en las diferencias entre los valores de impedancia de entrada y corriente de polarización de los dos amplificadores.
Con un mayor valor de Zi, se consigue reducir el efecto de carga que producen los
terminales de entrada de los operacionales sobre la red de resistencias existente entre los electrodos, afectando menos a su funcionamiento.
Una menor corriente de polarización, implica menor absorción de corriente por
parte de los terminales de entrada de los operacionales, para que estos se polaricen. La influencia de esta corriente de polarización es muy importante cuando las resistencias R11 y R12 (figura 13) toman valores muy grandes, siendo las corrientes que las atraviesan muy pequeñas. En este caso, los terminales de entrada absorberían parte de la corriente necesaria para el correcto funcionamiento del circuito.
Memoria descriptiva
28
1.4.4 Adquisición de Datos
Se utilizará el puerto paralelo de un PC para recoger los valores de las dos variables a representar: corriente a través del electrodo de trabajo y tensión en el electrodo de referencia (el electrodo de trabajo es masa virtual).
Los componentes principales asignados para llevar a cabo esta tarea son los
siguientes circuitos integrados:
• Un multiplexor, del que se van a utilizar dos de sus canales de entrada, que se conectarán directamente a las salidas de la etapa F (figura 12) y de una etapa inversora. Esta última recoge la tensión de salida del seguidor de tensión B (figura 8). La salida del multiplexor se conectará a la entrada del convertidor.
• Un convertidor A/D ADC0804. Es un convertidor de 8 bits que nos proporcionará 256 valores diferentes. Sus 8 salidas transmitirán el dato a los 8 bits de datos del puerto paralelo.
1.4.4.1 Multiplexor
Esta función la realizará el C.I. 74HC4052 cuya configuración de pines es la siguiente
Figura 28. Configuración de pines del multiplexor
Los pines que vamos a utilizar se relacionan en la siguiente tabla
Pin Nombre Función 1 2Y0 Canal analógico de entrada 1 3 2Z Canal analógico de salida 5 2Y1 Canal analógico de entrada 2 6 #E Habilitación del chip a nivel bajo 8 GND Conexión a masa 9 S1 Pin de selección de canal 10 S0 Pin de selección de canal 16 Vcc Alimentación del integrado
Tabla 14. Pines del multiplexor utilizados en nuestro circuito
Memoria descriptiva
29
Algunas de las características importantes del multiplexor son las siguientes:
• Posibilidad de tensiones de entrada de 10 V, para Vcc-Vee ≤ 10 V • Dispositivo CMOS de alta velocidad • Tiempo de activación 28 ns • Tiempo de desactivación 21 ns • Consumo de corriente en terminales de alimentación 50 mA máximo • Disipación máxima de potencia 750 mW
El circuito integrado 74HC4052 es un multiplexor de canales analógicos. De ellos
vamos a utilizar los canales 0 y 1. Puesto que sólo ulitilizamos dos canales, el bit de selección S1 estará conectado a tierra y la elección del canal se realizará mediante el bit de selección S0. El bit /E habilita el multiplexor. Las combinaciones de valores de S0 y S1 para la elección de los diferentes canales, se muestra en la tabla siguiente.
Tabla 15. Selección de canales mediante las líneas S1 y S0
La salida está conectada directamente a la entrada del convertidor A/D. La tensión
en los canales de entrada no puede superar el valor de la tensión de alimentación. Por precaución se han colocado dos diodos entre las tensiones recogidas, que no deberían ser mayores de 5 V, y la tensión de alimentación del C.I. que es de 5 V. El esquema de conexión completo se muestra a continuación.
Figura 29. Esquema de conexión del multiplexor
Vref
Vatenuador bit de control (pin 14 LPT)
Conv ertidor A/D
0
+5 V
D2
1N4148
D11N4148
74HCT4052
12
3
45
6
7
8 9
10
1112
13
1415
162Y02Y2
2Z
2Y32Y1
/E
Vee
GND S1
S0
1Y31Y0
1Z
1Y11Y2
Vcc
Memoria descriptiva
30
1.4.4.2 Convertidor A/D
Esta función la realizará el C.I. ADC0804LCN cuya configuración de pines es la siguiente.
Figura 30. Configuración de pines del convertidor A/D
En la tabla se muestra la función de algunos pines para el correcto funcionamiento
del integrado en nuestro circuito.
Pines Nombre Función
1,2 #CS, #RD Pines de control. Conectados a masa para habilitar funcionamiento continuo del conversor
3,5 #WR, #INTR Pines de control. El pulso bajo provocado por el final de conversión en el pin #INTR es aplicado a la entrada #WR para iniciar una nueva conversión
4,19 CLKIN, CLKR Ajuste externo de la frecuencia de reloj mediante una carga RC
6 IN+ Entrada de tensión analógica a convertir 8,10 GND Conexión a masa 20 Vcc Alimentación del integrado
11-18 DB7-DB0 Salidas lógicas con dato de 8 bits.
Tabla 16. Pines del convertidor A/D utilizados en nuestro circuito
Algunas de las características importantes del convertidor son las siguientes:
• Salidas y entradas lógicas compatibles con los niveles de tensión TTL • Reloj interno • Alimentación de 5 V • Rango de tensión de entrada de 0-5 V • Tiempo de conversión 100 us • Disipación máxima 875 mW • Consumo de corriente en terminales de alimentación 2.5 mA máximo • Posibilidad de modo de funcionamiento libre conectando pines 3 (#WR) y
5(#INTR).
El convertidor necesita una señal de reloj para funcionar. Esta señal la proporciona una red R-C conectada a un Schmitt trigger interno. Una vez que el convertidor genera un
67
9
1112131415161718
194
5
123
+IN-IN
VREF/2
DB7DB6DB5DB4DB3DB2DB1DB0
CLKRCLKIN
INTR
CSRDWR
Memoria descriptiva
31
nuevo valor de 8 bits, estos se almacenan en un registro de biestables (latch) conectado directamente al bus de datos del puerto paralelo.
Figura 31. Esquema del circuito que proporciona la señal de reloj
El dispositivo va a funcionar en el modo de funcionamiento libre. Para ello se
conectan a tierra las líneas /CS y /RD. Para asegurar el inicio de las conversiones, puede ser necesario un pulso externo de nivel bajo en la línea /WR. A partir de este momento, en esta línea deben aparecer pulsos de nivel bajo para conseguir conversiones.
Al final de cada conversión se produce un pulso de nivel bajo en la línea /INTR. En
el modo de funcionamiento libre se conecta la línea /INTR a la entrada /WR de manera que el pulso que aparece al final de una conversión origina una nueva conversión.
El esquema completo de conexión del convertidor A/D se muestra a continuación.
Figura 32. Esquema de conexión del convertidor
Salida Multiplexor
DB-25
0
0
+5 V
SW1
1 4
2 3
U16
ADC0804LCN
12345
67
89
10 1112131415161718
19
20/CS/RD/WRCLK IN/INTR
VIN+VIN-
A GNDVREF/2D GND DB7
DB6DB5DB4DB3DB2DB1DB0
CLK R
VCC
C19150p
R13
10K
Memoria descriptiva
32
1.4.4.3 Puerto Paralelo
Introducción Como se comentó en el apdo 1.3.2, existen dos métodos básicos de transmisión de
datos entre un ordenador y un circuito electrónico: la transmisión en serie, explicada anteriormente, y la transmisión en paralelo, en la que un dispositivo envía n bits a través de n cables al mismo tiempo. En nuestro caso se utlizan 8 cables para enviar un byte y la transmisión es unidireccional. El PC y el dispositivo no necesitan ponerse de acuerdo sobre el momento en que se envía el dato porque la frecuencia de muestreo por parte del pc será mucho mayor que el tiempo que necesita el convertidor para realizar una nueva conversión.
En cuanto al puerto paralelo, éste fue diseñado por IBM para manejar impresoras
desde su gama de microcomputadores PC/TX/AT. El sistema operativo DOS cargado en dichos PC soporta hasta tres puertos paralelos asignados a los identificadores LPT1, LPT2 y LPT3, y cada puerto requiere tres direcciones consecutivas del espacio de E/S (entrada-salida) del procesador para seleccionar todas sus posibilidades.
Desde el punto de vista del hardware, el puerto consta de un conector hembra
DB25 con doce salidas latch (poseen memoria/buffer intermedia) y cinco entradas, con ocho líneas de tierra.
Desde el punto de vista del software, el puerto paralelo consta de tres
registros(datos, estado y control) de 8 bits cada uno, que ocupan tres direcciones de E/S (I/O) consecutivas de la arquitectura x86.
Descripción del conector físico La conexión del puerto paralelo con cualquier dispositivo se realiza mediante un
conector hembra DB25. Observando el conector de frente y con la parte que tiene mayor número de pines hacia arriba, se numera de derecha a izquierda y de arriba a abajo, del 1 al 13 (arriba) y del 14 al 25 (abajo).
Figura 33. Conjunto de pines del conector DB25
En este conector:
• 8 líneas (pines) son para entrada/salida de datos (bits de DATOS). Sus valores son modificables a través de software y hardware externo, y van del pin 2 (dato 0, D0) al pin 9 (dato 7, D7).
Memoria descriptiva
33
• 5 líneas son de entrada de datos (bits de ESTADO), únicamente modificables a través del hardware externo. Estos pines son: 11, 10, 12, 13 y 15, del más al menos significativo.
• 4 líneas son de control (bits de CONTROL), numerados del más significativo al menos: 17, 16, 14 y 1. Habitualmente son salidas, aunque se pueden utilizar también como entradas y, por tanto, se pueden modificar tanto por software como por hardware.
• las líneas de la 18 a la 25 son el tierra.
Figura 34. Función asignada a cada pin como conector de impresora
Acceso al puerto El puerto paralelo se identifica por su dirección de E/S (entrada/salida, I/O) base y
se reconoce en sistemas MS-DOS por el número LPT. Cuando arranca la máquina, la BIOS (Basic Input Output System) chequea direcciones específicas de E/S en busca de puertos paralelos y construye una tabla de las direcciones. Esta tabla contiene hasta tres palabras de 16 bits, cada palabra con el byte bajo primero seguido por el byte alto. Cada palabra es la dirección de E/S base del puerto paralelo (que denominaremos LPT_BASE en lo sucesivo). La primera corresponde a LPT1, la segunda a LPT2 y la tercera a LPT3.
Registros El puerto paralelo estándar consta, como se mencionó antes, de tres registros de 8
bits localizados en direcciones adyacentes del espacio de E/S del PC. Los registros se definen relativos a la dirección de E/S base (LPT_BASE) y son:
• LPT_BASE + 0: registro de DATOS • LPT_BASE + 1: registro de ESTADO
Memoria descriptiva
34
DATOS ESTADO CONTROL Nombre habitualPuerto 378h 379h 37Ah LPT1Puerto 278h 279h 27Ah LPT2Puerto 3BCh 3BDh 3BEh
DIRECCIÓN E/S
REGISTROS
• LPT_BASE + 2: registro de CONTROL
Se hará referencia a cada bit de los registros como una inicial que identifica el registro seguido de un número que identifica el número de bit, siendo 0 el LSB (bit menos significativo) y 7 el MSB (bit más significativo). Por ejemplo, D0 es el bit 0 del reg. de datos, S7 es el bit 7 del reg. de estado y C2 es el bit 2 del reg. de control.
Tabla 17. Direcciones de E/S de los diferentes registros pertenecientes a puertos paralelo
Se indican con una barra de negación los bits que utilizan lógica negativa. En lógica positiva un 1 lógico equivale a alto (~5 V TTL) y un 0 lógico a bajo (~0 V TTL). En lógica negativa 1 equivale a bajo (~0 V) y 0 equivale a alto (~5 V).
Figura 35. Registros asociados al conjunto de pines
Registro de datos
El registro de estado se halla en LPT_BASE. Se puede leer y escribir. Escribir un dato en el registro provoca que dicho dato aparezca en los pines 2 a 9 del conector del puerto. Al leer el registro, se lee el último dato escrito (NO lee el estado de los pines; para ello hay que usar un puerto bidireccional).
Memoria descriptiva
35
Figura 36. Pines asociados al registro de datos El estándar es que las salidas sean LS TTL (low schottky TTL), aunque las hay que
son de tipo OC (colector abierto). La corriente que pueden entregar (modo source) es de 2,6 mA máximo y pueden absorber (modo sink) un máximo de 24 mA. En el puerto original de IBM hay condensadores de 2,2 nF a masa. Las tensiones para el nivel bajo son entre 0 y 0,8V y el nivel alto entre 2,4V y 5V.
Registro de estado El registro de estado está en LPT_BASE+1. Es de sólo lectura (las escrituras serán
ignoradas). La lectura da el estado de los cinco pines de entrada al momento de la lectura. En la tabla siguiente los nombres de los pines se dejaron en inglés porque es como generalmente se identifican.
Figura 37. Pines asociados al registro de estado
La línea Busy tiene, generalmente, una resistencia de pull-up interna. El estándar es que sean entradas tipo LS TTL.
Memoria descriptiva
36
Registro de control El registro de control se encuentra en LPT_BASE+2. Es de lectura/escritura. Los
cuatro bits inferiores son salidas. La lectura devuelve lo último que se escribió a dichos bits. Son TTL a colector abierto con resistencias de pull-up de 4.7 kΩ, por lo que un dispositivo externo puede forzar el estado de los pines sin dañar el driver. Esto permite utilizar estas cuatro líneas como entradas
Para ello, se ponen en alto las cuatro salidas (escribiendo 0100b, es decir, 4h, en
LPT_BASE+2) lo que hace que las salidas "floten". Ahora, un dispositivo externo puede forzar a bajo alguna de las salidas con lo que, leyendo el puerto, sabemos si esto sucedió o no.
Figura 38. Pines asociados al registro de control
Es posible realizar esta técnica en salidas totem-pole (como D0-D7) pero no se recomienda su uso porque habría que tener un conocimiento preciso de la corriente, ya que se puede sobrecargar los transistores de salida y dañar el driver (especialmente en puertos integrados LSI).
Bit de puerto bidireccional (compatible PS/2) El bit C5 está disponible sólo si se trata de un puerto bidireccional; en los puertos
comunes no se utiliza, al igual que los bits C6 y C7. Si C5=1, el buffer de los datos de salida se pone en alta impedancia, "desconectando" dicho buffer de los pines 2 a 9 del conector del puerto (D0 a D7). Si se escribe al registro de datos, se escribe al buffer pero no a la salida. Esto permite que al leer el puerto, se lea el estado de las entradas y no lo que hay en buffer. Cuando C5=0 el puerto retorna al modo salida, su estado por defecto.
En las computadoras IBM PS/2, para habilitar el puerto paralelo bidireccional,
además de lo antes descrito, se debe poner a 1 el bit 7 del registro del puerto 102h (opciones de configuración).
Memoria descriptiva
37
En computadoras que no tengan puerto paralelo bidireccional compatible PS/2 hay que modificar uno o más bits de algún puerto específico correspondiente al chipset de la placa. A veces se habilita por el Setup o por jumper en la placa del puerto.
Velocidad Un puerto paralelo ISA normal toma un ciclo-ISA para leer o escribir. En un
sistema cuya velocidad de bus sea 1,3 Mhz, se puede decir que la lectura se puede hacer cada 1 µs (idealmente, ya que siempre existen otras instrucciones software, etc; En la práctica pueden ser desde 1.2 µs a 2 µs). Algunos puertos soportan un modo "turbo" que elimina los 3 estados de espera de la CPU, con lo que la velocidad de lectura/escritura del puerto se duplica (2,7 MHz).
Configuración y conexión del puerto paralelo en nuestro proyecto En nuestro caso se han conectado los pines 18 - 25 del puerto paralelo a masa. El
pin 1 (#STROBE) del puerto paralelo se conecta al pin S0 de selección de canal del multiplexor. Se han utilizado los pines 2-9 (D0-D7) para enviar datos de 8 bits a través del bus de datos. Puesto que estos pines normalmente se utilizan como líneas de salida y dado que por defecto en los PC están así configurados generalmente, se han tenido que modificar un par de registros y el modo de funcionamiento del puerto paralelo, como se detalla a continuación.
• Como se ha comentado en apartados anteriores, el PC soporta hasta tres puertos
paralelo separado con su correspondiente juego de registros. Las direcciones base de estos puertos son 0X3BCh, 0X278h y 0X378h. Ésta última es la que encontramos por defecto en la mayoría de los PC, para el puerto LPT1, y es la que utilizaremos con el nombre de BASE = 0X378h.
• Modo de funcionamiento ECP: el puerto paralelo tiene diferentes modos de
funcionamiento. Para asignar uno de estos modos debemos entrar en la BIOS. El PC ulitilizado para realizar el proyecto no disponía de modo bidireccional compatible PS/2. Los modos disponibles eran EPP, SPP y ECP. Este último es el que utilizamos puesto que se encuentra en la mayoría de los PC más actuales, si no en todos. La razón principal por la que usaremos este modo es porque se puede configurar para emular el modo de funcionamiento PS/2 (bidireccional).
ECP requiere seis registros de 8 bits en el PC. Tres de estos registros ya se han
mencionado anteriormente y se encuentran en las siguientes direcciones de memoria: BASE+0, BASE+1, BASE+2. Los registros añadidos se encuentran en BASE+400h, BASE+401h, BASE+402h. En la última dirección se encuentra el Extended Control Register que permite configurar el funcionamiento del modo ECP como se muestra en la tabla siguiente.
Memoria descriptiva
38
Modo (bits 7,6,5 de ECR) Descripción 000 SPP (original) 001 PS/2 (Byte,bidireccional) 010 Fast Centronics 011 ECP 100 EPP 101 Reservado 110 Test 111 Configuración
Tabla 18. Configuración del funcionamiento del modo ECP mediante el registro ECR
En nuestro caso seleccionaremos el modo de funcionamiento PS/2 (bidireccional)
escribiendo el valor 001 en los bits 7, 6 y 5 en la dirección BASE+402h. Además, y como se ha comentado en apartados anteriores, debemos poner a 1 el bit C5 del registro de control para deshabilitar la salida de datos desde el PC al exterior a través de las líneas de datos D7-D0.
Memoria descriptiva
39
1.4.5 Diagrama de Bloques del Equipo Completo
Ajuste de tensión Vin
Alimentación de electrodos (Potenciostato)
Célula electroquímica (Electrodos + disolución)
Convertidor I-V
Amplificador inversor (Vref) Amplificador inversor (Iwork) (Atenuador)
Amplificador inversor Cambio de signo de la tensión
Multiplexor
Convertidor A/D
PC. Monitorización. Tratamiento de datos
Figura 39. Diagrama de bloques del equipo completo
TR
AB
AJO
AU
X
RE
F
Memoria descriptiva
40
1.4.6 Descripcion del Software 1.4.6.1 Visión General
El lenguaje utilizado para el diseño del software ha sido el lenguaje de programación C, con la ayuda del compilador Turbo C++, versión 3.0. Por lo tanto, funciona bajo entorno MS-DOS.
El código está estructurado en dos partes fundamentales: la primera es el programa
principal, desde el que se realizan las llamadas a las diferentes funciones, y la segunda, es el conjunto de funciones, que nos permiten realizar tareas concretas y ofrecen mayor orden en la estructura del programa.
El software ofrece dos opciones principales: obtener nuevos datos represéntandolos
gráficamente, y representar gráficamente datos registrados anteriormente. Los nuevos datos se recogen a través del puerto paralelo con la instrucción inportb. Estos se registran a su vez, en ficheros de texto para ofrecer al usuario la posibilidad de visualizarlos posteriormente.
1.4.6.2 Programa Principal. Diagrama de Bloques
Aquí se realizan inicialmente, todas las llamadas de configuración del temporizador interno del PC, configuración del sistema gráfico y del puerto paralelo para su funcionamiento como puerto bidireccional.
También se recoge y se trata la opción escogida a la hora de elegir entre comenzar
un nuevo ensayo o editar los datos de un ensayo realizado anteriormente. El diagrama de bloques del programa principal se puede ver en la página siguiente.
Memoria descriptiva
41
CONFIGURACIONES Y MENÚ PRINCIPAL
NUEVO ENSAYO
EDICIÓN DE DATOS
Inicio
Declaración de variables
Inicialización del timer Configuración del puerto paralelo
Menú de opciones
Opción nuevo ensayo Opción editar gráfica Salir
Configuración gráfica Configuración gráfica
Abrir fichero para escritura Abrir fichero para lectura Fin
¿Error?
Adquirir y monitorizar datos Leer fichero y dibujar gráfica
Gráfica anterior Gráfica siguiente
Mensaje de error
Figura 40. Diagrama de bloques del programa principal
SI
NO
Memoria descriptiva
42
1.4.6.3 Programa Principal. Descripción de los Bloques
BLOQUE "CONFIGURACIONES Y MENÚ PRINCIPAL" Este grupo engloba las rutinas en las que se configura el timer, el puerto paralelo, y
finalmente la que nos muestra el menú por pantalla, a la espera de que el usuario escoja una de las opciones.
Función "ini_8253"
La configuración del timer se realiza en esta función. Los PC van equipados con un temporizador 8253 que contiene a su vez tres contadores, de los que vamos a utilizar el contador 0. Todos los contadores van conectados a un reloj que oscila a una frecuencia de 1193180 ciclos por segundo. La salida del contador 0 está conectada a IRQ0 (ligado a INT 8). Este contador está programado por defecto con el valor cero (equivalente a 65536), por lo que la cadencia de los pulsos es de 1193180/65536=18.2 veces por segundo (interrupciones/segundo).
La función ini_8253 realiza los siguientes cambios en la configuración del timer: • Modifica el contenido del registro situado en la posición de memoria 0x40h para
conseguir una interrupción del timer cada 100 µs • Modifica la palabra de control (0x43h) para que el temporizador actúe en modo Rate
Generator. Es un modo de funcionamiento periódico en el que la línea OUT del temporizador estará a nivel bajo durante un ciclo de reloj cada 100 µs. Esta secuencia se repite indefinidamente.
• Modifica la palabra de control para escoger el contador número 0, que es el que posee la capacidad de interrumpir al procesador.
• Configura la palabra de control para decidir de qué manera vamos a escribir un valor en el contador 0 (0x40h)
Función "lpt_bidireccional"
El siguiente paso, es la configuración del puerto paralelo, lo que nos permitirá disponer de un bus de datos bidireccional. De ello se encarga la función lpt_bidireccional.
En el apartado dedicado al puerto paralelo se ha comentado extensamente el funcionamiento de éste así como los registros de que dispone para su uso y configuración.
En esta función se modifican inicialmente los bits 7, 6 y 5 del registro Extended
Control Register (ECR) que nos permiten configurar el funcionamiento del modo ECP como emulador del modo PS/2 en el que las líneas de datos ya no lo son únicamente de salida, sino que pasan a tener un funcionamiento bidireccional.
Finalmente se modifica el bit 5 del registro de control (C5=1) para poner el buffer
de salida conectado a las líneas de datos, en alta impedancia, lo que permite que se lea el estado de las entradas.
Memoria descriptiva
43
Función "menu"
Una vez configurado el puerto paralelo, se ejecutará la función menú, que nos permitirá movernos por las diferentes opciones del programa.
Esta función nos proporciona la primera pantalla visible al arrancar el programa. Aquí se realiza una presentación con el nombre del proyecto y del autor. Además contiene un menú con la posibilidad de comenzar un nuevo ensayo o editar los datos de un archivo existente. También ofrece la posibilidad de salir del programa.
BLOQUE "NUEVO ENSAYO" Este grupo engloba las funciones que se encargan de la adquisición de datos y el
almacenamiento de estos en un fichero, cuando el usuario escoge la opción de comenzar un nuevo ensayo.
Función "confg_grafica"
El primer paso es escoger el modo de funcionamiento gráfico del PC. Aquí se realiza la inicialización del sistema gráfico mediante la llamada a la función initgraph. Ésta carga un driver gráfico desde el disco y posteriormente pasa el sistema a modo gráfico. Para restaurar el modo gráfico inicial se hace una llamada a la función closegraph al final del programa principal.
Función "dibujar_ejes"
Tras la apertura de un fichero, para el almacenamiento de los datos a adquirir, se procede a la representación gráfica de estos respecto a unos ejes.
En la función se dibujan las líneas pertenecientes a los ejes x e y. También se dibujan las líneas divisorias que nos servirán como referencia en la representación gráfica, así como los valores correspondientes a cada una de estas líneas.
Todas las representaciones gráficas se ajustan a la cantidad de píxeles soportados
por el driver gráfico utilizado; en este caso VGA, modo gráfico VGAHI, resolución de 640 x 480 píxeles y una paleta de 16 colores. Función "canal_multiplexor"
Cada 0.5 segundos se adquire un valor a través del convertidor A/D. Puesto que representamos dos tensiones, debemos alternar entre dos canales del multiplexor, y esto lo hacemos mediante un bit de control del puerto paralelo.
Esta función es la encargada de modificar el bit 1 del Puerto de Control cada 0.5 segundos, para recoger alternativamente el valor de la tensión en el electrodo de referencia, y el valor de tensión que nos permitirá calcular la corriente que atraviesa los electrodos. También se encarga de imprimir en pantalla estos valores, así como el tiempo transcurrido en segundos.
Memoria descriptiva
44
Función "write_file" Una vez obtenido el dato del convertidor A/D, se dibuja en la pantalla en forma de píxel y es almacenado en el fichero que fue abierto anteriormente para escritura.
La función se ejecuta cuando escogemos la opción nuevo ensayo, y lo hace cada vez que se lee un nuevo dato del puerto paralelo. Antes de incluir el dato en el fichero de texto, éste ha sido representado gráficamente.
El fichero de texto, se rellena con filas de 20 valores separados por comas. El
último carácter de cada fila es un retorno de carro '\n'. Una de las órdenes más importantes de esta función es gcvt, que convierte un número real en una cadena de caracteres, lo que hace posible incluir el valor en el fichero de texto.
Función "grafica_siguiente"
A lo largo del eje x (eje de tiempo) se pueden representar hasta 600 datos (píxeles). Una vez alcanzado este valor, este tramo de gráfica debe ser borrado para poder representar el tramo siguiente desde el inicio del eje x.
La función gráfica_siguiente se ejecuta si se ha escogido la opción nuevo ensayo, y lo hace exactamente en el momento en que se ha completado la representación gráfica de 600 píxeles correspondientes a 600 valores recogidos a través del puerto paralelo. En el esquema siguiente se representa su funcionamiento.
Inicio función
declaración de variables
bucle de borrado de gráfica anterior
incremento contador borrado de píxel
¿contador==600?
redibujado de eje x
bucle de borrado de dígitos de tiempo
Si
No
Memoria descriptiva
45
incremento contador borrado de dígito
¿contador == condición fin?
bucle de escritura de nuevos dígitos
de tiempo
incremento contador escritura nuevo dígito
¿contador == condición fin?
fin
Figura 41. Diagrama de bloques de la función gráfica_siguiente BLOQUE "EDICIÓN DE DATOS" Este grupo engloba las funciones que se encargan de la lectura del fichero escogido
por el usuario, y de su representación por pantalla.
Función "read_file"
Esta función almacena los valores del fichero de texto en un array. Devuelve un entero con el número de elementos de un tramo de gráfica. Si éste tramo ocupa completamente la pantalla, es porque se habrán representado 600 valores.
La función se ejecuta cuando se escoge la opción editar_gráfica, y lo hace
alternadamente con la función dibujar_gráfica, si el fichero a representar contiene más de 600 valores.
Una de las órdenes más importantes incluidas en la función es fseek. Esta orden
coloca el puntero asociado a un stream en el punto exacto que nos interesa. Por ejemplo, lo coloca al inicio del fichero cuando se va a representar el primer tramo, o lo coloca en una posición intermedia en la que se encuentre el primer valor a representar de un nuevo tramo de gráfica. El esquema de la página siguiente muestra el funcionamiento detallado de la función.
Si
No
No
Si
Memoria descriptiva
46
Inicio
declaración de variables
¿tramo inicial?
- cursor en inicio fichero de texto - lectura de los
dos primeros caracteres
¿tramo siguiente?
- variar posición del cursor
- lectura de primer carácter
- bucle de lectura de un tramo
- almacenar dato leído
¿carácter leído ==final ¿carácter núm 599? de fichero?
¿carácter=599?
- guardar posición cursor - almacenar último dato
¿final fichero?
activar flag de fin_gráfica
fin
Figura 42. Diagrama de bloques de la función read_file
No
Si
Si
No
No
Si
No
Si
No
Si
Memoria descriptiva
47
Función "dibujar_gráfica" Tras la lectura de los valores almacenados en el fichero, ya tenemos la posibilidad
de representarlos gráficamente. La función se encarga de dibujar los datos del fichero de texto seleccionado, que han sido leídos y almacenados en un array, en la función anterior. Esos datos pueden pertenecer al primer tramo de una gráfica (600 datos iniciales), o a tramos posteriores. También se imprime un menú que nos permite desplazarnos por los diferentes tramos o salir de la representación gráfica.
Inicio
bucle dibujado de muestras
¿muestras dibujadas >= muestras leídas?
¿tramo inicial?
imprimir menú: - opción gráfica siguiente -opción salir
¿tramo final?
imprimir menú: - opción gráfica anterior
- opción salir
imprimir menú: - opción gráfica anterior - opción gráfica siguiente -opción salir
fin
Figura 43. Diagrama de bloques de la función dibujar_gráfica
No
Si
Si
No
Si
No
Memoria descriptiva
48
Función "borrar_gráfica"
La función se ejecuta si se escoge la opción editar gráfica. Se encarga de borrar los datos representados gráficamente, cuando visualizamos los diferentes tramos de una gráfica.
Si el fichero de datos contiene más de 600 valores, se nos ofrecerá la posibilidad de
representar el resto de valores, pudiéndonos mover por los diferentes tramos de gráfica correspondientes a los valores almacenados. Cada vez que escojamos la representación de un nuevo tramo, deberán borrarse los píxeles correspondientes a la gráfica actual.
También redibuja el eje x por si han existido valores iguales a cero dibujados
encima de este eje, quedando afectada su línea al borrar los citados valores. Además, se imprimen las nuevas unidades de tiempo pertenecientes a las líneas divisorias del eje x. 1.4.6.4 Funciones Asociadas a la Interrupción del Timer Función "irq0_attn"
Esta función substituye a la rutina de atención a la interrupción provocada por el timer a través de la línea IRQ0 (INT8). Por la configuración del timer del PC, se la llamará cada 100 µs. En cada ejecución de la rutina se decrementa la variable time, y cuando ésta se iguala a cero, el valor del registro de datos se almacena en un array de enteros. También se inicializa la variable time para que se repita el ciclo y se activa un flag que habilita la representación gráfica del valor adquirido.
Rutina de interrupción decremento variable time ¿time==0? - time=valor inicial - activación flag - lectura registro de
datos (inportb) Fin rutina
Figura 44. Pasos seguidos en el ejecución de la rutina de interrupción del timer
P
RO
GR
AM
A
PR
INC
IPA
L
SI
NO Interrupción en IRQ0
Memoria descriptiva
49
Función "eoi"
Cuando el timer produce una interrupción a través de su línea IRQ0, se activa el bit correspondiente en un registro del controlador de interrupciones, que contiene información sobre el nivel de interrupción que está siendo servido. Antes de finalizar la rutina de atención a la interrupción se debe realizar una llamada a la función eoi para que ponga a cero el bit del nivel de interrupción que está siendo atendido, de manera que no se vuelva a servir la misma interrupción.
Este acceso se realiza al Registro de Control Maestro situado en la dirección 0x20h.
Memoria de cálculo
50
MEMORIA DE CÁLCULO
Memoria de cálculo
51
2 Memoria de Cálculo 2.1 Etapa de Alimentación de Electrodos (Potenciostato)
Figura 45. Circuito de alimentación de los electrodos (potenciostato)
Como se observa en la figura anterior, el amplificador U4 forma parte de un seguidor de tensión lo que quiere decir que la tensión en su terminal positivo de entrada es igual a la tensión a su salida, pudiéndose representar más sencillamente como un cortocircuito.
Asimismo, por la realimentación negativa del amplificador U11, podemos
considerar que existe cortocircuito virtual entre sus terminales de entrada, estando el electrodo de trabajo conectado virtualmente a tierra.
VccH
0
0
0
VccH
0
VeeH
0
VeeL0
VeeH
0
VccL
C3
0.1u
R8
5k
R3100k
ELECTRODO DE REFERENCIA
1
C150.1u
C18 10u
R231k
R4
1k C4 10u
R2 100k
C1610u
ELECTRODO AUXILIAR
1
C170.1u
U10OPA544
2
1
4
53
-
+
OUT
V+
V-
R7100k
13
2
U11OPA544
2
1
4
53
-
+
OUT
V+
V-
Vin
C2
10u
C1 0.1u
U4
3
27
4
6
1
5+
-V
+V
-
OUT
OS1
OS2
ELECTRODO DE TRABAJO
1
R24
1k
R25
1k
R26
1k
TLE2061
Memoria de cálculo
52
A partir de estas observaciones obtenemos un circuito equivalente al anterior y más fácil de analizar. El circuito se muestra en la figura siguiente y corresponde a un potenciostato básico.
Figura 46. Esquema de un potenciostato básico
Por superposición podemos calcular la tensión V2
Puesto que R2 = R3
V2 = 0.5 Vin + 0.5 Vref
El operacional está realimentado negativamente a través del electrodo auxiliar, la disolución y el electrodo de referencia, luego aplicando cortocircuito virtual tenemos que V2 = 0, por lo tanto
Vref = -Vin (5)
Sabemos que V2 es igual a cero por cortocircuito virtual, entonces la caída de
tensión en R2 será igual a Vin. Además hemos comprobado que Vref = -Vin. Por lo tanto la caída de tensión en R3 será la siguiente
- Vin + Vin + VR3 + Vref = 0 (6)
VR3 = - Vin + Vin - Vref
VR3 = Vin (7)
Por ser R2 y R3 del mismo valor, las corrientes que las atraviesen también lo serán
)4(32
2
32
32 refin V
RRRV
RRR
V+
++
=
00
0
VworkVref
Vaux
R2
VinR3 3
2
84
1
+
-
V+
V-
OUT
V2
+ +-
-
VVR2R3
)8(10032 Ω
==k
VII maxin
maxRmaxR
Memoria de cálculo
53
En las pruebas realizadas hemos comprobado que el potenciostato funciona aceptablemente para los siguientes márgenes de tensión de entrada
0 V ≤ Vin ≤ 5 V
A partir de la ecuación (8) calculamos una corriente máxima de
IR2 máx = 50 µA (9) La potencia máxima disipada es la siguiente
luego las resistencias utilizadas serán de 1/4 W.
2.2 Etapa Convertidora I-V
Figura 47. Etapa convertidora corriente-tensión
En un amplificador operacional realimentado negativamente, la corriente de entrada en el terminal positivo es idealmente cero, lo que implica
Iwork + Iout = 0 (11)
Como vimos en el apartado 1.4.1.1. la salida del amplificador se puede expresar en
función de su ganacia en lazo abierto y de la diferencia de tensión entre sus terminales de entrada
Eo = -A· E- + A· E+
0
00VccH
VeeH
0
C1610u
R231k
C170.1u
ELECTRODO DE TRABAJO
1
C150.1u
R26
1k
C18 10u
U11OPA544
2
1
4
53
-
+
OUT
V+
V-
Iwork
Iout
Vout
V2
)12(26
2work
out IR
VV−=
−
( ) )10(25010050100 22máx3,2máx3,2 WkAkIP RRRR µµ =Ω⋅=Ω⋅=
Memoria de cálculo
54
En este caso E+=0 y E-=V2
En un amplificador operacional ideal la ganancia en lazo abierto A es infinita, por
lo tanto
Alimentaremos el OPA544 con ±30 V. Hemos comprobado que para ciertos valores
de tensión de entrada y valores de resistencia entre los electrodos, este amplificador se satura a una tensión aproximada de 28 V lo que nos da una potencia máxima disipada en R26 de
Escogeremos una resistencia con una disipación máxima de 1 W.
2.3 Amplificador Inversor (Atenuador)
La etapa mostrada en la siguiente figura actúa como atenuador de la tensión además de invertirla. La tensión que va a recoger es la de la salida del convertidor corriente-tensión basado en el amplificador OPA544. En las pruebas realizadas se ha observado que este convertidor limita el funcionamiento del potenciostato cuando se satura su correspondiente amplificador. Al estar alimentado éste con ±30 V, su salida se aproximará a este valor durante la saturación, por lo que debemos aplicar un factor de atenuación teniendo en cuenta que la entrada del convertidor analógico/digital está limitada a 5 V.
30/5 = 6 -> factor de atenuación = 1/6
se utilizará como valor comercial una resistencia de 56 kΩ
)13(26
work
outout
IR
AV
V−=
−−
2611 RIA
V workout −=
+
)14(26RIV workout −=
)15(784.01282
26
2máx26
máx26 WkR
VP R
R =Ω
==
Memoria de cálculo
55
Figura 48. Esquema del circuito atenuador inversor
De nuevo existe realimentación negativa. Por cortocircuito virtual tenemos V2=0. Además idealmente la corriente de entrada al terminal 2 es cero.
Iout + Iin = 0 (16)
La tensión de salida de la etapa convertidora de corriente-tensión alcanzará un valor máximo aproximado de 28 V cuando el amplificador se sature. Esto corresponderá a una tensión a la salida del atenuador de
28/5.6 = 5 V (18)
que es la máxima tensión que admite la entrada del convertidor analógico digital, y aproximadamente la tensión límite a la que el potenciostato ha funcionado aceptablemente en las pruebas durante el diseño.
Existen otros dos amplificadores inversores cuyo factor de multiplicación es -1. Su función es cambiar el signo de la tensión que les llega a la entrada. Uno de ellos invierte el signo de la tensión de salida del seguidor de tensión aplicado a Vref. El segundo se encuentra tras el atenuador comentado en este apartado.
Estos inversores son necesarios porque el convertidor analógico-digital sólo acepta
tensiones positivas, debido a su alimentación de 5 V. El cálculo de estas etapas es el mismo que el del atenuador, con la diferencia de los
valores de las resistencias que serán de 1 kΩ en los dos casos.
)17(6.5
1
1819inout
inout VVRV
RV
−=→−=
VeeL
0VccL
R18
56kU7
OP-07
3
2
74
6
1
8+
-
V+
V-
OUT
OS1
OS2R20
1k
R19
10k
R21POT
132
Vin
Vout
Iout
Iin
V2
Memoria de cálculo
56
2.4 Tensión de Entrada
En la entrada del circuito hemos colocado un conector triple al que aplicaremos una tensión regulada de ±30 V con una toma intermedia para la conexión a masa. A continuación un potenciómetro actuará como divisor de tensión. Para que éste funcione como tal, se ha añadido un seguidor de tensión que dada su gran impedancia de entrada proporciona la tensión Vin a la siguiente etapa con un consumo mínimo en su terminal de entrada.
Figura 49. Circuito de ajuste de la tensión de entrada
La corriente que circulará por el potenciómetro será
y la potencia disipada
PPOT = VPOT · IPOT = 60 V · 0.6 mA = 36 mW (20)
2.5 Convertidor A/D
Este dispositivo necesita una señal de reloj para sincronizar las operaciones internas. La señal de reloj puede ser proporcionada por ejemplo por el reloj de una CPU o por una red externa RC, que con ayuda de un Schmitt Trigger interno proporciona al convertidor A/D su propia señal de reloj.
Figura 50. Circuito generador de la señal de reloj interna, en el convertidor A/D
0
VeeL
VccL
VeeH
VccH
U1OP-07
3
2
74
6
1
8+
-
V+
V-
OUT
OS1
OS2100k1
32
30V
30V
Vin
Vin
)19(6.0100
60100
mAkV
kV
I POTPOT =
Ω=
Ω=
Memoria de cálculo
57
En nuestro caso el periodo de adquisición de valores por parte del PC será de medio segundo, por lo que no será determinante la frecuencia del reloj del convertidor A/D. Los valores de los componentes se han tomado de una configuración utilizada como ejemplo en el manual del componente.
Los valores utilizados son
R = 10 kΩ , C = 150 pF La frecuencia de reloj según el fabricante será la siguiente
Según el manual del componente, a esta frecuencia, el periodo de conversión del
convertidor es aproximadamente de 100 µs. El ADC0804LCN es un convertidor de 8 bits. Esto nos permite recoger a su salida
256 valores diferentes. La resolución de las tensiones representadas en el PC será
2.6 Voltaje de Offset
Hemos tenido en cuenta este voltaje en las etapas que nos hacen llegar las tensiones a medir al convertidor A/D, que son: el seguidor de tensión conectado al electrodo de referencia, los amplificadores inversores y el seguidor de tensión que nos proporciona la tensión de entrada. Estas etapas se basan en el amplificador operacional OP07, excepto la conectada al electrodo de referencia (ver figura 45), basada en el TLE2061.
A la hora de trazar las pistas de la placa de circuito impreso, se ha tenido en
cuenta la posibilidad de utilizar potenciómetros de compensación de offset con los valores indicados en la hoja del componente.
El voltaje de offset se produce debido a las diferencias entre componentes
integrados en el amplificador operacional, cuando idealmente estos componentes deberían ser exactamente iguales. En el OP07 existe una etapa conectada a los terminales de entrada, formada por dos transistores que constituyen un amplificador diferencial, y es la que sufre en mayor medida los efectos del voltaje de offset debido a las asimetrías.
El análisis de la siguiente etapa básica de un amplificador diferencial bipolar nos
dará una idea de la medida de la tensión de offset.
)21(606150·10·1.1
11.11 kHz
pFkRCfCLK ≅
Ω=≅
)22(53.192565 mVV
=
Memoria de cálculo
58
= T
BE
VV
SC eII1
11 )23(2
22
= T
BE
VV
SC eII
)24(21
21
= T
BE
T
BE
VV
SV
V
S eIeI
Figura 51. Amplificador diferencial básico
El par diferencial está polarizado por una fuente de corriente constante. Si Q1 y Q2
están acoplados, entonces para V1=V2=0, la corriente Iq se divide uniformemente entre los dos transistores e Ic1 = Ic2. Si la salida doble se define como la diferencia de voltaje que existe entre las dos terminales de los colectores, entonces Vo=0 cuando los transistores y las resistencias de colector son exactamente iguales, lo cual significa que el voltaje de offset es cero.
Las corrientes de los colectores pueden expresarse como
e donde IS1 e IS2 están relacionadas con las corrientes de saturación inversa de las uniones B-E y son funciones de las propiedades geométricas y eléctricas de los transistores. Si ambos transistores están acoplados de forma exacta, entronces IS1 = IS2; si existe alguna falla en el acoplamiento de los parámetros eléctricos o geométricos, entonces IS1 ≠ IS2. El voltaje de offset en la entrada se define como el voltaje de entrada diferencial que se requiere para producir un voltaje de salida igual a cero, o en este caso para hacer que Ic1 = Ic2. Se deben aplicar voltajes B-E ligeramente diferentes para producir corrientes iguales en los colectores que producirán un voltaje de salida igual a cero en el amplificador diferencial.
Para Ic1 = Ic2 se tiene
o
V+
V-
V2V1
o o
Rc Rc
Q1 Q2
Iq
Ic2Ic1
+ +
- -V VBE1 BE2
+ Vo -
Memoria de cálculo
59
)25(1
221
S
SVVV
II
e T
BEBE
=
−
)27(1
2
S
SVV
II
e T
OS
=
El voltaje de offset se define como
VBE1 - VBE2 = VOS (26)
Como V1-V2 = VBE1 - VBE2, entonces el voltaje de offset VOS es el voltaje de entrada diferencial que debe aplicarse para hacer que Ic1 = Ic2. La ecuación anterior puede escribirse como
o
En la mayoría de los amplificadores la polarización de la etapa diferencial de entrada se realiza mediante una carga activa, que actúa de fuente de corriente constante. También encontramos en muchos componentes un par de terminales que sirven para compensar el voltaje de offset, al que se conecta normalmente un potenciómetro.
Figura 52. Amplificador diferencial con terminales de ajuste de offset
)28(ln1
2
=
S
STOS I
IVV
V+
V-
V-
V1 V2
Iq
Q1 Q2
Q3 Q4
R1 R2
Rx
13
2
+
- V VBE3
+
-BE4
x 1-x
Terminal de compensacion
de offsetde offset
Terminal de compensacion
Memoria de cálculo
60
Nos basaremos en la etapa de entrada básica de un amplificador operacional mostrada en la figura 52, para conocer la manera en que se anula el offset. Para demostrar la técnica de anulación de este voltaje, primero se escribe la ecuación LVK para nodos que se forman entre los terminales de la base de Q3, Q4 y el voltaje V- en la figura 52
VBE3 + iC1R'
1 = VBE4 + iC2R'2 (29)
donde R'1 y R'
2 representan las resistencias efectivas de los emisores de Q3 y Q4, incluyendo los efectos en paralelo del potenciómetro Rx. Se tiene que
R'1 = R1||xRx y R'
2 = R2||(1-x)Rx (30)
Los voltajes base-emisor son
y
Substituyendo las ecuaciones anteriores obtenemos
Si ocurre una pérdida de acoplamiento entre Q3 y Q4, es decir, IS3 ≠ IS4, en ese caso
se puede introducir una falta intencional de acoplamiento entre R'1 y R'
2 para compensar la pérdida de acoplamiento de los transistores, y dicho ajuste puede hacer que iC1 = iC2. En forma similar, se puede introducir una falta intencional de acoplamiento entre R'
1 y R'2 para
compensar la pérdida de acoplamiento que existe entre Q1 y Q2.
2.7 Corrientes de Polarización de Entrada
Las corrientes de polarización de entrada de un amplificador operacional ideal son iguales a cero. Sin embargo, en los amplificadores operacionales reales, las corrientes de polarización de entrada son diferentes de cero.
)31(ln3
13
=
S
CTBE I
iVV
=
4
24 ln
S
CTBE I
iVV
)32(lnln '22
4
2'11
3
1 RiIi
VRiIi
V CS
CTC
S
CT +
=+
Memoria de cálculo
61
Figura 53. Corrientes de polarización en terminales de entrada de un operacional La figura 53 muestra en forma esquemática un amplificador operacional con las
corrientes de polarización de entrada. Si la etapa de entrada es simétrica, y todos los elementos correspondientes están acoplados, entonces IB1 = IB2. Sin embargo, si los transistores de entrada no son exactamente idénticos, entonces IB1 ≠ IB2. Por lo tanto, la corriente de polarización de entrada se define como el promedio de las dos corrientes de entrada o
La diferencia que existe entre las dos corrientes de entrada se conoce como
corriente de offset de entrada IOS y está determinada por la expresión
IOS = | IB1 - IB2| (34) La figura siguiente muestra un amplificador operacional y sus resistencias
asociadas para un voltaje de entrada igual a cero. Aún cuando IB2 ≠ 0, el terminal no inversor está a cero voltios, o VY = 0. Partiendo del concepto de tierra virtual, se tiene que Vx = 0, lo cual significa que la corriente en R1 debe ser cero. Por lo tanto, la salida del amplificador operacional proporciona la corriente de polarización IB1, la cual fluye a través de R2 produciendo un voltaje de salida.
Figura 54. Anulación del efecto producido por la corriente de offset El efecto que tienen las corrientes de polarización en los circuitos de los
amplificadores operacionales se puede minimizar con la ayuda de una técnica sencilla de compensación. Considerando el circuito de la figura 54, determinaremos Vo como una función de IB1 e IB2 utilizando la superposición. Para IB2 = 0, se tiene que VY = Vx = 0, y el voltaje de salida es
-
+
IB1
IB2
)33(2
21 BBB
III +=
Vo3
2
84
1
+
-
V+
V-
OUT
R1
R2
R3
IB1
IB2
VX
VY
Memoria de cálculo
62
VO(IB1) = IB1 R2 (35) Para IB1 = 0, se tiene
VY = -IB2 R3 = Vx (36)
por lo que el voltaje de salida será
El voltaje total es la suma de las ecuaciones halladas por superposición
Si IB1 = IB2 = IB y pretendemos que Vo = 0 entonces la ecuación anterior se
transforma en
que podemos expresar de la siguiente manera
Finalmente obtenemos el valor de R3 en función de las resistencias utilizadas en la
etapa inversora
También colocaremos una resistencia en el terminal positivo del convertidor I-V para anular el offset producido por las corrientes de polarización.
Figura 55. Anulación del efecto producido por la corriente de offset
( ) )37(11
2322
+−=
RR
RIIV BBO
)38(11
23221
+−=
RR
RIRIV BBO
+−=
1
232 10
RRRRI B
+=
1
232 1
RRRR
)39(|| 2121
213 RR
RRRRR =+
=
Vo3
2
84
1
+
-
V+
V-
OUT
R2
R3
IB1
IB2
VX
VY
Memoria de cálculo
63
Ω=+
= 84.84845610
56103 kk
kkR
)46(50011
113 Ω=
+=
kkkkR
Considerando el circuito de la figura anterior, determinaremos Vo como una función de IB1 e IB2 utilizando la superposición. Para IB2 = 0, se tiene que VY = Vx = 0, y el voltaje de salida es
VO(IB1) = IB1 R2 (40)
Para IB1 = 0, se tiene
VY = -IB2 R3 = Vx = Vo (41)
por lo que el voltaje de salida será
El voltaje total es la suma de las ecuaciones halladas por superposición
Si IB1 = IB2 = IB y pretendemos que Vo = 0 entonces la ecuación anterior se
transforma en
donde vemos claramente que el valor necesario de R3 para anular este efecto de offset es el mismo valor de la resistencia R2
R3 = R2 (44)
Los valores de las resistencias utilizadas para anular los efectos de las corrientes de
polarización son
• Etapa inversora (figura 48) (45)
Se utilizará un valor comercial de 8k2 Ω.
• Etapas inversoras de signo
Se utilizará un valor comercial de 560 Ω
• Convertidor I-V (U11 en figura 45) R3 = R2 = 1 kΩ (47)
( ) )42(322 RIIV BBO −=
)43(3221 RIRIV BBO −=
[ ]320 RRI B −=
Planos
64
PLANOS
Planos
65
3 Planos
3.1 Alimentaciones y Potenciostato
ATENUADOR
INVERSOR
VeeH
VeeL
0
0
0
0
0
0
VeeL
VeeH
VeeH
0
VccH
VccL
VccH
0
VccH
VeeL
VccL
VccL
0
R4
1k
U1OP-07
3
2
74
6
1
8+
-
V+
V-
OUT
OS1
OS2
1
TP5
T POINT R
1R8
5k
1
R221k
R231k
C3
0.1u
C4 10u
R7100k
13
2
R1POT
13
2
U17MC79L15C_TO
2 3
1
IN OUT
GN
D
C1
0.1u
C150.1u
J3
CON3
123
R2
100k
C1610u
R16POT1
3
2
R3100k
1
JP3JUMPER
12
JP1
JUMPER
12
U10OPA544
2
1
4
53
-
+
OUT
V+
V-
TP4T POINT R
1
C170.1u
C18 10u
R15
POT13
2
U11OPA544
2
1
4
53
-
+
OUT
V+
V-
C2
10u
U4TLE2061
3
2
74
6
1
5+
-
V+
V-
OUT
OS1
OS2
U8LM78L15A_TO92
1
2
3VIN
GN
D
VOUT
TP1T POINT R
1
R2420K
13
2
ELECTRODO
ELECTRODO
ELECTRODO
AUXILIAR
DEREFERENCIA
DETRABAJO
E.T.S.E ROVIRA I VIRGILI
NormasComprobadoDibujado
Fecha Nombre20/09/0427/09/04
J.L. CalabozoX. Vilanova
ALIMENTACIONES Y POTENCIOSTATOESCALA PLANO: 1
DISEÑO DE UNPOTENCIOSTATO
Substituye a:Substituido por:
Planos
67
3.2 Inversores y Atenuador
MUX0
MUX1
INVERSOR
ATENUADOR
VccL
VccL0
VeeL
VeeL
0
VeeL
VccL 0
R9
1k
R101k
R12 20k 13
2
TP9
T POINT R
1
R20
8k2
R21POT
13
2
R18
56k
TP2T POINT R
1
R19
10k
U7OP-07
3
2
74
6
1
8+
-
V+
V-
OUT
OS1
OS2
U5OP-07
3
2
74
6
1
8+
-
V+
V-
OUT
OS1
OS2
R11560
U6OP-07
3
2
74
6
1
8+
-
V+
V-
OUT
OS1
OS2
R13
1k
R14
1k
R17
560
R25POT
13
2
DISEÑO DE UNPOTENCIOSTATOX. Vilanova
Fecha
27/09/04
Nombre20/09/04
Normas
ESCALA
E.T.S.E ROVIRA I VIRGILI
Substituye a:
Dibujado
INVERSORES Y ATENUADOR
J.L. CalabozoComprobado
Substituido por:
PLANO: 2
Planos
69
3.3 Adquisición de Tensiones
0
VccL
0
0
0
MUX0
MUX1
D2
1N4148
R13
10K
U13LM78L05AC_TO92
1
2
3VIN
GN
D
VOUT
SW1
1 4
2 3
P1
CONNECTOR DB25
1325122411231022
921
820
719
618
517
416
315
214
1
C19150p
U16
ADC0804LCN
12345
67
89
10 1112131415161718
19
20/CS/RD/WRCLK IN/INTR
VIN+VIN-
A GNDVREF/2D GND DB7
DB6DB5DB4DB3DB2DB1DB0
CLK R
VCC
TP3T POINT R
1
U6
74HCT4052
12
3
45
6
7
8 9
10
1112
13
1415
162Y02Y2
2Z
2Y32Y1
/E
Vee
GND S1
S0
1Y31Y0
1Z
1Y11Y2
Vcc
D11N4148
J.L. Calabozo20/09/04DISEÑO DE UNPOTENCIOSTATO
Substituye a:
X. Vilanova
Substituido por:
PLANO: 3NormasComprobado
ESCALA
27/09/04
Fecha
ADQUISICIÓN DE TENSIONES
Dibujado
E.T.S.E ROVIRA I VIRGILINombre
Planos
71
3.4 Placa de Circuito Impreso
Subsituido por:Subsituye a:
PLANO: 4ESCALA CIRCUITO IMPRESO YCOMPONENTES
Normas:
Dibujado:Comprobado:
Fecha NombreJ.L. CalabozoX. Vilanova
20/09/0427/09/04
DISEÑO DE UNPOTENCIOSTATO
E.T.S.E. ROVIRA I VIRGILI
Presupuesto
73
PRESUPUESTO
Presupuesto
74
4 Presupuesto
4.1 Mediciones
Nº Designaciones Nº de partes iguales
1. PLACA DE CIRCUITO IMPRESO
1.1 C.I. OPA544 (Amplificador operacional) 2 1.2 C.I. OP07 (Amplificador operacional) 4 1.3 C.I. TLE2061 (Amplificador operacional) 1 1.4 C.I. 74HCT4052 (Multiplexor) 1 1.5 C.I. ADC0804LCN (Convertidor A/D) 1 1.6 C.I. LM78L15 (Regulador) 1 1.7 C.I. LM79L15 (Regulador) 1 1.8 C.I. LM78L05 (Regulador) 1 1.9 Conector de tres vías 1 1.10 Conector DB25 hembra para PCB 1 1.11 Par de pines para jumper 2 1.12 Puente 2 1.13 Conector hembra para banana 3 1.14 Pulsador 1 1.15 Diodo 1N4148 2 1.16 Potenciómetro multivuelta 20 kΩ 4 1.17 Potenciómetro multivuelta 100 kΩ 2 1.18 Potenciómetro multivuelta 5 MΩ 2 1.19 Condensador 100 nF 6 1.20 Condensador 10 uF 50V 4 1.21 Condensador 0.33 uF 3 1.22 Condensador 10 nF 2 1.23 Condensador 150 pF 1 1.24 Resistencia 1 kΩ 1/4W ±5% 6 1.25 Resistencia 560 Ω 1/4W ±5% 2 1.26 Resistencia 8k2 Ω 1/4W ±5% 1 1.27 Resistencia 10 kΩ 1/4W ±5% 2 1.28 Resistencia 56 kΩ 1/4W ±5% 1 1.29 Resistencia 5 kΩ 1/4W ±5% 1 1.30 Resistencia 100 kΩ 1/4W precision 2 1.31 Resistencia 1 kΩ 1W precision 1 1.32 Placa positiva de una cara 1
2. CONEXIÓN CON PC
2.1 Cable para puerto paralelo 2 m 2.2 Conectores DB25 Macho 2
3. PROGRAMACIÓN
3.1 Programa en Lenguaje C 80 horas
Tabla 19. Mediciones. Cantidad de unidades de cada elemento
Presupuesto
75
4.2 Cuadro de Precios
Nº Designaciones Precio 1. PLACA DE CIRCUITO IMPRESO
1.1 C.I. OPA544 (Amplificador operacional) 18.19 1.2 C.I. OP07 (Amplificador operacional) 2.90 1.3 C.I. TLE2061 (Amplificador operacional) 1.89 1.4 C.I. 74HCT4052 (Multiplexor) 0.75 1.5 C.I. ADC0804LCN (Convertidor A/D) 5.75 1.6 C.I. LM78L15 (Regulador) 0.48 1.7 C.I. LM79L15 (Regulador) 0.48 1.8 C.I. LM78L05 (Regulador) 0.48 1.9 Conector de tres vías 0.94 1.10 Conector DB25 hembra para PCB 3.45 1.11 Par de pines para jumper 0.20 1.12 Puente 0.33 1.13 Conector hembra para banana 1.55 1.14 Pulsador 1.05 1.15 Diodo 1N4148 0.03 1.16 Potenciómetro multivuelta 20 kΩ 2.22 1.17 Potenciómetro multivuelta 100 kΩ 2.22 1.18 Potenciómetro multivuelta 5 MΩ 2.22 1.19 Condensador 100 nF 0.10 1.20 Condensador 10 uF 50V 0.07 1.21 Condensador 0.33 uF 0.22 1.22 Condensador 10 nF 0.10 1.23 Condensador 150 pF 0.09 1.24 Resistencia 1 kΩ 1/4W ±5% 0.05 1.25 Resistencia 560 Ω 1/4W ±5% 0.05 1.26 Resistencia 8k2 Ω 1/4W ±5% 0.05 1.27 Resistencia 10 kΩ 1/4W ±5% 0.05 1.28 Resistencia 56 kΩ 1/4W ±5% 0.05 1.29 Resistencia 5 kΩ 1/4W ±5% 0.05 1.30 Resistencia 100 kΩ 1/4W 0.1% 1.24 1.31 Resistencia 1 kΩ 1W 0.1% 1.24 1.32 Placa positiva de una cara 3.60
2. CONEXIÓN CON PC
2.1 Cable para puerto paralelo 1.00 2.2 Conector DB25 Macho 0.88
3. PROGRAMACIÓN
3.1 Programa en Lenguaje C 2000
Tabla 20. Cuadro de precios. Precio de cada elemento
Presupuesto
76
4.3 Aplicación de Precios
Nº Designaciones Nº de partes iguales Precio Total
1. PLACA DE CIRCUITO IMPRESO
1.1 C.I. OPA544 (Amplificador operacional) 2 18.19 36.38 1.2 C.I. OP07 (Amplificador operacional) 4 2.90 11.6 1.3 C.I. TLE2061 (Amplificador operacional) 1 1.89 1.89 1.4 C.I. 74HCT4052 (Multiplexor) 1 0.75 0.75 1.5 C.I. ADC0804LCN (Convertidor A/D) 1 5.75 5.75 1.6 C.I. LM78L15 (Regulador) 1 0.48 0.48 1.7 C.I. LM79L15 (Regulador) 1 0.48 0.48 1.8 C.I. LM78L05 (Regulador) 1 0.48 0.48 1.9 Conector de tres vías 1 0.94 0.94 1.10 Conector DB25 hembra para PCB 1 3.45 3.45 1.11 Par de pines para jumper 2 0.20 0.40 1.12 Puente 2 0.33 0.66 1.13 Conector hembra para banana 3 1.55 4.65 1.14 Pulsador 1 1.05 1.05 1.15 Diodo 1N4148 2 0.03 0.06 1.16 Potenciómetro multivuelta 20 kΩ 4 2.22 8.88 1.17 Potenciómetro multivuelta 100 kΩ 2 2.22 4.44 1.18 Potenciómetro multivuelta 5 MΩ 2 2.22 4.44 1.19 Condensador 100 nF 6 0.10 0.6 1.20 Condensador 10 uF 50V 4 0.07 0.28 1.21 Condensador 0.33 uF 3 0.22 0.66 1.22 Condensador 10 nF 2 0.10 0.3 1.23 Condensador 150 pF 1 0.09 0.09 1.24 Resistencia 1 kΩ 1/4W ±5% 6 0.05 0.30 1.25 Resistencia 560 Ω 1/4W ±5% 2 0.05 0.10 1.26 Resistencia 8k2 Ω 1/4W ±5% 1 0.05 0.05 1.27 Resistencia 10 kΩ 1/4W ±5% 2 0.05 0.10 1.28 Resistencia 56 kΩ 1/4W ±5% 1 0.05 0.05 1.29 Resistencia 5 kΩ 1/4W ±5% 1 0.05 0.05 1.30 Resistencia 100 kΩ 1/4W precision 2 1.24 2.48 1.31 Resistencia 1 kΩ 1W precision 1 1.24 1.24 1.32 Placa positiva de una cara 1 3.60 +3.60
93.56
Presupuesto
77
2. CONEXIÓN CON PC
2.1 Cable para puerto paralelo 2 m 1.00 2.00 2.2 Conectores DB25 Macho 2 0.88 +1.76
3.76
3. PROGRAMACIÓN
3.1 Programa en Lenguaje C 80 horas 12 960
960
Tabla 21. Aplicación de precios. Precio total de cada grupo de elementos iguales
Presupuesto
78
4.4 Resumen del Presupuesto
1. Placa de circuito impreso 93.56
2. Conexión con PC 3.76
3. Programación 960
+________
P.E.M (Presupuesto de ejecución material) 1057.32
Gastos Generales (13%) 137.45
Beneficio industrial (6%) 63.44
+________
P.E.C (Presupuesto de ejecución por contrato) 1258.21
I.V.A. (16%) 201.31
+________
PRESUPUESTO DE LICITACIÓN 1459.52
El presupuesto de licitación, del proyecto de Realización de un Potenciostato,
asciende a la cantidad de mil cuatrocientos cincuenta y nueve euros con cincuenta y dos
céntimos.
TARRAGONA, OCTUBRE 2004
Fdo. Juan Luis Calabozo Sánchez
Pliego de condiciones
79
PLIEGO DE CONDICIONES
Pliego de condiciones
80
5 Pliego de Condiciones 5.1 Condiciones Técnicas 5.1.1 ESPECIFICACIONES ELÉCTRICAS 5.1.1.1 Generalidades
Para una correcta realización del montaje existen una serie de puntos a seguir, haciendo especial incapié en el orden en que éstos deben desarrollarse.
1. Encargo y compra de materiales y componentes necesarios.
2. Fabricación de las placas de circuito impreso.
3. Montaje de los componentes en las placas fabricadas anteriormente.
4. Ajuste y comprobación de los parámetros para un funcionamiento correcto.
5. Puesta en marcha del equipo.
6. Controles de calidad y fiabilidad.
7. Mantenimiento del equipo. Información regular de las personas que estén a cargo del equipo.
Todas estas partes que en su conjunto forman la obra, deberán ser ejecutadas por
montadores que se someterán a las normas y reglas que la comunidad autónoma, país o comunidades internacionales tengan previstas para este tipo de montajes, no haciéndose así cargo el proyectista de los desperfectos ocasionados por su incumplimiento 5.1.1.2 Resistencias
Existen una serie de tolerancias de acuerdo con la precisión del sistema a implementar. El valor de esta tolerancia se expresa en tanto por ciento del valor nominal de la misma. Las más comunes son del 5%, 10% y 20%, aunque en el mercado existen resistencias con tolerancias menores, siendo su coste bastante superior. De acuerdo con el valor óhmico y su correspondiente tolerancia, existe una clasificación estandarizada de resistencias en tres series: la E6, E12 y E24. El valor de las resistencias se identifica mediante unos códigos de colores que se encuentran en las mismas. Los dos primeros anillos corresponden con las dos primeras cifras del valor, mientras que el tercero se conoce como factor de multiplicidad. El último indica el valor de la tolerancia.
Otro aspecto interesante en cuanto a la elección de la resistencia apropiada es tener
en cuenta la disipación máxima de la misma. En la mayoría de los casos se usan de 1/4 W, siendo sólo necesaria la presencia de resistencias de mayor potencia para cargas en aplicaciones que lo requieran.
Pliego de condiciones
81
5.1.1.3 Condensadores
La capacidad nominal es la especificada por el fabricante y marcada sobre el cuerpo del componente, mediante un código de colores (similar al empleado para el marcaje de resistores). También puede estar marcada una cifra y la letra de unidades ( p para picofaradios, η para nanofaradios, µ para microfaradios y m para milifaradios). En los condensadores cerámicos, cuya capacidad se expresa en pF, se elimina a veces el marcaje de la p y se utiliza, si fuera necesario, la letra k correspondiente al prefijo "mil".
Cada valor nominal ha de llevar asociada una tolerancia, que se marca mediante un
color o mediante una segunda letra. Además suele marcarse también la tensión nominal, y en el caso de condensadores cerámicos con coeficiente de temperatura establecido, el coeficiente de temperatura, ya sea con una franja de color o con una letra.
La elección del tipo de condensador a utilizar es también un punto a tener muy en
cuenta en el montaje de un equipo de potencia. El mercado de este tipo de componente electrónico es muy amplio, existiendo así una gran cantidad de posibilidades a elegir.
Dos de los tipos de condensadores más comunmente usados son los cerámicos y los
electrolíticos. - Condensadores cerámicos: los materiales cerámicos son buenos aislantes
térmicos y eléctricos. El proceso de fabricación consiste básicamente en la metalización de las dos caras del material cerámico. Se fabrican de 1 pF a 1 nF (grupo I) y de 1 pF a 470 nF (grupo II) con tensiones comprendidas entre 3 y 10000 V. Su identificación se realiza mediante código alfanumérico. Se utilizan en circuitos que necesitan alta estabilidad y bajas pérdidas en altas frecuencias.
Condensadores electrolíticos: pueden ser de aluminio o de tántalo, y su principal
diferencia con los anteriores en cuanto a la apariencia física es que las dimensiones de éstos no son demasiado elevadas incluso para grandes capacidades. Uno de los invonvenientes que presentan es que la resistencia serie que presentan es bastante elevada, con lo que las pérdidas se disparan, reduciéndose así considerablemente la vida media de este tipo de condensadores.
5.1.1.4 Placa de Circuito Impreso
El circuito se realizará sobre placa de fibra de vidrio presensibilizada positivamente, y de una sola cara.
Al utilizar una placa presensibilizada positiva podemos usar directamente los
dibujos originales del circuito a escala, o bien, el correspondiente al fotolito (cliché fotográfico que reproduce el original de una película o soporte transparente).
Proceso que se debe seguir para realizarlas: • Abrir la bolsa que contiene la placa presensibilizada, tomando la precaución
de que no le incida directamente la luz solar. La luz ambiente durante unos segundos no deteriora la emulsión.
Pliego de condiciones
82
• Colocar el original o fotolito sobre la placa presensibilizada, insolando la misma según el método correspondiente a la insoladora que se posea, y con un tiempo de exposición algo superior a dos minutos.
• Como revelador usaremos la mezcla de granulado con agua. • Sacar la placa de la insoladora e introducirla en una cubeta, que previamente
se habrá llenado con el líquido revelador correspondiente. Balancear la cubeta curante uno o dos minutos, al objeto de facilitar la acción del mismo.
• Atacar la placa ya revelada. Para ello hacemos uso de atacadores del cobre que
haya quedado al descubierto. Si el balanceo de la cubeta no ha sido el adecuado, el efecto de atacado se acentúa
en los extremos de la placa, resultando en ocasiones que las pistas exteriores son deterioradas. Concluido este proceso, la placa debe ser enjuagada con abundante agua.
Si se dispone de un laboratorio adecuado, el proceso de la fabricación de las placas
se reduce considerablemente. Para obtener una buena conducción entre las uniones, es conveniente estañar el circuito impreso.
A continuación se detallan notas de interés, a seguir, en la elaboración final de un
circuito impreso: • Las emulsiones de las placas presensibilizadas son muy delicadas, por lo que
deberá extremarse su cuidado, procurando no arañarlas ni tocarlas, principalmente durante el proceso de revelado.
• Pueden introducirse modificaciones en el circuito una vez insolado, mediante el
uso de un rotulador negro permanente. • Para que la reproducción sea exacta, el contacto entre el fotolito y la placa debe
ser perfecto, para ello pueden utilizarse insoladoras donde el contacto fotolito-placa se obtiene haciendo el vacío.
• Los restos de la emulsión de las placas, una vez atacado el circuito, pueden
eliminarse con alcohol. 5.1.2 ESPECIFICACIONES MECÁNICAS
Todos los materiales elegidos son de una calidad que se adapta al objetivo que se persigue. No obstante en el caso de que no se encontrara en el mercado algún producto por estar agotado, el instalador encargado del montaje deberá estar capacitado para sustituirlo por otro similar o equivalente.
La tarjeta de circuito impreso se realizará en fibra de vidrio. Se recomienda el uso
de zócalos para la inserción de los circuitos integrados en los cicuitos impresos. De esta forma se tiene una mejor reparabilidad, es decir, se disminuye el tiempo de reparación, y además se evita un calentamiento exesivo en los pins de los circuitos integrados que podría conducir a su deterioro.
Pliego de condiciones
83
Si se utilizara una caja, ésta debería ser lo suficientemente grande como para
colocar en su interior todos los componentes y materiales, así como la posible alimentación compuesta por transformador, rectificador o baterías. Se aislarán aquellas partes del circuito que puedan influir sobre las demás. Sobre la superficie de la caja se realizarán orificios para insertar un pulsador de paro/marcha, y un potenciómetro manual que nos permita variar la tensión aplicada al circuito.
5.1.3 ENSAYOS, VERIFICACIONES Y AJUSTES
Antes de proceder con el montaje de la placa sobre la caja, se alimentará el circuito con las tensiones proporcionadas en la memoria, con el objeto de testearlo y comprobar su correcto funcionamiento en los diferentes puntos de interés. Se recomienda el uso de un osciloscopio para la comprobación de las señales relacionadas con los integrados que se encargan de la adquisición de las tensiones.
El equipo no tiene ningún punto excesivamente crítico, por lo que el
funcionamiento inadecuado del mismo, puede ser debido a múltiples causas y que pueden ser resumidas en tres:
1. Conexionado defectuoso entre elementos (puerto paralelo del Pc, fuente de
alimentación, electrodos) 2. Componentes defectuosos, por lo que una vez localizado se procederá a su
sustitución. 3. Soldadura defectuosa del componente a la placa de circuito impreso. Se
procederá a realizar una inspección visual exhaustiva de las sodaduras en el caso de que se detecte alguna anomalía en alguna de ellas.
5.2 Condiciones de la Ejecución 5.2.1 DESCRIPCIÓN DEL PROCESO 5.2.1.1 Compra y Preparación del Material
La compra de materiales, componentes y aparatos necesarios debe realizarse con el tiempo necesario para que estén dispuestos en el momento en el que comience la instalación de los elementos en sus respectivos lugares.
5.2.1.2 Fabricación de los Circuitos Impresos
Las placas de circuito impreso pueden confeccionarse a partir del diseño incluido en los planos. Debido a la gran importacia que para el buen funcionamiento tiene una perfecta realización del circuito impreso, se van a detallar a continuación las operaciones a realizar:
1. Antes de comenzar, se deberá disponer de ciertos materiales: insoladora o
lámpara de luz ultravioleta, revelador o en su defecto una disolución de sosa cáustica y agua, atacador rápido que se puede sustituir por una disolución con la
Pliego de condiciones
84
siguiente composición: 33% de ácido clorhídrico, 33% de agua oxigenada de 110 volúmenes y 33% de agua. Por último necesitamos las placas de circuito impreso de material fotosensible positivo de una cara y fibra de vidrio.
2. Se realizará una fotocopia de las pistas, en papel transparente. Esta fotocopia se
colocará sobre la cara de la placa a insolar. 3. Se colocan las anteriores en una insoladora, procurando que estén lo más
cercanas entre sí que sea posible ( convendría utilizar sistemas de vacío). En este momento se expone el conjunto a la luz ultravioleta durante el tiempo indicado por el fabricante.
4. Acabada la exposición, se retira la placa de la insoladora y se coloca dentro del
líquido revelador. El tiempo de revelado dependerá de la marca de la placa, indicándonos el fabricante cuál es el más adecuado. De todas formas sirve como referencia el que poco a poco se vayan viendo las pistas. Cuando esté suficientemente revelado, las pistas serán nítidamente visibles y el resto de superficie habrá quedado libre de sustancia fotosensible dejando el cobre al descubierto.
5. Una vez revelada la placa, se coloca bajo el grifo y se limpia con agua con lo que
produciremos un paro del revelado, y ya podremos pasar a la fase del atacado; se sumerge en el atacador rápido o en la disolución y se va observando como desaparece el cobre libre, y las pistas de mantienen intactas. Una vez que haya desaparecido toda la superficie de cobre que no conforma las pistas se sacará la placa del atacador y se limpiará con agua para la fase de atacado.
6. Seguidamente y como fase final se deberá limpiar la emulsión fotosensible que
recubre las pistas con alcohol o acetato, ya que sino ésta no nos permite efectuar la soldadura. Posteriormente se hacen los agujeros con el taladro y se sueldan los componentes.
Especial atención merece la fase de soldadura. En ella no se deben sobrepasar los
tiempos de soldadura que nos da el fabricante para la mayoría de elementos semiconductores. Si colocamos zócalos para los circuitos integrados entonces el problema se limitará a la soldadura de los diodos.
5.3 Condiciones Facultativas • El aparato cumplirá los requisitos mínimos respecto del Proyecto encargado, cualquier
variación o mejora sustancial en el contenido del mismo deberá ser consultada con el técnico diseñador. Durante el tiempo que se ha estimado para la instalación, el técnico proyectista podrá anunciar la suspensión momentánea si así lo estimase oportuno.
• Las características de los elementos y componentes serán las especificadas en la
Memoria, debiéndose tener en cuenta para su perfecta colocación y posterior uso. • La contratación de este Proyecto se considerará válida cuando las dos partes
implicadas, propiedad y contratista, se comprometan a concluir las cláusulas del
Pliego de condiciones
85
contrato, para lo cual deberán ser firmados los documentos adecuados en una reunión conjunta tras haber llegado a un acuerdo.
• El cumplimiento de las elementales comprobaciones por parte de la empresa
instaladora, no será competencia del proyectista, el cual queda fuera de toda responsabilidad derivada del incorrecto funcionamiento del equipo como consecuencia de dicha omisión.
5.4 Conclusiones
Las partes manifiestan que conocen los términos de este Pliego de Condiciones y del Proyecto Técnico que se adjunta.
Anexos
86
ANEXOS
Anexos
87
6 Anexos 6.1 Manual del Usuario 6.1.1 Introducción
Se ha diseñado un potenciostato, por la necesidad de disponer de un sistema que nos permita realizar pruebas requeridas en aplicaciones electroquímicas. En este caso, la finalidad del dispositivo es la de mantener constante la tensión entre los electrodos de referencia y de trabajo, a pesar de las variaciones de la resistividad de la disolución y de la resistencia del electrodo de trabajo, ya que en este último se va a producir la deposición de metal deseada.
6.1.2 Elementos que Componen el Sistema
• Placa del potenciostato: ésta contiene elementos reguladores de tensión, para proporcionar las diferentes tensiones de alimentación de los circuitos integrados, así como el circuito que actúa de potenciostato y los elementos necesarios para adquirir dos tensiones a través del puerto paralelo.
• Cable de conexión con PC: compuesto por dos metros de cable paralelo de 25 líneas, y dos conectores DB25 macho, soldados en sus extremos.
• Disquet con el archivo ejecutable pot.exe y el driver gráfico. El programa se ejecuta bajo el sistema operativo MS-DOS.
El resto de elementos necesarios para la realización de procesos electroquímicos, y
que no están incluidos en el presupuesto del presente proyecto son • PC con sistema operativo MS-DOS. • Fuente de alimentación simétrica de ±30 V y 0.5 A. • Elementos propios de un sistema electroquímico
Anexos
88
6.1.3 Esquema de Conexión.
En la figura siguiente se representan de forma esquemática los diferentes conectores de la placa de circuito impreso.
Figura 56. Vista superior de la placa
6.1.4 Instrucciones de Conexión y Configuración del Sistema Conexión
1. Utilizar el cable paralelo para conectar la placa con el puerto paralelo del PC. 2. Conectar la fuente de alimentación simétrica tal como indica la figura 56. 3. Conectar los electrodos correspondientes. 4. Quitar el puente de los jumpers situados en el borde derecho de la placa (ver
figura 56), si se pretende utilizar el potenciostato con electrodos reales. 5. Se puede comprobar el funcionamiento del circuito con ayuda de los
potenciómetros situados en el borde derecho de la placa, entre las conexiones de los electrodos. En este caso hay que desconectar los electrodos y colocarle el puente a los jumpers.
Configuración del PC 1. Tras encender el PC debemos acceder a la pantalla de configuración de la BIOS.
Para ello presionaremos la tecla Supr o Del en el momento del arranque en que nos aparezca el mensaje Pres Del to enter SETUP, en la parte inferior de la pantalla. Dentro de la BIOS escogemos la opción INTEGRATED PERIPHERALS. Dentro de este apartado nos aparece una opción llamada Onboard Parallel Mode. Escogeremos el modo de funcionamiento ECP. La manera de llegar hasta este punto de la BIOS puede diferir entre PC's, pero todos ofrecen la posibilidad de cambiar el modo de funcionamiento del puerto paralelo. Es el momento de salir de la BIOS grabando nuestra nueva configuración.
Conector triple de alimentación simétrica
PC
+30V
+30V
Conector DB25
Electrodo Auxiliar
Electrodo de Referencia
Electrodo de Trabajo
Jumper
JumperJumper
Pulsador
Anexos
89
2. Si el PC tiene instalado el sistema operativo Windows, debemos reiniciar en modo MS-DOS.
3. Una vez hemos arrancado el PC en modo MS-DOS debemos crear una carpeta llamada pot en el directorio raíz. En ella grabaremos los ficheros incluidos en el disquet.
6.1.5 Ejecución de la Aplicación
Nos situamos en el directorio pot y ejecutamos la aplicación potenc.exe. Nos
aparecerá la siguiente pantalla.
Figura 57. Pantalla inicial
Si escojemos la opción Nuevo ensayo se nos pedirá que introduzcamos el nombre del nuevo archivo de texto. A este nombre le añadiremos la extensión .txt. Presionamos ENTER y al mismo tiempo encendemos la fuente que alimenta nuestro circuito. También debemos presionar una vez el pulsador (ver figura 56) para asegurarnos de que el C.I. AD0804LCN comienza a realizar conversiones.
En el momento de presionar ENTER nos aparecerá la pantalla mostrada en la figura 58. Aquí se representan gráficamente los valores de dos tensiones adquiridas a través del puerto paralelo. La gráfica que nos irá apareciendo en color verde representa los valores de la tensión del electrodo de referencia. Estos valores estarán comprendidos entre 0V y 5V, según ajustemos nosotros la tensión de entrada. El eje Y esta dividido de manera que concuerde exactamente con los valores de tensión del electrodo de referencia. Además, nos aparece el valor de esta tensión en formato numérico
Vref = 0.078V (ver figura 58)
La segunda gráfica, que aparecerá en color amarillo, sólo nos dará una idea del
comportamiento de la corriente que atraviesa los electrodos. En ella podremos apreciar los posibles incrementos o decrementos de esta corriente, y el instante de tiempo en que
Anexos
90
ocurren. En realidad la tensión que representa esta gráfica, es la recogida a la salida del convertidor I-V, atenuada por un factor 1/5.6 e invertida de signo. Con estas etapas conseguimos que, si el amplificador del convertidor I-V se satura sobre los 28V, esta tensión se convierta en 5V a la entrada del convertidor A/D. El valor exacto de la corriente que atraviesa los electrodos nos aparece en formato numérico en la parte inferior derecha de la pantalla
I = 0.259mA (ver figura 58)
En el eje X se representa el tiempo transcurrido. El eje contiene divisiones de 20 segundos. En este caso también se muestra en formato numérico el valor exacto del tiempo transcurrido
Tiempo = 17 segundos (ver figura 58)
Figura 58. Representación gráfica de nuevos valores
Además de estas representaciones, también tendremos la oportunidad de visualizar los datos a través del programa Excel. Para ello se crea un archivo de texto con el nombre que le demos a nuestro archivo, seguido de las letras xc y con la extensión .txt. Los datos de este segundo archivo de texto están distribuidos de manera que nos aparecerán divididos en dos columnas (una con los valores de Vref y otra con los valores de la corriente que atraviesa el electrodo de trabajo) dentro de la tabla de excel, lo que nos da la posibilidad de representarlos gráficamente.
Si escogemos la opción Editar gráfica se nos pedirá que introduzcamos el nombre
de un archivo de texto, que ha sido creado previamente con nuestra aplicación y que se encuentra en la misma carpeta que el fichero ejecutable. A este nombre le añadiremos la
Anexos
91
extensión .txt. Presionando ENTER, aparecerá una pantalla muy similar a la de la imagen anterior, en la que se representarán gráficamente los valores contenidos en el fichero de texto escogido. Si el tiempo de adquisición de estos valores fué superior a 5 minutos (300 en eje X), se nos ofrecerá la opción de desplazarnos al tramo siguiente de gráfica con la tecla -s- y posteriormente podremos regresar al tramo anterior con la tecla -a-. 6.1.6 Notas
1. Si se quiere comprobar el funcionamiento del circuito y no se dispone de material electroquímico, se pueden utilizar los potenciómetros situados entre las conexiones de electrodos para simular la resistencia que opondrían estos y la disolución. Deben colocarse los puentes de los jumpers y se tiene que extraer de su zócalo el amplificador operacional TLE2061 con el fin de poder ajustar el valor de los potenciómetros.
2. Si nos aparece un mensaje de error al ejecutar la opción Editar gráfica,
saldremos del programa, con lo que tendremos la opción de comprobar si realmente existe el fichero de texto cuyos valores queremos visualizar o si este fichero no se encuentra en la misma carpeta que nuestro fichero ejecutable.
Anexos
92
6.2 Listado del Programa #include <stdio.h> #include <bios.h> #include <conio.h> #include <dos.h> #include <graphics.h> #ifdef __cplusplus #define __CPPARGS... #else #define __CPPARGS #endif #define BASE 0x40 /*dirección base de timer0*/ #define DATA 0x378 /*dirección base de puerto paralelo*/ #define STATUS DATA+1 #define CONTROL DATA+2 #define ECR DATA+1026 /*dirección del Extended Control Register*/ /*nos permite la configuración del modo ECP*/ typedef struct /*estructura para la configuración del timer*/ int port,timer; double clock,tic; hard_timer; hard_timer h_timer; long time=5000; /*nº de interrupciones necesarias del timer
para conseguir 0.5 segundos*/ unsigned char flag=0; int driver = DETECT, modo, errorcode; int maxx, maxy; int n=0,seg=20,fila,col,dato[660]; void ini_8253 (hard_timer *h_timer); /*configura el timer*/ void interrupt irq0_attn (__CPPARGS); /*rutina de atencion a la interrupción del timer*/ void eoi(void); void interrupt (*old_handler_time)(); /*mantiene el manejador original*/ void dibujar_ejes (int *margdown,int *margleft,char *opcion); void grafica_siguiente (int *margleft, int *margdown); void write_file (int *dato,char *inicial,FILE *f1,int *samples,FILE *fxc); int read_file (FILE *f1,int *datof,char grafica,char *fin_grafica,long
*store_pos,int *cont_pos); void lpt_bidireccional(unsigned char *ecr_old,unsigned char *b5_old); void confg_grafica (); void menu (char *opcion,char file[20],char *test,char *edit); void dibujar_grafica(int *datof,int muestras,int margenizq,int
margenbajo,char grafica,char fin_grafica); void borrar_grafica (int *datof,int muestras,int margenizq,int
margenbajo,int *ch); void canal_multiplexor (int *color,long int *sec);
Anexos
93
/******************** PROGRAMA PRINCIPAL **************************/ int main(void) unsigned char ecr_old,b5_old,inicial=1; int margenbajo=150,margenizq=20,samples=0,color; FILE *f1,*fxc; char opcion=1,file[20] ,filexc[20],grafica=0,ok=1,fin_grafica=0,test=3,edit=0; int muestras=0,datof[601],cont_pos=0,ch,i=0; long store_pos[100]; long int sec=0; ini_8253 (&h_timer); old_handler_time=getvect(8); setvect(8,irq0_attn); lpt_bidireccional(&ecr_old,&b5_old); while (opcion!=3) /*esperamos tecla ESC para salir*/ menu(&opcion,file,&test,&edit); /*pantalla inicial con menu*/ clrscr(); /*limpia pantalla*/ confg_grafica(); /*inicialización del sistema gráfico*/
grafica=0; /*se incrementa con el nº de tramos de gráfica de que consta un archivo de texto*/
fin_grafica=0; n=0; sec=0; maxx=getmaxx(); /*nº de píxeles a lo largo del eje horizontal de la pantalla*/ maxy=getmaxy(); /*nº de píxeles a lo largo del eje vertical de la pantalla*/ store_pos[0]=0; if (opcion==1) /*en menu principal escojemos opcion Nuevo Ensayo*/ f1=fopen(file,"w+"); if (f1==NULL) gotoxy (27,12); printf("Error a la hora de abrir el fichero"); getch(); else for (i=0;file[i]!='.';i++) filexc[i]=file[i]; filexc[i]='x'; filexc[i+1]='c';filexc[i+2]='.'; filexc[i+3]='t'; filexc[i+4]='x';filexc[i+5]='t'; filexc[i+6]='\0'; fxc=fopen(filexc,"w"); dibujar_ejes(&margenbajo,&margenizq,&opcion); do if (flag) /*5000 interrupciones * 100us = 0.5seg */
/*cada 0.5 segundos se escoge uno de los dos canales del multiplexor, el valor adquirido
Anexos
94
a través del convertidor se dibuja en pantalla mediante un píxel y también se guarda en un fichero de texto*/
canal_multiplexor(&color,&sec); putpixel(n+1+margenizq,maxy-dato[n]-margenbajo,color); write_file (dato,&inicial,f1,&samples);
/*si fin de eje x entonces dibujar grafica siguiente*/
if (n>599) grafica_siguiente (&margenizq,&margenbajo); setcolor(15); flag=0; while (!kbhit()); getch(); scanf ("%*c"); fclose (f1); fclose (fxc); if (opcion==2) /*si escogemos opcion Editar Grafica en menu*/ f1=fopen(file,"r"); if (f1==NULL) gotoxy (27,12); printf("Error a la hora de abrir el fichero"); getch(); else grafica=0; ok=1; dibujar_ejes(&margenbajo,&margenizq,&opcion); do if (ok)
/*se almacenan en un array los valores del fichero de texto del tramo de gráfica actual*/
muestras=read_file(f1,datof,grafica,&fin_grafica,store_pos,&cont_pos);
/*los valores almacenados en el array se representan gráficamente en forma de píxel*/
dibujar_grafica(datof,muestras,margenizq,margenbajo,grafica,fin_grafica);
ch=getch(); switch (ch) case 'a': if (grafica>0)
/*dibujar tramo anterior de gráfica*/
borrar_grafica(datof,muestras,margenizq,margenbajo,&ch);
grafica--; ok=1; cont_pos--;
Anexos
95
fin_grafica=0; else ok=0; break; case 's': if (!fin_grafica)
/*dibujar tramo siguiente de gráfica*/
borrar_grafica(datof,muestras,margenizq,margenbajo,&ch);
grafica++; ok=1; cont_pos++; else ok=0; break; while (ch!=13 && ch!=27); fclose (f1); closegraph();
/* restauramos vector original*/ setvect (8,old_handler_time);
/* restauramos valores originales en registros ECR y CONTROL de puerto paralelo*/
outportb (ECR,ecr_old); outportb (CONTROL,b5_old); return (0); /********************** FIN PROGRAMA PRINCIPAL *******************/ /************************** FUNCIONES *****************************/ void ini_8253 (hard_timer *h_timer)
/*configuración del timer 8253 en modo Rate Generator, y periodo de interrupción de 100us*/
#define MASCARA 0xFE double tmp; unsigned char modo=0x02; unsigned cuenta; unsigned char ctr_reg; h_timer->port=BASE; h_timer->timer=0; h_timer->clock=1193182; h_timer->tic=100; /* æseg */ tmp=h_timer->tic*h_timer->clock/1000000.0; cuenta=(unsigned)(tmp+0.5); ctr_reg=(((unsigned char)(h_timer->timer<<6))|0x30|(modo<<1)) & (MASCARA); outportb(BASE+3,ctr_reg); outportb(BASE+h_timer->timer,(unsigned char)(cuenta&0x00FF)); outportb(BASE+h_timer->timer,(unsigned char)(cuenta<<8));
Anexos
96
void interrupt irq0_attn (__CPPARGS) if (time>0) time--; else
/*recogemos dato a traves del puerto paralelo e inicializamos el timer*/
dato[n]=inportb(DATA); flag=1; time=5000; eoi(); void lpt_bidireccional(unsigned char *ecr_old,unsigned char *b5_old) unsigned char ecrtemp,b5cont;
/* configuración del puerto paralelo*/ /*configuracion de ECP como PS/2 (bidireccional)*/
*ecr_old=inportb(ECR); ecrtemp=inportb (ECR); ecrtemp=ecrtemp & 0x3F; ecrtemp=ecrtemp | 0x20; outportb (ECR,ecrtemp);
/* set de bit C5 de puerto de control -> ponemos buffer de datos salida en alta impedancia*/
*b5_old=inportb (CONTROL); b5cont=inportb (CONTROL); b5cont=b5cont | 0x22; outportb (CONTROL,b5cont); void confg_grafica()
/* inicialización gráfica */ initgraph(&driver, &modo, "c:\\pot"); errorcode = graphresult(); if (errorcode != grOk) printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); void eoi() outportb (0x20,0x20); /*fin de interrupción no específica*/ void grafica_siguiente (int *margleft, int *margdown) int j,sig=5,temp_seg; char msg[7];
Anexos
97
/* borrado de gráfica actual*/ for (j=0;j<600;j++) putpixel(j+1+*margleft,maxy-dato[j]-*margdown,BLACK); setcolor (2);
/* redibujamos eje x*/
line (*margleft,maxy-*margdown,maxx-20,maxy-*margdown);
/*cambio de unidades de tiempo*/ seg-=20; temp_seg=seg; seg-=300; setcolor(0);
/*escribimos en negro unidades de tiempo para borrarlas*/
for (col=20;col<640;col+=40) gcvt((float)seg,sig,msg); settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(col,maxy-150+15,msg); seg+=20; seg=temp_seg; setcolor(7);
/*escritura de nuevas unidades de tiempo*/ for (col=20;col<640;col+=40) gcvt((float)seg,sig,msg); settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(col,maxy-150+15,msg); seg+=20; setcolor(15); dato[0]=dato[n-1]; n=1; void write_file (int *dato,char *inicial,FILE *f1,int *samples,FILE *fxc)
/*almacenamos los valores leídos a través del puerto paralelo en un fichero*/
char str[10],strxc[10]; int sig = 5; /* significant digits */ if (*inicial) gcvt((float)*dato,sig,str); fputs (str,f1); fputc (',',f1); *inicial=0; *samples=*samples+1; gcvt((float)((*dato)*0.0197),sig,strxc); fputs (strxc,fxc); fputc (',',fxc); else
Anexos
98
gcvt((float)*(dato+n),sig,str); fputs (str,f1); if (*samples%2==0) gcvt((float)((*(dato+n))*0.0197),sig,strxc); fputs (strxc,fxc); fputc(',',fxc); else gcvt((float)((*(dato+n))*0.0197*5.7),sig,strxc); fputs (strxc,fxc); fputc ('\n',fxc); *samples=*samples+1; if (*samples%20==0) fputc('\n',f1); else fputc (',',f1); n++; void menu (char *opcion,char file[20],char *test,char *edit)
/*menú de pantalla inicial*/ char i; int ch; textbackground(1); clrscr(); gotoxy(2,2); printf("É"); gotoxy(79,2); printf("»"); gotoxy(2,25); printf("È"); gotoxy(79,25); printf("¼"); for(i=3;i<79;i++) gotoxy(i,2); printf("Í"); for(i=3;i<79;i++) gotoxy(i,25); printf("Í"); for(i=3;i<25;i++) gotoxy(2,i); printf("º"); for(i=3;i<25;i++) gotoxy(79,i); printf("º"); gotoxy(2,8); printf("Ì"); gotoxy(79,8); printf("¹"); for(i=3;i<79;i++) gotoxy(i,8); printf("Í"); textcolor(7);
Anexos
99
gotoxy(4,24); cprintf("<Intro> Aceptar"); gotoxy(67,24); cprintf("<ESC> Salir"); window(2,3,78,7); textcolor(2); gotoxy(18,2); cprintf("REALIZACIàN DE ENSAYOS DE ELECTRODEPOSICIàN"); gotoxy(25,3); cprintf("CON AYUDA DE UN POTENCIOSTATO"); textcolor(14); gotoxy(24,5); cprintf("Juan Luis Calabozo S nchez"); _setcursortype(_NOCURSOR); do window(2,9,78,13); gotoxy(32,3); textattr(*test+((*test+1)<<4)); textcolor(15); cprintf("Nuevo ensayo"); gotoxy(32,5); textattr(*edit+((*edit+1)<<4)); textcolor(15); cprintf("Editar gr fica"); ch=getch(); if (ch==80 && *test==3) *test=0; *edit=3; *opcion=2; if (ch==72 && *test==0) *test=3; *edit=0; *opcion=1; while (ch!=13 && ch!=27); if (ch==27) *opcion=3; switch (*opcion) case 1: _setcursortype(_NORMALCURSOR); window(20,15,60,18); gotoxy(32,7); textcolor(15); cprintf ("Nombre del nuevo archivo (*.txt): "); scanf("%s",file); _setcursortype(_NOCURSOR); break; case 2: _setcursortype(_NORMALCURSOR); window(20,15,60,18); gotoxy(32,7); textattr(0+((0+1)<<4)); textcolor(15); cprintf ("Nombre del archivo existente (*.txt): "); scanf("%s",file); _setcursortype(_NOCURSOR); break; window (1,1,80,25);
Anexos
100
void dibujar_ejes (int *margdown,int *margleft,char *opcion) int k=0,i=0,sig=5; char *volt[]="0","1","2","3","4","5",msg[7]; setcolor(2); /* ejes y,x */ line (0+*margleft,maxy-255-*margdown,0+*margleft,maxy-*margdown); line (0+*margleft,maxy-*margdown,maxx-20,maxy-*margdown); for (k=0;k<256;k+=51)
/* líneas divisorias y valores de tensión */ setcolor(2); line (*margleft-5,maxy-*margdown-k,*margleft,maxy-*margdown-k); setcolor (7); settextstyle(0,0,1); settextjustify(1,1); outtextxy (0+*margleft-15,maxy-*margdown-k,volt[i]); i++;
/* líneas divisorias en eje de tiempo */ for (k=0;k<maxx-*margleft;k+=40) line (k+*margleft,maxy-*margdown+5,k+*margleft,maxy-*margdown);
/* unidades de tiempo */ setcolor(7); seg=0; for (col=20;col<640;col+=40) gcvt((float)seg,sig,msg); settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(col,maxy-150+15,msg); seg+=20; setcolor (7); settextstyle(0,0,1); outtextxy(*margleft+35,maxy-*margdown-275,"tension(volts)"); settextjustify(CENTER_TEXT,CENTER_TEXT); if (*opcion==1) outtextxy(maxx/2,maxy-10,"- Presiona cualquier tecla
para salir -"); setcolor(15); int read_file (FILE *f1,int *datof,char grafica,char *fin_grafica,long *store_pos,int *cont_pos) char c,str[10]; int i=0,k=0; fpos_t pos; if (grafica==0) fseek(f1,0,SEEK_SET); c=getc(f1); str[i]=c; c=getc (f1); i++; if (grafica>0) pos=*(store_pos+*cont_pos);
/*recuperamos la posición del último elemento
Anexos
101
leído dentro del fichero de texto*/ fseek(f1,pos, SEEK_SET); c=getc(f1); while ((c!=EOF && k<599) || (k==599 && c!=',' && c!='\n'))
/*leemos los datos del fichero de texto y los almacenamos en un array*/
if (c==','||c=='\n') str[i]='\0'; *(datof+k)=atoi(str); k++; i=0; else str[i]=c; i++; c=getc (f1); /*si se han leído 600 valores pertenecientes a un
tramo de gráfica entonces almacenamos la posición del siguiente valor a leer*/
if (k==599) *(datof+k)=atoi(str); fgetpos(f1,&pos); *(store_pos+*cont_pos+1)=pos; if (c==EOF) k=k-1; *fin_grafica=1; return (k); void dibujar_grafica (int *datof,int muestras,int margenizq,int
margenbajo,char grafica,char fin_grafica) int j=0; char i=0; while (j<muestras)
/*dibujamos un tramo de gráfica en forma de píxeles a partir de los valores almacenados en un array*/
if (i==0) putpixel(j+1+margenizq,maxy-*(datof+j)-margenbajo,14); i=1; else putpixel(j+1+margenizq,maxy-*(datof+j)-margenbajo,10);
Anexos
102
i=0; j++;
/*en la parte inferior de la pantalla presentamos tres opciones para: salir al menu, representar la gráfica siguiente o la
gráfica anterior si existen los tramos correspondientes*/ if (grafica==0) setcolor(10); outtextxy (75,455,"Esc - menu"); outtextxy (280,455,"s - grafica siguiente"); setcolor(8); outtextxy (520,455,"a - grafica anterior"); if (fin_grafica) setcolor(10); outtextxy (75,455,"Esc - menu"); setcolor(8); outtextxy (280,455,"s - grafica siguiente"); if (grafica==0) setcolor (8); else setcolor(10); outtextxy (520,455,"a - grafica anterior"); if (!fin_grafica && grafica>0) setcolor(10); outtextxy (75,455,"Esc - menu"); outtextxy (280,455,"s - grafica siguiente"); outtextxy (520,455,"a - grafica anterior"); setcolor(15); void borrar_grafica (int *datof,int muestras,int margenizq,int
margenbajo,int *ch) int x=1,i=1; int sig=5,temp_seg; char msg[7]; setcolor (0);
/*borrado de gráfica actual*/
for (x=1;x<601 && x<muestras;x++,i++) line (x+margenizq,maxy-*(datof+i-1)-
margenbajo,x+1+margenizq,maxy-*(datof+i)-margenbajo); setcolor (2);
/*dibujo eje x por si se ha borrado parte*/
line (margenizq,maxy-margenbajo,maxx-20,maxy-margenbajo);
/*borrado de unidades de tiempo*/ seg-=20; temp_seg=seg; seg-=300; setcolor(0);
/*escritura en negro de unidades de tiempo para borrarlas*/
Anexos
103
for (col=20;col<640;col+=40) gcvt((float)seg,sig,msg); settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(col,maxy-150+15,msg); seg+=20; seg=temp_seg; /*escritura de nuevas unidades de tiempo*/ if (*ch=='a') seg-=600; setcolor(7); for (col=20;col<640;col+=40) gcvt((float)seg,sig,msg); settextjustify(CENTER_TEXT,CENTER_TEXT); outtextxy(col,maxy-150+15,msg); seg+=20; setcolor(15); void canal_multiplexor (int *color,long int *sec)
/*Cada 0.5 segundos se ejecuta esta función en la que, a través de una línea de control del puerto paralelo,
escogemos el canal 0 o el canal 1 del multiplexor, para hacer llegar esta tensión a la entrada del convertidor A/D*/
unsigned char readcont; readcont=inportb(CONTROL); if (readcont & 0x02) gotoxy (10,24); // canal 1 de multiplexor
/* El dato está almacenado en un nº comprendido entre 0 y 256 (convertidor A/D de 8 bits),correspondiente a los valores de
tensión comprendidos entre 0 y 5V. Por lo tanto el valor leído en el fichero debemos multiplicarlo por 5/256 ≅ 0.0196 */
printf("Vref = %.3fV ",dato[n]*0.0196); *color=10; else //canal 0 del multiplexor gotoxy (60,24); printf("I = %.3fmA ",dato[n]*0.0196*3.3); *color=14; gotoxy (32,24); if (n%2==0) *sec=*sec+1; printf("Tiempo = %d segundos",*sec); outportb(CONTROL,0x02^inportb(CONTROL));
Anexos
104
6.3 Características de los Componentes 6.3.1 Convertidor A/D 0804LCN
Anexos
105
Anexos
106
Anexos
107
6.3.2 Multiplexor 4HCT 4052
Anexos
108
Anexos
109
6.3.3 Amplificador Operacional OP07
Anexos
110
Anexos
111
6.3.4 Amplificador Operacional OPA544
Anexos
112
Anexos
113
Anexos
114
Anexos
115
6.3.5 Amplificador Operacional TLE2061
Anexos
116
Anexos
117
6.4 Resultados Obtenidos con el Diseño Definitivo En la siguiente prueba, se pretende mantener constante el valor de tensión entre los
terminales de R16, a pesar de la variación de R15 y R16 (ver plano 1). Valores de prueba Vin 0.5 V Rango de valores de R15* 30 Ω - 24 MΩ Rango de valores de R16* 15 Ω - 12 MΩ
* Ver Plano 1
Tabla 23. Valores de prueba. Tensión de entrada pequeña.
30 125 500 5 k 750 k 2 M 10 M 24 M (R15) 15 62 250 2.5 k 375 k 1 M 5 M 12 M (R16)
Figura 59. Tensión en bornes de R16. Comparación entre los valores
obtenidos en la simulación y los tomados sobre la placa.
Los valores tomados sobre la placa, son bastante parecidos a los obtenidos en la simulación para valores pequeños de las resistencias situadas entre los electrodos. Para valores de R15 y R16 menores que 60 Ω y 30 Ω respectivamente, el amplificador U11 (ver plano 1) entra en saturación dejando de proporcionar la corriente necesaria para poder mantener la tensión de 0.5 V entre los electrodos de trabajo y referencia.
No se ha comprobado el funcionamiento del circuito para valores de R15 y R16 superiores a los mostrados en la figura 59 por no disponer de las resistencias adecuadas.
A continuación se ha realizado la misma prueba para un valor de tensión de entrada
mayor. Aquí comprobamos que los valores mínimos de R15 y R16 que garantizan el correcto funcionamiento del circuito, han de ser mayores que en el caso anterior, como nos han indicado las simulaciones.
Valores de prueba Vin 4.5 V Rango de valores de R15* 150 Ω - 24 MΩ Rango de valores de R16* 75 Ω - 12 MΩ
* Ver Plano 1
Tabla 23. Valores de prueba. Tensión de entrada mayor.
0.25
0.5
Valores de R15 y R16 (Ω)
Tensión en bornes de R16 (V)
Valores obtenidos en placa
Valores obtenidos en simulación
Anexos
118
150 300 500 1 k 5 k 2 M 10 M 24 M (R15) 75 150 250 0.5 k 2.5 k 1 M 5 M 12 M (R16)
Figura 60. Tensión en bornes de R16.
Los valores obtendidos, nos indican que el margen de valores de R15 y R16 para
los que el circuito funciona correctamente, es menor que en el caso anterior. Para una tensión de 4.5 V, la demanda de corriente a través de R16 es mayor. En este caso la saturación de U11 se produce para valores mayores de R15 y R16.
2.25
4.5
Valores de R15 y R16 (Ω)
Tensión en bornes de R16 (V)