CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta...

125
11 CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES DE LA INVESTIGACIÓN En diferentes instituciones universitarias se han realizado trabajos de investigación acerca de simulaciones, dentro de este trabajos se puede citar el siguiente: Morillo, A (2002) desarrolló un sistema de supervisión y control en los tanques de la estación de servicio la Inmaculada. Entre los logros alcanzados esta el estudio de la situación actual de la estación, la selección de los instrumentos y equipos, el diagrama de conexiones, el diseño de hardware y software y por ultimo la construcción prueba final del sistema. La investigación es de tipo aplicada, descriptiva y de campo. La información obtenida se logró a través de entrevistas con el personal técnico de la estación de servicio y la recopilación de fundamentos teóricos de diferentes bibliografía pertenecientes al sistema de supervisión y control. La metodología empleada en la de José Maria Angulo que consta de nueve fases a cumplirse, pero debido a que la investigación integra algunas de estas fases, solo fue necesario el uso de la cinco, más importante para el desarrollo de esta, los resultados obtenidos fueron de gran relevancia en

Transcript of CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta...

Page 1: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

11

CAPITULO II

MARCO TEÓRICO

1.- ANTECEDENTES DE LA INVESTIGACIÓN

En diferentes instituciones universitarias se han realizado trabajos de

investigación acerca de simulaciones, dentro de este trabajos se puede citar

el siguiente:

Morillo, A (2002) desarrolló un sistema de supervisión y control en los

tanques de la estación de servicio la Inmaculada. Entre los logros alcanzados

esta el estudio de la situación actual de la estación, la selección de los

instrumentos y equipos, el diagrama de conexiones, el diseño de hardware y

software y por ultimo la construcción prueba final del sistema. La

investigación es de tipo aplicada, descriptiva y de campo. La información

obtenida se logró a través de entrevistas con el personal técnico de la

estación de servicio y la recopilación de fundamentos teóricos de diferentes

bibliografía pertenecientes al sistema de supervisión y control.

La metodología empleada en la de José Maria Angulo que consta de

nueve fases a cumplirse, pero debido a que la investigación integra algunas

de estas fases, solo fue necesario el uso de la cinco, más importante para el

desarrollo de esta, los resultados obtenidos fueron de gran relevancia en

Page 2: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

12

esta investigación ya que la predicción del nivel en los tanques se realizaba

de forma manual por tal motivo a sido creado un sistema de supervisión y

control que básicamente controlara el nivel en los tanques de la estación de

servicio por medio de un computador donde el operador llevará un control del

producto comercializado, así como también el control de llenado y vaciado.

Obteniendo como aporte para mi investigación la tecnología aplicada

ya que en el simulador será utilizado el mismo censor de ultrasonido para así

lograr desarrollar el simulador de proceso para la medición y control de nivel.

2.- FUNDAMENTACIÓN TEÓRICA

2.1- PROCESO

Corripio (1995) un proceso en un sistema que ha sido desarrollado

para llevar a cabo un objetivo determinado, por ejemplo: tratamiento de un

material mediante una serie de operaciones destinadas a ejecutar su

transformación.

Sobre un proceso actúan frecuentemente una serie de operaciones de

medida (tiempo o cantidad), compresión, calculo y corrección de valores de

variables para lograr un objetivo o mantener una meta prestablecida. Los

procesos abarcan las formas mas diversas desde la mas simple hasta la mas

compleja como la generación de energía eléctrica en una planta nuclear.

Page 3: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

13

Una característica importante de los procesos es su dinámica. La

dinámica de un proceso es la rapidez con una variable responde después de

haber sido sometida a una perturbación , esta estrechamente ligada a la

constante de tiempo del proceso, la cual en sistema de primer orden es el

tiempo de proceso para la variable complete el 65% del cambio total en la

respuesta la constante de tiempo en un índice de la velocidad de respuesta

de un proceso, si es pequeña, el proceso es rápido si es grande el proceso

es lento.

2.2 PROCESO DE CONTROL

El control de proceso es relativamente reciente 300 años

aproximadamente, en comparación con otros controles desarrollados por el

hombre. Estos nacen con el desarrollo de las maquinas y de la revolución

industrial.

El manual de medición del CEPET (1989) refiere que los procesos

industriales “consisten en una operación o serie de operaciones en las cuales

se agrega o sustrae energía en algunas de sus formas, para mantenerlo en

estado de balance o equilibrio”.

En los procesos industriales aunque parezcan diferentes unos de

otros, tiene fundamentos básicos comunes como son la medición y el control

que en ellos se usan para ganar eficiencia y economía, tratando en lo posible

de evitar, error humano y obteniendo así un balance continuo del proceso.

Page 4: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

14

Un control automático consiste en un conjunto de dispositivos que

ejecuten la medición de una variable en un proceso y comparan el valor de

esta variable con otro predeterminado de funcionamiento conocido como set

point. El automático actúa corrigiendo la diferencia entre la señal medida y el

valor del set point mediante un dispositivo de acción final sobre la variable a

controlar.

Por lo general, los controladores de procesos automáticos son

sistemas de realimentación y/o de alimentación adelantada para control a

lazo cerrado.

De acuerdo con Ogata (1998) un control realimentado se refiere a una

operación que, en presencia de perturbaciones, tiende a reducir la diferencia

entre la salida de un sistema y alguna entrada de referencia y lo continua

haciendo con base en esta diferencia. Aquí solo se especifican con este

termino las perturbaciones impredecibles, dado que las perturbaciones

predecibles o conocidas siempre puedan compensarse dentro del sistema.

Entonces, el control de proceso según Álvarez A (1996) “ es el estudio

del material de manipulación con la finalidad de lograr un producto deseado”

en términos mas específicos, el control de procesos consiste en la aplicación

de sistema de control a los procesos para lograr que la operación sea mas

eficiente y confiable posible.

Page 5: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

15

2.3- DESARROLLO DEL CONTROL DE PROCESOS

• Control manual

El control manual es llevado a cabo por el operador, cuando observa lo

que esta sucediendo y efectúa los ajustes necesarios basados en

instrucciones operacionales y en sus propios conocimientos. Estos restringe

el numero de variables que podrían controlarse, además de la falta de

presión, rendimiento y predicción que ofrece un control manual.

• Control local

Este tipo de control se basa en utilizar la energía del proceso (tales como

presión y temperatura), para ajustar la posición de una válvula o algún otro

elemento final de control. Estos controladores están directamente acoplados

alas etapas del proceso y debe por consiguiente, estar repartidos a través de

toda la planta. Esta localización múltiple hace que las tareas sean tediosas

de gran consumo de tiempo y de baja confiabilidad.

• Control digital

Este contiene un procesador o microprocesador(CPU) control processing

unit) y la memoria principal, comunicándose entre si y con los periféricos

(teclado, monitor, unidad de disco, mause, impresora, potter) entre otros

mediante tres conductores o canales de señales de buses: bus de datos

(transfiere direcciones de modo bidireccional entre el microprocesador y la

Page 6: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

16

memoria principal ROM y RAM) bus de direcciones (parte del

microprocesador indicando a la memoria principal la dirección exacta de la

memoria donde están almacenado los datos) y bus de control que activan los

componentes del ordenador en el momento adecuado, como si fueran

estímulos nerviosos provocados y de corta duración).

El procesador o microprocesador contiene la unidad aritmética lógica

(ALU, aritmética logic Unit), que afectan las operaciones aritmética básicas

de suma y resta, y que dispone de los operadores lógicos de comparación

AND, OR, NOT y NOR.

La unidad de control constituye el verdadero cerebro y organiza el trabajo

de la ALU, mediante los pulsos de frecuencia del microprocesador, que

determina el tiempo de ejecución de las tareas confiadas al ordenador.

Existen controladores digitales individuales, principalmente para procesos

discontinuos (batch) que llevan a cabo un control multifunción, actúan como

instrumentos reguladores (para variables como la presión, caudal,

temperatura, nivel, entre otras). Con control lógico y control secuencial,

efectúan operaciones aritméticas, monitorean entradas y salidas, y tiene la

capacidad grafica con representación de balance de materias.

Este tipo de controladores permiten incluso la creación de software para

definir todos los enclavamientos y secuencias de operación.

Los controladores digitales permiten el ajuste de sus acciones de control

ante las perturbaciones periódicas del proceso. Por este motivo pueden

trabajar con varios algoritmos de control.

Page 7: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

17

Los controladores programables digitales sustituyen a los relés

convencionales utilizando un software en un lenguaje especial basado en la

lógica de relés. Este sentido, el controlador debe manipular una serie de

entradas y salidas para efectuar varias operaciones y cálculos de control

para los lazos de la unidad de proceso, aparte de proporcionar las

secuencias de enclavamiento de bombas y válvulas. Como estas

operaciones deben elaborarse para diferentes tipos de unidades de proceso,

se realiza el llamado “ control Universal” que puede estar formado por

ordenadores personales o con ordenadores especiales con el apropiado

hardware.

La creciente utilización del ordenador personal afianza como atrayente la

solución competitiva y económica de utilizar este computador para el control

de las variables del proceso.

• Control cascada

Es una estrategia que en algunas aplicaciones, mejora significativamente

el fundamento suministrado por un control realimentado.

Las computadoras proporcionan un implantación mas simple y segura del

control cascada que la obtenida mediante el uso de instrumentos

analógicos.

Dentro de esta consideración mas importante es que la variable

secundaria debe responder mas rápido a los cambio presentados en las

variables manipuladas que la variable principal.

Page 8: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

18

• Control selectivo

Para cada variable controlada en un sistema de control debe existir

variables controladas que excedan en el numero a las variables

manipuladas, cuando esto sucede el sistema debe compartir las

variables, como mínimo una variable manipulada. Para realizar el cambio

entre las variables fuentes y las perfectamente atenuadas se utilizan

dispositivos selectivos llamados “selectores de señal”.

Los selectores de señal eligen las mínimas medidas o máximos

señales de control entre dos o mas señales. Ellas están disponibles en

hardware analógico-electrónico y neumático, incluso en sistema de

control digital que trabajan con microprocesadores, en un lazo de control

que posea este tipo de lógica es denominado control selectivo.

Este esquema de control es utilizado para consideraciones de

seguridad y en proceso de optimización.

3.- SIMULADOR DE PROCESO

Es un modelo matemático que puede estar basado en ecuaciones

teóricas, analogías con sistemas conocidos o ecuaciones empíricas. En la

mayoría de los casos estas ecuaciones resultan demasiado tediosas y

difíciles para resolverlas manualmente, por lo que se elaboran programas de

computadora para agilizar su solución. El modo de trabajo mas usual es

Page 9: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

19

emplear programas de simulación comercial, con los cuales ya contienen las

ecuaciones mas generalmente usadas para la representación de equipos.

La simulación de un proceso es la representación grafica de modelos

matemáticos que emulan las operaciones unitarias que ocurren en el,

basándose en balanzas de masa y energía, principios de termodinámica Y

fenómenos de transporte, en los cuales se pueden incluir el comportamiento

de controladores discretos y continuos de proceso a simular.

4.- MODOS DE CONTROL

Los modos de control se refieren a la manera en que es corregido el

error de acuerdo a su dirección, magnitud, tiempo, tiempo de reacción y rata

de cambio.

WADE, (1997) propone diversos modos de corregir dichos errores, de los

cuales se mencionan los siguientes:

• Control ON/OFF

También llamado de dos posiciones (todo o nada), es el mas elemental

de los modos de control y consiste en un cambio de la variable de control en

la dirección contraria al error cada vez que se produce un cruce sobre el set

point.

El modo ON/OFF produce un mayor gasto de energía y un

funcionamiento que no es aceptable para procesos que requieren mucha

precisión, además de ser apropiado para procesos en donde la capacidad o

Page 10: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

20

tamaño de la variable a manejar es grande en comparación al efecto que se

produce en la variable de control.

• Control Proporcional

El periodo de tiempo comprendido entre el reconocimiento del error y la

respuesta de l sistema se le conoce como tiempo muerto. El control

proporcional (P) responde de acuerdo a la dirección y magnitud del error,

reduciendo sustancialmente el tiempo muerto.

Para este modo de control se debe definir una banda proporcional la cual

esta constituida por el conjunto de valores de la salida que se encuentran en

el ancho de banda de respuesta del elemento final de control, la banda

proporcional se define usualmente en porcentaje o como el inverso de la

ganancia del sistema de control.

Cuando el error es detectado el sistema amplifica este error y posiciona el

elemento final de control para reducirlo, pero generalmente el error no es

eliminado debido a que el cambio de la magnitud a controlar es muy rápido y

se producen oscilaciones de la variable de control, por lo que el tiempo

después se estabiliza en un valor ligeramente superior o inferior al set point.

A esta diferencia se le denomina OFFSET, que tiende a crear con el

aumento de la banda proporcional en virtud de que el pico de respuesta al

error es mayor. Por esto, el modo proporcional de control es apropiado por

procesos que poseen bandas proporcionales angostas.

Page 11: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

21

Sin embargo, una banda proporcional demasiado angosta en un control

proporcional trae como consecuencia mayor un numero de oscilaciones

porque la respuesta es mas rápida.

• Control Derivativo

El control derivativo (D) también conocido acción de rata, elimina las

oscilaciones y la tendencia a la inestabilidad. Se basa en transmitir cambio

de acuerdo a los diferentes ratas de subida o bajada en la variable de

control, es decir, de acuerdo a la pendiente del error.

El control derivativo por si solo no retorna la variable de control a su

set point ni elimina el OFFSET por lo que se utiliza en combinación con el

control proporcional integral.

• Control Integral

El control integral( I ) responde a la duración del error sobre el area

bajo la curva del mismo, por lo que tiende a reducir el problema de OFFSET,

conocido también como control RESET, normalmente utilizado en

comunicación con el modo proporcional en proceso en que no son tolerados

los efectos por OFFSET.

Page 12: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

22

• Control proporcional derivativo

El control proporcional derivativo (PD) tiene aplicaciones en sistemas que

presentan retraso y gran capacidad en donde la banda proporcional aminora

el efecto de OFFSET.

En un control PD un cambio rápido del error indica una perturbación

drástica en la variable de control y la magnitud de la respuesta debe ser

mayor. La acción derivativa se expresa en tiempo, a medida de que este es

menor se reduce el numero de oscilaciones.

El control PD carece de eficiencia en procesos cuyos elementos finales

de control son lentos en comparación a la acción derivativa. Además en

procesos en que existe mucho ruido en la variable a medir la respuesta del

sistema al ruido constituye a la inestabilidad del proceso.

• Control proporcional integral

En un control proporcional integral (PI) al producirse un cambio en la

carga de un proceso, el control proporcional corrige el error de acuerdo a la

magnitud y dirección del mismo, mientras el control integral actúa eliminando

el OFFSET. Este control puede ser expresado en términos de minutos por

repetición, en donde se especifica la cantidad de tiempo requerido por el

control integral para repetir una acción a lazo abierto causada por el modo

proporcional en cada cambio de error. Valores pequeños de este tiempo se

traducen en acciones integrales rápidas pero puede producirse un sobre

Page 13: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

23

disparo que acarrea un ciclo continuo y, por tanto, un cambio del proceso ya

controlado.

El mayor problemas de control PI ocurre cuando la desviación que

produce el error no puede ser corregida en un tiempo moderado los

elementos finales a su máximo valor y cuando la situación que causa el error

es corregida el control no regresa inmediatamente a su operación normal

sino que necesita de un tiempo adicional. Mientras el proceso esta en una

desviación de signos contrarios para trabajar. Esto se conoce como RESET

WINDUP.

El control PI es el mas difundido en la industria, sin embargo, no es

apropiado para procesos en que no son permisibles muchas oscilaciones de

la variable de control o donde se puedan presentar situaciones que originen

un WINDUP.

• Control Proporcional Integral Derivativo

Los modos de control proporcional, integral y derivativo se

complementan en sus limitaciones, desarrollando el mas ventajosos de los

modos de control, conocido como el control proporcional integral derivativo

(PID) la acción proporcional reduce el error en su magnitud y dirección ,

mientras la acción derivativa responde a la rata de cambio del mismo con la

consecuente reducción de las oscilaciones.

El control integral constituye a eliminar el OFFSET y constituye el

complemento del control derivativo.

Page 14: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

24

Si la acción derivativa tiende a reducir el tiempo de respuesta para

actuar más rápido ante los cambios de la pendiente del error, la acción

integral tiende a aumentarlo para incrementar el periodo del lazo de control

con lo que se produce un tiempo igual de respuesta en todos los ciclos y se

reduce al OFFSET.

5.- SISTEMA DE CONTROL

Generalidades

Una de las preguntas que más comúnmente hace un novato en

sistema de control es ¿Qué es un sistema de control? Para responder a esta

pregunta, se puede decir que en nuestra vida diaria existen numerosos

objetivos que necesitan cumplirse. Por ejemplo, en el ámbito domestico, se

requiere regular la temperatura y humedad de las casas y edificios para tener

un ambiente cómodo. Para transportación, se requiere controlar que un

automóvil o un aeroplano se muevan de un lugar a otro en una forma segura

y exacta. En la industria, los procesos de manufactura tienen un sin fin

números de objetivos para productos que satisfarán requerimientos de

precisión y costo. La búsqueda para alcanzar tales “objetivos” requiere,

normalmente, utilizar un sistema de control que implante ciertas estrategias

de control. Los sistemas de control de calidad de los productos

manufacturados, líneas de ensamble automático, control de maquinarias,

herramientas y muchos otros.

Page 15: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

25

Según Ogata (1998), los sistemas de control se definen como el medio

para obtener el desempeño optimo de los sistemas dinámicos, mejorar la

productividad, así como otras actividades.

5.1- SISTEMAS DE LAZO ABIERTO

Los sistemas de lazo abierto son sistemas no realimentados, es decir,

Kuo (1996), los sistemas de lazo abierto no pueden dividirse en dos partes:

el controlador y el proceso controlado. Una señal de entrada o comando se

aplica al controlador, cuya salida actúa como señal actuante, la señal

actuante controla el proceso controlado de tal forma que a la variable

controlada se desempeñe de acuerdo a estándares prestablecidos. En los

casos simples, el controlador puede ser un amplificador, unión mecánica,

filtro u otro elemento de control. En los casos mas complejos, el controlador

puede ser una computadora tal como un microprocesador. Debido a la

simplicidad y economía de los sistemas de control en lazo abierto, se les

encuentra en muchas aplicaciones no criticas.

Page 16: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

26

FIGURA 1

ELEMENTO DE UN SISTEMA DE CONTROL A LAZO ABIERTO

ENTRADA SEÑAL VARIABLE

REFERENCIAL ACTUANTE CONTROL

fuente: Ogata (1998).

5.2- SISTEMA DE LAZO CERRADO

Este sistema si tiene realimentación, es decir, un sistema con una o más

trayectorias de realimentación se denomina sistema en lazo cerrado.

Para Ogata (1998), los términos de control realimentado y control en lazo

cerrado se usan indistintamente. En un sistema de control en lazo cerrado,

se alimenta al controlador la señal de error de actuación, que es la diferencia

entre la señal de entrada y la señal de realimentación (que puede ser la

señal de salida misma o una función de la señal de salida y sus derivadas y/o

integrales), a fin de reducir el error y llevar la salida del sistema a un valor

conveniente. El termino control en lazo cerrado siempre implica el uso de una

acción de control realimentado para reducir el error del sistema.

CONTROLADOR PROCESO CONTROLADOR

Page 17: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

27

+

+ +

FIGURA 2

ELEMENTOS DE UN SISTEMA DE CONTROL EN LAZO CERRADO

V referencia

fuente: Ogata 1998

6.- MEDICIÓN: Garcia (1996) Es la determinación o evaluación de una

longitud, extensión, volumen o capacidad de algo. Señala la cantidad de una

magnitud por comparación con otra que se toma como unidad.

6.1- REQUISITOS QUE DEBE CUMPLIR UNA MEDICIÓN

Para Costello, (1979) para que una medición pueda ser útil debe ser

exacta (precisa) repetible, poseer resolución adecuada, tener un intervalo

dinámico y tiempo de respuesta adecuados. El advenimiento de la pantalla

digital, la computadora digital y diversos instrumentos, traductores y

acondicionadores de señales han hecho imperativo distinguir entre los dígitos

útiles visualizados y la “basura”. No es raro ver una salida de computadora

CONTROL PROCESO

-

PERTURBACIÓN

Salida

Page 18: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

28

de diez o más cifras, cuando solo las tres o cuatro primeras tienen una

exactitud inherente mayor de una décima de 1% a una milésima.

Este suele ser el caso de la mayor parte de los componentes de los

sistemas de control. Solo los costosos dispositivos de medición de alta

precisión tienen una exactitud inherente mayor de una décima del 1% a

continuación se define algunos términos:

• Exactitud: La exactitud de una medición de ingeniería es la validez

corrección cuantita tiva de la medición.

• Resolución: La resolución de un dispositivo de medición se refiere a la

menor cantidad que el dispositivo puede identificar, resolver o distinguir.

• Repetibilidad: Es muy deseable que un sistema de medición sea

consistente y genere resultados repetibles, aunque estos sean un poco

inexactos.

• Intervalo dinámico: Es la relación de la menor medición resolvible entre la

medición más grande posible.

• Tiempo de respuesta: El tiempo de respuesta de un dispositivo de

medición, es el tiempo que transcurre entre el cambio en el

Parámetro físico de entrada y la aparición de la señal o visualización

de la salida final de la medición.

Page 19: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

29

7.- MEDICIÓN DE NIVEL

Las mediciones de nivel son necesarias para hacer un inventario,

cuantificar el producto almacenado y distribuir la materia prima en los

distintos procesos industriales.

En la industria, la medición de nivel es muy importante, tanto desde el

punto de vista de funcionamiento correcto del proceso como para establecer

el balance adecuado de materias primas o de producción.

Conocer el nivel existente de producto tiene un efecto significativo en los

procesos de calidad, control habilidad y/o costo. Las mediciones de nivel

pueden ser utilizadas en diferentes áreas para distintas funciones tales

como:

• Aplicaciones contables: las mediciones de nivel son utilizadas para

contabilizar producto o materia prima y están directamente relacionadas

con la compra y la venta.

• Costo de equipos: Con un control de nivel cerrado, se pueden utilizar

recipientes de menor tamaño en las etapas intermedias de un proceso.

7.1- CLASIFICACIÓN DE LAS MEDICIONES DE NIVEL

De acuerdo con Creus (1998) los medidores de nivel de líquidos

trabajan midiendo, bien directamente la altura de liquido sobre una línea de

referencia, bien la presión hidrostática, bien el desplazamiento producido en

Page 20: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

30

un flotador por el propio liquido contenido en el tanque del proceso, o bien

aprovechando característica eléctricas del liquido.

Los primeros instrumentos de medida directa se dividen en sonda,

cinta y plomada, nivel de cristal e instrumentos de flotador.

7.1.1- MEDIDOR POR SONDA: consiste en una varilla o regla

graduada, de la longitud conveniente para introducirla dentro del deposito. La

determinación del nivel se efectúa por lectura directa de la longitud mojada

por el liquido. En el momento de la lectura el tanque debe estar abierto a

presión atmosférica. Se utiliza generalmente en tanques de fuel-oil o

gasolina. Otro medidor consiste en una varilla graduada, con un gancho que

se sumerge en el seno del liquido y se levanta después hasta que el gancho

rompe la superficie del liquido. La distancia desde esta superficie hasta la

parte superior del tanque representa indirectamente el nivel. Se emplea en

tanques de agua a presión atmosférica.

FIGURA 3

Medidor por sonda fuente: Creus 1998

Page 21: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

31

7.1.2 MEDIDOR DE CINTA GRADUADA: se emplea cuando es difícil

que la regla graduada tenga acceso al fondo del tanque.

7.1.3 MEDIDOR DE CRISTAL: consiste en un tubo de vidrio con sus

extremos conectados a bloques metálicos y cerrados por prensaestopas que

están unidos al tanque generalmente mediante tres válvulas, dos de cierre de

seguridad en los extremos del tubo para impedir el escape del liquido en

caso de rotura del cristal y una de purga.

En nivel de cristal normal se emplea para presiones hasta 7 bar. A

presiones más elevadas el cristal es grueso, de sección rectangular y está

protegido por una armadura metálica. La lectura del nivel se efectúa con un

cristal a reflexión o bien por transparencia.

En la lectura por transparencia es empleada para apreciar el color,

característica o interfase del liquido, éste está contenido entre dos placas de

vidrio planas y paralelas que permiten ver directamente el nivel, mejorándose

la apreciación visual al acoplar una lámpara de iluminación al sistema.

Para mayor seguridad, las válvulas de cierre incorporan una pequeña

bola que actúa como válvula de retención en caso de rotura del vidrio.

Los niveles de vidrio son susceptibles de ensuciarse por las

características del liquido que miden, impidiendo que el nivel pueda

apreciarse claramente. Entre los líquidos que representan este inconveniente

figuran el caramelo y los líquidos pegajosos.

Page 22: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

32

El nivel de vidrio permite sólo una indicación local, si bien pueden

emplearse espejos para lectura a distancias limitadas o bien utilizar cámaras

de televisión para mayores distancias de transmisión.

Su ventaja principal es la gran seguridad que ofrece en la lectura del

nivel del liquido pudiendo controlar con ellos la lectura de los otros tipos de

aparatos de nivel.

FIGURA 4

Medidor de Cristal fuente: Creus 1998

7.1.4- MEDIDOR POR FLOTADOR: consiste en un flotador situado en el

seno del liquido y conectado al exterior del tanque indicando directamente el

nivel. La conexión puede ser directa, magnética o hidráulica.

Page 23: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

33

El flotador conectado directamente está unido por un cable que desliza

en un juego de poleas a un índice exterior que señala sobre una escala

graduada. Es el modelo más antiguo y el más utilizado en tanques de gran

capacidad tales como los de fuel-oil gas-oil. Tiene el inconveniente de que

las partes móviles están expuestas al fluido y pueden romperse y de que el

tanque no puede estar sometido a presión. Además, el flotador debe

mantenerse limpio.

El flotador acoplado magnéticamente desliza exteriormente a lo largo

de un tubo guía sellado, situado verticalmente en el interior del tanque.

Dentro del tubo, una pieza magnética sigue al flotador en su movimiento y

mediante un cable y un juego de poleas arrastra el índice de un instrumento

situado en la parte superior del tanque.

El instrumento puede además ser transmisor neumático o eléctrico.

Una variante de la conexión magnética consta de un tubo conteniendo un

flotador, dotado de un imán que orienta una serie de cintas magnéticas

dispuestas en el exterior y alo largo del tubo. A medida que el nivel sube o

baja, las cintas gira, como tienen colores distintos en su anverso y reverso,

visualizan directamente el nivel del tanque. El instrumento puede tener

interruptores de alarmas y transmisor incorporados.

En tanques pequeños, el flotador puede adaptarse para actuar

magnéticamente sobre un trasmisor neumático o eléctrico dispuesto en el

exterior del tanque permitiendo así un control del nivel; una aplicación típica

la constituye el control de nivel de una caldera de pequeña capacidad de

Page 24: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

34

producción de vapor. El flotador acoplado hidráulicamente actúa en su

movimiento sobre un fuelle de tal modo, que varía la presión de un circuito

hidráulico y señala a distancia en el receptor el nivel correspondiente.

Permite distancias de transmisión de hasta 75 m y puede emplearse en

tanques cerrados. Sin embargo, requiere una instalación y calibración

complicadas y posee partes móviles en el interior del tanque.

Hay que señalar que estos instrumentos el flotador puede tener

formas muy variadas y estar formado por materiales muy diversos según sea

el tipo de fluido.

Los instrumentos de flotador tienen una precisión de ± 0.5%. son

adecuados en la medida de niveles en tanques abiertos y cerrados a presión

o al vacío, y son independientes del peso especifico del liquido. Por otro lado,

el flotador puede agarrotarse en el tubo guía por un eventual deposito de los

sólidos o cristales que el liquido pueda contener y además los tubos guía

muy largos pueden dañarse ante olas bruscas en la superficie del liquido o

ante la caída violenta del liquido en el tanque.

Page 25: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

35

FIGURA 5

Instrumento flotador fuente: Creus 1998

Los aparatos que miden el nivel aprovechando la presión hidrostática

se dividen en:

7.1.5 MEDIDOR MANOMÉTRICO: consiste en un manómetro

conectado directamente a la parte inferior del tanque. El manómetro mide la

Page 26: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

36

presión debida la altura del liquido h que existe entre el nivel del tanque y el

eje del instrumento.

Como las alturas son limitadas, el campo de medida es bastante

pequeño, de modo que el manómetro tiene un elemento de medida del tipo

fuelle.

El instrumento sólo sirve para fluidos limpios ya que si el liquido es

corrosivo, coagula o bien tiene sólidos en suspensión, el fuelle puede

destruirse o bien bloquearse perdiendo su elasticidad; por otra parte, como el

campo de medida es pequeño no es posible utilizar sellos de diafragma. La

medida está limitada a tanques abiertos y el nivel viene influido por las

variaciones de densidad del liquido. Una variante emplea un transductor de

presión de la parte superior del tanque e inmerso en el liquido, transmitiendo

la señal de 4-20 mA..

FIGURA 6

Medidor Manométrico fuente: Creus 1998

Page 27: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

37

7.1.6 MEDIDOR DE TIPO BURBUJEO: Emplea un tubo sumergido en

el liquido a cuyo través se hace burbujear aire mediante un rotámetro con un

regulador de caudal incorporado. La presión del aire el la tubería equivale a

la presión hidrostática ejercida por la columna de liquido, es decir, al nivel.

El regulador de caudal permite mantener un caudal de aire constante

a través del liquido independientemente del nivel. Si no existiera, habría una

gran diferencia en los caudales de aire necesarios desde el nivel mínimo al

máximo, con el inconveniente de un gasto de aire indebido. La tubería

empleada suele ser de 1/2 “ con el extremo biselado ara una fácil formación

de las burbujas de aire. Una tubería de menor diámetro reduciría el tiempo

de respuesta pero produciría un error en la medida provocado por la perdida

de carga del tubo.

El método de burbujeo es simple y da buen resultado, en particular, en

el caso de líquidos muy corrosivos o con sólidos en suspensión y en

emulsiones. No se recomienda su empleo cuando el fluido de purga

perjudica al líquido y para fluidos altamente viscosos donde las burbujas

formadas del aire o del gas de purga presentan el riesgo de no separarse

rápidamente del tubo. Desde el punto de vista de mantenimiento, es muy útil

situar una T con un tapón en la parte superior del tubo para su limpieza

periódica.

Page 28: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

38

FIGURA 7

Medidor de tipo burbujeo fuente: Creus 1998

7.1.7 MEDIDOR DE PRESIÓN DIFERENCIAL: consiste en un diafragma en

contacto con el liquido del tanque, que mide la presión hidrostática en un

punto del fondo del tanque.

La precisión de los instrumentos de presión diferencial es de ±0.5 %,

no tienen partes móviles dentro del tanque, son de fácil limpieza, son

precisos y confiables, admiten temperaturas del fluido hasta 120º C y no son

influidos por las fluctuaciones de presión.

El empuje producido por el propio liquido lo aprovecha el medidor de

desplazamiento a barra de torsión.

Page 29: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

39

FIGURA 8

Medidores de presión diferencial fuente: Creus 1998

7.1.8 MEDIDOR DE NIVEL DE TIPO DESPLAZAMIENTO: Consiste

en un flotador parcialmente sumergido en el líquido y conectado mediante un

brazo a un tubo de torsión unido rígidamente al tanque. Dentro del tubo y

unido a su extremo libre se encuentra una varilla que transmite el movimiento

de giro a un transmisor exterior al tanque.

Page 30: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

40

El tubo de torsión se caracteriza fundamentalmente porque el ángulo

de rotación de su extremo libre es directamente proporcional a la fuerza

aplicada, es decir, al momento ejercido por el flotador. El movimiento angular

del extremo libre del tubo de torsión es muy pequeño, del orden de los 9º. El

tubo proporciona además un cierre estanco entre el flotador y el exterior del

tanque donde se dispone el instrumento receptor del par transmitido.

La precisión es del orden de ± 0.5% a ± 1%, y pueden utilizarse en tanques

abiertos y cerrados a presión o a vacío, tiene una buena sensibilidad pero

presenta el inconveniente del riesgo de depósito de sólidos o de crecimiento

de cristales en el flotador que afectan a la precisión de la medida y es apto

para la medida de pequeñas diferencias de nivel.

FIGURA 9

Medidor de nivel por desplazamiento fuente: Creus 1998

Page 31: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

41

Los instrumentos que utilizan características eléctricas del liquido se

clasifican en:

7.1.9 MEDIDOR DE NIVEL CONDUCTIVO O RESISTIVO: Consiste en uno o

varios electrodos y un relé eléctrico o electrónico que es excitado cuando el

líquido moja a dichos electrodos. El liquido debe ser lo suficientemente

conductor como para excitar el circuito electrónico, y de este modo el aparato

puede discriminar la separación entre el liquido y su vapor. La impedancia

mínima es del orden de los 20MΩ/cm, y la tensión de alimentación es alterna

para evitar fenómenos de oxidación en las sondas por causa del fenómeno

de la electrólisis. Cuando el liquido moja los electrodos se cierra el circuito

electrónico y circula una corriente segura del orden de los 2mA; el relé

electrónico dispone de un temporizador de retardo que impide su

enclavamiento ante una ola del nivel del liquido o ante cualquier perturbación

momentánea o bien en su lugar se disponen dos electrodos pocos separados

enclavados eléctricamente en el circuito.

El instrumento se emplea como alarma o control de nivel alto y bajo,

utiliza relés eléctricos para líquidos con buena conductividad y relés

electrónicos para líquidos con baja conductividad.

Es versátil, sin partes móviles, su campo de medida es grande con la

limitación física de la longitud de los electrodo. El liquido contenido en el

tanque debe tener un mínimo de conductividad y si su naturaleza lo exige, la

corriente debe ser baja para evitar la deterioración del producto. Por otro

Page 32: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

42

lado, conviene que la sensibilidad del aparato sea ajustable para detectar la

presencia de espuma en caso necesario.

FIGURA 10

Medidor de nivel Conductivo fuente: Creus 1998

7.1.10 MEDIDOR DE CAPACIDAD: Mide la capacidad del condensador

formado por el electrodo sumergido en el liquido y las paredes del tanque. La

capacidad del conjunto depende linealmente del nivel del liquido.

En fluidos no conductores se emplea un electrodo normal y la

capacidad total del sistema se compone de la del liquido, la del gas superior

y la de las conexiones superiores.

Page 33: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

43

En conductores con una mínima de 100 microhmios/c.c el electrodo está

aislado usualmente con teflón interviniendo las capacidades adicionales

entre el material aislante y el electrodo en la zona del liquido y del gas.

El circuito electrónico alimenta el electrodo a una frecuencia elevada,

lo cual disminuye la reactancia capacitiva del conjunto y permite aliviar en

parte el inconveniente del posible recubrimiento del electrodo por el producto.

El sistema es sencillo y apto para muchas clases de líquidos. Sin

embargo, hay señalar que en los fluidos conductores, los sólidos o líquidos

conductores que se encuentran en suspensión o emulsión, y las burbujas de

aire o de vapor existentes, aumentan y disminuyen respectivamente la

constante dieléctrica del fluido dando lugar a un error máximo de 3% por

cada tanto por ciento de desplazamiento volumétrico. Por otro lado, al bajar

el nivel, la porción aislante del eléctrodo puede quedar recubierta de liquido y

la capacidad adicional que ello representa da lugar a un error considerable.

La precisión de los traductores de capacidad es de ± 1%.

Page 34: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

44

FIGURA 11

Medidor de capacidad fuente: Creus 1998

7.1.11 MEDIDOR POR ULTRASONIDO: El sistema ultrasónico de medición

de nivel se basa en la emisión de un impulso ultrasónico a una superficie

reflectante y la recepción del eco del mismo en un receptor. El retardo en la

captación del eco depende del nivel del tanque.

Los censores trabajan a una frecuencia de unos 20 Khz. Estas ondas

atraviesan con cierto amortiguamiento o reflexión el medio ambiente de

gases o vapores y se reflejan en la superficie del sólido o del liquido.

En las aplicaciones de alarma de nivel los censores vibran a una

frecuencia de resonancia determinada, que se amortigua cuando el líquido

los moja.

Page 35: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

45

En segundo caso de indicación continua del nivel, la fuente ultrasónica

genera impulsos que son detectados por el receptor una vez ha transcurrido

el tiempo correspondiente de ida y vuelta de la onda a la superficie del sólido

o del líquido.

La precisión de estos instrumentos es de ± 1 a 3%. Son adecuados

para todos los tipos de tanques y de líquidos o fangos pudiendo construirse a

prueba de explosión. Presentan el inconveniente de ser sensibles a la

densidad de los líquidos y dar señales erróneas cuando la superficie del nivel

del liquido no es nítida como es el caso de un líquido que forme espuma, ya

que se produce falsos ecos de los ultrasonidos.

La utilización del ordenador permite, a través de un programa,

almacenar el perfil ultrasónico del nivel, y así tener en cuenta las

características particulares de la superficie del liquido, tal como la espuma,

con lo cual se mejora la precisión de la medida. Por otro lado, el ordenador

facilita la conversión del nivel a volumen del tanque para usos de inventario,

y además proporciona características de autocomprobación del instrumento.

La diferencias entre las señales de transmisión y de retorno es

proporcional al tiempo empleado por las mismas y así:

dtvd 2/= ecv /= con

Page 36: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

46

siendo:

d = distancia del emisor al líquido

v = señal de velocidad

dt = tiempo de recorrido

c = velocidad de la luz

e = constante dieléctrica

como la constante dieléctrica de los vapores sobre el líquido es casi la

unidad, la variación de la velocidad es despreciable, de modo que la señal de

velocidad de radares más constante3 que la de ultrasonidos.

FIGURA 12

Medidor de nivel por ultrasonido fuente: Creus 1998

Page 37: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

47

8.- ONDAS SONORAS

Las ondas sonoras son el ejemplo mas importante de las ondas

longitudinales, ellas pueden viajar a través de cualquier medio material ( es

decir gases, sólidos y líquidos) con una velocidad que depende del medio,

las partículas en el medio vibran para producir cambios de densidad y

presión a lo largo de la dirección del movimiento de la onda.

8.1- CATEGORÍAS DE LAS ONDAS SONORAS

Serway (1985), existen tres categorías de ondas sonoras que cubren

diferentes rangos de frecuencias.

Ø Ondas audibles: son las ondas sonoras que caen dentro del rango de

sensibilidad del oído humano, por lo general de 20 Hz a 20.000 Hz. Se

pueden generar de diferentes formas tales como instrumentos musicales,

cuerdas vocales y altavoces.

Ø Ondas infrasónicas: son las ondas longitudinales con frecuencias bajo del

rango audible.

Ø Ondas ultrasónicas: son ondas longitudinales con frecuencias por arriba

del rango audible.

Page 38: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

48

8.2- VELOCIDAD DE LAS ONDAS SONORAS

Las ondas sonoras son ondas de compresión que se mueven a través

de un medio comprensible, tal como aire. La región de aire comprimida que

se propaga corresponde a una variación en el valor normal de la presión de

aire la rapidez de tales ondas comprensibles depende de la comprensibilidad

del medio y de la inercia del mismo.

Si el medio es comprensible tiene un modulo volumétrico B y una

velocidad de equilibrio P, la rapidez del sonido es la raíz cuadrada de B

sobre P, dependiendo esta propiedad estática del medio (b) y una propiedad

de inercia del medio (p).

9.- INSTRUMENTACIÓN:

Instrumentación es definida como “todo sistema de instrumentación y

dispositivos asociados, utilizados para detectar, señalizar, observar, medir,

controlar o comunicar atributos de un objeto físico o proceso”, (ISA,

Asociación de Instrumentación de América www.isa.org

9.1- Evolución de la instrumentación

Los instrumentos de control fueron naciendo a medidas que las

exigencias del proceso lo impusieron. El desarrollo se inicio con los

manómetros, termómetros y válvulas manuales localmente montados. En

Page 39: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

49

esta fase, el sistema era desarrollado por muchos operadores para observar

los instrumentos y maniobrar las válvulas, basados en la intuición y en la

experiencia acumulada.

La siguiente etapa fue la centralización de las funciones de medida y

de control mas importantes, pertenecientes a una operación del proceso, en

un panel localmente montado.

Hacia los años 40, se hizo necesario observar el funcionamiento de

varias unidades de planta simultáneamente , estableciéndose sistemas con

transmisores neumáticos, que permiten la centralización de todas las

funciones de medidas y regulación de toda la unidad del proceso en una sala

de control. Estas salas de control se hicieron excesivamente grandes por la

cantidad de tuberías y aparatos voluminosos, apareciendo para 1947 la

instrumentación neumática miniatura.

Iniciándose los años 50 aparecen los primeros instrumentos

electrónicos a válvulas una vez generalizados los instrumentos miniaturas

neumáticos y electrónicos, los requerimientos de los procesos se fueron

haciendo cada vez mas exigentes y su optimización llego a ser una

necesidad.

En 1946, apareció el primer computador electrónico, pero los

verdaderos computadores del proceso se desarrollan en los años 60-65.

En 1975, aparecen los primeros sistemas de control distribuidos, en

donde 1 o varios microprocesadores encuentran repartidos en diversos

puntos de la planta y conectado a varias señales de proceso

Page 40: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

50

correspondiente. Estos microprocesadores se distribuyen en forma

estratégica y se comunican mediante varias comunicaciones. La

comunicación entre estos microprocesadores e instrumentación continua

analógica.

En la actualidad con la introducción de la tecnología digital, en redes

de carácter propietario, redes abiertas estándar (fieldbus), la introducción de

los dispositivos inteligentes basados en microprocesadores se integrara

totalmente la información de la planta, con un flujote información continuo

entre las diferentes áreas del proceso. La aplicación de instrumentos

neumáticos y electrónicos analógicos, quedara limitada a plantas pequeñas

en donde la sencillez del proceso no requiera redes de instrumentación.

9.2- CLASES DE INSTRUMENTACIÓN

Los instrumentos de medición y control puede tener 2 clasificaciones,

la primera relacionada con la función del instrumento y la segunda, con la

variable del proceso.

• En función del instrumento

De acuerdo con las funciones del instrumento tenemos la clasificación

siguientes.

v Instrumentos ciegos: son aquellos que no tienen indicación visible en

la variable. Los instrumentos son principalmente los de alarmas tales

como interruptores de presión, temperatura, nivel, entre otros.

Page 41: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

51

También son transmisores de caudal, nivel, presión y temperatura sin

indicador.

v Instrumentos indicadores: dispone de un índice de una escala

graduada en la que puede leerse el valor de la variable, también

existen indicadores digitales que muestran la variable en forma

neumática con dígitos.

v Instrumentos registradores: registran con trazos continuos o a

puntos la variable. Pueden ser circulares, rectangulares o alargados

según sea la forma del grafico.

Elementos primarios: están en contacto con la variable y utiliza o absorben

energía del medio controlado para dar al sistema de medición una indicación

en respuestas a la variación de la variable controlada. Se conoce como

detector o censor y esta integrado con otros elementos funcionales de un

sistema de control.

v Transmisores: captan la variable del proceso mediante el elemento

primario, transmitiéndola a distancia en forma de señal neumática (3-

5 psi), electrónica (4 -20 mA) o digital, como valor de la variable

generalmente en unidades de ingeniería.

Page 42: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

52

v Traductores: reciben una señal de entrada en función de una o mas

cantidades físicas y la conviertes modificadas o no a una señal de

salida.

v Convertidores: son dispositivos que reciben una señal de entrada

neumática o electrónica procedente de un instrumento, y luego de

modificarla, envía la resultante en forma de señal de salida estándar

del sistema.

v Receptores: reciben señales que vienen de los transmisores y las

indican o simplemente la registran.

v Controladores: comparan a variable controlada ( presión, nivel,

temperatura) con un valor deseado y ejercer la acción conectiva de

acuerdo con la desviación. La variable controlada la puede recibir

directamente, como controladores locales o bien indirectamente en

forma de señal neumática, electrónica o digital procedente de un

transmisor.

Elementos final de control: recibe la señal de controlador y modifica el

caudal de flujo o agente de control. Con frecuencia son válvulas de control.

Page 43: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

53

• En función de la variable del proceso

Según la variable del proceso, los instrumento se dividen en instrumento

caudal, nivel, presión, temperatura, densidad y peso especifico, humedad y

punto de roció, velocidad, viscosidad, Posición, PH, conductividad,

frecuencia, fuerza, entre otros.

Esta aplicación corresponde al tipo de las señales de proceso. De igual

forma no depende del numero y tipo de traductores existente entre el

elemento primario y el instrumento final.

10.- INSTRUMENTOS INTELIGENTES

Con el desarrollo de la tecnología, se ha introducido nuevas

capacidades a la instrumentación del campo (transmisores, válvulas,

interruptores), caracterizadas principalmente por incluir capacidad de

procesamiento a los dispositivos, a través de los microprocesadores (CPU) y

“software grabado en memoria no volátil, que permite desarrollar en los

dispositivos tareas que anteriormente eran ejecutadas por dispositivos para

tareas exclusivas de control y matemáticas.

11.- MICROCONTROLADOR PIC16F877

Este microcontrolador pertenece a la gama media de la familia de los PIC,

aunque se le introdujo como variante memoria de programa tipo FLASH.

Page 44: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

54

A. Recursos fundamentales:

v Procesador de arquitectura R ISC avanzada.

v Repertorio de 35 instrucciones con 14 bits de longitud. Todas ellas se

ejecutan en un ciclo de instrucción, menos la de salto que tardan dos.

Frecuencia máxima de 20 MHz.

14.336 bytes de memoria FLASH de programa.

256 Bytes EEPROM y 368 Bytes RAM como memoria de datos.

Encapsulados de 40 a 44 patas.

14 fuentes de interrupción interna.

Pila con 8 niveles.

Modos de direccionamiento directo, indirecto y relativo.

Perro guardián (WDT).

Código de protección programable.

Modo SLEEP de bajo consumo.

ICSP (Programación serie en circuito).

Voltaje de alimentación entre 2 y 5,5 V.

Bajo consumo (menos de 2 mA y 5MHz).

12.- PROCESADOR RISC CON ARQUITECTURA HARVARD

Esta arquitectura se caracteriza por la independencia entre la memoria de

código y la de datos. Así, tanto la capacidad como el tamaño de los buses de

cada memoria se adaptan estrictamente a las necesidades del diseño,

Page 45: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

55

facilitando el trabajo en paralelo de las dos memorias, lo que permite obtener

altas cotas de rendimiento. Angulo(1.999, p.6) expresa ”En la arquitectura

Harvard son independientes la memoria de instrucciones y la memoria de

datos y cada una dispone de su propio sistema de buses para el acceso.

Esta dualidad, además de propiciar el paralelismo, permite la adecuación del

tamaño de las palabras y los buses a los requerimientos específicos de las

instrucciones y de los datos”.

En la figura 1 se observa la arquitectura del PIC16F877. Se puede

observar que la memoria donde se encuentran las instrucciones está

direccionada por el Contador de programa en conexión con la Pila de 8

niveles. La memoria de datos RAM contiene el Banco de registros

específicos y el Banco de registros de propósito general y transfiere

información bidireccional por el bus de datos de 8 líneas que interconecta

todos los elementos. Finalmente, el Camino de datos está formado por una

ALU de 8 bits que trabaja conjuntamente con el registro de trabajo W.

Page 46: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

56

FIGURA 13

Representa la arquitectura tipo Harvard de los PIC16F877.

Fuente: Angulo (2.000).

13.- ORGANIZACIÓN DE LA MEMORIA DE PROGRAMA:

La memoria FLASH que tiene una capacidad de 14K palabras de 14 bits

cada una, está dividida en páginas de 2K palabras y está direccionada con el

Page 47: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

57

contador de programa, que tiene un tamaño de 13 bits. La Pila es

transparente para el usuario, es decir, funciona automáticamente y no

dispone de instrucciones para guardar o sacar de ella información.

13.1- El contador de programa (PC):

Este registro tiene varias funciones: Cuando se escribe como resultado de

una operación de la ALU, los 8 bits de menos peso del PC residen en el

registro PCL, los bits de más peso (PC8-PC12), residen en los 5 bits de

menos peso del registro PCLATH.

En las instrucciones GOTO y CALL los 11 bits de menos peso del PC

provienen del código de la instrucción y los otros dos de los bits 3 y 4 de

PCLATH. Angulo (1.999, p.78) señala que ”Con los 11 bits que se cargan en

el PC desde el código de las instrucciones GOTO y CALL, se puede

direccionar una página de 2K de la memoria. Los bits restantes PC11 y PC12

tienen la misión de apuntar una de las cuatro páginas del mapa de memoria”.

Esos bits proceden de PCLATH3 y PCLATH4.

13.2- La pila:

Es una zona aislada de las memorias de instrucciones y datos. Tiene una

estructura LIFO (last in first out). Tiene 8 niveles de profundidad cada uno

con 13 bits. Según Angulo (1.999,P.78) “Funciona como un “buffer” circular,

Page 48: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

58

de manera que el valor que se obtiene al realizar el noveno “desempilado”

(pop) es igual al que se obtuvo en el primero”. Angulo también advierte que

“Los PIC no disponen de ningún señalizador que indique cuando se produce

el rebosamiento de los 8 niveles de Pila” . Por lo que al diseñar el programa

el usuario debe preocuparse por los anidamientos en las subrutinas para no

sobrepasar los 8 niveles.

En la siguiente figura se muestra la organización de la memoria de

programa tipo FLASH en los PIC16F877.

FIGURA 14

Organización de la memoria de programa tipo FLASH en los PIC16F877.

Fuente: Microchip (1.998).

Page 49: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

59

13.3- ALU:

La Unidad Aritmética Lógica realiza los cálculos contenidos en las

instrucciones de la memoria y luego devuelve los resultados obtenidos al

registro W y/o a la memoria RAM.

14.- DIRECCIONAMIENTO DE LA MEMORIA DE DATOS

14.1- Direccionamiento directo:

El operando que utiliza la instrucción en curso se referencia mediante su

dirección, que viene incluida en el código OP de la misma, concretamente en

los 7 bits de menos peso, acerca del código OP Angulo (1.999,p.140) explica

que ”Los bits de este campo sirven para definir la operación que realiza la

instrucción”. El banco a acceder lo determinan los bits RP0 y RP1 del registro

ESTADO.

14.2- Direccionamiento indirecto:

Este modo de direccionamiento se usa cuando en una instrucción se

utiliza como operando el registro INDF, que ocupa la dirección 0 de todos los

bancos. Explica Angulo (1.999, P.83) que “En realidad el registro INDF no

está implementado físicamente y cuando se le hace referencia, se le accede

a la dirección de un banco especificada con los 7 bits de menos peso del

Page 50: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

60

registro FSR”. El bit de más peso de FSR junto al bit IRP del registro

ESTADO se encargan de seleccionar el banco a acceder, mientras que los 7

bits de menos peso apuntan a la posición.

15.- ORGANIZACIÓN DE LOS REGISTROS

Los registros están organizados como un arreglo de 4 bancos de 128

bytes cada uno y se encuentran ubicados en la memoria RAM. En las

posiciones iniciales de cada banco se encuentran los registros específicos

que gobiernan al procesador y sus recursos, en las posiciones inferiores se

encuentran los registros de propósito general, los cuales pueden ser usados

para información de trabajo del programador.

16.- REGISTROS ESPECÍFICOS: 00h o INDF: Registro para direccionamiento indirecto de datos. Este no es

un registro disponible físicamente; utiliza el contenido del FSR y el bit IRP del

registro STATUS para seleccionar indirectamente la memoria de datos o

RAM del usuario; la instrucción determinará que se debe realizar con el

registro señalado.

TMRO o 01h: Contador y reloj de tiempo real. Temporizador / contador de

8 bits. Este 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

Page 51: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

61

instrucciones del microprocesador. La rata de incremento del registro se

puede determinar por el preescalador, localizado en el registro OPTION.

PCL o 02h: Contador de programa. Se utiliza para direccional las palabras

de 14 bits del programa del usuario que se encuentra almacenado en la

memoria ROM; este contador es de 13 bits de ancho. Sobre el byte bajo,

PCL se puede escribir o leer, el byte alto, no. El byte alto se puede escribir

mediante el registro PCLATH. Durante la ejecución normal del programa, el

contador se incrementa en uno cada instrucción, a menos que se trate de

una instrucción especial.

STATUS o 03h: Registro de estados. Para Angulo(2.000, P.43) “éste es el

registro más usado de todos, pues sus bits están destinados a controlar las

funciones vitales del procesador”. En la tabla 2 se encuentran ubicados cada

bit de este registro:

TABLA 2

IRP RP1 RP0 TO PD´ Z DC C

MSB LSB

Distribución y asignación de los bits del registro STATUS. Fuente:

Angulo (2.000).

Page 52: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

62

C: Carry o bit de acarreo: Actúa de igual manera que el bit DC pero se

activa cuando el acarreo ocurre en el bit de más peso.

DC: Digit Carry o bit de acarreo de dígito. Se pone en 1 cuando existe

acarreo en el bit 4 en las instrucciones de suma. También actúa como

señalizador de llevada en las instrucciones de resta, pero en este caso se

coloca en cero (0) de haberla.

Z: Zero o bit de cero. Se coloca en 1 cuando el resultado de una

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

PD´: Power down o bit de bajo consumo. Se coloca en cero (0) para la

instrucción SLEEP. Se pone en 1 al conectarse la alimentación o tras la

ejecución de la instrucción clrwdt.

TO´: Time Out o bit de finalización del temporizador. Se coloca en cero (0)

al desbordarse el perro guardián. Toma el valor 1 tras la conexión de la

alimentación o al ejecutarse las instrucciones clrwdt o sleep.

RP1,0: Selectores del banco de la memoria RAM para direccionamiento

directo. En la tabla 3 se observa el banco que corresponde cada

combinación:

Page 53: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

63

TABLA 3

BANCO RP1 RP0

0 0 0

1 0 1

2 1 0

3 1 1

Combinaciones de los bits RP0 y RP1 y el banco de memoria

seleccionado. Fuente : Angulo (2.000).

IRP: Se usa en conjunto con el bit de más peso del registro FSR para

elegir el banco de RAM en el direccionamiento indirecto.

FSR o 04h: Registro selector de registro. Conjuntamente con el registro

IND0, se utiliza para seleccionar indirectamente los registros disponibles.

PORTA o 05h: Registro para leer o enviar datos en el puerto A, el registro

de control de este puerto está localizado en la página 1, en la posición 85h.

PORTB o 06h: Registro para leer o enviar datos en el puerto B, el registro

de control de este puerto está localizado en la página 1, en la posición 86h.

PORTC o 07h: Registro para leer o enviar datos en el puerto C, el registro

de control de este puerto está localizado en la página 1, en la posición 87h.

PORTD o 08h: Registro para leer o enviar datos en el puerto D, el registro

de control de este puerto está localizado en la página 1, en la posición 88h.

Page 54: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

64

PORTE o 09h: Registro para leer o enviar datos en el puerto E, el registro

de control de este puerto está localizado en la página 1, en la posición 89h.

PCLATH o 0Ah: Registro para la parte alta de la dirección. Este contiene

la parte alta del contador de programa y no es directamente accesible.

INTCON o 0Bh: Registro para el control de las interrupciones. Es el

encargado del manejo de las interrupciones. (véase la tabla 4). A

continuación se explica la función de cada bit del registro INTCON:

TABLA 4

GIE EEIE TOIE INTE RBIE TOIF INTF RBIF

MSB LSB

Distribución y asignación de los bits del registro INTCON. Fuente:

Angulo (2.000).

RBIF: RB Port Change Interrupt Flag o bandera de interrupción por el

cambio en el puerto B: se coloca en 1 cuando cualquiera de las entradas

desde RB4 a RB7 cambia, ésta debe ser puesta a 0 por el programa.

INTF: INT Interrupt Flag o bandera de interrupción INT: Se coloca en 1

cuando la interrupción INT ocurre, ésta debe ser puesta en cero por el

programa.

Page 55: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

65

TOIF: TMRO Overflow o bandera de la interrupción por sobrepasamiento

del TMRO: Se coloca en 1 cuando TMRO pasa de 0FFh a 00h, ésta debe ser

puesta a cero por el programa.

RBIE: RBIF Interrupt Enable o habilitación de la interrupción RBIF (cambio

de estado en alguna de las líneas de RB4 a RB7): 1, permite esta

interrupción, 0, prohíbe esta interrupción.

INTE: INT Interrupt Enable o habilitación de la interrupción INT: 1, permite

la interrupción al activarse RB0/INT. 0, prohíbe esta interrupción.

TOIE: TMRO Interrupt Enable o habilitación de la interrupción del

temporizador TMRO: 1, lo habilita, 0, lo deshabilita.

EEIE: EEPROM Write Interrupt Enable o habilitación de interrupción por

escritura de la EEPROM: 1, permite que se origine una interrupción cuando

termine la escritura de la EEPROM de datos. 0, prohíbe que se produzca

esta interrupción.

GIE: Global Interrupt Enable o habilitador general de interrupciones: 1,

permite la ejecución de todas las interrupciones, cuyos bits de permiso

individuales también la permitan. 0, prohíbe todas las interrupciones.

PIR1 o 0Ch y PIR2 o 0Dh: Los bits contenidos en los registros PIR1 y

PIR2 actúan como banderas que señalan las causas que producen las

interrupciones contenidas en los registros PIE1 y PIE2 respectivamente,

independientemente si está permitida o prohibida. A continuación se observa

la distribución y función de cada uno de los bits contenidos en estos dos

registros (véase las tablas 5 y 6):

Page 56: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

66

TABLA 5

PSPIF ADIF RCIF TXIF SSPIF CCP1I

F

TMR21I

F

TMR1I

F

MSB LSB

Asignación y distribución de los bits del registro PIR1. Fuente: Angulo

(2.000).

TMR1IF: Bandera de interrupción del TMR1: 1, se ha producido

desbordamiento del TMR1, 0, no se ha producido desbordamiento del TMR1.

TMR2IF: Bandera de interrupción del TMR2: 1, TMR2 alcanzó el valor del

período (PR2), 0, TMR2 no alcanzó el valor del período (PR2).

CCP1IF: Bandera de interrupción del módulo CCP1: 1, se ha producido

una operación en el módulo CCP1, 0, no se ha producido alguna operación

en el módulo CCP1.

SSPIF: Bandera de interrupción del módulo SSP: 1, se ha producido una

operación en el módulo SSP, 0, no se ha producido una operación en el

módulo SSP.

TXIF: Bandera de interrupción al quedar vacío el buffer de transmisión del

USART (fin de transmisión): 1, el buffer de transmisión está vacío, 0, el buffer

de transmisión no está vacío.

Page 57: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

67

RCIF: Bandera de interrupción al llenarse el buffer de recepción del

USART (fin de recepción): 1, el buffer de recepción está lleno, 0, el buffer de

recepción no está lleno.

ADIF: Bandera de interrupción al finalizar una conversión del módulo A/D:

1, se ha completado una ciclo de conversión A/D, 0, no se ha completado un

ciclo de conversión A/D.

PSPIF: Bandera de interrupción al producirse una operación de lectura o

escritura en el puerto paralelo esclavo, se coloca en 1 si se ha producido una

operación de lectura o escritura, y 0 si no se ha producido una de las

anteriores operaciones.

TABLA 6

Asignación y distribución de los bits del registro PIR 1. Fuente: Angulo

(2.000).

Función de los bits del registro PIR2:

CCP2IF: Bandera de interrupción del modulo CCP2: 1, se ha producido

una operación en dicho modulo, 0, no se ha producido alguna operación.

- 0 - EEIF BCLIF - - CCP2I

F

MSB LSB

Page 58: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

68

BCLIF: Bandera de interrupción por finalización de escritura en la

memoria EEPROM de datos: 1,finalizo la escritura,0, no ha finalizado.

EEIF: Bandera de interrupción por finalización de escritura en la memoria

EEPROM de datos: 1, finalizo la escritura, 0,no ha finalizado.

TMR1L o 0Eh y TMR1H o 0Fh: Son dos registros concatenados de 8 bits

cada uno utilizados para guardar el valor del conteo del temporizador /

contador TMR1.

T1CON o 10h: Este registro se encarga de gobernar el funcionamiento de

TMR1. En la tabla 7 se presenta la distribución de los bits de este registro.

Tabla 7

Distribución y asignación de los bits del registro T1CON.

Fuente: Angulo (2.000).

TMR1ON: Gobierna el permiso o la prohibición de funcionamiento del

Timer1. En 0 TMR1 no funciona, 1 la habilita.

TMR1CS: Selecciona la fuente de los impulsos de conteo. 0, elige el reloj

interno (Fosc/4),1 elige como fuente de impulsos el reloj externo aplicado en

patas RC0 y RC1.

- - T1CKPS1 T1CKPS0 T1OSCEN T1SYNC’ TMR1C

S

TMR1ON

MSB LSB

Page 59: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

69

T1SYNC’: Determina la posible sinc ronización o no de los impulsos del

reloj externo con los del reloj interno, 0 habilita la sincronización, 1 la

deshabilita.

T1OSCEN: Determina si se utilizará sólo la pata RC0/T1OSO/T1CKI

como entrada del reloj externo o si se utilizará en conjunto con

RC1/T1OSI/CCP2, en 0 se habilita la primera opción, en 1 se habilita la

segunda.

T1CKPS0 y T1CKPS0: eligen en conjunto el rango de división del

preescalador de frecuencia, esta es una simple división de la frecuencia de

los impulsos que se aplican al TMR1 por 1, 2, 4 u 8. A continuación se

observa la división de frecuencia aplicada de acuerdo al valor que tomen

T1CKPS0 y T1CKPS0:

TABLA 8

T1CKPS

1

T1CKPS

0 RANGO DEL PREESCALADOR

0 0 1:1

0 1 1:2

1 0 1:4

1 1 1:8

Asignación del rango del preescalador mediante los bits

T1CKPS1 y T1CKPS2 del registro T1CON. Fuente: Angulo (2.000) .

Page 60: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

70

TMR2 o 11H: Es un temporizador ascendente de 8 bits, que al que

TMR1L o TMR1H también puede ser leído o escribido, y que también puede

realizar funciones especiales para la Puerta Serie Síncrona (SSP) y con los

módulos de captura y comparación.

La señal de reloj del TMR2 es interna Fosc/4, y antes de ser aplicada

pasa por un predivisor de frecuencia con rangos de 1:1, 1:4 y 1:16. La salida

del TMR2 atraviesa un postdivisor de frecuencia con rangos de división

desde 1:1 a 1:16, pasando por los 16 posibles valores.

Al entrar el microcontrolador en modo de reposo o SLEEP, se detiene el

oscilador interno y al no existir la señal Fosc/4 deja de funcionar el TMR2.

T2CON o 12h: Es el registro utilizado para controlar el funcionamiento de

TMR2. En la tabla 9 se puede observar la distribución de sus bits.

TABLA 9

Distribución y asignación de los bits del registro T2CON.Fuente:

Angulo (2.000).

T2SCKPS0 y T2SCKPS1: Seleccionan el rango de división del predivisor

de impulsos. (véase la tabla 10).

- TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2SCKPS1 T2SCKPS0

MSB LSB

Page 61: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

71

TABLA 10

T1CKPS1 T1CKPS0

RANGO DEL

PREESCALADOR

0 0 1:1

0 1 1:4

1 X 1:16

Asignación del rango del preescalador. Fuente: Angulo (2.000).

TMR2ON: En 1 Permite el funcionamiento de TMR2, en 0 lo prohíbe.

TOUTPS0, TOUTPS1, TOUTPS2 y TOUTPS3: Determinan el rango por el

que divide la frecuencia el postdivisor (véase la tabla 11).

TABLA 11

TOUTPS3-

TOUTPS0

RANGO DEL

POSTDIVISOR

0 1:1

1 1:2

10 1:3

… …

1111 1:16

Asignación del rango del postdivisor. Fuente: Angulo (2.000).

Page 62: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

72

La bandera de desbordamiento del TMR2 es el bit TMR2IF del registro

PIR1.

Señala Angulo (2.000, p.91) que “El predivisor y el postdivisor se ponen a

0 al escribir el TMR2, al escribir el T2CON o con un reset. Sin embargo,

cuando se escribe el T2CON no se borra el TMR2. Pasa a valer 0 el

contenido del TMR2 cuando se produce un reset”.

TMR2 tiene asociado un registro de período PR2 o 92h. Cuando el valor

del conteo del TMR2 coincide con el valor cargado en PR2 se genera un

impulso que puede ser dividido por el postdivisor antes de activar la bandera

TMR2IF. Este impulso también resetea el TMR2.

SSPBUF O 13h: Actúa como buffer de información para la transmisión

serial síncrona. En transmisión al registro SSPBUF se carga el byte que se

quiere transmitir a través del bus de datos interno y automáticamente se

traspasa al registro SSPSR , que va desplazando bit a bit el dato, sacándolo

ordenadamente al exterior a medida que se ejecutan los impulsos del reloj.

En recepción, los bits van entrando a medida que se ejecutan los impulsos

del reloj por una pata y se van desplazando en el SSPSR hasta que lo llenan,

en cuyo momento la información se traspasa al SSPBUF, donde queda lista

para su lectura.

SSPCON o 14h: Este registro se utiliza para programar el módulo MSSP

(Puerto Serial Síncrono Maestro) en los dos modos que puede trabajar. En la

tabla 12 se observa la distribución de sus bits.

Page 63: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

73

TABLA 12

WCOL SSPOV SSPEN CKP SSPM3 SSPM2 SSPM1 SSPM0

MSB LSB

Distribución y asignación de los bits del registro SSPCON. Fuente:

Angulo (2.000).

SSPM0, SSPM1, SSPM2 y SSPM3: Con estos bits se establece el modo

de trabajo del módulo MSSP (Véase la tabla 13).

TABLA 13

SSPM3-

0 MODO DE TRABAJO

0000 Modo maestro SPI, con reloj a Fosc /4

0001 Modo maestro SPI, con reloj a Fosc /16

0010 Modo maestro SPI, con reloj a Fosc /64

0011 Modo maestro SPI, con reloj igual a la salida del TMR2 /2

0100

Modo esclavo SPI, con reloj igual a la pata SCK y SS’ a nivel

bajo

0101

Modo esclavo SPI, con reloj igual a la pata SCK, SS' no

activo y libre para usarse como E/S

Page 64: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

74

0110 Modo esclavo 12C, con dirección de 7 bits

0111 Modo esclavo 12C,con dirección de 10 bits

1000 Modo 12C maestro con reloj = Fosc /4x(SSPAD + 1)

1011 Modo 12C maestro controlado por firmware

1110

Modo 12C maestro controlado por firmware, con bits inicio y

stop, activada interrupción, dirección de 7 bits

1111

Modo 12C maestro controlado por firmware, con bit s inicio y

stop, activada interrupción, dirección de 10 bits

Asignación del modo de trabajo del modulo MSSP. Fuente: Angulo

(2.000).

CKP: Determina la polaridad o el estado de inactividad del reloj. En el

modo SPI si CKP = 1 dicho estado de inactividad es el alto y si CKP = 0 es el

bajo.

SSPEN: Bit de activación del módulo MSSP. Si SSPEN = 1 queda

activado el puerto serie en modo SPI y las patas SCK, SDO, SDI y SS’

realizan la labor correspondiente. Si SSPEN = 0 no funciona el modo SPI y

estas patas se utilizan para E/S digitales.

SSPOV: Al colocarse en 1 indica “sobrepasamiento”, lo que significa que

la información recibida en SSPSR y que ha pasado al SSPBUF, cuando llega

Page 65: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

75

otro byte al SSPSR aún no se ha leído y se perderá la información existente

en el SSPBUF.

WCOL: Cuando este bit se coloca en 1 indica que se ha producido una

“colisión”. El dato a transmitir que se ha almacenado en el SSPBUF se

traspasa al SSPSR para irlo sacando en serie. Cuando el SSPBUF carga en

el SSPSR un byte sin haber dado tiempo a salir al anterior, se produce una

colisión.

CCPR1L o 15h, CCR1H o 16h, CCPR2L o 1Bh y CCPR2H o 1Ch: Los

módulos CCP1 y CCP2 utilizan un registro de trabajo de 16 bits que está

formado por la unión de los registros CCPR1H-CCPR1L o CCPR2H-CCPR2L

respectivamente. Esta pareja de registros es la encargada de capturar el

valor de TMR1, de comparar el valor que tienen con el del TMR1 o, en el

modo PWM, de modular la anchura del impulso.

CCP1CON o 17h y CCP2CON o 1Dh: Son los registros de control de los

módulos CCP1 y CCP2. En la tabla 14 se observa la distribución de los bits

del registro CCPxCON (donde x puede ser 1 o 2):

TABLA 14

Distribución y asignación de los bits del registro CCPxCON (donde x puede

ser 1 o 2). Fuente: Angulo(2.000).

- -

CCPx

X

CCPx

Y CCPxM3 CCPxM2 CCPxM1 CCPxM0

MSB LSB

Page 66: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

76

Los bits CCPxM3-0 asignan el modo de trabajo del módulo ya sea CCP1

o CCP2 (véase la tabla 15).

TABLA 15

CCPxM3-

0 MODO DE TRABAJO DEL MODULO

0000 Módulo CCPx desconectado

0100

Modo captura con cada flanco descendente en

RCy/CCPx

0101

Modo captura con cada flanco ascendente en

RCy/CCPx

0110

Modo captura cada 4 flancos ascendentes en

RCy/CCPx

0111

Modo captura cada 16 flancos ascendentes en

RCy/CCPx

1000

Modo comparación que activa la pata RCy/CCPx al

coincidir valores

1001

Modo comparación que desactiva (0) la pata RCy/CCPx

al coincidir valores

1010

Modo comparación que genera una interrupción

software (no afecta a RCy/CCPx)

1011 Modo comparación en el que se produce un disparo

Page 67: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

77

especial diferente para cada módulo

11xx Modo PWM

Asignación del modo de trabajo de los módulos CCP1 y/o CCP2.

Fuente: Angulo (2.000).

RCSTA o 18h: Este registro es usado para el control de la sección

receptora del USART. La estructura interna del registro RCSTA se muestra

en la tabla 16.

TABLA 16

SPEN RX9 SREN CREN ADDEN FERR OERR RX9D

MSB LSB

Estructura interna del registro RCSTA. Fuente: Angulo (2.000).

La asignación de funciones de cada bit se muestra a continuación:

Rx9D: Bit 9 del dato recibido (puede ser el bit de paridad).

OERR: Bit de error de sobrepasamiento. 1, error de sobrepasamiento

(puede ser borrado escribiendo un 0 en el bit CREN), 0, no hay error de

sobrepasamiento.

Page 68: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

78

FERR: Bit de error de trama. 0, error de trama (puede ser actualizado

leyendo el registro RCREG y recibir el siguiente dato válido), 0, no hay error

de trama.

ADDEN: Detección de dirección. Modo asíncrono con 9 bits (RX9 =1).1,

activa la detección de dirección, activa la interrupción y descarga el buffer de

recepción al activarse RSR(8), 0, desactiva la detección de dirección, todos

los bits son recibidos y el bit 9 puede ser utilizado como bit de paridad.

CREN: Configura la recepción continua. Modo asíncrono: 1, habilita modo

de recepción continua, 0, Deshabilita recepción continua. Modo síncrono: 1,

habilita recepción continua hasta que el bit CREN es borrado, 0, Deshabilita

recepción continua.

SREN: Configura la recepción sencilla. Modo asíncrono: no influye. Modo

síncrono maestro: 1, habilita recepción sencilla, 0, deshabilita recepción

sencilla. Modo síncrono esclavo: no se utiliza.

RX9: Habilita el bit 9 de recepción. 1, Selecciona recepción de 9 bits, 0,

selecciona recepción de 8 bits.

SPEN: Habilitación del puerto serie. 1, puerto serie habilitado (se

configuran las patas RC7/RX7DT y RC6/TX/CK), 0, puerto serie

deshabilitado.

TXREG o 19h: En este registro se deposita el dato que se desea

transmitir por el USART, después de depositado el dato se traspasa al

registro de desplazamiento TSR, que va sacando los bits secuencialmente y

a la frecuencia establecida.

Page 69: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

79

RCREG o 1Ah: Este registro es utilizado para recoger los datos recibidos

por el receptor USART. EL USART receptor recibe, uno a uno, los bits,

elimina los dos de control y los de información una vez que han llenado el

registro de desplazamiento RSR los traslada automáticamente al registro

RCREG, donde quedan disponibles para su posterior procesamiento.

ADRESH o 1Eh y ADRESL o 9Eh: En esta pareja de registros se deposita

el resultado de la conversión analógica-digital, que al estar compuesta por 10

bits, sólo son significativos 10 de los 16 bits de dicha pareja.

ADCON0 o 1Fh: Controla la operación del convertidor analógico-digital.

En la tabla 17 se observa la distribución y la asignación de los bits del

registro ADECON0.

TABLA 17

ADCS

1

ADCS

0 CHS2 CHS1 CHS0 GO/DONE’

-

ADO

N

MSB LSB

Asignación de los bits del registro de control del ADC. Fuente:

Angulo(2.000).

La función de cada bit se explica a continuación:

ADON: Activa el ADC. 1, lo activa, 0, lo prohíbe.

Page 70: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

80

GO/DONE’: Es el bit de estado de la conversión. En 1 se inicia la

conversión y mientras se mantenga en este estado la conversión se está

realizando, en 0 confirma el final de la conversión y la puesta del resultado

en la pareja de registros ADRESH y ADRESL.

CH0, CH1 y CH2: Seleccionan el canal por el que se introduce la señal

analógica a convertir, de acuerdo con el siguiente código (tabla 18):

TABLA 18

CH2-0 CANAL

000

Canal 0

(RA0/AN0)

001

Canal 1

(RA1/AN1)

010

Canal 2

(RA2/AN2)

011

Canal 3

(RA3/AN3)

100

Canal 4

(RA4/AN4)

101

Canal 5

(RE0/AN5)

Page 71: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

81

110

Canal 6

(RE1/AN6)

111

Canal 7

(RE2/AN7)

Selección del canal de entrada analógica. Fuente: Angulo

(2.000).

ADCS0 y ADCS1: Seleccionan la frecuencia de re loj que se emplea en la

conversión (véase la tabla 19)

TABLA 19

ADCS1-

0 FRECUENCIA

00 Fosc/2

01 Fosc/8

10 Fosc/32

11

FRC (procedente del oscilador RC

interno)

Asignación de la frecuencia del reloj del ADC. Fuente: Angulo (2.000).

OPTION o 81h: La misión principal de este registro es controlar TMR0

(contador de pulsos) y el divisor de frecuencia. En la tabla 20 se observa la

distribución de cada bit de este registro.

Page 72: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

82

TABLA 20

RBPU' INTEDG T0CS T0SE PSA PS2 PS1 PS0

MSB LSB

Distribución y asignación de los bits del registro OPTION. Fuente:

Angulo (1.999).

La función de cada bit se describe a continuación:

PS0, PS1 y PS2: La combinación de estos bits proporcionan el valor del

divisor de frecuencia para el TMR0 y el WDT (véase la tabla 21).

TABLA 21

PS2 PS1 PS0

División del

TMR0

División del

WDT

0 0 0 1:2 1:1

0 0 1 1:4 1:2

0 1 0 1:8 1:4

0 1 1 1:16 1:8

1 0 0 1:32 1:16

1 0 1 1:64 1:32

Page 73: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

83

1 1 0 1:128 1:64

1 1 1 1:256 1:128

Asignación del divisor de frecuencia para el TMR0 y el

WDT. Fuente: Angulo (2.000).

PSA: Asigna el divisor de frecuencias. 1, el divisor de frecuencias se le

asigna al WDT, 0, el divisor de frecuencias se le asigna al TMR0.

T0SE: Determina el tipo de flanco para T0CKI (en caso de ser habilitado

este reloj). 1, incremento del TMR0 cada flanco descendente, 0, incremento

del TMR0 cada flanco ascendente.

T0CS: Determina el tipo de reloj para el TMR0. 1, pulsos introducidos a

través de T0CKI (contador), 0, pulsos del reloj interno Fosc /4 (temporizador).

INTEDG: Flanco activo de la interrupción externa. 1, flanco ascendente, 0,

flanco descendente.

RBPU´: Resistencias de pull-up del puerto B. 1, desactivadas, 0,

activadas.

TRISA o 85h, TRISB o 86h, TRISC o 87, TRISD o 88h y TRISE o 89h:

Estos registros son utilizados para definir el sentido de cada línea de

determinado puerto, cada bit es bidireccional, es decir puede definirse bien

sea como entrada o como salida. Por ejemplo, si el bit 0 del registro TRISB

se coloca en 1, la línea RB0 funciona como entrada; si se coloca en 0 el bit 2

Page 74: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

84

de TRISC, la línea RC2 funciona como salida de datos. Es importante

entender que estos registros sólo funcionarán si el puerto a utilizar es

configurado como puerto de E/S de datos, es decir se debe deshabilitar

cualquier otra función que proporcione el puerto como el ADC, la

comunicación serial, interrupción externa, entre otras.

PIE1 o 8Ch: Contiene los bits que permiten o prohíben las interrupciones

provocadas por los periféricos internos del microcontrolador y que no

estaban contempladas en el registro INTCON. Para que los bits de PIE1

cumplan su función es necesario que el bit PEIE de INTCON sea 1, de esta

manera se habilita los periféricos que no se controlan con dicho registro. En

la tabla 22 se muestra la distribución de los bits de PIE1.

TABLA 22

PSPIE ADIE RCIE TXIE SSPIE CCP1IE TMR2IE TMR1IE

MSB LSB

Distribución y asignación de los bits del registro PIE1. Fuente: Angulo

(2.000).

TMR1IE: Habilita la interrupción para el TMR1 con su desbordamiento. 1,

lo habilita, 0, lo prohíbe.

Page 75: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

85

TMR2IE: Habilita la interrupción para el TMR2 con su desbordamiento. 1,

la habilita, 0, la prohíbe.

CCP1IE: Habilita la interrupción para el módulo CCP1 cuando se produce

una captura o comparación. 1, la habilita, 0, la prohíbe.

SSPIE: Habilita la interrupción el puerto serie síncrono. 1, la habilita, 0, la

prohíbe.

TXIE: Habilita la interrupción para el transmisor del USART cuando el

buffer se vacía. 1, la habilita, 0, la prohíbe.

RCIE: Habilita la interrupción para el receptor del USART cuando el buffer

se llena. 1, la habilita, 0, la prohíbe.

ADIE: Habilita la interrupción para el convertidor analógico-digital al

terminar la conversión. 1, la habilita, 0, la prohíbe.

PSPIE: Habilita la interrupción para el puerto paralelo esclavo al realizar

unas operación de lectura / escritura. 1, la habilita, 0, la prohíbe.

PIE2 o 8Dh: Contiene los bits de permiso de interrupción de las tres

causas que no figuraban en PIE1: fin de escritura en la EEPROM, colisión de

bus en el modo SSP y producción de una captura o comparación en el

módulo CCP2. En la tabla 23 se muestra la distribución de los bits de este

registro.

TABLA 23

Page 76: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

86

- 0 - EEIE BCLIE - - CCP2IE

MSB LSB

Distribución y asignación de los bits del registro PIE2. Fuente: Angulo

(2.000).

A continuación se explica la función de los tres bits asignados en el

registro PIE2:

CCP2IE: Habilita la interrupción en el módulo CCP2. 1, habilita la

interrupción, 0, prohíbe la interrupción.

BCLIE: Habilita la interrupción por colisión de bus en el modo SSP cuando

dos o más maestros tratan de transferir datos al mismo tiempo. 1, habilita la

interrupción, 0, prohíbe la interrupción.

EEIE: Habilita la interrupción por fin de escritura en la EEPROM de

datos.1, habilita la interrupción, 0, prohíbe la interrupción.

PCON o 8Eh: Hay seis registros que se utilizan para controlar el bus 12C:

SSPCON, SSPCON2, SSPSTAT, SSPBUF, SSPSR y SSPADD.

SSPCON2 o 91h: Este registro es llamado también registro de control2.

Todos sus bits son leíbles y escribibles y quedan en cero cuando ocurre un

reset. En la tabla 24 se observa la distribución de los bits de este registro.

TABLA 24

Page 77: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

87

GCEN ACKSTAT ACKDT

ACKE

N RCEN PEN RSEN SEN

MSB LSB

Distribución y asignación de los bits del registro SSPCON2. Fuente:

Angulo (2.000).

A continuación se explica la función de cada bit:

SEN: Inicia la condición de inicio (de colocarse en 1).

RSEN: Inicia la repetición de la condición de inicio (de colocarse en 1).

PEN: De colocarse en 1 genera la condición de parada en las líneas SCL

y SDA.

RCEN: Se coloca en 1 para habilitar el modo de recepción del maestro, 0

lo deshabilita.

ACKEN: En 1 se inicia la secuencia de generación de la condición de

reconocimiento. Este bit se borra automáticamente por hardware.

ACKDT: Es el bit de reconocimiento en el modo maestro en recepción. Si

vale 0, el maestro ha transmitido el bit de reconocimiento, si vale 1, no lo ha

hecho.

ACKSTAT: Cuando se coloca este bit en 1, significa que se ha recibido el

bit de reconocimiento, en 0 no lo ha recibido.

Page 78: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

88

SSPADD o 93h: El registro SSPADD guarda la dirección del esclavo.

Cuando se emplean direcciones de 10 bits, el usuario debe escribir el byte

alto de la dirección con el siguiente código donde A9 y A8 son los bits de

más peso: 1-1-1-1-0-A9-A8-0.

SSPSTAT o 94h: El registro de SSPSTAT contiene la información que

representa el estado de la transferencia de datos. Detecta las condiciones de

inicio y parada, así como la recepción del byte de la dirección. En la tabla 25

se muestra la distribución de los bits que conforman este registro.

TABLA 25

SMP CKE D/A# P S R/W’ UA BF

MSB LSB

Distribución y asignación de los bits del registro SSPSTAT. Fuente:

Angulo (2.000).

BF: Actúa como señalizador del buffer de datos. 1, indica que tiene un

dato y la transmisión está en proceso sin terminar. 0, indica que no tiene dato

o que la transmisión finalizó.

UA: Indica la longitud de la dirección. 1, indica que la dirección es de 10

bits y que hay que cargar el byte alto, según la codificación señalada en la

definición del registro SSPADD, 0, la dirección es de 7 bits.

Page 79: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

89

R/W’: Indica si se trata de una lectura/escritura’. 1, indica que se trata de

una lectura, 0, indica que se trata de una escritura.

S: Detecta la condición de inicio o Start. Lo indica con 1.

P: Detecta la condición de llegada del bit o STOP. Lo indica con 1.

D/A´: Indica si el dato recibido es de información o de dirección. 1, indica

que es de dato, 0, indica que es de dirección.

CKE: Selecciona los niveles de las patas RC3/SCK/SCL y RC4/SDI/SDA

en el modo maestro o multi-maestro.

SMP: En el modo maestro es un bit de muestreo que vale 1 cuando los

bits de datos se muestrean al final del período, o vale 0 cuando se hace en la

mitad del período.

TXSTA o 98h: Este registro se utiliza para el control de la sección

transmisora del USART. En la tabla 26 se representa la distribución y

asignación de los bits que conforman este registro.

TABLA 26

CSRC TX9 TXEN SYNC - BRGH TRMT TX9D

MSB LSB

Distribución y asignación de los bits del registro TXSTA. Fuente:

Angulo (2.000).

Page 80: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

90

A continuación se explica las funciones de cada bit del registro TXSTA:

TX9D: Es el bit 9 del dato a transmitir (en caso de seleccionarse el modo

de 9 bits para el dato).

TRMT: Bit de estado del registro de desplazamiento de transmisión. 1,

TSR está vacío, 0, TSR no está vacío.

BRGH: Bit de selección de la velocidad de baudios. 1, alta velocidad, 0,

baja velocidad. Este bit sólo es usado en el modo asíncrono.

SYNC: Bit de selección del modo del USART. 1, modo síncrono, 0, modo

asíncrono.

TXEN: Activa la transmisión en 1, en 0 la desactiva.

TX9: Habilita el bit 9 de transmisión. 1, selecciona transmisión de 9 bits, 0,

selecciona transmisión de 8 bits.

CSRC: Bit de selección del reloj. En modo asíncrono no influye, en modo

síncrono un 1 selecciona el reloj en modo maestro (reloj generado

internamente desde BRG), un 0 selecciona el reloj en modo esclavo (reloj

generado por una fuente externa).

SPBRG o 99h: Este registro es utilizado para controlar el valor del

Generador de Frecuencia en Baudios, BRG que posee el USART. El valor de

BRG es controlado por el contenido grabado en el registro SPBRG mediante

la siguiente ecuación: Frecuencia en Baudios = Fosc/Kx(X+1), donde X es el

valor cargado en SPBRG y K = 64 en baja velocidad (BRGH = 0) o 16 en

alta velocidad (BRGH = 1).

Page 81: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

91

ADCON1 o 9Fh: Se usa para configurar las patas del puerto A como

entradas analógicas o E/S digitales. En la tabla 27 se observa la distribución

de sus bits.

TABLA 27

ADFM - - - PCFG3 PCFG2 PCFG1 PCFG0

MSB LSB

Distribución y asignación de los bits del registro ADCON1. Fuente:

Angulo (2.000).

A continuación se explica la función de cada bit del registro ADCON1:

PCFG0-PCFG3 : Se usan para configurar las patas de los canales de

entrada al conversos como analógicas o como E/S digitales, de acuerdo a la

tabla 28:

TABLA 28

PCFG

3–0

AN7/

RE2

AN6/

RE1

AN5/

RE0

AN4/

RA5

AN3/

RA3

AN2/

RA2

AN1/

RA1

AN0/

RA0

VREF+ VREF

– CHAN/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

Page 82: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

92

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 ½

Determinación de los pines del PIC que actúan como entrada analógica o digital.

Fuente: Angulo (2000).

ADFM: Selecciona el formato del resultado de la conversión. Si vale 1, el

resultado se justifica en el registro ADRESH, que tendrá sus 6 bits de más

peso en 0; mientras que si vale 0 la justificación se realiza sobre el registro

ADRESL, que tendrá sus 6 bits de menos peso a 0. Esto significa que los 16

bits que forman la alineación de ADRESH y ADRESL unas veces tiene a 0

los 6 bits de más peso y otras los 6 bits de menos peso (alineación a la

derecha o a la izquierda).

EEDATA o 10Ch y EEDATAH o 10Eh: Estos dos registros se usan en

conjunto para escribir o leer una palabra de 14 bits en la memoria FLASH

como se ve en la figura 21, no se usan para operaciones que afecten la

memoria EEPROM.

EEADR o 10Dh y EEADRH o 10Fh: Al igual que con los datos que se

desean escribir o leer en la memoria FLASH, no es suficiente contener la

dirección de las localidades de dicha memoria en un solo registro, por lo que

se usa también la unión de dos registros: EEADR y EEADRH, donde

Page 83: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

93

EEADRH contiene los 5 bits de más peso de la dirección. En la figura 4 se

observa esta unión.

FIGURA 16

EEADRH (10Fh) EEADR (10D)

0 0 0 X X x x x x X x x X x x x

MSB LSB

DIRECCION DE 13 BITS

EEDATAH (10Eh) EEDATA (10Ch)

0 0 x x X x x x x x x x X x x x

MSB LSB

PALABRA DE 14 BITS (FLASH)

Diagrama de las uniones de los registros: EEADRH con EEADR

y EEDATAH con EEDATA. Fuente: Angulo (2.000).

EECON1 o 18Ch y EECON2 o 18Dh: Se utilizan para controlar las

operaciones de escritura y lectura de las memorias EEPROM Y FLASH, el

registro EECON2 no está implementado físicamente y sólo se utiliza en la

Page 84: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

94

operación de escritura. En la tabla 29 se muestra la estructura interna del

registro EECON1.

TABLA 29

EEPGD - - - WRERR WREN WR RD

MSB LSB

Distribución y asignación de los bits del registro EECON1. Fuente:

Angulo: (2.000).

A continuación se explica la función de cada bit de este registro:

RD: Se coloca en 1 para iniciar la lectura.

WR: Se coloca en 1 para iniciar la escritura y pasa a 0 automáticamente

cuando finaliza.

WREN: Permiso de escritura.

WRERR: Señalizador de error en escritura.

EEPGD: Selecciona el acceso a la memoria FLASH con 1 o a la memoria

EEPROM con 0.

17.- INSTRUCCIONES DE PROGRAMACIÓN DEL PIC16F877

En la tabla 30 se presenta todas las instrucciones que maneja el PIC -

16F877, el estado de los señalizadotes o banderas cuando se ejecuta dicha

instrucción, los ciclos de reloj, la sintaxis y una breve descripción de la

Page 85: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

95

función que cumple cada una de ellas.

TABLA 30

INSTRUCCIONES QUE MANEJAN REGISTROS

SINTAXIS OPERACIÓN CICLOS

FORMATO 14

BIT SEÑALIZADORES

ADDWF f,d Suma W y f 1 00 0111 dfff

ffff C,DC,Z

ANDWF f,d AND W con f 1 00 0101 dfff

ffff Z

CLRF f Borra f (Pone todos los

bits a 0) 1

00 0001 1fff

ffff Z

CLRW --- Borra W 1 00 0001 0xxx

xxxx Z

COMF f,d Complementa f

(Invierte) 1

00 1001 dfff

ffff Z

DECF f,d Decrementa f 1 00 0011 dfff

ffff Z

INCF f,d Incrementa f 1 00 1010 dfff

ffff Z

IORWF f,d OR entre W y f 1 00 0100 dfff

ffff Z

Page 86: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

96

MOVF f,d Mueve f 1 00 1000 dfff

ffff Z

MOVWF f Mueve W a f 1 00 0000 1fff

ffff ---

NOP --- No opera 1 00 0000 0xx0

0000 ---

RLF f,d Rota f a la i zq. a través

del acarreo 1

00 1101 dfff

ffff C

RRF f,d Rota f a la dcha. a

través del acarreo 1

00 1100 dfff

ffff C

SUBWF f,d Resta W a f 1 00 0010 dfff

ffff C,DC,Z

SWAPF f,d Intercambia nibbles 1 00 1110 dfff

ffff ---

XORWF f,d XOR de W con f 1 00 0110 dfff

ffff Z

INSTRUCCIONES QUE MANEJAN BITS

BCF

f,b Borra bit de f 1

01 00bb bfff

ffff ---

BSF

f,b Pone a 1 el bit f 1

01 01bb bfff

ffff ---

Page 87: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

97

INSTRUCCIONES DE “BRINCO”

BTFSC

f,d

Explora un bit de f y brinca

si es 0 1(2)

01 10bb bfff

ffff ---

BTFSS

f,d

Explora un bit de f y brinca

si es 1 1(2)

01 11bb bfff

ffff ---

DECFSZ

f,d

Decrementa f y si es 0,

brinca 1(2)

00 1011 dfff

ffff ---

INCFSZ

f,d

Incrementa f y si es 0,

brinca 1(2)

00 1111 dfff

ffff ---

INSTRUCCIONES QUE MANEJAN OPERANDOS INMEDIATOS

ADDLW

k

Suma inmediata de literal

con W 1

11 111x kkkk

kkkk C,DC,Z

ANDLW

k

AND inmediato de literal

con W 1

11 1001 kkkk

kkkk Z

IORLW

k

OR inmediato de literal con

W 1

11 1000 kkkk

kkkk Z

MOVLW

k

Mueve a W un valor

inmediato 1

11 00xx kkkk

kkkk ---

SUBLW

k

Resta W de un literal

inmediato 1

11 110x kkkk

kkkk C,DC,Z

XORLW

k OR exclusiva con W 1

11 1010 kkkk

kkkk Z

Page 88: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

98

INSTRUCCIONES DE CONTROL Y ESPECIALES

CALL

k Llamada a subrutina 2

10 0kkk kkkk

kkkk ---

CLRWDT Borra o refresca al Perro

Guardián 1

00 0000 0110

0100 TO#,PD#

GOTO

k Salto incondicional 2

10 1kkk kkkk

kkkk ---

RETFIE Retorno de interrupción

(GIE=1) 2

00 0000 0000

1001 ---

RETLW

k

Retorno subrutina y carga

W=k 2

11 01xx kkkk

kkkk ---

RETURN Retorno de subrutina 2 00 0000 0000

1000 ---

SEP Pasa al modo de reposo 1 00 0000 0110

0011 TO#,PD#

Principales características de las 35 instrucciones del PIC16F877. Fuente: Angulo (1999).

A continuación se presenta en la tabla 31 la nomenclatura y símbolos

utilizados para la compilación del programa del PIC por el lenguaje MPASM

de MICROCHIP.

Page 89: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

99

TABLA 31

SIGNIFICADO

0xhh Es la forma que se usa para referenciar a los números hexadecimales

de dos dígitos (hh). F Representa la dirección en la memoria RAM de datos del registro fuente

D Es un bit que conforma el campo del formato de una instrucción que

indica el registro destino. Si d=0 es W, y si d=1 es f.

K Campo que contiene un valor inmediato, que puede ser un operando (8

bits) o una dirección para el PC (11 bits). X Valor indeterminado de un bit. Puede ser 1 o 0. ( ) Contenido. <> Campo de un bit de un registro. Por ejemplo: ESTADO <5>. E En el conjunto de Ejemplo: d ∈ [0,1]. [ ] Opciones.

Nomenclatura y símbolos utilizados por el lenguaje MPASM de Microchip.

Fuente: Angulo (1.999).

18.- MEMORIA DE DATOS EEPROM Y FLASH:

El PIC 16F877 contiene 8K de palabras de 14 bits de memoria FLASH

para el grabado del programa, si se diseña un programa que no utilice el total

de esta memoria, ésta se podrá utilizar para almacenar datos del programa.

También se destina como memoria de datos no volátil 256 bytes de memoria

EEPROM. La memoria de tipo FLASH y EEPROM ofrecen la característica

de no volatilidad, por lo que los datos almacenados allí se mantienen

guardados incluso al cortar la alimentación del PIC, a diferencia de la

memoria RAM donde al faltar la alimentación los datos que hay residen son

eliminados sin posibilidad de recuperarse. Angulo (2.000) señala que “La

propia aplicación se puede reprogramar según las condiciones externas. Es

Page 90: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

100

posible ampliar el área de la memoria de datos no volátil EEPROM con

posiciones libres de la memoria de código FLASH”(p.48). A continuación se

presenta un ejemplo de programa para la lectura de dato en la memoria

EEPROM.

Ejemplo 1: Diseño de programa que lee el dato contenido en la dirección

DIR de la memoria EEPROM y carga la parte baja del dato en DATOB y la

parte alta del dato en DATOA.

BCF STATUS,RP0 ; selección del banco 2 de la memoria RAM

donde se

BSF STATUS,RP1 ; se encuentra el registro EEADR

MOVF DIRA,W ; cargo a w la dirección alta del dato a buscar.

MOVWF EEADRH ; búsqueda de la dirección en el registro

EEADRH.

MOVF DIRB,W ; cargo a w la dirección baja del dato a buscar.

MOVWF EEADR ; búsqueda de la dirección en el registro EEADR.

BSF STATUS,RP0 ; selección del banco 4 de la memoria RAM

donde se encuentra.

; el registro EECON1

BCF EECON1,EEPGD ; selección de la memoria EEPROM.

BSF EECON1,RD ;selección de la opción de escritura.

BCF STATUS,RP0 ; selección del banco 2 de la memoria RAM

donde se encuentra.

Page 91: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

101

; los registros EEDATA y EEDATAH.

MOVF EEDATA,W ; introduce en W la parte alta del dato.

MOVWF DATOA ; coloca en DATOA el contenido de W.

MOVF EEDATAH,W ; Introduce en W la parte alta del dato.

MOVWF DATOB ; coloca en DATOB el contenido de W

En el caso de querer leer un dato contenido en la memoria FLASH

simplemente se debe cambiar las direcciones donde se ubica el dato,

cambiar la instrucción bcf EECON1,EEPGD por bsf EECON1,EEPGD, y

colocar debajo tres veces la instrucción nop (no operation) ya que el

procesador tarda tres ciclos de lectura para obtener el dato en la memoria

FLASH y cualquier instrucción es ignorada en ese tiempo.

B. DISPOSITIVOS PERIFÉRICOS

14. 3 Temporizadores + el WDT.

15. 2 Módulos CCP, para captura, comparación y modulación de ancho de

pulso (PWM).

16. Convertidor analógico – digital de 10 bits.

17. Puerto serie síncrono (SSP) con SPI e 12C.

18. USART.

19. Puerto paralelo esclavo (PSP).

Page 92: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

102

19.- LOS TEMPORIZADORES:

Angulo (1.999,p.93) señala que “ una de las labores mas habituales en

los programas de control de dispositivos suele ser determinar intervalos

concretos de tiempo, y recibe el nombre de temporizador (timer) el elemento

encargado de realizar esta función. También suele ser frecuente contar los

impulsos que se producen en el exterior del sistema, y el elemento destinado

a este fin se denomina contador”. Entonces por ser el microcontrolador un

componente utilizado en muchas ocasiones como dispositivo de control se

explican a continuación los tres temporizadores contenidos en el PIC16F877

y el WDT:

TMR0:

El temporizador TMR0 actúa de dos maneras diferentes:

1. Como contador de sucesos, que están representados por los impulsos

que se aplican al pin T0CKI. Al llegar al valor FFH se desborda el

contador y, con el siguiente impulso, pasa a 00H, advirtiendo esta

circunstancia activando un señalizador y/o provocando una

interrupción.

2. Como temporizador, cuando se carga en el registro que implementa al

recurso un valor inicial se incrementa con cada ciclo de instrucción

(Fosc/4) hasta que se desborda, o sea, pasa de FFH a 00H y avisa

poniendo a 1 un bit señalizador y/o provocando una interrupción.

Page 93: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

103

Para que el TMR0 funcione como contador de impulsos aplicados a la

patita T0CKI hay que poner a 1 el bit T0CS, que es el que ocupa la posición

5 del registro OPTION. En esta situación, el registro TMRO, se incrementa

con cada flanco activo aplicado en la patita T0CKI. El tipo de flanco activo se

elige programando el bit T0SE, que es el que ocupa la posición 4 del registro

OPTION (ver la tabla 20). Cuando se desea que TMR0 funcione como

temporizador el bit T0CS = 0.

A menudo explica Angulo (1.999, p. 94) el TMR0 precisa “controlar largos

intervalos de tiempo”, por lo que se necesita aumentar la duración de los

impulsos de reloj que les incrementa. Para cubrir este requisito Angulo

(1.999,p.95) señala que “ se dispone de un circuito programable denominado

Divisor de frecuencia, que divide la frecuencia utilizada por diversos rangos”.

El divisor de frecuencia actúa en el TMR0 como Pre-divisor, es decir, los

impulsos pasan primero por el divisor y luego se aplican al TMR0, una vez

aumentada su duración. Para asignar el divisor de frecuencia al TMR0 se

coloca en 0 el bit PSA del registro OPTION y para asignar el valor con el que

actuara el divisor de frecuencia se utilizan los bits PS0, PS1 y PS2 del mismo

registro.

TMR1:

El TMR1 es el único Temporizador / contador ascendente con un tamaño

de 16 bits, lo que requiere el uso de dos registros concatenados de 8 bits:

TMR1L o 0Eh y TMR1H o 0Fh, que son los encargados de guardar el valor

Page 94: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

104

del conteo en cada momento. Dicho valor evoluciona desde 0000h hasta

FFFFh, instante en el que se activa la bandera TMR1IF y se regresa al valor

inicial de 0000h. También, si se desea, se puede provocar una petición de

interrupción.

El valor contenido en TMR1H:TMR1L puede ser leído o escrito y los

impulsos de reloj que originan el conteo ascendente pueden provenir del

exterior o de la frecuencia de funcionamiento del microcontrolador (Fosc/4).

Señala Angulo (2.000) que “El TMR1 es capaz de funcionar de tres

formas: 1° como temporizador 2° Como contador síncrono 3° Como contador

asíncrono.”(p.88).

En el modo Temporizador el valor concatenado TMR1H:TMR1L se

incrementa con cada ciclo de instrucción (Fosc/4). En el modo contador, el

incremento se puede producir con los flancos ascendentes de un reloj

externo, cuya entrada se aplica a las líneas RC0 y RC1 del puerto C, o por

impulsos aplicados en la línea RC0.

Este temporizador al igual que el anterior también posee un predivisor (ver

tabla 7) y es posible reinicializarse desde los módulos CCP (ver la tabla 14)

El funcionamiento del TMR1 esta gobernado por el valor con el que se

programan los bits del registro T1CON (ver la tabla 7), que ocupa la dirección

10H de la memoria RAM.

Page 95: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

105

TMR2:

Es un temporizador ascendente de 8 bits, que se puede leer y escribir al

igual que los anteriores, y que también puede realizar funciones especiales

para la Puerta Serie Sincronía (SSP) (ver tabla 12) y con el modulo de

modulación de ancho de pulso (ver la formula del periodo de onda del

modulo PWM).

La señal de reloj del TMR2 es interna Fosc/4, y antes de ser aplicada

pasa por un predivisor de frecuencia con rangos de 1:1, 1:4 y 1:16. La salida

del TMR2 atraviesa un postdivisor de frecuencia con rangos de división

desde 1:1 a 1:16, pasando por los 16 valores posibles.

Al entrar el microcontrolador en modo de reposo o SEP, se detiene el

oscilador interno y al no existir la señal Fosc/4 deja de funcionar el TMR2.

Para controlar el funcionamiento del TMR2 se usa el registro T2CON (ver la

tabla 9).

20.- EL PERRO GUARDIÁN (WDT): Es un contador interno de 8 bits que

origina un reset cuando se desborda. Su control de tiempo es independiente

de los anteriores temporizadores y esta basado en una simple red R-C. Su

actuación es opcional y puede bloquearse para que no funcione

programando el bit WDTE de la palabra de configuración.

Page 96: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

106

La temporización nominal con la que se halla programado el perro

guardián es de 18 ms, pero utilizando el divisor de frecuencia (ver tabla 21)

puede aumentarse hasta alcanzar los 2,3 segundos.

Para evitar que se desborde el perro guardián hay que refrescarle

previamente. Esto consiste en ponerle a cero mediante las instrucciones

clrwdt y sleep. El programador debe analizar las instrucciones de la tarea y

situar algunas de esas dos en sitios estratégicos por los que pase el flujo de

control antes que transcurra el tiempo asignado al WDT. De esta manera si el

programa se congela o se cuelga no se refresca el perro guardián y se

produce la reinicialización del sistema.

La instrucción clrdt borra al WDT y reinicia su cuenta. Sin embargo, la

instrucción sleep, además de borrar el WDT detiene al sistema y lo coloca en

un estado de reposo o bajo consumo. Si no se desactiva el perro guardián al

entrar en el modo de reposo, al completar su conteo se provocara un reset y

sacara al microcontrolador del modo de bajo consumo. Para desactivar al

perro guardián hay que escribir un 0 en el bit 2 (WDTE) de la palabra de

configuración (ver tabla 32).

En el registro STATUS existe un bit denominado TO’ que pasa a valer 0

después del desbordamiento del WDT.

Page 97: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

107

21.- MODULO DE CAPTURA, COMPARACION Y MODULACION DE

ANCHO DE PULSO:

El PIC16F877 dispone de dos módulos CCP, llamados CCP1 y CCP2 que

pueden realizar funciones de captura, comparación y modulación de pulso de

acuerdo al modo en que se configuren:

Modo captura:

La pareja de registros CCPxH y CCPxL (x corresponde a 1 o 2,

dependiendo al módulo a usar) de cualquiera de los módulos CCP1 o CCP2

captura el valor que tiene el temporizador TMR1 cuando ocurre un evento

especial en la pata RC2/CCP1 (para el módulo CCP1) o en la pata

RC1/T1OSI/CCP2 (para el módulo CCP2).

En este modo se debe colocar los pines RC2/CCP1 y/o RC1/T1OSI/CCP2

como líneas de entrada a través del registro TRISC. Los posibles eventos

que pueden ocurrir sobre esa (s) pata (s) son:

- Un flanco ascendente.

- Un flanco descendente.

- Cada 4 flancos ascendentes.

- Cada 16 flancos descendentes.

Estos eventos se configuran a través del registro CCPxCON (donde x es 1

o 2 dependiendo del módulo utilizado).

Page 98: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

108

Al efectuar la captura, se activa la bandera CCPxIF del registro PIRx.

También, de colocar en 1 el bit de permiso de interrupción CCPxIE del

registro PIEx, se genera una petición de interrupción cuando se carga en

CCPRxH-L el valor de TMR1.

Cuando se emplea cualquiera de los módulos como captura, el TMR1

debe estar configurado para trabajar como temporizador o como contador

son se debe configurar como contador asíncrono.

Modo comparación:

Se compara el valor de 16 bits del TMR1 con otro valor cargado en la

pareja de registros CCPxH y CCPxL de uno de los módulos CCP y cuando

coinciden se produce un evento en la RC2/CCP1 (para el módulo CCP1) o

en la pata RC1/T1OSI/CCP2 (para el módulo CCP2).

En este modo se debe colocar los pines RC2/CCP1 y/o RC1/T1OSI/CCP2

como salida.

Los acontecimientos que pueden ocurrir al coincidir el valor de TMR1 con

el cargado en la pareja PPCxH y CCPxL en la (s) pata (s) anteriormente

señaladas son:

- Pasar a nivel alto.

- Pasar a nivel bajo.

- No cambia su estado pero se produce una interrupción.

Page 99: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

109

Al igual que en el modo de captura, al coincidir los valores de

comparación se produce la activación de la bandera CCPxIF, El TMR1 debe

trabajar en modo temporizador o contador síncrono y se puede producir una

interrupción si el bit de permiso CCPxIE del registro PIEx está en 1.

De colocarse CCP1 en modo de “disparo especial” a través de los bits

CCP1M3-0, pone a 0 el TMR1 y el CCPR1 funciona como un registro de

período, capaz de provocar periódicamente interrupciones. Si en cambio se

coloca en el mismo modo el módulo CCP2, éste pone en 0 el TMR1 e inicia

una conversión en el ADC, con lo que también y, con carácter periódico,

puede realizar conversiones analógicas-digitales sin el control del programa

de instrucciones.

22.- MODO DE MODULACIÓN DE ANCHO DE PULSO (PWM):

Con este modo de trabajo, se consiguen impulsos lógicos cuyo período de

trabajo es de duración variable.

Para lograr el cambio de estado lógico en la (s) pata (s) RC2/CCP1 y/o

RC1/T1OSI/CCP2 se usa un comparador que cuando el valor de PR2 es

igual a la parte alta del TMR2, sale (n) un 1 en la (s) salida (s), momento en

que TMR2 toma el valor de 00h. Luego la (s) salida (s) se coloca (n) en 0

cuando otro comparador detecta la coincidencia del valor existente en

CCPRxH con el de la parte alta del TMR2. De esta manera, señala Angulo

(2.000) que “variando los valores que se cargan en PR2 y en CCPRxL (que

luego se traspasa a CCPR1H) se varía el intervalo de tiempo en el que el pin

Page 100: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

110

de salida está en 1 o 0” (p.109). Si se quiere trabajar con diez bits de

precisión se usan los bits 5 y 4 de CCPxCON en unión con CCPRxL y los

dos bits de menos peso del reloj interno con TMR2, haciendo que éste

cuente cada Tosc en vez de cada 4xTosc.

El tiempo que dura el período de la onda depende del valor cargado en

PR2, según la fórmula siguiente: Período = [(PR2) + 1]x4xToscxValor

Predivisor TMR2. También hay una fórmula para determinar el tiempo en que

la salida es: Anchura de impulso = (CCPR1L, bit 4 y 5 de

CCP1CON)xToscxValor predivisor TMR2.

Según explica Angulo (2.000) “Los pasos a seguir para reali zar la

configuración PWM son los siguientes: 1. Asignar el período cargando el

valor en PR2, 2. Asignar la anchura del pulso cargando el registro CCPR1L y

los bits 4 y 5 del CCP1CON, 3. Configurar la línea RC2/CCP1 como salida, 4.

Asignar el valor del predivisor y activar el TMR2 escribiendo en T2CON, 5.

Configurar el módulo CCP1 en modo PWM.

23.- CONVERTIDOR ANALÓGICO-DIGITAL:

El PIC16F877 contiene internamente un convertidor A/D de 10 bits de

resolución y 8 canales de entrada analógica. La resolución que tiene cada bit

procedente de la conversión tiene un valor que es función de la tensión de

referencia Vref, de acuerdo con la fórmula: Resolución = ( +Vref – (-Vref)) /

2^10 = Vref/1.024.

Page 101: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

111

Según explica Angulo (2.000) “si la Vref = 5VDC y la Vref- es tierra, la

resolución es de 4,8 mV / bit. Por tanto, a la entrada analógica de 0 V le

corresponde una digital de 00 000 000 y para la de 5V una de 11 111 111. La

tensión de referencia determina los límites máximo y mínimo de la tensión

analógica que se puede convertir” (p.129). Según especificaciones de

Microchip el voltaje diferencial mínimo que se le puede aplicar como voltaje

de referencia es de 2V, lo que arrojaría una resolución de 1,95 mV. Este

voltaje de referencia puede implementarse con la tensión interna de

alimentación VDD, o bien, con una externa que se introduce por la pata

RA3/AN3/V REF+, en cuyo caso la polaridad negativa se aplica en

RA2/AN2/V REF-.

A continuación se indican los pasos que se hay que efectuar para realizar

una conversión A/D:

1. - Configurar el módulo convertidor A/D:

- Configurar las patas que actuarán como entradas analógicas,

las que trabajan como E/S digitales y las usadas para la tensión

de referencia (ADECON1).

- Seleccionar el reloj de la conversión (ADCON0).

- Seleccionar el canal de entrada A/D (ADECON0).

- Activar el módulo A/D (ADECON0).

2.- Activar (en caso de que se desee) una interrupción cuando termine

la conversión el ADC:

- Borrar la bandera ADIF (PIR1).

Page 102: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

112

- Colocar en 1 el bit ADIE (PIE1).

- Colocar en 1 los bits habilitadores GIE y PEIE (INTCON).

3.- Tiempo de espera para que transcurra el tiempo de adquisición.

4.- Inicio de la conversión:

- Poner a 1 el bit GO/DONE’ (ADCON0).

5.- Tiempo de espera para completar la conversión A/D que puede

detectarse:

a. Por la exploración del bit GO/DONE’, que al completarse la

conversión pasa a valer 0.

b. Esperando a que se produzca la interrupción si se ha programado,

al finalizar la conversión.

c. Aunque no se permita interrupción, la bandera ADIF se colocará en

1 al finalizar la conversión.

6.- Leer el resultado en los 10 bits válidos de la alineación de

ADERESH y ADERESL y borrar la bandera ADIF.

7.- Para una nueva conversión regresar al paso 1 o al 2: El tiempo de

conversión por bit está definido por TAD (inverso de la frecuencia asignada

por los bits ADECS1 y ADCS0 del registro ADCON0). Por exigencias de

Microchip se debe esperar un mínimo de 2xTAD para reiniciar una nueva

conversión.

Explica Angulo (2.000) que “si se elige como reloj para la conversión al

oscilador RC interno del conversor A/D, éste puede seguir funcionando

cuando se introduce el microcontrolador al modo de reposo o SLEEP. En los

Page 103: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

113

restantes modos, se aborta la conversión y se desactiva el conversor A/D” (p.

134). En el ejemplo 2 se ofrece un programa general para el manejo del

convertidor A/D.

24. MODULO DE COMUNICACIONES SERIE SINCRONA: MSSP

Este módulo permite la comunicación de forma serial síncrona del

microcontrolador con otros microcontroladores y diversos periféricos como

memorias EEPROM serie, los convertidores A/D, los controladores de

display, etc. El módulo MSSP permite dos alternativas de comunicación serie

síncrona: SPI (Serial Peripheral Interface) y I2C ( Inter-Integrated Circuit).

El módulo MSSP consta básicamente de dos registros: el SSPSR, que es

un registro de desplazamiento que transforma la información serie en

paralelo y viceversa, y el registro SSPBUF, que actúa como buffer de la

información que se recibe o transmite.

El funcionamiento de este módulo es el siguiente (ver la figura 5): En

transmisión, el byte que se quiere transmitir se carga en el registro SSPBUF

a través del bus de datos interno y automáticamente se traspasa al registro

SSPSR, que va desplazando bit a bit y a una frecuencia asignada el dato.

En recepción , los bits van entrando de la misma forma que en la transmisión

y van cargando el registro SSPSR, al llenarse éste la información se traspasa

al registro SSPBUF, donde queda lista para su lectura.

Page 104: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

114

FIGURA 5

Estructura básica del módulo MSSP. Fuente: Angulo (2.000).

Modo SPI:

Permite la transferencia de datos de 8 bits en serie, que pueden ser

transmitidos y recibidos de forma síncrona y simultánea. Para el

establecimiento de comunicación se utilizan tres líneas: SDO (Serial Data

Out) que es la línea por donde se transmiten los datos, SDI (Serial Data In)

que es la línea por donde se reciben los datos y SCK (Serial Clock) que es la

línea por donde se transmite o recibe el reloj de sincronización. En caso de

8 8

8

ENTRADA DE BITS DE DATOS

SALIDA DE BITS DE DATOS

SINCRONISMO DE RELOJ

LECTUR ESCRITURA

SSPBUF

SSPSR

BUS INTERNO DE

MSB LSB

Page 105: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

115

RA5/SS SDI SDO CLK

RA5/SS SDI SDO CLK

que el PIC funcione como esclavo se utiliza una cuarta línea: SS´ que es

conectada en tierra. En la figura 6 se presenta el diagrama de conexión entre

un PIC maestro y dos esclavos para efectuar una comunicación en modo

SPI.

FIGURA 6

PIC ESCLAVO 1 PIC ESCLAVO 2

SS SS

PIC MAESTRO

RC3/SDO SDO

RC4/SDI SDI

RC5/SCK SCK

Comunicación SPI entre un PIC maestro y otros dos esclavos. Fuente:

Angulo (2.000).

Al comenzar el funcionamiento en el modo SPI, es necesario establecer

las condiciones de trabajo programando adecuadamente los bits del registro

SSPCON SSPSTAT, para determinar las siguientes especificaciones:

1.- Si el PIC trabaja en modo maestro, la línea de reloj SCK debe ser

salida.

Page 106: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

116

2.- Si el PIC trabaje en modo esclavo, la línea de reloj SCK debe ser

entrada.

3.- Hay que determinar la polaridad de la señal de reloj, es decir, su estado

de inactividad.

4.- Se debe precisar el momento en el que se toma la muestra del dato de

entrada, que puede ser en la mitad o al final del impulso.

5.- Flanco de reloj activo que puede ser ascendente o descendente de

SCK.

6.- Rango de trabajo del reloj en el modo maestro.

7.- Selección del modo esclavo, en caso de trabajar de esta forma.

Modo I2C:

El protocolo I2C utiliza únicamente dos líneas para la transferencia de

información entre los elementos que se acoplan al bus. Una de dichas líneas

es SDA, la cual es bidireccional y se dedica a transmitir y recibir los datos; la

otra línea es SCL y se encarga de transmitir o recibir la sincronización, ésta

es solo unidireccional (ver la figura 7). Cada dispositivo se identifica por una

única dirección y puede transmitir o recibir dependiendo de la operación que

se vaya a realizar.

Explica Angulo (2.000) sobre este modo que “Los dispositivos

pueden clasificarse en maestro(master o principal) o esclavo (slave o

secundario). El maestro inicia la transferencia de datos y genera la señal de

reloj. Cualquiera de los dispositivos diseccionados por un maestro se

Page 107: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

117

considera un esclavo”. El I2C es un bus multi-maestro; puede haber más de

un maestro conectado y controlando el bus.

La comunicación en el modo I2C se realiza de la siguiente forma: Cada

transferencia comienza con la condición de inicio (star) y termina con la

condición de parada (stop). Ambas condiciones las genera el maestro, y la

primera consiste en un flanco descendente en SDA mientras SCL tiene nivel

alto. La condición de parada es un flanco ascendente mientras SCL tiene

nivel alto.

Los datos que se colocan sobre la línea SDA son bytes de 8 bits, que

comienzan con el MSB y terminan con el bit de menos peso, al cual sigue en

el noveno bit la condición de Reconocimiento (ACK). Para este caso, el

transmisor pone SDA = 1, mientras que el receptor pone SDA = 0 en dicho

impulso de reloj, prevaleciendo sobre la línea el nivel bajo.

El primer byte que envía el maestro tras la condición de inicio contiene la

dirección del esclavo con el que se desea realizar la comunicación. El código

0 se usa para realizar una “llamada general” sobre todos los esclavos. La

dirección en realidad consta de 7 bits, estando el octavo a indicar la

operación a realizar (R/W´: Lectura/Escritura´). Tras ese byte inicial de

direccionamiento se envía otro byte que especifica las características de la

operación a realizar.

Hay seis registros que se utilizan para el control del bus I2C: SSPCON,

SSPCON2, SSPSTAT, SSPBUF, SSPSR y SSPADD.

Page 108: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

118

A continuación, se describe la secuencia de pasos que hay que realizar

en una transmisión del maestro:

1.- El usuario genera la condición de inicio, poniendo SEN = 1 (registro

SSPCON2).

2.- Se pone SSPI = 1 (registro PIR1). El módulo esperará que finalice la

operación de inicio antes de empezar otra.

3.- Se carga en SSPBUF la dirección del esclavo a transmitir.

4.- Se saca por SDA la dirección del esclavo.

5.- El esclavo genera el bit de reconocimiento ACK y en el maestro se

escribe en el bit 6 del registro SSPCON2.

6.- Se genera una interrupción al final del noveno impulso de reloj y

SSPIF = 1.

7.- El usuario carga en SSPBUF un dato de 8 bits.

8.- Se transmiten los bits por la línea SDA.

9.- Se recoge el bit de reconocimiento del esclavo y se escribe el bit

ACKSTAT de SSPCON2.

10.- El módulo genera una interrupción en el noveno impulso de reloj y pone

SSPIF = 1 (registro PIR1).

11.- Se genera la condición de parada con PEN = 1 en SSPCON2.

12.- Una vez completada la condición de parada, se genera una

interrupción.

Page 109: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

119

25.- MODULO USART:

Este módulo permite la comunicación de forma serial síncrona y

asíncrona, a diferencia del módulo MSSP que sólo permite la forma síncrona.

El módulo USART puede además funcionar como un sistema full duplex o

bidireccional asíncrono. En la figura 8 se observa un esquema del

comportamiento del USART en modo asíncrono y síncrono. En el modo

asíncrono, la transferencia de información se realiza mediante las líneas Tx

(transmisión) y Rx (recepción) a una frecuencia controlada internamente por

el USART. En el modo síncrono, la comunicación se realiza mediante las

líneas DT que traslada en los dos sentidos los bits y CK que transmite los

impulsos de reloj.

FIGURA 17

MODO ASINCRONO

RECEPCION

PERIFERICO

TRANSMISOR RC6/TX/CK RECEPTOR RC7/RX/DT

TRANSMISIO

Page 110: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

120

MODO SINCRONO

RELOJ

DATOS

PIC MAESTRO PIC ESCLAVO

Diagrama de bloque de la comunicación en forma serial síncrona y asíncrona

del USART . Fuente: A ngulo (2.000).

Para realizar la comunicación en forma asíncrona el programador debe

asignar al USART la frecuencia en baudios (bits por segundo) a la que

realizará la transferencia de datos.

La frecuencia se calcula mediante la formula:

Frecuencia en Baudios = Fosc/Kx(X+1)

Donde X es el valor cargado en el registro SPBRG y K = 64 en baja

velocidad (si se coloca el bit BRGH = 0) o 16 en alta velocidad (si BRGH =

1).

La comunicación asíncrona se realiza del siguiente modo: el dato que se

desea transmitir por el USART transmisor se deposita en el registro TXREG y

a continuación se traspasa al registro de desplazamiento TSR, que va

sacando los bits secuencialmente por la pata R6/TX/CK y a la frecuencia

RELOJ RC6/TX/CK RECEPTOR RC7/RX/DT

RELOJ RC6/TX/CK DATOS RC7/RX/DT

Page 111: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

121

establecida. Antes de enviar los datos de información, el USART envía al

receptor un bit de INICIO, y al finalizar de enviar toda la información añade

un bit de PARADA. El USART receptor recibe, uno a uno, los bits por la pata

RC7/RX/DT, elimina los bits de INICIO y PARADA y los de información una

vez que llenan el registro de desplazamiento RSR los traslada

automáticamente al registro RCREG, donde quedan disponibles para su

posterior procesamiento.

Los pasos a seguir para implementar una transmisión serial en modo

asíncrono en el USART es la siguiente:

1.- Se debe configurar las líneas RC6/TX/CK como salida y RC7/RX/DT

como entrada.

2.- Se coloca SYNC (registro TXSTA) = 0 y SPEN (registro TXSTA) = 1

para activar el USART en modo asíncrono.

3.- Si se desea trabajar con interrupción, se coloca TXIE (registro PIE1)

= 1, además de habilitar las interrupciones en general.

4.- Si el dato consta de 9 bits, colocar el bit TX9 (registro TXSTA) = 1. El

noveno bit se colocará en TX9D (registro TXSTA). Cuando un procesador

maestro intenta enviar información a uno de los esclavos el noveno bit que

envía es 1 para dar a conocer que el byte transmitido pertenece a la

dirección de uno de éstos.

5.- Se carga el valor X adecuado en el registro SPBRG, para producir la

frecuencia de trabajo deseada. Se debe controlar el bit BRGH (alta o baja

velocidad).

Page 112: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

122

6.- Activar la transmisión con TXEN (registro TXSTA) = 1. El bit TXIF

(registro PIR1) tendrá el valor 1, ya que TXREG se encuentra vacío.

7.- Cargar en TXREG el dato a transmitir. Comienza la transmisión.

Para la configuración del USART receptor se deben cumplir estos pasos:

1.- Cargar con el valor X al registro SPBRG, para trabajar a la misma

frecuencia del transmisor, controlar además el bit BRGH.

2.- Habilitar el USART en modo asíncrono con SPEN = 1 y SYNC = 0.

3.- Si se desea que se genere una interrupción con la llegada del bit

PARADA, se debe colocar RCIE (registro PIE1) = 1, además de habilitar las

interrupciones en general.

4.- Colocar RX9(registro RCSTA) = 1 para permitir la recepción del bit 9.

5.- Para detectar la dirección, colocar ADDEN (registro RCSTA) = 1.

6.- Se habilita la recepción colocando CREN (registro RCSTA) = 0.

7.- Al completarse la recepción RCIF (registro PIR1) se colocará en 1 y

se producirá una interrupción si ésta es habilitada.

8.- Leer el registro RCSTA y averiguar si se ha producido algún error.

9.- Leer los 8 bits del registro RCREG para determinar si el dispositivo ha

sido el direccionado.

10.- Si se ha producido algún error, colocar CREN (registro RCSTA) = 0,

para deshabilitar la recepción continua.

11.- Si ha sido direccionado el dispositivo, colocar ADDEN = 0 para

permitir la recepción de la información.

Page 113: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

123

En el ejemplo 3 se diseña un programa para configurar el USART como

transmisor.

26.- RECURSOS FUNDAMENTALES DEL MICROCONTROLADOR PIC-

16F877.

Palabra de configuración: La palabra de configuración es una posición de

la memoria de programa situada en la dirección 2007 H y accesible

únicamente durante el proceso de grabación. En el momento de escribir el

programa de aplicación en el microcontrolador es necesario grabar el

contenido de esta posición de acuerdo a las características del sistema. La

distribución y asignación de los 14 bits de la palabra de configuración y su

respectiva función se muestra en la tabla 32.

TABLA 32

13 0

CP1 CP0 DEBUG –– WRT CPD LVP BODEN CP

1

CP

0

PWRTE# WDTE FOSC1 FOSC0

Palabra de Configuración. Fuente: Angulo (2000).

CP1 Y CP0: Código de protección de la memoria de programa (véase la

tabla 33):

Page 114: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

124

TABLA 33

CP1 CP0 PROTECCIÓN DESDE... ...HASTA

0 0 0000H 1FFFH

0 1 1000H 1FFFH

1 0 1F00H 1FFFH

1 1 No hay código protegido en la memoria Flash

Asignación de la porción de memoria que se desea proteger. Fuente: Angulo

(2.000).

DEBUG: Modo depurador del circuito:

1 : Desactivado. RB7:RB6 actúan como líneas de E/S.

0 : Activado. RB7:RB6 actúan en modo depurador.

WRT: Permiso de escritura en la memoria flash.

1 : Se puede escribir en la parte no protegida de la memoria FLASH.

0 : Prohibición de escritura.

CPD: Código de protección de la memoria EEPROM de datos.

1 : No hay protección en la EEPROM.

0 : Protección del código en la memoria EEPROM.

LVP: Bit de permiso para programación en bajo voltaje.

1 : RB3/PGM tiene permitida la grabación en bajo voltaje.

0 : RB3/PGM funciona como E/S digital. La programación se realiza en

alto voltaje.

BODEN: Bit de permiso para el reset por caída de tensión:

Page 115: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

125

1 : BOR activada.

0 : BOR desactivada.

PWRTE#: Activación del temporizador «POWER-UP».

El temporizador «power-up» retrasa 72 ms la puesta en marcha o Reset

que se produce al conectar la alimentación al microcontrolador, con el fin de

garantizar la estabilidad del voltaje aplicado.

1 : Desactivado.

0 : Activado.

WDTE: Activación del perro guardián.

1 : Activado el WDT.

0 : Desactivado.

FOSC1 – FOSC2: Selección del oscilador utilizado:

1-1 : Oscilador RC.

1-0 : Oscilador HS.

0-1 : Oscilador XT.

0-0 : Oscilador LP.

• El Modo Reposo o de Bajo Consumo: Este es un modo de

funcionamiento del PIC que permite reducir el consumo de energía que

requiere y es ampliamente recomendado para las aplicaciones en las que

existe un largo tiempo de espera por parte del microcontrolador hasta que

ocurra un suceso asíncrono, como por ejemplo, la pulsación de una tecla. En

dichos períodos el microcontrolador permanece inactivo. Para entrar en el

modo de reposo es necesario ejecutar la instrucción SLEEP, colocando de

Page 116: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

126

esta forma al sistema en el estado de «congelado», requiriendo un mínimo

suministro de energía para mantener el estado del procesador sin ninguna

actividad, el consumo típico del PIC según Angulo (1999) es “de 2 mA,

aproximadamente, reduciéndose a menos de 10 µA en el modo Reposo, lo

que permite alimentarle con una pequeña pila durante casi dos años”, (p.

129), en otras palabras, en el modo de funcionamiento normal del PIC el

consumo de corriente es de aproximadamente 2 mA, y en el modo de

Reposo, esta corriente se reduce a 10 µA, lo cual es muy por debajo de su

valor típico.

Para salir del estado de Reposo existen tres alternativas:

a) Activación externa del MCLR’ para provocar un RESET.

b) Desbordamiento del Perro Guardián si quedó operativo en el modo

reposo.

c) Generación de una interrupción por activación del pin RB0/INT o por

cambio de estado en los 4 pines de más peso en el puerto B.

27.- TIPOS DE CONVERTIDORES ANALÓGICO / DIGITALES:

Dado que el numero de bits que se obtienen de un convertidor es finito, el

código de salida deberá ser siempre el correspondiente al valor mas cercano

que puede representarse mediante los bits, la conversión digital efectúa una

cuantificación en la entrada analógica, acotándola entre dos niveles

Page 117: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

127

consecutivos cuya distancia es precisamente el grado de resolución

obtenido.

Existen diversos tipos de convertidores en igual forma utilizados para

efectuar la conversión, en unos casos se efectúa la conversión directa, por

comparación contra una tensión de referencia, en otros casos se efectúa una

transformación a una variable intermedia, como puede ser el tiempo, también

puede efectuarse la conversión AD efectuando una conversión inversa DA,

usando al mismo tiempo una estructura de retroalimentación, si se usa lazo

cerrado reciben entonces el nombre de servoconvertidores, según sea el

método utilizado se obtienen distintas características de precisión, rapidez de

conversión y costo.

El convertidor analógico/digital usado en la presente investigación esta

internamente integrado en el PIC16F877.

28. VISUALIZADOR DE CRISTAL LIQUIDO (LCD):

El visualizador de cristal liquido (LCD) es un periférico de salida capaz de

visualizar caracteres alfanuméricos y caracteres especiales como signos de

puntuación y símbolos. El LCD tiene incrustado un microcontrolador

especifico que se encarga de procesar la informacion recibida y luego

visualizar los datos.

Page 118: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

128

El LCD usado en la presente investigación presenta los caracteres en una

matriz de 5 X 7 pixels y tiene la posibilidad de visualizar dos líneas de 16

caracteres cada una. Dispone de 14 terminales de conexionado, cuya misión

es la siguiente:

- D0-D7: reciben los caracteres ASCII a representar, asi como

ciertos códigos de control que regulan los efectos de

visualización. También por ellos, el modulo LCD envía

información sobre su estado interno.

- Vdd y Vss: son las terminales donde se aplica la alimentación

de + 5V y tierra respectivamente.

- Vo: esta terminal regula el contraste de la pantalla de cristal

liquido al aplicarle, mediante un potenciómetro, una tensión

variable comprendida entre 0 y + 5V.

- E: esta terminal en conjunto con R/W’ y RS controla las

funciones principales del modulo. Si E = 0, el modulo esta

desactivado y no funcionan las restantes señales.

- R/W’: esta terminal asigna la función de lectura o escritura del

modulo. Si R/W’ = 0, se escribe el modulo, y si R/W’ = 1, es

leído.

- RS: esta terminal selecciona el registro de control cuando RS

= 0, o de datos cuando RS = 1. Por D0-D7 se transfiere

información de control-comandos o datos de caracteres a

escribir.

Page 119: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

129

El modulo LCD responde a una serie de comandos con los que se pueden

gobernar sus distintas opciones de trabajo y que puede enviarle el

PIC16F877 por las líneas D0-D7 cuando RS = 0 y R/W’ = 0, para trabajar en

modo escritura. En la tabla 34 se muestra la información de los comandos y

los códigos correspondiente.

TABLA 34

COMANDO RS R/W’ E

DB7

DB6

DB5

DB4

DB3

DB2

CLEAR DISPLAY 0 0 1 0 0 0 0 0 0

HOME 0 0 1 0 0 0 0 0 0 ENTRY MODE SET 0 0 1 0 0 0 0 0 1

DISPLAY ON/OFF 0 0 1 0 0 0 0 1 D CURSOR DISPLAY

SHIFT 0 0 1 0 0 0 1 S/C R/L FUNCTIO

N SET 0 0 1 0 0 1 DL N F

SET CGRAM

ADDRESS 0 0 1 0 1 DIRECCIÓN DE

LA CGRAM SET

DDRAM ADDRESS 0 0 1 1

DIRECCIÓN DE LA DDRAM

READ BUSY FLAG

ADDRESS 0 0 1 BF DIRECCIÓN DE LA CGRAM O DDRAM

Page 120: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

130

WRITE DATA TO

DATA CGRAM O

DDRAM 0 0 1 CÓDIGO ASCII PARA LA

RAM

READ DATA TO CGRAM O

DDRAM 0 0 1 CÓDIGO ALMACENADO

EN RAM

Códigos de los comandos a los que corresponde el modulo LCD.

Fuente: Angulo (1.999, p.261).

La función de cada comando se describe a continuación:

CLEAR DISPLAY: borra la pantalla del módulo LCD y coloca al cursor

en la primera posición, que es la dirección 0. Por defecto pone el bit I/D = 1

para autoincremento de la posición del cursor.

HOME: pone el cursor en la dirección 0. No varía el contenido de la

memoria DDRAM que guarda los datos y que queda direccionada desde la

posición 0.

ENTRY MODE SET: establece la dirección del movimiento del cursor

(I/D); si se pone a uno el bit S, desplaza la visualización cada vez que se

escribe un dato. Si S = 0, la presentación es la normal.

DISPLAY ON/OFF CONTROL: activa o desactiva al display (D) y al

cursor (C), determina si este parpadea o no.

CURSOR DISPLAY SHIFT: mueve el cursor y desplaza la

Page 121: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

131

visualización sin cambiar el contenido de la memoria DDRAM.

FUNCTION SET: establece el número de líneas de la interfaz con el

bus de datos, siendo habitual que sea de 8 bits, con lo que DL = 1. Especifica

el número de líneas de caracteres, que para que sean 2 se debe colocar N =

1, y el formato de carácter es de 5x7 pixels, si F = 0.

SET CGRAM ADDRESS: el módulo LCD tiene definido los caracteres

ASCII, pero, además, permite que usuario pueda definir 9 caracteres nuevos.

Estos se guardan en la memoria CGRAM de 64 bytes. Cada carácter está

especificado con un número de bytes comprendido entre 6 y 16, según su

complejidad. Dichos bytes se almacenan en las posiciones sucesivas de la

CGRAM.

SET DDRAM ADDRESS: establece la dirección de la DDRAM a partir

de la cual todos los datos que se lean o escriban posteriormente lo harán

desde esa posición. Los 16 caracteres del primer renglón ocupan las

direcciones 80H–8FH, y los del segundo desde la C0H–CFH.

READ BUSY FLAG ADDRESS: se trata de un comando para la

lectura del flag busy indica si todavía se está ejecutando un comando previo

en el módulo LCD. Además, proporciona la dirección de la CGRAM o

DDRAM que se halla utilizado la última vez.

WRITE DATA TO CGRAM O DDRAM: se escriben en la DDRAM los

datos (caracteres ASCII) que se quieren visualizar. También se escriben en

la CGRAM los bytes de los nuevos caracteres creados por el usuario. Se usa

una memoria u otra según halla sido la instrucción de direccionamiento

Page 122: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

132

previa, que hará que se refiera a la CGRAM o a la DDRAM.

READ DATA TO CGRAM O DDRAM: igual que el comando anterior,

pero en esta ocasión en una operación de lectura.

El significado de los bits de la tabla 34 es el siguiente:

v S: si vale 1, desplaza la visualización cada vez que se escribe un dato.

Si vale 0, funciona en modo normal.

v I/D: si vale 1, se incrementa la dirección del cursor; si vale 0, se

decrementa.

v S/C: si vale 1, desplaza la visualización; si vale 0, se desplaza el

cursor.

v R/L: si vale 1, el desplazamiento es a la derecha; si vale 0, a la

izquierda.

v BF: si vale 1, el módulo LCD está ocupado; si vale 0, está disponible.

v DL: si vale 1, se trabaja con un bus de datos de 8 bits; si vale 0, con

bus de 4 bits.

v N: si vale 1, la presentación se hace en dos líneas; si vale 0, en una.

v F: si vale 1, el carácter es de 5x10 pixels; si vale 0, de 5x7.

v B: si vale 1, hay parpadeo del cursor (si está en ON).

v C: si vale 1, el cursor está activado (ON).

v D: si vale 1, la pantalla está activada.

v X: indeterminado.

Page 123: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

133

B.- DEFINICIÓN DE TÉRMINOS BÁSICOS

Ø Sistema: se refiere generalmente a todos los componentes de

control incluyendo el proceso, la medición, el controlador y el operador

de válvula junto con otros equipos adicionales que pueden contribuir a

la operación (Russel, 1978).

Ø CPU: unidad central de procesamiento incluye al procesador y a la

memoria principal de un computador, aunque puede referirse solo

como el procesador, en el caso de los microprocesadores

(Freedman,1986).

Ø Transmisión: instrumento capaz de detectar una variable en un

proceso mediante en elemento primario de medición y dar una salida

cuyo valor es equivalente y proporcional a la variable detectada (S.

Haykin, 1985)

Ø Traductor: un dispositivo que, bajo la influencia de una variación de

energía produce una correspondiente variación de nivel de otra forma

de energía instrumento capaz de convertir una señal neumática a

eléctrica viceversa (Freedman, 1986).

Ø Señal de salida digital: designa la señal de salida de instrumento

que representa la magnitud de la variable medida en forma de una

Page 124: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

134

serie de cantidades discretas codificadas en un sistema de notación

(Guerrero, 1996).

Ø Señal de salida analógica: representa la señal de salida del

instrumento. Es una función continua de la variable medida(Guerrero

1996).

Ø Señal de entrada: aquella que entra en el instrumento de medida,

unidad de control o sistema (S. Haykin 1985).

Ø Proceso industrial: consiste en una operación o series de

operaciones en las cuales se agrega o sustrae energía en algunas de

sus formas para mantenerlo en estado de balance o equilibrio

(Mollemkamp, 1990).

C.- SISTEMA DE VARIABLES

El sistema de variable de esta investigación la conforman: Simulador de

proceso, medición y control .

Sistema de variable (definición conceptual)

Simulador de proceso: Es la representación grafica de modelos matemáticos

que emulan las operaciones unitarias que ocurren en el.

Sistema de variable (definición Operacional)

Un simulador de proceso es la técnica que consiste en emplear un

modelo para tratar de identificar y/o reflejar el comportamiento de un sistema

real, en tal caso el sistema de simulación es una estrategia de prueba y error

Page 125: CAPITULO II MARCO TEÓRICO 1.- ANTECEDENTES …virtual.urbe.edu/tesispub/0061181/cap02.pdf · esta investigación ya que la predicción del nivel en los tanques se realizaba ... ya

135

para resolver problemas que resultan muy útil en la planificación. Belove,

1990.

Sistema de variable (definición conceptual)

Medición y control de nivel: según Costello (1979). Son aquellas donde la

entrada o salida (Nivel), es constante o varia lentamente en el tiempo, y

donde la tarea fundamental es mantener la salida en el valor deseado a

pesar de las perturbaciones presentes del sistema. El control de esta variable

es de gran importancia en los procesos industriales, ya que nos permite

determinar el balance adecuado de materias primas o de productos finales y

puntos óptimos de operación.

Sistema de variable (definición Operacional)

Un sistema de medición de nivel es aquel que proporciona

información constante sobre la cantidad de liquido existente dentro de un

envase. Este sistema es utilizado cuando se necesita conocer con exactitud

un determinado valor en cualquier momento.

Básicamente estos sistemas, están conformados por el elemento

medidor y una electrónica la cual permite mostrar la lectura.

Al integrarse a un sistema mayor y unidos efectúan un control de un

determinado proceso.