Professional Documents
Culture Documents
n
e
n
t
r
e
e
l
e
c
t
r
o
d
o
s
d
e
t
r
a
b
a
j
o
y
r
e
f
e
r
e
n
c
i
a
Valores de R11 en ohmios
Memoria descriptiva
18
Figura 15. Comportamiento de la tensin de salida del amplificador U4
debido a la variacin de los valores de las resistencias R11 y R12 (Figura 13)
El problema se acenta para tensiones de entrada ms altas. En la siguiente
simulacin se aplica una tensin de entrada de 3 V entre los electrodos de trabajo y
referencia. Este valor se alcanza para resistencias ms altas que en el caso anterior, porque
las corrientes necesarias son mayores.
Condiciones de la simulacin
Tipo de simulacin 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
Alimentacin de operacionales 22 V
Tabla 3. Condiciones de la simulacin Resistencias de bajo valor entre conectores de electrodos
Figura 16. Comportamiento de la tensin entre electrodos de trabajo y referencia
debido a la variacin 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 pequeos de las resistencias R11 y R12 es el amplificador U4
(figura 13) que se encuentra saturado como muestra la siguiente simulacin realizada en
las mismas condiciones que la simulacin anterior y representada en la grfica de la figura
17.
R_aux_ref
0 100 200 300 400
V(R5:2,R12:1)
0V
1.0V
2.0V
3.0V
R11=40 ohm
R12=20 ohm
Valores de R11 en ohmios
T
e
n
s
i
n
e
n
t
r
e
e
l
e
c
t
r
o
d
o
s
d
e
t
r
a
b
a
j
o
y
r
e
f
e
r
e
n
c
i
a
R_aux_ref
0 100 200 300 400
V(R5:1)
0V
10V
20V
30V
T
e
n
s
i
n
d
e
s
a
l
i
d
a
d
e
l
a
m
p
l
i
f
i
c
a
d
o
r
U
4
Valores de R11 en ohmios
R11=10 ohm
R12=5 ohm
Memoria descriptiva
19
Figura 17. Comportamiento de la tensin de salida del amplificador U4
debido a la variacin de los valores de las resistencias R11 y R12 (Figura 13)
Se observa que prcticamente 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 tensin de alimentacin.
La conclusin es que para valores muy bajos de R11 y R12 el funcionamiento de
nuestro circuito est limitado por la saturacin del amplificador U4 (figura 13) y por las
corrientes que deben proporcionar los amplificadores U4 y U2, que estn cercanas a sus
corrientes de cortocircuito.
Por otro lado, el circuito tendr otra limitacin para valores altos de las resistencias
R11 y R12, debido a las corrientes de polarizacin de los operacionales. Para ciertos
valores de las resistencias, las corrientes que circulen por ellas sern muy pequeas y
prximas a las corrientes de polarizacin de los amplificadores. De esta manera, parte de la
corriente necesaria para mantener constante la tensin 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 simulacin
Tipo de simulacin 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
Alimentacin de operacionales 22 V
Tabla 4. Condiciones de la simulacin Resistencias de alto valor entre conectores de electrodos
R_aux_ref
0 100 200 300 400
V(R5:1)
15V
20V
R11=10 ohm
R12=5 ohm
R11=400 ohm
R12=200 ohm
T
e
n
s
i
n
d
e
s
a
l
i
d
a
d
e
l
a
m
p
l
i
f
i
c
a
d
o
r
U
4
Valores de R11 en ohmios
Memoria descriptiva
20
R_aux_ref
200M 250M 300M 350M 400M
V(AUX)
15V
20V
Valores de R11 en ohmios
Figura 18. Comportamiento de la tensin entre electrodos de trabajo y referencia
debido a la variacin de los valores de las resistencias R11 y R12 (Figura 13)
La causa del funcionamiento incorrecto para los valores ms altos de las
resistencias R11 y R12 es la saturacin del amplificador U2, como se puede comprobar en
la siguiente simulacin realizada en las mismas condiciones que la anterior. A causa de la
saturacin, 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 tensin entre los electrodos Work y Ref.
Figura 19. Comportamiento de la tensin de salida del amplificador U2
debido a la variacin de los valores de las resistencias R11 y R12 (Figura 13)
En la siguiente simulacin comprobamos el funcionamiento para una tensin de
entrada ms alta, quedando el resto de parmetros de la misma manera.
Condiciones de la simulacin
Tipo de simulacin 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
Alimentacin de operacionales 22 V
Tabla 5. Condiciones de la simulacin Resistencias de alto valor entre conectores de electrodos
R_aux_ref
200M 250M 300M 350M 400M
V(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
T
e
n
s
i
n
e
n
t
r
e
e
l
e
c
t
r
o
d
o
s
d
e
t
r
a
b
a
j
o
y
r
e
f
e
r
e
n
c
i
a
T
e
n
s
i
n
d
e
s
a
l
i
d
a
d
e
l
a
m
p
l
i
f
i
c
a
d
o
r
U
2
R11=200 Mohm
R12=100 Mohm
Memoria descriptiva
21
Figura 20. Comportamiento de la tensin entre electrodos de trabajo y referencia
debido a la variacin de los valores de las resistencias R11 y R12 (Figura 13)
Tambin en este caso se satura el amplificador U2 para los valores ms altos de las
resistencias R11 y R12, como se puede ver en la siguiente grfica.
Figura 21. Comportamiento de la tensin de salida del amplificador U2
debido a la variacin de los valores de las resistencias R11 y R12 (Figura 13)
Amplificador Operacional OP-07
Otro de los posibles dispositivos adecuado por sus caractersticas, para su uso en
nuestro circuito es el amplificador operacional OP-07.
Sus caractersticas ms importantes dentro del funcionamiento de nuestro circuito
se muestran en la tabla siguiente
OP-07
Tensin de alimentacin mx. 18 V
Tensin de offset 60 V
Coeficiente de temperatura de la tensin 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 polarizacin 1.8 nA
Coeficiente de temperatura de la corriente de polarizacin 18 pA/C
Resistencia de entrada 30 M
Tabla 6. Parmetros ms significativos del AO OP07 en nuestro circuito
R_aux_ref
400M 500M 600M 700M 750M
V(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 700M 350M
V(R5:2,R12:1)
7.5V
10.0V
Valores de R11 en ohmios
T
e
n
s
i
n
e
n
t
r
e
e
l
e
c
t
r
o
d
o
s
d
e
t
r
a
b
a
j
o
y
r
e
f
e
r
e
n
c
i
a
R11=700 Mohm
R12=350 Mohm
T
e
n
s
i
n
d
e
s
a
l
i
d
a
d
e
l
a
m
p
l
i
f
i
c
a
d
o
r
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 simulacin
Tipo de simulacin 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
Alimentacin 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 simulacin
Tipo de simulacin 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
Alimentacin de operacionales 18 V
Tabla 8. Condiciones de la simulacin. Resistencias de alto valor entre conectores de electrodos
Figura 22. Comportamiento de la tensin entre electrodos de trabajo y referencia
debido a la variacin 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 22G
V(WORK,REF)
0.50V
0.75V
1.00V
Valores de R11 en ohmios
T
e
n
s
i
n
e
n
t
r
e
e
l
e
c
t
r
o
d
o
s
d
e
t
r
a
b
a
j
o
y
r
e
f
e
r
e
n
c
i
a
Memoria descriptiva
23
En este caso, la tensin 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 implementacin con amplificadores uA741, y en las
mismas condiciones de simulacin, la tensin entre electrodos de trabajo y referencia se
mantena constante hasta valores de R11 y R12 de 290 M y 145 M respectivamente.
Igual que ocurra utilizando el uA741, el responsable de esta limitacin es el
amplificador operacional U2, el cual pasa al estado de saturacin.
Figura 23. Comportamiento de la tensin de salida del amplificador U2
debido a la variacin de los valores de las resistencias R11 y R12 (Figura 13)
En la siguiente simulacin comprobamos el funcionamiento para una tensin de
entrada ms alta, quedando el resto de parmetros de la misma manera.
Condiciones de la simulacin
Tipo de simulacin 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
Alimentacin de operacionales 18 V
Tabla 9. Condiciones de la simulacin. Resistencias de alto valor entre conectores de electrodos
Figura 24. Comportamiento de la tensin entre electrodos de trabajo y referencia
debido a la variacin de los valores de las resistencias R11 y R12 (Figura 13)
R_aux_ref
35G 40G 45G
V(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 22G
V(AUX)
15.00V
16.25V
17.50V
T
e
n
s
i
n
d
e
s
a
l
i
d
a
d
e
l
a
m
p
l
i
f
i
c
a
d
o
r
U
2
Valores de R11 en ohmios
Valores de R11 en ohmios
T
e
n
s
i
n
e
n
t
r
e
e
l
e
c
t
r
o
d
o
s
d
e
t
r
a
b
a
j
o
y
r
e
f
e
r
e
n
c
i
a
Memoria descriptiva
24
Tambin en este caso se satura el amplificador U2 para los valores ms altos de las
resistencias R11 y R12, como se puede ver en la siguiente grfica.
Figura 25. Comportamiento de la tensin de salida del amplificador U2
debido a la variacin 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 explicacin la
encontramos en su menor corriente de polarizacin, y su mayor impedancia de entrada
respecto al uA741. Adems, existe un factor que limita el funcionamiento del circuito, y es
la tensin de alimentacin de los operacionales. Necesitamos amplificadores que nos
ofrezcan la posibilidad de alimentarlos con tensiones ms altas, para conseguir un margen
mayor de funcionamiento antes de llegar a los estados de saturacin observados en grficas
anteriores. Tambin 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 ms crticos, son los amplificadores U2 y U4 (figura 13) por varias
razones:
- Su tensin de alimentacin nos limita el funcionamiento del circuito, ya que son
los que acaban saturndose.
- A travs 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.
- Deberan tener impedancia de entrada muy alta y corriente de polarizacin muy
baja, para afectar lo menos posible al funcionamiento de las mallas a las que estn
conectados sus terminales de entrada.
Tras comparar diversos operacionales, nos hemos decidido por el OPA544, para
realizar la funcin de los dispositivos U2 y U4 (figura 13). Sus caractersticas ms
importantes dentro del funcionamiento del circuito, se muestran en la tabla siguiente.
R_aux_ref
35G 40G 45G
V(AUX)
10V
15V
20V
R11=36 Gohm
R12=18 Gohm
R11=44 Gohm
R12=22 Gohm
T
e
n
s
i
n
d
e
s
a
l
i
d
a
d
e
l
a
m
p
l
i
f
i
c
a
d
o
r
U
2
Valores de R11 en ohmios
Memoria descriptiva
25
OPA544
Tensin de alimentacin mx. 30 V
Tensin de offset 1 mV
Coeficiente de temperatura de la tensin de offset 10 V/C
Corriente de offset 10 pA
Corriente de polarizacin 15 pA
Resistencia de entrada 10
12
Corriente de cortocircuito 4 A
Tabla 10. Parmetros ms significativos del AO OPA544 en nuestro circuito
El otro dispositivo crtico es el amplificador U3 (figura 13), que recoge la tensin
que aparece en el electrodo de referencia, actuando como seguidor de tensin. En este
caso, las caractersticas necesarias son una alta impedancia de entrada y una baja corriente
de polarizacin. El amplificador elegido para desempear esta funcin es el TLE2061. Sus
caractersticas ms importantes dentro del funcionamiento del circuito, se muestran en la
tabla siguiente.
TLE2061
Tensin de alimentacin mx. 18 V
Tensin de offset 0.6 mV
Coeficiente de temperatura de la tensin de offset 6 V/C
Corriente de offset 1 nA
Corriente de polarizacin 4 pA
Resistencia de entrada 10
12
Corriente de cortocircuito 80 mA
Tabla 11. Parmetros ms 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 simulacin
Tipo de simulacin 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
Alimentacin de operacionales 30 V y 18 V respectivamente
Tabla 12. Condiciones de la simulacin. Resistencias de bajo valor entre conectores de electrodos
Memoria descriptiva
26
Figura 26. Comportamiento de la tensin entre electrodos de trabajo y referencia
debido a la variacin de los valores de las resistencias R11 y R12 (Figura 13)
El circuito con los nuevos operacionales, alcanza antes la tensin deseada entre los
electrodos de trabajo y referencia. En este caso, gracias a la elevada tensin de
alimentacin del amplificador OPA544 que forma la etapa U4 (figura 13), este dispositivo
abandona la saturacin 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 simulacin
Tipo de simulacin 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
Alimentacin de operacionales 30 V y 18 V respectivamente
Tabla 13. Condiciones de la simulacin. Resistencias de alto valor entre conectores de electrodos
Figura 27. Comportamiento de la tensin entre electrodos de trabajo y referencia
debido a la variacin de los valores de las resistencias R11 y R12 (Figura 13)
R_aux_ref
0 100 200 300 400
V(WORK,REF)
0V
250mV
500mV
R_aux_ref
0 0.5T 1.0T 1.5T 2.0T
V(WORK,REF)
0V
2.0V
4.0V
OPA544 y TLE2061
T
e
n
s
i
n
e
n
t
r
e
e
l
e
c
t
r
o
d
o
s
d
e
t
r
a
b
a
j
o
y
r
e
f
e
r
e
n
c
i
a
Valores de R11 en ohmios
R11=10 ohm
R12=5 ohm
uA741, OP07
T
e
n
s
i
n
e
n
t
r
e
e
l
e
c
t
r
o
d
o
s
d
e
t
r
a
b
a
j
o
y
r
e
f
e
r
e
n
c
i
a
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 implementacin con amplificadores uA741 u OP07.
La explicacin la encontraremos en las diferencias entre los valores de impedancia de
entrada y corriente de polarizacin 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 polarizacin, implica menor absorcin de corriente por
parte de los terminales de entrada de los operacionales, para que estos se polaricen. La
influencia de esta corriente de polarizacin es muy importante cuando las resistencias R11
y R12 (figura 13) toman valores muy grandes, siendo las corrientes que las atraviesan muy
pequeas. En este caso, los terminales de entrada absorberan parte de la corriente
necesaria para el correcto funcionamiento del circuito.
Memoria descriptiva
28
1.4.4 Adquisicin de Datos
Se utilizar el puerto paralelo de un PC para recoger los valores de las dos variables
a representar: corriente a travs del electrodo de trabajo y tensin 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
conectarn directamente a las salidas de la etapa F (figura 12) y de una etapa
inversora. Esta ltima recoge la tensin de salida del seguidor de tensin 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 transmitirn el dato a los 8 bits de datos del
puerto paralelo.
1.4.4.1 Multiplexor
Esta funcin la realizar el C.I. 74HC4052 cuya configuracin de pines es la
siguiente
Figura 28. Configuracin de pines del multiplexor
Los pines que vamos a utilizar se relacionan en la siguiente tabla
Pin Nombre Funcin
1 2Y
0
Canal analgico de entrada 1
3 2Z Canal analgico de salida
5 2Y
1
Canal analgico de entrada 2
6 #E Habilitacin del chip a nivel bajo
8 GND Conexin a masa
9 S
1
Pin de seleccin de canal
10 S
0
Pin de seleccin de canal
16 Vcc Alimentacin del integrado
Tabla 14. Pines del multiplexor utilizados en nuestro circuito
Memoria descriptiva
29
Algunas de las caractersticas 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 activacin 28 ns
Tiempo de desactivacin 21 ns
Consumo de corriente en terminales de alimentacin 50 mA mximo
Disipacin mxima de potencia 750 mW
El circuito integrado 74HC4052 es un multiplexor de canales analgicos. De ellos
vamos a utilizar los canales 0 y 1. Puesto que slo ulitilizamos dos canales, el bit de
seleccin S1 estar conectado a tierra y la eleccin del canal se realizar mediante el bit de
seleccin S0. El bit /E habilita el multiplexor. Las combinaciones de valores de S0 y S1
para la eleccin de los diferentes canales, se muestra en la tabla siguiente.
Tabla 15. Seleccin de canales mediante las lneas S
1
y S
0
La salida est conectada directamente a la entrada del convertidor A/D. La tensin
en los canales de entrada no puede superar el valor de la tensin de alimentacin. Por
precaucin se han colocado dos diodos entre las tensiones recogidas, que no deberan ser
mayores de 5 V, y la tensin de alimentacin del C.I. que es de 5 V. El esquema de
conexin completo se muestra a continuacin.
Figura 29. Esquema de conexin del multiplexor
Vref
Vatenuador
bit de control (pin 14 LPT)
Conv ertidor A/D
0
+5 V
D2
1N4148
D1
1N4148
74HCT4052
1
2
3
4
5
6
7
8 9
10
11
12
13
14
15
16
2Y0
2Y2
2Z
2Y3
2Y1
/E
Vee
GND S1
S0
1Y3
1Y0
1Z
1Y1
1Y2
Vcc
Memoria descriptiva
30
1.4.4.2 Convertidor A/D
Esta funcin la realizar el C.I. ADC0804LCN cuya configuracin de pines es la
siguiente.
Figura 30. Configuracin de pines del convertidor A/D
En la tabla se muestra la funcin de algunos pines para el correcto funcionamiento
del integrado en nuestro circuito.
Pines Nombre Funcin
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
conversin en el pin #INTR es aplicado a la entrada
#WR para iniciar una nueva conversin
4,19 CLKIN, CLKR
Ajuste externo de la frecuencia de reloj mediante una
carga RC
6 IN+ Entrada de tensin analgica a convertir
8,10 GND Conexin a masa
20 Vcc Alimentacin del integrado
11-18 DB7-DB0 Salidas lgicas con dato de 8 bits.
Tabla 16. Pines del convertidor A/D utilizados en nuestro circuito
Algunas de las caractersticas importantes del convertidor son las siguientes:
Salidas y entradas lgicas compatibles con los niveles de tensin TTL
Reloj interno
Alimentacin de 5 V
Rango de tensin de entrada de 0-5 V
Tiempo de conversin 100 us
Disipacin mxima 875 mW
Consumo de corriente en terminales de alimentacin 2.5 mA mximo
Posibilidad de modo de funcionamiento libre conectando pines 3 (#WR) y
5(#INTR).
El convertidor necesita una seal de reloj para funcionar. Esta seal la proporciona
una red R-C conectada a un Schmitt trigger interno. Una vez que el convertidor genera un
6
7
9
11
12
13
14
15
16
17
18
19
4
5
1
2
3
+IN
-IN
VREF/2
DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
CLKR
CLKIN
INTR
CS
RD
WR
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 seal de reloj
El dispositivo va a funcionar en el modo de funcionamiento libre. Para ello se
conectan a tierra las lneas /CS y /RD. Para asegurar el inicio de las conversiones, puede
ser necesario un pulso externo de nivel bajo en la lnea /WR. A partir de este momento, en
esta lnea deben aparecer pulsos de nivel bajo para conseguir conversiones.
Al final de cada conversin se produce un pulso de nivel bajo en la lnea /INTR. En
el modo de funcionamiento libre se conecta la lnea /INTR a la entrada /WR de manera que
el pulso que aparece al final de una conversin origina una nueva conversin.
El esquema completo de conexin del convertidor A/D se muestra a continuacin.
Figura 32. Esquema de conexin del convertidor
Salida Multiplexor
DB-25
0
0
+5 V
SW1
1 4
2 3
U16
ADC0804LCN
1
2
3
4
5
6
7
8
9
10 11
12
13
14
15
16
17
18
19
20
/CS
/RD
/WR
CLK IN
/INTR
VIN+
VIN-
A GND
VREF/2
D GND DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
CLK R
VCC
C19
150p
R13
10K
Memoria descriptiva
32
1.4.4.3 Puerto Paralelo
Introduccin
Como se coment en el apdo 1.3.2, existen dos mtodos bsicos de transmisin de
datos entre un ordenador y un circuito electrnico: la transmisin en serie, explicada
anteriormente, y la transmisin en paralelo, en la que un dispositivo enva n bits a travs de
n cables al mismo tiempo. En nuestro caso se utlizan 8 cables para enviar un byte y la
transmisin es unidireccional. El PC y el dispositivo no necesitan ponerse de acuerdo sobre
el momento en que se enva 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
conversin.
En cuanto al puerto paralelo, ste fue diseado 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 lneas 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.
Descripcin del conector fsico
La conexin 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
nmero 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 lneas (pines) son para entrada/salida de datos (bits de DATOS). Sus valores son
modificables a travs de software y hardware externo, y van del pin 2 (dato 0, D0)
al pin 9 (dato 7, D7).
Memoria descriptiva
33
5 lneas son de entrada de datos (bits de ESTADO), nicamente modificables a
travs del hardware externo. Estos pines son: 11, 10, 12, 13 y 15, del ms al menos
significativo.
4 lneas son de control (bits de CONTROL), numerados del ms significativo al
menos: 17, 16, 14 y 1. Habitualmente son salidas, aunque se pueden utilizar
tambin como entradas y, por tanto, se pueden modificar tanto por software como
por hardware.
las lneas de la 18 a la 25 son el tierra.
Figura 34. Funcin asignada a cada pin como conector de impresora
Acceso al puerto
El puerto paralelo se identifica por su direccin de E/S (entrada/salida, I/O) base y
se reconoce en sistemas MS-DOS por el nmero LPT. Cuando arranca la mquina, la
BIOS (Basic Input Output System) chequea direcciones especficas 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 direccin 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 estndar 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 direccin 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 habitual
Puerto 378h 379h 37Ah LPT1
Puerto 278h 279h 27Ah LPT2
Puerto 3BCh 3BDh 3BEh
DIRECCIN
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 nmero que identifica el nmero de bit, siendo 0 el LSB (bit menos
significativo) y 7 el MSB (bit ms 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 negacin los bits que utilizan lgica negativa. En
lgica positiva un 1 lgico equivale a alto (~5 V TTL) y un 0 lgico a bajo (~0 V TTL). En
lgica 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 estndar 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 mximo y pueden absorber (modo sink) un mximo 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 slo lectura (las escrituras sern
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 ingls porque es como
generalmente se identifican.
Figura 37. Pines asociados al registro de estado
La lnea Busy tiene, generalmente, una resistencia de pull-up interna. El estndar
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 daar el driver. Esto permite
utilizar estas cuatro lneas 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 tcnica en salidas totem-pole (como D0-D7) pero no se
recomienda su uso porque habra que tener un conocimiento preciso de la corriente, ya que
se puede sobrecargar los transistores de salida y daar el driver (especialmente en puertos
integrados LSI).
Bit de puerto bidireccional (compatible PS/2)
El bit C5 est disponible slo 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,
adems de lo antes descrito, se debe poner a 1 el bit 7 del registro del puerto 102h
(opciones de configuracin).
Memoria descriptiva
37
En computadoras que no tengan puerto paralelo bidireccional compatible PS/2 hay
que modificar uno o ms bits de algn puerto especfico 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
prctica 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).
Configuracin y conexin 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 S
0
de seleccin de canal del
multiplexor. Se han utilizado los pines 2-9 (D0-D7) para enviar datos de 8 bits a travs del
bus de datos. Puesto que estos pines normalmente se utilizan como lneas de salida y dado
que por defecto en los PC estn as configurados generalmente, se han tenido que
modificar un par de registros y el modo de funcionamiento del puerto paralelo, como se
detalla a continuacin.
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 mayora 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 dispona 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 mayora de los PC ms actuales, si no en todos. La razn
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 aadidos se encuentran en BASE+400h,
BASE+401h, BASE+402h. En la ltima direccin 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) Descripcin
000 SPP (original)
001 PS/2 (Byte,bidireccional)
010 Fast Centronics
011 ECP
100 EPP
101 Reservado
110 Test
111 Configuracin
Tabla 18. Configuracin 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 direccin BASE+402h. Adems, 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 travs de las lneas de
datos D7-D0.
Memoria descriptiva
39
1.4.5 Diagrama de Bloques del Equipo Completo
Ajuste de tensin
Vin
Alimentacin de electrodos
(Potenciostato)
Clula electroqumica
(Electrodos + disolucin)
Convertidor I-V
Amplificador inversor (V
ref
) Amplificador inversor (I
work
)
(Atenuador)
Amplificador inversor
Cambio de signo de la tensin
Multiplexor
Convertidor A/D
PC. Monitorizacin.
Tratamiento de datos
Figura 39. Diagrama de bloques del equipo completo
T
R
A
B
A
J
O
A
U
X
R
E
F
Memoria descriptiva
40
1.4.6 Descripcion del Software
1.4.6.1 Visin General
El lenguaje utilizado para el diseo del software ha sido el lenguaje de
programacin C, con la ayuda del compilador Turbo C++, versin 3.0. Por lo tanto,
funciona bajo entorno MS-DOS.
El cdigo 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 represntandolos
grficamente, y representar grficamente datos registrados anteriormente. Los nuevos
datos se recogen a travs del puerto paralelo con la instruccin 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 configuracin del
temporizador interno del PC, configuracin del sistema grfico y del puerto paralelo para
su funcionamiento como puerto bidireccional.
Tambin se recoge y se trata la opcin 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 pgina siguiente.
Memoria descriptiva
41
CONFIGURACIONES
Y MEN PRINCIPAL
NUEVO
ENSAYO
EDICIN DE
DATOS
Inicio
Declaracin de variables
Inicializacin del timer
Configuracin del puerto paralelo
Men de opciones
Opcin nuevo ensayo Opcin editar grfica Salir
Configuracin grfica Configuracin grfica
Abrir fichero para escritura Abrir fichero para lectura Fin
Error?
Adquirir y monitorizar datos Leer fichero y dibujar grfica
Grfica anterior
Grfica siguiente
Mensaje de error
Figura 40. Diagrama de bloques del programa principal
SI
NO
Memoria descriptiva
42
1.4.6.3 Programa Principal. Descripcin 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.
Funcin "ini_8253"
La configuracin del timer se realiza en esta funcin. 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 funcin ini_8253 realiza los siguientes cambios en la configuracin del timer:
Modifica el contenido del registro situado en la posicin de memoria 0x40h para
conseguir una interrupcin del timer cada 100 s
Modifica la palabra de control (0x43h) para que el temporizador acte en modo Rate
Generator. Es un modo de funcionamiento peridico en el que la lnea 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 nmero 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)
Funcin "lpt_bidireccional"
El siguiente paso, es la configuracin del puerto paralelo, lo que nos permitir
disponer de un bus de datos bidireccional. De ello se encarga la funcin 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 configuracin.
En esta funcin 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 lneas 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 lneas de datos, en alta impedancia, lo que permite que se lea el
estado de las entradas.
Memoria descriptiva
43
Funcin "menu"
Una vez configurado el puerto paralelo, se ejecutar la funcin men, que nos
permitir movernos por las diferentes opciones del programa.
Esta funcin nos proporciona la primera pantalla visible al arrancar el programa.
Aqu se realiza una presentacin con el nombre del proyecto y del autor. Adems contiene
un men con la posibilidad de comenzar un nuevo ensayo o editar los datos de un archivo
existente. Tambin ofrece la posibilidad de salir del programa.
BLOQUE "NUEVO ENSAYO"
Este grupo engloba las funciones que se encargan de la adquisicin de datos y el
almacenamiento de estos en un fichero, cuando el usuario escoge la opcin de comenzar un
nuevo ensayo.
Funcin "confg_grafica"
El primer paso es escoger el modo de funcionamiento grfico del PC. Aqu se
realiza la inicializacin del sistema grfico mediante la llamada a la funcin initgraph. sta
carga un driver grfico desde el disco y posteriormente pasa el sistema a modo grfico.
Para restaurar el modo grfico inicial se hace una llamada a la funcin closegraph al final
del programa principal.
Funcin "dibujar_ejes"
Tras la apertura de un fichero, para el almacenamiento de los datos a adquirir, se
procede a la representacin grfica de estos respecto a unos ejes.
En la funcin se dibujan las lneas pertenecientes a los ejes x e y. Tambin se
dibujan las lneas divisorias que nos servirn como referencia en la representacin grfica,
as como los valores correspondientes a cada una de estas lneas.
Todas las representaciones grficas se ajustan a la cantidad de pxeles soportados
por el driver grfico utilizado; en este caso VGA, modo grfico VGAHI, resolucin de 640
x 480 pxeles y una paleta de 16 colores.
Funcin "canal_multiplexor"
Cada 0.5 segundos se adquire un valor a travs 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 funcin es la encargada de modificar el bit 1 del Puerto de Control cada 0.5
segundos, para recoger alternativamente el valor de la tensin en el electrodo de
referencia, y el valor de tensin que nos permitir calcular la corriente que atraviesa los
electrodos. Tambin se encarga de imprimir en pantalla estos valores, as como el tiempo
transcurrido en segundos.
Memoria descriptiva
44
Funcin "write_file"
Una vez obtenido el dato del convertidor A/D, se dibuja en la pantalla en forma de pxel y
es almacenado en el fichero que fue abierto anteriormente para escritura.
La funcin se ejecuta cuando escogemos la opcin 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 grficamente.
El fichero de texto, se rellena con filas de 20 valores separados por comas. El
ltimo carcter de cada fila es un retorno de carro '\n'. Una de las rdenes ms importantes
de esta funcin es gcvt, que convierte un nmero real en una cadena de caracteres, lo que
hace posible incluir el valor en el fichero de texto.
Funcin "grafica_siguiente"
A lo largo del eje x (eje de tiempo) se pueden representar hasta 600 datos (pxeles).
Una vez alcanzado este valor, este tramo de grfica debe ser borrado para poder
representar el tramo siguiente desde el inicio del eje x.
La funcin grfica_siguiente se ejecuta si se ha escogido la opcin nuevo ensayo, y
lo hace exactamente en el momento en que se ha completado la representacin grfica de
600 pxeles correspondientes a 600 valores recogidos a travs del puerto paralelo. En el
esquema siguiente se representa su funcionamiento.
Inicio funcin
declaracin de variables
bucle de borrado de
grfica anterior
incremento contador
borrado de pxel
contador==600?
redibujado de
eje x
bucle de borrado
de dgitos de tiempo
Si
No
Memoria descriptiva
45
incremento contador
borrado de dgito
contador == condicin fin?
bucle de escritura
de nuevos dgitos
de tiempo
incremento contador
escritura nuevo dgito
contador == condicin fin?
fin
Figura 41. Diagrama de bloques de la funcin grfica_siguiente
BLOQUE "EDICIN DE DATOS"
Este grupo engloba las funciones que se encargan de la lectura del fichero escogido
por el usuario, y de su representacin por pantalla.
Funcin "read_file"
Esta funcin almacena los valores del fichero de texto en un array. Devuelve un
entero con el nmero de elementos de un tramo de grfica. Si ste tramo ocupa
completamente la pantalla, es porque se habrn representado 600 valores.
La funcin se ejecuta cuando se escoge la opcin editar_grfica, y lo hace
alternadamente con la funcin dibujar_grfica, si el fichero a representar contiene ms de
600 valores.
Una de las rdenes ms importantes incluidas en la funcin 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
posicin intermedia en la que se encuentre el primer valor a representar de un nuevo tramo
de grfica. El esquema de la pgina siguiente muestra el funcionamiento detallado de la
funcin.
Si
No
No
Si
Memoria descriptiva
46
Inicio
declaracin de variables
tramo inicial?
- cursor en inicio
fichero de texto
- lectura de los
dos primeros caracteres
tramo siguiente?
- variar posicin
del cursor
- lectura de primer
carcter
- bucle de lectura
de un tramo
- almacenar dato ledo
carcter ledo ==final carcter nm 599?
de fichero?
carcter=599?
- guardar posicin cursor
- almacenar ltimo dato
final fichero?
activar flag de
fin_grfica
fin
Figura 42. Diagrama de bloques de la funcin read_file
No
Si
Si
No
No
Si
No
Si
No
Si
Memoria descriptiva
47
Funcin "dibujar_grfica"
Tras la lectura de los valores almacenados en el fichero, ya tenemos la posibilidad
de representarlos grficamente. La funcin se encarga de dibujar los datos del fichero de
texto seleccionado, que han sido ledos y almacenados en un array, en la funcin anterior.
Esos datos pueden pertenecer al primer tramo de una grfica (600 datos iniciales), o a
tramos posteriores. Tambin se imprime un men que nos permite desplazarnos por los
diferentes tramos o salir de la representacin grfica.
Inicio
bucle dibujado
de muestras
muestras dibujadas >=
muestras ledas?
tramo inicial?
imprimir men:
- opcin grfica siguiente
-opcin salir
tramo final?
imprimir men:
- opcin grfica anterior
- opcin salir
imprimir men:
- opcin grfica anterior
- opcin grfica siguiente
-opcin salir
fin
Figura 43. Diagrama de bloques de la funcin dibujar_grfica
No
Si
Si
No
Si
No
Memoria descriptiva
48
Funcin "borrar_grfica"
La funcin se ejecuta si se escoge la opcin editar grfica. Se encarga de borrar los
datos representados grficamente, cuando visualizamos los diferentes tramos de una
grfica.
Si el fichero de datos contiene ms de 600 valores, se nos ofrecer la posibilidad de
representar el resto de valores, pudindonos mover por los diferentes tramos de grfica
correspondientes a los valores almacenados. Cada vez que escojamos la representacin de
un nuevo tramo, debern borrarse los pxeles correspondientes a la grfica actual.
Tambin redibuja el eje x por si han existido valores iguales a cero dibujados
encima de este eje, quedando afectada su lnea al borrar los citados valores. Adems, se
imprimen las nuevas unidades de tiempo pertenecientes a las lneas divisorias del eje x.
1.4.6.4 Funciones Asociadas a la Interrupcin del Timer
Funcin "irq0_attn"
Esta funcin substituye a la rutina de atencin a la interrupcin provocada por el
timer a travs de la lnea IRQ0 (INT8). Por la configuracin del timer del PC, se la llamar
cada 100 s. En cada ejecucin 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. Tambin
se inicializa la variable time para que se repita el ciclo y se activa un flag que habilita la
representacin grfica del valor adquirido.
Rutina de interrupcin
decremento variable
time
time==0?
- time=valor inicial
- activacin flag
- lectura registro de
datos (inportb)
Fin rutina
Figura 44. Pasos seguidos en el ejecucin de la rutina de interrupcin del timer
P
R
O
G
R
A
M
A
P
R
I
N
C
I
P
A
L
SI
NO
Interrupcin
en IRQ0
Memoria descriptiva
49
Funcin "eoi"
Cuando el timer produce una interrupcin a travs de su lnea IRQ0, se activa el bit
correspondiente en un registro del controlador de interrupciones, que contiene informacin
sobre el nivel de interrupcin que est siendo servido. Antes de finalizar la rutina de
atencin a la interrupcin se debe realizar una llamada a la funcin eoi para que ponga a
cero el bit del nivel de interrupcin que est siendo atendido, de manera que no se vuelva a
servir la misma interrupcin.
Este acceso se realiza al Registro de Control Maestro situado en la direccin 0x20h.
Memoria de clculo
50
MEMORIA DE CLCULO
Memoria de clculo
51
2 Memoria de Clculo
2.1 Etapa de Alimentacin de Electrodos (Potenciostato)
Figura 45. Circuito de alimentacin de los electrodos (potenciostato)
Como se observa en la figura anterior, el amplificador U4 forma parte de un
seguidor de tensin lo que quiere decir que la tensin en su terminal positivo de entrada es
igual a la tensin a su salida, pudindose representar ms sencillamente como un
cortocircuito.
Asimismo, por la realimentacin 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
VeeL
0
VeeH
0
VccL
C3
0.1u
R8
5k
R3
100k
ELECTRODO DE REFERENCIA
1
C15 0.1u
C18 10u
R23
1k
R4
1k
C4
10u
R2 100k
C16 10u
ELECTRODO AUXILIAR
1
C17 0.1u
U10
OPA544
2
1
4
5
3
-
+
OUT
V
+
V
-
R7
100k
1
3
2
U11
OPA544
2
1
4
5
3
-
+
OUT
V
+
V
-
Vin
C2
10u
C1
0.1u
U4
3
2
7
4
6
1
5
+
-
V
+
V
-
OUT
OS1
OS2
ELECTRODO DE TRABAJO
1
R24
1k
R25
1k
R26
1k
TLE2061
Memoria de clculo
52
A partir de estas observaciones obtenemos un circuito equivalente al anterior y ms
fcil de analizar. El circuito se muestra en la figura siguiente y corresponde a un
potenciostato bsico.
Figura 46. Esquema de un potenciostato bsico
Por superposicin podemos calcular la tensin V
2
Puesto que R
2
= R
3
V
2
= 0.5 V
in
+ 0.5 V
ref
El operacional est realimentado negativamente a travs del electrodo auxiliar, la
disolucin y el electrodo de referencia, luego aplicando cortocircuito virtual tenemos que
V
2
= 0, por lo tanto
V
ref
= -V
in
(5)
Sabemos que V
2
es igual a cero por cortocircuito virtual, entonces la cada de
tensin en R
2
ser igual a V
in
. Adems hemos comprobado que V
ref
= -V
in
. Por lo tanto la
cada de tensin en R
3
ser la siguiente
- V
in
+ V
in
+ V
R3
+ V
ref
= 0 (6)
V
R3
= - V
in
+ V
in
- V
ref
V
R3
= V
in
(7)
Por ser R
2
y R
3
del mismo valor, las corrientes que las atraviesen tambin lo sern
) 4 (
3 2
2
3 2
3
2
ref in
V
R R
R
V
R R
R
V
+
+
+
=
0
0
0
Vwork
Vref
Vaux
R2
Vin
R3 3
2
8
4
1
+
-
V
+
V
-
OUT
V2
+
+
-
-
V
V
R2
R3
) 8 (
100
3 2
= =
k
V
I I
max in
max R max R
Memoria de clculo
53
En las pruebas realizadas hemos comprobado que el potenciostato funciona
aceptablemente para los siguientes mrgenes de tensin de entrada
0 V V
in
5 V
A partir de la ecuacin (8) calculamos una corriente mxima de
I
R2 mx
= 50 A (9)
La potencia mxima disipada es la siguiente
luego las resistencias utilizadas sern de 1/4 W.
2.2 Etapa Convertidora I-V
Figura 47. Etapa convertidora corriente-tensin
En un amplificador operacional realimentado negativamente, la corriente de entrada
en el terminal positivo es idealmente cero, lo que implica
I
work
+ I
out
= 0 (11)
Como vimos en el apartado 1.4.1.1. la salida del amplificador se puede expresar en
funcin de su ganacia en lazo abierto y de la diferencia de tensin entre sus terminales de
entrada
Eo = -A E
-
+ A E
+
0
0 0
VccH
VeeH
0
C16 10u
R23
1k
C17 0.1u
ELECTRODO DE TRABAJO
1
C15 0.1u
R26
1k
C18 10u
U11
OPA544
2
1
4
5
3
-
+
OUT
V
+
V
-
Iwork
Iout
Vout
V2
) 12 (
26
2
work
out
I
R
V V
=
\
|
26
1
1 R I
A
V
work out
=
|
.
|
\
|
+
) 14 (
26
R I V
work out
=
) 15 ( 784 . 0
1
28
2
26
2
mx 26
mx 26
W
k R
V
P
R
R
=
= =
Memoria de clculo
55
Figura 48. Esquema del circuito atenuador inversor
De nuevo existe realimentacin negativa. Por cortocircuito virtual tenemos V2=0.
Adems idealmente la corriente de entrada al terminal 2 es cero.
I
out
+ I
in
= 0 (16)
La tensin de salida de la etapa convertidora de corriente-tensin alcanzar un valor
mximo aproximado de 28 V cuando el amplificador se sature. Esto corresponder a una
tensin a la salida del atenuador de
28/5.6 = 5 V (18)
que es la mxima tensin que admite la entrada del convertidor analgico digital, y
aproximadamente la tensin lmite a la que el potenciostato ha funcionado aceptablemente
en las pruebas durante el diseo.
Existen otros dos amplificadores inversores cuyo factor de multiplicacin es -1. Su funcin
es cambiar el signo de la tensin que les llega a la entrada. Uno de ellos invierte el signo de
la tensin de salida del seguidor de tensin aplicado a Vref. El segundo se encuentra tras el
atenuador comentado en este apartado.
Estos inversores son necesarios porque el convertidor analgico-digital slo acepta
tensiones positivas, debido a su alimentacin de 5 V.
El clculo de estas etapas es el mismo que el del atenuador, con la diferencia de los
valores de las resistencias que sern de 1 k en los dos casos.
) 17 (
6 . 5
1
18 19
in out
in out
V V
R
V
R
V
= =
VeeL
0
VccL
R18
56k
U7
OP-07
3
2
7
4
6
1
8
+
-
V
+
V
-
OUT
OS1
OS2
R20
1k
R19
10k
R21
POT
1 3
2
Vin
Vout
Iout
Iin
V2
Memoria de clculo
56
2.4 Tensin de Entrada
En la entrada del circuito hemos colocado un conector triple al que aplicaremos una
tensin regulada de 30 V con una toma intermedia para la conexin a masa. A
continuacin un potencimetro actuar como divisor de tensin. Para que ste funcione
como tal, se ha aadido un seguidor de tensin que dada su gran impedancia de entrada
proporciona la tensin Vin a la siguiente etapa con un consumo mnimo en su terminal de
entrada.
Figura 49. Circuito de ajuste de la tensin de entrada
La corriente que circular por el potencimetro ser
y la potencia disipada
P
POT
= V
POT
I
POT
= 60 V 0.6 mA = 36 mW (20)
2.5 Convertidor A/D
Este dispositivo necesita una seal de reloj para sincronizar las operaciones
internas. La seal 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 seal de reloj.
Figura 50. Circuito generador de la seal de reloj interna, en el convertidor A/D
0
VeeL
VccL
VeeH
VccH
U1
OP-07
3
2
7
4
6
1
8
+
-
V
+
V
-
OUT
OS1
OS2
100k
1
3
2
30V
30V
Vin
Vin
) 19 ( 6 . 0
100
60
100
mA
k
V
k
V
I
POT
POT
=
=
Memoria de clculo
57
En nuestro caso el periodo de adquisicin 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 configuracin utilizada como ejemplo en
el manual del componente.
Los valores utilizados son
R = 10 k , C = 150 pF
La frecuencia de reloj segn el fabricante ser la siguiente
Segn el manual del componente, a esta frecuencia, el periodo de conversin 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 resolucin 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 tensin conectado al
electrodo de referencia, los amplificadores inversores y el seguidor de tensin que nos
proporciona la tensin 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 potencimetros de compensacin 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 deberan
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 asimetras.
El anlisis de la siguiente etapa bsica de un amplificador diferencial bipolar nos
dar una idea de la medida de la tensin de offset.
) 21 ( 606
150 10 1 . 1
1
1 . 1
1
kHz
pF k RC
f
CLK
=
) 22 ( 53 . 19
256
5
mV
V
=
Memoria de clculo
58
(
=
T
BE
V
V
S C
e I I
1
1 1 ) 23 (
2
2 2
(
=
T
BE
V
V
S C
e I I
) 24 (
2 1
2 1
(
=
T
BE
T
BE
V
V
S
V
V
S
e I e I
Figura 51. Amplificador diferencial bsico
El par diferencial est polarizado por una fuente de corriente constante. Si Q1 y Q2
estn 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 I
S1
e I
S2
estn relacionadas con las corrientes de saturacin inversa de las uniones B-
E y son funciones de las propiedades geomtricas y elctricas de los transistores. Si ambos
transistores estn acoplados de forma exacta, entronces I
S1
= I
S2
; si existe alguna falla en el
acoplamiento de los parmetros elctricos o geomtricos, entonces I
S1
I
S2
.
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 producirn un voltaje de salida igual a cero en el amplificador
diferencial.
Para Ic1 = Ic2 se tiene
o
V+
V-
V2 V1
o o
Rc Rc
Q1 Q2
Iq
Ic2
Ic1
+ +
- -
V V
BE1 BE2
+ Vo -
Memoria de clculo
59
) 25 (
1
2
2 1
S
S
V
V V
I
I
e
T
BE BE
=
(
) 27 (
1
2
S
S
V
V
I
I
e
T
OS
=
(
El voltaje de offset se define como
V
BE1
- V
BE2
= V
OS
(26)
Como V
1
-V
2
= V
BE1
- V
BE2
, entonces el voltaje de offset V
OS
es el voltaje de entrada
diferencial que debe aplicarse para hacer que Ic1 = Ic2. La ecuacin anterior puede
escribirse como
o
En la mayora de los amplificadores la polarizacin de la etapa diferencial de
entrada se realiza mediante una carga activa, que acta de fuente de corriente constante.
Tambin encontramos en muchos componentes un par de terminales que sirven para
compensar el voltaje de offset, al que se conecta normalmente un potencimetro.
Figura 52. Amplificador diferencial con terminales de ajuste de offset
) 28 ( ln
1
2
|
|
.
|
\
|
=
S
S
T OS
I
I
V V
V+
V-
V-
V1 V2
Iq
Q1 Q2
Q3 Q4
R1 R2
Rx
1 3
2
+
-
V V
BE3
+
-
BE4
x 1-x
Terminal de compensacion
de offset
de offset
Terminal de compensacion
Memoria de clculo
60
Nos basaremos en la etapa de entrada bsica de un amplificador operacional
mostrada en la figura 52, para conocer la manera en que se anula el offset. Para demostrar
la tcnica de anulacin de este voltaje, primero se escribe la ecuacin LVK para nodos que
se forman entre los terminales de la base de Q
3
, Q
4
y el voltaje V- en la figura 52
V
BE3
+ i
C1
R
'
1
= V
BE4
+ i
C2
R
'
2
(29)
donde R
'
1
y R
'
2
representan las resistencias efectivas de los emisores de Q
3
y Q
4
,
incluyendo los efectos en paralelo del potencimetro R
x
. Se tiene que
R
'
1
= R
1
||xR
x
y R
'
2
= R
2
||(1-x)R
x
(30)
Los voltajes base-emisor son
y
Substituyendo las ecuaciones anteriores obtenemos
Si ocurre una prdida de acoplamiento entre Q
3
y Q
4
, es decir, I
S3
I
S4
, en ese caso
se puede introducir una falta intencional de acoplamiento entre R
'
1
y R
'
2
para compensar la
prdida de acoplamiento de los transistores, y dicho ajuste puede hacer que i
C1
= i
C2
. En
forma similar, se puede introducir una falta intencional de acoplamiento entre R
'
1
y R
'
2
para
compensar la prdida de acoplamiento que existe entre Q
1
y Q
2
.
2.7 Corrientes de Polarizacin de Entrada
Las corrientes de polarizacin de entrada de un amplificador operacional ideal son
iguales a cero. Sin embargo, en los amplificadores operacionales reales, las corrientes de
polarizacin de entrada son diferentes de cero.
) 31 ( ln
3
1
3
|
|
.
|
\
|
=
S
C
T BE
I
i
V V
|
|
.
|
\
|
=
4
2
4
ln
S
C
T BE
I
i
V V
) 32 ( ln ln
'
2 2
4
2 '
1 1
3
1
R i
I
i
V R i
I
i
V
C
S
C
T C
S
C
T
+
|
|
.
|
\
|
= +
|
|
.
|
\
|
Memoria de clculo
61
Figura 53. Corrientes de polarizacin en terminales de entrada de un operacional
La figura 53 muestra en forma esquemtica un amplificador operacional con las
corrientes de polarizacin de entrada. Si la etapa de entrada es simtrica, y todos los
elementos correspondientes estn acoplados, entonces I
B1
= I
B2
. Sin embargo, si los
transistores de entrada no son exactamente idnticos, entonces I
B1
I
B2
. Por lo tanto, la
corriente de polarizacin 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 I
OS
y est determinada por la expresin
I
OS
= | I
B1
- I
B2
| (34)
La figura siguiente muestra un amplificador operacional y sus resistencias
asociadas para un voltaje de entrada igual a cero. An cuando I
B2
0, el terminal no
inversor est a cero voltios, o V
Y
= 0. Partiendo del concepto de tierra virtual, se tiene que
V
x
= 0, lo cual significa que la corriente en R
1
debe ser cero. Por lo tanto, la salida del
amplificador operacional proporciona la corriente de polarizacin I
B1
, la cual fluye a travs
de R
2
produciendo un voltaje de salida.
Figura 54. Anulacin del efecto producido por la corriente de offset
El efecto que tienen las corrientes de polarizacin en los circuitos de los
amplificadores operacionales se puede minimizar con la ayuda de una tcnica sencilla de
compensacin. Considerando el circuito de la figura 54, determinaremos Vo como una
funcin de I
B1
e I
B2
utilizando la superposicin. Para I
B2
= 0, se tiene que V
Y
= V
x
= 0, y el
voltaje de salida es
-
+
I
B1
I
B2
) 33 (
2
2 1 B B
B
I I
I
+
=
Vo
3
2
8
4
1
+
-
V
+
V
-
OUT
R1
R2
R3
I
B1
I
B2
V
X
V
Y
Memoria de clculo
62
V
O
(I
B1
) = I
B1
R
2
(35)
Para I
B1
= 0, se tiene
V
Y
= -I
B2
R
3
= Vx (36)
por lo que el voltaje de salida ser
El voltaje total es la suma de las ecuaciones halladas por superposicin
Si I
B1
= I
B2
= I
B
y pretendemos que Vo = 0 entonces la ecuacin anterior se
transforma en
que podemos expresar de la siguiente manera
Finalmente obtenemos el valor de R
3
en funcin de las resistencias utilizadas en la
etapa inversora
Tambin colocaremos una resistencia en el terminal positivo del convertidor I-V
para anular el offset producido por las corrientes de polarizacin.
Figura 55. Anulacin del efecto producido por la corriente de offset
( ) ) 37 ( 1
1
2
3 2 2
|
|
.
|
\
|
+ =
R
R
R I I V
B B O
) 38 ( 1
1
2
3 2 2 1
|
|
.
|
\
|
+ =
R
R
R I R I V
B B O
(
|
|
.
|
\
|
+ =
1
2
3 2
1 0
R
R
R R I
B
|
|
.
|
\
|
+ =
1
2
3 2
1
R
R
R R
) 39 ( ||
2 1
2 1
2 1
3
R R
R R
R R
R =
+
=
Vo
3
2
8
4
1
+
-
V
+
V
-
OUT
R2
R3
I
B1
I
B2
V
X
V
Y
Memoria de clculo
63
=
+
= 84 . 8484
56 10
56 10
3
k k
k k
R
) 46 ( 500
1 1
1 1
3
=
+
=
k k
k k
R
Considerando el circuito de la figura anterior, determinaremos Vo como una
funcin de I
B1
e I
B2
utilizando la superposicin. Para I
B2
= 0, se tiene que V
Y
= V
x
= 0, y el
voltaje de salida es
V
O
(I
B1
) = I
B1
R
2
(40)
Para I
B1
= 0, se tiene
V
Y
= -I
B2
R
3
= Vx = Vo (41)
por lo que el voltaje de salida ser
El voltaje total es la suma de las ecuaciones halladas por superposicin
Si I
B1
= I
B2
= I
B
y pretendemos que Vo = 0 entonces la ecuacin anterior se
transforma en
donde vemos claramente que el valor necesario de R
3
para anular este efecto de offset es el
mismo valor de la resistencia R
2
R
3
= R
2
(44)
Los valores de las resistencias utilizadas para anular los efectos de las corrientes de
polarizacin 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) R
3
= R
2
= 1 k (47)
( ) ) 42 (
3 2 2
R I I V
B B O
=
) 43 (
3 2 2 1
R I R I V
B B O
=
| |
3 2
0 R R I
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
U1
OP-07
3
2
7
4
6
1
8
+
-
V
+
V
-
OUT
OS1
OS2
1
TP5
T POINT R
1
R8
5k
1
R22 1k
R23
1k
C3
0.1u
C4
10u
R7
100k
1
3
2
R1
POT
1
3
2
U17
MC79L15C_TO
2 3
1
IN OUT
G
N
D
C1
0.1u
C15 0.1u
J3
CON3
1
2
3
R2
100k
C16 10u
R16
POT 1
3
2
R3
100k
1
JP3
JUMPER
1
2
JP1
JUMPER
1
2
U10
OPA544
2
1
4
5
3
-
+
OUT
V
+
V
-
TP4
T POINT R
1
C17 0.1u
C18 10u
R15
POT 1
3
2
U11
OPA544
2
1
4
5
3
-
+
OUT
V
+
V
-
C2
10u
U4
TLE2061
3
2
7
4
6
1
5
+
-
V
+
V
-
OUT
OS1
OS2
U8
LM78L15A_TO92
1
2
3
VIN
G
N
D
VOUT
TP1
T POINT R
1
R24
20K
1 3
2
ELECTRODO
ELECTRODO
ELECTRODO
AUXILIAR
DE
REFERENCIA
DE
TRABAJO
E.T.S.E ROVIRA I VIRGILI
Normas
Comprobado
Dibujado
Fecha Nombre
20/09/04
27/09/04
J.L. Calabozo
X. Vilanova
ALIMENTACIONES Y POTENCIOSTATO
ESCALA
PLANO: 1
DISEO DE UN
POTENCIOSTATO
Substituye a:
Substituido por:
Planos
67
3.2 Inversores y Atenuador
MUX0
MUX1
INVERSOR
ATENUADOR
VccL
VccL
0
VeeL
VeeL
0
VeeL
VccL
0
R9
1k
R10
1k
R12 20k 1 3
2
TP9
T POINT R
1
R20
8k2
R21
POT
1 3
2
R18
56k
TP2
T POINT R
1
R19
10k
U7
OP-07
3
2
7
4
6
1
8
+
-
V
+
V
-
OUT
OS1
OS2
U5
OP-07
3
2
7
4
6
1
8
+
-
V
+
V
-
OUT
OS1
OS2
R11
560
U6
OP-07
3
2
7
4
6
1
8
+
-
V
+
V
-
OUT
OS1
OS2
R13
1k
R14
1k
R17
560
R25
POT
1 3
2
DISEO DE UN
POTENCIOSTATO
X. Vilanova
Fecha
27/09/04
Nombre
20/09/04
Normas
ESCALA
E.T.S.E ROVIRA I VIRGILI
Substituye a:
Dibujado
INVERSORES Y ATENUADOR
J.L. Calabozo
Comprobado
Substituido por:
PLANO: 2
Planos
69
3.3 Adquisicin de Tensiones
0
VccL
0
0
0
MUX0
MUX1
D2
1N4148
R13
10K
U13
LM78L05AC_TO92
1
2
3
VIN
G
N
D
VOUT
SW1
1 4
2 3
P1
CONNECTOR DB25
13
25
12
24
11
23
10
22
9
21
8
20
7
19
6
18
5
17
4
16
3
15
2
14
1
C19
150p
U16
ADC0804LCN
1
2
3
4
5
6
7
8
9
10 11
12
13
14
15
16
17
18
19
20
/CS
/RD
/WR
CLK IN
/INTR
VIN+
VIN-
A GND
VREF/2
D GND DB7
DB6
DB5
DB4
DB3
DB2
DB1
DB0
CLK R
VCC
TP3
T POINT R
1
U6
74HCT4052
1
2
3
4
5
6
7
8 9
10
11
12
13
14
15
16
2Y0
2Y2
2Z
2Y3
2Y1
/E
Vee
GND S1
S0
1Y3
1Y0
1Z
1Y1
1Y2
Vcc
D1
1N4148
J.L. Calabozo 20/09/04
DISEO DE UN
POTENCIOSTATO
Substituye a:
X. Vilanova
Substituido por:
PLANO: 3
Normas
Comprobado
ESCALA
27/09/04
Fecha
ADQUISICIN DE TENSIONES
Dibujado
E.T.S.E ROVIRA I VIRGILI
Nombre
Planos
71
3.4 Placa de Circuito Impreso
Subsituido por:
Subsituye a:
PLANO: 4
ESCALA
CIRCUITO IMPRESO Y
COMPONENTES
Normas:
Dibujado:
Comprobado:
Fecha Nombre
J.L. Calabozo
X. Vilanova
20/09/04
27/09/04
DISEO DE UN
POTENCIOSTATO
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 vas 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 Potencimetro multivuelta 20 k 4
1.17 Potencimetro multivuelta 100 k 2
1.18 Potencimetro 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. CONEXIN CON PC
2.1 Cable para puerto paralelo 2 m
2.2 Conectores DB25 Macho 2
3. PROGRAMACIN
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 vas 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 Potencimetro multivuelta 20 k 2.22
1.17 Potencimetro multivuelta 100 k 2.22
1.18 Potencimetro 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. CONEXIN CON PC
2.1 Cable para puerto paralelo 1.00
2.2 Conector DB25 Macho 0.88
3. PROGRAMACIN
3.1 Programa en Lenguaje C 2000
Tabla 20. Cuadro de precios. Precio de cada elemento
Presupuesto
76
4.3 Aplicacin 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 vas 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 Potencimetro multivuelta 20 k 4 2.22 8.88
1.17 Potencimetro multivuelta 100 k 2 2.22 4.44
1.18 Potencimetro 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. CONEXIN 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. PROGRAMACIN
3.1 Programa en Lenguaje C 80 horas 12 960
960
Tabla 21. Aplicacin 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. Conexin con PC 3.76
3. Programacin 960
+________
P.E.M (Presupuesto de ejecucin material) 1057.32
Gastos Generales (13%) 137.45
Beneficio industrial (6%) 63.44
+________
P.E.C (Presupuesto de ejecucin por contrato) 1258.21
I.V.A. (16%) 201.31
+________
PRESUPUESTO DE LICITACIN 1459.52
El presupuesto de licitacin, del proyecto de Realizacin de un Potenciostato,
asciende a la cantidad de mil cuatrocientos cincuenta y nueve euros con cincuenta y dos
cntimos.
TARRAGONA, OCTUBRE 2004
Fdo. Juan Luis Calabozo Snchez
Pliego de condiciones
79
PLIEGO DE CONDICIONES
Pliego de condiciones
80
5 Pliego de Condiciones
5.1 Condiciones Tcnicas
5.1.1 ESPECIFICACIONES ELCTRICAS
5.1.1.1 Generalidades
Para una correcta realizacin 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. Fabricacin de las placas de circuito impreso.
3. Montaje de los componentes en las placas fabricadas anteriormente.
4. Ajuste y comprobacin de los parmetros para un funcionamiento correcto.
5. Puesta en marcha del equipo.
6. Controles de calidad y fiabilidad.
7. Mantenimiento del equipo. Informacin regular de las personas que estn a
cargo del equipo.
Todas estas partes que en su conjunto forman la obra, debern ser ejecutadas por
montadores que se sometern a las normas y reglas que la comunidad autnoma, pas o
comunidades internacionales tengan previstas para este tipo de montajes, no hacindose 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 precisin del sistema a
implementar. El valor de esta tolerancia se expresa en tanto por ciento del valor nominal de
la misma. Las ms 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 clasificacin estandarizada de
resistencias en tres series: la E6, E12 y E24. El valor de las resistencias se identifica
mediante unos cdigos 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 eleccin de la resistencia apropiada es tener
en cuenta la disipacin mxima de la misma. En la mayora de los casos se usan de 1/4 W,
siendo slo 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 cdigo de colores (similar al empleado para el marcaje de
resistores). Tambin puede estar marcada una cifra y la letra de unidades ( p para
picofaradios, para nanofaradios, para microfaradios y m para milifaradios). En los
condensadores cermicos, 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. Adems suele marcarse tambin la tensin nominal, y
en el caso de condensadores cermicos con coeficiente de temperatura establecido, el
coeficiente de temperatura, ya sea con una franja de color o con una letra.
La eleccin del tipo de condensador a utilizar es tambin un punto a tener muy en
cuenta en el montaje de un equipo de potencia. El mercado de este tipo de componente
electrnico es muy amplio, existiendo as una gran cantidad de posibilidades a elegir.
Dos de los tipos de condensadores ms comunmente usados son los cermicos y los
electrolticos.
- Condensadores cermicos: los materiales cermicos son buenos aislantes
trmicos y elctricos. El proceso de fabricacin consiste bsicamente en la metalizacin de
las dos caras del material cermico. 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 identificacin se realiza
mediante cdigo alfanumrico. Se utilizan en circuitos que necesitan alta estabilidad y
bajas prdidas en altas frecuencias.
Condensadores electrolticos: pueden ser de aluminio o de tntalo, y su principal
diferencia con los anteriores en cuanto a la apariencia fsica 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 prdidas se disparan, reducindose 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
fotogrfico que reproduce el original de una pelcula o soporte transparente).
Proceso que se debe seguir para realizarlas:
Abrir la bolsa que contiene la placa presensibilizada, tomando la precaucin
de que no le incida directamente la luz solar. La luz ambiente durante unos
segundos no deteriora la emulsin.
Pliego de condiciones
82
Colocar el original o fotolito sobre la placa presensibilizada, insolando la
misma segn el mtodo correspondiente a la insoladora que se posea, y con un
tiempo de exposicin 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 lquido revelador correspondiente. Balancear la cubeta
curante uno o dos minutos, al objeto de facilitar la accin 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 acenta
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 fabricacin de las placas
se reduce considerablemente. Para obtener una buena conduccin entre las uniones, es
conveniente estaar el circuito impreso.
A continuacin se detallan notas de inters, a seguir, en la elaboracin final de un
circuito impreso:
Las emulsiones de las placas presensibilizadas son muy delicadas, por lo que
deber extremarse su cuidado, procurando no araarlas 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 reproduccin 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 vaco.
Los restos de la emulsin de las placas, una vez atacado el circuito, pueden
eliminarse con alcohol.
5.1.2 ESPECIFICACIONES MECNICAS
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 algn 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 zcalos para la insercin de los circuitos integrados en los cicuitos impresos. De esta
forma se tiene una mejor reparabilidad, es decir, se disminuye el tiempo de reparacin, y
adems se evita un calentamiento exesivo en los pins de los circuitos integrados que podra
conducir a su deterioro.
Pliego de condiciones
83
Si se utilizara una caja, sta debera ser lo suficientemente grande como para
colocar en su interior todos los componentes y materiales, as como la posible alimentacin
compuesta por transformador, rectificador o bateras. Se aislarn aquellas partes del
circuito que puedan influir sobre las dems. Sobre la superficie de la caja se realizarn
orificios para insertar un pulsador de paro/marcha, y un potencimetro manual que nos
permita variar la tensin 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 inters. Se recomienda el uso de un
osciloscopio para la comprobacin de las seales relacionadas con los integrados que se
encargan de la adquisicin de las tensiones.
El equipo no tiene ningn punto excesivamente crtico, por lo que el
funcionamiento inadecuado del mismo, puede ser debido a mltiples causas y que pueden
ser resumidas en tres:
1. Conexionado defectuoso entre elementos (puerto paralelo del Pc, fuente de
alimentacin, electrodos)
2. Componentes defectuosos, por lo que una vez localizado se proceder a su
sustitucin.
3. Soldadura defectuosa del componente a la placa de circuito impreso. Se
proceder a realizar una inspeccin visual exhaustiva de las sodaduras en el
caso de que se detecte alguna anomala en alguna de ellas.
5.2 Condiciones de la Ejecucin
5.2.1 DESCRIPCIN DEL PROCESO
5.2.1.1 Compra y Preparacin del Material
La compra de materiales, componentes y aparatos necesarios debe realizarse con el
tiempo necesario para que estn dispuestos en el momento en el que comience la
instalacin de los elementos en sus respectivos lugares.
5.2.1.2 Fabricacin de los Circuitos Impresos
Las placas de circuito impreso pueden confeccionarse a partir del diseo incluido en
los planos. Debido a la gran importacia que para el buen funcionamiento tiene una perfecta
realizacin del circuito impreso, se van a detallar a continuacin las operaciones a realizar:
1. Antes de comenzar, se deber disponer de ciertos materiales: insoladora o
lmpara de luz ultravioleta, revelador o en su defecto una disolucin de sosa
custica y agua, atacador rpido que se puede sustituir por una disolucin con la
Pliego de condiciones
84
siguiente composicin: 33% de cido clorhdrico, 33% de agua oxigenada de 110
volmenes 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 estn lo ms
cercanas entre s que sea posible ( convendra utilizar sistemas de vaco). En este
momento se expone el conjunto a la luz ultravioleta durante el tiempo indicado
por el fabricante.
4. Acabada la exposicin, se retira la placa de la insoladora y se coloca dentro del
lquido revelador. El tiempo de revelado depender de la marca de la placa,
indicndonos el fabricante cul es el ms adecuado. De todas formas sirve como
referencia el que poco a poco se vayan viendo las pistas. Cuando est
suficientemente revelado, las pistas sern ntidamente 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 rpido o en la disolucin 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 emulsin 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 atencin merece la fase de soldadura. En ella no se deben sobrepasar los
tiempos de soldadura que nos da el fabricante para la mayora de elementos
semiconductores. Si colocamos zcalos para los circuitos integrados entonces el problema
se limitar a la soldadura de los diodos.
5.3 Condiciones Facultativas
El aparato cumplir los requisitos mnimos respecto del Proyecto encargado, cualquier
variacin o mejora sustancial en el contenido del mismo deber ser consultada con el
tcnico diseador. Durante el tiempo que se ha estimado para la instalacin, el tcnico
proyectista podr anunciar la suspensin momentnea si as lo estimase oportuno.
Las caractersticas de los elementos y componentes sern las especificadas en la
Memoria, debindose tener en cuenta para su perfecta colocacin y posterior uso.
La contratacin de este Proyecto se considerar vlida cuando las dos partes
implicadas, propiedad y contratista, se comprometan a concluir las clusulas del
Pliego de condiciones
85
contrato, para lo cual debern ser firmados los documentos adecuados en una reunin
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 omisin.
5.4 Conclusiones
Las partes manifiestan que conocen los trminos de este Pliego de Condiciones y
del Proyecto Tcnico que se adjunta.
Anexos
86
ANEXOS
Anexos
87
6 Anexos
6.1 Manual del Usuario
6.1.1 Introduccin
Se ha diseado un potenciostato, por la necesidad de disponer de un sistema que
nos permita realizar pruebas requeridas en aplicaciones electroqumicas. En este caso, la
finalidad del dispositivo es la de mantener constante la tensin entre los electrodos de
referencia y de trabajo, a pesar de las variaciones de la resistividad de la disolucin y de la
resistencia del electrodo de trabajo, ya que en este ltimo se va a producir la deposicin de
metal deseada.
6.1.2 Elementos que Componen el Sistema
Placa del potenciostato: sta contiene elementos reguladores de tensin, para
proporcionar las diferentes tensiones de alimentacin de los circuitos integrados,
as como el circuito que acta de potenciostato y los elementos necesarios para
adquirir dos tensiones a travs del puerto paralelo.
Cable de conexin con PC: compuesto por dos metros de cable paralelo de 25
lneas, y dos conectores DB25 macho, soldados en sus extremos.
Disquet con el archivo ejecutable pot.exe y el driver grfico. El programa se
ejecuta bajo el sistema operativo MS-DOS.
El resto de elementos necesarios para la realizacin de procesos electroqumicos, y
que no estn incluidos en el presupuesto del presente proyecto son
PC con sistema operativo MS-DOS.
Fuente de alimentacin simtrica de 30 V y 0.5 A.
Elementos propios de un sistema electroqumico
Anexos
88
6.1.3 Esquema de Conexin.
En la figura siguiente se representan de forma esquemtica los diferentes
conectores de la placa de circuito impreso.
Figura 56. Vista superior de la placa
6.1.4 Instrucciones de Conexin y Configuracin del Sistema
Conexin
1. Utilizar el cable paralelo para conectar la placa con el puerto paralelo del PC.
2. Conectar la fuente de alimentacin simtrica 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
potencimetros 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.
Configuracin del PC
1. Tras encender el PC debemos acceder a la pantalla de configuracin 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 opcin INTEGRATED
PERIPHERALS. Dentro de este apartado nos aparece una opcin 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
configuracin.
Conector triple de
alimentacin simtrica
PC
+30V
+30V
Conector DB25
Electrodo
Auxiliar
Electrodo de
Referencia
Electrodo de
Trabajo
Jumper
Jumper
Jumper
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 raz. En ella grabaremos los ficheros incluidos en el
disquet.
6.1.5 Ejecucin de la Aplicacin
Nos situamos en el directorio pot y ejecutamos la aplicacin potenc.exe. Nos
aparecer la siguiente pantalla.
Figura 57. Pantalla inicial
Si escojemos la opcin Nuevo ensayo se nos pedir que introduzcamos el nombre
del nuevo archivo de texto. A este nombre le aadiremos la extensin .txt. Presionamos
ENTER y al mismo tiempo encendemos la fuente que alimenta nuestro circuito. Tambin
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 grficamente los valores de dos tensiones adquiridas a travs del
puerto paralelo. La grfica que nos ir apareciendo en color verde representa los valores de
la tensin del electrodo de referencia. Estos valores estarn comprendidos entre 0V y 5V,
segn ajustemos nosotros la tensin de entrada. El eje Y esta dividido de manera que
concuerde exactamente con los valores de tensin del electrodo de referencia. Adems, nos
aparece el valor de esta tensin en formato numrico
Vref = 0.078V (ver figura 58)
La segunda grfica, que aparecer en color amarillo, slo 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 tensin que representa esta grfica, 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
tensin 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 numrico 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 tambin se muestra en formato numrico el valor exacto del tiempo
transcurrido
Tiempo = 17 segundos (ver figura 58)
Figura 58. Representacin grfica de nuevos valores
Adems de estas representaciones, tambin tendremos la oportunidad de visualizar
los datos a travs 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 extensin .txt. Los datos
de este segundo archivo de texto estn distribuidos de manera que nos aparecern 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 grficamente.
Si escogemos la opcin Editar grfica se nos pedir que introduzcamos el nombre
de un archivo de texto, que ha sido creado previamente con nuestra aplicacin y que se
encuentra en la misma carpeta que el fichero ejecutable. A este nombre le aadiremos la
Anexos
91
extensin .txt. Presionando ENTER, aparecer una pantalla muy similar a la de la imagen
anterior, en la que se representarn grficamente los valores contenidos en el fichero de
texto escogido. Si el tiempo de adquisicin de estos valores fu superior a 5 minutos (300
en eje X), se nos ofrecer la opcin de desplazarnos al tramo siguiente de grfica 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 electroqumico, se pueden utilizar los potencimetros situados entre las
conexiones de electrodos para simular la resistencia que opondran estos y la
disolucin. Deben colocarse los puentes de los jumpers y se tiene que extraer de
su zcalo el amplificador operacional TLE2061 con el fin de poder ajustar el
valor de los potencimetros.
2. Si nos aparece un mensaje de error al ejecutar la opcin Editar grfica,
saldremos del programa, con lo que tendremos la opcin 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 /*direccin base de timer0*/
#define DATA 0x378 /*direccin base de puerto paralelo*/
#define STATUS DATA+1
#define CONTROL DATA+2
#define ECR DATA+1026 /*direccin del Extended Control Register*/
/*nos permite la configuracin del modo ECP*/
typedef struct /*estructura para la configuracin 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 interrupcin 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(); /*inicializacin del sistema grfico*/
grafica=0; /*se incrementa con el n de tramos de grfica
de que consta un archivo de texto*/
fin_grafica=0;
n=0;
sec=0;
maxx=getmaxx(); /*n de pxeles a lo largo del eje
horizontal de la pantalla*/
maxy=getmaxy(); /*n de pxeles 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 travs del convertidor se dibuja en
pantalla mediante un pxel y tambin
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 grfica actual*/
muestras=read_file(f1,datof,grafica,&fin_grafica,store_pos,&c
ont_pos);
/*los valores almacenados en el array se
representan grficamente en forma de pxel*/
dibujar_grafica(datof,muestras,margenizq,margenbajo,grafica,f
in_grafica);
}
ch=getch();
switch (ch)
{
case 'a': if (grafica>0)
{
/*dibujar tramo anterior de grfica*/
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 grfica*/
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)
{
/*configuracin del timer 8253 en modo Rate
Generator, y periodo de interrupcin 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;
/* configuracin 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()
{
/* inicializacin grfica */
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 interrupcin no especfica*/
}
void grafica_siguiente (int *margleft, int *margdown)
{
int j,sig=5,temp_seg;
char msg[7];
Anexos
97
/* borrado de grfica 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 ledos a travs
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("REALIZACIN DE ENSAYOS DE ELECTRODEPOSICIN");
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)
{
/* lneas divisorias y valores de tensin */
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++;
}
/* lneas 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 posicin del ltimo elemento
Anexos
101
ledo 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 ledo 600 valores pertenecientes a un
tramo de grfica entonces almacenamos la posicin
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 grfica en forma de pxeles
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 grfica siguiente o la
grfica 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 grfica 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 funcin en la que, a
travs de una lnea de control del puerto paralelo,
escogemos el canal 0 o el canal 1 del multiplexor, para hacer
llegar esta tensin 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
tensin comprendidos entre 0 y 5V. Por lo tanto el valor ledo
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 Caractersticas 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 Diseo Definitivo
En la siguiente prueba, se pretende mantener constante el valor de tensin entre los
terminales de R16, a pesar de la variacin 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. Tensin de entrada pequea.
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. Tensin en bornes de R16. Comparacin entre los valores
obtenidos en la simulacin y los tomados sobre la placa.
Los valores tomados sobre la placa, son bastante parecidos a los obtenidos en la
simulacin para valores pequeos 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 saturacin dejando de proporcionar la corriente necesaria para poder
mantener la tensin 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 continuacin se ha realizado la misma prueba para un valor de tensin de entrada
mayor. Aqu comprobamos que los valores mnimos 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. Tensin de entrada mayor.
0.25
0.5
Valores de R15 y R16 ()
Tensin en bornes
de R16 (V)
Valores obtenidos en placa
Valores obtenidos en simulacin
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. Tensin 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
tensin de 4.5 V, la demanda de corriente a travs de R16 es mayor. En este caso la
saturacin de U11 se produce para valores mayores de R15 y R16.
2.25
4.5
Valores de R15 y R16 ()
Tensin en bornes
de R16 (V)