Sie sind auf Seite 1von 142

1.1.1.1.

1 ELECCIN DEL MODELO DE AMPLIFICADOR OPERACIONAL


UTILIZADO EN NUESTRO EQUIPO
Una vez seleccionado el modelo de fotodiodo que usaremos como sensor
de irradiancia en la implementacin de nuestro equipo de medida, procedemos
ahora a seleccionar los componentes que usaremos para el correspondiente
circuito de acondicionamiento de seal. Como comentamos en anteriores
apartados, nuestro equipo realizar la medicin de la irradiancia incidente a
partir de la fotocorriente generada por el fotodiodo sometido a tensin cero.
Para ello vimos que el circuito de acondicionamiento que mejor se adapta a
estos condicionantes era el circuito amplificador de transimpedancia, cuyo
esquema se mostraba en la figura 38. Dicho circuito consta de un amplificador
operacional realimentado negativamente mediante una resistencia de
realimentacin R
r
. De esta forma, suponiendo ideal al operacional, el fotodiodo
se encuentra sometido a tensin nula, de forma que la corriente que circula por
l es la corriente de cortocircuito, la cual, como qued demostrado en el
apartado correspondiente, es prcticamente igual a la fotocorriente generada
por el dispositivo. De esta forma, idealmente obtenemos a la salida del circuito
una tensin proporcional a la fotocorriente (y, por lo tanto, a la irradiancia
incidente), la cual ser entregada al convertidor analgico-digital de nuestro
microcontrolador:
r f o
R I V
Ahora bien, un aspecto importante a tener en cuenta en el circuito anterior
es que, puesto que la fotocorriente es generalmente muy pequea (del orden
de entre 100 y 400 microamperios para el modelo BPX65 y entre 0,4 y 1,2
miliamperios para el modelo BPW21), para obtener tensiones de salida
significativas se hace necesario utilizar resistencias de realimentacin
elevadas. Por lo tanto, el error de continua en la tensin de salida debido a las
no idealidades del amplificador operacional (tensin de offset de entrada,
corriente de polarizacin de entrada y corriente de desviacin de entrada)
puede ser significativo. Con el objetivo de reducir el error de continua en la
tensin de salida del circuito anterior se aconseja utilizar amplificadores
operacionales de entrada FET.
Otro factor fundamental a tener en cuenta en la eleccin de los
componentes de este circuito es el tipo de alimentacin usada en nuestro
equipo de medida. Puesto que en nuestro sistema todos los componentes
electrnicos sern alimentados con una tensin continua de +5V (a excepcin
del motor paso a paso que ser alimentado con +12V), a la hora de elegir el
modelo de amplificador operacional utilizado en la implementacin del circuito
de acondicionamiento deberemos considerar nicamente dispositivos que
puedan operar con un voltaje de suministro individual (single-supply voltage)
ya que, de otro modo, los operacionales diseados para trabajar con voltajes
de suministro simtricos (como el popular operacional UA741) introducen un
error en continua muy elevado en la tensin de salida del circuito reduciendo en
gran medida el margen lineal de la misma (mediciones realizadas por el autor
del presente proyecto dieron como resultado tensiones de desviacin de salida
de hasta 2V para el operacional 741).
A su vez, puesto que el margen de tensin de alimentacin del operacional
tiene una amplitud reducida de 5V, se hace aconsejable utilizar operacionales
que posean un valor alto de la excursin de la tensin de salida, con el objeto
de que el margen lineal de sta no se reduzca demasiado puesto que ser en
dicho margen donde trabajar nuestro circuito de medida. Por esta razn,
hemos decidido utilizar amplificadores operacionales del tipo rail-to-rail, los
cuales permiten obtener tensiones de salida prcticamente iguales a las
tensiones de alimentacin.
A la hora de seleccionar el modelo de amplificador utilizado en nuestro
circuito de acondicionamiento de seal, decidimos considerar dos modelos de
amplificadores operacionales, muy diferentes en su precio, para poder as
comparar su influencia en el comportamiento del circuito bajo diversas
condiciones de funcionamiento:
1. Por un lado, hemos usado un amplificador operacional modelo OPA350
de la empresa Texas Instruments. Se trata de un dispositivo de tecnologa
CMOS perteneciente a la categora de amplificadores Rail-to-Rail, los
cuales son capaces de trabajar con tensiones de alimentacin muy bajas
sin que se produzca prdida en el margen de la tensin de salida, lo que
permite obtener tensiones de salida mucho ms cercanas a las tensiones
de alimentacin que con los amplificadores de propsito general. En este
caso este dispositivo presenta entradas y salida rail-to-rail (input-output
rail-to-rail), lo que significa que dicho amplificador es capaz de llegar a
alcanzar en la salida prcticamente los valores de la alimentacin (rail-to-
rail de salida) y tambin es capaz de admitir y procesar correctamente
valores de tensin en la entrada muy prximos a los de alimentacin (rail-
to-rail de entrada). Adems, puesto que dicho dispositivo presenta una
etapa de entrada de tecnologa FET, las corrientes de polarizacin son
mnimas, reducindose de esta forma el error de continua a la salida
debido a dichas corrientes en el operacional.
2. Por otro lado, hemos utilizado tambin un operacional modelo MCP6231
de la empresa Microchip Technology, el cual es tambin un operacional de
tecnologa FET que pertenece, al igual que el anterior, a la categora de
operacionales de entrada y salida rail-to-rail, pero cuyo precio es
considerablemente inferior al anterior.
El estudio del comportamiento de estos dos modelos de amplificadores
operacionales en nuestro circuito de acondicionamiento ha sido realizado de
tres formas diferentes:
1. Un estudio terico de diversos aspectos del comportamiento del circuito
partiendo de los datos suministrados por los fabricantes en las hojas de
caractersticas de los dispositivos.
2. Un estudio mediante simulacin en computadora, usando para ello el
entorno de diseo electrnico Orcad 16 en su versin demo, perteneciente
a la empresa Cadence Design Systems, junto con los modelos de los
componentes para dicho software suministrados por los fabricantes a
travs de sus pginas web.
3. Un estudio experimental del circuito, montndolo en un mdulo de
entrenamiento y midiendo la respuesta real del mismo mediante un
voltmetro.
En los siguientes puntos expondremos los resultados obtenidos en los
diferentes estudios realizados, lo que nos permitir comparar resultados para
as proceder a la eleccin del modelo de operacional ms adecuado para
nuestro equipo de medida.
1.1.1.1.1.1 Estudio terico del comportamiento del circuito de
acondicionamiento para los dos modelos de operacionales
elegidos
A. El circuito amplificador corriente-tensin suponiendo ideal el amplificador
operacional.
Las excelentes prestaciones que presenta el amplificador operacional se
acercan mucho a las que se podran pedir de cualquier amplificador ideal, de
tal manera que en un gran nmero de aplicaciones puede ser considerado
como ideal sin introducir demasiados errores en el clculo.
La funcin que desarrolla un amplificador operacional es la de amplificar
con una ganancia de tensin A
d
la tensin diferencial V
d
segn:
Figura 50. Funcin que realiza un amplificador operacional ideal.
La consideracin de idealidad del operacional queda definida por los
valores extremos de los diversos parmetros que lo definen y que son los
siguientes:
- Resistencia de entrada infinita, lo que obliga a que la corriente de
entrada por cualquiera de sus dos entradas sea siempre nula.
- Resistencia de salida nula, lo que implica infinita capacidad de
proporcionar corriente sobre cualquier carga.
- Ganancia de tensin A
d
infinita, lo que significa que si su salida es
finita, la tensin diferencial de entrada V
d
deber ser nula.
- Como consideracin adicional, hay que tener en cuenta que la tensin
de salida siempre se encuentra limitada por las tensiones de
alimentacin y no podr sobrepasarlas en ningn caso con lo que, si el
operacional est alimentado entre un valor positivo +V
cc
y un valor
negativo V
ee
, se cumplir que la tensin V
0
siempre estar
comprendida entre ellas, es decir:
Estas consideraciones de idealidad del operacional permiten un estudio
simplificado del mismo y de los circuitos construidos con l.
En el caso del circuito amplificador corriente-tensin, mostrado en la figura
38, la idealidad del operacional implica que el fotodiodo opera a tensin nula, lo
cual, como se coment anteriormente, aporta una serie de caractersticas
ptimas a la respuesta del circuito.
La expresin para la tensin de salida de este circuito ha sido obtenida
teniendo en cuenta la idealidad del operacional, lo que implica que cuando ste
est realimentado negativamente y no saturado, la tensin diferencial de
entrada es nula.
B. El circuito amplificador corriente-tensin considerando las no idealidades del
amplificador operacional real.
A pesar de la aparente sencillez del circuito anterior, al considerar que el
operacional no es ideal sino real, aparecen una serie de efectos secundarios
que pueden introducir errores en la seal de salida. Estos efectos secundarios
en los amplificadores operacionales debidos a su no idealidad conducen a la
aparicin de trminos adicionales no deseados que constituyen un error
permanente en la salida del circuito.
Todos estos efectos pueden tener ms o menos importancia en funcin de su
cuanta, y por ello, en los siguientes apartados trataremos de cuantificar estos
errores permanentes en la salida del sistema para los dos modelos de
amplificadores operacionales elegidos para nuestro equipo de medida.
Teniendo en cuenta el funcionamiento de nuestro circuito, iremos
analizando los diferentes parmetros en continua del operacional e iremos
cuantificando la incidencia que tiene la no idealidad de los mismos sobre la
tensin de salida.
Todos los clculos detallados correspondientes a los siguientes apartados se
encuentran en el documento bsico Anexo 6 del presente proyecto.
B.1 Efecto sobre la salida del circuito de la no idealidad de la ganancia
diferencial o ganancia en lazo abierto del operacional.
La ganancia diferencial A
d
de un amplificador operacional real resulta no
ser infinita aunque su valor puede ser muy elevado. En el caso de los dos
modelos de operacional elegidos este parmetro toma tpicamente los
siguientes valores:
- Ganancia en lazo abierto del operacional OPA350: A
d
10
6
- Ganancia en lazo abierto del operacional MCP6231: A
d
3.10
5
Si en el circuito amplificador corriente-tensin consideramos que el operacional
tiene una ganancia diferencial finita de valor A
d
, la tensin de salida del circuito
no ser exactamente la que se indicaba en la expresin anterior, sino que en
este caso vendr dada por:
Figura 51. Influencia sobre la tensin de salida de la ganancia diferencial del
operacional.
Si comparamos esta expresin de la tensin de salida del circuito con la que
obtuvimos suponiendo que el operacional era ideal (V
0
=I
f
.R
f
), observamos que
se introduce el factor
d
d
A
A
+ 1
, el cual, debido al elevado valor que toma la
ganancia en lazo abierto A
d
de los operacionales, podemos considerar
prcticamente igual a 1.
Por lo tanto, podemos concluir que el error que introduce en la tensin de
salida del circuito el hecho de que la ganancia diferencial del operacional no
sea infinita es despreciable.
B.2 Efecto sobre la salida del circuito de la no idealidad de la resistencia
de entrada del operacional.
Las entradas de una amplificador operacional ven una alta impedancia
entre ellas y tambin ven una impedancia elevada entre cada una de ellas y
masa, pero en ambos casos, esa impedancia elevada no resulta infinita como
suponamos en el operacional ideal.
De esta forma, la resistencia de entrada de un amplificador operacional real
puede aproximarse bastante bien por una resistencia finita R
i
de elevado valor
situada entre los terminales de las entradas inversora y no inversora.
En el caso de nuestros operacionales esta resistencia de entrada toma los
siguientes valores:
- Resistencia de entrada del operacional OPA350 : R
i
= 5 . 10
12

- Resistencia de entrada del operacional MCP6231: R
i
= 5 . 10
12

Si incluimos este efecto en el circuito convertidor corriente-tensin y
considerando finita la ganancia diferencial A
d
del operacional, la tensin de
salida del circuito toma la siguiente forma:
Figura 52. Influencia sobre la tensin de salida de la resistencia de entrada del
operacional.
Si comparamos esta expresin de la tensin de salida del circuito con la que
obtenamos considerando ideal el operacional (V
0
=I
f
. R
f
), observamos que se
introduce el factor
d i d
A R A
1 1
1
1
+

+
, el cual, teniendo en cuenta los valores que
tienen tanto la ganancia en lazo abierto A
d
de los operacionales como la
resistencia de entrada R
i
de los mismos, podemos considerar prcticamente
igual a 1.
Por lo tanto, podemos concluir que el error que introduce en la tensin de
salida la no idealidad de la resistencia de entrada del operacional es
despreciable.
B.3 Efecto sobre la salida del circuito de la no idealidad de la resistencia
de salida del operacional.
La resistencia de salida R
0
de un operacional real posee, en general,
valores bajos, aunque no es nula como suponamos en el operacional ideal.
En el caso de nuestros operacionales este parmetro toma tpicamente los
siguientes valores:
- Resistencia de salida del operacional OPA350: R
0
= 1 k
(No se especifica el valor de la resistencia de salida en las hojas de
caractersticas del operacional MCP6231).
Si incluimos en nuestro circuito convertidor corriente-tensin esta resistencia de
salida R
0
del operacional y adems consideramos finita su ganancia en lazo
abierto A
d
, el circuito y la tensin de salida quedan de la siguiente forma:
Figura 53. Influencia sobre la tensin de salida de la resistencia de salida del
operacional.
Si comparamos esta expresin de la tensin de salida del circuito con la que
obtuvimos considerando ideal el operacional (V
0
= I
f
. R
r
), observamos
nuevamente que aparecen nuevos trminos que, al igual que en los dos casos
anteriores, si tenemos en cuenta los valores que toman A
d
y R
0
para los
operacionales, pueden despreciarse.
Por lo tanto, podemos concluir que el efecto que introduce en la tensin de
salida del circuito la resistencia de salida no nula del operacional es tambin
despreciable.
B.4 Efecto sobre la salida del circuito de la tensin de desviacin de entrada
del operacional.
La tensin de desviacin de entrada V
io
de un amplificador operacional
(tambin llamada tensin de offset) es uno de los parmetros ms importantes
a la hora de introducir errores en la tensin de salida. Se debe a la discrepancia
de parmetros en las dos ramas que componen la etapa diferencial de entrada
del operacional, por lo cual no es posible predecir cul ser su polaridad en un
operacional concreto. Esta no idealidad del operacional puede provocar que la
tensin de salida de nuestro circuito sea distinta de cero para una fotocorriente
nula.
En este caso, el operacional se comporta como si existiese un pequeo
generador de corriente continua en serie con uno de los terminales de entrada
y cuyo valor es igual a la tensin de desviacin del operacional.
En el caso de los dos operacionales usados en nuestro estudio este parmetro
toma tpicamente los siguientes valores:
- Tensin de desviacin de entrada del operacional OPA350: V
io
= 150 V
- Tensin de desviacin de entrada del operacional MCP62321: V
io
= 5 mV
Por lo tanto, para introducir en nuestro circuito convertidor corriente-tensin el
efecto de esta tensin de desviacin, introducimos una fuente de tensin
adicional de valor V
io
, que puede ser positiva o negativa (ya que la polaridad de
la tensin de desviacin es impredecible), y que puede ser colocada en
cualquiera de las dos entradas del operacional. Una vez colocada esta fuente
de tensin, para determinar el efecto de sta sobre la tensin de salida del
circuito, desactivamos la fuente de corriente I
f
que representa la fotocorriente
generada por el fotodiodo y analizamos el circuito suponiendo que el
operacional es ideal. En este caso, el circuito y la tensin de salida V
o,off
que
obtenemos se representa en la siguiente figura:
Figura 54. Influencia sobre la tensin de salida de la tensin de desviacin de
entrada del operacional.
Por lo tanto, obtenemos que el error en la tensin de salida que introduce la
tensin de desviacin del operacional en nuestro circuito es igual al valor de
dicha tensin de desviacin.
Utilizando los valores tpicos suministrados en las hojas de caractersticas de
estos dispositivos obtenemos que, en el caso del operacional OPA350 se
introducira un error de 150 V en la tensin de salida, mientras que para el
modelo MCP6231 este error tomara un valor de 5 mV. Si consideramos los
valores mximos que los fabricantes nos proporcionan en dichas hojas de
datos, este error en la tensin de salida para el OPA350 se podra elevar hasta
los 500 V mientras que para el MCP6231 se mantendra en los 5 mV.
Si adems de lo anterior, introducimos en este estudio la dependencia que
presenta la tensin de desviacin de entrada del operacional con la
temperatura, observamos en las hojas de datos de nuestros operacionales que
para un margen de temperatura de operacin entre 0 y 70 C, en el caso del
OPA350 el error por la tensin de desviacin puede incrementarse hasta
alcanzar el valor de 1 mV, mientras que para el MCP6231 podra elevarse
hasta los 7 mV.
No podemos incluir en este punto de nuestro proyecto un estudio de la deriva
en el tiempo de la tensin de desviacin del operacional debido a que este
parmetro no suele ser habitual en las hojas de caractersticas de los
fabricantes y no disponemos de sus valores para nuestros operacionales. De
todas formas, el valor de este parmetro suele ser siempre pequeo y su
incidencia prcticamente despreciable en la mayora de los casos.
B.5 Efecto sobre la salida del circuito de las corrientes de polarizacin del
operacional.
Las corrientes de polarizacin de un operacional representan los valores
de las corrientes que circulan por las dos entradas del operacional y son
necesarias para la puesta en funcionamiento de la etapa diferencial de entrada
del dispositivo, ya que los circuitos de dicha etapa estn acoplados en
continua.
Estas corrientes continuas entran a (o salen de) los dispositivos de entrada del
operacional por los elementos conectados a sus terminales de entrada. La
corriente que circula por la entrada no inversora se denomina I
b+
y la que entra
por la entrada inversora I
b-
. Si las dos ramas de la etapa de entrada diferencial
del operacional fuesen exactamente iguales, ambas corrientes tambin lo
seran pero no es posible predecir cul de las dos va a conducir ms y, en
consecuencia, sus valores sern similares pero diferentes.
No es posible predecir el valor de estas corrientes, y los fabricantes slo
proporcionan el valor medio de ambas y la diferencia entre ellas, sin indicar
cul es la mayor y cul es la menor. As, los fabricantes proporcionan en las
hojas de caractersticas de los dispositivos el valor de dos corrientes:
1. La corriente de polarizacin I
b
del operacional, cuyo valor es igual al
valor medio de las dos corrientes anteriores:
2
+
+

b b
b
I I
I
2. La corriente de desviacin I
IO
del operacional, cuyo valor es igual a la
diferencia entre ambas corrientes:
+

b b io
I I I
En el caso de los dos operacionales utilizados en nuestro estudio, estos
parmetros toman tpicamente los siguientes valores:
- Corriente de polarizacin del operacional OPA350: Ib = 0,5 pA
- Corriente de desviacin del operacional OPA350: Iio = 0,5 pA
- Corriente de polarizacin del operacional MCP6231: Ib = 1 pA
- Corriente de desviacin del operacional MCP6231: Iio = 1 pA
Para introducir en nuestro circuito convertidor corriente-tensin el efecto de
estas dos corrientes de polarizacin, se introducen en el mismo fuentes de
corriente continua en la entrada del amplificador operacional. Una vez hecho
esto, para determinar el efecto que dichas corrientes tienen sobre la tensin de
salida del circuito, simplemente desactivamos la fuente de corriente I
f
que
representa la fotocorriente generada por el fotodiodo y analizamos el circuito
resultante suponiendo que el operacional es ideal.
Generalmente los efectos de ambas corrientes sobre la tensin de salida son
evaluados por separado. En primer lugar, para determinar el efecto sobre la
tensin de salida de la corriente de polarizacin I
b
del operacional, introducimos
en nuestro circuito dos fuentes de corriente continua de valor I
b
conectadas a
las entradas del operacional, desactivamos la fuente de corriente I
f
y
analizamos el circuito suponiendo ideal el operacional. De esta forma, el
circuito y la tensin de salida V
o,bias
que obtenemos se representan en la
siguiente figura:
Figura 55. Influencia sobre la tensin de salida de la corriente de polarizacin
del operacional.
Por lo tanto, vemos como el efecto de la corriente de polarizacin sobre la
tensin de salida tambin depende de la resistencia de realimentacin R
r
del
operacional.
Los valores mximos de la corriente de polarizacin I
b
suministrados por
los fabricantes de los operacionales utilizados son: 10 pA para el OPA350,
mientras que para MCP6231 dicho valor no est especificado. Si adems
introducimos el efecto de la temperatura sobre este parmetro, obtenemos de
las hojas de caractersticas de dichos operacionales que para un margen de
temperatura de trabajo entre 0 y 70 C, la corriente de polarizacin puede llegar
a alcanzar los 20 pA en ambos modelos de operacionales.
En segundo lugar, para determinar el efecto sobre la tensin de salida de
la corriente de desviacin I
io
, introducimos en nuestro circuito una fuente de
corriente continua de valor
2
io
I
entre los terminales de entrada del operacional,
desactivamos la fuente de corriente I
f
y analizamos el circuito resultante
suponiendo que el operacional es ideal. Puesto que la direccin de la corriente
de desviacin es impredecible, esta fuente de corriente
2
io
I
puede ser
colocada con cualquier orientacin. El circuito resultante y la tensin de salida
V
o,ioff
que se obtiene se muestran en la siguiente figura:
Figura 56. Influencia sobre la tensin de salida de la corriente de desviacin
del operacional.
Al igual que en el caso anterior, el efecto de la corriente de desviacin del
operacional sobre la tensin de salida tambin depende de la resistencia de
realimentacin.
Los valores mximos de la corriente de desviacin I
io
suministrados por los
fabricantes son: 10 pA para el OPA350, mientras que para el MCP6231 este
parmetro no est especificado. Si adems introducimos el efecto de la
temperatura sobre este parmetro, de las hojas de datos de estos dispositivos
obtenemos que para un margen de temperatura de trabajo entre 0 y 70 C, la
corriente de desviacin se mantiene en 10 pA para el OPA350.
B.6 Error en continua a la salida del circuito de medicin de irradiancia.
El efecto resultante sobre la tensin de salida del circuito de los tres
parmetros anteriores del operacional (tensin de desviacin de entrada V
io
,
corriente de polarizacin I
b
y corriente de desviacin I
io
) es aadir una tensin
continua no deseada a la seal de salida pretendida. Es por ello que
generalmente estos tres efectos se agrupan en una misma expresin que
recibe el nombre de Error en continua del circuito. En nuestro circuito, la
expresin para el error en continua de la tensin de salida tomara la forma
siguiente:
r
io
r b io ioff o bias o off o o
R
I
R I V V V V V .
2
.
, , ,
+ + + +
Cuando se pretende cuantificar dicho error, se deben tomar como
parmetros del operacional los valores mximos de V
io
, I
b
, I
io
que aparezcan en
las hojas de caractersticas del operacional en cuestin, obtenindose de esta
forma el peor caso del error en continua del circuito.
1.1.1.1.1.2 Estudio mediante simulacin del error en continua del circuito de
acondicionamiento para los dos modelos de operacionales
elegidos
Seguidamente al estudio terico del error en continua que introducen las
no idealidades del amplificador operacional en la tensin de salida del circuito
convertidor corriente-tensin, utilizamos el software de simulacin OrcCAD 16
en su versin demo para contrastar resultados.
Para realizar estas simulaciones, los modelos de los operacionales para dicho
software fueron descargados desde la pgina Web de los fabricantes.
En todas nuestras simulaciones ambos modelos de operacionales estarn
alimentados con las siguientes tensiones de alimentacin: V+ = +5V, V- = 0V.
En el estudio del error en continua para nuestro circuito convertidor corriente-
tensin, utilizaremos una resistencia de realimentacin R
r
de valor 5 k, el cual
es un valor de un orden de magnitud prximo al que se utilizar posteriormente
en nuestro circuito de medicin de irradiancia.
En primer lugar, realizamos la simulacin utilizando el operacional OPA350, y
para ello montamos en el trazador de esquemas el siguiente circuito:
Figura 57. Circuito utilizado para el estudio mediante simulacin del error en
continua que introduce el operacional OPA350.
Una vez realizada una simulacin en el dominio del tiempo durante un intervalo
de 20 segundos y para una temperatura de trabajo de 27 C, obtenemos la
siguiente curva para la tensin de salida V
o
del circuito:
Figura 58. Curva de tensin de salida obtenida para el circuito anterior.
Por lo tanto, segn los resultados de la simulacin, el operacional OPA350 a
una temperatura de trabajo de 27 C introduce en la salida del circuito un error
en continua de aproximadamente 24 nV.
Si ahora realizamos el estudio variando la temperatura de trabajo del
circuito, realizando para ello un anlisis transitorio para tres valores diferentes
de temperatura: 0 C, 35 C y 70C, obtenemos las siguientes curvas para la
tensin de salida del circuito anterior:
Figura 59. Curvas de tensin de salida obtenidas para el circuito anterior a
varias temperaturas de funcionamiento.
En las curvas anteriores podemos observar como el error en continua del
circuito no se ve afectado por la temperatura de trabajo del mismo.
Si ahora calculamos el valor del error en continua que se obtiene al sustituir los
parmetros reales del operacional (obtenidos de su hoja de caractersticas) en
la expresin que obtuvimos en el estudio terico del error en continua del
circuito, obtenemos que para una temperatura de trabajo de 25 C el
operacional OPA350 introducira un error en continua mximo de
aproximadamente 0.5 mV, mientras que para una temperatura de trabajo de
70C este valor aumentara hasta alcanzar 1 mV.
Observamos como aparece una discrepancia entre los resultados tericos y los
de simulacin para este amplificador operacional.
Seguidamente, realizamos la simulacin utilizando el operacional
MCP6231, y para ello montamos en el trazador de esquemas el siguiente
circuito:
Figura 60. Circuito utilizado para el estudio mediante simulacin del error en
continua que introduce el operacional MCP6231.
Una vez realizada una simulacin en el dominio del tiempo durante un intervalo
de 20 segundos y para una temperatura de trabajo de 27 C, obtenemos la
siguiente curva para la tensin de salida V
o
del circuito:
Figura 61. Curva de tensin de salida obtenida para el circuito anterior.
Por lo tanto, segn los resultados de la simulacin, el operacional MCP6231, a
una temperatura de trabajo de 27 C introduce en la salida del circuito un error
en continua de aproximadamente 470 V.
Si ahora realizamos el estudio variando la temperatura de trabajo del
circuito, realizando para ello un anlisis transitorio para tres valores diferentes
de temperatura: 0 C, 35 C y 70C, obtenemos las siguientes curvas para la
tensin de salida del circuito anterior:
Figura 62. Curva de tensin de salida obtenida para el circuito anterior a varias
temperaturas de funcionamiento.
En las curvas anteriores podemos observar como el error en continua del
circuito permanece aproximadamente constante en torno a los 473 V.
Si ahora calculamos el valor del error en continua que se obtiene al
sustituir los parmetros reales del operacional (obtenidos de su hoja de
caractersticas) en la expresin terica del error en continua del circuito,
obtenemos que para una temperatura de trabajo de 25 C el operacional
MCP6231 introducira un error en continua mximo de aproximadamente 5 mV,
mientras que para una temperatura de trabajo de 70C este valor podra
aumentar hasta alcanzar los 7 mV.
Observamos nuevamente como existe discrepancia entre los resultados
tericos y los de simulacin para este amplificador operacional.
1.1.1.1.1.3 Estudio experimental del error en continua del circuito de
acondicionamiento para los dos modelos de operacionales
elegidos
Debido a las diferencias que aparecen entre los valores del error en
continua obtenidos, por un lado, mediante simulacin y, por otro, a partir del
estudio terico del mismo junto con los valores proporcionados en las hojas de
caractersticas de los operacionales, realizamos la medida real del mismo
montando el circuito en un mdulo de entrenamiento y midiendo directamente
la salida del circuito mediante un voltmetro.
Para realizar dicha medida se implementaron los siguientes circuitos, en
los cuales las tensiones de alimentacin de los operacionales fueron: V+ =
5.04V, V- = 0V:
Figura 63. Circuitos que fueron montados para medir el error en continua que
introducen nuestros operacionales en el circuito de medicin de
irradiancia.
Los resultados obtenidos fueron los siguientes:
- Para el amplificador operacional OPA350 se mide en ambos casos una
tensin de salida de 0.001V.
- Para el amplificador operacional MCP6231 se mide en ambos casos
una tensin de salida tambin de 0.001V.
Por lo tanto, podemos concluir que ambos modelos de operacionales
introducen un error en continua despreciable en la tensin de salida de nuestro
circuito de medicin de irradiancia.
1.1.1.1.1.4 Estudio de la excursin de la tensin de salida del circuito de
acondicionamiento para los dos modelos de operacionales
elegidos
La tensin de salida de los amplificadores operacionales reales presenta
un lmite mximo y un lmite mnimo, de forma que dicha tensin nunca llegar
a alcanzar los valores extremos de la alimentacin del operacional. La mxima
variacin posible en la salida del operacional es la excursin de la tensin de
salida (Output Voltage Swing). Como comentbamos anteriormente cuando
introducamos los modelos de operacionales usados en nuestros estudios,
existe un tipo de operacionales que permiten obtener tensiones de salida muy
prximas a los valores de las tensiones de alimentacin del operacional; son
los denominados operacionales rail-to-rail, tipo al que pertenecen los modelos
OPA350 y MCP6231. La ventaja que presentan este tipo de amplificadores se
hace ms patente cuando las tensiones de alimentacin son bajas, ya que en
estos casos no se puede permitir perder un margen de salida amplio debido a
las limitaciones en la excursin de salida del operacional. Por ello, en estos
casos se hace necesario el empleo de este tipo de operacionales,
obtenindose con ello una excursin de la tensin de salida que va desde
prcticamente el valor de la alimentacin negativa hasta el de la positiva.
Si una seal de entrada es lo suficientemente grande como para que la salida
del operacional sobrepase estos lmites, la salida deja de responder y se
produce un recorte, con lo que la caracterstica de transferencia del circuito
deja de ser lineal. Por ello, tambin podemos definir la excursin de la tensin
de salida de un circuito amplificador como el margen de tensin de salida
permitido antes de que se produzcan recortes.
La excursin de la tensin de salida de un circuito amplificador depende del
tipo de amplificador operacional utilizado, de las tensiones de alimentacin y de
la resistencia de carga.
La influencia de la resistencia de carga sobre este parmetro del circuito tiene
su fundamento en la limitacin que tiene el operacional respecto a la corriente
mxima que puede suministrar a una carga. De esta forma, si una determinada
carga exige del operacional una corriente mayor que este lmite, la forma de
onda de la tensin de salida tambin se vera recortada. En el caso de los dos
modelos de operacionales considerados esta corriente mxima de salida toma
tpicamente los siguientes valores:
- Para el amplificador operacional OPA350: Corriente de cortocircuito de
salida: I
sc
=80mA
- Para el amplificador operacional MCP6231: Corriente de cortocircuito
de salida: I
sc
=23mA
Como comentamos anteriormente, en nuestro equipo de medida todos los
circuitos de medicin de irradiancia estarn conectados a entradas del
convertidor analgico-digital del microcontrolador, por lo que para tener en
cuenta la limitacin de la corriente mxima del operacional deberemos
determinar la resistencia de entrada de dicho convertidor, la cual ser la
resistencia de carga de nuestro circuito amplificador. Como se comentar
posteriormente cuando hablemos del modelo de microcontrolador que hemos
elegido para nuestro equipo, dicho dispositivo incluye un convertidor analgico-
digital cuyas lneas de entrada presentan una resistencia de 400 mientras se
realiza el muestreo de la seal analgica de entrada. Adems, la referencia de
voltaje de dicho convertidor ser de 2,5V, por lo que dimensionaremos la
resistencia de realimentacin de nuestro circuito amplificador para que sea ste
el valor mximo de la tensin de salida que pueda tomar nuestro circuito en
condiciones reales de funcionamiento, todo ello introduciendo un margen de
seguridad suficiente para asegurarnos de que en ningn caso se produzca la
saturacin del circuito. Por todo ello, tenemos que nuestro circuito amplificador
de transimpedancia ser calibrado para que la tensin de salida tome un valor
mximo de 2,5V, siendo su resistencia de carga de 400, por lo que, a partir
de estos valores podemos comprobar cmo la corriente de salida del
operacional en nuestro circuito no constituye limitacin alguna para la excursin
de la tensin de salida del mismo en ninguno de los dos modelos de
operacionales considerados.
Por lo tanto, en nuestro sistema, la excursin de la tensin de salida de los
circuitos vendr determinada por el tipo de operacional y por las tensiones de
alimentacin de los mismos.
Con respecto a la alimentacin, tanto los operacionales como los restantes
componentes del equipo sern alimentados mediante un suministro de tensin
positiva de +5V y un suministro de tensin negativa conectado a masa. Por lo
tanto, en nuestros circuitos de medicin de irradiancia vamos a tener un
margen de la tensin de alimentacin de 5V. Este margen tan reducido nos
obliga a usar operacionales del tipo rail-to-rail para intentar maximizar la
excursin de la tensin de salida del circuito.
Si atendemos a los datos suministrados por los fabricantes de los dispositivos
en sus hojas de caractersticas, la excursin de la tensin de salida de ambos
modelos de operacional es la siguiente:
- Para el operacional OPA350 y una temperatura de operacin de
25C, la excursin de la tensin de salida tpicamente va desde
10 mV por encima de la tensin negativa de alimentacin del
operacional hasta 10 mV por debajo de la tensin positiva de
alimentacin. Por lo tanto, teniendo en cuenta nuestras tensiones
de alimentacin, la excursin de la tensin de salida va desde los
10 mV hasta los 4,99 V. Si introducimos el efecto de la
temperatura de operacin obtenemos que, para un margen de
temperatura de trabajo desde -40C hasta +85C, la excursin de
la tensin de salida se puede reducir ligeramente hasta quedar en
un margen que va desde los 50 mV hasta los 4,95 V.
- Para el operacional MCP6231 y una temperatura de operacin de
25C, la excursin de la tensin de salida tpicamente va desde
35 mV por encima de la tensin negativa de alimentacin del
operacional hasta 35 mV por debajo de la tensin de alimentacin
positiva. Por lo tanto, la excursin de la tensin de salida ira
desde los 35 mV hasta los 4,965 V.
Para realizar el estudio comparativo de este parmetro hemos utilizado tambin
tanto la simulacin con el paquete OrCAD como el montaje del circuito.
C.1 Estudio mediante simulacin de la excursin de la tensin de salida del
circuito de acondicionamiento para los dos modelos de operacionales
elegidos.
Para realizar el estudio de la excursin de la tensin de salida de nuestro
circuito mediante simulacin, se utiliz una fuente de corriente continua I
f
para
modelar el funcionamiento del fotodiodo sometido a tensin cero. Del mismo
modo, se utiliz una resistencia de realimentacin de 6 k y unas tensiones de
alimentacin del operacional de V+ = 5V, V- = 0V. Se realiz un anlisis de
barrido en continua en el que la variable de barrido fue la fuente de corriente I
f
,
a la cual se hizo variar linealmente desde 0A hasta 1mA. Esto producira en el
caso de un operacional ideal un margen lineal de la tensin de salida entre 0 y
6V.
En primer lugar, realizamos la simulacin con el modelo del operacional
OPA350, para lo cual se mont en el trazador de esquemas el siguiente
circuito:
Figura 64. Circuito utilizado para el estudio mediante simulacin de la
excursin de la tensin de salida para el modelo de operacional
OPA350.

Como ya explicamos en el apartado anterior, un operacional real no podr
alcanzar nunca en su salida los valores extremos de la tensin de alimentacin
por lo que la tensin de salida del circuito anterior va a presentar recortes para
el margen de variacin de I
f
que hemos impuesto. Estos recortes nos van a
permitir determinar la excursin de la tensin de salida del operacional OPA350
para una temperatura de trabajo de 27 C.
Una vez realizado el anlisis y la simulacin del circuito anterior obtenemos las
siguientes curvas para la fotocorriente I
f
y para la tensin de salida del
operacional V
0
:
Figura 65. Curvas de fotocorriente y de tensin de salida obtenidas para el
circuito anterior.
Haciendo un zoom sobre las zonas correspondientes a los recortes de la
tensin de salida del operacional obtenemos lo siguiente:
Figura 66. Detalle correspondiente a la tensin de salida del circuito anterior
que muestra el punto inferior en el que se produce el recorte de
dicha tensin.
Figura 67. Detalle correspondiente a la tensin de salida del circuito anterior
que muestra el punto superior en el que se produce el recorte de
dicha tensin.
Por lo tanto, a la vista de estos resultados podemos concluir que para una
temperatura de trabajo de 27 C y unas tensiones de alimentacin de: V+=5V,
V-=0V, el amplificador operacional OPA350 presenta aproximadamente un
margen de variacin lineal para la tensin de salida que va desde los 60 mV
hasta los 4.98 V.
Analicemos ahora cmo afecta la temperatura de trabajo a dicho margen
de variacin lineal de la tensin de salida en este amplificador operacional.
Para ello realizamos nuevamente en nuestro programa de simulacin un
anlisis en corriente continua con dos variables independientes anidadas: por
un lado, la fotocorriente I
f
, para la que definimos un margen de variacin lineal
de 0 A 1 mA, y por otro, la temperatura de trabajo, para la que definimos el
conjunto de valores: -10C, +15C,+30C,+50C y +75C.
Una vez configurado el anlisis y simulado el circuito obtenemos las siguientes
curvas para la fotocorriente I
f
y para la tensin de salida del operacional V
0
:
Figura 68. Curvas de fotocorriente y de tensin de salida obtenidas para el
circuito anterior para diversas temperaturas de operacin.

Nuevamente, para distinguir con mayor detalle las curvas correspondientes a la
tensin de salida representamos nicamente dichas curvas en la pantalla del
analizador de ondas de nuestro programa de simulacin:
Figura 69. Curvas de tensin de salida obtenidas para el circuito anterior para
diversas temperaturas de operacin.
Realizando un zoom sobre las regiones de la grfica correspondientes a los
recortes en la tensin de salida obtenemos lo siguiente:
Figura 70. Detalle de la curva anterior en el que se muestra el punto inferior en
el que se produce el recorte en la tensin de salida.
Figura 71. Detalle de la curva anterior en el que se muestra el punto superior
en el que se produce el recorte en la tensin de salida.
A la vista de los resultados obtenidos podemos concluir que el margen de
variacin lineal de la tensin de salida para el amplificador OPA350 para unas
tensiones de alimentacin de: V+=5V, V-=0V y para una margen de
temperatura de funcionamiento entre -10C y +75C, prcticamente no se ve
modificado por la temperatura de trabajo respecto al valor obtenido
anteriormente, mantenindose aproximadamente un margen de variacin lineal
de 60 mV a 4.98 V.
Por lo tanto, como conclusin de este punto podemos decir que el
amplificador operacional OPA350 presenta, para las tensiones de alimentacin
especificadas anteriormente y para un margen de variacin de la temperatura
de trabajo de entre -10C y +75C, un margen de variacin lineal para la
tensin de salida aproximadamente de 60 mv a 4.98V.
Ahora realizamos la simulacin con el modelo del operacional MCP6231,
para lo cual se mont en el trazador de esquemas el siguiente circuito:
Figura 72. Circuito utilizado para el estudio mediante simulacin de la
excursin de la tensin de salida para el modelo de operacional
MCP6231.
Una vez realizado el anlisis y la simulacin del circuito anterior obtenemos las
siguientes curvas para la fotocorriente I
f
y para la tensin de salida del
operacional V
0
:
Figura 73. Curvas de fotocorriente y de tensin de salida obtenidas para el
circuito anterior.
Haciendo un zoom sobre las zonas correspondientes a los recortes de la
tensin de salida del operacional obtenemos lo siguiente:
Figura 74. Detalle correspondiente a la tensin de salida del circuito anterior
que muestra el punto inferior en el que se produce el recorte de
dicha tensin.
Figura 75. Detalle correspondiente a la tensin de salida del circuito anterior
que muestra el punto superior en el que se produce el recorte de
dicha tensin.
Por lo tanto, a la vista de estos resultados podemos concluir que para una
temperatura de trabajo de 27 C y unas tensiones de alimentacin de: V+=5V,
V-=0V, el amplificador operacional MCP6231 presenta aproximadamente un
margen de variacin lineal para la tensin de salida que va desde los 0.5 mV
hasta los 4.92 V.
Analicemos nuevamente cmo afecta la temperatura de trabajo a dicho
margen de variacin lineal de la tensin de salida en este amplificador
operacional. Para ello realizamos nuevamente en nuestro programa de
simulacin un anlisis en corriente continua con dos variables independientes
anidadas: por un lado, la fotocorriente I
f
, para la que definimos un margen de
variacin lineal de 0 A 1 mA, y por otro, la temperatura de trabajo, para la que
definimos el conjunto de valores: -10C, +15C,+30C,+50C y +75C.
Una vez configurado el anlisis y simulado el circuito obtenemos las siguientes
curvas para la fotocorriente I
f
y para la tensin de salida del operacional V
0
:
Figura 76. Curvas de fotocorriente y de tensin de salida obtenidas para el
circuito anterior para diversas temperaturas de operacin.
Nuevamente, para distinguir con mayor detalle las curvas correspondientes a la
tensin de salida representamos nicamente dichas curvas en la pantalla del
analizador de ondas de nuestro programa de simulacin:
Figura 77. Curvas de tensin de salida obtenidas para el circuito anterior para
diversas temperaturas de operacin.
Realizando un zoom sobre las regiones de la grfica correspondientes a los
recortes en la tensin de salida obtenemos lo siguiente:
Figura 78. Detalle de la curva anterior en el que se muestra el punto inferior en
el que se produce el recorte en la tensin de salida.
Figura 79. Detalle de la curva anterior en el que se muestra el punto superior
en el que se produce el recorte en la tensin de salida.
A la vista de los resultados obtenidos podemos concluir que el margen de
variacin lineal de la tensin de salida para el amplificador MCP6231 para unas
tensiones de alimentacin de: V+=5V, V-=0V y para un margen de temperatura
de funcionamiento entre -10C y +75C, prcticamente no se ve modificado por
la temperatura de trabajo respecto al valor obtenido anteriormente,
mantenindose aproximadamente un margen de variacin lineal de 0.5 mV a
4.92 V
Por lo tanto, como conclusin de este apartado podemos decir que el
amplificador operacional MCP6231 presenta, para las tensiones de
alimentacin especificadas anteriormente y para un margen de variacin de la
temperatura de trabajo de entre -10C y +75C, un margen de variacin lineal
para la tensin de salida aproximadamente de 0.5 mv a 4.92V.
C.2 Estudio experimental de la excursin de la tensin de salida del circuito
de acondicionamiento para los dos modelos de operacionales elegidos.

En este apartado realizamos un estudio experimental de la excursin de la
tensin de salida de los dos modelos de operacionales que estamos usando.
Para ello montamos ambos amplificadores operacionales en configuracin
seguidor de tensin y vamos variando la tensin de entrada del circuito
mediante un potencimetro. El circuito resultante se muestra en la siguiente
figura, en la que los voltajes indicados fueron medidos mediante voltmetro
previamente a realizar las mediciones:
Figura 80. Circuito utilizado para el estudio experimental de la excursin de la
tensin de salida para los dos modelos de operacionales
considerados.
De esta forma, variando la posicin del cursor vamos variando la tensin
de salida del operacional y, de esta forma, podemos observar el margen lineal
de variacin de dicha tensin. Los resultados obtenidos se muestran en las dos
grficas siguientes:
Caracterstica de transferencia
Operacional OPA350
0,000
1,000
2,000
3,000
4,000
5,000
6,000
0,000 1,000 2,000 3,000 4,000 5,000 6,000 7,000
Vi (V)
V
0

(
V
)
Figura 81. Caracterstica de transferencia del circuito anterior para el modelo
de operacional OPA350.
Caracterstica de transferencia Operacional
MCP6231
0,000
1,000
2,000
3,000
4,000
5,000
6,000
0,000 1,000 2,000 3,000 4,000 5,000 6,000 7,000
Vi (V)
V
o

(
V
)
Figura 82. Caracterstica de transferencia del circuito anterior para el modelo
de operacional MCP6231.
Por lo tanto, podemos concluir finalmente que nuestro circuito de medicin de
irradiancia implementado con cualquiera de los dos modelos de operacional
utilizados en nuestro estudio, presenta una excursin de la tensin de salida
prcticamente similar al margen de la tensin de alimentacin. Este hecho
deber ser tenido muy en cuenta a la hora de elegir la resistencia de
realimentacin del circuito ya que en todo momento la tensin de salida del
mismo deber encontrarse dentro de dicho margen de variacin lineal.
Como conclusin final de este apartado podemos decir que, si bien ambos
modelos de operacionales se adaptan perfectamente a las condiciones de
funcionamiento de nuestro circuito de medicin de irradiancia, teniendo en
cuenta criterios de tipo econmico (ya que el modelo MCP6231 implica un
coste mucho menor que el OPA350), decidimos finalmente usar en nuestro
equipo de medida el modelo MCP6231 de la empresa Microchip.
Puesto que para nuestros circuitos de medicin de irradiancia necesitaremos
ocho amplificadores operacionales (ya que, como se comentar en prximos
apartados, el microcontrolador elegido posee un convertidor analgico-digital
con ocho lneas de entrada, por lo que hemos dotado al equipo de 8 fotodiodos
para medir la irradiancia), hemos decidido, tratando de ahorrar costes, utilizar
dos integrados cudruples modelo MCP6234, los cuales vienen en
encapsulado de plstico tipo DIP con 14 terminales.
En la siguiente figura se puede apreciar una imagen de este dispositivo
junto con el diagrama de asignacin de los pines de este encapsulado:

Figura 83. Modelo de amplificador operacional MCP6234 de la empresa
Microchip.
La hoja de caractersticas de este componente puede ser consultada en el
CD adjunto al presente proyecto.
1.1.1.1.2 ELECCIN DEL TIPO DE RESISTENCIA DE REALIMENTACIN
UTILIZADA EN NUESTRO CIRCUITO DE MEDICIN Y
DIMENSIONAMIENTO DE LA MISMA
Una vez que hemos decidido utilizar para la implementacin de nuestros
circuitos de medicin de irradiancia el modelo de fotodiodo BPW21 de la
empresa OSRAM junto con el modelo de amplificador operacional MCP6234 de
la empresa Microchip, procedemos en el presente punto a elegir y dimensionar
la resistencia de realimentacin R
r
que utilizaremos en dichos circuitos.
Para ello debemos tener muy presente que la medida de la prdida de energa
por suciedad que realizar nuestro equipo ser determinada a partir de la
prdida de irradiancia incidente que se produce por dicho factor. Dicha prdida
de irradiancia vendr dada por la diferencia entre los niveles de irradiancia que
nuestro equipo detecta tras las dos zonas de su cristal frontal (zona sucia y
zona protegida de la suciedad). Asimismo, ambos niveles de irradiancia sern
calculados a partir de las tensiones de salida de los diferentes circuitos de
medicin de irradiancia, cada uno de los cuales estar compuesto por un
fotodiodo (sensor de irradiancia) junto con un circuito amplificador de
transimpedancia (circuito de acondicionamiento de seal), y que sern
implementados utilizando los mismos modelos de componentes. Por lo tanto,
con el objetivo de que las diferencias en las tensiones de salida de dichos
circuitos sean debidas mayoritariamente a las diferencias en el nivel de
irradiancia incidente tras las diferentes zonas del cristal frontal y no a la
tolerancia de los componentes usados en su implementacin, se hace
imprescindible minimizar la tolerancia de la resistencia de realimentacin que
usemos en nuestro equipo.
Por todo ello, tratando de minimizar la dispersin introducida por la tolerancia
de las resistencias de realimentacin utilizadas en los diferentes circuitos de
medicin, hemos decidido utilizar resistencias de precisin de pelcula metlica
que presentan una tolerancia del 1%.
Una cuestin fundamental a tener en cuenta a la hora de realizar el
dimensionamiento de la resistencia de realimentacin R
r
del circuito de
medicin de irradiancia usado en nuestro equipo es que debemos asegurarnos
de que, para cualquier valor de irradiancia incidente y para cualquier
temperatura de funcionamiento, siempre dentro de los intervalos lgicos de
variacin de ambos parmetros, el valor de la tensin de salida de dicho
circuito nunca sobrepase el valor lmite admisible de la tensin de entrada para
el convertidor analgico-digital que tiene que procesar dicha seal. Es decir,
para que la lectura de la tensin de salida del circuito de medicin de
irradiancia por parte del microcontrolador se produzca de forma correcta, dicha
tensin de salida no puede ser mayor que la tensin superior de referencia
(V
REF
) del ADC de nuestro microcontrolador. En caso contrario, diremos que la
tensin de salida del circuito ha saturado el ADC, obtenindose una lectura
igual al valor mximo que se puede obtener en funcin de la precisin utilizada
en el convertidor (en el caso de que la precisin utilizada sea de 8 bits, la
lectura obtenida sera FFh).
Por todo ello, a la hora de dimensionar esta resistencia de realimentacin
debemos tener en cuenta, por un lado, la curva de fotocorriente generada en
funcin de la irradiancia incidente (I
f
G) que obtuvimos experimentalmente
para el modelo de fotodiodo BPW21, la cual fue mostrada en la figura 48, y por
otro, las caractersticas del ADC del microcontrolador, con el objeto de que las
tensiones de salida de los diferentes circuitos de medicin de irradiancia nunca
superen el valor de voltaje de entrada mximo (V
REF
) que admite dicho
convertidor para obtener una lectura correcta de dicha tensin.
Asimismo, debemos definir unos valores mximos lgicos tanto para la
irradiancia incidente G como para la temperatura de operacin a los que puede
verse sometido nuestro equipo de medida.
Con respecto a la curva I
f
- G para el modelo de fotodiodo BPW21, se obtuvo
experimentalmente, para valores de irradiancia incidente superiores a 500
W/m
2
, una recta de regresin de ecuacin:
( ) 405 ) / ( 623 , 1
2
m W G A I
f

siendo:
I
f
= fotocorriente generada por el fotodiodo sometido a tensin cero
G = irradiancia global incidente sobre el fotodiodo
Por otro lado, como se comentar posteriormente cuando tratemos el
modelo de microcontrolador elegido para nuestro equipo, el convertidor
analgico-digital que recibir las tensiones de salida de los diferentes circuitos
de medicin de irradiancia, presenta unas tensiones de referencia (V
REF
y V
GND
)
que pueden tomar los siguientes valores:
- V
REF
= entre +2,4V y +3V (tensin superior de referencia)
- V
GND
= 0V (tensin inferior de referencia)
En nuestro equipo de medida, esta tensin superior de referencia V
REF
ser
suministrada por un circuito integrado de referencia de voltaje de precisin, el
cual ajustar dicha tensin a +2,5V. De esta forma y segn las hojas de
caractersticas de nuestro microcontrolador, el convertidor analgico-digital
admitir voltajes de entrada que estn dentro del margen (V
GND
-0.2V,
V
REF
+0,2V), lo que implica que, en nuestro caso, las seales analgicas que
llegan a dicho convertidor deben mantenerse dentro del intervalo (-0,2V ,
+2,7V). Por lo tanto y particularizando para nuestro equipo de medida, la
resistencia de realimentacin R
r
de los circuitos de medicin de irradiancia
debera ser dimensionada de forma que la tensin de salida de dichos circuitos
bajo cualquier condicin de operacin nunca fuese mayor de +2,7V. Sin
embargo, con el objeto de introducir un margen de seguridad suficiente, vamos
a dimensionar dicha resistencia para que la tensin de salida se mantenga por
debajo de +2,5V (lo que supone introducir un margen de seguridad del 7,4%).
A la hora de considerar el nivel de irradiancia mximo al que pueden estar
sometidos nuestros fotodiodos bajo condiciones reales de funcionamiento,
hemos supuesto que la irradiancia incidente nunca alcanzar un valor superior
a 1200 W/m
2
, lo que suponemos introduce otro margen de seguridad suficiente
que nos permite suponer con ciertas garantas que, una vez dimensionada la
resistencia de realimentacin para este valor lmite de irradiancia, las tensiones
de salida de los circuitos de medicin nunca alcanzarn el valor lmite admisible
por el convertidor.
Teniendo en cuenta la curva de calibracin Fotocorriente-Irradiancia que
obtuvimos experimentalmente para el modelo de fotodiodo elegido:
( ) 405 ) / ( 623 , 1
2
m W G A I
f

, obtenemos que para una irradiancia incidente de 1200 W/m
2
se generara una
fotocorriente de 1,5426 mA. Por lo tanto, debemos dimensionar la resistencia
de realimentacin de forma que para este valor de fotocorriente y bajo la
mxima temperatura de operacin considerada para nuestro equipo, el voltaje
de salida del circuito de medicin no supere los 2,5V.
Puesto que la tensin de salida de nuestro circuito de medicin viene dada por
el producto de la fotocorriente generada por la resistencia de realimentacin:
r f o
R I V
, introduciendo en esta ecuacin el valor mximo de fotocorriente considerado
junto el valor mximo admisible para la tensin de salida de dicho circuito,
obtenemos:

k
A
V
I
V
R
f
r
62 , 1
10 5426 , 1
5 , 2
3
max ,
max , 0
max ,
Teniendo en cuenta este dato, decidimos utilizar en nuestros circuitos de
medicin de irradiancia resistencias de precisin de pelcula metlica de la
empresa Tyco Electronics, de Valor Nominal 1,6k, Tolerancia +/-1% y
Potencia nominal de disipacin (medida a 70C de temperatura ambiente) de
0,6W. La hoja de caractersticas de este componente puede consultarse en el
CD adjunto al presente proyecto.
Dicho componente presenta un coeficiente de temperatura de +50 partes por
milln (ppm), lo que implica que, considerando que la temperatura interior de
nuestro equipo de medida puede llegar a alcanzar los 75 C, el valor hmico de
dicha resistencia podra aumentar hasta alcanzar un valor que viene
determinado por la ecuacin de variacin del valor hmico de una resistencia
en funcin de la temperatura:
)] ( 1 [
max ,
TN T R R
TN T
+
siendo:
R
T
= valor hmico (en ) del componente a la temperatura T (en C)
R
TN,max
= valor hmico mximo (en ) que puede tomar el componente a la
temperatura nominal TN (generalmente 25C). Este valor viene dado por el
mximo valor nominal que puede tomar el componente en base a su tolerancia
de fabricacin.
= Coeficiente de temperatura del componente (expresado en tanto por uno)
Sustituyendo en la ecuacin anterior los valores de nuestro componente,
obtenemos que el valor hmico mximo que podra alcanzar nuestra
resistencia de realimentacin en nuestro equipo de medida es de:
( ) [ ]
( ) [ ]

+
+

04 , 1620
25 75 10 50 1 ) 01 , 1 10 6 , 1 (
25 75 1
6 3
max , 25 75
C C
C C R R
C C

Por lo tanto, multiplicando este valor de resistencia por el valor mximo de
fotocorriente que hemos considerado obtenemos que la tensin de salida
mxima que cabra esperar a la salida de los circuitos de medicin de
irradiancia en las condiciones de operacin ms desfavorables (una irradiancia
incidente de 1200W/m
2
y una temperatura en el interior del equipo de 75C),
seria de:
V A R I V
r f o
499 , 2 ) 04 , 1620 ( ) 10 5426 . 1 (
3
max , max , max ,


Vemos como dicha tensin de salida se mantiene por debajo de los 2,5V
incluso en las condiciones de funcionamiento ms desfavorables.
Tomando este valor hmico mximo y el valor mximo considerado para la
fotocorriente, tenemos que el valor mximo de la potencia disipada por
nuestras resistencias de realimentacin vendr dado por:
mW A R I P
r f r
85 , 3 04 , 1620 ) 10 5426 , 1 (
2 3
max ,
2
max , max ,


Por lo tanto, la potencia mxima de disipacin del componente no supone
ningn problema en nuestro equipo de medida ya que, consultando la curva de
Potencia mxima de disipacin frente a Temperatura ambiente suministrada
por el fabricante en las hojas de datos, observamos que a una temperatura
ambiente de 80C la potencia mxima de disipacin slo desciende hasta el
80% de la correspondiente a una temperatura de 70C, la cual, como se
coment anteriormente, es de 0,6W.
Como conclusin final a este conjunto de apartados en los que hemos
diseado el circuito de medicin de irradiancia que ser utilizado en nuestro
equipo de medida, presentamos un esquema en el que se muestran los
modelos de componentes elegidos:
Figura 84. Diseo final del circuito de medicin de irradiancia utilizado en
nuestro equipo de medida.
1.1.1.2 ELECCIN DEL MODELO DE MICROCONTROLADOR
UTILIZADO EN NUESTRO EQUIPO DE MEDIDA
Procedemos en este apartado del proyecto a describir las principales
caractersticas del modelo de microcontrolador que hemos seleccionado para la
implementacin de nuestro equipo de medida. Dicho modelo es el
AT89C51AC3 perteneciente a la empresa ATMEL. Consiste en un
microcontrolador de 8 bits provisto con una memoria ROM de tipo Flash de 64
kilobytes (kB) de tamao, y un ncleo que posee la arquitectura de la familia de
microcontroladores 8051. Las caractersticas ms importantes de este
dispositivo son las siguientes:
- Arquitectura de ncleo 80C51
- 256 bytes de memoria RAM interna
- 2 kilobytes de ERAM (RAM extendida) incluida en el chip
- 64 kilobytes de memoria tipo Flash incluida en el chip, con una
retencin de los datos de 10 aos a 85C y 100k de lectura-escritura
- Permite la programacin In-System mediante el programa de arranque
UART (Recepcin Transmisin Asncrona Universal) incluido en el
chip, y capacidad IAP (Interfaz de aplicacin)
- 14 fuentes de interrupcin con 4 niveles de prioridad
- 3 temporizadores/contadores de 16 bits
- UART full duplex (recepcin-transmisin simultnea) compatible con
80C51
- Arquitectura de alta velocidad:
En modo estndar: 12 periodos de reloj por cada ciclo de mquina:
40 megahertzios (MHz): Tensin de alimentacin (V
cc
) de 3V a
5,5V, y ejecucin de cdigo externo e interno
60 MHz: V
cc
de 4,5V a 5,5V, y slo ejecucin de cdigo interno
En modo X2: 6 periodos de reloj por cada ciclo de mquina:
20 MHz: V
cc
de 3V a 5,5V, y ejecucin de cdigo externo e
interno
30MHz: V
cc
de 4,5V a 5,5V, y slo ejecucin de cdigo interno
- 5 puertos: 32+4 lneas de entrada/salida digitales
- Doble apuntador de datos (DPTR)
- Convertidor analgico-digital (ADC) de 10 bits de resolucin con 8
entradas multiplexadas
- Interfaz SPI (slo disponible en los encapsulados PLCC52 y VQFP64)
- Modos de ahorro de energa:
Modo de parada
Modo de cada de energa
- Tensin de alimentacin: de 3 a 5,5V
- Rango de temperatura de funcionamiento de tipo industrial:
-40C+85C
- Encapsulados: VQFP44, PLCC44, VQFP64 y PLCC52
1.1.1.2.1 DESCRIPCIN, DIAGRAMA DE BLOQUES Y CONFIGURACIN
DE LOS PINES
Para nuestro equipo, y debido a que necesitamos disponer de un interfaz
SPI para comunicar nuestro microcontrolador con el reloj en tiempo real que
tambin incorporaremos al diseo, hemos decidido elegir, de los cuatro tipos de
encapsulado disponibles, el PLCC52, el cual dispone de 52 pines distribuidos
uniformemente en los cuatro lados del encapsulado, de forma que en cada uno
de ellos encontramos un total de 13 pines.
El diagrama de bloques de nuestro microcontrolador se encuentra
representado en la siguiente figura:
Figura 85. Diagrama de bloques del microcontrolador AT89C51AC3 de
ATMEL.
De la misma forma, la configuracin de los pines para el tipo de encapsulado
seleccionado se muestra en la siguiente figura:
Figura 86. Configuracin de los pines para el encapsulado PLCC52.
Este microcontrolador, cuando opera en modo de funcionamiento X2, con
una velocidad mxima del reloj externo de 20 MHz, es capaz de alcanzar una
duracin del ciclo de mquina de 300 ns.
En este modelo de microcontrolador, el puerto 0 es un puerto de entrada/salida
de 8 bits bidireccional en drenador abierto, de forma que los pines del puerto 0
que tienen escrito un 1 flotan, y en este estado se pueden usar como entradas
de alta impedancia. Para poder utilizar los pines del puerto 0 como lneas de
salida, se requieren resistencias de pull-up externas para poder generar la
tensin correspondiente al 1 lgico.
Del mismo modo, el puerto 1 es un puerto de entrada/salida bidireccional de 8
bits dotado de transistores de pull-up internos. Un aspecto fundamental de este
puerto en nuestro equipo de medida es que los pines del puerto 1 constituyen
las lneas de entrada analgicas para el convertidor analgico-digital que
incluye el microcontrolador. Para asignar los pines de este puerto como
entradas analgicas del ADC utilizaremos el registro de funcin especial ADCF
situado en la direccin de memoria interna de acceso directo F6h. Cuando los
pines de este puerto se utilizan con esta funcin, las pull-ups internas son
desconectadas.
El puerto 2 es un puerto de entrada/salida bidireccional de 8 bits dotado
tambin de transistores de pull-up internos. Los pines de este puerto que tienen
escrito un 1 son puestos a nivel alto por las pull-ups internas y pueden ser
usados como entradas en este estado.
Por otro lado, el puerto 3 es, al igual que los dos anteriores, un puerto de
entrada/salida bidireccional de 8 bits dotado de transistores de pull-up internos.
Al igual que antes, los pines del puerto 3 que tienen escrito un 1 son puestos a
nivel alto por los transistores de pull-up internos y pueden ser usados como
entradas en este estado. Un aspecto fundamental que presenta este puerto en
nuestro equipo de medida son las funciones secundarias que tienen asignadas
algunos de sus pines; dentro de dichas funciones secundarias, las que sern
usadas en nuestro equipo sern las siguientes:
- P3.0 / RxD : Entrada de datos del receptor (asncronos) o
entrada/salida de datos (sncrono) del interfaz serie
- P3.1 / TxD : Salida de datos del transmisor (asncronos) o salida de
reloj (sncrono) del interfaz serie
- P3.2 / INT0 : Entrada de la interrupcin externa 0
Finalmente, el puerto 4 es un puerto de entrada/salida bidireccional de 2 bits
dotado de transistores de pull-up internos. Al igual que en los casos anteriores,
los pines del puerto 4 que tienen escritos un 1 son puestos a nivel alto por los
transistores de pull-up internos y pueden ser usados como entradas en este
estado. Al igual que suceda con algunos pines del puerto 3, un aspecto
fundamental que presenta este puerto son las funciones secundarias que
tienen asignados algunos de sus pines; en el caso de nuestro equipo, las
funciones secundarias que sern utilizadas sern las siguientes:
- P4.2 / MISO : Entrada maestro / salida esclavo del controlador SPI
- P4.3 / SCK : Reloj serie del controlador SPI
- P4.4 / MOSI : Salida maestro / entrada esclavo del controlador SPI
La descripcin del resto de pines de nuestro encapsulado es la siguiente:
- V
ss
: GND, masa del circuito.
- TESTI: entrada que debe ser conectada a V
ss.
- V
cc
: Voltaje de alimentacin. En nuestro equipo este pin estar
conectado a una tensin continua de +5V junto a dos condensadores
de filtro de 100 nF y 10 uF.
- VAREF: Voltaje de referencia para el convertidor analgico-digital. En
nuestro equipo este pin estar conectado a la salida de un circuito
integrado de referencia de voltaje de precisin de 2,5V.
- VAGND: Referencia de masa para el convertidor analgico-digital.
- RESET: Entrada/salida de reset. Un nivel alto en este pin durante 2
ciclos de mquina mientras el oscilador est funcionando, produce el
reseteo del dispositivo. Un resistor interno de pull-down hacia V
ss
permite realizar un reseteo de encendido usando slo un condensador
externo hacia V
cc.
- ALE: Salida de habilitacin de mantenimiento de direccin para
mantener el byte bajo de la direccin durante los accesos a la memoria
externa. Este pin ser dejado sin conectar en nuestro equipo.
- PSEN: Salida de habilitacin de almacenamiento de programa.
- EA: Entrada de acceso externo. Cuando se mantiene a nivel alto, las
instrucciones son extradas desde la memoria Flash interna; cuando se
mantiene a nivel bajo, el microcontrolador extrae todas las
instrucciones de la memoria de programa externa. En nuestro equipo,
puesto que el programa a ejecutar por el microcontrolador ser
almacenado en la memoria Flash interna, este pin ser conectado
directamente a la tensin de alimentacin V
cc
.
- XTAL1: Entrada del amplificador oscilador inversor y entrada de los
circuitos generadores de reloj internos.
- XTAL2: Salida del amplificador oscilador inversor.
1.1.1.2.2 CONFIGURACIONES DE ENTRADA/SALIDA
Cada registro de funcin especial de puerto (P0, P1, P2, P3 y P4) opera a
travs de latches tipo D. De esta forma, una seal de escritura en el latch del
puerto procedente de la CPU inicia la transferencia desde el bus de datos
interno hacia el latch de tipo D. Por otra parte, una seal de lectura en el latch
procedente de la CPU transfiere la salida Q del latch hacia el bus interno. De
forma similar, una seal de lectura del pin transfiere a dicho bus el nivel lgico
presente en el pin del puerto.
Algunas instrucciones de datos de puerto activan la seal de lectura del latch
mientras que otras activan la seal de lectura del pin. Las instrucciones que
utilizan el latch son referidas como Instrucciones de lectura-modificacin-
escritura.
Cada lnea de entrada/salida puede ser programada independientemente como
entrada o como salida.
1.1.1.2.3 PUERTOS 1,3 Y 4
La siguiente figura muestra la estructura de los puertos 1,3 y 4, los cuales
disponen de transistores de pull-up internos:
Figura 87. Estructura interna de los puertos 1,3 y 4.
Una fuente externa puede forzar el pin a nivel bajo.
Cada pin de puerto se puede configurar como entrada/salida de propsito
general o para su funcin alterna de entrada/salida.
Para usar un pin como salida de propsito general, debemos activar o borrar el
bit correspondiente en el registro de funcin especial PX (X=1, 3 o 4)
De la misma forma, para usar un pin como entrada de propsito general,
debemos activar el bit correspondiente en el registro PX; esto desconecta la
alimentacin del transistor FET de salida.
Finalmente, para configurar un pin con su funcin alterna, activamos el bit
correspondiente en el registro PX; de esta forma, cuando el latch es activado,
la seal de funcin de salida alterna controla el nivel de salida.
1.1.1.2.4 PUERTOS 0 Y 2
Los puertos 0 y 2 se usan como entrada/salida de propsito general o
como el bus de datos/direcciones externos.
El puerto 0, cuya estructura interna se muestra en la siguiente figura, difiere del
resto de puertos en que no dispone de transistores de pull-up internos.
Figura 88. Estructura interna del puerto 0.
Por otro lado, la estructura interna del puerto 2, mostrada en la siguiente figura,
es tal que una fuente externa puede forzar el pin del puerto 2 a nivel bajo.
Figura 89. Estructura interna del puerto 2.
De esta forma, para usar un pin como salida de propsito general, debemos
activar o borrar el correspondiente bit en el registro de funcin especial PX
(X=0, 2).
Por el contrario, para usar un pin como entrada de propsito general, debemos
activar el bit correspondiente en el registro PX para desconectar de este modo
el transistor FET de salida.
1.1.1.2.5 INSTRUCCIONES DE LECTURA-MODIFICACIN-ESCRITURA
Como ya hemos comentado, algunas instrucciones que manejan los bits
de puerto, leen los datos del latch en lugar de leer los datos del pin. Estas
instrucciones basadas en el latch leen los datos, modifican dichos datos y
despus reescriben el latch. Estas instrucciones son denominadas
instrucciones de lectura-modificacin-escritura.
Una lista completa de estas instrucciones se muestra en la siguiente tabla:
Tabla 5. Instrucciones de lectura-modificacin-escritura.
De esta forma, cuando el operando de destino de alguna de estas instrucciones
es un puerto o un bit de puerto, estas instrucciones leen el latch en lugar del
pin. No resulta obvio que las ltimas tres instrucciones de la lista sean
instrucciones de lectura-modificacin-escritura. Estas tres instrucciones leen los
8 bits del puerto, modifican el bit direccionado especficamente y finalmente
escriben el nuevo byte en el latch.
Estas instrucciones de lectura-modificacin-escritura se dirigen al latch en lugar
de al pin para evitar posibles malinterpretaciones en los niveles de voltaje (y,
por lo tanto, de valor lgico) en el pin del puerto. Por ejemplo, si un
determinado bit de puerto es usado para alimentar la base de un transistor
bipolar externo, el voltaje en dicho pin no puede sobrepasar el voltaje de la
unin base-emisor del transistor (el cual es un valor ms bajo que la tensin de
entrada a nivel bajo V
IL
). De esta forma, con un 1 lgico escrito en el bit, los
intentos por parte de la CPU de leer el pin del puerto son malinterpretados
como un nivel lgico 0. Por el contrario, una lectura en el latch en lugar de en el
pin devuelve el valor lgico 1 correcto.
1.1.1.2.6 OPERACIN DE LOS PUERTOS CUASI-BIDIRECCIONALES
Como ya hemos comentado, los puertos 1, 2, 3 y 4 disponen de pull-ups
internas fijas y son llamados puertos cuasi-bidireccionales. Cuando alguno de
estos puertos se configura como entrada, la impedancia del pin aparece como
un 1 lgico y suministra corriente en respuesta a una condicin de 0 lgico
externa.
Por otro lado, el puerto 0 es un pin realmente bidireccional. Los pines de este
puerto flotan cuando estn configurados como entradas.
Un aspecto importante a tener en cuenta cuando procedamos a programar
nuestro microcontrolador es que el reseteo del micro escribe niveles lgicos 1
en todos los latches de los puertos. Si posteriormente se escribe un nivel lgico
0 en un latch de puerto, ste puede ser retornado a las condiciones de entrada
escribiendo un nivel lgico 1 en el latch.
1.1.1.2.7 MAPA DE LOS REGISTROS DE FUNCIN ESPECIAL
En la siguiente figura se muestra la estructura de la parte de memoria
interna destinada a almacenar los registros de funcin especial de nuestro
microcontrolador:
Figura 90. Mapa de los registros de funcin especial de nuestro
microcontrolador.
1.1.1.2.8 RELOJ
El ncleo de este microcontrolador slo necesita 6 periodos de reloj por
ciclo de mquina. Esta caracterstica de funcionamiento, llamada modo X2,
presenta las siguientes ventajas:
- Divide la frecuencia del cristal por 2 (cristales ms baratos) mientras
que se mantiene la misma potencia de la CPU
- Ahorra consumo de energa manteniendo la misma potencia de la CPU
(ahorro de energa en el oscilador)
- Ahorra consumo de energa dividiendo la frecuencia de operacin
dinmica por 2 en los modos de operacin y de parada
- Incrementa la potencia de la CPU por 2 manteniendo la misma
frecuencia del cristal
Para mantener la compatibilidad con el microcontrolador C51 original, se
inserta un divisor por 2 entre la seal XTAL1 y la entrada de reloj principal del
ncleo (generador de fase). Este divisor puede ser deshabilitado por software.
El bit X2 en el registro de funcin especial CKCON0 permite conmutar desde
12 ciclos de reloj por instruccin (X2=0, lo que recibe el nombre de modo de
operacin estndar o modo STD) a 6 ciclos de reloj por instruccin (X2=1,
llamado modo de operacin X2 o modo X2). Un aspecto importante a tener en
cuenta es que en el reseteo del aparato, se activa la velocidad estndar (modo
STD). Al poner el bit X2 a 1, se activa el modo de operacin X2 del micro pero
nicamente para el reloj de la CPU. Por el contrario, dispositivos como los
temporizadores 0,1 y 2 y el puerto serie, conmutan a modo X2 slo si los
correspondientes bits son borrados en el registro CKCON. En la siguiente
figura se puede observar el diagrama de generacin de la seal de reloj para la
CPU y todos los perifricos:
Figura 91. Diagrama de generacin de la seal de reloj para la CPU y todos los
perifricos.
En nuestro equipo, el microcontrolador operar en modo estndar de forma que
el bit X2 en el registro CKCON0 permanecer en 0. De esta forma, nuestro
programa dejar los registros de funcin especial correspondientes al control
del reloj (registros CKCON0 y CKCON1) con sus valores por defecto tras reset,
los cuales son los siguientes:
- CKCON0 = x000 0000b
- CKCON1 = xxxx xxx0b
(el smbolo x representa a un bit reservado, cuyo valor de lectura es
indeterminado y que no debe ser activado).
De esta forma, tanto la CPU como todos los perifricos operarn a una
velocidad de 12 periodos de reloj del oscilador por ciclo de mquina, lo que
supone que:
2
osc
PERIFERICO CPU
f
f f
siendo:
- f
CPU
= frecuencia del reloj de la CPU y del ADC (en Hz)
- f
PERIFERICO
= frecuencia del reloj de entrada al perifrico (en Hz)
- f
osc
= frecuencia del cristal oscilador (en Hz)
En nuestro equipo, el oscilador incorporado en el chip del microcontrolador ser
controlado externamente mediante un cristal de cuarzo de frecuencia nominal
24 megahertzios (MHz) conectado a las terminales 47 y 48 (pines XTAL2 y
XTAL1, respectivamente). Tambin son requeridos condensadores de
estabilizacin, como se muestra en la siguiente figura:
Figura 92. Control del microcontrolador mediante un cristal externo.
Como se puede observar en la figura, los condensadores de estabilizacin
sern condensadores cermicos y tendrn un valor nominal de 27 picofaradios
(pF). A la hora de elegir el cristal de cuarzo nos hemos decidido por el modelo
HC94/4H de la empresa IQD Rakon, cuya hoja de caractersticas puede ser
consultada en el CD adjunto al presente proyecto.
Teniendo en cuenta todo lo anterior, podemos deducir que puesto que cada
ciclo de mquina de nuestro micro tarda en ejecutarse 6 periodos de la seal
de reloj de la CPU (1 ciclo mquina = 6 . T
CPU
) y, adems, la frecuencia de la
seal de reloj de la CPU es la mitad de la frecuencia del oscilador externo
(debemos recordar que nuestro micro va a funcionar en modo estndar),
entonces tenemos que:
MHz f
osc
24

s
MHz f
T
osc
osc

24
1
24
1 1

CPU
T mquina de ciclo 6 _ _ _ 1
) _ (
2
STD MODO
f
f
osc
CPU

s
MHz f f
T
osc CPU
CPU

12
1
24
2 2 1

s s T mquina de ciclo
CPU
5 , 0
12
1
6 6 _ _ _ 1
,
_


luego obtenemos que cada ciclo de mquina de nuestro microcontrolador tarda
en ejecutarse 0,5 s para la frecuencia del oscilador que hemos elegido
(24MHz).
1.1.1.2.9 MEMORIA DE DATOS
Nuestro microcontrolador suministra acceso a memoria de datos en dos
espacios diferentes:
1. El espacio de memoria de datos interna, el cual est dividido en 3
segmentos separados:
Un primer segmento formado por los 128 bytes inferiores de la
memoria RAM
Un segundo segmento formado por los 128 bytes superiores de la
RAM
Un segmento formado por 2kB de memoria RAM expandida (ERAM)
2. El espacio de memoria de datos externa.
Un cuarto segmento en la memoria de datos interna est disponible pero
dedicado a los registros de funciones especiales (SFRs); dicho segmento es
accesible mediante modo de direccionamiento directo, teniendo asignadas las
direcciones de memoria de la 80h a la FFh)
En las siguientes figuras se puede observar la organizacin de los
espacios de memoria de datos externos e internos en nuestro microcontrolador:
Figura 93. Organizacin de la memoria de datos interna (RAM).
Figura 94. Organizacin de la memoria de datos interna y externa.
Debido a que en nuestro equipo slo utilizaremos la memoria de datos interna,
nos vamos a centrar nicamente en esta parte de la memoria de datos.
1.1.1.2.9.1 Memoria de datos interna
A. Segmento formado por los 128 bytes inferiores de la RAM.
Los 128 bytes ms bajos de la RAM interna son accesibles desde las
direcciones 00h hasta la 7Fh usando modos de direccionamiento directo o
indirecto.
Los 32 bytes ms bajos de este segmento (direcciones desde la 00h hasta
la 1Fh) estn organizados en 4 bancos de 8 registros cada uno (R0R7). Los
dos bits RS0 y RS1 pertenecientes al registro de funcin especial PSW
seleccionan qu banco de registros se usa, segn la siguiente tabla:
Tabla 6. Seleccin del banco de registros activo.
Los siguientes 16 bytes situados por encima de los bancos de registros
forman un bloque de espacio de memoria direccionable por bit. Las direcciones
de bit en esta rea de memoria son 00h7Fh.
En la siguiente figura se muestra la organizacin de estos 128 bytes inferiores
de la RAM interna:
Figura 95. Organizacin de los 128 bytes inferiores de la RAM interna.
En nuestro programa de funcionamiento del equipo, este bloque de
memoria ser utilizado para almacenar temporalmente las lecturas de
irradiancia obtenidas de los diferentes circuitos de medicin, as como los
resultados de los diferentes clculos que realizaremos con estos datos.
B. Segmento formado por los 128 bytes superiores de la RAM.
Los 128 bytes superiores de la memoria RAM interna son accesibles
desde la direccin 80h hasta la FFh usando nicamente direccionamiento
indirecto. En nuestro programa de funcionamiento del equipo, situaremos en
este bloque de memoria la pila del mismo, la cual constituye un espacio de
memoria de almacenamiento temporal de datos utilizados por el programa.
C. Segmento de RAM expandida (ERAM).
Los 2KB de RAM expandida incluidos en el chip del microcontrolador son
accesibles desde la direccin 0000h a la 07FFh usando modo de
direccionamiento indirecto mediante las instrucciones MOVX. En este rango de
direcciones, el bit EXTRAM perteneciente al registro de funcin especial AUXR
se usa para seleccionar la memoria ERAM (por defecto el bit EXTRAM=0) o
bien la memoria RAM externa (bit EXTRAM=1). Por lo tanto, cuando el bit
EXTRAM vale 0, las instrucciones MOVX@Ri y MOVX@DPTR acceden a la
memoria ERAM, mientras que si dicho bit vale 1, estas instrucciones acceden a
la memoria RAM externa. Puesto que en nuestro equipo no utilizaremos
memoria RAM externa, el bit EXTRAM ser puesto a 0 en nuestro programa.
El tamao de la memoria ERAM puede ser configurado mediante los bits
XRS2, XRS1 y XRS0 pertenecientes tambin al registro AUXR. El valor por
defecto tras reset de estos tres bits es 101, lo que configura el tamao de la
memoria ERAM a 2048 bytes. En nuestro programa dejaremos estos 3 bits con
su valor por defecto.
1.1.1.2.10 DOBLE PUNTERO DE DATOS
Nuestro microcontrolador implementa un segundo puntero de datos para
acelerar la ejecucin de cdigo y reducir el tamao del cdigo en caso de uso
intensivo de accesos a memoria externa. Los punteros de datos DPTR0 Y
DPTR1 son vistos por la CPU como DPTR y se accede a ellos usando las
direcciones del SFR 82h y 83h, que son las direcciones de los registros de
funcin especial DPL y DPH respectivamente.
El bit DPS perteneciente al registro de funcin especial AUXR1 se usa para
seleccionar si el DPTR es el puntero de datos 0 o el puntero de datos 1. En la
siguiente figura se muestra la estructura de este doble puntero de datos:
Figura 96. Estructura del doble puntero de datos DPTR.
En nuestro programa, puesto que slo utilizaremos un puntero de datos,
mantendremos este bit DPS con el valor 0.
1.1.1.2.11 MONITORIZACIN DE LA ALIMENTACIN DE ENERGA
La funcin POR (Power On Reset) / PFD (Power Fail Detect) de nuestro
microcontrolador realiza un seguimiento del suministro de energa interna de
las memorias, del ncleo de la CPU y de los perifricos y, si es necesario,
suspende su actividad cuando el suministro de energa interna cae por debajo
de un umbral de seguridad. Esto ltimo se logra aplicando un reset interno.
Mediante la generacin de este reset el sistema de monitorizacin de energa
asegura un arranque correcto cuando se enciende el microcontrolador. En la
siguiente figura se muestra un diagrama de bloques de este sistema de
monitorizacin:
Figura 97. Diagrama de bloques del sistema de monitorizacin de energa
interna de nuestro microcontrolador.
Para arrancar y mantener el microcontrolador en un modo de operacin
correcto, la tensin V
cc
tiene que estar estabilizada en el rango de operacin de
la tensin de alimentacin y el oscilador tiene que estar estabilizado con una
amplitud nominal compatible con los niveles lgicos V
IL
Y V
IH1
(consultar hoja de
caractersticas elctricas del microcontrolador en el CD adjunto al presente
proyecto). Estos dos parmetros son controlados durante las tres fases
siguientes:
- Encendido del aparato
- Operacin normal
- Cada de la alimentacin
El regulador de voltaje interno del micro genera un suministro interno de
tensin regulada para la CPU, las memorias y los perifricos. Los picos que
aparecen en la tensin de suministro V
cc
son suavizados por este regulador de
voltaje interno.
El detector de fallo de energa (PFD) realiza un seguimiento de la alimentacin
generada por el regulador de voltaje, de forma que genera un reset interno si
dicho suministro cae por debajo de un umbral de seguridad.
Por otro lado, cuando se aplica la alimentacin al dispositivo, el sistema de
seguimiento de energa aplica inmediatamente un reset interno (Power On
Reset). Una vez que la alimentacin interna procedente del regulador de voltaje
alcanza un nivel de seguridad, el sistema pasa a observar la entrada de reloj
XTAL. De esta forma, el reset interno permanecer aplicado hasta que los
niveles de XTAL1 estn por encima y por debajo de V
IH1
y V
IL
. Adems, un
contador interno contar 1024 periodos de reloj de la CPU antes de que el
reset interno sea desactivado.
1.1.1.2.12 RESET
Como acabamos de comentar, hay diferentes sistemas de control en
nuestro microcontrolador que pueden generar un reset interno cuando se
presentan determinadas condiciones de funcionamiento. Adicionalmente a todo
esto, otra de las fuentes que puede producir el reseteo del aparato es la
entrada de RESET (pin 1). Esta entrada puede ser usada para forzar un pulso
de reset ms largo que el reset interno controlado por el sistema de
monitorizacin de energa.
Esta entrada de reset dispone de un resistor interno de pull-down, R
RST
, hacia
V
ss
que permite un reseteo de encendido conectando simplemente un
condensador externo a V
cc
. La estructura interna de esta entrada se muestra en
la siguiente figura:
Figura 98. Estructura interna de la entrada de reset.
Como hemos comentado, esta resistencia interna permite realizar un reseteo
de encendido del micro conectando a dicha entrada un condensador externo
hacia V
cc
. En la siguiente figura se muestra este arreglo:
Figura 99. Arreglo que nos permite realizar un reseteo de encendido del
microcontrolador.
Como se coment anteriormente, para provocar un reseteo a travs de esta
entrada es necesario aplicar en la misma un nivel de tensin alto durante al
menos 2 ciclos de mquina mientras el oscilador est funcionando. Por lo tanto,
teniendo en cuenta la configuracin de nuestro equipo (f
osc
=24MHz y modo de
operacin estndar, lo que establece la duracin del ciclo de mquina en 0,5
s), tenemos que dicho nivel alto debe ser mantenido durante al menos 1 s. A
su vez, el voltaje de entrada a nivel alto mnimo para esta entrada de RESET
(consultar hoja de caractersticas elctricas del micro) es de:
V V V V
cc IH
5 , 3 ) 5 ( 7 . 0 7 , 0
min , 1

por lo tanto, podemos concluir que para poder generar un reseteo a travs de
este pin de entrada debemos aplicarle un voltaje mayor o igual a 3,5V durante
al menos 1s. A la hora de dimensionar el condensador externo encargado de
producir el reset de encendido, tendremos que tener en cuenta todo lo anterior
junto con el valor que toma la resistencia de pull-down interna de este terminal.
Consultando la hoja de caractersticas elctricas de nuestro micro,
encontramos que la resistencia R
RST
toma un valor mnimo de 50 k, y ser
ste el valor que usaremos para dimensionar dicho condensador externo.
Este arreglo para el reset de encendido consiste, por lo tanto, en un circuito RC
en el que la resistencia es la resistencia interna de pull-down del terminal, R
RST,
y donde la tensin en dicha resistencia determina el nivel de tensin aplicado a
dicho terminal. Suponiendo que inicialmente el condensador se encuentra
descargado, la tensin en la resistencia de pull-down en funcin del tiempo
vendr dada por:

t
cc R
e V t V

) (
, siendo = R
RST
.C, la constante de tiempo del circuito.
Por lo tanto, el valor del condensador C deber ser lo suficientemente elevado
como para garantizar que V
R
(1s) 3.5V. En nuestro equipo el condensador de
reset de encendido ha sido dimensionado a 1F, lo que produce una constante
de tiempo del circuito de:
=R
RST
.C=(50k).(1F)=50 ms.
Esta constante de tiempo garantiza con un amplio margen de seguridad que la
tensin en el terminal RESET se mantenga por encima de los 3,5V durante
ms de 1s, con lo que se garantiza la correcta operacin del reset de
encendido. En la siguiente figura se muestra el arreglo correspondiente al reset
de encendido utilizado en nuestro equipo:
Figura 100. Arreglo utilizado para el reset de encendido en nuestro equipo.
Un aspecto importante que debemos tener en cuenta a la hora de la
programacin de nuestro microcontrolador es el estado de los pines de puerto
durante la operacin de reseteo. En la siguiente tabla se muestra el estado de
estos pines durante dicha operacin:
Tabla 7. Estado de diversos pines durante la operacin de reseteo.
1.1.1.2.13 CONTROL DE ENERGA
En nuestro microcontrolador hay implementados dos modos de ahorro de
energa:
El modo de parada (Modo Idle)
El modo de energa baja (Modo Power-Down)
1.1.1.2.13.1 El modo de parada
El modo de parada es un modo de ahorro de energa en el cual la
ejecucin del programa se detiene. El modo de parada congela el reloj de la
CPU en estados conocidos mientras que los perifricos continan estando
temporizados.
El estado de la CPU antes de activarse el modo de parada es preservado (por
ejemplo, el contador de programa, PC, y el registro PSW retienen sus datos
durante la duracin del modo de parada). Los contenidos de los registros de
funcin especial (SFRs) y de la memoria RAM tambin son retenidos. El estado
de los pines de puerto durante el modo de parada se detalla en la siguiente
tabla:
Tabla 8. Estado de diversos pines durante el modo de parada.
Para activar el modo de parada del microcontrolador se debe poner a 1 el
bit IDL perteneciente al registro de funcin especial PCON. Cuando esto
ocurre, el microcontrolador se coloca en modo de parada tras la ejecucin de la
instruccin que activ dicho bit IDL; por lo tanto, la instruccin que activa el bit
IDL es la ltima instruccin ejecutada antes de que el micro entre en modo de
parada.
Para salir del modo de parada hay dos formas:
1. Generndose una interrupcin previamente habilitada: cuando, estando
el micro en modo de parada, se produce una interrupcin habilitada, el
hardware borra el bit IDL en el registro PCON lo cual restablece el reloj de
la CPU. De esta forma, la ejecucin se reanuda con la rutina de servicio de
la interrupcin que se ha producido. Tras la ejecucin de dicha rutina de
servicio de interrupcin, la ejecucin del programa contina por la
instruccin inmediatamente siguiente a la instruccin que activ el modo
de parada.
2. Generndose un reset: un nivel lgico alto en el pin RESET borra el bit
IDL en el registro PCON directa y asncronamente. Esto restablece el reloj
a la CPU. La ejecucin del programa se reinicia momentneamente con la
instruccin inmediatamente siguiente a la instruccin que activ el modo
de parada y puede continuar durante un nmero de ciclos de reloj antes de
que el algoritmo de reset interno tome el control de la ejecucin. Cuando
esto ocurre, el reset inicializa el micro y los vectores de la CPU a la
direccin 0000h de la memoria de programa.
1.1.1.2.13.2 El modo de baja energa
El modo de energa baja coloca al micro en un estado de muy baja
energa. Este modo de funcionamiento detiene el oscilador y congela todos los
relojes en estados conocidos.
El estado de la CPU anterior a la entrada en el modo de energa baja es
preservado (por ejemplo, el PC y el PSW retienen sus datos durante la
duracin de este modo de funcionamiento). Adems, los contenidos de los
SFRs y de la memoria RAM son preservados. Los estados de los pines de
puerto durante este modo de operacin se muestran en la siguiente tabla:
Tabla 9. Estado de diversos pines durante el estado de energa baja.
Para activar el modo de energa baja se debe activar el bit PD perteneciente al
registro de funcin especial PCON. Cuando esto ocurre, el micro entra en el
modo de baja energa tras la ejecucin de la instruccin que activ el bit PD;
por lo tanto, la instruccin que activa el bit PD es la ltima instruccin que se
ejecuta antes de entrar en el modo de energa baja.
Para salir del modo de energa baja hay dos formas:
1. Generndose una interrupcin previamente habilitada: el micro
proporciona la capacidad de salir del modo de energa baja usando las
interrupciones externas INT0 e INT1. Cuando, estando el micro en estado
de baja energa, se produce una de estas interrupciones previamente
habilitada, el hardware borra el bit PD en el registro PCON con lo cual se
activa el oscilador y restablece los relojes a la CPU y a los perifricos.
Usando la entrada INTx, la ejecucin se reanuda cuando dicha entrada es
liberada y comienza con la ejecucin de la rutina de servicio de la
interrupcin generada. Despus de la finalizacin de dicha rutina de
servicio de interrupcin, la ejecucin del programa sigue con la instruccin
inmediatamente posterior a la instruccin que activ el modo de baja
energa. Un aspecto fundamental de esta forma de sacar al micro del
estado de energa baja es que la interrupcin externa que se utiliza para
ello debe ser configurada como activada por nivel y debe tener asignada la
prioridad ms alta. Adems, la duracin de la interrupcin debe ser lo
suficientemente larga para permitir que el oscilador se estabilice. Una vez
garantizado esto, la ejecucin se reanudar slo cuando la interrupcin
sea desactivada. Todo esto se representa en la siguiente figura:
Figura 101. Salida del modo de baja energa mediante interrupcin externa.
Esta forma de salida del modo de energa baja mediante interrupcin
externa no afecta los contenidos de los SFRs ni de la RAM interna.
2. Generndose un reset: al igual que suceda con el modo de parada, un
nivel lgico alto en el pin RESET borra el bit PD en el registro PCON
directa y asncronamente. Esto arranca el oscilador y restablece el reloj a
la CPU y a los perifricos. La ejecucin del programa se reinicia
momentneamente con la instruccin inmediatamente posterior a la
instruccin que activ el modo de baja energa, y puede continuar durante
un nmero de ciclos de reloj antes de que el algoritmo de reset interno
tome el control de la ejecucin. El reseteo inicializa el micro y los vectores
de la CPU a la direccin 0000h de la memoria de programa.
1.1.1.2.14 MEMORIA DE DATOS EEPROM
Los 2 kilobytes de memoria EEPROM incorporada en nuestro
microcontrolador estn localizados en las direcciones de memoria 0000h a
07FFh del espacio de memoria ERAM/XRAM, y es seleccionada activando los
bits de control en el registro de funcin especial EECON.
Las operaciones de lectura en la memoria EEPROM son llevadas a cabo a
travs de la instruccin MOVX, mientras que las operaciones de escritura son
llevadas a cabo en dos pasos:
1. En primer lugar se escribe el dato en la columna de latches
2. En segundo lugar, se transfieren todos los latches de datos a la fila
de la memoria EEPROM (programacin).
La estructura de la programacin de esta memoria permite programar la
memoria completa por bytes, por pgina o por un nmero de bytes en una
pgina. En nuestro equipo de medida la programacin de esta memoria ser
realizada byte por byte.
Este espacio de memoria no voltil ser utilizado por nuestro equipo para
almacenar los resultados de las medidas que vaya realizando el sistema a lo
largo del tiempo de funcionamiento del mismo, es decir, va a funcionar como un
registro en el que en todo momento se encontrarn almacenadas (a salvo de
cortes en el suministro de energa) los resultados de las ltimas medidas
realizadas por el equipo. Esto nos permitir, mediante la implementacin de
una conexin serie adecuada, tener acceso a este registro de resultados de
medida, lo cual puede resultar muy til a la hora de estudiar la evolucin de la
suciedad depositada sobre el sistema de mdulos a lo largo del tiempo. Cada
resultado de medida estar formado por tres bytes codificados en formato
Digital Codificado en Binario (BCD), cada uno de los cuales tendr el siguiente
significado:
- Un primer byte correspondiente al porcentaje de prdida de potencia
por suciedad normalizado a condiciones STC que ha determinado el
sistema en base a los datos obtenidos en las medidas de irradiancia
realizadas.
- Un segundo byte correspondiente al mes en el que ha sido llevada a
cabo la medida anterior.
- Un tercer byte correspondiente al da del mes en el que ha sido
realizada dicha medida.
El almacenamiento de estos bytes en la memoria EEPROM ser llevado a
cabo en forma progresiva partiendo de la direccin de memoria 0000h. De esta
forma, cuando un byte de resultado sea almacenado en la ltima direccin de
la memoria EEPROM (direccin 07FFh), el siguiente lo ser en la direccin
0000h, continundose nuevamente el ciclo de almacenamiento a partir de esta
direccin. En la siguiente figura se representa la forma y el orden en el que los
bytes de resultado son almacenados en la memoria EEPROM del
microcontrolador:
Figura 102. Forma en la que los bytes de resultado de medida son
almacenados en la memoria EEPROM del microcontrolador.
Si tenemos en cuenta, por un lado, el tamao de este espacio de memoria
(2048 bytes), y por otro, el hecho de que cada resultado de medida estar
formado por 3 bytes, podemos deducir que en cada instante el nmero mximo
de resultados de medida almacenados en nuestro equipo podr ser de 682.
Este hecho ser tenido en cuenta en nuestro programa de gestin del sistema.
Como hemos comentado anteriormente, la memoria EEPROM es una
memoria no voltil en la que se irn almacenando de forma progresiva los
resultados de las medidas que vaya realizando el equipo a lo largo del tiempo.
Sin embargo, para mantener en todo momento este orden de almacenamiento
progresivo de los resultados de medida, incluso tras una interrupcin en el
suministro de energa del sistema, se hace necesario mantener en una
memoria tambin no voltil aquella direccin de la memoria EEPROM en la que
debe llevarse a cabo el siguiente almacenamiento de un byte de resultado.
Esta direccin de memoria (que tiene un tamao de 2 bytes) funcionar como
un ndice que nos marcar en todo momento la direccin de la memoria
EEPROM en la que deber realizarse el siguiente almacenamiento de un byte
correspondiente a un resultado de medida. Asimismo, tambin marcar
implcitamente la direccin de la memoria EEPROM donde se encuentra
almacenado el ltimo byte correspondiente a la ltima medida llevada a cabo
por el equipo. Este hecho ser utilizado por nuestro programa de gestin para
enviar por el puerto serie todos los bytes correspondientes a los resultados de
medida que se encuentren almacenados en un instante determinado en
nuestro equipo.
En nuestro diseo, esta memoria no voltil utilizada para almacenar la
direccin de la memoria EEPROM en la que debe almacenarse el siguiente
byte de resultado de medida, va a ser una memoria RAM que incorpora el reloj
en tiempo real incluido en nuestro equipo. Dicha memoria, al igual que el reloj,
pasar a estar alimentada por la batera de apoyo en caso de fallo en el
suministro de energa del equipo, salvaguardndose de este modo los
contenidos de la misma. Dicha memoria RAM tiene un tamao de 256 bytes y
explicaremos sus modos de acceso para lectura y escritura en el apartado
correspondiente al reloj en tiempo real.
Para concluir este apartado conviene sealar que, puesto que cuando el
equipo sea puesto en funcionamiento por primera vez el almacenamiento de
bytes de resultado de medida en la memoria EEPROM del microcontrolador
comenzar a realizarse a partir de la direccin 0000h, y teniendo en cuenta que
dicha direccin de memoria de almacenamiento ser obtenida por el
microcontrolador de la memoria RAM del reloj en tiempo real previamente a
cada operacin de almacenamiento en EEPROM, podemos deducir que las
dos posiciones de la memoria RAM del RTC que sean utilizadas por nuestro
programa para almacenar dicha direccin de almacenamiento en EEPROM,
debern ser puestas a cero antes del encendido del equipo en su lugar de
instalacin. De esta forma estaremos seguros de que el primer byte
correspondiente a un resultado de medida obtenido por el equipo ser
almacenado en la direccin de memoria 0000h de la EEPROM.
1.1.1.2.15 MEMORIA DE CDIGO/PROGRAMA
Nuestro microcontrolador incorpora 64 kBytes de memoria de
cdigo/programa de tipo flash. Este tipo de memoria funciona bsicamente
como una EPROM, pero su contenido puede borrarse electrnicamente por el
propio programador PROM. Por lo tanto, la memoria flash aumenta la
funcionalidad de la memoria ROM y de la EPROM mediante un circuito
elctrico borrable y programable. Gracias a la bomba de carga interna, el alto
voltaje necesitado para programar o borrar las clulas de memoria flash es
generado por el propio chip usando el voltaje V
cc
estndar. Por lo tanto, la
memoria flash puede ser programada usando slo un voltaje y permite la
Programacin In-System, comnmente conocida como ISP.
Respecto a la arquitectura de esta memoria flash, el microcontrolador incluye
dos memorias flash en el chip:
1. Memoria Flash 0 (FM0): este espacio de memoria contiene 64
kBytes de memoria de programa (direcciones desde la 0000h hasta
la FFFFh) y est organizada en 512 pginas de 128 bytes cada una.
Esta memoria flash puede ser programada de dos formas:
Mediante programacin paralela
Mediante programacin In-System serie
En dicho espacio de memoria ser almacenado el programa de
funcionamiento de nuestro equipo de medida.
2. Memoria Flash 1 (FM1): este espacio de memoria tiene un tamao
de 2 kBytes (direcciones desde la F800h hasta la FFFFh) y es
utilizada para almacenar el cargador de arranque y los interfases de
programacin de aplicaciones (API). El bit ENBOOT perteneciente
al registro de funcin especial AUXR1 se utiliza para mapear esta
memoria flash entre las direcciones F800h y FFFFh. Puesto que en
nuestro programa de funcionamiento del equipo de medida esta
parte de la memoria flash no ser utilizada, el bit ENBOOT ser
configurado inicialmente a cero en la configuracin inicial de
registros.
1.1.1.2.16 EL SISTEMA DE INTERRUPCIONES
Existen nueve fuentes de interrupcin en nuestro microcontrolador, cada
una de ellas con su vector de interrupcin asociado:
- Dos interrupciones externas: INT0 e INT1
- Tres interrupciones de temporizador: Temporizadores 0, 1 y 2
- Una interrupcin del puerto serie
- Una interrupcin de la matriz de conteo programable (PCA)
- Una interrupcin de overrun del temporizador
- Una interrupcin del convertidor analgico-digital (ADC)
Todas las interrupciones se deshabilitan despus de una reinicializacin
del sistema y se habilitan de forma individual mediante el software. De esta
forma, cada una de las fuentes de interrupcin puede ser habilitada o
deshabilitada individualmente activando o borrando el bit de habilitacin
correspondiente en los registros de habilitacin de interrupciones IEN0 e IEN1,
situados en el bloque de los SFRs. As como existen en dichos registros bits
individuales de habilitacin para cada fuente de interrupcin, hay un bit de
habilitacin/deshabilitacin global que se desactiva para deshabilitar todas las
interrupciones o se activa para habilitarlas. Este bit de
habilitacin/deshabilitacin general es el bit EA perteneciente al registro de
funcin especial IEN0. Por lo tanto, se deben activar dos bits para habilitar
cualquiera de las interrupciones anteriores: el bit individual de habilitacin,
particular para cada interrupcin, y el bit de habilitacin global EA.
Si ocurren dos o ms interrupciones de manera simultnea, o si una
interrupcin ocurre al mismo tiempo que se le est dando servicio a otra
interrupcin, existe la secuencia de sondeo y un esquema de prioridades de 4
niveles para planificar interrupciones. La secuencia de sondeo es fija, pero la
prioridad de interrupcin es programable.
En la siguiente figura podemos observar el sistema de control de
interrupciones de nuestro microcontrolador:
Figura 103. Sistema de control de interrupciones de nuestro microcontrolador.
Cada fuente de interrupcin puede ser programada individualmente con
uno de cuatro niveles de prioridad activando o borrando el bit correspondiente
en los registros de prioridad de interrupciones (registros IPL0, IPH0, IPL1e
IPH1) situados en el bloque de los SFRs. En la siguiente tabla podemos
observar los valores de estos bits de prioridad y los niveles de prioridad
asociados a cada combinacin:
Tabla 10. Valores de los bits de nivel de prioridad.
Estos registros de prioridad de interrupciones se borran despus de una
reinicializacin del sistema para que todas las interrupciones empiecen en el
nivel de prioridad ms bajo de manera predeterminada.
De esta forma, una interrupcin de baja prioridad puede ser interrumpida por
una interrupcin de mayor prioridad pero no por otra interrupcin de menor
prioridad.
Por otro lado, una interrupcin de alta prioridad no puede ser interrumpida por
ninguna otra fuente de interrupcin.
Si dos solicitudes de interrupcin de diferente prioridad son recibidas por la
CPU simultneamente, es atendida la solicitud de mayor nivel de prioridad. Por
otro lado, si se reciben simultneamente dos solicitudes de interrupcin de la
misma prioridad, una secuencia de prioridad interna (secuencia de sondeo)
determina qu peticin es atendida. Por lo tanto, dentro de cada nivel de
prioridad hay una segunda estructura de prioridad determinada por esta
secuencia de prioridad interna. En la siguiente tabla se puede observar la
secuencia de sondeo correspondiente a nuestro microcontrolador:
Tabla 11. Secuencia de sondeo de nuestro microcontrolador.
Cuando ocurre una interrupcin y sta es aceptada por la CPU del micro,
el programa principal se interrumpe y se producen las siguientes reacciones:
- La instruccin actual completa su ejecucin
- El registro contador de programa (PC) se almacena en la pila
- El estado de la interrupcin actual se almacena internamente
- Las interrupciones se bloquean al nivel de interrupcin
- El contador de programa se carga con la direccin de vector
de la rutina de servicio de interrupcin (ISR) correspondiente
- La ISR se ejecuta
De esta forma, la ISR se ejecuta y toma una accin en respuesta a la
interrupcin. La ISR termina con una instruccin RETI (retorno desde una
interrupcin). Esto obtiene el valor anterior del contador de programa de la pila
y recupera el estado previo a la interrupcin. El programa principal contina su
ejecucin desde donde se qued.
Cuando se acepta una interrupcin, el valor cargado en el contador de
programa es conocido como Vector de interrupcin asociado a la interrupcin
que se ha producido. Este valor es la direccin del inicio de la ISR para la
fuente que caus la interrupcin. Los vectores de interrupcin de nuestro
microcontrolador se listan en la siguiente tabla:
Tabla 12. Vectores de interrupcin de nuestro microcontrolador.
En nuestro programa de funcionamiento del equipo de medida vamos a
utilizar las siguientes interrupciones:
1. Interrupcin externa 0: El pin P3.2 / INT0 estar conectado en
nuestro equipo al correspondiente terminal de nuestro reloj en
tiempo real, de forma que dicha interrupcin externa ser utilizada
para que el reloj solicite una interrupcin al microcontrolador cada
vez que se active la alarma del reloj. El bit de habilitacin particular
de la interrupcin externa 0 es el bit EX0 perteneciente al registro
IEN0. Por otro lado, los dos bits de asignacin de prioridad de esta
interrupcin son los bits PX0 y PX0H pertenecientes a los registros
IPL0 e IPH0 respectivamente.
2. Interrupcin del puerto serie: En nuestro equipo, la lectura de todos
los resultados de medida almacenados en la memoria EEPROM de
nuestro microcontrolador se iniciar mediante la interrupcin del
puerto serie. De esta forma, cuando conectemos un PC al puerto
serie incorporado al equipo, la lectura de medidas comenzar
cuando se reciba un byte en el buffer de recepcin de dicho puerto
(dicho byte deber ser enviado por el PC). Esta recepcin activar
la bandera de peticin de interrupcin por recepcin del puerto serie
(bit RI perteneciente al registro SCON). En respuesta a esta peticin
de interrupcin, el microcontrolador ejecutar la rutina de servicio de
interrupcin asociada al puerto serie, en la cual son enviados por
dicho puerto todos los resultados de medida que se encuentren en
ese instante almacenados en la memoria EEPROM del micro. El bit
de habilitacin particular de la interrupcin del puerto serie es el bit
ES perteneciente al registro IEN0, mientras que los dos bits de
asignacin de prioridad de dicho puerto son los bits PS y PSH
pertenecientes a los registros IPL0 e IPH0 respectivamente.
3. Interrupcin del convertidor analgico-digital: Como ya hemos
comentado en varias ocasiones, nuestro equipo llevar a cabo la
medida de la prdida energtica por suciedad partiendo de la
diferencia entre los valores de irradiancia incidente obtenidos tras
ambas zonas del cristal frontal del equipo. Esta medida de la
irradiancia incidente se llevar a cabo mediante un circuito
electrnico que produce a su salida una tensin continua
proporcional al nivel de irradiancia incidente detectado por su
sensor. Por lo tanto, nuestro microcontrolador deber leer estas
tensiones de salida con el objeto de determinar los diferentes
valores de irradiancia detectados por los diferentes sensores. Esta
lectura de las tensiones de salida de estos circuitos de medicin de
irradiancia sern llevadas a cabo a travs del convertidor analgico-
digital (ADC) incorporado en el microcontrolador. A pesar de que
nosotros en nuestros clculos vamos a utilizar una precisin de 8
bits, a la hora de obtener la lectura de cada circuito de medicin de
irradiancia vamos a llevar a cabo una conversin analgico-digital
de precisin de 10 bits, de los cuales slo tomaremos los 8 bits de
mayor peso para llevar a cabo nuestros clculos. La realizacin de
esta conversin de precisin, como veremos posteriormente cuando
expliquemos las caractersticas del ADC de nuestro
microcontrolador, requiere que ste se coloque en estado de
pseudo-parada antes de la toma de la lectura, para de esta forma
reducir al mximo el ruido digital introducido en la seal a medir. De
esta forma, el micro contina en este estado de pseudo-parada
hasta que la conversin de precisin termina. Cuando esto sucede,
se produce una peticin de interrupcin al micro por parte del ADC
que lo saca del estado de pseudo-parada, procediendo el micro
seguidamente a atender dicha peticin de interrupcin. El bit de
habilitacin particular de la interrupcin del ADC es el bit EADC
perteneciente al registro IEN1. Por otro lado, los dos bits de
asignacin de prioridad de esta interrupcin son los bits PADCL y
PADCH pertenecientes a los registros IPL1 e IPH1 respectivamente.
Tanto la configuracin de las habilitaciones como los niveles de prioridad
asignados a estas tres interrupciones sern explicados con detalle cuando
desarrollemos nuestro programa de funcionamiento del equipo.
1.1.1.2.17 EL CONVERTIDOR ANALGICO DIGITAL
En esta seccin vamos a describir las principales caractersticas del
convertidor analgico-digital (ADC) incluido en el chip de nuestro
microcontrolador.
Las caractersticas principales de este ADC son las siguientes:
- 8 canales con entradas multiplexadas
- Potencimetro ADC en cascada de 10 bits
- Tiempo de conversin tpico: 16 microsegundos (s)
- Error de Offset: +-2LSB max
- Margen de voltaje de referencia externo positivo (VREF): de
+2,4V a +3V
- Margen de entrada del ADC: ADCIN: de 0V a +3V
- Bandera de conversin completada o bandera de peticin de
interrupcin por conversin completada: bit ADEOC
perteneciente al registro de funcin especial ADCON
- Reloj ADC seleccionable
Se trata pues de un ADC de 10 bits de precisin, con 8 canales disponibles
para el muestreo de fuentes externas (AN0/P1.0 AN7/P1.7). Un multiplexor
analgico permite al convertidor seleccionar uno de estos ocho canales de
entrada como voltaje de entrada ADC (ADCIN). Este valor de voltaje de entrada
ADCIN es convertido por el potencimetro en cascada de 10 bits del
convertidor.
En este ADC estn disponibles dos tipos de conversin:
1. Conversin estndar: tamao de la lectura de 8 bits
2. Conversin precisa o de precisin: tamao de la lectura de 10 bits.
Como comentamos en apartados anteriores, en nuestro equipo de medida,
las 8 lneas de entrada del ADC estarn conectadas a las salidas de los 8
circuitos de medicin de irradiancia encargados de medir la irradiancia
existente tras las dos zonas del cristal frontal del equipo. Para llevar a cabo la
lectura de las tensiones de salida de estos circuitos, vamos a utilizar una
conversin de precisin que da como resultado una lectura de tamao 10 bits.
Sin embargo, puesto que la precisin que vamos a utilizar nosotros en nuestros
clculos es nicamente de 8 bits, tomaremos como lectura de la tensin de
salida del circuito de medicin de irradiancia los 8 bits de mayor peso de la
lectura de precisin que hayamos obtenido. Cuando se comienza a realizar una
conversin de precisin, la CPU se pone en estado de pseudo-parada, de
modo que sta no funciona pero no as los perifricos, los cuales estn siempre
funcionando. Este modo de funcionamiento permite que el ruido digital sea tan
bajo como sea posible, para as asegurar una conversin de alta precisin. Sin
embargo, para poder llevar a cabo conversiones de precisin con nuestro ADC
es necesario trabajar con una interrupcin de fin de conversin, la cual
constituye la nica manera de sacar a la CPU del estado de pseudo-parada. Si
se produce otra interrupcin durante la conversin de precisin, sta ser
tratada slo despus de que la conversin haya terminado.
Los pines del puerto 1 son entradas/salidas generales que son
compartidas con los canales del ADC. El bit de seleccin de canal en el registro
de funcin especial ADCF define qu canal ADC/pin del puerto 1 ser usado
como entrada ADCIN en la siguiente conversin. En nuestro equipo de medida,
puesto que todas las lneas de entrada del ADC estarn conectadas a salidas
de circuitos de medicin de irradiancia, todos los bits del registro ADCF sern
puestos a 1.
En la siguiente figura podemos ver un diagrama que describe el funcionamiento
de nuestro ADC:
Figura 104. Diagrama descriptivo de nuestro ADC.
En la siguiente figura podemos ver un diagrama de tiempos para una
conversin completa en el ADC:
Figura 105: Diagrama de tiempos para una conversin completa en nuestro
ADC.
Previamente a la realizacin de una conversin en el ADC, se deber
definir en qu pin del puerto 1 de entre los configurados como entradas del
ADC se va a llevar a cabo dicha conversin. Esta eleccin se realiza mediante
los tres bits SCH0, SCH1 y SCH2 pertenecientes al registro ADCON. En la
siguiente tabla se puede observar la entrada analgica que es seleccionada
para cada combinacin de valores de estos tres bits:
Tabla 13: Seleccin de entrada analgica en el ADC.
La operacin de nuestro convertidor ADC es como sigue:
- El comienzo de una conversin AD es disparada activando el
bit ADSST perteneciente al registro de funcin especial
ADCON.
- Una vez que la conversin AD ha terminado, el bit ADSST es
borrado automticamente por el hardware del micro.
- Por otro lado, la bandera de fin de conversin ADEOC
perteneciente al registro ADCON es activada por el hardware
del micro cuando el valor obtenido en la conversin est
disponible en los registros de funcin especial ADDH (los 8
bits de mayor peso) y ADDL (los 2 bits de menor peso). Esta
bandera debe ser borrada por software.
- Si el bit de habilitacin particular de la interrupcin del ADC
(bit EADC perteneciente al registro de habilitacin de
interrupciones IEN1) est activado (suponiendo tambin
activado el bit de habilitacin general de interrupciones EA),
cuando la bandera de fin de conversin ADEOC se activa se
produce una peticin de interrupcin a la CPU por parte del
ADC. Por lo tanto, si como es nuestro caso vamos a llevar a
cabo conversiones de precisin en el ADC, la rutina de
servicio de interrupcin correspondiente deber contener una
instruccin que borre esta bandera con el objetivo de rearmar
esta interrupcin del ADC para la siguiente conversin. En la
siguiente figura podemos ver la estructura de la interrupcin
del ADC:
Figura 106: Estructura de la interrupcin del ADC.
- Cuando el voltaje de entrada analgico ADCIN es igual a la
tensin de referencia externa positiva (VREF), el ADC
convierte la seal al valor 3FFh=1111111111b (escala
completa). Por el contrario, cuando el voltaje de entrada
ADCIN es igual a la referencia de masa del ADC, VAGND,
entonces el convertidor transforma la seal analgica al valor
digital 000h.
- Cuando el voltaje de entrada analgico est situado entre
VAREF y VAGND, se produce una conversin lineal del valor
de tensin al formato digital.
- Todos los dems voltajes analgicos de entrada darn como
resultado el valor 3FFh si ADCIN es mayor que VAREF, y
000h si ADCIN es menor que VAGND.
El reloj del ADC es el mismo que el de la CPU, sin embargo, una etapa de
pre-escalado est implementada en el micro (registro de funcin especial
ADCCLK) para generar el reloj del ADC a partir de la frecuencia del oscilador.
De esta forma, los 5 bits menos significativos del registro ADCCLK (bits PRS0
a PRS4) permiten establecer la frecuencia de este perifrico a partir de la
frecuencia del reloj de la CPU. En nuestro equipo dejaremos estos 5 bits con
sus valores por defecto tras reset (00000b) lo cual, teniendo en cuenta que
nuestra CPU va a funcionar en modo estndar, establece la frecuencia de
funcionamiento del ADC como sigue:
kHz
MHz f
f
OSC
ADC
5 . 187
128
24
128

Cuando el convertidor no es usado por el microcontrolador, es posible
colocarlo en modo de stand-by borrando el bit ADEN perteneciente al registro
ADCON. En este modo de operacin su disipacin de potencia es
aproximadamente de 1 W.
Como hemos comentado anteriormente, las 8 entradas analgicas del
convertidor de nuestro microcontrolador estarn conectadas a las salidas de los
circuitos de medicin de irradiancia encargados de medir la irradiancia
incidente tras las dos zonas del cristal frontal del equipo. Como vimos en
anteriores apartados, dichos circuitos de medicin fueron dimensionados para
que bajo ninguna condicin de operacin su voltaje de salida (que es el voltaje
de entrada del convertidor) superara el valor de la tensin de referencia de
dicho convertidor. En nuestro equipo de medida la referencia de masa del
convertidor (VAGND) ser la masa del circuito mientras que su referencia de
voltaje (VAREF) ser suministrada por una referencia de tensin de precisin
de +2,5V. En la implementacin de nuestro prototipo dicha referencia de
tensin ser proporcionada por un circuito integrado modelo REF03 de la
empresa Analog Devices (La hoja de caractersticas de este componente
puede encontrarse en el CD adjunto al presente proyecto). Dicha referencia de
tensin proporcionar un voltaje de salida constante de 2,5V con una tolerancia
mxima del 0,6%. A la hora de alimentar dicho integrado debern colocarse
entre su entrada de alimentacin y masa dos condensadores de by-pass en
paralelo: uno electroltico de 10 F y otro de 0,1 F cermico.
Con estos valores de las tensiones de referencia del convertidor y teniendo
en cuenta que la precisin que utilizaremos en nuestras conversiones ser de 8
bits (debemos recordar que en las lecturas de las tensiones de salida de los
circuitos de medicin de irradiancia utilizaremos conversiones de precisin de
tamao 10 bits de las que slo tomaremos para nuestros clculos los 8 bits de
mayor peso), tenemos que la relacin entre la lectura tamao byte obtenida y la
tensin analgica de entrada al convertidor (V
ADCIN
) vendr dada por la
siguiente expresin:
1
]
1

1
]
1


256
5 , 2
) (
_ _
2
) (
) (
_ _ _ _
8
V V
de entera Parte
V V
V V
de entera Parte byte tamao Lectura
ADCIN
REF
ADCIN
Por otro lado, la tensin analgica de entrada al convertidor, V
ADCIN
, es la
tensin de salida del circuito de medicin de irradiancia el cual debemos
recordar es un circuito amplificador de transimpedancia cuya tensin de salida
es igual al producto de la fotocorriente generada por el fotodiodo, I
F,
por la
resistencia de realimentacin, R
r
, de dicho circuito:
r F ADCIN
R I V
Si en esta expresin sustituimos la resistencia de realimentacin R
r
por el
valor hmico nominal utilizado en nuestros circuitos de medicin de irradiancia:
k R
r
6 , 1
y la fotocorriente I
F
por la ecuacin que nos relaciona esta variable con la
irradiancia global incidente G, la cual fue obtenida experimentalmente cuando
calibramos el modelo de fotodiodo elegido:
405 ) / ( 623 , 1 ) (
2
m W G A I
F
siendo G 500 W/m
2
obtenemos una expresin que nos relaciona la tensin de salida del circuito de
medicin de irradiancia con la irradiancia global incidente:
648 ) / ( 5968 , 2 ) (
10 ) 648 ) / ( 5968 , 2 ( ) (
] 10 6 , 1 [ ] 10 ) 405 ) / ( 623 , 1 [( ) (
2
3 2
3 6 2


m W G mV V
m W G V V
m W G R I V V
ADCIN
ADCIN
r F ADCIN
siendo vlida dicha expresin para valores de G 500 W/m
2
.
Introduciendo ahora esta ecuacin en la expresin anterior que nos
proporciona la lectura tamao byte que se obtiene en la conversin AD de la
tensin de entrada analgica obtenemos lo siguiente:
[ ] 3552 , 66 ) / ( 2659 , 0 _ _
10 ] 648 ) / ( 5968 . 2 [
5 . 2
256
_ _
256
5 , 2
) (
_ _
2
) (
) (
_ _ _ _
2
3 2
8

1
]
1

1
]
1

1
]
1

m W G de entera Parte
m W G de entera Parte
V V
de entera Parte
V V
V V
de entera Parte byte tamao Lectura
ADCIN
REF
ADCIN
siendo vlida esta expresin para valores de G 500 W/m
2
.
Por lo tanto, la expresin anterior nos relaciona la lectura tamao byte
obtenida en la conversin de la tensin de salida de los circuitos de medicin
de irradiancia con la irradiancia global incidente G detectada por nuestros
fotodiodos. Como podemos observar se trata de una relacin lineal con
pendiente positiva lo que implica una variacin proporcional de la lectura
obtenida con la irradiancia incidente. Esta expresin ser utilizada en varias
ocasiones en lo que resta del texto.
1.1.1.2.18 EL PUERTO SERIE
Nuestro microcontrolador incluye un puerto serial incorporado al chip, el
cual puede operar en diversos modos sobre un extenso rango de frecuencias.
La funcin esencial del puerto serie es realizar una conversin de paralelo a
serie para los datos de salida, y una conversin de serie a paralelo para los
datos de entrada.
El acceso al puerto serie mediante el hardware se realiza a travs de las
terminales TxD (terminal n 16) y RxD (terminal n14). Estas terminales
constituyen las funciones alternas de dos de los bits del puerto 3, P3.1 para
TxD y P3.0 para RxD. El puerto serie cuenta con una operacin full-duplex
(transmisin y recepcin simultneas) y con bfer de recepcin de datos, lo
cual permite recibir un carcter que se almacena en un bfer mientras se recibe
un segundo carcter. Los datos no se pierden si la CPU lee el primer carcter
antes de que el segundo se haya recibido por completo.
La frecuencia de operacin del puerto serie, o tasa de transmisin y
recepcin en baudios, puede ser fija (derivada del oscilador incorporado al
chip) o variable. En nuestro equipo de medida utilizaremos una tasa en baudios
variable que vendr definida por el temporizador 1 del microcontrolador.
Dos registros de funcin especial, el registro de bfer del puerto serial
(SBUF) y el registro de control del puerto serial (SCON), disponen el acceso
mediante software al puerto serial.
En la siguiente figura se represente un diagrama de bloques del puerto
serie de nuestro microcontrolador:
Figura 107: Diagrama de bloques del puerto serie.
El puerto serie de nuestro microcontrolador proporciona tanto
comunicacin sncrona como asncrona. La comunicacin serie sncrona
transmite un bloque completo de caracteres sincronizados mediante un reloj
de referencia, mientras que la comunicacin serie asncrona transmite de
manera aleatoria un carcter en cualquier momento, independientemente de
cualquier reloj.
El registro de bfer del puerto serie, SBUF, localizado en la direccin 99h
constituye, en realidad, dos memorias intermedias. Al escribir en el registro de
funcin especial SBUF se cargan los datos a transmitir por el puerto serie, y al
leer de dicho registro se accede a los datos recibidos por dicho puerto. stos
son dos registros separados y distintos, el registro de slo escritura para
transmisin y el registro de slo lectura para recepcin. En la recepcin de
datos se utiliza un registro de desplazamiento de serie a paralelo para
sincronizar los datos recibidos antes de que se transfieran al registro de slo
lectura para recepcin.
Por otro lado, el registro de control del puerto serie, SCON, localizado en la
direccin 98h, contiene los bits de estado y de control del puerto serie. Los bits
de estado (bits TI y RI) indican el fin de una transmisin o recepcin de un
carcter y se prueban en el software o se programan para producir una
interrupcin. Por otra parte, el modo de operacin del puerto serie se establece
mediante la escritura en los bits de control (bits SM0 y SM1). Antes de utilizar el
puerto serie debemos inicializar este registro para operar en el modo correcto.
El puerto serie tiene 4 modos de operacin, los cuales se seleccionan en el
registro de control SCON mediante la escritura en los bits SM0 y SM1. Tres de
estos modos habilitan las comunicaciones asncronas, en donde cada carcter
recibido o transmitido est enmarcado por un bit de inicio y uno de detencin.
En el cuarto modo, el puerto serie opera como un simple registro
desplazamiento.
En nuestro equipo, el puerto serie va a operar en modo 1 (SM0 SM1=01).
En este modo de funcionamiento el puerto serie opera como un
receptor/transmisor asncrono universal (UART) de 8 bits con velocidad en
baudios variable. Un UART es un dispositivo que recibe y transmite datos
seriales y donde cada carcter va precedido por un bit de inicio (bajo) y seguido
por un bit de detencin. La operacin esencial de un UART es la conversin
paralelo a serie de los datos de salida y la conversin serie a paralelo de los
datos de entrada. En el modo de operacin 1se transmiten 10 bits en TxD o se
reciben en RxD. Estos bits constan de un bit de inicio (siempre 0), ocho bits de
datos (el bit menos significativo primero), y un bit de detencin (siempre 1). El
bit de detencin se transfiere al bit RB8 perteneciente al registro SCON para
operar una recepcin. La velocidad en baudios del puerto serie se establece
mediante la velocidad de desbordamiento del temporizador 1.
La transmisin en el puerto serie se inicia al escribir en el registro SBUF.
Los datos desplazados en el registro de desplazamiento se envan como salida
a la lnea TxD comenzando con el bit de inicio, seguido por los 8 bits de datos,
y finalmente el bit de detencin. El periodo para cada bit es el recproco de la
velocidad en baudios programada en el temporizador 1. La bandera de
interrupcin de transmisin (bit TI perteneciente al registro SCON) se activa tan
pronto como aparece el bit de detencin en TxD.
Por otra parte, la recepcin por el puerto serie se incia mediante una
transicin de 1 a 0 en RxD. El receptor incluye una deteccin de bit de inicio
falso ya que requiere de ocho conteos en el estado 0 en RxD despus de la
primera transicin de 1 a 0. Si esto no ocurre, se asume que el receptor se
dispar por causa de ruido en lugar de por un carcter vlido. En este caso, el
receptor se reinicializa y regresa al estado de reposo, esperando la siguiente
transicin de 1 a 0 en RxD. Por el contrario, si se detecta un bit de inicio vlido,
la recepcin de caracteres contina. En este caso, el bit de inicio es ignorado
mientras que los 8 bits de datos se aplican mediante un pulso de reloj al
registro de desplazamiento del puerto serie. Cuando estos 8 bits se han
sincronizado ocurre lo siguiente:
- El bit de detencin (noveno bit) se sincroniza al bit RB8 en el
registro SCON
- Se carga el registro SBUF con los 8 bits de datos recibidos
- Se activa la bandera de interrupcin de recepcin (bit RI
perteneciente al registro SCON)
Sin embargo, es importante destacar que esto slo ocurrir cuando se
verifique que RI=0, lo cual asegura que el software ha ledo el carcter anterior
y que ha restablecido RI en 0.
Por otra parte, el bit de habilitacin del receptor (bit REN perteneciente al
registro SCON) debe activarse mediante el software para habilitar la recepcin
de caracteres. En nuestro caso, dicho bit ser activado cuando inicialicemos el
registro SCON, al comienzo de nuestro programa principal.
En el registro SCON, las banderas de interrupcin de recepcin (RI) y de
transmisin (TI) cumplen una funcin importante en las comunicaciones
seriales. Ambos bits se activan mediante hardware, pero deben ser puestos a 0
mediante software. Por un lado, la bandera de interrupcin de recepcin, RI, se
activa al final de la recepcin de una carcter, e indica que el bfer de
recepcin est lleno. Esta condicin se prueba en el software o se programa
para generar una interrupcin (ste ser el caso de nuestro equipo de medida).
Si el software desea recibir un carcter de entrada del dispositivo conectado al
puerto serie, debe esperar a que la bandera RI se establezca en 1, y luego
restablecerla en 0 y leer el carcter recibido del registro SBUF. Por otro lado, la
bandera de interrupcin de transmisin, TI, se activa al final de la transmisin
de un carcter e indica que el bfer de transmisin est vaco. Si el software
desea enviar un carcter al dispositivo conectado al puerto serie, tiene que
verificar primero si el puerto serial est listo. En otras palabras, si antes envi
un carcter, debe esperar hasta que termine esta transmisin para poder enviar
el siguiente carcter. Una vez que el hardware activa el bit TI indicando el fin de
la transmisin, el software debe restablecer en 0 dicho bit y cargar en SBUF el
nuevo carcter a enviar.
Como ya hemos comentado, la velocidad de transmisin en baudios del
puerto serie cuando ste opera en el modo de funcionamiento 1, es
determinada en base a la velocidad de desbordamiento del temporizador 1.
Debido a que el temporizador opera a una frecuencia relativamente alta, la
velocidad de desbordamiento del temporizador se divide entre 32 (si el bit
SMOD1 perteneciente al registro PCON est a 0) o entre 16 (si el bit SMOD1
est a 1) antes de proporcionar el reloj de velocidad en baudios al puerto serie.
En nuestro equipo de medida, a la hora de generar la velocidad de transmisin
en baudios del puerto serie, utilizaremos el temporizador 1 configurado en
modo 2 de funcionamiento (modo de autorrecarga de 8 bits). Para ello
configuraremos adecuadamente los bits M11 y M01 pertenecientes al registro
TMOD. De esta forma, para generar la velocidad en baudios deseada para
nuestro puerto serie deberemos colocar el valor de recarga adecuado en el
registro TH1, teniendo en cuenta siempre que la velocidad en baudios ser
igual a la velocidad de desbordamiento del temporizador 1 dividida entre 32 si
el bit SMOD1 en PCON est a 0, o entre 16 si dicho bit est a 1. En nuestro
caso, la velocidad deseada para nuestro puerto serie ser de 2400 baudios,
para lo cual, teniendo en cuenta que nuestro oscilador opera a una frecuencia
de 24 MHz, deberemos configurar los registros afectados del siguiente modo:
- Bits M11 M01=10 en el registro TMOD; de esta forma
configuramos el temporizador 1 para que opere en modo 2
(autorrecarga de 8 bits).
- Bit SMOD1=0 en el registro PCON; de esta forma, la
velocidad en baudios generada es igual a la velocidad de
desbordamiento del temporizador 1 dividida por 32.
- Registro TH1= -26; de esta forma, introducimos en el registro
TH1 el valor de recarga adecuado para generar la tasa de
transmisin en baudios deseada.
Con esta configuracin logramos obtener una velocidad real de 2404
baudios, lo que supone un error inferior al 0,16%.
Como ya hemos comentado cuando hablbamos de la memoria EEPROM
integrada en el chip del microcontrolador, nuestro equipo de medida ir
almacenando en posiciones de memoria consecutivas de dicha memoria los 3
bytes correspondientes a los resultados de las diferentes medidas realizadas
por el equipo. Estos tres bytes de resultado de medida se almacenarn en
formato BCD y contendrn la siguiente informacin:
- En primer lugar, el byte correspondiente al porcentaje de
prdida de potencia por suciedad normalizado a condiciones
STC.
- En segundo lugar, el byte correspondiente al mes en el que
fue realizada la medida.
- Finalmente, un tercer byte que indicar el da del mes en el
que fue tomada la medida.
Como comentamos en aquel apartado, el almacenamiento de estos bytes
de resultado en la memoria EEPROM comenzar en la posicin 0000h y
continuar de forma ascendente hasta alcanzar la ltima posicin de dicha
memoria (direccin 07FFh). Cuando un byte de resultado haya sido
almacenado en esta ltima posicin de memoria, el siguiente lo ser en la
direccin 0000h, continundose de esta forma el ciclo de almacenamiento. El
orden de almacenamiento de estos tres bytes de resultado en la EEPROM ser
el siguiente:
1. En primer lugar ser almacenado el byte correspondiente al
porcentaje de prdida de potencia por suciedad.
2. En segundo lugar ser almacenado el byte correspondiente
al mes en que fue realizada la medida.
3. En tercer y ltimo lugar se almacenar el byte
correspondiente al da del mes en el que fue llevada a cabo
la medida.
Con el objetivo de conocer en todo momento (incluso tras un corte en el
suministro de energa del equipo) la direccin de la memoria EEPROM en la
que debe ser almacenado el siguiente byte de resultado, dicha direccin (que
tendr un tamao de 2 bytes) ser almacenada en las direcciones de memoria
00h (el byte bajo de la direccin de memoria) y 01h (el byte alto de la direccin
de memoria) de una memoria RAM de 256 bytes de tamao incorporada en el
reloj en tiempo real que vamos a incluir en nuestro equipo. En la siguiente
figura podemos observar una representacin de cmo se almacena en estas
dos posiciones de memoria la direccin de la memoria EEPROM en la que
deber ser almacenado el siguiente byte de resultado:
Figura 108. Almacenamiento en la memoria SRAM del RTC de la direccin de
la memoria EEPROM en la que deber almacenarse el siguiente
byte de resultado de medida.
Tanto el reloj como esta memoria RAM cuentan con una batera de apoyo
que entrar en funcionamiento en caso de fallo en el suministro de energa del
equipo. Por lo tanto, esta configuracin nos permite disponer de un ndice
almacenado en una memoria no voltil que nos informa explcitamente de
dnde tenemos que almacenar el prximo byte de resultado, e implcitamente
de dnde se encuentra almacenado el ltimo byte correspondiente a la ltima
medida llevada a cabo por el equipo. Estas dos consideraciones sern
utilizadas en el desarrollo de las subrutinas de nuestro programa encargadas
de almacenar y leer en la memoria EEPROM los resultados almacenados.
Ahora bien, para poder tener acceso a estos resultados de medida
debemos incorporar a nuestro equipo un dispositivo que nos permita
comunicarnos desde el exterior del mismo con el microcontrolador. El puerto
serie del microcontrolador permite disponer de una interfaz a dispositivos de
entrada/salida seriales, permitindonos conectar nuestro microcontrolador al
puerto serie de un ordenador personal (PC). El puerto serie de un PC sigue el
estndar de la interfaz serial RS232, y por esta razn se puede utilizar un cable
RS232 normal para conectar un PC a nuestro microcontrolador. El cable
RS232 termina en ambos extremos con un conector llamado DB-25, de 25
terminales. Sin embargo, debido a que no todas estas terminales se utilizan en
la mayora de las aplicaciones de un PC, apareci una nueva versin diferente
del conector, llamada DB-9, que slo dispone de las 9 terminales ms
comnmente utilizadas. Las tres terminales ms importantes de dichos
conectores son las de recepcin de datos (RxD), la de transmisin de datos
(TxD), y la terminal de tierra (GND).
Al conectar el microcontrolador a la interfaz serie RS232 una de las
mayores preocupaciones es la diferencia que pueda haber entre los niveles de
voltaje de estos dos dispositivos (microcontrolador e interfaz). Nuestro
microcontrolador utiliza los niveles de voltaje TTL donde +5V indican un nivel
alto mientras que 0V indican un nivel bajo. Sin embargo, para la interfaz
RS232, el nivel alto est definido entre +3V a +15V, mientras que un nivel bajo
est entre -5V a -15V. Debido a esta diferencia, las conexiones entre el
microcontrolador y la interfaz RS232 deben realizarse a travs de controladores
de lnea. Estos controladores de lnea funcionan bsicamente para efectuar la
conversin entre dos diferentes niveles de voltaje, de tal manera que un nivel
alto o bajo que el microcontrolador puede descifrar tambin significa un nivel
alto o bajo en la interfaz RS232 y viceversa.
Por todo ello, en nuestro equipo de medida hemos incorporado un
conector DB-9 el cual ser accesible desde el exterior del equipo. Para ello
hemos incorporado a la caja que contiene el equipo un orificio lateral de
dimensiones adecuadas que se mantendr cerrado hermticamente mediante
un tapn de cierre de material sinttico (ver Planos N 14, 24, 25 y 26 dentro
del Documento Bsico Planos). Por lo tanto, para tener acceso a dicho
conector, simplemente deberemos quitar dicho tapn y conectar un cable
RS232 en dicho conector. Por otra parte, el controlador de lnea elegido para la
implementacin de nuestro prototipo es el modelo MAX232A de la empresa
MAXIM (su hoja de caractersticas puede ser consultada en el CD adjunto al
presente proyecto). Dicho controlador requiere de la instalacin de 5
condensadores externos de 0,1 F cada uno y dispone de 2 canales de
transmisin/recepcin (T1/R1 y T2/R2). En nuestro equipo de medida slo ser
utilizado uno de estos dos canales para realizar la comunicacin del
microcontrolador con el PC conectado al puerto serie.
En nuestro programa de gestin del sistema, el envo por el puerto serie de
todos los resultados de medida almacenados en la memoria EEPROM
comenzar cuando el microcontrolador reciba un byte por la lnea de recepcin
RxD de dicho puerto. Dicho byte deber ser enviado por el PC conectado al
equipo. En este momento se producir una peticin de interrupcin por
recepcin del puerto serie, activndose el bit RI en el registro SCON. Como
respuesta a dicha peticin de interrupcin, el programa principal se interrumpir
(aunque la instruccin actual en ejecucin terminar de completarse) y el
microcontrolador pasar a ejecutar la rutina de servicio de interrupcin del
puerto serie, cargndose para ello en el registro contador de programa (PC) la
direccin del vector de dicha rutina. En esta rutina de servicio de interrupcin el
microcontrolador, tras borrar inicialmente el bit RI en el registro SCON,
proceder a leer la direccin de la memoria EEPROM almacenada en las
direcciones 00h y 01h de la memoria SRAM de nuestro reloj en tiempo real.
Como se indic anteriormente, dicha direccin de memoria indica la posicin en
la que debera ser almacenado el siguiente byte de resultado; por lo tanto, si
tenemos en cuenta la forma en la que dichos bytes son almacenados podemos
deducir que la direccin de la memoria EEPROM en la que se encuentra
almacenado el ltimo byte de resultado correspondiente a la ltima medida
llevada a cabo por el equipo, es la direccin de memoria anterior a la
almacenada en estas dos posiciones de la memoria del RTC. Por todo ello, el
micro reduce en una unidad dicha direccin de memoria y, tras ello, comienza a
ejecutarse un bucle de repeticin con condicin al final en el que se envan por
el puerto serie los tres bytes correspondientes a los diferentes resultados de
medida almacenados en la memoria. Teniendo en cuenta que antes de la
puesta en funcionamiento por primera vez del equipo, la memoria EEPROM del
micro deber ser borrada en su totalidad (todas sus posiciones de memoria
contendrn inicialmente el valor 00h), este bucle de repeticin se interrumpir
cuando se presente una cualquiera de las dos siguientes situaciones:
Que el sistema detecte que el byte correspondiente al da del mes
en el que se realiz una medida es igual a 00h. Esto implicara,
por un lado, que el nmero de resultados almacenados en la
EEPROM es menor de 682 (debemos recordar que ste es el
nmero mximo de resultados de medida que caben en la
memoria EEPROM) y, por otro, que ya han sido enviados por el
puerto serie todos los resultados que estaban almacenados en la
memoria.
Que ya hayan sido enviados 682 resultados de medida, lo que
implicara que ya habra sido enviado el nmero mximo de
medidas que puede ser almacenado en la memoria EEPROM del
micro.
Por lo tanto, el envo de resultados de medida por el puerto serie cesar,
bien cuando el micro detecte que ya ha enviado todos los resultados
almacenados (suponiendo que el nmero de estos sea inferior a 682), o bien
cuando ya haya enviado un total de 682 resultados de medida.
La explicacin detallada del funcionamiento de la rutina de servicio de
interrupcin del puerto serie se realizar en el apartado correspondiente al
programa de funcionamiento del equipo de medida.
1.1.1.2.19 EL INTERFAZ DE PUERTO SERIE (SPI)
El mdulo interfaz de puerto serie (SPI) incorporado en el chip de nuestro
microcontrolador permite comunicacin full-duplex, as como comunicacin
serial sncrona entre el microcontrolador y aparatos perifricos, incluidos otros
microcontroladores. Las caractersticas de este mdulo SPI son las siguientes:
- Full-duplex, transferencias sncronas de 3 cables.
- Operacin maestro o esclavo.
- Seis velocidades programables de reloj maestro en modo
maestro.
- Reloj serie con fase y polaridad programable.
- Bandera de error por fallo en el modo maestro con capacidad
de interrupcin del microcontrolador.
En la siguiente figura se muestra la configuracin tpica de un bus SPI
usando un controlador maestro y muchos perifricos esclavos. El bus est
compuesto de 3 cables conectando todos los aparatos:
Figura 109. Interconexin tpica Maestro-Esclavos en un bus SPI.
Como podemos observar en la figura anterior, el aparato maestro
selecciona el aparato esclavo particular usando 4 pines de un puerto paralelo
para controlar los 4 pines de seleccin SS de los aparatos esclavos.
En el interfaz serie SPI estn involucradas las siguientes seales:
1. Seal MOSI (Salida Maestro / Entrada Esclavo): Esta seal de 1 bit
est directamente conectada entre el aparato maestro y un aparato
esclavo. Esta lnea se usa para transferir datos en serie desde el
dispositivo maestro hasta el dispositivo esclavo; por lo tanto, es una
seal de salida desde el maestro y una seal de entrada hacia un
esclavo. Cuando se transmite un byte por esta lnea, el bit ms
significativo es transmitido en primer lugar y el bit menos
significativo en ltimo.
2. Seal MISO (Entrada Maestro / Salida Esclavo): Esta seal tambin
de 1 bit, est directamente conectada entre el aparato esclavo y el
aparato maestro. Esta lnea se usa para transferir datos en serie
desde el dispositivo esclavo hacia el dispositivo maestro; por lo
tanto, es una seal de salida desde el esclavo y una seal de
entrada hacia el maestro. Al igual que en el caso anterior, cuando
se transmite un byte por esta lnea, el bit ms significativo es
transmitido en primer lugar, mientras que el bit menos significativo lo
es en ltimo.
3. Seal SCK (Reloj Serie SPI): Esta seal se usa para sincronizar la
transmisin de datos tanto de entrada como de salida de los
aparatos a travs de sus lneas MOSI y MISO. Es alimentada por el
maestro durante 8 ciclos de reloj, lo cual permite intercambiar un
byte en las lneas serie.
4. Seal SS (Seleccin de aparato esclavo): Cada perifrico esclavo
se selecciona mediante un pin de seleccin de esclavo denominado
SS. Esta seal debe permanecer en nivel bajo durante cualquier
mensaje para un esclavo. Es obvio que en un bus SPI slo el
dispositivo maestro (el cual tiene su seal SS a nivel alto) puede
controlar la red. El dispositivo maestro puede seleccionar cada
aparato esclavo por software a travs de los pines de puerto. Para
prevenir conflictos de bus en la lnea MISO, slo un esclavo debera
ser seleccionado al mismo tiempo por el dispositivo maestro durante
una transmisin. Un nivel alto en el pin SS pone a la lnea MISO de
un esclavo en un estado de alta impedancia.
Cuando nuestro microcontrolador opera en modo maestro, como es el
caso de nuestro equipo de medida, la velocidad en baudios de transmisin de
datos por el bus SPI puede ser seleccionada desde un generador de velocidad
en baudios que est controlado por los tres bits SPR2, SPR1 y SPR0
pertenecientes al registro de control SPCON del interfaz SPI. De esta forma, el
reloj maestro es seleccionado desde 1 a 7 niveles de velocidad de reloj
resultantes de la divisin del reloj interno del perifrico entre 4, 8, 16, 32, 64 o
128. En la siguiente tabla se muestran las diferentes velocidades de reloj en
baudios del bus SPI en funcin de los valores asignados a los tres bits
anteriores:
Tabla 14. Seleccin de velocidad en baudios del bus SPI.
El mdulo interfaz de puerto serie de nuestro microcontrolador puede ser
configurado en uno de dos modos de operacin:
- En Modo Maestro.
- En Modo Esclavo.
Adems, la configuracin e inicializacin del mdulo SPI se lleva a cabo a
travs de dos registros de funcin especial:
- El registro de control del perifrico serie: SPCON.
- El registro de control y estado de dicho perifrico: SPSCR.
Una vez que el interfaz serie SPI es configurado mediante estos dos registros,
el intercambio de datos se realiza usando el registro de datos del perifrico
serie SPDAT.
Durante una transmisin SPI, los datos son simultneamente transmitidos
(saliendo serialmente en forma sincronizada) y recibidos (entrando serialmente
en forma sincronizada). En ambos casos, la lnea de reloj serie SCK sincroniza
el ritmo de envo y muestreo de datos por las dos lneas de datos serie MOSI y
MISO. La lnea de seleccin de esclavo SS permite realizar una seleccin
individual del aparato esclavo SPI. De esta forma, los aparatos esclavos que no
son seleccionados por el dispositivo maestro no interfieren en las actividades
del bus SPI. Cuando el aparato maestro transmite datos al aparato esclavo a
travs de la lnea MOSI, el aparato esclavo responde enviando datos al aparato
maestro a travs de la lnea MISO. Esto supone transmisin full-duplex tanto
con los datos de entrada como con los datos de salida, sincronizados ambos
con el mismo reloj. En la siguiente figura se muestra una interconexin full-
duplex maestro-esclavo:
Figura 110. Interconexin full-duplex Maestro-Esclavo en un bus SPI.
Como ya hemos comentado, el interfaz serie SPI en nuestro microcontrolador
puede funcionar en modo maestro o en modo esclavo. Sin embargo, puesto
que en nuestro equipo de medida nicamente va a funcionar en modo maestro,
vamos a centrarnos nicamente en este modo de operacin.
El interfaz serie SPI opera en modo maestro cuanto el bit maestro MSTR
perteneciente al registro SPCON est activado. Un aspecto importante a tener
en cuenta a la hora de utilizar este interfaz es que, en nuestro programa de
funcionamiento del equipo, el mdulo SPI debe ser configurado como maestro
antes de que dicho mdulo sea habilitado. Esta habilitacin del mdulo se lleva
a cabo activando el bit SPEN perteneciente al registro SPCON. A su vez, en un
bus SPI, el dispositivo maestro debe ser configurado antes que el dispositivo
esclavo.
Slo un dispositivo SPI maestro puede iniciar transmisiones por el bus. El
software comienza una transmisin desde el mdulo SPI maestro escribiendo
en el registro de datos del perifrico serie (registro SPDAT). Si el registro de
desplazamiento est vaco, el byte almacenado en SPDAT es inmediatamente
enviado al registro de desplazamiento. El byte comienza a ser enviado a travs
del pin MOSI bajo el control del reloj serie SCK. Simultneamente, otro byte es
enviado desde el esclavo a travs del pin MISO del maestro. La transmisin
termina cuando la bandera de datos transferidos del perifrico serie SPIF
perteneciente al registro SPSCR, pasa a activa. Al mismo tiempo que el bit
SPIF se activa, el byte recibido del esclavo es transferido al registro de datos
recibidos SPDAT. El software borra el bit SPIF cuando lee el registro SPSCR
con el bit SPIF activo, y leyendo posteriormente el registro SPDAT.
A la hora de transmitir y recibir datos seriales a travs del bus SPI, el software
puede seleccionar una cualquiera de 4 combinaciones de fase y polaridad del
reloj serie de dicho bus (seal SCK). Para ello utilizaremos 2 bits
pertenecientes al registro SPCON: el bit de polaridad del reloj CPOL, y el bit de
fase del reloj CPHA. Debemos tener en cuenta que antes de configurar la fase
y la polaridad del reloj mediante estos dos bits, el mdulo SPI debe ser
deshabilitado poniendo a 0 su bit de habilitacin SPEN en el registro SPCON.
El bit de polaridad del reloj CPOL define el nivel de la lnea SCK por defecto
cuando el interfaz se encuentra en modo de parada. Este bit no tiene efecto
significativo sobre el formato de transmisin de datos. Por el contrario, el bit de
fase CPHA define los flancos en los cuales los datos de entrada son
muestreados y los datos de salida son enviados. Un aspecto muy importante
en la comunicacin a travs del bus SPI es que tanto la fase como la polaridad
del reloj de dicho bus deben ser idnticos para el dispositivo maestro y para el
dispositivo esclavo.
En nuestro programa de funcionamiento del equipo de medida, el mdulo
SPI va a ser configurado de la siguiente forma:
- En primer lugar, los tres bits SPR2, SPR1 y SPR0 en el
registro de control SPCON que controlan la velocidad de
transmisin en baudios por el bus cuando el micro opera en
modo maestro, sern configurados con los valores 1, 0 y 0,
respectivamente. De esta forma, teniendo en cuenta que
nuestro microcontrolador va a operar en modo estndar con
un cristal de 24 MHz, la frecuencia de la seal de reloj serie
SCK del bus queda establecida de la siguiente forma:
64
24
64 32
2
32
_
MHz F
F
F
F
XTAL
XTAL
SPI CLK
SCK

Este valor introduce un margen de seguridad suficiente con
respecto a la frecuencia mxima a la que puede operar el
reloj en tiempo real que hemos elegido para nuestro equipo,
la cual tiene un valor de 4 MHz.
- El bit MSTR perteneciente al registro SPCON ser activado,
con lo que nuestro microcontrolador funcionar en todo
momento como dispositivo maestro en el bus SPI, generando
la seal SCK de sincronizacin de datos.
- El bit de polaridad por defecto de la seal de reloj, CPOL,
ser puesto a 0, con lo que establecemos que la seal de
reloj SCK del bus SPI permanecer en nivel bajo cuando
este interfaz se encuentre en modo de parada. En nuestro
equipo de medida, puesto que el reloj en tiempo real elegido
para su implementacin determina automticamente la
polaridad que tiene por defecto la seal de reloj SCK,
podremos usar cualquier polaridad para dicha seal.
- Por otro lado, el bit de fase de la seal de reloj, CPHA, ser
configurado con el valor 1, con lo que establecemos que el
muestreo del bit de transmisin se produzca cuando el pulso
de la seal de reloj SCK retorne al estado 0.
Por otra parte, el registro de control / estado del mdulo SPI (registro
SPSCR) se dejar con su valor por defecto tras reset. En el apartado dedicado
al programa de funcionamiento de nuestro equipo de medida se detallar la
configuracin inicial de este perifrico.
1.1.1.2.20 LOS TEMPORIZADORES/CONTADORES
Un temporizador consta de una serie de flip-flops de divisin entre 2, los
cuales reciben una seal de entrada como su fuente de reloj. El reloj se aplica
al primer flip-flop, el cual divide la frecuencia del reloj entre 2. La salida de este
primer flip-flop se aplica a la entrada de reloj del segundo, que tambin divide la
frecuencia entre 2, y as sucesivamente. De esta forma, un temporizador con
un nmero n de etapas divide la frecuencia del reloj de entrada entre 2
n
, ya que
cada etapa sucesiva divide entre 2. La salida de la ltima etapa del
temporizador se aplica a la entrada de reloj de un flip-flop de desbordamiento
del temporizador, cuyo estado puede ser verificado mediante el software y su
establecimiento en 1 puede generar una interrupcin. Por todo ello, podemos
considerar el valor binario de las salidas de los flip-flops del temporizador como
la cuenta del nmero de pulsos del reloj desde que el temporizador se inici.
En nuestro microcontrolador, los temporizadores se pueden utilizar para:
- La temporizacin de intervalos.
- El conteo de eventos.
- La generacin de la tasa de transmisin y recepcin en
baudios para el puerto serie incorporado en el micro.
Nuestro microcontrolador implementa dos temporizadores/contadores de
16 bits de propsito general, identificados como Temporizador 0 y
Temporizador 1. Ambos dispositivos pueden ser configurados
independientemente para operar en 4 diferentes modos de funcionamiento ya
sea como temporizador o como contador de eventos. Cuando un temporizador
opera en modo de temporizacin de intervalos, el dispositivo es programado
para causar un desbordamiento a intervalos regulares de tiempo, lo cual
establece en 1 su bandera de desbordamiento; esta misma bandera se utiliza
para sincronizar el programa para que ste realice una determinada accin. Por
el contrario, cuando un temporizador opera como contador de eventos, el
temporizador cuenta las transiciones negativas que se producen en un
determinado pin externo del microcontrolador. Por ltimo, los temporizadores
tambin pueden proporcionar el reloj de la tasa de transmisin y recepcin en
baudios para el puerto serial interno del micro.
En nuestro equipo de medida utilizaremos el Temporizador 0 en modo de
temporizacin de intervalos, mientras que el Temporizador 1 ser utilizado para
generar la tasa de transmisin en baudios del puerto serie. Los dos registros
del Temporizador 0 son los registros de funcin especial TL0 (byte inferior) y
TH0 (byte superior), mientras que los del Temporizador 1 son TL1 (byte
inferior) y TH1 (byte superior).
El funcionamiento de ambos temporizadores est determinado por dos
registros de funcin especial: el registro de control de modo de operacin
TMOD, y el registro de control TCON.
El registro TMOD contiene dos grupos de 4 bits que establecen el modo de
operacin para ambos temporizadores. En ambos grupos de 4 bits, la funcin
de cada bit es la siguiente:
- Los bits de compuerta, GATE0 y GATE1, permiten que,
cuando estn activados, los temporizadores slo funcionen si
las seales INT0 e INT1 estn a nivel alto, respectivamente.
En nuestro equipo de medida, ambos bits sern configurados
inicialmente con el valor 0.
- Los bits de seleccin de contador/temporizador, C/T0# y
C/T1#, permiten seleccionar si el temporizador va a operar en
modo de temporizacin de intervalos (bit con valor 0), o en
modo de contador de eventos (bit con valor 1). En nuestro
equipo, ambos bits sern configurados con el valor 0, de
modo que ambos temporizadores funcionarn en modo de
temporizacin de intervalos.
- Por ltimo, las dos parejas de bits (M10 , M00) y (M11, M01)
son los bits de modo de funcionamiento de los
temporizadores 0 y 1 respectivamente. Mediante las 4
posibles combinaciones de estas parejas de bits podemos
seleccionar uno de los 4 modos de funcionamiento en los que
pueden operar ambos temporizadores. Como ya hemos
comentado, en nuestro equipo de medida el temporizador 0
ser usado en modo de temporizacin de intervalos, mientras
que el temporizador 1 ser utilizado para generar la tasa de
transmisin en baudios del puerto serie. Para ello, los dos
bits de modo de funcionamiento del temporizador 0 (M10 y
M00) sern configurados con los valores 0 y 1
respectivamente, con lo que dicho temporizador funcionar
en modo 1 (modo de temporizador de 16 bits). Por otro lado,
los dos bits de modo del temporizador 1 (M11 y M01) sern
configurados con los valores 1 y 0 respectivamente, con lo
que este temporizador funcionar en modo 2 (modo de
autorrecarga de 8 bits). En este segundo caso, el valor de
recarga que ser almacenado en el registro TH1 ser el
adecuado para generar la tasa de transmisin en baudios
deseada para nuestro puerto serie.
En nuestro programa de funcionamiento del equipo, el registro TMOD se
inicializar al comienzo del mismo para establecer los modos de operacin de
los temporizadores. Una vez configurado este registro, los temporizadores
podrn iniciarse, detenerse, etc. accediendo a determinados bits del registro
TCON.
Por otro lado, el registro TCON contiene los bits de estado y de control
para los temporizadores. Los cuatro bits superiores de este registro son
utilizados para encender o apagar ambos temporizadores (bits TR0 y TR1), o
para indicar el desbordamiento del temporizador (bits TF0 y TF1).
En nuestro programa, el Temporizador 0 ser usado en diferentes
subrutinas de retardo en las que ser configurado para que su desbordamiento
se produzca cada determinados intervalos de tiempo. En dichos casos, este
temporizador funcionar en modo 1 (modo temporizador de 16 bits). En este
modo de funcionamiento, los bytes superior e inferior del temporizador (TL0 y
TH0) estn dispuestos en cascada para formar un temporizador de 16 bits. De
esta forma, el reloj se aplica a ambos registros del temporizador combinados.
El contador cuenta hacia arriba mientras se reciban los pulsos de reloj: 0000h,
0001h, 0002h, etc. En la transicin de FFFFh a 0000h del conteo ocurre un
desbordamiento que establece en 1 la bandera de desbordamiento del
temporizador. El bit ms singnificativo (MSB) del valor en los registros del
temporizador es el bit 7 del registro TH0 y el bit menos significativo (LSB) es el
bit 0 del registro TH0. La bandera de desbordamiento, TF0, as como los
registros del temporizador, TL0 y TH0, se leen o escriben mediante el software
cuando sea necesario. En la siguiente figura se representa el modo 1 de
funcionamiento de los temporizadores:
Figura 111. Representacin del modo de funcionamiento 1 de los
temporizadores/contadores.
Por otro lado, en nuestro programa usaremos el Temporizador 1 para
proporcionar el reloj de la tasa de transmisin y recepcin en baudios del
puerto serie. Para ello, este temporizador operar en modo 2 (modo de
autorrecarga de 8 bits). En este modo de funcionamiento, el byte inferior del
temporizador, TL1, opera como un temporizador de 8 bits mientras que el byte
superior TH1 almacena el valor de recarga. Cuando la cuenta en TL1 se
desborda despus de alcanzar el valor FFh, esto no slo establece en 1 la
bandera de desbordamiento del temporizador TF1, sino que tambin se carga
el valor en el registro TH1 a TL1. Tras ello, la cuenta sigue desde este valor
hasta llegar al siguiente desbordamiento de FFh, y as sucesivamente. Este
modo de funcionamiento de los temporizadores es muy til ya que el
desbordamiento del temporizador ocurre a intervalos peridicos especficos
una vez que los registros TMOD y TH1 se han inicializado. En nuestro equipo,
el registro TH1 se cargar inicialmente con el valor adecuado para generar una
tasa de transmisin de 2400 baudios para el puerto serie. En la siguiente figura
aparece representado el modo de funcionamiento 2 de los
temporizadores/contadores:
Figura 112. Representacin del modo de funcionamiento 2 de los
temporizadores/contadores.
1.1.1.3 EL RELOJ EN TIEMPO REAL
Como ya hemos explicado cuando hablbamos de los efectos que tiene la
suciedad sobre el comportamiento elctrico de los mdulos fotovoltaicos, las
prdidas energticas por este factor estn influenciadas por el ngulo de
incidencia de los rayos solares sobre la superficie del mdulo. Esto se traduce
en que, para un mismo valor de irradiancia incidente, el porcentaje de prdida
energtica por suciedad de un mdulo sucio variar dependiendo del ngulo
con el que los rayos solares inciden sobre su superficie. Si la inclinacin y
orientacin del mdulo son fijas, este ngulo de incidencia variar a lo largo del
ao debido a los movimientos de rotacin y de traslacin de la Tierra alrededor
del Sol, y al ngulo que forma el eje de rotacin de la Tierra con respecto al
plano de la eclptica. Por todo ello, para un observador situado en un punto de
la superficie terrestre, el Sol traza una trayectoria diferente por el cielo a lo
largo del ao. Teniendo esto en cuenta, podemos concluir que la orientacin y
la inclinacin del plano de captacin influyen de forma determinante sobre la
cantidad de energa solar recibida. A este respecto, en el hemisferio norte,
cualquier desviacin con respecto al sur influye de forma negativa sobre la
energa recibida, es decir, para una inclinacin dada del plano de captacin,
cualquier desviacin de este plano con respecto al sur recibir menos energa.
Por otro lado, la inclinacin del plano de captacin hace variar la energa
recibida en funcin de la poca del ao; en verano los ngulos de inclinacin
pequeos reciben ms energa, mientras que en invierno sucede lo contrario.
Por esta razn, los mdulos fotovoltaicos instalados en estructuras fijas,
presentan una determinada orientacin y un determinado ngulo de inclinacin
con respecto al plano horizontal. A la hora de ajustar ambos parmetros y
conseguir una optimizacin del aprovechamiento solar, debe conjugarse la
distribucin de la demanda de energa a lo largo del ao con la inclinacin del
campo de colectores solares.
Como ya hemos comentado, el hecho de que las prdidas energticas por
suciedad varen con el ngulo de incidencia solar tiene como consecuencia que
un mismo mdulo sucio presente diferentes valores de prdida energtica para
un mismo valor de irradiancia incidente en funcin del ngulo que formen los
rayos solares con la recta normal a la superficie del mdulo. En el caso de los
sistemas fotovoltaicos con sistemas de seguimiento a dos ejes, esta variacin
desaparece ya que el mdulo se encuentra en todo momento orientado de
forma perpendicular a la radiacin solar directa (ngulo de incidencia igual a 0
grados). De esta forma, si nuestro equipo de medida es instalado en la misma
estructura soporte de los mdulos, el ngulo de incidencia de la radiacin solar
directa sobre su superficie acristalada permanecer aproximadamente
constante a lo largo de todo el ao, con lo que las medidas obtenidas por el
equipo estarn todas referidas al mismo ngulo de incidencia solar.
Por otro lado, en los sistemas fotovoltaicos con sistemas de seguimiento a
un eje norte-sur, el ngulo de incidencia de la radiacin solar directa sobre el
mdulo permanecer aproximadamente constante a lo largo de un da, pero
presentar variaciones a lo largo de los diferentes das del ao. Esta variacin
ser igual a la variacin que haya experimentado el ngulo de declinacin solar
a lo largo del tiempo considerado.
Por ltimo, en los sistemas fotovoltaicos fijos, el ngulo de incidencia solar
variar tanto a lo largo de un da (desde la salida hasta la puesta de sol) como
a lo largo de un ao. Por un lado, el ngulo de incidencia de la radiacin solar
directa sobre el mdulo depender de la hora solar en la que nos encontremos,
la cual determina la posicin en la que se encuentra el sol dentro de su
trayectoria diaria. Por otro lado, para una misma hora solar, la variacin que
experimenta dicho ngulo de incidencia a lo largo de un determinado nmero
de das ser igual a la variacin que ha experimentado el ngulo de declinacin
solar a lo largo de dicho periodo de tiempo.
Teniendo en cuenta todo lo anterior y con el objetivo de que dos medidas
consecutivas de nuestro equipo estn referidas aproximadamente al mismo
ngulo de incidencia solar, hemos dotado al mismo de un reloj en tiempo real
(RTC) el cual nos servir para conseguir que todas las medidas realizadas por
el equipo sean llevadas a cabo aproximadamente a la misma hora solar. Por
ello, nuestro equipo de medida ser programado para que, cada da del ao
aproximadamente en el medioda solar, intente llevar a cabo la medida de la
prdida de potencia por suciedad. Si nuestro equipo se encuentra orientado
hacia el sur (orientacin ptima en el hemisferio norte), al medioda solar el sol
se encontrar justo delante del mismo, con lo que conseguimos minimizar el
ngulo de incidencia de la radiacin directa con respecto al cristal frontal del
equipo.
Como hemos comentado con anterioridad, para una hora solar
determinada, la variacin que experimenta el ngulo de incidencia solar
respecto al mdulo entre un da y el siguiente vendr dado por la variacin que
haya experimentado el ngulo de declinacin solar en dicho periodo de tiempo.
Este ngulo de declinacin solar () es el ngulo que forma el plano ecuatorial
terrestre con el radio Sol-Tierra a lo largo del movimiento de traslacin de la
Tierra alrededor del Sol. Este ngulo de declinacin vara permanentemente
conforme la Tierra se mueve alrededor del Sol, sin embargo, a efectos de
nuestros clculos, consideraremos que permanece invariante a lo largo de un
da. La expresin de Spencer para calcular el ngulo de declinacin solar (en
radianes (rad)) en funcin del da del ao es la siguiente
1
:
) 3 ( 00148 , 0 ) 3 cos( 002697 , 0 ) 2 ( 000907 , 0
) 2 cos( 006758 , 0 ) ( 070257 , 0 ) cos( 399912 , 0 006918 , 0 ) (
+ +
+ +
sen sen
sen
donde es el ngulo diario (en rad), el cual viene dado por:
365
) 1 ( 2
) (


n
n
d
d

siendo d
n
el denominado Da Juliano correspondiente al da del ao en el que
nos encontremos (1d
n
365). Aunque esta expresin tiene en cuenta el hecho
de que la velocidad angular de la Tierra en su camino sobre la eclptica es
variable y se ajusta a la Ley de Kepler segn la cual los planetas barren reas
iguales en tiempos iguales, para la mayora de las aplicaciones de la ingeniera,
la aproximacin de considerar que la Tierra gira alrededor del Sol con velocidad
angular constante es muy cmoda y conduce a una exactitud suficiente. En
1
Jos Marco Montoro, Instalaciones Solares Fototrmicas de Baja Temperatura. Diseo y
Aplicaciones, Editorial SAPT Publicaciones Tcnicas S.L., 2005.
este caso, el ngulo de declinacin solar (en grados) vendra dado por la
siguiente expresin:

,
_

+ ) 284 (
365
360
45 , 23 ) (
n n
d sen d
A la hora de evaluar esta expresin debemos tener en cuenta que el ngulo al
que se le aplica la funcin seno viene expresado en grados.
Si evaluamos esta expresin a lo largo del ao, podemos comprobar que
el ngulo de declinacin de la Tierra vara en menos de medio grado entre un
da y el siguiente. Por lo tanto, retomando el argumento anterior podemos
concluir que, para una misma hora solar, la variacin que experimenta el
ngulo de incidencia de la radiacin solar directa sobre el mdulo fotovoltaico
variar en menos de medio grado entre dos das consecutivos.
Teniendo en cuenta todo lo anterior, el reloj en tiempo real incluido en
nuestro equipo de medida nos va a permitir que todas las medidas realizadas
sean llevadas a cabo aproximadamente a la misma hora solar, con lo que
conseguimos que el ngulo de incidencia de la radiacin solar directa bajo el
que son obtenidas dos medidas consecutivas vare la menor cantidad posible.
Es decir, dos medidas realizadas a la misma hora solar en dos das
consecutivos estarn referidas a ngulos de incidencia solar que difieren en
menos de medio grado.
Por todo ello, nuestro reloj en tiempo real ser sincronizado con la hora
solar aproximada del lugar donde se encuentre la instalacin fotovoltaica en la
que vamos a instalar el equipo. La hora solar de un determinado punto de la
superficie terrestre viene definida por la posicin que ocupa el sol respecto a
dicho punto en el instante considerado. Por otro lado, la hora local de dicho
punto es la hora definida por el meridiano central del uso horario al que
pertenece el punto. La hora local de un punto de la superficie terrestre difiere
de la hora solar en dicho punto debido a una serie de factores
2
:
1. Poltica de ahorro energtico: Las polticas de ahorro de energa
introducen una modificacin que se hace a la hora local para
aprovechar las horas de sol durante las horas de trabajo. De esta
forma se tiene que:
2
Jos Marco Montoro, Instalaciones Solares Fototrmicas de Baja Temperatura. Diseo y
Aplicaciones, Editorial SAPT Publicaciones Tcnicas S.L., 2005.
Desde el ltimo domingo de octubre hasta el ltimo domingo
de marzo se tiene que:
Hora de reloj = Hora local + 1 hora
Desde el ltimo domingo de marzo hasta el ltimo domingo
de octubre se tiene que:
Hora de reloj = Hora local + 2 horas
2. Diferencia de longitud: Entre dos meridianos consecutivos, todos los
puntos tienen la misma hora local (la zona comprendida entre dos
meridianos consecutivos se denomina Uso Horario). Dicha hora
local comn viene definida por el meridiano central o de referencia
de dicho uso horario. Sin embargo, a pesar de que todos los puntos
pertenecientes a un mismo uso horario tienen la misma hora local,
la posicin del sol es diferente respecto a cada punto dependiendo
de su longitud. De este modo, la correccin que tenemos que hacer
a la hora local para tener en cuenta la posicin del punto en el que
nos encontramos (su longitud) respecto al meridiano central del uso
horario correspondiente implica una modificacin de 4 minutos por
cada grado de desviacin del punto respecto al meridiano de
referencia. Esta modificacin debe ser:
Positiva, si el punto se encuentra al este del meridiano
central de referencia.
Negativa, si el punto se encuentra al oeste del meridiano
central de referencia.
3. Modificaciones producidas por la excentricidad de la rbita terrestre
y por la inclinacin del eje polar con respecto a la eclptica, lo cual
provoca una modificacin en la duracin del da solar. Esto implica
que un observador terrestre no encontrara el sol exactamente en el
mismo punto 24 horas despus. Esta modificacin viene dada por la
Ecuacin del Tiempo:
) 2 ( 040849 , 0 ) 2 cos( 014615 , 0
) ( 032077 , 0 ) cos( 001868 , 0 000075 , 0 [ 18 , 229 ) (

+
sen
sen d E
n t
donde E
t
viene dado en minutos, es el ngulo diario en
radianes y d
n
es el da juliano considerado.
Esta ecuacin del tiempo introduce una modificacin que vara
cada da del ao y que toma valores dentro del intervalo [-14 ,
+16].
Teniendo en cuenta todo lo anterior podemos concluir que la hora solar
exacta de un punto de la superficie terrestre puede ser calculada a partir de la
hora de reloj de dicho punto mediante la siguiente expresin:
)) ( ( )) (
min
4 (
) _ ( ) _ _ ( _ _
n t p r
d E L L
grado
Forzada Correccin reloj de Hora Exacta Solar Hora
+ +
+ +
donde la Correccin Forzada es la modificacin introducida en la hora local
debido a la poltica de ahorro energtico, L
r
es la longitud del meridiano central
de referencia del uso horario correspondiente, L
p
es la longitud del punto en el
que queremos calcular la hora solar, y E
t
(d
n
) es la ecuacin del tiempo.
Sin embargo, en nuestro equipo de medida, el reloj en tiempo real ser
sincronizado a la hora solar aproximada de su lugar de instalacin, la cual
viene dada por la siguiente expresin:

)) (
min
4 (
) _ ( ) _ _ ( _ _
p r
L L
grado
Forzada Correccin reloj de Hora Aproximada Solar Hora
+
+ +
Si comparamos esta expresin con la de la hora solar exacta veremos que
ha sido suprimida la modificacin correspondiente a la ecuacin del tiempo.
Aunque este hecho introduce un error en nuestra hora solar que puede variar
dependiendo del da del ao entre -14 minutos y + 16 minutos, este hecho se
compensa parcialmente por el modo de funcionamiento del equipo de medida,
el cual proceder a intentar realizar la medida de la prdida de energa por
suciedad cada da del ao entre las 11:30:00 y las 12:30:00 hora solar
aproximada. De esta forma el medioda solar exacto quedar siempre incluido
en el intervalo horario en el que nuestro equipo intentar realizar la medida.
Por lo tanto, el reloj en tiempo real incluido en nuestro equipo de medida
ser sincronizado con la hora solar aproximada del lugar de instalacin del
equipo. A partir de aqu, el sistema ser programado para que intente realizar
una medida diaria de la prdida de potencia por suciedad que se est
produciendo en el sistema de mdulos. Los intentos de realizar esta medida
sern llevados a cabo a intervalos de 15 minutos y siempre dentro de un mismo
intervalo horario solar: entre las 11:30:00 y las 12:30:00 hora solar aproximada.
Es decir, cada da del ao, nuestro sistema proceder a realizar el primer
intento de medida de la prdida de potencia por suciedad a las 11:30:00 hora
solar aproximada. Para ello, la alarma del RTC ser programada para que
genere a esta hora una interrupcin que saque al microcontrolador del estado
de pseudo-parada en el que se encuentra siempre que no est realizando
medidas. Si en este primer intento de medida las condiciones ambientales y del
equipo son las adecuadas para dar validez al resultado obtenido (en prximos
apartados detallaremos las condiciones que deben darse para que nuestro
equipo de medida considere aceptable un resultado obtenido), el equipo se
reprogramar, de forma que el microcontrolador quedar en estado de pseudo-
parada hasta que el proceso vuelva a repetirse al da siguiente. Sin embargo, si
las condiciones de medida que se presentan en este primer intento no son las
adecuadas para que nuestro equipo d validez al resultado obtenido, se
procede a reprogramar la hora de la alarma del RTC de forma que se lleve a
cabo otro intento de medida 15 minutos ms tarde (es decir, a las 11:45:00
hora solar aproximada), quedando el micro en estado de pseudo-parada hasta
dicho instante. Nuevamente, si en este nuevo intento de medida las
condiciones son favorables para dar por vlido el resultado obtenido, el
microcontrolador reprogramar la alarma del RTC para que se active a las
11:30:00 hora solar aproximada del siguiente da, y se colocar en estado de
pseudo-parada hasta ese instante. Sin embargo, si las condiciones de medida
no son las adecuadas, la alarma del RTC ser nuevamente reprogramada para
que se active 15 minutos ms tarde (a las 12:00:00 hora solar aproximada),
colocndose el micro en pseudo-parada hasta dicho instante. Este proceso se
repetir nuevamente a las 12:15:00 y, por ltimo, a las 12:30:00 hora solar
aproximada. Si tras este ltimo intento de medida no se han presentado las
condiciones favorables para la obtencin de la medida, el sistema pasar a
reprogramarse para repetir el proceso al da siguiente.
Con este esquema de funcionamiento hemos pretendido que las medidas
que realice nuestro equipo sean llevadas a cabo aproximadamente dentro de
un mismo intervalo solar horario, de forma que dos medidas consecutivas
realizadas por el mismo estarn referidas a ngulos de incidencia solar lo ms
cercanos posible.
En nuestro equipo, la comunicacin entre el microcontrolador y el reloj en
tiempo real se llevar a cabo a travs del mdulo interfaz serie SPI explicado
en apartados anteriores. En dicho interfaz, nuestro microcontrolador operar
como dispositivo maestro mientras que el RTC lo har como dispositivo
esclavo.
A la hora de implementar nuestro prototipo, hemos elegido como reloj en
tiempo real el modelo DS3234SN de la empresa MAXIM (ver hoja de
caractersticas en el CD adjunto al presente proyecto). Se trata de un reloj en
tiempo real con oscilador de cristal compensado en temperatura y cristal
integrado, que adems dispone de 256 bytes de memoria RAM integrada.
Como comentamos con anterioridad, las posiciones 00h y 01h de dicha
memoria sern utilizadas por el sistema para almacenar los dos bytes de la
direccin de la memoria EEPROM en la que deber almacenarse el siguiente
byte de resultado que obtenga el equipo. Adems, tambin dispone de un bus
SPI que puede operar a una frecuencia mxima de 4 MHz.
En este modelo de RTC, un sensor integrado muestrea peridicamente la
temperatura y ajusta la carga del oscilador para compensar la desviacin del
cristal causada por las variaciones de temperatura. Estas velocidades de
muestreo son seleccionables por el usuario. Por todo ello, el oscilador de cristal
compensado en temperatura suministra un reloj de referencia estable y exacto,
y mantiene al RTC dentro de una exactitud de +/- 2 minutos por ao dentro de
un margen de temperatura de -40C a +85C.
El DS3234 es un reloj / calendario de bajo consumo con 2 alarmas
programables una vez al da. El pin INT/SQW proporciona:
- o una seal de interrupcin debido a condiciones de alarma
- o bien, una seal de salida de onda cuadrada.
En nuestro equipo, dicho pin ser utilizado para generar una peticin de
interrupcin externa en el micro cuando se active la alarma del RTC a la hora
prefijada. Para ello ser conectado al pin INT0/P3.2 de nuestro
microcontrolador.
El reloj / calendario proporciona segundos, minutos, horas, da, fecha, mes
y ao. La fecha al final de cada mes es ajustada automticamente para meses
con menos de 31 das, incluyendo correcciones para aos bisiestos. El reloj
puede operar en formato 24 horas o bien en formato 12 horas con indicador
AM/PM.
El acceso a los registros internos del RTC se realiza mediante el interfaz
serie SPI, de forma que las direcciones y los datos son transferidos en forma
serie a travs de este bus bidireccional.
Cuando la alimentacin principal del dispositivo (V
cc
) se interrumpe, el
aparato conmuta a la entrada de energa de apoyo (V
bat
), mantenindose de
esta forma la exactitud en el reloj y el contenido de los registros internos.
Cuando el dispositivo funciona desde la fuente de energa de apoyo, el acceso
al mismo es deshabilitado para minimizar la corriente de suministro. El
funcionamiento del oscilador, la hora, la fecha y el contenido de los registros
internos pueden continuar mientras la fuente de energa de apoyo alimenta al
aparato.
En la siguiente figura se muestra un diagrama de bloques de este dispositivo:
Figura 113. Diagrama de bloques del RTC elegido para la implementacin de
nuestro prototipo.
Como hemos comentado, el DS3234 proporciona 256 bytes de memoria de
lectura / escritura de propsito general con alimentacin apoyada por batera.
Esta memoria RAM puede ser escrita o leda siempre que la tensin de
alimentacin V
cc
est por encima de V
bat
.
En la siguiente figura se muestra el mapa de direcciones para los registros de
tiempo de nuestro RTC y de la memoria RAM incorporada en el mismo:
Figura 114. Mapa de direcciones de los registros de tiempo del RTC y de la
SRAM.
Durante un acceso multibyte a los registros internos del RTC, cuando el
puntero de direcciones alcanza el final del espacio de registros (direccin 13h
para lectura y 93h para escritura), dicho puntero vuelve al comienzo (direccin
00h para lectura y 80h para escritura). De esta forma, el dispositivo no
responde ni a lectura ni a escritura en ninguna direccin reservada, y el puntero
de direcciones interno no se incrementa.
Cuando se produce un flanco descendente de la seal CS, el tiempo actual
es transferido a un segundo juego de registros, de forma que la informacin del
tiempo es leda desde estos registros secundarios, mientras que los registros
internos del reloj continan incrementndose normalmente.
Como se coment anteriormente, el RTC trabaja como un aparato esclavo
en el bus serie SPI. El acceso al dispositivo se obtiene seleccionando el
componente mediante su pin CS y sincronizando la entrada y salida de datos
del mismo mediante sus pines SCLK, DIN y DOUT. Las transferencias de
mltiples bytes son permitidas dentro del periodo en el que la seal CS est a
nivel bajo. El interfaz SPI estar accesible siempre que la tensin de
alimentacin principal V
cc
est por encima de la tensin de apoyo V
bat
.
La informacin del calendario y la hora se obtiene leyendo los bytes en los
registros apropiados (ver figura anterior). Los datos de calendario y hora son
actualizados o inicializados escribiendo los bytes en los registros
correspondientes. Los contenidos de los registros de calendario y hora estn
en formato Digital Codificado en Binario (BCD). El dispositivo puede funcionar
tanto en modo 12 horas como en modo 24 horas. El bit 6 del registro de horas
est definido como el bit de seleccin de modo 12 horas / 24 horas. Cuando
este bit est a nivel alto, est seleccionado el modo 12 horas. En este modo de
funcionamiento, el bit 5 del registro de horas es el bit AM / PM, el cual se pone
a 1 cuando es PM. Por el contrario, en el modo 24 horas, este quinto bit es el
segundo bit de las decenas de las horas (20-23 horas). En nuestro equipo de
medida el RTC operar en modo 24 horas.
El bit CENTURY (bit 7 del registro de mes) es conmutado cuando el
registro de aos se desborda desde 99 a 00.
El registro de da de la semana se incrementa a medianoche. Los valores
que corresponden al da de la semana son definidos por el usuario pero deben
mantener un orden secuencial.
Entradas ilgicas de fecha y hora dan como resultado una operacin
indefinida.
Por otra parte, nuestro RTC incorpora 2 alarmas de fecha y hora, una de
las cuales ser utilizada en nuestro equipo para que los intentos de medida del
equipo sean llevados a cabo a determinadas horas del da. Por un lado, la
alarma 1 se puede configurar escribiendo en los registros 07h a 0Ah, mientras
que la alarma 2 se puede configurar a travs de los registros 0Bh a 0Dh.
Ambas alarmas pueden ser programadas (mediante los bits de habilitacin de
alarma y el bit INTCN en el registro de control) para que se active la seal INT /
SQW en una condicin de coincidencia de alarma.
Un aspecto importante a tener en cuenta en estas alarmas y que ser
utilizado en nuestro programa de funcionamiento del equipo, ser que el bit 7
de cada uno de los registros de alarma de fecha y hora del da es un bit de
mscara. Cuando todos los bits de mscara de cada alarma estn en 0, una
alarma slo ocurre cuando los valores en los registros de tiempo coinciden con
los valores correspondientes almacenados en los registros de alarma de fecha
y hora del da. Sin embargo, mediante el uso de estos bits de mscara, las
alarmas pueden tambin ser programadas para repetirse cada segundo,
minuto, hora, da, o da del mes. En la siguiente tabla se muestran las posibles
configuraciones:
Tabla 15. Bits de mscara de las dos alarmas incluidas en nuestro RTC.
Por otro lado, los bits DY/DT (bit 6 de los registros de da/fecha de la
alarma) controlan si el valor de alarma almacenado en los bits 0-5 de ese
registro refleja el da de la semana (DY/DT = 1) o bien representa el da del
mes (DY/DT = 0).
Cuando los valores de los registros del RTC coinciden con las
configuraciones de los registros de la alarma, la bandera de alarma
correspondiente (bits A1F o A2F) de pone a 1. Si el correspondiente bit de
habilitacin de la alarma (bits A1IE y A2IE) est puesto a 1 y el bit INTCN
tambin est a 1, la condicin de alarma activa la seal INT / SQW, ponindose
a nivel bajo dicho pin.
La coincidencia entre registros de alarma y de reloj es muestreada en la
actualizacin una vez por segundo de los registros de fecha y hora.
Como ya hemos comentado en varias ocasiones a lo largo del texto, con el
objetivo de minimizar el consumo de energa del equipo, nuestro
microcontrolador ser colocado en modo de pseudo-parada (Idle Mode) cuando
no se encuentre realizando medidas. Esto implica que excepto en aquellos
cortos periodos de tiempo en los que el sistema proceda a realizar un intento
de medida, el microcontrolador permanecer en este estado de pseudo-parada,
estado en el cual, como explicamos en su momento, el reloj de la CPU
permanece congelado en estados conocidos mientras que los perifricos
continan estando temporizados. Como se explic entonces, una de las formas
en las que el micro poda salir de este modo de parada era mediante la
generacin de una peticin de interrupcin por parte de una de las
interrupciones habilitadas. Este ser el caso de nuestro equipo de medida. En
nuestro caso, la interrupcin que sacar al micro de su estado de pseudo-
parada ser la interrupcin externa 0 (pin INT0/P3.2 del microcontrolador) cuyo
terminal ser conectado al terminal de salida INT/SQW de nuestro RTC. Con
esta disposicin y configurando adecuadamente los dos registros de control del
reloj, conseguiremos que la alarma 1 del RTC saque al micro del estado de
pseudo-parada a determinadas horas del da, momentos en los cuales el
equipo proceder a realizar un intento de medida. Del mismo modo, una vez
realizado dicho intento de medida, se proceder a realizar la reprogramacin
de la alarma 1 del RTC de forma que el proceso vuelva a repetirse a la hora
adecuada en funcin del resultado de medida obtenido. Este proceso ser
explicado con mayor detalle en el apartado dedicado al programa de
funcionamiento del equipo.
De esta forma, para conseguir lo anterior, el registro de control, el registro
de control/estado y el registro de control de temperatura del RTC debern ser
configurados de la siguiente forma:
1. Registro de control:
Bit EOSC de habilitacin del oscilador: mediante este bit de
control podemos configurar nuestro reloj para que el
oscilador siga funcionando (EOSC=0) o se detenga
(EOSC=1) cuando el dispositivo pasa a ser alimentado desde
la batera auxiliar. En nuestra configuracin inicial pondremos
este bit a 0 con lo que el oscilador seguir funcionando en
modo batera.
Bit BBSQW de habilitacin de la onda cuadrada de salida en
modo de alimentacin por batera: este bit es utilizado para
configurar la seal de salida por la terminal INT/SQW del
reloj. En nuestra configuracin inicial dicho bit ser puesto a
0 con lo que cuando la alimentacin principal del equipo V
cc
est ausente, dicho terminal pasar al estado de alta
impedancia.
Bit CONV de conversin de temperatura: mediante este bit se
configura el sensor de temperatura del RTC para que
convierta la temperatura ambiente a formato digital y ejecute
el algoritmo encargado de actualizar la matriz de capacitancia
en el oscilador, con el objeto de compensar las variaciones
en la frecuencia de oscilacin por temperatura. En nuestra
configuracin inicial asignaremos el valor 0 a este bit, con lo
que los ciclos de conversin de temperatura sern realizados
cada 64 segundos.
Bits RS2, RS1 de seleccin de la frecuencia de la onda
cuadrada de salida: mediante estos dos bits podemos
configurar la frecuencia de la onda cuadrada de salida SQW
cuando dicha onda ha sido habilitada mediante el bit INTCN.
Puesto que en nuestro equipo esta onda cuadrada de salida
ser deshabilitada, estos dos bits no tienen ningn efecto
sobre el funcionamiento del mismo, por lo que podemos
asignarle un valor arbitrario.
Bit INTCN de control de la interrupcin del RTC: mediante
este bit podemos controlar el funcionamiento de la seal
INT/SQW de nuestro reloj. De esta forma, cuando este bit
est a 0, la salida de dicho pin es una onda cuadrada. Por el
contrario, cuando est a 1, una coincidencia entre los
registros de temporizacin y los registros de alarma activa la
seal INT/SQW (suponiendo que la alarma est tambin
habilitada). La correspondiente bandera de alarma (A1F o
A2F) es siempre activada sin tener en cuenta el estado de
este bit. En nuestra configuracin inicial este bit ser puesto
a 1, con lo que la terminal INT/SQW del RTC ser usada
para provocar en el micro una interrupcin que lo saque del
estado de pseudo-parada.
Bit A2IE de habilitacin de la interrupcin de la alarma 2: la
activacin de este bit permite que la bandera de la alarma 2
(bit A2F) en el registro de estado active la salida INT/SQW
(suponiendo que el bit INTCN=1). Cuando este bit est a 0 o
bien el bit INTCN est a 0, el bit A2F no inicia una seal de
interrupcin. Este bit est deshabilitado (nivel 0) cuando la
alimentacin se aplica por primera vez. Puesto que en
nuestro equipo no vamos a utilizar la alarma 2 del RTC,
inicialmente configuraremos este bit con el valor 0.
Bit A1IE de habilitacin de la interrupcin de la alarma 1: al
igual que en el caso anterior, la activacin de este bit permite
que la bandera de la alarma 1 (bit A1F) en el registro de
estado active la seal de salida INT/SQW (suponiendo
activado el bit INTCN) cuando se produzca una condicin de
alarma. Este bit ser activado en nuestro programa de
funcionamiento del equipo una vez que haya sido
configurada la hora a la que debe activarse la alarma.
2. Registro de control/estado:
Bit OSF de bandera de parada del oscilador: este bit puede
ser usado para juzgar la validez de los datos de
temporizacin ya que se pone a 1 en cualquier momento
en el que el oscilador se para. Este bit no ser utilizado en
nuestro programa de funcionamiento por lo que podremos
asignarle inicialmente un valor arbitrario.
Bit BB32kHz de habilitacin de la seal de salida 32kHz
cuando el RTC est alimentado con batera: cuando este
bit est a 1, habilita la seal de salida de 32kHz cuando el
RTC es alimentado desde la batera. Por el contrario, un 0
en este bit hace que la seal 32kHz permanezca a nivel
bajo cuando el componente es alimentado desde batera.
En nuestro programa, el valor asignado a este bit es
indiferente ya que la seal de salida 32kHz ser
deshabilitada.
Bits CRATE1 , CRATE0 de control de la velocidad de
muestreo del sistema de compensacin por temperatura
incorporado en el RTC: mediante estos dos bits
determinamos la velocidad de muestreo de este sistema.
En nuestra configuracin inicial, estos dos bits sern
puestos a 0, con lo que la velocidad de muestreo quedar
fijada en 64 segundos.
Bit EN32kHz de habilitacin general de la seal de salida
32kHz: este bit permite habilitar (EN32kHz=1) o deshabilitar
(EN32kHz=0) la seal de salida 32kHz de nuestro RTC. En
nuestra configuracin inicial este bit ser puesto a 0, con lo
que dicho pin permanecer a nivel bajo en todo momento.
Bit BSY de ocupado: este bit es utilizado por el dispositivo
para indicar que est ocupado ejecutando las funciones del
sistema de compensacin por temperatura. En nuestra
configuracin inicial, este bit ser puesto a 0.
Bit A2F de bandera de activacin de la alarma 2: este bit es
activado por el hardware del RTC cuando los registros de
la hora del reloj coinciden con los correspondientes
registros de la alarma 2. Cuando esto ocurre, si los bits
A2IE e INTCN estn activados, el pin INT/SQW del RTC es
puesto a nivel bajo. Este pin permanecer en este nivel
bajo hasta que este bit A2F sea borrado por software.
Puesto que nosotros en nuestro programa no vamos a usar
la alarma 2, en nuestra configuracin inicial pondremos
este bit a 0.
Bit A1F de bandera de activacin de la alarma 1: al igual
que en el caso anterior, este bit es activado por el hardware
del RTC cuando se produce una coincidencia entre los
registros de hora y fecha del reloj y los correspondientes
registros de la alarma 1. En el caso de que los bits A1IE e
INTCN estn activados, el pin INT/SQW del RTC pasar a
nivel bajo, permaneciendo en este estado hasta que este
bit de bandera A1F sea borrado por software. En nuestra
configuracin inicial de los registros del RTC, este bit ser
puesto a 0.
3. Registro de control de temperatura
Bit BB_TD de deshabilitacin de conversin de temperatura
en modo de alimentacin por batera: este bit previene
conversiones de temperatura automticas cuando el RTC
es alimentado con el suministro de batera. En nuestra
configuracin inicial de los registros del RTC, este bit ser
puesto a 1, con lo que dichas conversiones quedan
deshabilitadas, con el consiguiente ahorro de energa en la
batera.
Con respecto a la memoria RAM incorporada en el RTC, el registro de
direcciones proporciona la direccin de 8 bits de la matriz de memoria de 256
bytes. Como ya se ha comentado, en las direcciones 00h y 01h de dicha
memoria sern almacenados los dos bytes que forman la direccin de la
memoria EEPROM del microcontrolador en la que deber llevarse a cabo el
siguiente almacenamiento de un byte de resultado de medida. Para acceder a
esta memoria, la direccin de memoria a la que se quiere tener acceso debera
escribirse en este registro de direcciones antes de que se acceda al registro de
datos. Los contenidos de este registro de direcciones son automticamente
incrementados si el registro de datos es accedido ms de una vez durante una
transferencia de datos simple. Cuando el contenido del registro de direcciones
alcanza el valor FFh, el siguiente acceso provoca que el registro se reinicie a
00h.
Por otro lado, el registro de datos de esta memoria proporciona el dato que
debe ser escrito o el dato ledo de la matriz de 256 bytes que la forman.
Durante un ciclo de lectura, los datos en este registro son los que se
encuentran en la ubicacin de memoria definida por el registro de direcciones
de la RAM. Por el contrario, durante un ciclo de escritura, los datos en este
registro son colocados en la ubicacin de memoria definida por el registro de
direcciones. Un aspecto muy importante a tener en cuenta a la hora de acceder
a los registros de la memoria RAM del RTC es que cuando el registro de datos
es escrito o ledo, el puntero de registros interno permanece en esta direccin
mientras que el registro de direcciones se incrementa despus de que cada
byte haya sido ledo o escrito, lo cual permite realizar transferencias multibyte
desde esta memoria.
Finalmente, el DS3234 suministra un bus de datos serie SPI de 4 cables a
travs del cual se llevar a cabo la comunicacin con el microcontrolador. Este
dispositivo soporta tanto transferencias de byte simples como multibyte para
obtener mxima flexibilidad. Los pines DIN y DOUT del RTC son los pines de
entrada y salida de datos serie, respectivamente. Por lo tanto, en nuestro
equipo, el pin DIN estar conectado al terminal MOSI/P4.4 del micro, mientras
que el pin DOUT lo ser al terminal MISO/P4.2. Por otro lado, la entrada de
seleccin de dispositivo CS es usada para iniciar y terminar una transferencia
de datos. En nuestro equipo dicho pin ser controlado por el terminal P4.0 del
microcontrolador. Finalmente, el pin SCLK es usado para sincronizar el
movimiento de datos entre el dispositivo maestro (microcontrolador) y el
aparato esclavo (RTC). En nuestro equipo, dicho pin ser conectado al terminal
SCK/P4.3 del micro. Esta seal de reloj, la cual es generada por el
microcontrolador, est activa solamente durante la transferencia de datos y
direcciones entre el micro y el RTC por el bus SPI. Los datos de entrada al
RTC, los cuales llegan a ste a travs de su terminal DIN, son almacenados en
el flanco del pulso interno, mientras que los datos de salida, los cuales salen
del RTC a travs de su terminal DOUT, son enviados en el flanco de envo.
Existe un reloj para cada bit transferido. Los bits de direcciones y datos son
transferidos de byte en byte, con el MSB en primer lugar, hacia la entrada de
datos serie (DIN) o desde la salida de datos serie (DOUT). Cualquier
transferencia por el bus SPI necesita la direccin del byte para especificar una
lectura o una escritura, seguido por uno o ms bytes de datos. Los datos son
transferidos desde el pin DOUT para una operacin de lectura, y hacia el pin
DIN para una operacin de escritura. En las dos siguientes figuras aparecen
representadas las operaciones de lectura y escritura de un byte simple de la
RAM del RTC:
Figura 115. Operacin de escritura de un byte simple en la RAM del RTC.
Figura 116. Operacin de lectura de un byte simple en la RAM del RTC.
El byte de direccin es siempre el primer byte introducido despus de que
la seal de seleccin de dispositivo CS ha sido puesta a nivel bajo por el
microcontrolador (dispositivo maestro). El MSB de este byte determina si va a
tener lugar una operacin de lectura o una operacin de escritura:
- Si el MSB del byte de direccin es 0, entonces se producirn
uno o ms ciclos de lectura
- Por el contrario, si el MSB de este byte de direccin es 1,
entonces se producirn uno o ms ciclos de escritura.
Las transferencias de datos entre el microcontrolador y el RTC a travs del
bus SPI pueden producirse un byte cada vez, o bien en modo avalancha de
mltiples bytes. Despus de que la seal CS ha sido puesta a nivel bajo, una
direccin es escrita en el RTC. Despus de la direccin, uno o ms bytes de
datos pueden ser escritos o ledos:
- Para una transferencia de un byte simple, un byte es ledo o
escrito despus de que la direccin haya sido escrita, y
entonces la seal CS pasa a nivel alto.
- Sin embargo, para una transferencia de mltiples bytes,
varios bytes pueden ser ledos o escritos despus de que la
direccin haya sido escrita.
Cada ciclo de lectura o escritura en la memoria RAM del RTC provoca que
la direccin de los registros RTC se incremente automticamente, lo cual
contina producindose hasta que el reloj es deshabilitado. Durante una
lectura, despus de un incremento en la direccin 13h, sta cambia a 00h. De
la misma forma, durante una escritura, despus de un incremento en la
direccin 93h, sta cambia a 80h. Una copia actualizada de la hora es cargada
en los buffers de usuario en cada flanco descendente de la seal CS y cada
vez que el puntero de direcciones se incrementa desde 13h hasta 00h. Si se
accede a la memoria RAM del RTC para lectura (direccin 19h) o para escritura
(direccin 99h) del registro de datos de esta memoria, los contenidos de su
registro de direcciones sern automticamente incrementados tras el primer
acceso, y todos los ciclos de datos usarn el registro de datos SRAM.
Como se coment al comienzo de este apartado, en nuestro equipo de
medida el RTC ser sincronizado con la hora solar aproximada de su lugar de
instalacin. Para llevar a cabo esta puesta en hora solar aproximada del RTC
deberemos acceder a sus registros internos correspondientes a los segundos,
los minutos, las horas, el da del mes, el mes/siglo y el ao. Dicho proceso
puede ser llevado a cabo a travs del mismo microcontrolador previamente a la
puesta en funcionamiento del equipo, de forma que ste ejecute un programa
en el que, a travs del bus SPI, se vayan enviando secuencialmente al RTC las
direcciones para escritura de estos registros junto con los bytes de hora y fecha
correspondientes. Una vez que hayamos puesto en hora el RTC, la fuente de
energa de apoyo mantendr los contenidos de estos registros aunque
desconectemos el suministro de energa principal del equipo.
Por otro lado, en nuestro programa de funcionamiento del equipo se
llevar a cabo una configuracin inicial de los registros de control y estado de
este dispositivo, mientras que la configuracin de los registros
correspondientes a la alarma 1 ser llevada a cabo por diferentes subrutinas
dependiendo de la evolucin del intento de medida. Esto ser explicado con
mayor detalle en el apartado correspondiente al funcionamiento del equipo de
medida.
1.1.1.4 LA SEALIZACIN EXTERIOR DEL EQUIPO
Con el objetivo de que el resultado de la ltima medida llevada a cabo por
el equipo sea visible desde el exterior del mismo, hemos aadido al diseo del
equipo un conjunto de 7 diodos LEDs, los cuales sern visibles a travs de una
serie de cubre-LEDs instalados en una de las caras laterales de la caja que
contiene el equipo. Cada uno de estos diodos LEDs tendr asociado un
determinado significado, de forma que en cualquier momento nicamente
estar encendido uno de ellos indicando el resultado que el sistema ha
obtenido en la ltima medida realizada. Los significados asociados a cada uno
de ellos son los siguientes:
1. LED de problema: cuando este LED se encuentra encendido significa
que durante el ltimo intento de realizacin de medida llevado a cabo
por el equipo, se ha presentado alguna de las circunstancias siguientes:
No ha sido posible posicionar el disco de proteccin en su
posicin correcta para la realizacin de la medida. Esto puede
estar debido a problemas en el sistema de accionamiento del
disco, motor por pasos estropeado, disco atascado, etc.
No existe un mnimo de 2 fotodiodos sucios no sombreados. Esto
implica que, de los 4 fotodiodos sucios de los que dispone nuestro
equipo, al menos 3 de ellos estn afectados por suciedad local
concentrada, como puede ser la procedente de las aves.
Las medidas de irradiancia obtenidas tras las dos zonas del cristal
frontal del equipo son ilgicas. Esta circunstancia se producira
cuando la lectura de irradiancia correspondiente a la porcin sucia
del cristal fuese mayor que la correspondiente a la porcin limpia,
y la diferencia entre ambas lecturas no pudiera ser debida a la
tolerancia de los componentes que forman los circuitos de
medicin de irradiancia. Esto implicara que la porcin limpia del
cristal presenta mayor nivel de suciedad que la sucia.
2. LED de perdida de potencia por suciedad entre 0 y 2%: cuando este
LED se encuentra encendido significa que en la ltima medida realizada
por el equipo, el porcentaje de prdida de potencia por suciedad
normalizado a condiciones STC obtenido en dicha medida se encuentra
entre un 0 y un 2 por ciento.
3. LED de prdida de potencia por suciedad entre un 2 y un 4%:
cuando este LED se encuentra encendido significa que en la ltima
medida realizada por el equipo, el porcentaje de prdida de potencia por
suciedad normalizado a condiciones STC obtenido en dicha medida se
encuentra entre un 2 y un 4 por ciento.
4. LED de prdida de potencia por suciedad entre un 4 y un 6%:
cuando este LED se encuentra encendido significa que en la ltima
medida realizada por el equipo, el porcentaje de prdida de potencia por
suciedad normalizado a condiciones STC obtenido en dicha medida se
encuentra entre un 4 y un 6 por ciento.
5. LED de prdida de potencia por suciedad entre un 6 y un 8%:
cuando este LED se encuentra encendido significa que en la ltima
medida realizada por el equipo, el porcentaje de prdida de potencia por
suciedad normalizado a condiciones STC obtenido en dicha medida se
encuentra entre un 6 y un 8 por ciento.
6. LED de prdida de potencia por suciedad entre un 8 y un 10%:
cuando este LED se encuentra encendido significa que en la ltima
medida realizada por el equipo, el porcentaje de prdida de potencia por
suciedad normalizado a condiciones STC obtenido en dicha medida se
encuentra entre un 8 y un 10 por ciento.
7. LED de prdida de potencia por suciedad mayor del 10%: cuando
este LED se encuentra encendido significa que en la ltima medida
realizada por el equipo, el porcentaje de prdida de potencia por
suciedad normalizado a condiciones STC obtenido en dicha medida se
encuentra por encima del 10 por ciento.
Como se ha explicado en el apartado anterior, nuestro equipo de medida
intentar realizar cada da una medida del porcentaje de la prdida de energa
que se est produciendo en el sistema fotovoltaico debido a la suciedad
presente. Para ello, nuestro reloj en tiempo real ser sincronizado a la hora
solar aproximada del lugar de instalacin, mientras que una de sus alarmas
ser programada para que genere una peticin de interrupcin al
microcontrolador a las 11:30:00 horas. Como respuesta a esta peticin de
interrupcin, el micro saldr del estado de pseudo-parada en el que se
encontraba y ejecutar la rutina de servicio de interrupcin correspondiente.
Tras ello, proceder a realizar el primer intento de medida del da. Como
explicaremos posteriormente con mayor detalle en el apartado dedicado al
funcionamiento del equipo, para que el sistema d por vlido un resultado de
medida deben verificarse una serie de condiciones que otorguen validez al
mismo en funcin a las consideraciones que se han tenido en cuenta en el
desarrollo del algoritmo de clculo utilizado en la medida. En el caso de que
dichas condiciones se cumplan, el microcontrolador proceder en primer lugar
a almacenar los 3 bytes que conforman cada resultado de medida (byte
correspondiente al porcentaje de prdida obtenido, byte correspondiente al mes
de la medida y byte correspondiente al da del mes de la misma) en la direccin
adecuada de su memoria EEPROM. Para ello, antes de realizar este
almacenamiento, habr ledo el contenido de las direcciones de memoria 00h y
01h de la RAM del RTC, las cuales contienen la direccin de la EEPROM en la
que debe ser almacenado el siguiente byte de resultado. Tras haber
almacenado estos tres bytes en la memoria EEPROM, sern almacenados en
las direcciones de memoria 00h y 01h de la RAM del RTC los dos bytes
correspondientes a la direccin de la EEPROM en la que deber ser
almacenado el siguiente byte de resultado que el sistema obtendr en la
siguiente medida que lleve a cabo. De esta forma, como ya ha sido explicado,
las posiciones 00h y 01h de la RAM del RTC funcionarn como un puntero de
datos de tamao 2 bytes que contendr en todo momento la direccin de la
memoria EEPROM en la que deber ser almacenado el resultado de la
siguiente medida que realice el equipo. Una vez concluida esta operacin,
proceder a reprogramar el RTC para que su alarma se active nuevamente a
las 11:30:00 del da siguiente. Por ltimo, antes de colocarse nuevamente en
estado de pseudo-parada hasta el instante en el que se produzca la siguiente
peticin de interrupcin, el micro encender el diodo LED correspondiente en
funcin del resultado obtenido en la medida.
Por el contrario, si las condiciones de medida no son las adecuadas para
que el equipo d por bueno el resultado obtenido, el micro proceder a
reprogramar el RTC para que su alarma se active 15 minutos ms tarde (es
decir, a las 11:45:00) y pasar a colocarse en estado de pseudo-parada hasta
ese momento. Pasados estos 15 minutos, la alarma del RTC volver a
activarse, sacando al micro de su estado de pseudo-parada para que vuelva a
realizar un nuevo intento de medida. Este proceso se repetir a intervalos de
15 minutos hasta las 12:30:00 horas, momento en el cual el equipo intenta
llevar a cabo el ltimo intento de medida del da. Si tras este intento las
condiciones de medida siguen siendo inadecuadas, el micro reprograma el
RTC para que se active a las 11:30:00 horas del da siguiente y se coloca en
estado de pseudo-parada hasta ese momento.
Por lo tanto, teniendo en cuenta este modo de funcionamiento podemos
deducir que el diodo LED que se encuentre encendido en un instante
determinado en nuestro equipo de medida nos estar informando del resultado
que ste ha obtenido en el ltimo intento de medida realizado.
Para la implementacin en nuestro prototipo de este sistema de diodos
LEDs de indicacin exterior hemos elegido LEDs de alta eficiencia de 5mm
modelo HLMP-4700 de la marca Hewlett Packard (su hoja de caractersticas
puede ser consultada en el CD adjunto al presente proyecto). Puesto que
dichos LEDs sern controlados por pines de puerto de nuestro
microcontrolador, para no exceder la corriente de entrada mxima que pueden
soportar dichos puertos, hemos aadido a cada uno de ellos una resistencia
limitadora de corriente de 1,3 k de valor nominal. Se trata de resistencias
estndar de carbn aglomerado del 5% de tolerancia y potencia nominal 1/8W.
1.1.1.5 LA ALIMENTACIN DEL MOTOR PASO A PASO
Como comentamos cuando detallbamos el diseo exterior de nuestro
equipo de medida, el disco de proteccin encargado de mantener limpia una
porcin del cristal frontal del equipo ser accionado por un motor paso a paso
cuyo accionamiento ser controlado por el microcontrolador. La utilizacin de
este tipo de motor nos permitir posicionar de forma precisa dicho disco.
A diferencia de los motores convencionales de corriente continua, un motor
paso a paso se mueve en incrementos o pasos precisos. En la mayora de los
casos, este tipo de motores tiene una parte mvil llamada rotor, la cual se
fabrica por lo general a partir de un material magntico permanente (en el caso
de los motores paso a paso de imanes permanentes). Este rotor est rodeado
por el estator, el cual es un electroimn elaborado con dos bobinados alrededor
de algunos polos conductores. En el caso de los motores unipolares de 6 hilos
(como el elegido para la implementacin de nuestro prototipo), estos dos
bobinados del estator tienen una toma central, las cuales sern conectadas a
masa en nuestro equipo de medida. De esta forma, el movimiento de giro del
rotor se consigue energizando en el orden correcto las bobinas del estator. Un
aspecto muy importante de los motores paso a paso consiste en este orden de
energizacin de las bobinas estatricas ya que si en un determinado orden el
rotor gira en el sentido de las manecillas del reloj, si energizamos las bobinas
en orden inverso, el rotor pasar a girar en sentido contrario.
Para la implementacin de nuestro prototipo hemos elegido un motor de
imanes permanentes de la marca McLennan Servo Supplies Ltd perteneciente
a la serie P542-M48. Se trata de un motor de corriente continua unipolar, 12V
de tensin nominal, 230 mA de corriente por fase y un ngulo de paso de 7,5.
Adems, con el objetivo de aumentar el par de accionamiento del motor, le
hemos incorporado una caja reductora de relacin 125:1, lo que aumenta dicho
par hasta los 100 N.cm (la hoja de caractersticas de este dispositivo puede ser
consultada en el CD adjunto al presente proyecto).
La inclusin de esta caja reductora implica que para realizar un giro
completo en nuestro disco de proteccin deberemos aplicarle al motor un total
de 6000 pasos a una frecuencia mxima de 300 Hz. Sin embargo, con el
objetivo de introducir un margen de seguridad suficiente en la frecuencia de
trabajo del motor, nuestro programa de funcionamiento del sistema establecer
una frecuencia de excitacin para las bobinas del motor de 200 Hz utilizando
para ello una subrutina de retardo de 5 ms entre la aplicacin de un paso y el
siguiente.
La excitacin de las bobinas del motor ser llevada a cabo a travs de 4
terminales de puerto del microcontrolador. Sin embargo, la conexin de estos 4
terminales de puerto a los bobinados del motor debe llevarse a cabo a travs
de un controlador de motor paso a paso, ya que las corrientes de las terminales
de puerto del microcontrolador no son suficientes para excitar dichos
bobinados. En la implementacin de nuestro prototipo del equipo de medida,
hemos optado por utilizar el modelo SN754410 de la empresa Texas
Instruments (la hoja de datos de este componente puede ser consultada en el
CD adjunto al presente proyecto). Se trata de un driver cudruple de alta
corriente que es capaz de entregar hasta 1A de corriente por driver y que est
especialmente diseado para aplicaciones de alimentacin de motores.
Adems de esto, permite un amplio rango de variacin para la tensin de
alimentacin del motor (entre 4,5 y 36V) y dispone de dos entradas separadas
de suministro de tensin (V
CC1
para las entradas lgicas y V
CC2
para las salidas
de alimentacin hacia las bobinas del motor). En este dispositivo, adems de
las entradas lgicas (1A, 2A, 3A y 4A) y de las salidas correspondientes (1Y,
2Y, 3Y y 4Y), el componente dispone de dos estradas de habilitacin (1,2EN y
3,4EN) cada una de las cuales sirve para habilitar una pareja de drivers. De
esta forma, cuando una de estas entradas de habilitacin est en nivel alto, los
drivers correspondientes estarn habilitados y sus salidas pasarn a estar
activas y en fase con sus entradas. Por el contrario, cuando la entrada de
habilitacin est a nivel bajo, los drivers correspondientes estarn
deshabilitados y sus salidas estarn desconectadas y en un estado de alta
impedancia. Como ya hemos comentado, este dispositivo dispone de un voltaje
de suministro independiente (V
CC1
) para la alimentacin de los circuitos de las
entradas lgicas (1A, 2A, 3A, 4A, 1,2EN y 3,4EN), con el objetivo de minimizar
la disipacin de potencia en el aparato. Por otra parte, el voltaje de
alimentacin V
CC2
ser usado para los circuitos de salida.
1.1.1.6 LA ALIMENTACIN DEL EQUIPO
Nuestro equipo ha sido diseado para ser alimentado con una tensin
continua de +12V, la cual puede proceder de una batera o de cualquier otro
elemento generador.
Por otro lado, puesto que la mayor parte del tiempo de funcionamiento del
equipo (excepto en aquellos momentos en los que ste se encuentre
realizando una medida) varios de sus componentes no sern usados
(amplificadores operacionales de los circuitos de medicin de irradiancia y
drivers de alimentacin del motor paso a paso), con el objetivo de reducir el
consumo energtico, hemos introducido en nuestro diseo un rel de estado
slido (SSR) que nos va a permitir suspender la alimentacin de estos
elementos cuando no estn siendo usados por el equipo. De esta forma, la
entrada de carga de dicho rel (+DCLOAD) ser conectada a la entrada de
alimentacin de +12V, mientras que su salida (-DCLOAD) ser utilizada, por un
lado, para alimentar directamente la entrada V
CC2
del driver de alimentacin del
motor paso a paso, y por otro lado, ser conectada a un regulador de tensin
de +5V cuya tensin de salida ser utilizada para alimentar tanto a los
operacionales de los circuitos de medicin de irradiancia como a la entrada de
alimentacin V
CC1
de los circuitos lgicos de entrada de los drivers. Esta
configuracin permite que, cuando el equipo entre en estado de reposo a la
espera de que llegue el momento de llevar a cabo el siguiente intento de
medida, el microcontrolador desconecte la alimentacin tanto de los
amplificadores operacionales como de los drivers de alimentacin del motor,
consiguindose de esta forma un consumo energtico menor del equipo.
La entrada de control de este rel de estado slido ser controlada por un
terminal de puerto del microcontrolador a travs de un transistor PNP cuyo
terminal de emisor ser conectado a la tensin de alimentacin de +5V. De
esta forma, conectando el terminal de puerto a la base del transistor y
colocando entre ellos una resistencia de valor adecuado, podemos conseguir
que dicho transistor pase del estado de corte al estado de saturacin cuando el
nivel lgico del terminal cambia de 1 a 0. Conectando ahora el terminal de
colector del transistor a la entrada +DCCONTROL del rel de estado slido y la
entrada DCCONTROL a masa, conseguimos activar o desactivar la salida del
rel poniendo simplemente el terminal de puerto que lo controla a 0 o 1,
respectivamente.
Por otra parte, el resto de los componentes del equipo ser alimentado a
travs de un segundo regulador de tensin de +5V cuya entrada ser
conectada a la entrada de alimentacin de + 12V.
Para la implementacin del prototipo de nuestro equipo de medida hemos
utilizado reguladores de tensin modelo KA78T05 de la empresa Fairchild
Semiconductor, mientras que el transistor elegido para el control del rel de
estado slido ha sido el modelo BC327 de la empresa NXP. Por otro lado, el
rel de estado slido seleccionado ha sido el modelo DMO063 de la empresa
CRYDOM (las hoja de datos de estos componentes pueden ser consultadas en
el CD adjunto al presente proyecto).
1.1.2 ESTUDIO DE LOS MDULOS FOTOVOLTAICOS DE LA
INSTALACIN
El objetivo de nuestro equipo de medida es la determinacin de la prdida
de energa que en un instante determinado se est produciendo en una
instalacin fotovoltaica debido a la suciedad depositada sobre la superficie de
los mdulos planos que la componen. Como ya se ha comentado en varias
ocasiones, el efecto de dicha suciedad es el de reducir la cantidad de
irradiancia solar que reciben las clulas que componen el mdulo, lo que
produce una disminucin en la energa generada por el mismo. Puesto que la
energa generada por un mdulo es aproximadamente proporcional a la
irradiancia que reciben sus clulas, existir una relacin aproximadamente
lineal entre la cantidad de suciedad depositada sobre el mdulo y la prdida de
energa que se produce en el mismo.
Esta prdida energtica por suciedad tradicionalmente ha sido
determinada como el incremento (expresado en %) que experimenta la
corriente de cortocircuito del mdulo cuando pasa de estar sucio a estar limpio.
Para llevar a cabo esta medida, primeramente se determina la corriente de
cortocircuito que entrega el mdulo sucio, para posteriormente proceder a su
limpieza y medir nuevamente dicha corriente. Este mtodo de clculo que
relaciona el porcentaje de prdida de potencia por suciedad en el mdulo con
el porcentaje de prdida de corriente de cortocircuito en el mismo, tiene su
fundamento en la forma en la que las variables elctricas de salida de un
mdulo (corriente de cortocircuito I
SC
, y tensin de circuito abierto V
OC
) varan
con la irradiancia incidente. En la figura 5 se representaba el comportamiento
de ambas variables frente a variaciones en la irradiancia incidente. En esta
figura se muestra como la corriente de cortocircuito vara de forma lineal con la
irradiancia, mientras que la tensin de circuito abierto presenta un
comportamiento logartmico frente a esta variable. Sin embargo, observando la
curva de V
OC
podemos comprobar como para valores de irradiancia elevados,
la tensin de circuito abierto del mdulo tiende a hacerse constante.
Sin embargo, en nuestro equipo de medida las prdidas energticas por
suciedad sern calculadas como el porcentaje de potencia que el mdulo est
dejando de generar debido a este factor. Como explicamos cuando
hablbamos del funcionamiento de los mdulos fotovoltaicos, el
comportamiento elctrico de un mdulo viene determinado por sus curvas I-V,
cada una de las cuales est formada por los diferentes puntos de trabajo en los
que puede operar el mdulo para cada pareja de valores: (Irradiancia G,
Temperatura de clula T
C
). De esta forma, para cada curva I-V, el punto de
trabajo en el que opera el mdulo vendr determinado por la resistencia de
carga conectada al mismo. En cada uno de estos puntos de trabajo, la potencia
que genera el mdulo vendr dada por el producto de la corriente de salida
(ordenada del punto de trabajo) por la tensin de salida (abscisa del punto de
trabajo). Dentro de una curva I-V, existir un determinado punto de trabajo en
el que dicho producto es mximo, el cual recibe el nombre de Punto de Mxima
Potencia (PMP) de la curva. Es muy comn que las instalaciones fotovoltaicas
dispongan de un dispositivo denominado Seguidor del Punto de Mxima
Potencia cuya funcin es conseguir que el sistema de mdulos opere en todo
momento en dicho punto, independientemente de la resistencia de carga. Por
esta razn, en nuestro equipo de medida hemos considerado que los mdulos
de la instalacin operarn siempre en dicho punto de trabajo.
Teniendo presente lo anterior, si ahora tenemos en cuenta que, de las dos
variables que definen el comportamiento del mdulo, Irradiancia Incidente y
Temperatura de clula, slo la primera de ellas se ve afectada por la presencia
de suciedad, podemos deducir que la prdida de potencia por suciedad en un
mdulo vendr determinada por la disminucin que se produce en la potencia
mxima de salida del mismo ocasionada por la prdida de irradiancia que se
produce debido a este factor. Es decir, si la suciedad depositada sobre la
superficie del mdulo ocasiona una determinada disminucin en la irradiancia
incidente que reciben las clulas, la prdida de potencia por suciedad ser
igual a la disminucin de la potencia mxima de salida del mdulo asociada a
dicha disminucin de irradiancia. En nuestro equipo de medida, esta
disminucin en la irradiancia incidente debida a la suciedad ser determinada
mediante 8 circuitos de medicin de irradiancia, cuyos sensores estarn
situados convenientemente tras el cristal frontal del equipo. De esta forma, 4 de
estos sensores estarn situados tras la parte sucia del cristal, mientras que el
resto estar situado tras la parte de cristal que se mantiene aproximadamente
limpia gracias al disco de proteccin. Con el objetivo de minimizar las
desviaciones en las medidas de irradiancia debidas a la tolerancia de los
componentes de los circuitos de medicin, la irradiancia incidente tras ambas
zonas del cristal ser calculada como el valor medio de los valores individuales
de irradiancia que miden ambos grupos de sensores. A partir de aqu, la
prdida de irradiancia incidente debido a la suciedad vendr dada por la
diferencia entre estos dos valores medios.
Ahora bien, una vez que hemos determinado la prdida de irradiancia que
se produce debido a la suciedad, para que los resultados de las medidas
realizadas por nuestro equipo sean comparables entre s, todos ellos deberan
estar referidos a un mismo valor de irradiancia incidente. Puesto que la mayor
parte de las caractersticas de un mdulo vienen dadas en Condiciones STC,
los resultados de nuestro equipo de medida estarn referidos a un valor de
irradiancia incidente de 1000 W/m
2
y a una temperatura de clula de 25 C.
Para llevar a cabo esta normalizacin de resultados se ha considerado que,
para un determinado nivel de suciedad presente en el mdulo, la prdida de
irradiancia debida a este factor se mantiene constante frente al nivel de
irradiancia existente fuera del mdulo; es decir, si para un determinado valor de
irradiancia incidente se produce una determinada prdida de la misma debido a
la suciedad, en nuestro equipo de medida hemos considerado que dicha
prdida de irradiancia sera la misma si el nivel de irradiancia existente fuese
de 1000 W/m
2
. El error introducido por esta consideracin se reduce si tenemos
en cuenta que nuestro equipo slo llevar a cabo medidas cuando el nivel de
irradiancia existente sea mayor o igual a 800 W/m
2
.
Esta traslacin de las medidas obtenidas para dar el resultado normalizado a
un valor de irradiancia incidente de 1000 W/m
2
est representada en la
siguiente figura:
Figura 117. Consideraciones que se realizan en nuestro equipo de medida
para normalizar los resultados obtenidos a una irradiancia
incidente de 1000 W/m
2
.
En la figura anterior se tiene que:
- G
sucio
= Irradiancia incidente medida por el equipo tras la parte
de cristal sucio.
- G
limpio
= Irradiancia incidente medida por el equipo tras la
parte de cristal limpio.
- G = Prdida en la irradiancia incidente debida a la suciedad.
- P
o,sucio
= Potencia mxima que el mdulo genera para una
irradiancia incidente de valor G
sucio
y una temperatura de
clula de 25C.
- P
o,limpio
= Potencia mxima que el mdulo genera para una
irradiancia incidente de valor G
limpio
y una temperatura de
clula de 25C.
- P
o
= Prdida de potencia que se produce en el mdulo
debido a la suciedad depositada sobre el mismo.
- P
o,sucio
= Potencia mxima que el mdulo genera para una
irradiancia incidente de valor (1000 - G) y una temperatura
de clula de 25C.
- P
o,limpio
= Potencia mxima que el mdulo genera para una
irradiancia incidente de 1000 W/m
2
y una temperatura de
clula de 25C.
Por lo tanto, nuestro equipo proporcionar como resultado de medida el
porcentaje de potencia que el mdulo est dejando de producir debido a la
suciedad depositada sobre su superficie, normalizado a un valor de irradiancia
incidente de 1000 W/m
2
y una temperatura de clula de 25C. Si tenemos en
cuenta los smbolos utilizados en la figura anterior, dicho resultado de medida
vendr definido por la siguiente expresin:
100

100


(%) _ _ _
lim ,
lim ,
, lim , 0
25 , / 1000
2


pio o
o
pio o
sucio o pio
C T m W G
P
P
P
P P
suciedad por Potencia Prdida
c
Teniendo en cuenta todo lo anterior, se hace necesario realizar un estudio
del comportamiento del punto de mxima potencia de los mdulos de la
instalacin frente a la irradiancia incidente, que nos permita determinar la
potencia mxima que es capaz de generar un mdulo en funcin de esta
variable de funcionamiento. Debemos recordar en este punto que, dada
cualquier curva I-V de un mdulo fotovoltaico, la potencia mxima que puede
generar el mdulo en las condiciones de funcionamiento que definen dicha
curva es igual al producto de la corriente y la tensin de salida del mdulo en el
punto de mxima potencia de dicha curva:
Tc G
PMP
Tc G
PMP
Tc G
V I P
, , ,
max

En la siguiente figura se representa una grfica que nos muestra la curva
de variacin del punto de mxima potencia en funcin de la irradiancia
incidente para un mdulo fotovoltaico tpico:
Figura 118. Curva de variacin del punto de mxima potencia en funcin de la
irradiancia incidente.
Si observamos detenidamente la figura anterior podemos ver como para
valores elevados de la irradiancia incidente, la pendiente de la curva de
potencia mxima tiende a hacerse infinita. Este hecho implica que para valores
elevados de la irradiancia incidente se verifica que:
- Por un lado, la tensin de salida del mdulo en el punto de
mxima potencia, V
PMP
, se mantiene prcticamente
constante.
- Por otro lado, la corriente de salida del mdulo en el punto de
mxima potencia, I
PMP
, vara de forma proporcional a la
irradiancia incidente.
Por lo tanto, de todo lo anterior podemos concluir que para valores
elevados de irradiancia incidente, la potencia mxima de salida del mdulo
vara aproximadamente de forma proporcional a la irradiancia incidente. Esta
relacin lineal entre ambas variables es debida a que la tensin V
PMP
permanece aproximadamente constante mientras que la corriente I
PMP
vara de
forma proporcional con la irradiancia.
Para la mayora de los mdulos comerciales de silicio cristalino, el voltaje
en el punto de mxima potencia, V
PMP
, es aproximadamente igual al 80% del
voltaje a circuito abierto, V
OC
, que presenta el mdulo en las condiciones de
funcionamiento consideradas
3
.
Puesto que nuestro equipo nicamente realizar medidas cuando el nivel
de irradiancia incidente sea mayor o igual a 800 W/m
2
, vamos a considerar que
la potencia mxima que puede generar el mdulo para cada valor de irradiancia
incidente G(W/m
2
) va a ser igual al producto de la corriente en el punto de
mxima potencia que el mdulo genera para dicho valor de irradiancia por la
tensin de salida en dicho punto, la cual vamos a considerar constante e igual
al 80% del valor de la tensin de circuito abierto que presenta el mdulo en
condiciones STC:
] 8 , 0 [ ) ( ) (
max STC OC PMP
V G I G P
La tensin de circuito abierto que presenta el mdulo en condiciones STC
es uno de los datos que facilitan los fabricantes en sus hojas de caractersticas.
Sin embargo, la curva de variacin de I
PMP
en funcin de la irradiancia incidente
debe ser determinada experimentalmente realizando mltiples mediciones en
los mdulos de la instalacin, con el objetivo de que se ajuste lo ms fielmente
posible al comportamiento real de dichos dispositivos.
Para el diseo del prototipo que se desarrolla en el presente proyecto,
hemos utilizado dos mdulos fotovoltaicos modelo KV-150/12(24)M de silicio
cristalino de la marca KVAZAR pertenecientes al Laboratorio de Energa Solar
de la Escuela Superior de Ingeniera de Cdiz. Se trata de dos mdulos de 150
W
P
de potencia nominal, compuestos por una nica cadena de 72 clulas
conectadas en serie (la hoja de datos de este mdulo puede ser consultada en
3
Varios autores, Instalaciones de energa solar. Tomo V. Sistemas de conversin elctrica.
Editorial Progensa. 5 Edicin. 2008.
el CD adjunto al presente proyecto). En la siguiente imagen podemos ver los
dos mdulos utilizados en el diseo del presente proyecto:
Figura 119. Mdulos fotovoltaicos KV-150/24(12)M de la empresa KVAZAR
pertenecientes al Laboratorio de Energa Solar de la Escuela
Superior de Ingeniera de Cdiz usados en el diseo del presente
Proyecto.
Para llevar a cabo la caracterizacin de la curva de I
PMP
en funcin de la
irradiancia incidente G para este modelo de mdulo elegido, fueron realizadas
un total de 377 mediciones de las variables de salida de ambos mdulos en
diversas condiciones de funcionamiento a lo largo de 3 meses. Dichas medidas
fueron realizadas en las instalaciones de la Escuela Superior de Ingeniera de
Cdiz. Cada da, previamente a la realizacin de las medidas, ambos mdulos
fueron limpiados con agua destilada con el objeto de que estuvieran en todo
momento en las mismas condiciones de limpieza. Para la realizacin de las
medidas fue utilizado un Trazador de Curvas I-V para mdulos fotovoltaicos,
modelo PVPM 6020C de la marca Photovoltaic Engineering, propiedad del
Laboratorio de Energa Solar de la citada Escuela. En la siguiente figura
podemos ver distintas imgenes de dicho dispositivo:

Figura 120. Aparatos de medida utilizados en la caracterizacin de la curva I
PMP
G para el modelo de mdulo utilizado en el diseo de nuestro
prototipo.

Este dispositivo es capaz de trazar la curva I-V de salida que presenta el
mdulo en las condiciones de operacin existentes en el momento de realizar
la medida. Adems de esto, suministra datos referentes a distintos puntos de
dicha curva como la potencia mxima, la corriente y la tensin en el punto de
mxima potencia, la corriente de cortocircuito y la tensin de circuito abierto.
Para determinar la irradiancia incidente G y la temperatura de clula T
C
bajo las
que se lleva a cabo la medida, dicho dispositivo dispone de un sensor exterior
que debe ser instalado junto a los mdulos, con la misma orientacin e
inclinacin que stos. En nuestro caso se trata de un sensor modelo SOZ-03
mono#2910, cuya imagen se muestra en la siguiente figura:
Figura 121. Sensor utilizado por el trazador de curvas I-V para medir la
irradiancia y la temperatura de clula existentes en el momento
de realizar la medida.
En la siguiente figura se muestra una imagen de los mdulos utilizados en
el diseo de nuestro prototipo, junto con el sensor anterior instalado en la
misma estructura soporte:
Figura 122. Mdulos utilizados en el diseo de nuestro prototipo junto con el
sensor utilizado por el trazador de curvas I-V.

Los resultados de todas las medidas llevadas a cabo se encuentran
recogidos en el Anexo 7 dentro del Documento Bsico Anexos.
Tras la realizacin de un total de 377 mediciones con ambos mdulos, los
resultados obtenidos muestran claramente que la corriente de salida del
mdulo en el punto de mxima potencia presenta un comportamiento lineal
frente a la irradiancia incidente, y que la temperatura de clula no influye de
forma importante en dicho comportamiento. En la siguiente figura aparecen
representados todos los resultados obtenidos en dichas mediciones:
Ipmp(A) Vs G(W/m2)
0,00
1,00
2,00
3,00
4,00
5,00
0 200 400 600 800 1000 1200
G(W/m2)
I
p
m
p
(
A
)
Figura 123. Resultados obtenidos en las 377 mediciones realizadas con los
dos mdulos anteriores.
Puesto que nuestro equipo nicamente realizar medidas cuando el nivel
de irradiancia incidente existente en el momento de la medicin sea mayor o
igual a 800 W/m
2
, a la hora de caracterizar la curva I
PMP
-G de nuestro modelo
de mdulo, nicamente hemos considerado los resultados de medida
correspondientes a estos valores de irradiancia. En la siguiente figura se
encuentran representados estos resultados de medida junto con la recta de
regresin correspondiente:
Ipmp(A) Vs G(W/m2)
y = 0,0043x - 0,1331
R
2
= 0,9415
3,00
3,20
3,40
3,60
3,80
4,00
4,20
4,40
800 850 900 950 1000 1050
G(W/m2)
I
p
m
p
(
A
)
Figura 124. Resultados de medida obtenidos correspondientes a una
Irradiancia incidente mayor o igual a 800 W/m
2
.
Por lo tanto, para el diseo de nuestro prototipo del equipo de medida,
consideraremos que la variacin de la corriente de salida del mdulo en el
punto de mxima potencia (I
PMP
) frente a la irradiancia incidente (G), para
cualquier temperatura de mdulo, viene definida por la siguiente ecuacin:
1331 , 0 0043 , 0 ) ( G G I
PMP
, siendo G800W/m
2
.
En esta expresin, la corriente est expresada en A y la irradiancia incidente en
W/m
2
.
Si en la expresin anterior sustituimos G por el valor 1000, obtendremos la
corriente en el punto de mxima potencia en condiciones STC obtenida de
forma experimental, la cual toma un valor de:
A I
m W G
PMP
17 , 4 1331 , 0 ) 1000 ( 0043 , 0
2
/ 1000

Si ahora consultamos la hoja de caractersticas de nuestro modelo de mdulo,


encontramos que la corriente en el punto de mxima potencia en condiciones
STC facilitada por el fabricante tiene un valor de 4,2 A, lo que implica que la
diferencia entre este valor terico y el valor obtenido experimentalmente en
nuestras mediciones es del 0,7%.
Repitiendo lo dicho anteriormente respecto a la potencia mxima de salida
de un mdulo para valores elevados de irradiancia incidente, en nuestro equipo
de medida dicha potencia mxima vendr dada por el producto de la corriente
en el punto de mxima potencia correspondiente a cada valor de irradiancia
(I
PMP
(G)) y la tensin de salida en dicho punto, la cual vamos a considerar que
se mantiene constante e igual al 80% del valor de la tensin de circuito abierto
(V
OC
) que presenta el mdulo en condiciones STC:
] 8 , 0 [ ) ( ) (
max STC OC PMP
V G I G P
Si consultamos la hoja de caractersticas de nuestros mdulos encontramos
que la tensin de circuito abierto en condiciones STC toma un valor de:
V V
STC
oc
4 , 44
Por lo tanto, sustituyendo en la expresin anterior de la potencia mxima este
valor, e introduciendo en la misma la ecuacin obtenida experimentalmente
para la corriente en el punto de mxima potencia en funcin de la irradiancia
incidente, obtenemos finalmente una expresin que nos proporciona de forma
aproximada la potencia mxima de salida que produce el mdulo en funcin de
la irradiancia incidente para valores de irradiancia mayores o iguales a 800
W/m
2
y para cualquier temperatura de mdulo:
7277 , 4 1527 , 0
] 4 , 44 8 , 0 [ ] 1331 , 0 0043 , 0 [ ] 8 , 0 [ ) ( ) (
max


G
G V G I G P
STC OC PMP
siendo G800W/m
2
.
En esta expresin, la potencia viene expresada en W y la irradiancia incidente
en W/m
2
.
La expresin anterior ser la utilizada por nuestro equipo para determinar
la potencia mxima que es capaz de generar el mdulo para cada valor de
irradiancia incidente.
Al igual que hicimos para la ecuacin de la corriente en el punto de
mxima potencia, si en la expresin anterior sustituimos la irradiancia incidente
G por el valor 1000, obtendremos la potencia mxima que el mdulo genera en
condiciones STC obtenida de forma experimental, la cual toma un valor de:
W P
m W G
97 , 147 7277 , 4 ) 1000 ( 1527 , 0
2
/ 1000
max

Si comparamos este valor con la potencia nominal del mdulo que aparece en
su hoja de caractersticas (150 W
p
+/-5%), podemos observar como el valor
obtenido experimentalmente se encuentra dentro del intervalo de potencia
mxima garantizada por el fabricante.

Das könnte Ihnen auch gefallen