Está en la página 1de 93

Diseño y construcción de regulador de carga

de baterías y monitoreo de parámetros


eléctricos de sistemas fotovoltaicos.

RESIDENCIA
PROFESIONAL

Luis Andrés González Cetina

Instituto Tecnológico de Chetumal


INGENIERÍA ELÉCTRICA
Introducción
Actualmente las tendencias mundiales en cuanto a la investigación para el desarrollo de
sistemas convencionales de electrificación fotovoltaico están aumentando por ser la
energía solar; la menos contaminante y por ende menos dañina para el medio. Para el
desarrollo de la presente tesis se ha implementado un nuevo sistema de regulación de c
arga y adquisición da tos que contribuirán con e l desarrollo de los sistemas de
electrificación fotovoltaico.
El módulo físico consiste en un Regulador conectado a una Tarjeta de Adquisición de
Datos, a un Panel Solar y a una Batería que fue desarrollado como parte de los frutos de
la presente tesis. Este módulo implementado permite verificar si se cumple el tipo de
regulación propuesta, transmisión de datos, así como la recepción de los mismos
mediante una PC. También sirve para experimentar nuevas formas de regulación para
estudios posteriores.

El módulo consta de dos tarjetas, una es la Tarjeta Reguladora y otra es la Tarjeta de


Adquisición de Datos. La tarjeta Reguladora po ee dos entradas, un puerto bidireccional y
dos salidas. Una entrada es para la conexión del Panel, otra es para la batería, el puerto
bidireccional es para la comunicación con la tarjeta de adquisición de datos, una salida es
para la carga (Usuario) y otra es para la alimentación de la tarjeta de adquisición de datos.
Justificación
Actualmente existen reguladores de carga, que no son flexibles en cuanto a la
modificación de sus parámetros de regulación. Con estos reguladores no es posible
verificar el estado de carga ni el de descarga de la batería, siendo estos estados
influyentes en la vida útil de la misma.
Tomando en consideración los planteamientos anteriores, se pretende implementar un
regulador que sea flexible en cuanto a la modificación de sus parámetros de regulación e
implementar una tarjeta de adquisición de datos que se pueda usar en cualquier proceso
y que acoplada al regulador permita conocer el estado de carga y de descarga de la
batería a través del tiempo.
Para el desarrollo de este proyecto, se usarán tecnologías en hardware y software como
lo es el microcontrolador PIC 16F877A y programación grafica en el entorno de Labview.

Objetivos
Objetivo general.
Diseñar y construir un cargador de batería y un sistema adquisidor de datos para el
monitoreo de parámetros eléctricos en sistemas fotovoltaicos.

Objetivos específicos:

1. Implementación de un Regulador de Carga de un sistema convencional utilizando el


microcontrolador PIC 16F877.

2. Implementación de una Tarjeta de Adquisición de Datos de uso generalizado aplicado a


sistemas convencionales fotovoltaicos.
Antecedentes
Manifestación de la energía solar

El término energía solar se refiere al aprovechamiento de la energía que proviene del Sol.
Se trata de un tipo de energía renovable. La energía contenida en el Sol es tan abundante
que se considera inagotable. El Sol lleva 5 mil millones de años emitiendo radiación
solar y se calcula que todavía no ha llegado al 50% de de su existencia.
La energía solar, además de ser inagotable es abundante: la cantidad de energía que
el Sol vierte diariamente sobre la Tierra es diez mil veces mayor que la que se consume al
día en todo el planeta. La radiación recibida se distribuye de una forma más o menos
uniforme sobre toda la superficie terrestre, lo que dificulta su aprovechamiento.
La energía solar, además de ser una fuente de energía renovable, es una energía limpia y
supone una alternativa a otros tipos de energía no renovables como la energía fósil o
la energía nuclear.
La energía solar es la energía contenida en la radiación solar que es transformada
mediante los correspondientes dispositivos, en forma de energía térmica o energía
eléctrica, para su consumo posterior allá donde se necesite.
El elemento encargado de captar la radiación solar y transformarla en energía útil es
el panel solar. Los paneles solares pueden ser de distintos tipos dependiendo del
mecanismo escogido para el aprovechamiento de la energía solar:
 Mediante captadores solares térmicos (energía solar térmica)
 Mediante módulos fotovoltaicos (energía solar fotovoltaica)
 Sin ningún elemento externo (energía solar pasiva)
Tipos la energía solar

En la actualidad existen básicamente tres formas para aprovechar la energía solar.


La energía solar pasiva.
La energía solar fotovoltaica.
La energía solar térmica.
La energía solar pasiva es el método más antiguo de aprovechamiento de la radiación
solar. Se trata del método que ya utilizaban las culturas antiguas tal y como se explica
en historia de la energía solar. Este sistema consiste en aprovechar la radiación solar sin
la utilización de ningún dispositivo o aparato intermedio, mediante la adecuada ubicación,
diseño y orientación de los edificios, empleando correctamente las propiedades de los
materiales y los elementos arquitectónicos de los mismos: aislamientos, tipo de cubiertas,
protecciones, etc. Aplicando criterios de arquitectura bioclimática se puede reducir
significativamente la necesidad de climatizar los edificios y de iluminarlos.
La energía solar fotovoltaica aprovecha el efecto fotovoltaico para generar una corriente
eléctrica. La corriente que generan los paneles solares es corriente contínua, que tratada
correctamente (convirtiéndola en corriente alterna), se puede utilizar para
suministrar electricidad en instalaciones autónomas o se puede utilizar para suministrarla
(venderla) directamente a la red eléctrica.
Otra forma de aprovechamiento muy habitual y económico se trata de la energía solar
térmica. Su funcionamiento se basa en el aprovechamiento de la radiación solar para
calentar agua mediante colectores solares. Los colectores solares aumentan
la temperatura del fluido aumentando su energía interna. De esta forma es fácil
transportar la energía térmica generada y utilizarla donde se necesite: se podrá utilizar
para obtener agua caliente sanitaria o para la calefacción de una vivienda.

Energías derivadas de la energía solar


La mayoría de los sistemas energéticos son derivados de la energía solar. Dentro de
las energías renovables, por ejemplo, la energía eólica es la energía obtenida del viento.
Pero ¿Cómo se genera este viento? El Sol, al calentar el aire de la superficie genera
corrientes de aire. El aire caliente sube y su lugar es ocupado por otra masa de aire que
estaba a su alrededor. Este movimiento provoca el viento.
En el caso de la energía hidráulica, se aprovecha la energía potencial del agua al caer de
un sitio elevado para accionar unas turbinas. Pero ¿Cómo sube el agua hasta allí? El Sol,
al calentar el agua, esta se evapora formando las nubes. Una vez se condense el agua
volverá a caer para alimentar ríos y pantanos y volver a accionar las turbinas.
Incluso en energías no renovables como el carbón y el petróleo, la energía solar tiene
cierta influencia. Los combustibles fósiles son el resultado de un largo proceso de
transformación de millones de años de plantas y compuestos orgánicos. Estas plantas y
organismos, en su día fueron alimentados por el Sol a través de la fotosíntesis.
Radiación solar
La radiación solar es la energía radiante emitida en el espacio interplanetario del Sol. Esta
radiación se genera a partir de las reacciones termonucleares de fusión que se producen
en el núcleo solar y que producen la radiación electromagnética en varias frecuencias o
longitudes de onda, que se propaga entonces en el espacio a las velocidades típicas de
estas olas. Esta propagación permite llevar energía solar con ellas.
La constante solar es la cantidad de energía recibida en forma de radiación solar por
unidad de tiempo y unidad de superficie, medida en la parte externa de la atmósfera
terrestre en un plano perpendicular a los rayos del Sol. Los resultados de su medición por
satélites arrojan un valor promedio de 1366 Wm-2.
La energía solar y consecuentemente la radiación solar resulta del proceso de fusión
nuclear que tiene lugar en el Sol. Esta energía es la principal fuente energética y, por lo
tanto, el motor que mueve nuestro medio ambiente. La energía solar que recibimos
mediante la radiación solar es responsable directamente o indirectamente de aspectos tan
importantes para la vida como la fotosíntesis, el mantenimiento de una temperatura del
planeta compatible con la vida, del viento, etc. La energía solar que llega a la superficie
terrestre es 10.000 veces mayor que la energía consumida actualmente por toda la
humanidad.
La radiación es la trasferencia de energía por ondas electromagnéticas. La radiación se
produce directamente desde la fuente hacia fuera en todas las direcciones. Estas ondas
no necesitan un medio material para propagarse, pueden atravesar el espacio
interplanetario y llegar a la Tierra desde el Sol.

La longitud de onda y la frecuencia de las ondas electromagnéticas, son importantes para


determinar su energía, su visibilidad y su poder de penetración. Todas las ondas
electromagnéticas se desplazan en el vacío a una velocidad de 299.792 Km/s.

Características de la radiación solar


La radiación solar no se concentra en una sola frecuencia, sino que se distribuye en un
amplio espectro de amplitud no uniforme con la forma típica de una campana, como es
típico del espectro de un cuerpo negro con el que se modela la fuente solar. El máximo de
radiación se centra en la banda de radiación o luz visible con un pico a 500 nm fuera de la
atmósfera terrestre según la ley de Wien, que corresponde al color verde cian.

La banda de radiación fotosintéticamente activa (PAR) oscila entre 400 y 700 nm,
corresponde a la radiación visible y equivale al 41% de la radiación total. Dentro del PAR
hay sub-bandas con radiación:

 azul-violeta (400-490 nm)


 verde (490-560 nm)
 amarillo (560-590 nm)
 rojo anaranjado (590-700 nm)
Además de la radiación visible, un componente energéticamente minoritario, pero sin
embargo digno de mención por sus efectos es el infrarrojo y, sobre todo, los rayos
ultravioletas.

Al cruzar la atmósfera la radiación solar se somete a fenómenos de reflexión, refracción,


absorción y difusión por los diversos gases atmosféricos en un grado variable en función
de la frecuencia, de modo que el suelo del espectro solar es irregular en comparación con
la detectada en los umbrales externas de atmósfera (TOA) con presencia de bandas
típicas de absorción o reflexión.

Propagación de la radiación solar en la atmósfera y en la superficie


de la tierra
Por las características de la atmósfera terrestre la radiación solar sufre unas determinadas
alteraciones para atravesarla y llegar a la superficie.

Balance de radiación
En promedio, la Tierra recibe 1 366 W / m² (constante solar) del Sol. Esto está relacionado
con los umbrales de la atmósfera y el plano perpendicular a los rayos solares entrantes:
es por lo tanto necesario tener en cuenta que la radiación solar en la Tierra golpea un
casquete esférico durante 1440 minutos cada día, disminuyendo en un 75%. La atmósfera
a su vez filtra los rayos del Sol hasta cierto punto, como lo hace cada cuerpo, causando:

 una reflexión y un back-dispersión de los rayos, debido a su albedo, a las nubes y


gases atmosféricos mismos;
 una absorción que provoca un aumento de la temperatura, como resultado de lo cual
emite radiación en cualquier dirección de acuerdo con la ley de Wien. Sin embargo,
esta absorción es modesta en la banda de luz visible, por lo que es transparente a la
radiación solar directa.
Aproximadamente la mitad de la radiación solar atraviesa la atmósfera sin alteraciones,
tomando el nombre de radiación neta. La mitad de la radiación neta contribuye finalmente
a la evaporación de las masas de agua, por lo tanto, la energía solar disponible es
aproximadamente una cuarta parte de la energía total emitida.

La estratosfera absorbe los rayos ultravioleta incluidos en la banda de 200-300 nm gracias


al ozono, la troposfera absorbe y difunde el infrarrojo gracias al vapor de agua y al CO2 .
La acción de filtrado de las bandas en las longitudes de onda ultravioleta, en su mayoría
letales, es esencial para el desarrollo de la vida.
Radiación solar difusa
La radiación difusa también recibe el nombre de radiación indirecta. La radiación solar
difusa representa la porción de radiación solar que ha golpeado al menos una partícula de
gases atmosféricos al cambiar el ángulo de incidencia y que, sin embargo, alcanza el
suelo porque está dirigida hacia él. Aumenta en relación con el total en cielos nublados.
En particular, la dispersión de Rayleigh del componente azul de la radiación solar es
responsable del color azul del cielo. Una parte de la radiación difusa está hacia atrás
hacia, el espacio.

Radiación solar incidente


La radiación solar incidente es esa radiación que ha encontrado cualquier obstáculo al
que ha entregado toda o parte de su energía. La energía que no llega a la superficie de la
tierra se dice que está extinta y está formada por la radiación re-emitida, reflejada y
retrodispersada hacia el espacio.

De acuerdo con la ley de Lambert, la cantidad de radiación que golpea la unidad de


superficie es proporcional al coseno del ángulo de incidencia.

La cantidad máxima de radiación solar incidente se obtiene con incidencia perpendicular,


ya que el ángulo aumenta, tanto la superficie afectada por la misma cantidad de radiación
como el grosor de la atmósfera atravesada por estos aumenta. Esto crea las variaciones
diarias, anuales y latitudinales en la irradiación.

Radiación solar reflejada


La radiación solar reflejada es la parte de la radiación solar incidente reflejada desde la
superficie de la tierra debido al efecto albedo. El albedo es el coeficiente de reflexión c.
Los valores de c generalmente están entre 0 y 1 o se expresan como un porcentaje. Está
dada por la relación entre la energía radiante reflejada desde una superficie con respecto
a la energía incidente. La Tierra tiene un valor promedio de 40% (c = 0.4). A la altitud del
albedo de la Tierra, agregamos las radiaciones reflejadas por las partículas atmosféricas
hacia el espacio.

Radiación solar absorbida


Después de deducir todas las pérdidas debidas a la reflexión y la retrodispersión de la
atmósfera y la superficie de la Tierra, la radiación solar incidente que queda es absorbida
por la superficie de la Tierra y por lo tanto contribuye a su calentamiento, de una manera
variable en función de la latitud y el tipo de superficie.
TRAYECTORIA E INCLINACION DEL SOL
La trayectoria del sol diaria, vista desde el cielo, es un arco que sale en el este y se mete
en el oeste y que varía según la estación del año en la que estemos. En invierno este arco
es más reducido (sureste-suroeste) y las orientaciones a norte no reciben sol.
En verano en cambio este arco es más amplio (noreste-noroeste) y las orientaciones a
norte reciben también sol. En primavera y otoño, este arco sería algo intermedio, en el
que el sol de movería de este a oeste.

La inclinación con la que incide el sol, es el ángulo y altura que va cogiendo a lo largo del
día, amaneciendo desde cero, pasando por su altura máxima al mediodía, y volviendo a
cero al anochecer. En este caso también, la gran diferencia está en la estación del año,
en invierno está muy bajo y en verano más alto. Como veremos más adelante, esta altura
será la que nos marque si es una ventaja o no la captación del sol, ya que habrá casos
que nos convenga protegernos del mismo.
El ángulo máximo del sol en verano y al mediodía, es decir cuando está al sur, está entre
77º-70º y en invierno entre 30º-23º. Como vemos nos movemos en un abanico
dependiendo de la latitud en que estemos: cuanto más al sur más alto estará el sol.
ORIENTACION NORTE, NORESTE y NOROESTE
La orientación norte, noreste y noroeste es la que menos horas de sol recibe en el
balance energético del año. El sol sólo da unas pocas horas en verano y además de
forma indirecta. Estas horas de sol, son las primeras de la mañana y las últimas de la
noche, con lo cual apenas dará un aporte de calor.
Esta orientación es adecuada para protegernos del sobrecalentamiento y situar espacios
que queramos que estén en sombra. En cambio, no es adecuada cuando busquemos
un aporte de calor. Por lo tanto aquí situaremos espacios que hagan de colchón
térmico como garaje, lavadero, trastero.
Al centrarnos en el aporte de energía, estamos valorando solo la luz directa del sol. Pero
también hay que destacar una cualidad de la orientación norte que es la luz indirecta que
recibe y que es tan esencial para usos de aulas, bibliotecas, salas de exposiciones, etc.
ORIENTACION ESTE
El este, es la orientación de la salida del sol, el amanecer, y recibe radiación todo el año
desde la salida hasta el mediodía. En invierno la radiación será más suave, mientras que
en verano incidirá más. Es la luz de la mañana y usos como dormitorios y cocinas son
muy recomendables y agradables.
El sol todavía no ha cogido mucha altura y por lo tanto entrará en los espacios casi en
ángulo horizontal. En invierno será muy agradable, pero si estamos en zonas que en
verano pueda haber sobrecalentamientos, habrá que utilizar protecciones solares pasivas
en los huecos de ventanas mediante sistemas de lamas u otros mecanismos.
ORIENTACION OESTE
El oeste, es la orientación de la entrada del sol, el ocaso, y recibe radiación todo el año
desde el mediodía hasta el anochecer. El oeste es la luz del atardecer y “usos” como
un salón son muy agradables. Al igual que en el este, en invierno la radiación será más
suave, mientras que en verano incidirá más. De hecho la peor orientación para controlar
el sobrecalentamiento del verano es el oeste y lo desarrollaremos a continuación.
En verano, pongámonos en julio, la orientación que mas radiación recibe es la oeste,
aunque siempre se piense que es la sur, ¿cuál es la razón?. La orientación sur recibe
también muchas horas de sol, pero el sol esta alto y no le da en perpendicular, y es fácil
controlarlo mediante una visera o similar. A medida que el sol sigue su trayectoria hacia el
oeste, va bajando su altura y por lo tanto entrará en los espacios casi en ángulo
horizontal, con mucha incidencia.
Cuando el sol está muy bajo, es más complicado el control y el sobrecalentamiento de la
tarde puede ser un problema. La protección horizontal no pararía el sol y tendríamos que
ir a sistemas de lamas verticales que requerirían de un estudio preciso. Si vemos que
puede existir sobrecalentamiento importante, la mejor recomendación seria intentar abrir
pocos huecos al oeste y controlados.
Aun así, si no existe problema de sobrecalentamiento, el oeste también puede ser
interesante para captación solar.

ORIENTACION SUR
Para lo último, hemos dejado la orientación que más alegrías nos da, la orientación
sur. Recibe radiación todo el año y durante las horas centrales que es cuando la radiación
más fuerza tiene. Pero igual o casi más de importante, es que empleamos una de las
estrategias más esenciales de la bioclimática por medios pasivos (condiciones climáticas
aprovechando los recursos disponibles). En invierno la radiación sur entra sin obstáculos
y en verano con un elemento de protección lo controlamos fácilmente.
En invierno, la ganancia solar en la orientación sur, hace que el balance energético sea
muy positivo, reduciéndose la demanda de calefacción a valores de casa pasiva.
Las orientaciones sureste y suroeste reciben radiación solar todo el año, desde el
amanecer hasta el mediodía y desde mediodía hasta el ocaso respectivamente. Si los
grados de diferencia con respecto al sur están dentro de los 30º, se asume que están
dentro de los valores de la orientación sur. Si superan los 30º de diferencia, la radiación
no sería tan fuerte y al mismo tiempo tendríamos que estudiar el control solar ya que el
sol estaría más bajo.
Posición del sol
Una forma clásica de representación del cielo consiste en imaginar una esfera con la
Tierra fija en su centro. Esta esfera se conoce con el nombre de esfera celeste y cada uno
de sus puntos representa una dirección del cielo vista desde la Tierra. Su intersección con
el plano del ecuador terrestre define el ecuador celeste. Los puntos de intersección con
el eje polar terrestre se llaman polos celestes.

El movimiento de la Tierra alrededor del Sol puede describirse, utilizando esta forma de
representación, como un movimiento del Sol alrededor de la Tierra; siendo el máximo el
circulo cuando forma un ángulo de 23.45º con el ecuador celeste y que se
denomina elíptica.

El Sol recorre este círculo una vez al año y la esfera celeste gira una vez al día alrededor
de la Tierra que permanece fija. De esta forma, el Sol describe diariamente y alrededor de
la Tierra, un circulo cuyo diámetro cambia de día a día y es máximo en los
equinoccios y mínimo en los solsticios. Los sentidos de giro del Sol sobre la elíptica y de
la esfera celeste alrededor de la Tierra son contrarios.

Existe una expresión que permite calcular el valor de la declinación solar (en grados) para
cualquier día del año de una manera precisa. Esta expresión es la ecuación que
mostramos a continuación:

(1)
En esta expresión, en radianes, se conoce como ángulo diario a:

La pequeña excentricidad de la elíptica (0.01673) hace que la distancia entre el Sol y la


Tierra varíe de acuerdo con la ecuación que mostramos a continuación:
(2)

Las expresiones (1) y (2) tienen en cuenta el hecho de que la velocidad angular de la
Tierra en su camino sobre la elíptica es variable y se ajusta a la conocida ley de Kepler,
según la cual, los planetas barren áreas iguales en tiempos iguales. Sin embargo, para la
mayoría de las aplicaciones de la ingeniería, la aproximación de considerar que la Tierra
gira alrededor del Sol con velocidad angular constante es muy cómoda y conduce a una
exactitud suficiente.

En este caso, las ecuaciones (1) y (2) pueden sustituirse por unas más sencillas de
manejar, que son:

A la hora de estudiar la inclinación más adecuada con la que se debe orientar los
generadores fotovoltaicos, es necesario precisar la posición del Sol en cada instante para
optimizar su rendimiento. El sistema más apropiado para definir cada una de estas
posiciones es la de coordenadas polares. En este sistema el origen está situado en la
posición del receptor. El plano fundamental es el horizontal, tangente a la superficie
terrestre. La perpendicular a este plano en dirección a la semiesfera celeste superior
define la posición del ZENIT del lugar o zenit local. En la dirección opuesta, a través de la
Tierra, se sitúa el NADIR. Las direcciones principales sobre el plano horizontal son la
Norte-Sur, intersección con el plano meridiano del lugar, y la perpendicular a ella Este-
Oeste, intersección con el plano denominado primer vertical. Respecto al sistema
anteriormente descrito, la posición del Sol se define mediante los siguientes parámetros:
- LATITUD DEL LUGAR (l): Es la complementaria del ángulo formado por la recta que
une el zenit y el nadir con el eje polar. Es positivo hacia el Norte y negativo hacia el Sur.

- MERIDIANO DEL LUGAR: Circulo máximo de la esfera terrestre que pasa por el lugar,
por el zenit y por el nadir.

- DISTANCIA ZENITAL(qzs): Es el ángulo formado por el radio vector punto-Tierra y la


vertical del lugar. Es positivo a partir del zenit.

- ALTURA SOLAR (gs): Ángulo que forman los rayos solares sobre la superficie
horizontal. Ángulo complementario de la distancia zenital.

- ÁNGULO ACIMUTAL (Ys): Ángulo formado por la proyección del Sol sobre el plano del
horizonte con la dirección Sur. Positivo 0º a 180º hacia el Oeste y negativo hacia el Este
0º a -180º.

- HORIZONTE: Lugar geométrico de los puntos con altura 0.


NATURALEZA DE LA RADIACIÓN SOLAR

Para conocer cuál es la posición del Sol en cada momento es necesario y suficiente
conocer las coordenadas que la definen, distancia cenital y acimut, con respecto a un
punto de una latitud determinada O.

Esto puede calcularse mediante las expresiones:

El ángulo de puesta de Sol es igual a -W(salida) y la Latitud del día es:


EL EFECTO FOTOVOLTAICO
Las aplicaciones de la energía solar fotovoltaica están basadas en el aprovechamiento
del efecto fotovoltaico que tiene mucho que ver con lo explicado anteriormente. De forma
muy resumida y desde el punto de vista eléctrico, el “efecto fotovoltaico” se produce al
incidir la radiación solar (fotones) sobre los materiales que definimos al principio como
semiconductores extrínsecos. La energía que reciben estos provenientes de los fotones,
provoca un movimiento caótico de electrones en el interior del material.

Al unir dos regiones de un semiconductor al que artificialmente se había dotado de


concentraciones diferentes de electrones, mediante los elementos que denominábamos
dopantes, se provocaba un campo electrostático constante que reconducía el movimiento
de electrones. Recordemos que este material formado por la unión de dos zonas de
concentraciones diferentes de electrones la denominábamos unión PN, pues la célula
solar en definitiva es esto; una unión PN en la que la parte iluminada será la tipo N y la no
iluminada será la tipo P.
De esta forma, cuando sobre la célula solar incide la radiación, aparece en ella una
tensión análoga a la que se produce entre las bornas de una pila. Mediante la colocación
de contactos metálicos en cada una de las caras puede “extraerse” la energía eléctrica,
que se utilizará para alimentar una carga.

Para que se produzca el efecto fotovoltaico debe cumplirse que:

Por otro lado y dando una explicación desde un punto de vista cuántico, su
funcionamiento se basa en la capacidad de transmitir la energía de los fotones de la
radiación solar a los electrones de valencia de los materiales semiconductores, de manera
que estos electrones rompen su enlace que anteriormente los tenía ligado a un átomo.
Por cada enlace que se rompe queda un electrón y un hueco (falta de electrón en un
enlace roto) para circular dentro del semiconductor. El movimiento de los electrones y
huecos en sentidos opuestos (conseguido por la existencia de un campo eléctrico como
veremos posteriormente) genera una corriente eléctrica en el semiconductor la cual puede
circular por un circuito externo y liberar la energía cedida por los fotones para crear los
pares electrón-hueco. El campo eléctrico necesario al que hacíamos referencia
anteriormente se consigue con la unión de dos semiconductores de diferente dopado,
como vimos al principio de esta sección: Un semiconductor tipo P (exceso de huecos) y
otro tipo N (exceso de electrones). Que al unirlos crea el campo eléctrico E.
Una célula solar es un dispositivo capaz de convertir la energía proveniente de la
radiación solar en energía eléctrica. La gran mayoría de las células solares que
actualmente están disponibles comercialmente son de Silicio mono o policristalino. El
primer tipo se encuentra más generalizado y aunque su proceso de elaboración es más
complicado, suele presentar mejores resultados en cuanto a su eficiencia.

Por otra parte, la experimentación con materiales tales como el Telurio de Cadmio o el
Diseleniuro de Indio-Cobre está llevando a las células fabricadas con estas sustancias a
situaciones próximas ya a aplicaciones comerciales, contándose con las ventajas de
poderse trabajar con tecnologías de láminas delgadas.

PRINCIPIO DE FUNCIONAMIENTO DE LA CELULA SOLAR: Cuando conectamos una


célula solar a una carga y la célula está iluminada, se produce una diferencia de potencial
en extremos de la carga y circula una corriente por ella (efecto fotovoltaico).
La corriente entregada a una carga por una célula solar es el resultado neto de dos
componentes internas de corriente que se oponen. Estas son:

Corriente de iluminación: debida a la generación de portadores que produce la


iluminación.

Corriente de oscuridad: debida a la recombinación de portadores que produce el voltaje


externo necesario para poder entregar energía a la carga.

Los fotones serán los que formaran, al romper el enlace, los pares electrón-hueco y,
debido al campo eléctrico producido por la unión de materiales en la célula de tipo P y N,
se separan antes de poder recombinarse formándose así la corriente eléctrica que circula
por la célula y la carga aplicada.

Algunos fotones pueden no ser aprovechados para la creación de energía eléctrica por
diferentes razones:

- Los fotones que tienen energía inferior al ancho de banda prohibida del semiconductor
atraviesan el semiconductor sin ceder su energía para crear pares electrón-hueco.

- Aunque un fotón tenga una energía mayor o igual al ancho de banda prohibida puede no
ser aprovechado ya que una célula no tiene la capacidad de absorberlos a todos.

- Además, los fotones pueden ser reflejados en la superficie de la célula.


CURVA CARACTERÍSTICA I-V DE ILUMINACIÓN REAL: La curva I-V de una célula
fotovoltaica representa pares de valores de tensión e intensidad en los que puede
encontrarse funcionando la célula. Los valores característicos son los siguientes:

TENSIÓN DE CIRCUITO ABIERTO (Voc): que es el máximo valor de tensión en


extremos de la célula y se da cuando esta no está conectada a ninguna carga.

CORRIENTE DE CORTOCIRCUITO (Isc): definido como el máximo valor de corriente


que circula por una célula fotovoltaica y se da cuando la célula está en cortocircuito.

La siguiente ecuación representa todos los pares de valores (I/V) en que puede trabajar
una célula fotovoltaica.

También se puede expresar con:

PUNTO DE MAXIMA POTENCIA "PMP" (PM): Es el producto del valor de tensión


máxima (VM) e intensidad máxima (IM) para los que la potencia entregada a una carga es
máxima.

FACTOR DE FORMA (FF): Se define como el cociente de potencia máxima que se puede
entregar a una carga entre el producto de la tensión de circuito abierto y la intensidad de
cortocircuito, es decir:
EFICIENCIA DE CONVERSIÓN ENERGÉTICA O RENDIMIENTO: Se define como el
cociente entre la máxima potencia eléctrica que se puede entregar a la carga (PM) y la
irradiancia incidente (PL) sobre la célula que es el producto de la irradiancia incidente G
por el área de la célula S:

Dichos parámetros se obtienen en unas condiciones estándar de medida de uso


universal según la norma EN61215.

Irradiancia: 1000W/m2 (1 KW/m2)

Distribución espectral de la radiación incidente: AM1.5 (masa de aire)

Incidencia normal.

Temperatura de la célula: 25ºC

Otro parámetro es la TONC o Temperatura de Operación Nominal de la Célula. Dicho


parámetro se define como la temperatura que alcanzan las células solares cuando se
someten a las siguientes condiciones de operación:

Irradiancia: 800W/m2

Distribución espectral de la radiación incidente: AM1.5 (masa de aire)

Incidencia normal

Temperatura ambiente: 20ºC

Velocidad del viento: 1m/s


INFLUENCIA DE LA TEMPERATURA EN LOS PARÁMETROS BÁSICOS DE UNA
CÉLULA FOTOVOLTAICA:
Al aumentar la temperatura de la célula empeora el funcionamiento de esta:

- Aumenta ligeramente la Intensidad de cortocircuito.


- Disminuye la tensión de circuito abierto, aprox: -2.3 mV/ºC
- El Factor de Forma disminuye.
- El rendimiento decrece.
La tecnología del Silicio como material de base para la fabricación de células
fotovoltaicas, está sujeta a constantes variaciones, experimentando diferencias
importantes según los distintos fabricantes.

PROCESO DE FABRICACIÓN: De forma muy resumida, el proceso de fabricación de


una célula mono o policristalina se puede dividir en las siguientes fases:

PRIMERA FASE: OBTENCIÓN DEL SILICIO


A partir de las rocas ricas en cuarzo (formadas principalmente por SiO2, muy abundantes
en la naturaleza) y mediante el proceso de reducción con carbono, se obtiene Silicio con
una pureza aproximada del 99%, que no resulta suficiente para usos electrónicos y que se
suele denominar Silicio de grado metalúrgico.

La industria de semiconductores purifica este Silicio por procedimientos químicos,


normalmente destilaciones de compuestos colorados de Silicio, hasta que la
concentración de impurezas es inferior al 0.2 partes por millón. El material así obtenido
suele ser llamado Silicio grado semiconductor y aunque tiene un grado de pureza
superior al requerido en muchos casos por las células solares, ha constituido la base del
abastecimiento de materia prima para aplicaciones solares, representando en la
actualidad casi las tres cuartas partes del abastecimiento de las industrias de fabricación
de células.

Sin embargo, para usos específicamente solares, son suficientes (dependiendo del tipo de
impureza y de la técnica de cristalización), concentraciones de impurezas del orden de
una parte por millón. Al material de esta concentración se le suele denominar Silicio
grado solar.

Existen actualmente tres posibles procedimientos en distintas fases de experimentación


para la obtención del Silicio grado solar, que proporcionan un producto casi tan eficaz
como el del grado semiconductor a un coste sensiblemente menor.

SEGUNDA FASE: CRISTALIZACIÓN


Una vez fundido el Silicio, se inicia la cristalización a partir de una semilla. Dicha semilla
es extraída del silicio fundido, este se va solidificando de forma cristalina, resultando, si el
tiempo es suficiente, un monocristal. El procedimiento más utilizado en la actualidad es el
convencional método Czochralsky, pudiéndose emplear también técnicas de colado. El
Silicio cristalino así obtenido tiene forma de lingotes. También se plantean otros métodos
capaces de producir directamente el Silicio en láminas a partir de técnicas basadas en la
epitaxia, en crecimiento sobre soporte o cristalización a partir de Si mediante matrices.

Se obtienen principalmente dos tipos de estructuras: una la monocristalina (con un único


frente de cristalización) y la otra la policristalina (con varios frentes de cristalización,
aunque con unas direcciones predominantes). La diferencia principal radica en el grado
de pureza del silicio durante el crecimiento/recristalización.

TERCERA FASE: OBTENCIÓN DE OBLEAS


El proceso de corte tiene gran importancia en la producción de las láminas obleas a partir
del lingote, ya que supone una importante perdida de material (que puede alcanzar el
50%). El espesor de las obleas resultantes suele ser del orden de 2-4mm.

CUARTA FASE: FABRICACIÓN DE LA CÉLULA Y LOS MÓDULOS


Una vez obtenida la oblea, es necesario mejorar su superficie, que presenta
irregularidades y defectos debidos al corte, además de retirar de la misma los restos que
puedan llevar (polvo, virutas), mediante el proceso denominado decapado.

Con la oblea limpia, se procede al texturizado de la misma (siempre para células


monocristalinas, ya que las células policristalinas no admiten este tipo de procesos),
aprovechando las propiedades cristalinas del Silicio para obtener una superficie que
absorba con más eficiencia la radiación solar incidente.

Posteriormente se procede a la formación de un unión PN mediante deposición de


distintos materiales (compuestos de fósforo para las partes N y compuestos de boro para
las partes P, aunque normalmente, las obleas ya están dopadas con boro), y su
integración en la estructura del silicio cristalino.

El siguiente paso es la formación de los contactos metálicos de la célula , en forma de


rejilla en la cara iluminada por el Sol, y continuo en la cara posterior. La formación de los
contactos en la cara iluminada se realiza mediante técnicas serigráficas, empleando
más reciente mente la tecnología láser para obtener contactos de mejor calidad y
rendimiento.

El contacto metálico de la cara sobre la cual incide la radiación solar suele tener forma de
rejilla, de modo que permita el paso de la luz y la extracción de corriente
simultáneamente. La otra cara está totalmente recubierta de metal.

Una célula individual normal, con un área de unos 75cm2 y suficientemente iluminada es
capaz de producir una diferencia de potencial de 0.4V y una potencia de 1W.

Finalmente, puede procederse a añadir una capa antirreflexiva sobre la célula, con el fin
de mejorar las posibilidades de absorción de la radiación solar.

Una vez concluidos los procesos sobre la célula, se procede a su comprobación,


previamente a su encapsulado, interconexión y montaje en los módulos.

En cuanto a la eficiencia de las diferentes tecnologías fotovoltaicas se pueden indicar


ciertos valores aproximados. Para el caso del Silicio monocristalino ésta se sitúa en,
aproximadamente entre un 16 y un 25% mientras que en el policristalino actualmente es
del 12-13% siendo posible que se eleve a corto plazo en un nivel similar al alcanzado ya
para el monocristalino.
Como resumen, en relación a la tecnología solar del silicio mono o policristalino, se puede
indicar que su situación es madura, pero no obstante existe un amplio aspecto de posibles
mejoras, muchas de ellas analizadas y verificadas en profundidad en laboratorios.

Otros posibles materiales para la fabricación de células solares es el Silicio amorfo. Esta
tecnología permite disponer de células de muy delgado espesor, lo cual presenta grandes
ventajas. Adicionalmente su proceso de fabricación es, al menos teóricamente, más
simple y sustancialmente más barato. La eficiencia es comparativamente algo menor que
en los casos anteriores (6-8%) y todavía no se dispone de datos suficientes en cuanto a
su estabilidad. Su principal campo de aplicación en la actualidad son los relojes, juguetes,
calculadoras y otras aplicaciones de consumo. Dentro de las aplicaciones energéticas
equivalentes a las de la tecnología del Silicio cristalino, su versatilidad es muy adecuada
para la confección de módulos semitransparentes empleados en algunas instalaciones
integradas en edificios.
Un panel solar esta constituido por varias células iguales conectadas eléctricamente
entre si, en serie y/o en paralelo, de forma que la tensión y corriente suministrada por el
panel se incrementa hasta ajustarse al valor deseado. La mayor parte de los paneles
solares se construyen asociando primero células en serie hasta conseguir el nivel de
tensión deseado, y luego asociando en paralelo varias asociaciones serie de células para
alcanzar el nivel de corriente deseado. Además, el panel cuenta con otros elementos a
parte de las células solares, que hacen posible la adecuada protección del conjunto frene
a los agentes externos; asegurando una rigidez suficiente, posibilitando la sujeción a las
estructuras que lo soportan y permitiendo la conexión eléctrica.

Estos elementos son:

- Cubierta exterior de cara al Sol. Es de vidrio que debe facilitar al máximo la transmisión
de la radiación solar. Se caracteriza por su resistencia mecánica, alta transmisividad y
bajo contenido en hierro.

- Encapsulante. De silicona o más frecuentemente EVA (etilen-vinil-acetato). Es


especialmente importante que no quede afectado en su transparencia por la continua
exposición al sol, buscándose además un índice de refracción similar al del vidrio
protector para no alterar las condiciones de la radiación incidente.
- Protección posterior. Igualmente debe dar rigidez y una gran protección frente a los
agentes atmosféricos. Usualmente se emplean láminas formadas por distintas capas de
materiales, de diferentes características.

- Marco metálico. De Aluminio, que asegura una suficiente rigidez y estanqueidad al


conjunto, incorporando los elementos de sujeción a la estructura exterior del panel. La
unión entre el marco metálico y los elementos que forman el modulo está realizada
mediante distintos tipos de sistemas resistentes a las condiciones de trabajo del panel.

- Cableado y bornas de conexión. Habituales en las instalaciones eléctricas, protegidos de


la intemperie por medio de cajas estancas.

- Diodo de protección. Su misión es proteger contra sobre-cargas u otras alteraciones de


las condiciones de funcionamiento de panel.

Los Panel solares tienen entre 28 y 40 células, aunque lo más típico es que cuenten con
36. La superficie del panel o modulo puede variar entre 0.1 y 0.5m2 y presenta dos bornas
de salida, positiva y negativa, a veces tienen alguna intermedia para colocar los diodos de
protección.

Normalmente, los paneles utilizados, están diseñados para trabajar en combinación con
baterías de tensiones múltiplo de 12V, como veremos en la sección dedicada al
acumulador.
La fabricación, comportamiento y características eléctricas y mecánicas del módulo
fotovoltaico, vienen determinadas en la hoja de características del producto que
proporciona el fabricante.

Al Igual que en la célula solar son importantes los siguientes parámetros:

- Potencia máxima o potencia pico del módulo (PmaxG).

Si se conecta una cierta carga al panel, el punto de trabajo vendrá determinado por la
corriente I y la tensión V existentes en el circuito. Estos habrán de ser menores que los
IscG y VocG que definiremos más adelante. La potencia P que el panel entrega a la carga
está determinada por la ecuación genérica:

A su valor mas alto se le llama potencia máxima o potencia pico del módulo. Los valores
de la corriente y de la tensión correspondiente a este punto se conocen respectivamente
como:

- IPmax Intensidad cuando la potencia es máxima o corriente en el punto e máxima


potencia.

- VPmax la tensión cuando la potencia también es máxima o tensión en el punto de


máxima potencia.

Otros parámetros son:

- Corriente de cortocircuito (IscG), que se obtiene al cortocircuitar los terminales del


panel (V=0) que al recibir la radiación solar, la intensidad que circularía por el panel es de
corriente máxima.

- Tensión de circuito abierto (VocG), que se obtiene de dejar los terminales del panel en
circuito abierto (I=0), entre ellos aparece al recibir la radiación una tensión que será
máxima.

Dichos parámetros se obtienen en unas condiciones estándar de medida de uso


universal según la norma EN61215. Establecidas como sigue y que el fabricante debe
especificar:

Irradiancia: 1000W/m2 (1 KW/m2)

Distribución espectral de la radiación incidente: AM1.5 (masa de aire)

Incidencia normal.
Temperatura de la célula: 25ºC

Otro parámetro que debería ser suministrado es la TONC o Temperatura de Operación


Nominal de la Célula. Dicho parámetro se define como la temperatura que alcanzan las
células solares cuando se somete al módulo a las siguientes condiciones de operación:

Irradiancia: 800W/m2

Distribución espectral de la radiación incidente: AM1.5 (masa de aire)

Incidencia normal

Temperatura ambiente: 20ºC

Velocidad del viento: 1m/s


Una vez conocidos estos parámetros, podemos determinar como afectan diferentes
factores a los paneles fotovoltaicos.

- La intensidad aumenta con la radiación, permaneciendo más o menos constante el


voltaje. Es importante conocer este efecto ya que los valores de la radiación cambian a lo
largo de todo el día en función del ángulo del Sol con el horizonte, por lo que, es
importante la adecuada colocación de los paneles existiendo la posibilidad de cambiar su
posición a lo largo del tiempo, bien según la hora del día o la estación del año.

Un mediodía a pleno sol equivale a una radiación de 1000 W/m2. Cuando el cielo está
cubierto, la radiación apenas alcanza los 100 W/m2.

- La exposición al Sol de las células provoca su calentamiento, lo que lleva


aparejados cambios en la producción de electricidad. Una radiación de 1000 W/m2 es
capaz de calentar una célula unos 30ºC por encima de la temperatura del aire
circundante. A medida que aumenta la temperatura, la tensión generada es menor, por lo
que es recomendable montar los paneles de tal manera que estén bien aireados y, en el
caso de que sea usual alcanzar altas temperaturas, plantearse la posibilidad de instalar
paneles con un mayor número de células.

Este factor condiciona enormemente el diseño de los sistemas de concentración, ya que


las temperaturas que se alcanzan son muy elevadas, por lo que las células, deben estar
diseñadas para trabajar en ese rango de temperatura o bien, contar con sistemas
adecuados para la disipación de calor.

- El número de células por modulo afecta principalmente al voltaje puesto que cada
una de ellas produce 0.4V. La Voc del módulo aumenta en esa proporción. Un panel solar
fotovoltaico se diseña para trabajar a una tensión nominal Vpn, procurando que los
valores de VPmax en las condiciones de iluminación y temperatura más frecuentes
coincidan con Vpn.

Los parámetros bajo los que operan los paneles fotovoltaicos, para una determinada
localización, hacen que la característica de voltaje DC de salida varíe dentro de un
margen considerable a lo largo de todo el año. La radiación y la temperatura ambiente
experimentan además otro tipo de variación debidos a factores diurnos y estacionarios.

LAS BATERIAS
En las instalaciones fotovoltaicas lo más habitual es utilizar un conjunto de baterías
asociadas en serie o paralelo para almacenar la energía eléctrica generada durante las
horas de radiación, para su utilización posterior en los momentos de baja o nula
insolación. Hay que destacar que la fiabilidad de la instalación global de electrificación
depende en gran medida de la del sistema de acumulación, siendo por ello un elemento al
que hay que dar la gran importancia que le corresponde.

De cara a su empleo en instalaciones de electrificación fotovoltaica, es necesario conocer


los siguientes conceptos:

- Capacidad: Es la cantidad de electricidad que puede obtenerse mediante la descarga


total de una batería inicialmente cargada al máximo. La capacidad de un acumulador se
mide en Amperios-hora (Ah), para un determinado tiempo de descarga, es decir una
batería de 130Ah es capaz de suministrar 130A en una hora o 13A en diez horas. Para
acumuladores fotovoltaicos es usual referirse a tiempos de descarga de 100 horas.
También al igual que para módulos solares puede definirse el voltaje de circuito abierto y
el voltaje en carga. Las baterías tienen un voltaje nominal que suele ser de 2, 6, 12, 24V,
aunque siempre varíe durante los distintos procesos de operación. Es importante el
voltaje de carga, que es la tensión necesaria para vencer la resistencia que opone el
acumulador a ser cargado.

- Eficiencia de carga: Que es la relación entre la energía empleada para cargar la batería
y a realmente almacenada. Una eficiencia del 100% significa que toda la energía
empleada para la carga puede ser remplazada para la descarga posterior. Si la eficiencia
de carga es baja, es necesario dotarse de un mayor numero de paneles para realizar las
mismas aplicaciones.

- Autodescarga: Es el proceso por el cual el acumulador, sin estar en uso, tiende a


descargarse.

- Profundidad de descarga: Se denomina profundidad de descarga al valor en tanto por


ciento de la energía que se ha sacado de un acumulador plenamente cargado en una
descarga. Como ejemplo, si tenemos una batería de 100Ah y la sometemos a una
descarga de 20Ah, esto representa una profundidad de descarga del 20%.
A partir de la profundidad de descarga podemos encontrarnos con descargas superficiales
(de menos del 20%) o profundas (hasta 80%). Ambas pueden relacionarse con ciclos
diarios y anuales. Es necesario recalcar que cuanto menos profundos sean los ciclos de
carga/descarga, mayor será la duración del acumulador. También es importante saber
que, para la mayoría de los tipos de baterías, un acumulador que queda totalmente
descargado, puede quedar dañado seriamente y perder gran parte de su capacidad de
carga.

Todos estos parámetros característicos de los acumuladores pueden variar sensiblemente


con las condiciones ambientales, tal como ocurría en los módulos fotovoltaicos.
En diferentes fases de desarrollo se encuentran baterías de distintos tipos, algunos de los
cuales son:

- Plomo ácido (Pb-ácido)


- Níquel-Cadmio (Ni-Cd)
- Níquel-Zinc (Ni-Zn)
- Zn-Cloro (Zn-Cl2)

De todos los acumuladores más del 90% del mercado corresponde a las baterías de
plomo ácido, que en general, y siempre que pueda realizarse un mantenimiento, son las
que mejor se adaptan a los sistemas de generación fotovoltaica. Dentro de las de plomo
ácido se encuentran las de Plomo-Calcio (Pb-Ca) y las de Plomo-Antimonio (Pb-Sb). Las
primeras tienen a su favor una menor autodescarga, así como un mantenimiento mas
limitado, mientras que las de Pb-Sb de tipo abierto y tubular se deterioran menos con la
sucesión de ciclos y presentan mejores propiedades para niveles de baja carga. Este
segundo tipo de baterías soporta grandes descargas y siempre tienen, atendiendo a las
condiciones de uso, una vida media de diez o quince años.

Por su implantación a nivel comercial tiene también cierta importancia los acumuladores
de Níquel-Cadmio, que entre otras ventajas frente a las de plomo ácido presentan la
posibilidad de ser empleados sin elemento regulador, la posibilidad de permanecer largo
tiempo con bajo estado de carga, la estabilidad en la tensión suministrada y un
mantenimiento mucho más espaciado en el tiempo. Sin embargo, su coste se cuadruplica
y su baja capacidad a régimen de descarga lenta, desaconseja su uso en gran parte de
las aplicaciones fotovoltaicas.

Todas estas baterías pueden presentarse en forma estanca, conocidas como libres de
mantenimiento o sin mantenimiento, lo que es beneficioso para algunas aplicaciones. No
obstante, presentan una duración muy limitada frente a los acumuladores abiertos, no
existen en el mercado acumuladores estancos de alta capacidad y son más caros que los
abiertos.

El resto de baterías no presenta en la actualidad características que hagan recomendable


su empleo en sistemas de electrificación fotovoltaica.

Es relación a las baterías deben tenerse en cuenta los siguientes aspectos:

- Instalar las baterías en lugares ventilados, evitando la presencia de llamas cerca de las
mismas.

- Ajustar el nivel del electrolito hasta la altura recomendada por el fabricante, utilizando
siempre agua destilada, nunca agua del grifo y teniendo especial precaución para no
tocarlo ni derramarlo.

- Una vez conectadas las baterías, las bornas deben cubrirse con vaselina.

- No utilizar las baterías del sistema fotovoltaico para arrancar vehículos.

- No debe utilizarse conjuntamente baterías de distintos tipos cuando no estén preparadas


para ello.

- Con el fin de prevenir posibles cortocircuitos debe respetarse la polaridad, las


herramientas deben estar adecuadamente protegidas y las baterías o los terminales
deben estar cubiertos para prevenir cortocircuitos accidentales por caída de objetos.

- Las baterías deben estar colocadas por encima del nivel del suelo.
EL REGULADOR FOTOVOLTAICO
Para un funcionamiento satisfactorio de la instalación en la unión de los paneles solares
con la batería ha de instalarse un sistema de regulación de carga. Este sistema es
siempre necesario, salvo en el caso de los paneles autorregulados. El regulador tiene
como función fundamental impedir que la batería continúe recibiendo energía del colector
solar una vez que ha alcanzado su carga máxima. Si, una vez que se ha alcanzado la
carga máxima, se intenta seguir introduciendo energía, se inicia en la batería procesos de
gasificación (hidrólisis del agua en hidrógeno y oxígeno) o de calentamiento, que pueden
llegar a ser peligroso y, en cualquier caso, acortaría sensiblemente la vida de la misma.

Otra función del regulador es la prevención de la sobredescarga, con el fin de evitar que
se agote en exceso la carga de la batería, siendo éste un fenómeno, que como ya se ha
dicho, puede provocar una sensible disminución en la capacidad de carga de la batería en
sucesivos ciclos. Algunos reguladores incorporan una alarma sonora o luminosa previa a
la desconexión para que el usuario pueda tomar medidas adecuadas, como reducción del
consumo, u otras. Los reguladores más modernos integran las funciones de prevención
de la sobrecarga y las sobredescargas en un mismo equipo, que además suministra
información del estado de carga de la batería, la tensión existente en la misma a demás
de ir provistos de sistemas de protección tales como fusibles, diodos, etc., para prevenir
daños en los equipos debidos a excesivas cargas puntuales. Estos reguladores también
pueden incorporar sistemas que sustituyan a los diodos encargados de impedir el flujo de
electricidad de la batería a los paneles solares en la oscuridad, con un costo energético
mucho menor.

También es interesante incorporar modelos de regulación que introducen modos de carga


“en flotación”, lo cual permite una carga más completa de las baterías y un mejor
aprovechamiento de la energía de los paneles.
Las características eléctricas que definen un regulador son su tensión nominal y la
intensidad máxima que es capaz de disipar.

SISTEMAS FOTOVOLTAICOS AUTÓNOMOS


Los sistemas fotovoltaicos autónomos (SFA) suelen estar constituidos por los siguientes
elementos (descritos en el punto referente a componentes e un sistema fotovoltaico):
generador, acumulador y carga.

Los SFA son diseñados con el fin de proporcionar la energía eléctrica necesaria a una
cargas. Y esta es una de las primeras limitaciones que existen en el diseño de SFA, ya
que es difícil calcular el consumo energético de cada una de las cargas. Uno de los
métodos seguidos es averiguar el valor de la potencia de cada una de las cargas que
compondrán el SFA y multiplicarlo por el número de horas de funcionamiento al día
(suponiendo el consumo de energía constante a lo largo del tiempo para cada una de las
cargas) aunque este método también da lugar a la incertidumbre ya que es difícil
determinar el número de horas que cada carga pueda funcionar y éste número de horas
variará según las épocas del año.

En los SFA dado el precio, algo más elevado, del KWh fotovoltaico que el obtenido de la
red eléctrica convencional, es necesario una optimización del consumo energético de las
cargas, como ejemplo se debe considerar que en ningún SFA deberían utilizarse
luminarias incandescentes ya que son más eficiente los tubos fosforescentes que
presentan una relación entre lúmenes/watio consumido más óptima para estos sistemas.
Los poseedores de SFA deben de estar concienciados de que el consumo energético que
realicen será el que su reserva energética les permita, a diferencia de los consumidores
de energía eléctrica de la red que podrán consumir la energía eléctrica que ellos puedan
pagar.

Otra consideración en el diseño de estos sistemas tener conocimiento del principal 'imput'
de los Sistemas Fotovoltaicos, es decir la Radiación Solar. Este dato puede ser obtenido
de un instituto de meteorología. En este curso se ofrece un programa de cálculo de
irradiación media diaria mensual en el capítulo de Radiación Solar.

Otro elemento a tener en cuenta en el diseño es el dimensionamiento de los


acumuladores de energía de los acumuladores.
Aquí se presentan los dos tipos de esquemas de sistemas fotovoltaicos autónomos según
sea el carácter de las cargas:

Este esquema es utilizado cuando las cargas necesitan corriente continua: Iluminación,
equipos de corriente continua, frigoríficos especiales etc.

Este otro esquema se utiliza cuando las cargas necesitan corriente alterna tales como
motores en bombeo, electrodomésticos en general, etc.
El Microcontrolador PIC16F877
El PIC16F877 es un microcontrolador con memoria de programa tipo FLASH, lo que
representa gran facilidad en el desarrollo de prototipos y en su aprendizaje ya que no se
requiere borrarlo con luz ultravioleta como las versiones EPROM, sino que permite
reprogramarlo nuevamente sin ser borrado con anterioridad.

El PIC16F877 es un microcontrolador de Microchip Technology fabricado en tec-


nología CMOS, su consumo de potencia es muy bajo y además es completamente
estático, esto quiere decir que el reloj puede detenerse y los datos de la memoria no
se pierden.

El encapsulado más común para este microcontrolador es el DIP (Dual In-line Pin) de 40
pines, propio para usarlo en experimentación. La referencia completa es PIC16F877-04
para el dispositivo que utiliza cristal oscilador de hasta 4 MHz, PIC16F877-20 para el
dispositivo que utiliza cristal oscilador de hasta 20 MHz o PIC16F877A-I para el
dispositivo tipo industrial que puede trabajar hasta a 20 MHz. Sin embargo, hay otros
tipos de encapsulado que se pueden utilizar según el diseño y la aplicación que se quiere
realizar. Por ejemplo, el encapsulado tipo surface mount (montaje superficial) tiene un
reducido tamaño y bajo costo, que lo hace propio para producciones en serie o para
utilizarlo en lugares de espacio muy reducido.

Configuración de pines
Figura 3.1. Distribución de pines del PIC16F877.

Los pines de entrada/salida de este microcontrolador están organizados en cinco puertos,


el puerto A con 6 líneas, el puerto B con 8 líneas, el puerto C con 8 líneas, el puerto D con
8 líneas y el puerto E con 3 líneas. Cada pin de esos puertos se puede configurar como
entrada o como salida independiente programando un par de registros diseñados para tal
fin. En ese registro un bit en "0" configura el pin del puerto correspondiente como salida y
un bit en "1" lo configura como entrada. Dichos pines del microcontrolador también
pueden cumplir otras funciones especiales, siempre y cuando se configuren para ello,
según se verá más adelante.
RA0/AN0
RC0
RA1/AN1
RC1
Puerto A RA2/AN2/Vref-
RC2
RA3/AN3/Vref+ Puerto C
RC3
RC4
RC5
RC6/Tx
RC7/Rx
RD0
RD1
RD2
Puerto D
RD3
RB0/INT
RD4
RB1
RD5
RB2
RD6
RB3 Puerto B
RD7
RB4
RB5
RB6
RE0/RD/AN5
Puerto E RB7
RE1/WR/AN6
RE2/CS/AN7
RA4/TOCKI
RA5/AN4

Figura 3.2. Distribución de los puertos del PIC16F877

Los pines del puerto A y del puerto E pueden trabajar como entradas para el convertidor
Análogo a Digital interno, es decir, allí se podría conectar una señal proveniente de un
sensor o de un circuito analógico para que el microcontrolador la convierta en su
equivalente digital y pueda realizar algún proceso de control o de instrumentación digital.
El pin RB0/INT se puede configurar por software para que funcione como interrupción
externa, para configurarlo se utilizan unos bits de los registros que controlan las
interrupciones.

El pin RA4/TOCKI del puerto A puede ser configurado como un pin de entrada/salida o
como entrada del temporizador/contador. Cuando este pin se programa como entrada
digital, funciona como un disparador de Schmitt (Schmitt trigger), puede reconocer
señales un poco distorsionadas y llevarlas a niveles lógicos (cero y cinco voltios). Cuando
se usa como salida digital se comporta como colector abierto (open collector), por lo tanto,
se debe poner una resistencia de pull-up (resistencia externa conectada a un nivel de
cinco voltios). Como salida, la lógica es inversa: un "0" escrito al pin del puerto entrega en
el pin un "1" lógico. Además, como salida no puede manejar cargas como fuente, sólo en
el modo sumidero.

El puerto E puede controlar la conexión en modo microprocesador con otros dispositivos


utilizando las líneas RD (read), WR (write) y CS (chip select). En este modo el puerto D
funciona como un bus de datos de 8 bits (pines PSP).

La máxima capacidad de corriente de cada uno de los pines de los puertos en modo
sumidero (sink) o en modo fuente (source) es de 25 mA . La máxima capacidad de
corriente total de los puertos es:

PUERTO A PUERTO B PUERTO C PUERTO D


Modo sumidero 150 mA 200 mA 200 mA 200 mA

Modo fuente 150 mA 200 mA 200mA 200mA

El consumo de corriente del microcontrolador para su funcionamiento depende del voltaje


de operación, la frecuencia y de las cargas que tengan sus pines. Para un oscilador de 4
MHz el consumo es de aproximadamente 2 mA; aunque este se puede reducir a 40
microamperios cuando se está en el modo sleep (en este modo el micro se detiene y
disminuye el consumo de potencia). Se sale de ese estado cuando se produce alguna
condición especial que veremos más adelante.
Figura 3.3. Capacidad de corriente de los pines y puertos.

Descripción de los pines del microcontrolador

Nombre pin Pin Descripción


RA0/AN0 2 E/S Digital o Entrada análoga 0.
RA1/AN1 3 E/S Digital o Entrada análoga 1.
RA2/AN2 Vref - 4 E/S Digital o Entrada análoga 2.
RA3/AN3/Vref + 5 E/S Digital o Entrada análoga 3.
RA4/T0CKI 6 Bit 4 del puerto A (E/S bidireccional ). También se usa como entrada de reloj al
temporizador/contador TMR0. Salida de colector abierto.
RA5/SS/AN4 7 E/S Digital o Entrada análoga 4. También lo usa el puerto serial síncrono.
RB0/INT 33 Bit 0 del puerto B (E/S bidireccional). Buffer E/S: TTL/ST. También se usa como entrada de
interrupción externa (INT).
RB1 34 Bit 1 del puerto B (E/S bidireccional). Buffer E/S: TTL
RB2 35 Bit 2 del puerto B (E/S bidireccional). Buffer E/S: TTL
RB3/PGM 36 Bit 3 del puerto B (E/S bidireccional). Buffer E/S: TTL (Programación en bajo voltaje)

RB4 37 Bit 4 del puerto B (E/S bidireccional). Buffer E/S: TTL. Interrupción por cambio del pin.

RB5 38 Bit 5 del puerto B (E/S bidireccional). Buffer E/S: TTL. Interrupción por cambio del pin.

RB6/PGC 39 Bit 6 del puerto B (E/S bidireccional). Buffer E/S: TTL/ST. Interrupción por cambio del pin.
Entrada de reloj para programación serial.
RB7/PGD 40 Bit 7 del puerto B (E/S bidireccional). Buffer E/S: TTL/ST. Interrupción por cambio del pin.
Entrada de datos para programación serial.
RC0/T1OSO/T1CKI 15 E/S Digital. Salida del oscilador Timer 1 o entrada de reloj Timer 1.
RC1/T1OSI/CCP2 16 E/S Digital. Entrada del oscilador Timer 1. Entrada Captura 2; Salida Compara 2; Salida
PWM 2
RC2/CCP1 17 E/S Digital. Entrada Captura 1; Salida Compara 1; Salida PWM 1
RC3/SCK/SCL 18 E/S Digital. Línea de reloj serial asíncrono en el modo SPI y el modo I²C
RC4/SDI/SDA 23 E/S Digital. Línea de datos en el modo SPI o en el modo I²C
RC5/SDO 24 E/S Digital.
RC6/TX/CK 25 E/S Digital. Transmisión asíncrona (USART) o reloj síncrono (SSP).
RC7/RX/DT 26 E/S Digital. Recepción asíncrona (USART) o línea de datos (SSP).
VDD 11,32 Voltaje de alimentación DC (+)
VSS 12,31 Referencia de voltaje (GND).
1 Entrada de RESET al microcontrolador. Voltaje de entrada durante la programación. En
MCLR nivel bajo resetea el microcontrolador.
OSC1/CLKIN 13 Entrada oscilador cristal oscilador / Entrada fuente de reloj externa.
OSC2/CLKOUT 14 Salida oscilador cristal. Oscilador RC: Salida con un ¼ frecuencia OSC1
RD0/PSP0 19 E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
RD1/PSP1 20 E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
RD2/PSP2 21 E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
RD3/PSP3 22 E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
RD4/PSP4 27 E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
RD5/PSP5 28 E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
RD6/PSP6 29 E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
RD7/PSP7 30 E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
RE0/RD/AN5 8 E/S Digital. Puede se pin de lectura (read) en modo microprocesador.
RE1/WR/AN6 9 E/S Digital. Puede ser pin de escritura (write) en modo microprocesador.
RE2/CS/AN7 10 E/S Digital. Puede ser pin de selección de chip (chip select) en modo microprocesador.

El oscilador externo
Todo microcontrolador requiere un circuito externo que le indique la velocidad a la que
debe trabajar. Este circuito, que se conoce como oscilador o reloj, es muy simple pero de
vital importancia para el buen funcionamiento del sistema. El PIC16F877 puede utilizar
cuatro tipos de oscilador diferentes. Estos tipos son:

RC. Oscilador con resistencia y condensador.


XT. Cristal (por ejemplo de 1 a 4 MHz).
HS. Cristal de alta frecuencia (por ejemplo 10 a 20 MHz).
LP. Cristal para baja frecuencia y bajo consumo de potencia.

En el momento de programar o “quemar” el microcontrolador se debe especificar que tipo


de oscilador se usa. Esto se hace a través de unos fusibles llamados “fusibles de
configuración”.

El tipo de oscilador que se sugiere para las prácticas es el XT con un cristal de 4 MHz,
porque garantiza precisión y es muy comercial. Internamente esta frecuencia es dividida
por cuatro, lo que hace que la frecuencia efectiva de trabajo sea de 1 MHz en este caso,
por lo que cada instrucción se ejecuta en un microsegundo. El cristal debe ir acompañado
de dos condensadores y se conecta como se muestra en la figura 3.4.
Figura 3.4. Conexión de un oscilador XT.

Si no se requiere mucha precisión en el oscilador y se quiere economizar dinero, se


puede utilizar una resistencia y un condensador, como se muestra en la figura 3.5.

+5VDC

Figura 3.5. Conexión de un oscilador RC.

Reset
En los microcontroladores se requiere un pin de reset para reiniciar el funcionamiento del
sistema cuando sea necesario, ya sea por una falla que se presente o porque así se haya
diseñado el sistema. El pin de reset en los PIC es llamado MCLR (master clear). Existen
varias formas de resetear o reiniciar el sistema:

Al encendido (Power On Reset)


Pulso en el pin MCLR durante operación normal
Pulso en el pin MCLR durante el modo de bajo consumo (modo sleep)
El rebase del conteo del circuito de vigilancia (watchdog) durante operación normal
El rebase del conteo del circuito de vigilancia (watchdog) durante el modo de bajo
consumo (sleep)

El reset al encendido se consigue gracias a dos temporizadores. El primero de ellos es el


OST (Oscillator Start-Up Timer: Temporizador de encendido del oscilador), orientado a
mantener el microcontrolador en reset hasta que el oscilador del cristal es estable. El
segundo es el PWRT (Power-Up Timer: Temporizador de encendido), que provee un
retardo fijo de 72 ms (nominal) en el encendido únicamente, diseñado para mantener el
dispositivo en reset mientras la fuente se estabiliza. Para utilizar estos temporizadores,
sólo basta con conectar el pin MCLR a la fuente de alimentación, evitándose utilizar las
tradicionales redes de resistencias externas en el pin de reset.

El reset por MCLR se consigue llevando momentáneamente este pin a un estado lógico
bajo, mientras que el watchdog WDT produce el reset cuando su temporizador rebasa la
cuenta, o sea que pasa de 0FFh a 00h. Cuando se quiere tener control sobre el reset del
sistema se puede conectar un botón como se muestra en la figura 3.6.

+5VDC

10K

Reset

Figura 3.6 Conexión del botón de reset.

Arquitectura interna del microcontrolador


Este término se refiere a los bloques funcionales internos que conforman el
microcontrolador y la forma en que están conectados, por ejemplo la memoria FLASH (de
programa), la memoria RAM (de datos), los puertos, la lógica de control que permite que
todo el conjunto funcione, etc.
Figura . Arquitectura del PIC16F877

La figura 3.7 muestra la arquitectura general del PIC16F877, en ella se pueden apreciar
los diferentes bloques que lo componen y la forma en que se conectan. Se muestra la
conexión de los puertos, las memorias de datos y de programa, los bloques especiales
como el watchdog, los temporizadores de arranque, el oscilador, etc.

Todos los elementos se conectan entre sí por medio de buses. Un bus es un conjunto de
líneas que transportan información entre dos o más módulos. Vale la pena destacar que
el PIC16F877 tiene un bloque especial de memoria de datos de 256 bytes del tipo
EEPROM, además de los dos bloques de memoria principales que son el de programa y
el de datos o registros.

El PIC16F877 se basa en la arquitectura Harvard, en la cual el programa y los datos se


pueden trabajar con buses y memorias separadas, lo que posibilita que las instrucciones y
los datos posean longitudes diferentes. Esta misma estructura es la que permite la
superposición de los ciclos de búsqueda y ejecución de las instrucciones, lo cual se ve
reflejado en una mayor velocidad del microcontrolador.

Memoria de programa (FLASH)


Es una memoria de 8K de longitud con datos de 14 bits en cada posición. Como es del
tipo FLASH se puede programar y borrar eléctricamente, lo que facilita el desarrollo de los
programas y la experimentación. En ella se graba o almacena el programa o códigos que
el microcontrolador debe ejecutar. En la figura 3.8 se muestra el mapa de la memoria de
programa.

La memoria de programa está dividida en cuatro bancos o páginas de 2K cada uno. El


primero va de la posición de memoria 0000h a la 07FFh, el segundo va de la 0800h a la
0FFFh, el tercero de la 1000h a la 17FFh y el cuarto de la 1800h a la 1FFFh.

Vector de reset. Cuando ocurre un reset al microcontrolador, el contador de programa se


pone en ceros (0000H). Por esta razón, en la primera dirección del programa se debe
escribir todo lo relacionado con la iniciación del mismo.

Vector de interrupción. Cuando el microcontrolador recibe una señal de interrupción, el


contador de programa apunta a la dirección 04H de la memoria de programa, por eso, allí
se debe escribir toda la programación necesaria para atender dicha interrupción.

Pila (Stack)
Estos registros no forman parte de ningún banco de memoria y no permiten el acceso por
parte del usuario. Se usan para guardar el valor del contador de programa cuando se
hace un llamado a una subrutina o cuando se atiende una interrupción; luego, cuando el
micro regresa a seguir ejecutando su tarea normal, el contador de programa recupera su
valor leyéndolo nuevamente desde la pila. El PIC16F877 tiene una pila de 8 niveles, esto
significa que se pueden anidar 8 llamados a subrutina sin tener problemas.

Bits 12 a 0 del contador de programa

CALL, RETURN 13
RETFIE, RETLW

Pila nivel 1

Pila nivel 2

Pila nivel 8

Vector de Reset 0000h

Vector de Interrupción 0004h


0005h
Página 0
07FFh
0800h
Página 1
Memoria 0FFFh
de
programa 1000h
Página 2

17FFh
1800h
Página 3
1FFFh

Figura . Memoria de programa del PIC16F877.

Memoria de datos (RAM)


El PIC16F877 posee cuatro bancos de memoria RAM, cada banco posee 128 bytes. De
estos 128 los primeros 32 (hasta el 1Fh) son registros que cumplen un propósito especial
en el control del microcontrolador y en su configuración. Los 96 siguientes son registros
de uso general que se pueden usar para guardar los datos temporales de la tarea que se
está ejecutando, figura 3.9.

Todas las posiciones o registros de memoria se pueden acceder directa o indirectamente


(esta última forma a través del registro selector FSR). Para seleccionar que página o
banco de memoria se trabaja en un momento determinado se utilizan los bits RP0 y RP1
del registro STATUS.
Resumen de algunos de los registros de configuración

BANCO 0:
TMR0: Registro del temporizador/contador de 8 bits.
PCL: Byte menos significativo del contador de programa (PC).
STATUS: Contiene banderas (bits) que indican el estado del procesador después de una
operación aritmética/lógica.
FSR: Registro de direccionamiento indirecto.
PORTA, PORTB, PORTC, PORTD, PORTE: Registro de puertos de E/S de datos.
Conectan con los pines físicos del micro.
PCLATH: Byte alto (más significativo) del contador de programa (PC).
INTCON: Registro de control de las interrupciones.
ADRESH: Parte alta del resultado de la conversión A/D.
ADCON0: Controla la operación del módulo de conversión A/D

BANCO 1:
OPTION: Registro de control de frecuencia del TMR0.
TRISA, TRISB, TRISC, TRISD. TRISE: Registros de configuración de la operación de los
pines de los puertos.
ADRESL: Parte baja del resultado de la conversión A/D.
ADCON1: Controla la configuración de los pines de entrada análoga.

BANCO 2:
TMR0: Registro del temporizador/contador de 8 bits.
PCL: Byte menos significativo del contador de programa (PC).
FSR: Registro de direccionamiento indirecto.
EEDATA: Registro de datos de la memoria EEPROM.
EEADR: Registro de dirección de la memoria EEPROM.
PCLATH: Byte alto (más significativo) del contador de programa (PC). - INTCON: Registro
de control de las interrupciones.
BANCO 3:
OPTION: Registro de control de frecuencia del TMR0.
EECON1: Control de lectura/escritura de la memoria EEPROM de datos. - EECON2: No
es un registro físico.
180h
181h
182h
183h
184h
185h
186h
187h
188h
189h
18Ah
18Bh
18C
h
18D
h
18E
h
18Fh
190h

19Fh
1A0h

1EFh
1F0h
INDF 00h INDF 80h INDF 100h INDF
TMR0 01h OPTION_RE 81h TMR0 101h OPTION_REG
PCL 02h G PCL 82h PCL 102h PCL
STATUS 03h STATUS 83h STATUS 103h STATUS
FSR 04h FSR TRISA 84h FSR 104h FSR
PORTA 05h TRISA 85h 105h
06h 86h 106h
PORTB TRISB PORTB TRISB
07h 87h 107h
PORTC TRISC
08h 88h 108h
PORTD TRISD
09h 89h 109h
0Ah 8Ah 10Ah
PORTE TRISE
0Bh 8Bh 10Bh
PCLATH PCLATH PCLATH PCLATH
INTCON 0Ch INTCON 8Ch INTCON 10Ch INTCON
PIR1 0Dh PIE1 8Dh EEDATA 10Dh EECON1
PIR2 0Eh PIE2 8Eh EEADR 10Eh EECON2
TMR1L 0Fh PCON 8Fh EEDATH 10Fh Reservado
TMR1H 10h 90h EEADRH 110h Reservado
11h 91h
T1CON 12h 92h
TMR2 13h SSPCON2 93h
T2CON 14h PR2 94h
SSPBUF 15h SSPADD 95h
SSPCON 16h SSPSTAT 96h
CCPR1L 17h 97h
CCPR1H 18h 98h
19h 99h
CCP1CON 1Ah 9Ah
RCSTA 1Bh TXSTA 9Bh
TXREG 1Ch SPBRG 9Ch
RCREG 1Dh 9Dh
CCPR2L 1Eh 9Eh
11Fh
1Fh 9Fh
CCPR2H 20h Registros 120h Registros de
A0h
CCP2CON de Propósito
ADRESL Propósito General
ADRESH General
ADCON0 ADCON1 16 Bytes 16 Bytes
Registros de
Registros 0EFh Registros 16Fh Propósito
de 0F0h de 170h General
Registros de Propósito Propósito
80 Bytes
General General
Propósito 80 Bytes 80 Bytes
General
96 Bytes

7Fh FFh 17Fh 1FFh Banco 0 Banco 1 Banco 2


Banco 3
Figura 3.9. Organización de la memoria RAM del PIC16F877.

Función de algunos registros especiales

00h o INDF: Registro para direccionamiento indirecto de datos. Este no es un registro


disponible físicamente; utiliza el contenido del registro FSR y los bits RP0 y RP1 del
registro STATUS para seleccionar indirectamente la memoria de datos, la instrucción que
lo acompañe determinará que se debe realizar con el registro señalado.

01h o TMR0. Temporizador/contador de 8 bits. Este es un contador que se puede


incrementar con una señal externa aplicada al pin RA4/TOCKI o de acuerdo a una señal
interna proveniente del reloj de instrucciones del microcontrolador. La rata de incremento
del registro se puede determinar por medio de un preescalador o divisor de frecuencia,
localizado en el registro OPTION. Como una mejora con respecto a referencias
anteriores, se le ha agregado la generación de interrupción cuando se rebasa la cuenta
(el paso de 0FFh a 00h).

02h o PCL: Contador de programa. Se utiliza para direccionar las palabras de 14 bits del
programa que se encuentra almacenado en la memoria ROM; este contador de
programas es de 13 bits de ancho, figura 3.10. Sobre el byte bajo, se puede escribir o leer
directamente, mientras que sobre el byte alto, no. El byte alto se maneja mediante el
registro PCLATH (0Ah). Ante una condición de reset el microcontrolador inicia el contador
de programa con todos sus bits en “cero”. Durante la ejecución normal del programa, y
dado que todas las instrucciones ocupan sólo una posición de memoria, el contador se
incrementa en uno con cada instrucción, a menos que se trate de alguna instrucción de
salto.

Registro PCLATH Registro PCL


12 11 10 9 8 7 6 5 4 3 2 1 0

Bits Incluidos en la
instrucción, suficiente para
direccionar toda la
memoria del PIC16F877

Figura 3.10. Registros que conforman el Contador de programa.


En una instrucción CALL o GOTO la dirección de memoria a donde se quiere ir, es decir,
los bits 12 a 0 del contador de programa se cargan desde el código de operación de la
instrucción.

En algunas instrucciones donde la parte baja del contador de programa, es decir los ocho
bits bajos del registro PCL, es el destino, los otros cinco bits se cargan directamente
desde el PCLATH (bits 4 a 0), por ejemplo en el caso de la instrucción ADDWF. Esto se
debe tener en cuenta cuando se desea hacer lectura de tablas usando el comando:
ADDWF PC,1 , en este caso se debe tener en cuenta que la tabla debe estar
comprendida dentro de un solo bloque de 256 bytes (0-255, 256-511, etc.).

03h o STATUS: Registro de estados. Contiene el estado aritmético de la ALU, la causa


del reset y los bits de preselección de página para la memoria de datos. La figura 3.11
muestra los bits correspondientes a este registro. Los bits 5 y 6 (RP0 y RP1) son los bits
de selección de página para el direccionamiento directo de la memoria de datos;
solamente RP0 se usa en los PIC16F84. RP1 se puede utilizar como un bit de propósito
general de lectura/escritura. Los bits TO y PD no se pueden modificar por un proceso de
escritura; ellos muestran la condición por la cual se ocasionó el último reset.

Registro: STATUS
PD
IRP RP1 RP0 Z DC C
T0
bit 7 bit 0

Dirección: 03h
condición de reset: 000??XXX

IRP: Selector de página para direccionamiento


indirecto

RP1 y RP0: Selectores de página para


direccionamiento directo.

T0: Time Out o Bit de finalización del temporizador.


Se coloca en 0 cuando el circuito de vigilancia
Watchdog finaliza la temporización.

PD: Power Down o Bit de bajo consumo. Se coloca en


0 por la instrucción SLEEP.

Z: Zero o Bit de cero. Se coloca en 1 cuando el


resultado de una operación lógica o aritmética es cero.

DC: Digit Carry o Bit de acarreo de dígito. En


operaciones aritméticas se activa cuando hay acarreo
entre el bit 3 y el 4.

C: Carry o Bit de acarrreo. En instrucciones


aritméticas se activa cuando se presenta acarreo
desde el bit más significativo del resultado.

Figura 3.11. Bits del Registro de Estados.

04h o FSR: Registro selector de registros. En asocio con el registro IND0, se utiliza para
seleccionar indirectamente los otros registros disponibles. Si en el programa no se utilizan
llamadas indirectas, este registro se puede utilizar como un registro de propósito general.

Para entender mejor el funcionamiento de este registro veamos un programa simple que
borra el contenido de la memoria RAM, empleando direccionamiento indirecto.

MOVLW 20h ;inicializa el puntero en la posición de memoria RAM


MOVWF FSR ;que se va a borrar
NEXT CLRF INDO ;borra el registro indexado (es decir el que está ;siendo
direccionado por el FSR)
INCF FSR,1 ;incrementa el puntero
BTFSS FSR,6 ;pregunta por el bit 6 para ver si ya acabó de borrar
GOTO NEXT continúa ...... ;sigue borrando los registros que faltan

05h o PORTA: Puerto de Entrada/Salida de 6 bits. Este puerto, al igual que todos sus
similares en los PIC, puede leerse o escribirse como si se tratara de un registro
cualquiera. El registro que controla el sentido (entrada o salida) de los pines de este
puerto está localizado en la página 1, en la posición 85h y se llama TRISA. El puerto A
también puede ser configurado para que trabaje como entradas análogas para el
convertidor Análogo a Digital interno del microcontrolador.

06h o PORTB: Puerto de entrada/salida de 8 bits. Al igual que en todos los PIC, este
puede leerse o escribirse como si se tratara de un registro cualquiera; algunos de sus
pines tienen funciones alternas en la generación de interrupciones. El registro de control
para la configuración de la función de sus pines se localiza en la página 1, en la dirección
86h y se llama TRISB. Puede ser configurado también para cumplir otras funciones.

07h o PORTC: Puerto de entrada/salida de 8 bits. Al igual que en todos los PIC, este
puede leerse o escribirse como si se tratara de un registro cualquiera; algunos de sus
pines tienen funciones alternas. El registro de control para la configuración de la función
de sus pines se localiza en la página 1, en la dirección 87h y se llama TRISC. Puede ser
configurado también para cumplir otras funciones.

08h o PORTD: Puerto de entrada/salida de 8 bits. Al igual que en todos los PIC, este
puede leerse o escribirse como si se tratara de un registro cualquiera; algunos de sus
pines tienen funciones alternas cuando se utiliza el micro en modo microprocesador. El
registro de control para la configuración de la función de sus pines se localiza en la página
1, en la dirección 88h y se llama TRISD. Puede ser configurado también para cumplir
otras funciones.

09h o PORTE: Puerto de Entrada/Salida de 3 bits. Este puerto, al igual que todos sus
similares en los PIC, puede leerse o escribirse como si se tratara de un registro
cualquiera. El registro que controla el sentido (entrada o salida) de los pines de este
puerto está localizado en la página 1, en la posición 89h y se llama TRISE. El puerto E
también puede ser configurado para que trabaje como entradas análogas para el
convertidor Análogo a Digital interno del microcontrolador o para que maneje las señales
de control en el modo microprocesador.

85h o TRISA: Registro de configuración del puerto A. Como ya se mencionó, es el registro


de control para el puerto A. Un “cero” en el bit correspondiente al pin lo configura como
salida, mientras que un “uno” lo hace como entrada.

86h o TRISB: Registro de configuración del puerto B. Orientado hacia el control del puerto
B. Son válidas las mismas consideraciones del registro TRISA.

87h o TRISC: Registro de configuración del puerto C. Orientado hacia el control del puerto
C. Son válidas las mismas consideraciones del registro TRISA.

88h o TRISD: Registro de configuración del puerto D. Orientado hacia el control del puerto
D. Son válidas las mismas consideraciones del registro TRISA.

89h o TRISE: Registro de configuración del puerto E. Orientado hacia el control del puerto
E. Son válidas las mismas consideraciones del registro TRISA.

020h a 7Fh: Registros de propósito general. Estas 96 posiciones están implementadas en


la memoria RAM estática, la cual conforma el área de trabajo del usuario. Pueden ser
utilizadas para almacenar cualquier dato de 8 bits.
Registro de trabajo W. Este es el registro de trabajo principal, se comporta de manera
similar al acumulador en los microprocesadores. Este registro participa en la mayoría de
las instrucciones. Está directamente relacionado con la Unidad Aritmética y Lógica ALU.

Módulo del convertidor Análogo a Digital


Este módulo permite la conversión de una señal de entrada análoga a su correspondiente
valor numérico de 10 bits. El módulo tiene ocho entradas análogas, las cuales son
multiplexadas dentro de un circuito de muestreo y retención. La salida del multiplexor es
la entrada al convertidor, el cual genera el resultado por medio de aproximaciones
sucesivas, figura 3.12.

Figura 3.12. Módulo del Convertidor A/D


La referencia análoga de voltaje es seleccionada por software permitiendo utilizar la
fuente de alimentación del PIC (VDD) o un nivel de voltaje externo aplicado al pin 5
(RA3/AN3/ VREF +).

El módulo tiene los siguientes registros asociados:

• ADCON0 : Controla la operación del módulo A/D.


• ADCON1 : Configura las funciones de los pines del puerto análogo.
• ADRESL : Contiene la parte BAJA del resultado de la conversión A/D.
• ADRESH : Contiene la parte ALTA del resultado de la conversión A/D.

Registros de Control del Módulo Convertidor Análogo/Digital

Registro ADCON0
Este es un registro que permite seleccionar cual de las entradas análogas va a ser leída
y permite dar la orden de iniciar el proceso de conversión, sus ocho bits son los
siguientes:

ADCS1 ADCS0 CHS2 CHS1 CHS0 GO/DONE - ADON


bit7 bit 0

• Bit 0 (ADON): Bit de activación del módulo. ADON = 1, Módulo A/D operando. ADON
= 0, Módulo A/D desactivado.
• Bit 2 (GO/DONE): Estado de conversión: GO = 1, Empieza conversión. GO = 0,
conversión finalizada.
Si ADON = 0, Este bit es cero.

• Bits 3, 4 y 5 (CHS0, CHS1, CHS2): Selección del canal a convertir (canal 0 - 7).
• Bits 6 y 7(ADCS0, ADCS1): Selección del reloj de conversión.

ADCS1 ADCS0 FRECUENCIA DE CONVERSIÓN


0 0 Fosc / 2
0 1 Fosc / 8
1 0 Fosc / 32
1 1 FRC
Figura 3.13. Frecuencias de conversión para el módulo A/D

Registro ADCON1.
Este es un registro que permite seleccionar como se ubican los diez bits resultado de la
conversión A/D y permite seleccionar cuales de los pines del puerto A trabajarán como
entradas análogas y cuales como entradas digitales. Adicionalmente, permite seleccionar
los voltajes de referencia del convertidor.

ADFM - - - - PCFG2 PCFG1 PCFG0


bit7 bit 0

El bit 7 (ADFM) selecciona el formato del resultado de la conversión:

Si ADFM = 1, el resultado se justifica a la derecha: Los 6 bits más significativos de


ADRESH son cero.
Si ADFM = 0, el resultado se justifica a la izquierda: Los 6 bits menos significativos de
ADRESL son cero.

Con los tres bits (PCFG0, PCFG1, PCFG2) se configuran los pines del puerto A como de
entradas análogas o entrada/salida digital, así como la referencia de voltaje que utilizará
el convertidor. Figura 3.14.

PCFG3: AN7(1) AN6(1) AN5(1) AN4 AN3 AN2 AN1 AN0 CHAN /
VREF+ -
PCFG0 RE2 RE1 RE0 RA5 RA3 RA2 RA1 RA0 VREF REFS
0000 A A A A A A A A VDD VSS 8/0
0001 A A A A VREF+ A A A RA3 VSS 7/1
0010 D D D A A A A A VDD VSS 5/0
0011 D D D A VREF+ A A A RA3 VSS 4/1
0100 D D D D A D A A VDD VSS 3/0
0101 D D D D VREF+ D A A RA3 VSS 2/1
011x D D D D D D D D VDD VSS 0/0
1000 A A A A VREF+ VREF- A A RA3 RA2 6/2
1001 D D A A A A A A VDD VSS 6/0
1010 D D A A VREF+ A A A RA3 VSS 5/1
1011 D D A A VREF+ VREF- A A RA3 RA2 4/2
1100 D D D A VREF+ VREF- A A RA3 RA2 3/2
1101 D D D D VREF+ VREF- A A RA3 RA2 2/2
1110 D D D D D D D A VDD VSS 1/0
1111 D D D D VREF+ VREF- D A RA3 RA2 1/2

A = Entrada

Análoga D =

Entrada/Salida Digital

Nota 1: Estos canales no están disponibles en los dispositivos de 28 pines

Figura 3.14. Selección de los canales análogos a utilizar.


Cuando se completa la conversión A/D, el resultado se carga en los registros ADRESH y
ADRESL (en el formato configurado por el bit ADFM).
El bit GO/DONE (ADCON0<2>) se pone en cero y el bit bandera de la interrupción A/D
(ADIF) se pone en uno.

Después de que el módulo ha sido configurado, al canal seleccionado se debe hacer un


muestreo antes de empezar la conversión. El tiempo requerido para el muestreo es
definido como Tad.

Figura 3.15. Modelo circuital de la Entrada Análoga.

Requerimientos para el Muestreo:


Para que el convertidor A/D tenga precisión, se debe permitir que el condensador de
retención se cargue con todo el nivel de voltaje del canal de entrada. En la figura 3.15. se
muestra el modelo de entrada análoga. La máxima impedancia recomendada para las
fuentes análogas es de 10 Kohm. Después que se selecciona el canal de entrada
análoga (o es cambiado) se debe esperar un tiempo de muestreo antes de que la
conversión se inicie.

Selección de la frecuencia de conversión:


La conversión A/D requiere 10 Tad. La fuente del reloj de conversión es seleccionada por
software. Las cuatro opciones posibles para Tad son:

2 Tosc
8 Tosc
32 Tosc
Oscilador interno RC

Para conversiones correctas, el reloj de conversión (Tad) debe ser seleccionado para
tener un tiempo mínimo Tad de 1.6 useg.

FORMA DE REALIZAR LA CONVERSIÓN A/D :

Configurar el módulo A/D:


Configurar los pines análogos, referencia de voltaje y E/S digitales (ADCON1).
Seleccionar canal de entrada A/D.
Seleccionar reloj de conversión A/D.
Activar el módulo A/D.
Configurar la interrupción A/D(si se requiere): ADIF =0 (PIR1<6>); ADIE = 1 (PIE1<6>) y
GIE = 1 (INTCON<7>).
Asegurar el tiempo de muestreo requerido [Tad].
Empezar la conversión.
Esperar que se realice la conversión, así :
Haciendo un muestreo al bit GO/DONE hasta que éste es cero. - Esperar la interrupción
del convertidor.
Leer los registros ADRESH y ADRESL. ADIF se debe resetear si se usa interrupción.
Para una siguiente conversión vaya al paso primero o segundo según se requiera. Antes
de empezar otro muestreo se debe esperar como mínimo 2 Tad.
Resumen de Características principales del PIC16F877:

Memoria de programa : FLASH, 8 K de instrucciones de 14 bits c/u.


Memoria de datos : 368 bytes RAM, 256 bytes EEPROM.
Pila (Stack) : 8 niveles (14 bits).
Fuentes de interrupción : 13
Instrucciones : 35
Encapsulado : DIP de 40 pines.
Frecuencia oscilador : 20 MHz (máxima)
Temporizadores/Contadores: 1 de 8 bits (Timer 0); 1 de 16 bits (Timer 1); 1 de 8 bits
(Timer 2) con pre y post escalador. Un perro guardián (WDT)
Líneas de E/S : 6 del puerto A, 8 del puerto B, 8 del puerto C, 8 del puerto D y 3 del
puerto E, además de 8 entradas análogas.
Dos módulos de Captura, Comparación y PWM:
Captura: 16 bits. Resolución máx. = 12.5 nseg.
Comparación: 16 bits. Resolución máx. = 200 nseg. - PWM: Resolución máx. = 10 bits.
Convertidor Análogo/Digital de 10 bits multicanal (8 canales de entrada). • Puerto serial
síncrono (SSP) con bus SPI (modo maestro) y bus I²C (maestro/esclavo).
USART (Universal Synchronous Asynchronous Receiver Transmitter) con dirección de
detección de 9 bits.
Corriente máxima absorbida/suministrada (sink/source) por línea (pin): 25 mA
Oscilador : Soporta 4 configuraciones diferentes: XT, RC, HS, LP.
Tecnología de Fabricación: CMOS
Voltaje de alimentación: 3.0 a 5.5 V DC
Puede operar en modo microprocesador
Metodología o procedimiento describiendo las
actividades realizadas y mostrando planos,
graficas, prototipos, maquetas, programas ,
entre otros.
Procedimiento de desarrollo
Lenguaje ensamblador

Compiladores y Ensambladores
• Tanto los compiladores como los Ensambladores caen en la categoría de programas
que llamamos traductores.
• Un traductor es un programa que acepta archivos en código fuente comprensibles
para el humano y genera alguna clase de archivo binario.
• El archivo binario puede ser un archivo de programa ejecutable que el CPU puede
comprender, o podría ser un archivo font, o un archivo de datos binarios comprimido, o
alguno de los cientos de otros tipos de archivos binarios.
• Los programas traductores generan instrucciones de maquina que el CPU puede
comprender.
• Un programa traductor lee un archivo en código fuente línea por línea, y escribe un
archivo binario de instrucciones de maquina que realiza las acciones de computadora
que el archivo de código fuente describe. Este archivo binario es llamado archivo de
código objeto.
• Un compilador es un programa traductor que lee archivos en código fuente escrito en
un lenguaje de alto nivel (tal como C++ o Pascal) y como salida escribe archivos en
código objeto.
• Un ensamblador es un tipo especial de compilador, también es un programa traductor
que lee archivos en código fuente y proporciona como salida archivos en código objeto
para ser ejecutados por el CPU. Sin embargo, un ensamblador es un traductor
diseñado específicamente para traducir lo que llamamos lenguaje ensamblador en
código objeto.
• En el mismo sentido que un lenguaje compilador para Pascal o C++ compila un
archivo en código fuente a un archivo en código objeto, decimos que un ensamblador
ensambla un archivo en código fuente de lenguaje ensamblador a un archivo en
código objeto. El proceso de traducción, es similar en ambos casos.
• El lenguaje ensamblador, sin embargo tiene una característica muy importante que se
pone aparte de los de los compiladores, y es: el control total sobre el código objeto.
Lenguaje ensamblador
• Definición [Duntemann]: El lenguaje Ensamblador es un lenguaje traductor que
permite tener un control total sobre cada instrucción generada por una máquina en
particular mediante el programa traductor, tal programa traductor es llamado
Ensamblador.
• Compiladores como Pascal o C++, realizan multitud de invisibles e inalterables
procesos acerca de cómo una dada declaración del lenguaje será traducida en
instrucciones de maquina.
• Por ejemplo en una simple instrucción en Pascal que asigna el valor 42 a una variable
numérica llamada I será: I:= 42;
• Cuando el compilador de Pascal lee esta línea, realiza una serie de cuatro o cinco
instrucciones de maquina donde se toma el valor 42 y se pone en memoria en una
localidad codificada por el nombre I.
• Normalmente, el programador de Pascal no tiene idea de que esas cuatro o cinco
instrucciones se realizan, y no tiene por completo forma de cambiarlas,

5
aun si supiera la secuencia de instrucciones de maquina, éstas son mas rápidas y mas
eficientes que la secuencia que el compilador utiliza.

• El compilador de Pascal tiene su propia forma de generar instrucciones maquina, y no


se tiene elección.
• Un ensamblador, sin embargo, tiene al menos una línea en el archivo de código fuente
por cada instrucción de maquina generada.
• Tiene mas líneas para manejar muchas otras cosas, pero cada instrucción de maquina
en el archivo de código objeto final es controlada por su correspondiente línea en el
archivo de código fuente.
• Cada una de las muchas instrucciones de maquina en el CPU tiene un mnemónico
correspondiente en lenguaje ensamblador.
• Como la palabra sugiere, estos mnemónicos son elementos de ayuda para auxiliar al
programador a recordar una instrucción binaria de maquina en particular.
• Por ejemplo, el mnemónico para la instrucción binaria de maquina 9CH, que empuja
las banderas del registro en la pila, es PUSHF, que es más fácil de recordar que 9CH.
• Cuando se escribe el archivo de código fuente en lenguaje ensamblador, se colocan
series de mnemónicos, típicamente un mnemónico por línea en el archivo de texto de
código fuente.
Desarrollo de un programa para una conversión A/D
• Los microcontroladores PIC16F887 poseen un conversor análogo/digital de 10 bits y
14 canales de entrada (AN0, AN1,…,AN13).
• Una señal análoga o analógica es una señal continua que posee valores que van
variando con el tiempo. A diferencia de una señal digital, que tiene valores
discretos en cada punto de muestreo, una señal analógica presenta fluctuaciones
constantemente. En la siguiente figura podemos ver un patrón analógico
(representado como una onda sinusoidal) junto con un patrón digital (representado
como líneas discretas).

Con el microcontrolador, lo que se hace, es aproximar una señal análoga por medio de
pequeños cuadros rectángulos digitales, como puede apreciarse en la figura de encima.
Entre más resolución tenga nuestro microcontrolador, más pequeños pueden ser los
rectángulos que se forman y más aproximado puede quedar nuestra señal analógica.
Un conversor A/D (ADC PIC) me convierte la señal análoga en un número digital
(binario), él número es proporcional a la señal análoga.
En el caso del microcontrolador PIC16F887 el conversor A/D tiene 10 bits y la señal
análoga de entrada puede estar entre 0V y 5V, sin embargo, el conversor A/D tiene dos
niveles de referencia VREF+ y VREF- que me indican entre que valores será la señal
análoga de entrada. El voltaje mínimo diferencial es de 2V, es decir la diferencia entre
VREF+ y VREF- no puede ser mayor a 2V.

Con 10 bits el mayor número binario que se puede tener es 1024, por lo tanto la
resolución del conversor A/D está dada por la fórmula:
Resolución del Conversor ADC PIC

Así, por ejemplo, si VREF = +5V y VREF- es 0V, la resolución es 5V/1024 = 4.8mV,
cuando la señal análoga sea 0V le corresponde un número digital = 0000000000 y para
5V será 1111111111.

Si VREF+ = +5V y VREF- se puede determinar en todo momento a que número digital
aproximado corresponde cualquier señal análoga de entrada, con la fórmula:

Por ejemplo si la señal análoga es 2V, el número digital aproximado, es:

La tensión de referencia VREF+ puede implementarse con la tensión interna de


alimentación VDD, o bien, con una externa que se pone en la patica RA2/AN2/ VREF-.

Le asignaré una tasa de división de 256, por lo que la frecuencia del reloj deberá ser de
3.92156 Hz.

El registro OPTION, tras la puesta en marcha del circuito, están a uno todos sus bits, por
lo que debo poner el bit 3 de este registro a cero para asignar dicha predivisión. El registro
OPTION ocupa la posición 81 de la página uno dentro de los registros internos.

El PORT A inicialmente está configurado como entrada por tener todos los bits del registro
TRISA a uno, y como quiero sacar los pulsos por el bit uno de dicho puerto, pondré a cero
dicho bit del registro TRISA. El registro TRISA ocupa la posición 85 de la página uno
dentro de los registros internos.
Programa para la conversión A/D (Analógico-Digital)
INICIO:
BCF 81,03 ; pone a 0 el bit 3 del registro OPTION con lo que asigno el predivisor al
temporizador. PS0,PS1,PS2 tienen el valor 1,1,1 en el registro OPTION.
MOVLW FF ; carga el registro de trabajo ( W ) con el literal FF.
MOVWF 1C ; carga el literal FF en un registro de propósito general ( 1C ).
MOVF f6,01 ; pone el registro f6 ( PORT B ) en el registro W, actuando esta
Operación sobre el bit de cero en el caso de que en el PORT B estuviese el valor cero.
BTFSC f3, 02 ; ignora la siguiente instrucción, tratándola como una operación NOP ,
en el caso de que el bit 2 del registro f3 ( STATUS ) sea cero, es decir si la ultima
operación es distinta de cero.
GOTO INICIO ; salta a inicio solamente en el caso de que la entrada del puerto B sea
nula.
BCF 85,01 ; Pone a cero el bit 1 del registro TRISA, asignándolo así como salida.
BSF f5, 01 ; pone a uno el bit 1 del PORT A, o bit RA1, que será la salida del sistema.
MOVWF 0C ; carga el registro 0C con el contenido del registro W que es el valor leído en
el PORT B.
CUENTA:
GOTO ENTRADA ; salta a la posición de memoria “entrada”

CUENTA1:
BCF 0B, 02 ; pone a cero el bit 2 del registro INTCON ( debe hacerse por software ).
DEC 1C, 01 ; decrementa el registro 1C, el cual estaba inicialmente cargado con el literal
FF.
DECFSZ 0C, 01 ; decrementa 0C y guarda en 0C, el cual estaba inicialmente cargado con
el valor del PORT B y saltará la siguiente instrucción en el caso de que el resultado sea
cero.
GOTO CUENTA ; salta a la posición de memoria “cuenta”, solamente no leerá esta
instrucción en el caso de que el registro 0C llegue a cero. BCF f5, 01 ; pone a cero el bit 1
del PORT A o bit RA1.
GOTO FINAL ; salta a la posición de memoria final.

ENTRADA:
BTFSC 0B, 02 ; saltará la siguiente instrucción, si el bit 2 del registro INTCON es cero es
decir, en el caso de que , no se haya producido overflow en el temporizador.
RETURN ; retorna a la última llamada de subrutina producida. Carga el PC con el valor
que se encuentra en la parte superior de la pila.

GOTO ENTRADA ; salta a la posición de memoria “entrada”.


GOTO CUENTA1 ; ( * )
FINAL:
BTFSS 0B, 02 ; saltará la siguiente instrucción, si el bit 2 del registro INTCON es uno, es
decir, en el caso de que si se haya producido overflow en el temporizador
GOTO FINAL ; salta a la posición de memoria final, esta instrucción se leerá en el caso de
que aun no se haya producido overflow
BCF 0B, 02 ; pone a cero el bit 2 del registro INTCON (overflow flag)
DECFSZ 1C, 01 ; decrementa el registro 1C, el cual estaba inicialmente cargado con el
literal FF y saltará la siguiente instrucción si el resultado es cero.
GOTO FINAL ; salta a la posición de memoria final.
GOTO INICIO ; comienza de nuevo el programa.
Los ocho registros de pila deben considerarse como un buffer de memoria circular, lo que
significa que, si se introducen más de ocho valores del PC, el noveno valor tomará la
posición del primero, y así sucesivamente.

La posición de memoria “final” se usa para completar el ciclo y que éste tenga la
frecuencia deseada, y solamente se accederá a ella una vez se complete el ciclo de salida
en alto del PORTA. La posición de memoria “entrada” se usa para detectar el overflow del
timer, y tendrá ciclos con la posición “cuenta” para ir decrementando los registros 0C y 1C
DESCRIPCIÓN DEL HARDWARE DEL SISTEMA PROPUESTO
El presente capítulo tiene como objetivo: Una descripción detallada del regulador
implementado, en cuanto a hardware. Prácticamente se ven los criterios de diseño del
regulador y el principio en el que se basa la respectiva regulación. Se verá el diseño del
hardware del regulador, la seguridad que brinda ante fallas comunes ya sea del panel o
del usuario. Las limitaciones de uso en cuanto a máxima tensión y corriente permisibles.
Se verán los componentes que intervienen en la comunicación PC –EEPROM, que son
los que vendrían a conformar la tarjeta de adquisición de datos.

1. Principios de regulación.
Para poder establecer el principio de regulación, veremos cuales son las tareas puntuales
que el regulador diseñado cumple.
Lo que tiene que hacer la regulación es mantener la tensión de la batería entre unos
límites establecidos. En el regulador que se ha implementado estos límites son puestos
por software, claro que existe un límite superior fijo (tope), pero que se puede variar
también mediante hardware.

Para esto el regulador debe captar (conversión analógica-digital) la tensión de la batería


con buena exactitud para que sepa su valor instante a instante y de esta manera hacer
una excelente regulación. Como la mayoría de las baterías son de 12V – 13V y corremos
en un día claro la tensión en el panel puede llegar hasta 17 voltios, entonces escogemos
los siguientes límites:

 Límite inferior 11V, puede ser cambiado a 11.5 por hardware o y/o software.
 Límite superior 13.5V, puede ser cambiado a 14 por hardware y/o software.

2. Límite superior.
El límite superior de la batería es modificable por programa, eso depende mucho de las
exigencias del usuario, pero no hay que olvidar que las baterías funcionan hasta un límite
de tensión determinado por fabricación, por lo que es imprescindible que la carga de la
batería esté totalmente controlada. El límite escogido es 13.5 voltios. Cuando la tensión
de la batería está dentro de los límites mínimo y máximo establecidos, no hay ningún
problema, pero una vez que la tensión máxima es superada en un mínimo valor8
Para lograr esta estabilidad de la batería en 13.5 voltios mencionada anteriormente, se
utiliza un principio que se basa en la técnica de modulación por ancho de pulso.
, el regulador debe estabilizar la tensión de la batería en 13.5, lógicamente mientras que
el voltaje del panel se encuentre sobre este valor.
Cuando la tensión en la batería pasa los 13.5 voltios, lo que se hace es conmutar el
actuador a la misma frecuencia, pero con diferentes duty cicles cada segundo, tal así que
la onda positiva de 5 voltios que emite el PIC, disminuya segundo a segundo a medida
que se disminuye el duty cicle. Lo que en realidad se está haciendo es cortar la
conducción del actuador cada vez más si es que la tensión aún sigue siendo mayor a
13.5. Esto quiere decir que cada segundo, aparte de cortar la onda, se está comparando
la tensión de la batería con el límite superior (13.5 voltios), cuando la batería esté en este
límite o por debajo, el microcontrolador ya no bajará más el duty cicle de la onda de
disparo al actuador (que está entre el panel solar y la batería), sino por lo contrario la
subirá, haciendo un seguimiento de gran exactitud al límite superior (13,5 voltios). Esto
asegura una regulación muy efectiva, la cual no se limita a cortar el disparo total del
actuador cada vez que la tensión en el panel supere los 13.5 voltios.

3. Límite inferior
El límite inferior se escoge de 11 V para poder prolongar un mayor tiempo la vida de la
batería, ya que se sabe por lo dicho en el primer capítulo que a medida que menos
profunda es la descarga habrá menos grado de sulfatación por lo tanto habrá menos
deterioro de la batería. Tenemos que considerar algo muy importante, que es la
histéresis7
Para solucionar este problema hay dos alternativas:
que ocurre cuando el regulador conecta la carga con la batería. Sucede que cuando la
carga es conectada, está hará inmediatamente que la tensión de la batería baje
levemente, por lo tanto si el límite inferior no es cambiado al instante, el regulador verá el
voltaje de la batería menor que el límite inferior a la que fue conectada con la carga, por lo
tanto se tendrá una situación de histéresis que posiblemente hará que el sistema
permanezca en un lazo (como un lazo electrónico, del cual tardará en salir), lo que no es
conveniente.

a) El usuario podría esperar hasta que se supere en 1V la tensión inferior de la batería y


recién usar la energía, lo que nos obligaría a usar un display o un LCD, entonces el costo
de la tarjeta incrementaría y se tendrían que disponer de una mayor cantidad de salidas
en el microcontrolador, por lo que se debería usar otro microcontrolador económicamente
más costoso. A todo esto, se suma el riesgo de que el usuario no siga dichas
instrucciones y se entraría en el mencionado lazo.
b) Mediante programa en el microcontrolador PIC, cambiar el límite inferior de
desconexión inmediatamente después que el regulador haya conectado la carga con la
batería. Esta es la mejor opción, pues se puede por programa, bajar el límite inferior y
luego conectar al usuario, esto evitaría la histéresis mencionada.

Es decir que cuando la intensidad luminosa de los rayos solares que inciden en el panel
solar hace que éste tenga una tensión de 11 voltios, el microcontrolador, cerebro del
regulador, hará que cambie el límite permisible inferior de 11 voltios a 10 voltios
inmediatamente después que se active el actuador entre la batería y el usuario o carga.

Este actuador es controlado


por el PIC mediante el
disparo al Gate del Mosfet

Existen dos límites: inferior y superior, pero pasado el límite inferior se entra a una región
que comprende entre 11.0 y 13.5 voltios en donde tenemos la certeza de que los dos
actuadores están activados. A esta región se le llama banda de flotación, que es donde
los puertos del microcontrolador permanecen inalterables, es decir no cambian de estado

La banda de igualación nos indica hasta cuanto se puede elevar el voltaje de la batería,
mientras el regulador trata de estabilizar la tensión de la batería. Si es que se supera este
valor sonará la alarma o se activará un led rojo indicador de alta. Esta característica es
inversa a la de los productos comerciales que usan el led verde como indicador de alta,
pero esto como mejor parezca puede ser cambiado por programa. Debido a que en el
regulador propuesto la regulación es automática, la tensión en la batería nunca llegaría a
los 14 Voltios, su regulación es tan efectiva que como máximo le puede tomar 10
segundos para estabilizar la tensión en 13.5 voltios. Entonces la banda de igualación en
realidad es mucho más corta que la de un regulador normal, llega hasta el orden de las
décimas, es decir está en un rango de 13.5 – 13.55, es más podríamos variar esta banda,
cambiando la precisión de la conversión por software y por hardware.

4. Panel solar – batería


Las tierras (polaridad negativa) de la batería y del panel solar, se conectan por un
dispositivo que anteriormente llamamos actuador, este actuador es un transistor MOSFET
en modo de enriquecimiento. Cada vez que el microcontrolador activa el gate del
MOSFET, éste conducirá y la batería se cargará. Por el paso de la corriente y por su alta
conmutación, estos dispositivos se calientan, por lo que necesitan un sistema de
refrigeración externa. Lo que se hizo es aprovechar la empaquetadura o la carcasa y
usarla como área de dispersión de calor, esto lo logramos fijando la parte metálica de los
MOSFETS a la carcasa del regulador. El transistor MOSFET que escogí es el IRFZ44N
debido a su baja impedancia, del orden de los 17.5 mΩ, la cual origina menos pérdidas.
En la sección de anexos adjunto la hoja de datos de este dispositivo.

.El problema del disparo: es que para hacer que el MOSFET conduzca se le tiene que dar
una tensión gate-source VGS
de 5V. En la salida del microcontrolador tenemos 5 voltios, lo malo es que el MOSFET
sólo conduce de drain a source, por lo que necesariamente la puerta source del MOSFET
va a tener que estar al mismo potencial que la tierra del panel.
El transistor mosfet IRFZ44 en modo de enriquecimiento es el que controla el flujo de
carga del panel hacia la batería mediante el disparo de su gate. El control del gate del
MOSFET lo hace el microcontrolador a través de sus puertos mediante un
acondicionamiento de la señal que sale del PIC.

Como podemos ver en las características típicas de salida, en el primer gráfico están las
curvas correspondientes a ID versus VDS, para diferentes VGS.
En esto tenemos que poner cuidado debido a que por el simple hecho de que V.GS sea
4.5 voltios e ID sea 8 amperios, estaríamos en una zona dentro de la gráfica de muy baja
pendiente entre los valores de 1V y 10V para VDS. VDS es el voltaje entre drain y source
del MOSFET, que corresponden a la tierra de la batería (bat (-)) y la tierra del panel solar
(Panel (-)). Es decir que de no tener cuidado se podría llegar a una diferencia de potencial
de 10 voltios entre las dos tierras de la batería y del panel.
VGS siempre tiene que ser mayor o igual a 4.5 voltios, la referencia de este voltaje es a la
tierra del panel solar, ya que tiene el mismo potencial de la puerta S del MOSFET.
Entonces si estamos en la situación anterior en donde la tierra del panel se encuentra en
un potencial 10 voltios menor que la tierra de la batería, es decir:
VGS=10 voltios
VG – VS=10 voltios
Vbat ¿
La tensión VGS la sacamos de la batería aprovechando esa caída de tensión VDS, pero
este es un caso extremo peligroso, si la batería está cargada al máximo (13.5 voltios),
entonces la diferencia de potencial entre la polaridad positiva de la batería y la tierra del
panel sería 23.5 voltios. De hecho, esta tensión no es en ese momento VGS, debido a
que el voltaje de la batería pasa por un limitador en base a resistencias (R8 y R9) pero
que disminuye la tensión en este caso en sólo 5 voltios, por lo tanto, la tensión VGS sería
18.5 voltios, que lógicamente quemaría al MOSFET.
Por la caída de tensión que hay VGD, la tierra del panel no tiene el mismo potencial que la
tierra de la batería. Entonces es seguro que se implementó un sistema de disparo para el
MOSFET, que se muestra a continuación.

Como podemos apreciar en la figura, para acoplar la señal del microcontrolador (Panel)
con la señal que debe ir al MOSFET, se usa un opto acoplador. Cuando la señal de salida
del microcontrolador que se encarga de activar la carga de la batería está en 1 lógico (5
voltios), el opto acoplador deja de conducir, lo que llevaría a tener una señal de activación
del MOSFET, proveniente de la tensión de la batería, que lógicamente es mayor o igual a
10 voltios. Debido a esta alta tensión he puesto un partidor de tensión (R8 y R9) que hace
que el voltaje VGS Es decir una señal activa del microcontrolador (Panel) desactiva el
opto acoplador y esto hace que se active el MOSFET, es decir que conduzca.

Cuando la señal del microcontrolador es 0 voltios, el opto acoplador conduce lo que hace
que el voltaje VGS sea 0 o negativo, es decir que el MOSFET no conduzca.
También se puede ver en el esquema del circuito, que la tensión de alimentación para el
PIC se obtiene por medio de un regulador de tensión10
Es decir, cuando se hace por primera vez la instalación solar, necesariamente el voltaje
de la batería tiene que ser mayor a 5 voltios, debido a que para valores menores a 5
voltios como entrada al regulador, no se obtendría en el regulador la tensión de salida en
5 voltios. Lo que pasa es que el regulador es un limitador de tensión, consta de varios
diodos Zener, cuya tensión Zener suman 5 voltios.
(78L05), el cual tiene como entrada la tensión de la batería y como salida 5 voltios
Luego, la batería nunca bajará de los 10 voltios, debido a que el microcontrolador
desactivará al usuario justo cuando la batería baje de 10 voltios.

CIRCUITO INTERNO DEL


REGULADOR L3705
EL regulador prácticamente estabiliza la tensión de salida en 5 voltios, teniendo como
entrada tensiones mayores o iguales a 5 voltios. La mayoría de los reguladores se
diferencian en la exactitud y en la potencia, es decir Máxima corriente que pueden
entregar. La potencia consumida por el PIC depende instantáneamente de la tarea
asignada, es decir, la corriente en los puertos depende de la orden ejecutada, puede ser
que el puerto este configurado como entrada entonces le corresponde una determinada
corriente máxima, pero también puede que esté configurado el puerto como salida que le
corresponde otra corriente máxima

Como ya se sabe el microcontrolador PIC 16c711, es el dispositivo fundamental de la


tarjeta construida, es el elemento inteligente de la tarjeta, por lo tanto, le debemos mayor
cuidado. El PIC es prácticamente un microcomputador diseñado para una tarea
específica. En él están encriptados buses de direcciones, de datos, memoria EEPROM,
RAM y aparte en especial nuestro PIC posee un convertidor analógico digital
5. Batería-Carga.

La conexión entre la Batería y la carga se realiza mediante otro MOSFET IRFZ 44 que es
controlado directamente por el PIC. La tierra de la batería está conectada con la puerta
source del MOSFET y la puerta drain está conectada a la tierra de la carga. La conexión y
desconexión es gobernada por el gate que está conectado directamente al Pin RB6 del
PIC, etiquetado como Load.
Para seguridad de la máxima diferencia de tensión entre el gate y la tierra de la carga,
usamos un diodo Zener de 33 voltios de ruptura y un diodo que no permite la circulación
de corriente desde la tierra de la batería al gate del MOSFET. Para seguridad de la
tensión entre el gate y la tierra de la batería se usa un zener de 15 voltios de ruptura. Esto
es por el máximo voltaje Vgs que permite el Mosfet
Para un Vgs de 5 voltios, Ids(corriente Drain-source) puede pasar los 6 amperios y Vds es
0.15 voltios, pero para 4.5 voltios o menos, para Ids mayor a 6 amperios, Vds puede llegar
a ser mayor a 10 voltios.
VDS=VD – VS
VS=Tierra de labatería .
VD=Tierra de laCarga .
VGS=5 V =VG – VS=VG – VD +VDS
VDS=10 V
VD=VG +5 V .
VD >VG
Por eso es necesario el diodo que evite la circulación entre la tierra de la carga y el gate.
La conexión y desconexión se hace con el respectivo disparo del PIC, directamente al
MOSFET mediante el pin Load. La relación es directa, es decir un nivel el alto en este pin
significa una conducción del MOSFET y un nivel bajo, para el flujo de electrones.
Este MOSFET es disparado con nivel alto cuando se debe conectar la carga a la batería y
viceversa.

6. PIC-EEPROM
La EEPROM utilizada fue la memoria 24LC32A de 4 kBytes y de 8 pines, a continuación
se detalla la utilidad de cada pin:
A0, A1, A2 Dirección del Chip: Las entradas A0.A2 son usadas por la EEPROM 24LC32A
para la operación de selección múltiple del dispositivo y se conforman por un estándar bus
de 2 líneas. Los niveles aplicados para estos pines definen el dispositivo a usar, esto es si
hay más dispositivos conectados en paralelo al bus. Un dispositivo particular es
seleccionado transmitiendo los bits correspondientes (A2, A1, A0) en el byte de control.
SDA Línea Bidireccional de Datos y de Direccionamiento: Éste es un pin Bidireccional
usado para transferir direcciones y datos hacia o desde el dispositivo. El hardware de esta
línea bidireccional consta de un colector abierto como terminal, por consiguiente el bus
SDA requiere una resistencia de pullup12
SCL y SDA filtran el ruido y dejan pasar un entrada limpia. Esto es porque incorporan un
Schmitt triggers para VCC (10KΩ típico para 100 kHz, 2 KΩ para 400 kHz). Como la
frecuencia usada para el clock es menor a 100KH entonces en el hardware he hecho el
pullup con una resistencia de 10 KΩ. para 400 kHz (Modo Rápido). Es decir toda señal
superpuesta con una frecuencia mayor a 400 kHz será filtrada, por lo tanto define a un
filtro pasa baja cuyo límite es 400kHz.
SCL Reloj Serial: Esta entrada se usa para sincronizar la transferencia de datos.
WP: Este pin debe ser conectado a VSS o VCC. Estando conectado a VSS, la operación
normal de memoria es posibilitada (lectura y escritura de la memoria entera 000-FFF).
Estando conectado a VCC, las operaciones de escritura están inhibidas. La memoria será
protegida contra escritura. Las operaciones de lectura no son afectadas.
7. EEPROM - PC
Para transmitir los datos a la PC, la manera más fácil, menos costosa y rápida, es hacer
la comunicación directamente entre la EEPROM y la PC. Sería engorroso, hacerlo con el
método tradicional que es el de leer los datos de la EEPROM con el PIC e ir mandándolos
a la PC con el respectivo acondicionamiento de señal mediante el protocolo RS-232. Esto
implica costo del software necesario para que el PIC lea los datos de la EEPROM y
mandarlos a la PC, lógicamente en respuesta a la petición de esta Adicionalmente a esto
está el programa en la PC, para manejar una interfase que te permita tener control sobre
el puerto serial. Para una comunicación directa entre la PC y la EEPROM, sólo
necesitaríamos lo último mencionado en software, es decir el control del puerto de la PC
para poder hacer una petición de datos a la EEPROM y para poder mediante un buffer
almacenar los bytes leídos. El software implementado será explicado con mayor detalle.
Los pines del puerto serial usados para la comunicación son:
Pin 5 (CND); Línea de tierra, esta va conectada a la tierra de la EEPROM.
Pin 7 (RTS): Línea de Clock generado por el master (PC).
Pin 8 (CTS): Línea de datos (SDA) que se leen del esclavo (EEPROM.).
Pin 6 (DSR): Línea de datos que se mandan al esclavo (EEPROM).
Los pines de salida del puerto serial, manejan niveles de tensión de ± 12V, entonces no
podemos conectar la PC a la EEPROM sino se regula dicha tensión.
Para dicha regulación se usa las líneas RTS y DSR como entrada a un MAX 23213, cuya
característica es acoplar el buen funcionamiento de protocolos como el RS 232 y el I2C.
Resultados y/o Discusión
Regulación.
La regulación que se haga debe dar al sistema el perfil siguiente:
Existen baterías más resistentes a las descargas que otras y por lo tanto diferentes en sus
niveles óptimos de tensión permisibles. Los niveles mencionados en el cuadro son
ajustables por software al requerimiento del sistema, en esto radica la flexibilidad de la
tarjeta. El microcontrolador nos ofrece en su uso varias bondades como son: Conversión
A/D, un temporizador y varios servicios de interrupciones. Para implementar el programa
se ha explotado estas bondades que bajo la configuración de sus respectivos registros de
control, se pueden acoplar perfectamente al programa que sigue una secuencia
estructurada.

Conversión A/D.
Como el nombre lo dice, se usa para obtener instante a instante el valor del voltaje de la
batería y de esta manera ver si esta dentro de los valores predeterminados en el cuadro
de perfil que inicialmente se dieron como datos en el programa.

Temporizador e Interrupciones:
Se usa el servicio de interrupciones que se activa al llenarse el byte del temporizador,
esto en el programa sucede cada 50 ms, la cual pasado este tiempo, el puntero del
programa va a una dirección (0x004) fija y preestablecida por el propio microcontrolador,
en esta dirección se debe hacer la rutina que se quiere cumplir cada vez que suceda una
interrupción. Lo mencionado en el cuadro son las características que definen la buena
regulación del sistema. El software implementado debe ser el indicado para poder
asegurar dichos valores. El microcontrolador se programa con lenguaje ensamblador

Comunicación Regulador – EEPROM:


La comunicación entre el PIC y la EEPROM se realiza bajo el protocolo I2C, protocolo
que creo la philips[14] Para poder entender el programa que esta en la sección de anexos
de este estudio, hay que entender detalladamente en que consiste el protocolo de
comunicación I2C. para estandarizar un tipo de comunicación entre sus dispositivos
integrados.

Descripción Funcional.
El protocolo I2C usa un bus de datos bidireccional, de recepción y de transmisión de
datos. Un dispositivo que envía datos por el bus está definido como transmisor, y el
dispositivo que recibe datos como aparato receptor. El bus debe controlarse por un
dispositivo maestro que genera el Clock Serial (SCL), controla la vía de entrada del bus, y
genera el PRINCIPIO y EL FIN de acuerdo a algunas condiciones, mientras el receptor
funciona como esclavo. Ambos maestro y esclavo pueden operar como el transmisor o el
aparato receptor pero el maestro es el dispositivo que determina que modo es activado.
Características del Bus de Datos.
El siguiente protocolo de bus haya estado definido:
• La transferencia de datos puede ser iniciada sólo cuando el bus no está ocupado.
• Durante la transferencia de datos, la línea de datos debe permanecer estable cuando
quiera que la línea del reloj esté ALTO. Cambiar en la línea de datos mientras la línea del
reloj está ALTO será interpretado como una condición de PRINCIPIO o de PARADA.

Bus no Ocupado (A)


Ambos línea de datos y línea del reloj permanecen en nivel ALTO.

Iniciar Transferencia (B). Una en la línea de datos (SDA) mientras el reloj (SCL) está
ALTO determina una condición de PRINCIPIO (START). Todas las órdenes deben ser
precedidas por una condición de PRINCIPIO.

Detener Transferencia de Datos (C).


Un cambio de nivel de bajo a alto en la línea SDA mientras el reloj (SCL) está ALTO
determina una condición de PARADA. Todas las operaciones deben ser acabadas con
una condición de PARADA.

Datos Validos (D).


El estado de la línea de datos representa datos válidos cuándo, después una condición de
INICIO, la línea de datos es estable para la duración del período ALTO de la señal del
reloj. Los datos en la línea deben variarse durante el período BAJO de la señal del reloj.
Hay un pulso del reloj por cada bit de datos. Cada transferencia de datos es iniciada con
una condición de INICIO y terminada con una condición de ALTO. El número de los bytes
transferidos entre INICIO y PARADA es determinado por el dispositivo maestro.

Reconocimiento (ACK).
Cada dispositivo receptor, cuando son direccionados, tiene la obligación de generar una
señal de reconocimiento después de la recepción de cada byte. El dispositivo maestro
debe generar un pulso adicional del reloj que se asocie con el bit de reconocimiento. Un
dispositivo haga el reconocimiento debe poner en nivel bajo la línea SDA 87 durante el
pulso del reloj de tal manera que la línea SDA está en nivel BAJO estable durante el
período ALTO del pulso del reloj. Por supuesto, en los tiempos de secuencia entre onda
de SDA y onda de SCL deben tomarse en cuenta y estos tiempos dependen de las
especificaciones de ambos; maestro y esclavo. Durante la operación de de lectura de
datos, un Maestro debe dar señas de un fin de datos para el esclavo y esto lo hace al NO
generar un bit de reconocimiento después del último byte. En este caso, el esclavo
(24LC32A) dejará la línea de datos en ALTO y esto le facultaría al Master generar la
condición de PARADA.

Direccionamiento del Dispositivo.


El Byte de control es el primer byte admitido después de la condición de INICIO del
dispositivo maestro. El Byte de control consta de un código de control de 4 bits. Los
siguientes tres bits del byte de control son los bits de selección de dispositivo, ellos son
usados por el dispositivo maestro para seleccionar uno de los 8 esclavos con el que
desea entablar la comunicación, haciendo de una respectiva selección de los bits (A2, A1,
A0). Estos en el esclavo están conectados físicamente o a tierra o a Vcc. El último bit del
byte de control define la operación a ser realizado. Cuando es seteado a uno, se
selecciona una operación de lectura, y cuando es seteado a cero se selecciona una
operación de escritura. Los siguientes dos bytes recibidos definen la dirección del puntero
de la memoria a leer o escribir en el esclavo del primer byte de datos

Operación de Escritura

a) Escribiendo un Byte.
Siguiendo la condición de INICIO dada por el master, el código de control ( cuatro bits), el
dispositivo selecto (tres bits), el bit R/W debe ser puesto a nivel lógico bajo por el master.
Esto indica al dispositivo receptor que un byte de dirección seguirá después de que él
haya generado un bit de reconocimiento (ACK) durante el noveno ciclo de reloj. Por
consiguiente, el siguiente byte transmitido por el Master es el segundo byte de la
dirección esto ubicará un puntero en la memoria del esclavo. El siguiente byte es el byte
de la dirección menos significante. Después de recibir la señal de reconocimiento el
dispositivo maestro transmitirá el byte de datos que desea escribir en la dirección de
memoria que apunto. El esclavo manda un bit de reconocimiento de nuevo (ACK) y el
master genera una condición de PARADA. Esto inicia un ciclo de escritura interna dentro
del esclavo, y durante este tiempo el esclavo no generará un reconocimiento.

b) Escribiendo una Página.


El byte de control, la dirección de palabra y el primer byte de datos son transmitidos al
esclavo de la misma manera que al escribir un byte. Pero en lugar de generar una
condición de PARADA, el Master transmite hasta n bytes que son temporalmente
almacenados buffer del esclavo y estará escrito en la memoria después de que el Master
haya transmitido una condición de PARADA. Después de reciba cada bloque, los cinco
bits menos significativos del puntero de la dirección son internamente incrementados en
uno. La cantidad n de bytes secuenciales a escribir depende de la capacidad del buffer
del dispositivo receptor. Sí el Master transmite más de 32 bytes antes de generar la
condición de PARADA, los datos previamente recibidos serán sobre escritos. Al igual que
con al escribir un byte, una vez que la condición de PARADA es recibida, un interno ciclo
de escritura comenzará.

Operación de lectura.
Las operaciones de lectura son iniciadas de la misma manera que las operaciones de
escritura a excepción del bit R/W que es 1.
Hay tres tipos básicos de lectura: Leer la dirección actual, leer al azar, lectura secuencial.

Lectura de la dirección Actual del Puntero de la Memoria.


Las memorias EEPROM contienen un contador de direcciones que mantiene la
dirección de la última palabra accedida +1. Por consiguiente, si la vía de entrada previa
(ya sea una operación de lectura o escritura) fue dirigida a la palabra n (n es cualquier
dirección legal), entonces la siguiente dirección actual de datos será la dirección n + 1.
Para obtener este dato de la siguiente posición de la memoria a ocupar (n+1), se debe
de leer como se explicó anteriormente, después del control byte de escritura, se debe
esperar el reconocimiento del esclavo y luego se debe recibir el dato de la dirección
(n+1) en un array de 8 caracteres. Luego el Master no debe hacer reconocimiento y esto
generará una condición de PARADA.

Lectura al Azar y Secuencial.


Las operaciones de lectura al azar permiten que el master acceda para leer a cualquier
posición de la memoria de manera aleatoria. Para realizar este tipo de operación, primero
debe estar colocada la dirección del dato a leer. Esto se realiza mandando la dirección
que se desea leer en una operación de escritura (R/w= 0). Después que la dirección es
mandada, después del reconocimiento, el Master debe generar un bit de INICIO, esto
termina la operación de escritura, pero no antes de que el puntero se haya colocado en la
dirección deseada. Luego el Master envía el byte de control una vez más, pero con el
R/W= 1, esto generará la condición de escritura y el esclavo generará un bit de
reconocimiento y luego de esto el esclavo mandará el byte de datos. Sí se desea sólo leer
un dato el master debe de enviar un bit de no reconocimiento poniendo la línea SDA a 1,
esto generará la condición de PARADA (lectura aleatoria). Pero sí se desea leer más
datos en forma secuencial, se puede seguir con el respectivo reconocimiento (lectura
secuencial).
Para realizar esta comunicación, centrar nuestra atención en 8 pequeñas rutinas que
conjuntamente ejecutadas desde un programa principal, permitirán realizar una excelente
comunicación I2C entre el PIC 16c711 y la memoria EEPROM 24LC32A.

Rutinas.
Habría que definir unas subrutinas de llamada, que están conformadas por las
ejecuciones por bloque que están separados por bits de reconocimiento ACK o NO ACK.

1) START BIT: Bit de inicio (S).


2) CONTROL BYTE: 7-Bit de direccionamiento (Slave Address) + 1 Bit de Lectura (0) o
escritura (1).
3) ACK: Bit de reconocimiento (A).
4) NO ACK: Bit de no reconocimiento (NA)
5) DBR (Data Byte Reception): Este es el dato de la dirección de la última palabra
accedida + 1 que se lee de la memoria para proseguir con el llenado sin reemplazar los
datos existentes.
6) AHB & ALB: Son los dos bytes de direccionamiento de la memoria, entre los dos tiene
que existir un ACK para el reconocimiento.
7) DBS (Data Byte Send): Mensaje o dato octeto que se quiere mandar, pueden ser desde
1 hasta 32 bytes sin bit de reconocimiento.
8) STOP BIT: Bit de parada (P).
Los pines que se usarán son RB0 y RB1, como SCL y SDA respectivamente.
RB0 ⇒ SDA y RB1 ⇒SCL
Esto se declara al comienzo de todo el programa. Antes del ORG 0. La dirección de la
memoria la debemos tener en cuenta, debido a que existe riesgo de que se sobre
escriban los datos. Como la memoria EEPROM del 24LC32A es de 4K x 8Bits, entonces
necesitamos 11 bits, para poder direccionarla. Por lo tanto, tenemos que escoger 2 Bytes
de la memoria RAM del PIC, para poder tener 11 bits, de hecho, habrá un Byte en el que
sólo se escribirán los 3 bits menos significativos.
En la memoria EEPROM sólo se pueden escribir 4 x 1024 bytes. Cada Byte va a
representar una tensión que se almacenará cada minuto que esté conectada la carga, es
decir lo máximo de datos que podríamos almacenar antes de limpiar la RAM son 4096
datos, que vienen a ser datos de voltios en 4096 minutos, suponiendo que el usuario esté
conectado por 14 horas al día, entonces se podrían almacenar valores de tensión durante
5 días. Este Data Loger se usaría para determinar el comportamiento de la batería y del
medio en donde se localiza el panel, se puede hacer una relación directa entre la potencia
consumida y la potencia presente en la radiación mediante el factor eficiencia del panel y
de esta manera determinar la radiación directa en esa zona.

Cuando empieza el día y la batería se carga hasta llegar a 11 voltios, se activa la carga
pero cuando el voltaje de la batería es menor a 10 voltios, la carga se desconecta del
sistema. Esto nos indicaría las horas de trabajo de la batería
Se podría plantear en código lo siguiente.

a) Condición de inicio
Cuando el voltaje de la batería es 10.9 voltios y el mosfet de batería-carga está
desactivado, quiere decir que recién comienza el día y la batería ha empezado a trabajar,
claro el error sería el tiempo que ha pasado para que la batería llegue de 10.9 a 11
voltios, tiempo que es corto.

b) Condición de parada
Cuando el voltaje de la batería es 10.1 y el mosfet de batería-carga está activado, quiere
decir que la carga está a punto de ser desconectada. Estaríamos en fin del trabajo de la
batería, pues una vez desconectada la carga, la batería tendría que cargarse a 11 voltios
para que la carga se vuelva a ser conectada, lo que representaría el comienzo de otro día.
Tener el control de las horas de trabajo de la batería es como si se llevara un control de
las horas de sol utilizadas, en función de la capacidad de la batería AH. Se deduce esto
porque así la batería se quede cargada hasta la noche en donde naturalmente no hay
horas de sol, la carga que posee vino del sol, lo cual indirectamente, es su energía, pero
ahora medida en capacidad del que la almacena, AH. Por otro lado, tener un registro de la
descarga por día Sol de la batería serviría para ver qué tan profunda fue la descarga;
cuanto más rápida es la descarga, menor es el tiempo de duración de la carga de la
batería por día. Una mayor descarga impedirá una mayor carga de la batería, esto es
perjudicial y poco a poco se podría ir disminuyendo la capacidad de carga de la batería
hasta quedar obsoleta. Para llevar el control del voltaje y del tiempo se configuró que se
haga una interrupción a la ejecución del programa cada 50ms, esta interrupción manda al
puntero del programa a una posición determinada por el microcontrolador en donde hay
una subrutina que permitirá ir sumando este valor del tiempo y así se irá contando hasta
llegar a un minuto. De esta manera constantemente se están ejecutando las siguientes
tareas al mismo tiempo. La conversión, la regulación, la comunicación y la activación de
los indicadores. Son varias tareas al mismo tiempo, esto es lo que forma la base de los
sistemas operativos y se le denomina Real Time Kernel

Seguridad
Esta tarjeta está pensada para un sistema fotovoltaico que usa un panel y una batería
con unos límites de corriente permisibles, tanto para la batería (Descarga) como para el
panel (Carga). En el caso de falla y se supere esta corriente, a modo de fusible se usan
dos diodos de potencia de 6 amperios, que se queman cuando la corriente supera 6
amperios.

Sistema de Carga
El panel solar posee una corriente máxima, la cual de ser superada, ocurrirían daños
irreparables al panel. En el caso de un corto circuito habría mayor amperaje que el
admisible pero inmediatamente el diodo se quemaría y evitaría mayor daño, se podría
poner un fusible pero se estaría perdiendo unos cuantos watts por lo que no conviene
para este sistema que trata de aprovechar al máximo la energía del sol.
Sistema de Descarga
En la descarga el que establece la corriente es el usuario o la carga que se conecte a la
batería. Las baterías se miden por su capacidad que esta relacionada con el amperaje y
el tiempo que se demora en descargarse entregando un determinado amperaje.
Teóricamente una batería de 200 Ah, entregando 1 amperio se demoraría 200 horas en
descargarse. Como se ha mencionado anteriormente la corriente depende del usuario o
de la carga conectada. Aquí entra a tallar la profundidad de la descarga de la batería es
decir la rapidez con que se descarga la cual se mide en amperios. Mientras la descarga
es más profunda, su capacidad de carga disminuye. En una descarga profunda en primer
lugar, no se obtiene toda la energía que es capaz de proporcionar la batería. Por ejemplo,
una batería descargada en 72 horas devuelve aproximadamente el doble de energía que
si se descargarse en sólo 8 horas. Además, las descargas rápidas producen
deformaciones y la prematura desintegración de las placas de los elementos, que se
depositan en el fondo de los recipientes en forma pulverulenta hasta llegar a cortocircuitar
ambas placas, inutilizando la batería.

La rapidez da descarga se mide en amperios que absorbe el usuario de la energía. Para


controlar este valor lo hemos considerado como máximo de 6 amperios; por lo que un
diodo de 6 amperios entre los polos positivos evitaría que el valor de la corriente sea
perjudicial para la batería.

Es algo particular en los MOSFETS, el calentamiento, pues la potencia que disipan es


directamente proporcional con la corriente que circula por ellos. Es por esta razón que se
eligió el IRFZ44 ya que, debido a su baja impedancia, la potencia que disipa es menor.
Esta potencia disipada que en otras palabras es el calentamiento producido, va
sumándose y calienta cada vez más al mosfet. El mosfet tiene una aleta, que no es más
que una superficie óptima de disipación. Esta aleta va conectada a la caja de la tarjeta
que esta al contacto con el aire. Esto ventilará el MOSFET y evitará su sobre
calentamiento.

DIODOS DE BLOQUEO
La función principal de los diodos de bloqueo es la de impedir que el flujo de potencia se
invierta.
En los sistemas fotovoltaicos hay momentos de sombra, hasta días enteros en donde el
panel recibe niveles bajos de luz. Puede darse el caso de que en estos momentos el
voltaje del panel sea menos al de la batería, por lo que se invertiría el flujo. El diodo
evitaría este cambio de dirección ya que este sólo conduce en una sola dirección: del
panel hacia la batería. De igual modo para el sistema de carga, puede ser que el usuario
se conecte a una fuente más potente de energía, lo que originaría el flujo inverso
entonces se estaría cargando a la batería, pero no controladamente, como lo hace la
tarjeta. Recordemos que el objetivo no es proveer un sistema de carga sino controlar la
carga y la descarga adecuándola a los parámetros óptimos que alargan la vida útil de la
batería.

Comunicación PC – EEPROM.
La opción elegida es usando I2C entre PC y EEPROM, otra ventaja es que esto evitaría
llevar una portátil al lugar del regulador; es por esto que el data loger, está en una tarjeta
separada extraíble del regulador, para así poder trasladarla con facilidad. Este data loger,
como hemos visto en capítulo anterior, tiene dos puertos de comunicación, para poderla
conectar al regulador y a la PC cuando se quieran conectar los datos. Como convertidor
de protocolos en niveles de tensión se usa un MAX 232
PROGRAMA CREADO
CONCLUSIONES
Gracias a la buena regulación, el nivel de tensión de la batería siempre está entre los
niveles mínimo y máximo programados por software que en este caso fueron 11V y
13.5V.
El regulador es para baterías de diferentes tensiones nominales como las comunes de 12,
24 y 48 Voltios (el sistema es muy flexible). Para cambio de niveles de tensión más altos
hay que seleccionar los MOSFETS oportunos.
La banda de igualación de la batería es la variación de tensión (medida en voltios) del
panel solar en 10 segundos, que para un estado óptimo del clima vendría a ser .05 voltios
(esto por la respuesta lenta del panel ante las variaciones de radiación). Esta banda de
igualación se puede cambiar por programa ajustando la modulación por ancho de pulso.
La conexión y desconexión de la carga, no afecta la regulación, esto es debido a que en
el diseño se ha considerado una histéresis de un voltio. Esta histéresis es modificable por
software.
La lectura de los niveles de tensión por una PC a través de la EEPROM cada minuto,
permite obtener con precisión la curva de carga y descarga de la batería, esta curva es un
indicador del estado de la profundidad de la descarga que se relaciona con la vida útil de
la misma.
Conectando sólo el panel en los bornes del regulador correspondientes a la batería,
obtenemos la curva de tensión del panel solar vs. tiempo. Teniendo esta curva para
diferentes días y posiciones, se puede obtener la radiación del día aproximada y una
óptima posición para los paneles.
La tarjeta de adquisición de datos implementada no sólo es útil para el regulador, sino es
útil para la mayoría de los procesos en donde se requiera el almacenamiento de datos.
La memoria de la tarjeta de adquisición de datos es expandible. Gracias a su
direccionamiento físico que consta de 3 bits se pueden colgar 8 memorias EEPROM de
un m ismo de la misma línea de datos y sólo bastaría una modificación en el software que
se ejecuta desde la PC para descargar los 32768 datos.
La conexión de un radio modem en la tarjeta permitiría el envío de datos para el constante
monitoreo de la tensión en tiempo real.

También podría gustarte