Вы находитесь на странице: 1из 45

Repblica Bolivariana de Venezuela

Ministerio del Poder Popular Para la educacin Universitaria


I.U.P Santiago Mario
Escuela 44
Proyecto de control

SISTEMA DE CONTROL PARA LLENADO DE


TANQUES CON MICROCONTROLADOR PIC

Kevyn Partidas 19.194.811


Roberto Di Giacomo 20.781.294
Luis Moreno

Objetivo General

Realizar un sistema de control para el llenado de tanques utilizando micro


controladores pic

Objetivos especficos

Diseo e implementacin de un sensor de nivel.


Disear y fabricacin de una tarjeta lgica para el control del sistema.
Elaboracin de un cdigo lgico para la programacin del micro controlador

Justificacin
La realizacin de este sistema lgico provocara mejoras dentro de los procesos industriales,
automatizando los sistemas de llenado y vaciado de los depsitos de fluidos. Igualmente
este proyecto puede ser llevado a los hogares, brindando otra alternativa de automatizacin
para los hidroneumticos de casa.

Marco Terico

QU ES UN SENSOR?
Un sensor convierte una seal fsica de un tipo en una seal fsica de otra naturaleza. Por
ejemplo una termocupla produce un voltaje que est relacionado con la temperatura, as
mismo en una resistencia metlica se aprovecha el fenmeno de variacin de la resistencia
con la temperatura para producir una seal de voltaje que sea proporcional a la temperatura.
La diferencia entre los dos ejemplos est que para el caso de la termocupla se produce un
mili voltaje producto de la unin de dos materiales a una determinada temperatura, en el
segundo ejemplo la pura resistencia por si sola no puede hacer la conversin a voltaje sino
que requiere de un circuito y de una fuente de alimentacin. En el primer caso tenemos al
elemento sensor slo, en el segundo el elemento sensor ms un circuito, en este segundo
caso la unin de los dos constituye el transductor. Tanto en el caso de la termocupla como
de la resistencia metlica se necesitan etapas adicionales de acondicionamiento como
amplificacin y filtraje de la seal.
Sensores para medir distancias basados en el ultrasonido
Los sensores de ultrasonido son una tecnologa de medida activa en donde se emite una
seal ultrasnica en forma de pulso, para posteriormente recibir el reflejo de la misma o
eco. Se pueden explotar diferentes aspectos de la seal reflejada: el tiempo de vuelo o la
atenuacin
ESPECIFICACIN DE UN SENSOR
Todos los instrumentos deben ser especificados a un punto tal que aseguren la operacin del
proceso y que permita la estimacin de sus costos. Estas especificaciones se pueden
sistematizar, aplicndolas tanto a sistemas sensores como a sistemas actuadores, sin que
todas y cada una de las definiciones que siguen a continuacin sean aplicables a todo sensor
o actuador.

Precisin (o exactitud)
Error
Error de No-Linealidad
Repetitividad
Reproducibilidad.
Sensibilidad
Resolucin
Rango
Rango de Trabajo u Operacin
Banda Muerta
Corrimiento del Cero
Tiempo de Respuesta
Histresis
Funcin de Transferencia.
Caractersticas

Caractersticas de los sensores

Cuando se disean sistemas de adquisicin de datos con computadora, hay aspectos a cerca
de los sensores que es necesario tener en cuenta:
- La naturaleza de la seal que el sensor transductor genera: voltaje, rango de amplitud,
respuesta en frecuencia, precisin necesaria, determinan el tipo de acondicionamiento de
seal, convertidor A/D y cualquier otro hardware a utilizar.
- La influencia de las seales de ruido as como los efectos de carga del hardware de
adquisicin de datos sobre el sensor.
- La calibracin del sensor con respecto a la variable fsica. Si la respuesta del sensor a los
cambios de la variable fsica es lineal o no. Una calibracin mal hecha va a producir
mediciones errneas.
- La interdependencia entre los distintos componentes del sistema de adquisicin de datos,
por ejemplo un sensor muy bueno, con un pobre convertidor A/D no sirve de casi nada.
- La precisin del sensor, esto es la capacidad de medir el mismo valor repetidas veces en
idnticas condiciones.
- El tiempo de respuesta del sensor, es decir, el tiempo requerido para responder a un
cambio brusco de la variable que est siendo censada.
- El coeficiente de temperatura del sensor, el cual viene dado por el cambio que se
produce en la respuesta del sensor debido al cambio en la temperatura a la cual se
encuentra, por ejemplo el aumento en las corrientes de fuga y el voltaje offset de un
amplificador, el aumento de la corriente en la oscuridad de un fotodiodo.
- La histresis de un sensor, la cual se define como la dependencia de la salida del sensor
de la respuesta anterior. Esta es muy comn en sistemas magnticos y mecnicos.

Existen varias formas de clasificar los sensores, por ejemplo se pueden clasificar por el
principio fsico de funcionamiento (inductivo, capacitivo, termoelctrico o resistivo etc.),
por la variable fsica medida (temperatura, presin, posicin etc. por la capacidad de
generar energa (activos) o de necesitar de un circuito de excitacin (pasivos). En este
trabajo se estudian los sensores de acuerdo al tipo de variable fsica medida.
Existen varias formas de clasificar los sensores, por ejemplo se pueden clasificar por el
principio fsico de funcionamiento (inductivo, capacitivo, termoelctrico o resistivo etc.),
por la variable fsica medida (temperatura, presin, posicin etc. por la capacidad de
generar energa (activos) o de necesitar de un circuito de excitacin (pasivos). En este
trabajo se estudian los sensores de acuerdo al tipo de variable fsica medida.
Sensores de temperatura
Entre los sensores ms comunes empleados para medir temperatura con instrumentacin
electrnica se tienen: RTDs, termistores, sensores de circuito integrado (IC) y termocuplas.

Detector de resistencia metlica (RTD)


El detector de resistencia metlica RTD, es uno de los sensores ms precisos de
temperatura. Se caracteriza por su excelente estabilidad, usualmente es utilizado para medir
temperaturas de 0 C a 450 C.
La resistencia metlica es de alambres finos o de pelculas de metales. Su resistencia vara
en forma directamente proporcional con la temperatura. Ellas son fabricadas de metales
como cobre, plata, oro, tungsteno y nquel, no obstante el platino es el material ms
comnmente usado. El platino presenta una excelente estabilidad y la ms alta resistividad
con respecto a los otros metales.
Entre las desventajas de las RTDs de platino (Pt100) se pueden mencionar: 1- su alto costo,
por lo que hacer instrumentacin con ellas es caro; 2- debido a su baja resistencia (100 a
0 C) y sensibilidad (0.4 /C), los alambres de conexin es uno de los principales

problemas, la va para minimizarlo es usar el esquema de medicin con 4 alambres; 3- en el


sistema de medicin con 4 alambres, dos alambres llevan y traen la corriente proveniente
de una fuente de corriente constante y otros dos alambres se emplean para la conexin del
instrumento de medicin de voltaje, convertidor A/D en un sistema de adquisicin de datos
por computadora; 4- la corriente de excitacin constante produce una disipacin de
potencia en la RTD, lo cual le genera calentamiento que incrementa adicionalmente su
temperatura que no es posible de detectar cuando se hace la medicin de temperatura, una
forma de reducir este error usar una corriente de excitacin lo ms pequea posible.
Termistor
Un termistor es un semiconductor hecho de dos xidos metlicos unidos dentro de una
pequea bola, disco u otra forma y recubierto con epxido o vidrio.
Hay dos clases de termistores los que presentan un coeficiente negativo de temperatura
(CNT), cuya resistencia disminuye con la temperatura y coeficiente positivo con la
temperatura (CPT) cuya resistencia aumenta con la temperatura. Los termistores CNT son
los ms usados para medicin de temperatura. Valores comunes de termistores son 2252 ,
5000 y 10000 . Un termistor de 5000 tiene aproximadamente una sensibilidad de 200
/C a la temperatura ambiente, comparada con 0.4 /C de la Pt100, la sensibilidad del
termistor es bastante ms alta.
Los termistores se pueden emplear para medir temperaturas hasta de 300 C.
Debido a que los termistores tienen una resistencia alta, la resistencia de los conductores
que llevan la corriente no afecta la exactitud de las mediciones. Mediciones con dos
alambres es adecuado en circuitos con termistores.
Ya que la resistencia es bastante alta, la corriente de excitacin debe ser pequea para evitar
el auto calentamiento que afecte la exactitud de la medicin.
Sensor de circuito integrado IC
Los sensores de circuito integrado se fundamentan en la caracterstica de la unin p-n de los
semiconductores. Estn formados por circuitos integrados sobre un chip, el cual presenta
una salida lineal y proporcional a la temperatura. Se consiguen sensores IC que presentan

salidas en voltaje analgico y en forma digital. Por estar hechos a base de silicio, su rango
de temperatura est limitado aproximadamente a los 150 C.
Una de las principales ventajas de los sensores IC es su fcil interface. Entre las desventajas
se tienen: el limitado rango de temperatura, la necesidad de alimentacin y el auto
calentamiento.

Termocuplas
El funcionamiento de una termocupla se basa en el principio fsico de la unin de dos
alambres de metales diferentes que produce una diferencia de potencial en los dos extremos
que no se encuentran en contacto que es funcin de la temperatura a la cual se encuentra la
unin. Este principio se llama efecto Seebeck, en memoria a Thomas Seebeck quien lo
descubri en 1821. El voltaje producido en la unin es no lineal con respecto a la
temperatura, bastante pequeo (del orden de los mili voltios).
Varios tipos de termocuplas existen. Ellas se identifican mediante letras maysculas que
indican su composicin de acuerdo a las convenciones establecidas por el American
National Standards Institute (ANSI). Por ejemplo una termocupla tipo J est hecha de la
unin de cobre-constantan.
Una diferencia fundamental entre los sensores de temperatura menciona dos anteriormente
y la termocupla es la necesidad que se tiene de una referencia para hacer mediciones
absolutas con ella.

Veamos el siguiente ejemplo: en la figura se muestra una termocupla de hierro - constata


que se encuentra conectada al instrumento de medicin (tarjeta de adquisicin de datos
TAD) a travs de alambres de cobre. En este circuito existen tres uniones diferentes: J1, J2
y J3. La unin J1 genera un voltaje proporcional a la temperatura que se est midiendo. Las
uniones J2 y J3 tienen sus propios voltajes Seebeck. El amplificador de instrumentacin de
la TAD va a medir el voltaje generado por todas estas uniones. Para determinar la
temperatura de la unin J1, se necesita conocer los voltajes de las uniones J2 y J3 para
restrselos al total y poder conocer el voltaje de la unin J1. Esto es lo que se conoce como
compensacin de la unin fra.
Tradicionalmente la referencia ha sido 0C, lo cual se logra manteniendo la unin de
referencia bajo hielo a 0C. Bajo estas condiciones, si la temperatura se encuentra sobre
0C, un mili voltaje positivo aparece a la salida del circuito abierto de la termocupla; si es
menor a 0C el mili voltaje de salida es negativo, y cuando la referencia y la unin en la
cual se mide la temperatura estn a 0C la salida de la termocupla es de 0 mili voltios.
Aunque este mtodo es bastante exacto, no es l ms prctico. Una manera ms prctica
consiste en medir la temperatura de la unin de referencia, directamente con un sensor de

temperatura, tal como un termistor o un sensor de circuito integrado IC. Este proceso de
compensacin de la unin fra puede simplificarse aprovechando algunas de las
caractersticas de las termocuplas

Sensores de proximidad
Los sensores de proximidad suelen tener una salida binaria que indica la presencia de un
objeto dentro de un intervalo de distancia especificado. En condiciones normales, los
sensores de proximidad se utilizan en robtica para un trabajo en campo cercano para
agarrar o evitar un objeto.

10

Cualquier sensor para medir distancia se puede usar como sensor de proximidad.

Sensores inductivos
Los sensores basados en un cambio de inductancia debido a la presencia de un objeto
metlico estn entre los sensores de proximidad industriales de ms uso frecuente. El
principio de funcionamiento de estos sensores puede observarse en la Figura 1-5.
La figura muestra un diagrama esquemtico de un sensor inductivo, que consiste
fundamentalmente en una bobina arrollada, situada junto a un imn permanente
empaquetado en un receptculo simple y robusto. El efecto de llevar el sensor a la
proximidad de un material ferromagntico produce un cambio en la posicin de las lneas
de flujo del imn permanente segn se indica en la figura. En condiciones estticas no hay
ningn movimiento en las lneas de flujo y, por consiguiente, no se induce ninguna
corriente en la bobina. Sin embargo, cuando un objeto ferromagntico penetra en el campo
del imn o lo abandona, el cambio resultante en las lneas de flujo induce un impulso de
corriente, cuya amplitud y forma son proporcionales a la velocidad de cambio de flujo.

11

La forma de onda de la tensin, observada a la salida de la bobina, proporciona un medio


efectivo para la deteccin de proximidad. La tensin medida a travs de la bobina vara
como una funcin de la velocidad a la que un material ferromagntico se introduce en el
campo del imn. La polaridad dela tensin, fuera del sensor, depende de que el objeto este
penetrando en el campo abandonndolo.
Existe una relacin entre la amplitud de la tensin y la distancia sensor-objeto .La
sensibilidad cae rpidamente al aumentar la distancia, y el sensor slo es eficaz para
fracciones de un milmetro.
Puesto que el sensor requiere movimiento para generar una forma de onda de salida, un
mtodo para producir una seal binaria es integrar esta forma de onda. La salida binaria se
mantiene a nivel bajo en tanto que el valor integral permanezca por debajo de un umbral
especificado, y luego se conmuta a nivel alto (indicando la proximidad de un objeto)
cuando se supera el umbral.

12

Sensores de efecto Hall


El efecto Hall relaciona la tensin entre dos puntos de un material conductor o
semiconductor con un campo magntico a travs del material. Cuando se utilizan por s
mismos, los sensores de efecto Hall slo pueden detectar objetos magnetizados. Sin
embargo, cuando se emplean en conjuncin con un imn permanente en la configuracin tal
como la indicada en la figura, son capaces de detectar todos los materiales ferromagnticos.
Cuando se utilizan de dicha manera, un dispositivo de efecto Hall detecta un campo
magntico intenso en ausencia de un material ferromagntico en el campo cercano.
Figura

Cuando dicho material se lleva a la proximidad del dispositivo, el campo magntico se


debilita en el sensor debido a la curvatura de las lneas del campo a travs del material.
Los sensores de efecto Hall estn basados en el principio de una fuerza de Lorentz que
acta sobre una partcula cargada que se desplaza a travs de un campo magntico. Esta
fuerza acta sobre un eje perpendicular al plano establecido por la direccin de movimiento
de la partcula cargada y la direccin del campo. Es decir, la fuerza de Lorentz viene dada

13

por F = q(v x B), en donde q es la carga, v es el vector de velocidad, B es el vector del


campo magntico.
Al llevar un material ferromagntico cerca del dispositivo de imn semiconductor
disminuir la intensidad del campo magntico, con la consiguiente reduccin de la fuerza
de Lorentz y, finalmente, la tensin a travs del semiconductor. Esta cada en la tensin es
la clave para detectar la proximidad con sensores de efecto Hall. Las decisiones binarias
con respecto a la presencia de un objeto se realizan estableciendo un umbral de la tensin
fuera del sensor.
Adems, la utilizacin de materiales semiconductores permite la construccin de circuitos
electrnicos para amplificacin y deteccin directamente en el propio sensor, con lo que se
reduce el tamao y el coste del mismo.

Sensores capacitivos
A diferencia con los sensores inductivos y de efecto Hall que detectan solamente materiales
ferromagnticos, los sensores capacitivos son potencialmente capaces (con diversos grados
de sensibilidad) de detectar todos los materiales slidos y lquidos. Como su nombre indica,
estos sensores estn basados en la deteccin de un cambio en la capacidad inducido por una
superficie que se lleva cerca del elemento sensor.

14

El elemento sensor es un condensador constituido por un electrodo sensible y un electrodo


de referencia. Estos electrodos pueden ser, por ejemplo, un disco y un anillo metlicos
separados por un material dielctrico. Una cavidad de aire seco se suele colocar detrs del
elemento capacitivo para proporcionar aislamiento. El resto del sensor est constituido por
circuitos electrnicos.
Hay varios mtodos electrnicos para detectar la proximidad basada en cambios de la
capacidad.
Uno de los ms simples incluye el condensador como parte de un circuito oscilador
diseado de modo que la oscilacin se inicie solamente cuando la capacidad del sensor sea
superior a un valor umbral preestablecido. La iniciacin de la oscilacin se traduce luego en
una tensin de salida, que indica la presencia de un objeto. Este mtodo proporciona una
salida binaria, cuya sensibilidad de disparo depender del valor umbral.
La capacidad vara como una funcin de la distancia para un sensor de proximidad basado
en los conceptos anteriores. Es de inters destacar que la sensibilidad disminuye mucho
cuando la distancia es superior a unos pocos milmetros y que la forma de la curva de
respuesta depende del material objeto de deteccin. En condiciones normales, estos
sensores son accionados en un modo binario, de modo que un cambio en la capacidad
mayor que en un umbral preestablecido T indica la presencia de un objeto, mientras que los
cambios por debajo del umbral indican la ausencia de un objeto con respecto a los lmites
de deteccin establecidos por el valor de T.

15

Sensores de iluminacin: fotorresistencias, fotodiodos y fototransistores


Los sensores de luz visible y de infrarrojos cubren un amplio espectro de complejidad. Las
fotoclulas se encuentran entre los ms sencillos de todos los sensores para hacer su
interfaz con el microprocesador, y la interpretacin de la salida de una fotoclula es directa.
Las cmaras de vdeo, por el contrario, requieren una buena cantidad de circuitera
especializada para hacer que sus salidas sean compatibles con un microprocesador, adems
las complejas imgenes que las cmaras graban son todo menos fcil de interpretar.
Los sensores de luz posibilitan comportamientos de un robot tales como esconderse en la
oscuridad, jugar con un flash, y moverse hacia una seal luminosa. Los sensores de luz
simples son fotorresistencias, fotodiodos o fototransistores. Las fotorresistencias son
simplemente resistencias variables con la luz en muchos aspectos parecidos a los
potencimetros, excepto en que estos ltimos varan girando un botn.
Los fototransistores dan mayor sensibilidad a la luz que las fotorresistencias. El
fototransistor es bsicamente un transistor con la corriente de base generada por la
iluminacin de la unin base colector (ver Figura 1-8). La operacin normal del transistor
amplifica la pequea corriente de base.
Un fototransistor tiene una interfaz con un microprocesador casi tan fcil como el de una
fotorresistencia.

16

Los fotodiodos tienen una gran sensibilidad, producen una salida lineal en un amplio rango
de niveles de luz, y responden con rapidez a los cambios de iluminacin. Esto les hace
tiles en los sistemas de comunicacin para detectar luces moduladas; el mando a distancia
de casi todos los TV, equipos estreos y reproductores de CD los emplean. La salida de un
fotodiodo requiere, no obstante, amplificacin antes de poder ser empleada por un
microprocesador.

Sensores de temperatura
Entre los sensores ms comunes empleados para medir temperatura con instrumentacin
electrnica se tienen: RTDs, termistores, sensores de circuito integrado (IC) y termocuplas.
110
Detector de resistencia metlica (RTD)
El detector de resistencia metlica RTD, es uno de los sensores ms precisos de
temperatura. Se caracteriza por su excelente estabilidad, usualmente es utilizado para medir
temperaturas de 0 C a 450 C.
La resistencia metlica es de alambres finos o de pelculas de metales. Su resistencia vara
en forma directamente proporcional con la temperatura. Ellas son fabricadas de metales
como cobre, plata, oro, tungsteno y nquel, no obstante el platino es el material ms
comnmente usado. El platino presenta una excelente estabilidad y la ms alta resistividad
con respecto a los otros metales.
Entre las desventajas de las RTDs de platino (Pt100) se pueden mencionar: 1- su alto costo,
por lo que hacer instrumentacin con ellas es caro; 2- debido a su baja resistencia (100 a
0 C) y sensibilidad (0.4 /C), los alambres de conexin es uno de los principales
problemas, la va para minimizarlo es usar el esquema de medicin con 4 alambres; 3- en el
sistema de medicin con 4 alambres, dos alambres llevan y traen la corriente proveniente
de una fuente de corriente constante y otros dos alambres se emplean para la conexin del
instrumento de medicin de voltaje, convertidor A/D enun sistema de adquisicin de datos

17

por computadora; 4- la corriente de excitacin constante produce una disipacin de


potencia en la RTD, lo cual le genera calentamiento que incrementa adicionalmente su
temperatura que no es posible de detectar cuando se hace la medicin de temperatura, una
forma de reducir este error usar una corriente de excitacin lo ms pequea posible.
Termistor
Un termistor es un semiconductor hecho de dos xidos metlicos unidos dentro de una
pequea bola, disco u otra forma y recubierto con epxido o vidrio.
Hay dos clases de termistores los que presentan un coeficiente negativo de temperatura
(CNT), cuya resistencia disminuye con la temperatura y coeficiente positivo con la
temperatura (CPT) cuya resistencia aumenta con la temperatura. Los termistores CNT son
los ms usados para medicin de temperatura. Valores comunes de termistores son 2252 ,
5000 y 10000 . Un termistor de 5000 tiene aproximadamente una sensibilidad de 200
/C a la temperatura ambiente, comparada con 0.4 /C de la Pt100, la sensibilidad del
termistor es bastante ms alta.
Los termistores se pueden emplear para medir temperaturas hasta de 300 C.
Debido a que los termistores tienen una resistencia alta, la resistencia de los conductores
que llevan la corriente no afecta la exactitud de las mediciones. Mediciones con dos
alambres es adecuado en circuitos con termistores.
Ya que la resistencia es bastante alta, la corriente de excitacin debe ser pequea para evitar
el auto calentamiento que afecte la exactitud de la medicin.

Sensor de circuito integrado IC


Los sensores de circuito integrado se fundamentan en la caracterstica de la unin p-n de los
semiconductores. Estn formados por circuitos integrados sobre un chip, el cual presenta
una salida lineal y proporcional a la temperatura. Se consiguen sensores IC que presentan
salidas en voltaje analgico y en forma digital. Por estar hechos a base de silicio, su rango
de temperatura est limitado aproximadamente a los 150 C.

18

Una de las principales ventajas de los sensores IC es su fcil interface. Entre las desventajas
se tienen: el limitado rango de temperatura, la necesidad de alimentacin y el auto
calentamiento.
Termocuplas
El funcionamiento de una termocupla se basa en el principio fsico de la unin de dos
alambres de metales diferentes que produce una diferencia de potencial en los dos extremos
que no se encuentran en contacto que es funcin de la temperatura a la cual se encuentra la
unin. Este principio se llama efecto Seebeck, en memoria a Thomas Seebeck quien lo
descubri en 1821. El voltaje producido en la unin es no lineal con respecto a la
temperatura, bastante pequeo (del orden de los mili voltios).
Varios tipos de termocuplas existen. Ellas se identifican mediante letras maysculas que
indican su composicin de acuerdo a las convenciones establecidas por el American
National Standards Institute (ANSI). Por ejemplo una termocupla tipo J est hecha de la
unin de cobre-constantan. Una diferencia fundamental entre los sensores de temperatura
mencionados anteriormente y la termocupla es la necesidad que se tiene de una referencia
para hacer mediciones absolutas con ella.
Veamos el siguiente ejemplo: en la figura se muestra una termocupla de hierro - constantan
que se encuentra conectada al instrumento de medicin (tarjeta de adquisicin de datos
TAD) a travs de alambres de cobre. En este circuito existen tres uniones diferentes: J1, J2
y J3. La unin J1 genera un voltaje proporcional a la temperatura que se est midiendo. Las
uniones J2 y J3 tienen sus propios voltajes Seebeck. El amplificador de instrumentacin de
la TAD va a medir el voltaje generado por todas estas uniones. Para determinar la
temperatura de la unin J1, se necesita conocer los voltajes de las uniones J2 y J3 para
restrselos al total y poder conocer el voltaje de la unin J1. Esto es lo que se conoce como
compensacin de la unin fra.
Tradicionalmente la referencia ha sido 0C, lo cual se logra manteniendo la unin de
referencia bajo hielo a 0C. Bajo estas condiciones, si la temperatura se encuentra sobre
0C, un mili voltaje positivo aparece a la salida del circuito abierto de la termocupla; si es
menor a 0C el mili voltaje de salida es negativo, y cuando la referencia y la unin en la

19

cual se mide la temperatura estn a 0C la salida de la termocupla es de 0 mili voltios.


Aunque este mtodo es bastante exacto, no es l ms prctico. Una manera ms prctica
consiste en medir la temperatura de la unin de referencia, directamente con un sensor de
temperatura, tal como un termistor o un sensor de circuito integrado IC. Este proceso de
compensacin de la unin fra puede simplificarse aprovechando algunas de las
caractersticas de las termocuplas.

De acuerdo a la Ley de los Metales Intermedios el circuito de la figura 7.2 es similar al


circuito anterior de la figura 7.1. En el circuito de la figura 7.2 un trozo de alambre de
constantan se ha insertado antes de la unin J3 dando origen a una unin ms J4.
En el circuito de la figura las uniones J2 y J4 son del mismo tipo (cobre constantan); ya
que ambas se encuentran a la misma temperatura y en direcciones contrarias se cancelan.

20

Las uniones J1 y J3 son del mismo tipo, pero estn en direcciones contrarias, por lo que sus
voltajes tienen signos opuestos. La unin J3 se encuentra a la temperatura de referencia y J1
a la temperatura que se est midiendo. De lo anterior se desprende que el voltaje medido
por la TAD va a ser igual al voltaje de la temperatura medida menos el voltaje de la
temperatura de referencia o lo que es igual el voltaje de la temperatura medida es igual al
voltaje medido por la TAD ms el voltaje de la temperatura de referencia.
Utilizando la relacin anterior y midiendo la temperatura de referencia con un sensor se
obtiene el voltaje de la temperatura medida y de l ya sea por las tablas de termocuplas o
por los polinomios del National Institute of Standards and Technology (NIST), la
temperatura. En la Tabla 7.1 se muestran los coeficientes de los polinomios para los
diferentes tipos de termocuplas.
La termocupla es uno de los sensores ms populares para medir temperatura. A diferencia
de los otros sensores de temperatura, ella no requiere de fuente de alimentacin ya que es
auto generadora de potencia; son econmicas y fciles de construir debido a que son

21

bsicamente la unin de dos alambres. Existe una variedad de ellas en el mercado en un


amplio rango de temperaturas. Se identifican por letras siendo las ms populares J, K y T.
Las termocuplas presentan algunos inconvenientes. Debido al bajo voltaje que generan y a
su baja sensibilidad requieren de una instrumentacin muy exacta, y de otro sensor para
realizar la compensacin de la unin fra. Por otro lado las termocuplas son menos estables
que los otros sensores de temperatura.

22

PIC 16F877A

El PIC16F877 es un micro controlador 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 micro controlador de Microchip Technology fabricado en tecnologa
CMOS, su consumo de potencia es muy bajo y adems es completamente esttico, esto
quiere decir que el reloj puede detenerse y los datos de la memoria no se pierden.
El encapsulado ms comn para este micro controlador es el DIP (Dual In-line Pin) de 40
pines, propio para usarlo en experimentacin. 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 segn el diseo y la aplicacin que se quiere realizar.

23

Por ejemplo, el encapsulado tipo surface mount (montaje superficial) tiene un reducido
tamao y bajo costo, que lo hace propio para producciones en serie o para utilizarlo en
lugares de espacio muy reducido.

Configuracin de los pines


Los pines de entrada/salida de este micro controlador estn organizados en cinco puertos, el
puerto A con 6 lneas, el puerto B con 8 lneas, el puerto C con 8 lneas, el puerto D con 8
lneas y el puerto E con 3 lneas. Cada pin de esos puertos se puede configurar como
entrada o como salida independiente programando un par de registros diseados 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 micro controlador tambin
pueden cumplir otras funciones especiales, siempre y cuando se configuren para ello, segn
se ver ms adelante.

24

Los pines del puerto A y del puerto E pueden trabajar como entradas para el convertidor
Anlogo a Digital interno, es decir, all se podra conectar una seal proveniente de un sensor o
de un circuito analgico para que el micro controlador la convierta en su equivalente digital y
pueda realizar algn proceso de control o de instrumentacin digital. El pin RB0/INT se puede
configurar por software para que funcione como interrupcin 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
5 funciona

como un disparador de Schmitt (Schmitt trigger), puede reconocer seales un poco

distorsionadas y llevarlas a niveles lgicos (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 lgica es inversa: un "0" escrito al pin del puerto entrega en el pin un "1" lgico.
Adems, como salida no puede manejar cargas como fuente, slo en el modo sumidero.

25

El puerto E puede controlar la conexin en modo microprocesador con otros dispositivos


utilizando las lneas 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 mxima 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 mxima 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


operacin, 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 condicin especial que veremos ms
adelante.

26

Descripcin de los pines del microcontrolador

27

Nombre pin
RA0/AN0
RA1/AN1
RA2/AN2 Vref RA3/AN3/Vref +
RA4/T0CKI

Pin
2
3
4
5
6

RA5/SS/AN4
RB0/INT

7
33

RB1
RB2
RB3/PGM

34
35
36

Descripcin
E/S Digital o Entrada anloga 0.
E/S Digital o Entrada anloga 1.
E/S Digital o Entrada anloga 2.
E/S Digital o Entrada anloga 3.
Bit 4 del puerto A (E/S bidireccional ). Tambin se usa como entrada de reloj al temporizador/contador
TMR0. Salida de colector abierto.
E/S Digital o Entrada anloga 4. Tambin lo usa el puerto serial sncrono.
Bit 0 del puerto B (E/S bidireccional). Buffer E/S: TTL/ST. Tambin se usa como entrada de interrupcin
externa (INT).
Bit 1 del puerto B (E/S bidireccional). Buffer E/S: TTL
Bit 2 del puerto B (E/S bidireccional). Buffer E/S: TTL
Bit 3 del puerto B (E/S bidireccional). Buffer E/S: TTL (Programacin en bajo voltaje)

RB4

37

Bit 4 del puerto B (E/S bidireccional). Buffer E/S: TTL. Interrupcin por cambio del pin.

RB5

38

Bit 5 del puerto B (E/S bidireccional). Buffer E/S: TTL. Interrupcin por cambio del pin.

RB6/PGC

39

Bit 6 del puerto B (E/S bidireccional). Buffer E/S: TTL/ST. Interrupcin por cambio del pin. Entrada
de reloj para programacin serial.

RB7/PGD

40

RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2

15
16

RC2/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5/SDO
RC6/TX/CK
RC7/RX/DT

17
18
23
24
25
26

Bit 7 del puerto B (E/S bidireccional). Buffer E/S: TTL/ST. Interrupcin por cambio del pin. Entrada
de datos para programacin serial.
E/S Digital. Salida del oscilador Timer 1 o entrada de reloj Timer 1.
E/S Digital. Entrada del oscilador Timer 1. Entrada Captura 2; Salida Compara 2; Salida PWM 2
E/S Digital. Entrada Captura 1; Salida Compara 1; Salida PWM 1
E/S Digital. Lnea de reloj serial asincrono en el modo SPI y el modo I2C
E/S Digital. Lnea de datos en el modo SPI o en el modo PC
E/S Digital.
E/S Digital. Transmisin asincrona (USART) o reloj sncrono (SSP).
E/S Digital. Recepcin asncrona (USART) o lnea de datos (SSP).

VDD
VSS

11,32
12,31
1

MCLR
OSC1/CLKIN
OSC2/CLKOUT
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
RE0/RD/AN5
RE1/WR/AN6
RE2/CS/AN7

Voltaje de alimentacin DC (+)


Referencia de voltaje (GND).
Entrada de RESET al microcontrolador. Voltaje de entrada durante la
programacin. En nivel bajo resetea el microcontrolador.

13
14
19
20
21
22
27
28
29
30
8
9
10

Entrada oscilador cristal oscilador / Entrada fuente de reloj externa.


Salida oscilador cristal. Oscilador RC: Salida con un 1A frecuencia OSC1
E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
E/S Digital. Puede ser puerto paralelo en bus de 8 bits.
E/S Digital. Puede se pin de lectura (readd) en modo microprocesador.
E/S Digital. Puede ser pin de escritura (wrtte) en modo microprocesador.
E/S Digital. Puede ser pin de seleccin de chip (chip select) en modo microprocesador.

El oscilador externo
Todo micro controlador 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 micro controlador se debe especificar qu tipo
de oscilador se usa. Esto se hace a travs de unos fusibles llamados "fusibles de
configuracin.
El tipo de oscilador que se sugiere para las prcticas es el XT con un cristal de 4 MHz,
porque garantiza precisin 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 instruccin se ejecuta en un microsegundo. El cristal debe ir acompaado de
dos condensadores y se conecta como se muestra en la figura.

28

Si no se requiere mucha precisin en el oscilador y se quiere economizar dinero, se puede


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

Reset
+5VDC

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 diseado 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 operacin normal
Pulso en el pin MCLR durante el modo de bajo consumo (modo sleep)
El rebase del conteo del circuito de vigilancia (watchdog) durante operacin 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
r e s e t hasta que el oscilador del cristal es estable. El segundo es el PWRT (Power-Up Timen Temporizador
de encendido), que provee un retardo fijo de 72 ms (nominal) en el encendido nicamente, diseado para
mantener el dispositivo en reset mientras la fuente se estabiliza. Para utilizar estos temporizadores, slo basta
con conectar el pin MCLR a la fuente de alimentacin, evitndose utilizar las tradicionales redes de
resistencias externas en el pin de reset.

29

El reset por MCLR se consigue llevando momentneamente este pin a un estado lgico bajo, mientras que el
watchdog WDT produce el reset cuando su temporizador rebasa la cuenta, o sea que pasa de OFFh a 00h.
Cuando se quiere tener control sobre el reset del sistema se puede conectar un botn como se muestra en la
figura.

Arquitectura interna del microcontrolador


Este trmino se refiere a los bloques funcionales internos que conforman el microcontrolador y la forma en
que estn conectados, por ejemplo la memoria FLASH (de programa), la memoria RAM (de datos), los
puertos, la lgica de control que permite que todo el conjunto funcione, etc.

La figura 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 conexin 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 lneas que transportan
informacin entre dos o ms mdulos. la pena destacar que el PIC16F877 tiene un bloque especial de
memoria de datos de 256 bytes del tipo EEPROM, adems 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 superposicin de los ciclos de bsqueda y ejecucin 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 posicin. Como es del tipo FLASH se puede
programar y borrar elctricamente, lo que facilita el desarrollo de los programas y la experimentacin. En ella
se graba o almacena el programa o cdigos 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 pginas de 2K cada uno. El primero va de la
posicin 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 lFFFh.

30

Vector de reset. Cuando ocurre un reset al microcontrolador, el contador de programa se pone en ceros
(0000H). Por esta razn, en la primera direccin del programa se debe escribir todo lo relacionado con la
iniciacin del mismo.

Vector de interrupcin. Cuando el microcontrolador recibe una seal de interrupcin, el contador de


programa apunta a la direccin 04H de la memoria de programa, por eso, all se debe escribir toda la
programacin necesaria para atender dicha interrupcin.

Pila (Stack)
Estos registros no forman parte de ningn 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 interrupcin; luego, cuando el micro regresa a seguir ejecutando su tarea normal, el contador de
programa recupera su valor leyndolo 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.

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 propsito especial en el control del microcontrolador y en su
configuracin. 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
travs del registro selector FSR). Para seleccionar que pgina 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 configuracin 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 despus de una operacin
aritmtica/lgica.

-FSR: Registro de direccionamiento indirecto.


-

PORTA, PORTB, PORTC, PORTD, PORTE: Registro de puertos de E/S de datos. Conectan con
los pines fsicos del micro.

-PCLATH: Byte alto (ms significativo) del contador de programa (PC).


-INTCON: Registro de control de las interrupciones.
-ADRESH: Parte alta del resultado de la conversin A/D.
31

-ADCON0: Controla la operacin del mdulo de conversin A/D


BANCO 1:

OPTION: Registro de control de frecuencia del TMR0.

TRISA, TRISB, TRISC, TRISD. TRISE: Registros de configuracin de la operacin de los


pines de los puertos.

ADRESL: Parte baja del resultado de la conversin A/D.

ADCON1: Controla la configuracin de los pines de entrada anloga.

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 direccin de la memoria EEPROM.

PCLATH: Byte alto (ms significativo) del contador de programa (PC).

INTCON: Registro de control de las interrupciones.

BANCO 3:

32

OPTION: Registro de control de frecuencia del TMR0.

EECON1: Control de lectura/escritura de la memoria EEPROM de datos.

EECON2: No es un registro fsico.


INDF

00h

TMRO

01h

PCL

02h

STATUS
FSR

INDF

80h

INDF

100h

OPTION REG

81h

TMR0

101h

PCL

82h

PCL

102h

PCL

182h

03h

STATUS

83h

STATUS

103h

STATUS

183h

04h

FSR TRISA

84h

FSR

104h

FSR

184h

PORTA

05h

TRISA

85h

PORTB

06h

TRISB

86h

PORTC

07h

PORTD

08h

TRISC
TRISD

INDF
OPTION_REG

105h
PORTB

106h

180h
181h

185h
TRISB

186h

87h

107h

187h

88h

108h

188h

PORTE

09h

TRISE

89h

PCLATH

0Ah

PCLATH

8Ah

PCLATH

109h
10Ah

PCLATH

18Ah

189h

INTCON

0Bh

INTCON

8Bh

INTCON

10Bh

INTCON

18Bh

PIR1

0Ch

PIE1

8Ch

EEDATA

10Ch

EECON1

18Ch

PIR2

0Dh

PIE2
PCON

8Dh

EEADR

10Dh

EECON2

18Dh

TMR1L

0Eh

8Eh

EEDATH

10Eh

Reservado

18Eh

TMR1H

0Fh

8Fh

EEADRH

10Fh

Reservado

18Fh

T1CON

10h

90h

TMR2

11h

T2CON

12h

SSPCON2
PR2

92h

13h

SSPADD

93h

SSPCON

14h

SSPSTAT

94h

CCPR1L

15h

95h

CCPR1H

16h

96h

CCP1CON
RCSTA

17h
18h

TXSTA

97h
98h

TXREG

19h

SPBRG

99h

RCREG

1Ah

9Ah

CCPR2L

1Bh

9Bh

CCPR2H

1Ch

9Ch

CCP2CON

1Dh

9Dh

ADRESH

1Eh

ADCONO

1Fh

190h

91h

SSPBUF

ADRESL

110h

Registros
de

Registros de
Propsito
General

Propsito
General
16 Bytes

16 Bytes

9Eh

ADCON1

9Fh

Registros
de
Propsito General 80
Bytes

A0h

11Fh

19Fh

20h

Registros de
Propsito General 96
Bytes

Registros
de
Propsito General
8O Bytes

120h
16Fh

Registros
de
Propsito General
8O Bytes

0EFh

7Fh
Banco 0

Banco 1

1A0h

1EFh

0F0h

170h

1F0h

FFh

17Fh

1FFh

Banco 2

Banco 3

Funcin de algunos registros especiales

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


disponible fsicamente; utiliza el contenido del registro FSR y los bits RP0 y RP1 del
registro STATUS para seleccionar indirectamente la memoria de datos, la instruccin que lo
acompae determinar que se debe realizar con el registro sealado.
01h o TMR0. Temporizador/contador de 8 bits. Este es un contador que se puede
incrementar con una seal externa aplicada al pin RA4/TOCKI o de acuerdo a una seal

33

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 generacin de interrupcin cuando se rebasa la cuenta (el paso de
OFFh 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. 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 condicin de reset el microcontrolador inicia el contador de programa con
todos sus bits en "cero". Durante la ejecucin normal del programa, y dado que todas las
instrucciones ocupan slo una posicin de memoria, el contador se incrementa en uno con
cada instruccin, a menos que se trate de alguna instruccin de salto.
Registro PCLATH
11 10 9 8
6 5 4 3 2

Registro PCL 12
7
1

1
V
Bits Incluidos en la
instruccin,
suficiente para
direccionar toda la
memoria del
PIC16F877

En una instruccin CALL o GOTO la direccin de memoria a donde se quiere ir, es decir,
los bits 12 a 0 del contador de programa se cargan desde el cdigo de operacin de la
instruccin.

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

34

PCLATH (bits 4 a 0), por ejemplo en el caso de la instruccin 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 aritmtico de la ALU, la causa


del reset y los bits de preseleccin de pgina para la memoria de datos. La figura muestra
los bits correspondientes a este registro. Los bits 5 y 6 (RP0 y RP1) son los bits de
seleccin de pgina para el direccionamiento directo de la memoria de datos; solamente
RP0 se usa en los PIC16F84. RP1 se puede utilizar como un bit de propsito general de

IRP: Selector de pgina para direccionamiento indirecto


RP1 y RP0: Selectores de pgina para direccionamiento directo.

lectura/escritura. Los bits TO y PD no se pueden modificar por un proceso de escritura;


ellos muestran la condicin por la cual se ocasion el ltimo reset.
T0: Time Out o Bit de finalizacin del temporizador. Se
coloca en 0 cuando el circuito de vigilancia Watchdog
finaliza la temporizacin.
PD: Power Down o Bit de bajo consumo. Se coloca en 0 por
la instruccin SLEEP.
Z: Zero o Bit de cero. Se coloca en 1 cuando el resultado de
una operacin lgica o aritmtica es cero.
DC: Digit Carry o Bit de acarreo de dgito. En operaciones
aritmticas se activa cuando hay acarreo entre el bit 3 y el 4.
C: Carry o Bit de acarrreo. En instrucciones aritmticas se
activa cuando se presenta acarreo desde el bit ms significativo
del resultado.

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 propsito general.
Para entender mejor el funcionamiento de este registro veamos un programa simple que
borra el contenido de la memoria RAM, empleando direccionamiento indirecto.

35

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 pgina 1, en la posicin 85h y se llama TRISA. El puerto A tambin puede
ser configurado para que trabaje como entradas anlogas para el convertidor Anlogo 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 generacin de interrupciones. El registro de control para la
configuracin de la funcin de sus pines se localiza en la pgina 1, en la direccin 86h y se
llama TRISB. Puede ser configurado tambin 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 configuracin de la funcin de sus
pines se localiza en la pgina 1, en la direccin 87h y se llama TRISC. Puede ser
configurado tambin 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 configuracin de la funcin de sus pines se localiza en la pgina 1, en la
direccin 88h y se llama TRISD. Puede ser configurado tambin 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 pgina 1, en la posicin 89h y se llama TRISE. El puerto E tambin puede
ser configurado para que trabaje como entradas anlogas para el convertidor Anlogo a

36

Digital interno del microcontrolador o para que maneje las seales de control en el modo
microprocesador.

85h o TRISA: Registro de configuracin 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 configuracin del puerto B. Orientado hacia el control del
puerto B. Son vlidas las mismas consideraciones del registro TRISA.
87h o TRISC: Registro de configuracin del puerto C. Orientado hacia el control del
puerto C. Son vlidas las mismas consideraciones del registro TRISA.
88h o TRISD: Registro de configuracin del puerto D. Orientado hacia el control del
puerto D. Son vlidas las mismas consideraciones del registro TRISA.

89h o TRISE: Registro de configuracin del puerto E. Orientado hacia el control del
puerto E. Son vlidas las mismas consideraciones del registro TRISA.

020h a 7Fh: Registros de propsito general. Estas 96 posiciones estn implementadas en


la memoria RAM esttica, 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 mayora de las
instrucciones. Est directamente relacionado con la Unidad Aritmtica y Lgica ALU.
Mdulo del convertidor Anlogo a Digital
Este mdulo permite la conversin de una seal de entrada anloga a su correspondiente
valor numrico de 10 bits. El mdulo tiene ocho entradas anlogas, las cuales son
multiplexadas dentro de un circuito de muestreo y retencin. La salida del multiplexor es la
entrada al convertidor, el cual genera el resultado por medio de aproximaciones sucesivas,
37

La referencia anloga de voltaje es seleccionada por software permitiendo utilizar la fuente


de alimentacin del PIC (VDD) o un nivel de voltaje externo aplicado al pin 5 (RA3/AN3/
VREF +).

El mdulo tiene los siguientes registros asociados:


ADCON0 : Controla la operacin del mdulo A/D.
ADCON1 : Configura las funciones de los pines del puerto anlogo.
ADRESL : Contiene la parte BAJA del resultado de la conversin A/D.
ADRESH : Contiene la parte ALTA del resultado de la conversin A/D.
Registros de Control del Mdulo Convertidor Anlogo/Digital
38

Registro ADCON0
Este es un registro que permite seleccionar cul de las entradas anlogas va a ser leda y
permite dar la orden de iniciar el proceso de conversin, sus ocho bits son los siguientes:

ADCS1 | ADCS0 | CHS2

| CHS1

| CHS0

|GO/DONE | -

bit7

| ADON
bit 0

Bit 0 (ADON): Bit de activacin del mdulo. ADON = 1, Mdulo A/D operando.
ADON = 0, Mdulo A/D desactivado.
Bit 2 (GO/DONE): Estado de conversin: GO = 1, Empieza conversin. GO = 0,
conversin finalizada.
Si ADON = 0, Este bit es cero.
Bits 3, 4 y 5 (CHS0, CHS1, CHS2): Seleccin del canal a convertir (canal 0 - 7).
Bits 6 y 7(ADCS0, ADCS1): Seleccin del reloj de conversin.
Registro ADCON1.
Este es un registro que permite seleccionar como se ubican los diez bits resultado de la
conversin A/D y permite seleccionar cuales de los pines del puerto A trabajarn como
entradas anlogas y cuales como entradas digitales. Adicionalmente, permite seleccionar los
voltajes de referencia del convertidor.

El bit 7 (ADFM) selecciona el formato del resultado de la conversin:


Si ADFM = 1, el resultado se justifica a la derecha: Los 6 bits ms 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 anlogas o entrada/salida digital, as como la referencia de voltaje que utilizar el
convertidor. Figura

39

A = Entrada Anloga
D = Entrada/Salida Digital
Nota 1: Estos canales no estn disponibles en los dispositivos de 28 pines

Cuando se completa la conversin 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 interrupcin A/D
(ADIF) se pone en uno.

Despus de que el mdulo ha sido configurado, al canal seleccionado se debe hacer un


muestreo antes de empezar la conversin. El tiempo requerido para el muestreo es definido
como Tad.
Vdd
Interruptor
1de muestre o

Cpiii = . de entrada VT = "Voltaje de umbral


leakage = Corriente de tuga en el pin debida a las uniones. Ric = Resistencia de interconexin S
Chold = Capacitancia de muestreo/retencin. E-s la del Convertidor D/A. ( DAC ).

Requerimientos para el Muestreo:


Para que el convertidor A/D tenga precisin, se debe permitir que el condensador de
retencin se cargue con todo el nivel de voltaje del canal de entrada. En la figura 3.15. se
muestra el modelo de entrada anloga. La mxima impedancia recomendada para las
fuentes anlogas es de 10 Kohm. Despus que se selecciona el canal de entrada anloga (o
es cambiado) se debe esperar un tiempo de muestreo antes de que la conversin se inicie.
Seleccin de la frecuencia de conversin:
La conversin A/D requiere 10 Tad. La fuente del reloj de conversin es seleccionada por
software. Las cuatro opciones posibles para Tad son:
2 Tosc
8 Tosc
32 Tosc
Oscilador interno RC

40

= Interrup

Para conversiones correctas, el reloj de conversin (Tad) debe ser seleccionado para tener
un tiempo mnimo Tad de 1.6 useg.
FORMA DE REALIZAR LA CONVERSIN A/D :
Configurar el mdulo A/D:

Configurar los pines anlogos, referencia de voltaje y E/S digitales (ADCON1).

Seleccionar canal de entrada A/D.

Seleccionar reloj de conversin A/D.

Activar el mdulo A/D.

Configurar la interrupcin 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 conversin.
Esperar que se realice la conversin, as :

Haciendo un muestreo al bit GO/DONE hasta que ste es cero.

Esperar la interrupcin del convertidor.

Leer los registros ADRESH y ADRESL. ADIF se debe resetear si se usa


interrupcin.
Para una siguiente conversin vaya al paso primero o segundo segn se requiera.
Antes de empezar otro muestreo se debe esperar como mnimo 2 Tad.

Resumen de Caractersticas principales del PIC16F877:


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

41

Memoria de datos

: 368 bytes RAM, 256 bytes EEPROM.

Pila (Stack)

: 8 niveles (14 bits).

Fuentes de interrupcin

: 13

Instrucciones

: 35

Encapsulado

: DIP de 40 pines.

Frecuencia oscilador : 20 MHz (mxima)


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 guardin (WDT)
Lneas de E/S : 6 del puerto A, 8 del puerto B, 8 del puerto C, 8 del puerto D y 3 del
puerto E, adems de 8 entradas anlogas.
Dos mdulos de Captura, Comparacin y PWM:

Captura: 16 bits. Resolucin mx. = 12.5 nseg.

Comparacin: 16 bits. Resolucin mx. = 200 nseg.

PWM: Resolucin mx. = 10 bits.

Convertidor Anlogo/Digital de 10 bits multicanal (8 canales de entrada).


Puerto serial sncrono (SSP) con bus SPI (modo maestro) y bus PC
(maestro/esclavo).
USART (Universal Synchronous Asynchronous Receiver Transmitter) con direccin de
deteccin de 9 bits.
Corriente mxima absorbida/suministrada (sink/source) por lnea (pin): 25 mA
Oscilador: Soporta 4 configuraciones diferentes: XT, RC, HS, LP.
Tecnologa de Fabricacin: CMOS
Voltaje de alimentacin: 3.0 a 5.5 V DC
Puede operar en modo microprocesador

DIAGRAMA DE FLUJO DEL SISTEMA DE CONTROL PARA LLENADO DE


TANQUES CON MICROCONTROLADOR PIC

42

Variables
Agua
Externa
P
SW
A-vuelta
B-vuelta
A3
A2
A3

43

Significado
Agua que viene del suministro publico
Pulsador para llenado manual
switch de comportamiento de la bomba
Carga y descarga del tanque cuando sw=1
Carga y descarga del tanque cuando SW=1
Sensor de nivel de agua Mximo
Sensor de Nivel de Agua Medio
Sensor de nivel de agua Mnimo

44

45

Вам также может понравиться