Está en la página 1de 116

UNIVERSIDAD DE CARABOBO

FACULTAD DE INGENIERA
ESCUELA DE INGENIERA ELCTRICA
DEPARTAMENTO DE SISTEMAS Y AUTOMTICA

DISEO DE UN MEDIDOR, TRANSMISOR Y


CONTROLADOR DE FLUJO EN BASE A TURBINA
TRABAJO ESPECIAL DE GRADO PRESENTADO A LA UNIVERSIDAD DE CARABOBO PARA OPTAR
AL TTULO DE INGENIERO ELECTRICISTA

Tutor Acadmico:
Prof. Efran Roca

Silvia Vera
Dugar S. Parra

Valencia, Mayo de 2008

Agradecimientos

En primer lugar a Dios, por darnos salud, paciencia y fortaleza para poder llegar a la
culminacin de este trabajo de tesis.

A nuestros padres y hermanos por su apoyo incondicional durante todas las fases de
esta tesis.

Al nuestro tutor el profesor Ing. Efran Roca, que sin su ayuda no hubisemos podido
realizar este trabajo, el fue nuestra gua acadmica a lo largo de todo este tiempo.

Al profesor Andrs Simone quien nos proporciono su ayuda en el momento ms


indicado, gracias a su conocimiento en la materia pudimos encontrar la mejor solucin en la
parte ms importante de nuestra tesis.

A nuestros familiares y amigos. A todos Gracias.

Silvia Vera y Dugar Samuel Parra

RESUMEN
La medicin de la variable flujo en el rea de control de procesos industriales y en el
aprendizaje de las teoras de control es fundamental, de ah surge la idea de realizar un
dispositivo para su medicin con miras a ubicarlo en el Laboratorio de Instrumentacin de la
Escuela de Ingeniera Elctrica de la Universidad de Carabobo, para contribuir con el proceso
de aprendizaje de todos los temas relacionados con la teora de control de procesos e
instrumentacin.

La medicin de flujo en base a turbina, se realiza a travs de la medicin de frecuencia


de la seal que proviene del rotor de la turbina, para luego mediante un algoritmo matemtico
obtener el flujo.

En este trabajo se desarrollo el diseo de un transmisor e indicador de flujo en base a


turbina a partir de la programacin de un microcontrolador. Dicho microcontrolador deba
cumplir con ciertas caractersticas indispensables para poder realizar la medicin de
frecuencia, principalmente amplia memoria de programa, poseer un terminal para captura y
suficientes terminales de entrada/salida. Por otro lado se realiz el diseo de una serie de
circuitos destinados a otras actividades como: acondicionamiento de la seal, salida de
comunicacin serial, salida 4-20mA, seal de alarma entre otras, para los cuales se disearon
las tarjetas de circuito impreso.

Para lograr estos objetivos de este trabajo se utiliz una herramienta especfica para
este tipo de proyectos llamada ISIS Software el cual contiene dos aplicaciones (PROTEUS Y
ARES) para realizar los circuitos esquemticos, simulaciones y diseo de tarjetas de circuito
impreso respectivamente. Tambin se utiliz el compilador de MikroBasic que nos permiti la
programacin del microcontrolador utilizado para este diseo.

Una vez realizada la fase de diseo del proyecto se procedi a realizar y verificar la
eficiencia del cdigo de programa del equipo, principalmente la medicin de frecuencia.
Tomando como caracterstica de diseo un rango de 0.8 a 10.000 Hz con una resolucin de

0.1 Hz se realizaron pruebas con el programa de simulacin nombrado anteriormente


resultando que el programa responda de manera estable a las exigencias propuestas.

A partir de los resultados obtenidos en las simulaciones se realizaron los diseos de las
tarjetas de circuito impreso, para completar lo que sera la unin del hardware y el software
del equipo.

Luego se hicieron las pruebas experimentales en el Laboratorio de Instrumentacin de


la Facultad de Ingeniera de la Universidad de Carabobo, tomando como elemento patrn el
Rotmetro que se encuentra en el mdulo de medicin de caudal, el sistema presenta un
rango de 0 a 30 GPM y una clase de +/- 1%. A la hora de realizar las pruebas del diseo del
transmisor, indicador y controlador de flujo llamado FT2500, resulto que responda bastante
bien indicando una medicin igual a la dada por el rotmetro. Dejando en entre dicho que
nuestro diseo no pueda tener una clase menor al elemento patrn.

Por otro lado se verific la salida del transmisor con un controlador ubicado en el
laboratorio tomndolo como elemento patrn con una clase de +/- 0.1%, arrojando excelentes
resultados de salida con respecto a la entrada.

Una de las caractersticas ms importante de este diseo es la versatilidad con la cual


se diseo, tomando en cuenta que puede ser utilizado en cualquier otro sistema distinto al que
se utilizo como base para el diseo (Laboratorio de Instrumentacin). Adaptndose a las
exigencias del sistema que se le presente a travs de la modificacin de las constantes
caractersticas para cada sistema, esto lo puede realizar el usuario a travs del teclado,
ubicndose en el men de funciones mostrado en la pantalla del equipo, en el momento que
este lo desee.

INTRODUCCIN
El trabajo especial de grado DISEO DE UN INDICADOR, TRANSMISOR Y
CONTROLADOR DE FLUJO EN BASE A TURBINA, tiene como objetivo general
disear un transmisor y controlador en base a un microcontrolador, el cual ofrezca las
caractersticas mnimas de control de proceso para la enseanza de estas teoras dentro del
laboratorio.

Para el desarrollo de este proyecto se utilizan las aplicaciones que poseen los
microcontroladores PIC, las cuales presentan en la actualidad soluciones rpidas y eficientes
para procesos de medicin y control de variables de procesos industriales, as como tambin
ciertas actividades acadmicas que permiten alcanzar cierto conocimiento en el rea de diseo
digital.

Este trabajo especial de grado se basa en la medicin de frecuencia, a fin de obtener la


velocidad del fluido, para calcular el caudal. Desarrollando as un medidor de caudal en base a
turbina, y a partir de all realizar una cantidad de operaciones, como:
-

Indicar la medicin en tiempo real de la variable caudal

Aplicar un algoritmo de control PI.

Salida de transmisin de 4-20ma.

Generacin de alarma.

Manejo de display y teclado.

Este trabajo se dividi en seis captulos desglosados de la siguiente manera:

Capitulo I

Contiene el planteamiento del problema, en este se presentan las razones que llevaron
a realizar este proyecto, los objetivos generales y especficos para el mismo y por ltimo el
alcance.

Capitulo II

Aqu se explican los procesos realizados para llevar a cabo este trabajo de grado.
Criterios de evaluacin de componentes, para ello una investigacin de los recursos existentes
y por ltimo la aplicacin de las tcnicas de diseo disponibles en la actualidad.

Captulo III

Incluye las bases tericas necesarias para adentrarse dentro de este desarrollo;
conceptos bsicos como Qu es un Microcontrolador? hasta la explicacin de programas
simuladores para los PICs, pasando por definiciones bsicas como sistemas SPI, familias ms
importantes de los PIC, etc. Teora de la medicin de caudal, basado en medicin de
frecuencia y teora de control de procesos.

Captulo IV

Se present el diseo del hardware, donde se observan las razones por las cuales se
escogi un PIC en especfico, adems de mostrar los circuitos que conforman al transmisor
haciendo una explicacin de cada uno de ellos.

Captulo V

El desarrollo del software es importante en este tipo de trabajo porque muestra la


lgica utilizada para programar al PIC, y se explica en detalle todos esos procesos que se van
llevando a cabo hasta lograr el objetivo final que es Medir Frecuencia, Indicar caudal y
Generar Control.

Captulo VI
En esta seccin se presentan los resultados de la investigacin; simulaciones

realizadas, pruebas con la tarjeta de desarrollo easy pic5 y los resultados de las pruebas en el
laboratorio de Instrumentacin de la Facultad de Ingeniera

CAPTULO I El Problema

1.1. Planteamiento del problema

El caudal es una de las variables de mayor inters en el control de procesos y una de


las que aporta un gran nmero de principios para su medicin. De ah la importancia que tiene
el conocimiento de los mltiples mtodos de medicin para esta variable.

En la actualidad, el Laboratorio de Instrumentacin II dispone nicamente de dos


mtodos de medicin para la variable flujo: por placa orificio y por elemento de turbina. Para
los momentos, el sistema de medicin por turbina se encuentra fuera de servicio, debido al
deterioro del instrumento transductor - indicador.

Surge entonces la idea primaria de poner de nuevo en funcionamiento al sistema de


medicin de flujo en base a turbina. Adicionalmente se plantea el diseo y construccin de un
instrumento indicador-transmisor de caudal, utilizando tcnicas digitales con diseo en base a
microcontroladores.

1.2. Justificacin

Desde el punto de vista acadmico, el trabajo involucra el uso de tcnicas de diseo


digital para una aplicacin de instrumentacin y control de procesos, siendo ste un aspecto
con gran nivel evaluativo en el proceso docente.

Por otro lado, como ya se mencion, la variable flujo es de sumo inters a nivel de
control de procesos industriales, por lo que cualquier trabajo relacionado, aportar una
documentacin importante de referencia sobre el tpico.

En adicin, el logro de este trabajo permitir a los estudiantes del Laboratorio de


Instrumentacin II, contar de nuevo con un segundo mtodo para la medicin de caudal,
aspecto que beneficiar el proceso de enseanza en el laboratorio.

1.3

Objetivos

1.3.1 Objetivos Generales

Disear un instrumento medidor, controlador y transmisor de caudal, en base a un


transductor de turbina, con diseo en base a microcontrolador.

1.3.2

Objetivos Especficos

1.3.2.1 Disear el hardware adecuado para el tratamiento de seales provenientes de


elementos primarios de caudal, basado en turbinas.

1.3.2.2 Disear e implementar el hardware y software para lograr la siguiente gamma de


caractersticas operativas:
a) Capacidad de medicin de frecuencia dentro del rango normal establecido para
elementos primarios de flujo en base a turbina.
b) Indicacin digital de 8 dgitos
c) Configuracin y calibracin mediante teclado frontal.
d) Capacidad de realizar funciones de transmisor de caudal con salida 4-20 mA.
e) Escalamiento programable, a fin de permitir la indicacin de la lectura en cualquier
unidad de medicin de caudal (ej. GPM, LPM, etc).
f) Capacidad de realizar la funcin de integrador de flujo a fin de lograr la totalizacin y
la indicacin de volumen.
g) Presentacin en caja normalizada para uso en panel, bajo dimensiones DIN .
h) Configuracin mediante teclado frontal.

i) Amplio soporte de configuracin y calibracin: dimetro de la tubera, filtrado digital


de la seal de entrada, alarmas y salida de corriente.

1.4

Alcance
Diseo de una unidad de medicin caudal, bajo las caractersticas de diseo
establecidas.
Pruebas efectivas en el Laboratorio de Instrumentacin de la Facultad de Ingeniera.

1.5. Recursos

Un elemento primario de medicin de caudal en base a generacin de frecuencia


(turbina o similar).
Caja de alojamiento industrial con dimensiones DIN .
Dos (2) microcontroladores y dems componentes electrnicos del equipo.
Sistema de desarrollo del microcontrolador.
Un teclado frontal de cuatro teclas.
Una Computadora.
Tarjeta de desarrollo Easy Pic5.

CAPTULO II METODOLOGA DE INVESTIGACIN

2.1

Tipo de Investigacin: Proyectiva

Tambin conocido como proyecto factible, consiste en la elaboracin de una propuesta


o modelo para solucionar un problema a partir de un proceso previo de indagacin. Implica
explorar, describir, explicar y proponer alternativas de cambio. Dentro de esta categora
entran las investigaciones que conllevan el diseo o creacin de algo, con base en un proceso
investigativo.

2.2

Situacin Actual
En este momento se encuentra un transductor e indicador de flujo en el laboratorio de

Instrumentacin de Procesos de la Facultad de Ingeniara de la Universidad de Carabobo, el

cual no se encuentra activo en la actualidad debido a que no funciona. Esto se verific en el


Laboratorio.

2.3

Metodologa de estudio
Recopilacin terica para el estudio de los medidores a turbina en lquidos y gases.
Este estudio abarca la longitud de la tubera, la turbina, la medicin de frecuencia y el
algoritmo PI que realizar las funciones de control de flujo. Tambin para predecir la
caracterstica de comportamiento de un medidor de turbina es necesario que sea
calibrado.
Definicin formal de las caractersticas operativas del instrumento; definiendo la
macro-estructura de Hardware as como tambin evaluando el tipo y cantidad de
recursos de I/O requeridos.
Estudio de las prestaciones de los diferentes tipos de microcontroladores PIC para la
escogencia del mismo.
Estudio e investigacin de las prestaciones de los lenguajes de programacin que
existen en la actualidad para trabajar con los PIC, tomando el ms accesible segn las
caractersticas del PIC.
Programacin del PIC de manera tal que pueda realizar funciones especficas para este
tipo de dispositivo. Este instrumento una vez construido debe ser capaz de realizar
funciones ajustables para programar el dimetro de la tubera, unidades de medicin,
nivel mnimo de flujo, puntos de control, puntos de alarma, factor de calibracin de la
turbina, calibracin de la salida de corriente y ajustes de sintonizacin del controlador
PID.
Realizar el diseo de los planos en Proteus 7.1. Dentro de este paquete de aplicaciones
realizar las simulaciones y circuitos esquemticos en Isis 7.1. Y el diseo de las
tarjetas de circuito impreso en Ares.
Ensamblaje de las tarjetas y los mdulos de software.
Realizacin de las pruebas necesarias para comprobar el funcionamiento del sistema.

CAPTULO III Marco Terico

3.1

Medicin de Caudal
Hoy en da la medicin de caudal en vapores, gases y lquidos es una de las

actividades ms importantes en el campo de la instrumentacin. En la operacin de una


planta, sin la medida de esta variable el balance de materia, el control de calidad y la
operacin misma de un proceso continuo seran casi imposibles de realizar.
La manera en la que la razn de flujo se cuantifica depende del tipo de fluido (slido,
lquido o gaseoso), del valor del producto que es medido, la exactitud requerida y el tipo de
proceso.
3.1.1 Clasificacin de los elementos de medicin de caudal

3.1.1.1 Instrumentos medidores de caudal de presin diferencial


3.1.1.1.1. rea fija:
-

Placas de Orificio:

Concntricas

Excntricas

Segmentadas

Anulares

Tobera (Nozzle)

Tubo Venturi

Tubo Pitot

Tubo Anubar (Pitot Modificado)

Codo Calibrado

- Tipo Restriccin
3.1.1.1.2. rea Variable:
-

Rotmetro

3.1.1.2. Medidores de Caudal para canales abiertos


-

Vertederos Rectangulares

Vertedero Triangular

Vertedero Trapezoidal

Vertedero Parshall

3.1.1.3. Medidores de Caudal de Desplazamiento Positivo


-

Disco oscilante

Pistn Oscilante

Pistn Alternativo

Medidor Rotativo

3.1.1.4. Medidores de Caudal de tipo Turbina [1]

3.1.2

Medicin de Caudal a Turbina

Los medidores de turbina consisten en un rotor que gira al paso del fluido con una
velocidad directamente proporcional al caudal. La velocidad del fluido ejerce una fuerza de
arrastre en el rotor; la diferencia de presiones debida al cambio de rea entre el rotor y el cono
posterior ejerce una fuerza igual y opuesta. De este modo el rotor est equilibrado
hidrodinmicamente y gira entre los conos anterior y posterior sin necesidad de utilizar
rodamientos axiales evitando as un rozamiento que necesariamente se producira en ese
punto. Ver Fig.3.1. [1]

La medicin del caudal en este tipo de aparatos se logra con base en la


proporcionalidad que existe entre el nmero de revoluciones o vueltas que dan las aspas del
dispositivo, y la velocidad del flujo que es transportada a travs del conducto.

La velocidad que adquieren las aspas al contacto con el flujo, se transmite a un sistema
de relojera o segn es el caso de pulsos elctricos que la transforman a travs de un
transductor de seales fsicas a seales de ingeniera, y as poder tener informacin referente a
volmenes, registro de caudal, entre otros.

Fig. 3.1. Medidor de tipo turbina.


Fuente: Multimedia didctico para la enseanza de Instrumentacin de Procesos I del
Departamento de Sistema y Automtica de la Escuela de Ingeniera Elctrica de la
Universidad de Carabobo.

En estos instrumentos se relaciona el nmero de vueltas del dispositivo con la


velocidad del flujo, y al contar con el dimetro de la tubera donde est el medidor se aplica la
ecuacin de continuidad para conocer el caudal. Este proceso para determinar el caudal por
medio de la ecuacin de continuidad es hecho internamente por el propio medidor.

Ecuacin para medir el flujo:

Q A V

(Ec. 3.1)

Donde:
Q= Cantidad de flujo (m3/s)
A= rea transversal (m2)
V=Velocidad del flujo (m/s)
La velocidad que genera la turbina ser captada por convertidores, para poder estudiar
la relacin que tiene la frecuencia del rotor con la cantidad de caudal que pase a travs de la
lnea, estos convertidores pueden ser:
-

De reluctancia: (reluctancia, es la resistencia que ofrece un circuito al flujo


magntico, siendo la longitud del circuito un factor que influye en la reluctancia). La

velocidad viene determinada por el paso de las palas individuales de la turbina a travs
del campo magntico creado por un imn permanente montado en una bobina
captadora exterior. El paso de cada pala vara la reluctancia del circuito magntico,
esta variacin cambia el flujo induciendo en la bobina captadora una corriente alterna
que, por lo tanto es proporcional al giro de la turbina.
-

Tipo inductivo: el rotor lleva incorporado un imn permanente y el campo magntico


giratorio que se origina induce una corriente alterna en una bobina captadora exterior.

En ambos casos, la frecuencia que genera el rotor de turbina es proporcional al caudal


siendo del orden de 250 a 1200 ciclos por segundo (ciclos/seg.) para el caudal mximo (ver
figura 3.2). Por ejemplo, si un rotor de seis palas gira a 100 revoluciones por segundo
(rev./seg.), generar 600 impulsos por segundo. El nmero de impulsos por unidad de caudal
es constante. [3]

Fig. 3.2. Curvas del medidor de turbina.


Fuente: Instrumentacin Industrial (Antonio Creus).

La turbina estar limitada por la viscosidad del fluido, debido al cambio que se
produce en la velocidad del perfil del fluido a travs de la tubera cuando aumenta la
viscosidad. En las paredes, el fluido se mueve ms lentamente que en el centro, de modo que
las puntas de las palas no pueden girar a mayor velocidad. En general, para viscosidades
superiores a 3-5 centistokes (unidad de medicin de la viscosidad de los lquidos. Se
considera al agua con una viscosidad de un centistokes y los dems lquidos se comparan con
este valor. Se utiliza principalmente para medir las viscosidades de los aceites) se reduce
considerablemente el intervalo de medida del instrumento. [3]

La exactitud es muy elevada, del orden 0,3 %. La mxima exactitud se obtendr con
rgimen laminar instalando el instrumento en una tubera recta de longitudes mnimas de 15
dimetros aguas arriba y 6 dimetros aguas abajo. Tendr excelente rangoabilidad 15:1 siendo
un instrumento adecuado para la medida de caudales de lquidos limpios o filtrados. Deber
instalarse de tal modo que no se vace cuando cesa el caudal ya que el choque del agua a alta
velocidad contra el medidor vaco lo daara seriamente. La sobrevelocidad por exceso de
caudal puede ser tambin perjudicial para el instrumento, por ltimo la frecuencia generada
por el medidor de turbina se transmite a un convertidor indicador o totalizador. [3]

3.1.2.

Transmisores

El propsito del transmisor es convertir la salida de un sensor en una seal lo


suficientemente intensa como para que se pueda transmitir a un controlador o a cualquier otro
dispositivo receptor.

Dicha seal vara su valor solamente como una funcin predeterminada de la variable
de un proceso; esta es captada por el transmisor a travs del elemento primario y transmitida a
distancia.

Existen varios tipos de seales de transmisin: neumticas, electrnicas, hidrulicas y


telemtricas. Las ms empleadas en la industria son las dos primeras; las seales hidrulicas
se utilizan ocasionalmente cuando se necesita una gran potencia y las seales telemtricas se
emplean cuando hay una distancia de varios kilmetros entre el transmisor y el receptor.
Los transmisores neumticos generan una seal neumtica lineal de 3 a 15 psig (la ms
usada) o de 0,2 a 1 bar, para el campo de medida de 0 a 100% de la variable. Los transmisores
electrnicos generan varios tipos de seales: 4-20, 1-5, 10-50 mA, etc.; la ms usada es la de
4-20 mA.

La relacin entre el valor mnimo y el mximo de la seal es de 1 a 5 tanto para la


seal elctrica como para la seal neumtica y el nivel mnimo seleccionado de 3 psi y 4 mA
elimina el problema de la presin o corriente residual respectivamente, que se presenta al
desconectar el elemento o al fallar la fuente de alimentacin.

En general, la mayora de los transmisores se pueden dividir en dos tipos: de balance


de fuerzas y de movimiento-balance, los cuales son los ms comunes y se utilizan
extensamente en la industria. El sensor puede estar o no integrado al transmisor.

3.2 . Microcontroladores

3.2.1

Definicin

El Microcontrolador es un circuito integrado programable que contiene todos los


componentes de un computador necesarios para realizar tareas complejas y gobernar una gran
cantidad de dispositivos y artefactos, en su interior posee las tres unidades funcionales de una
computadora, como: CPU, Memoria y Unidades de Entrada y Salida.

3.2.2

3.2.2.1

Perifricos Integrados en los Microcontroladores PIC

Convertidor A/D

Es usual trabajar el microcontrolador con seales analgicas, y estas deben ser


convertidas a formato digital es por eso que algunos incorporan un convertidor A/D, el cual se
utiliza para tomar los datos de varias entradas diferentes.
La resolucin depende de la cantidad de dgitos binarios que se usen para representar
al valor medido. Valores de 5, 8 o 12 bits son los usuales, pero en realidad no hay
limitaciones tericas pero si practicas que determinen un nmero mximo de bits por muestra.
Cuando mayor sea la cantidad de bits empleada, mayor ser la resolucin del conversor.
Existen dos tipos bsicos de conversores, si se clasifican segn la forma en que entregan los
datos digitalizados: seriales y paralelos.

Los conversores seriales tienen menos cantidad de terminales, ya que lee los bits del
valor medido de uno en uno, por un solo terminal. El microcontrolador debe ir enviando
pulsos de reloj a una determinada velocidad por un terminal del circuito integrado, y en otro

van apareciendo los datos medidos. Estos convertidores pueden ser de tantos bits segn la
familia que se escoja, poseen una tensin de referencia que puede ser interna o externa.

En algunos de los microcontroladores PIC la conversin slo se realiza con la entrada


de uno de sus canales, depositando el resultado en un registro para provocar una interrupcin
si es necesario.

Mtodo de aproximaciones sucesivas

Este tipo de convertidor es el ms utilizado cuando se requieren velocidades de


conversin entre medias y altas del orden de algunos microsegundos a dcimas de
microsegundos. En el diagrama de bloque de la Fig. 3.3 puede verse un sistema de conteo por
aproximaciones sucesivas, que bsicamente, est formado por un registro de desplazamiento
de n bits controlados por un circuito digital. Estos circuitos suelen suministrarlos los
fabricantes de Circuitos Integrados.

El proceso de conversin para este tipo de convertidores se basa en la realizacin de


comparaciones sucesivas de manera descendente o ascendente, hasta que se encuentra la
combinacin que iguala la tensin entregada por el digital analgico (D/A) y la de entrada.
Para el ejemplo de la Fig. 3.4 el arranque parte siempre de cero, el registro de aproximaciones
sucesivas, comienza poniendo a nivel lgico1 el bit de ms significativo, quedando el resto a
cero, o sea, forma el valor 100 (para este ejemplo se utilizarn slo tres bits), que corresponde
a la mitad de la mxima excursin de la tensin de entrada. Este valor es transformado a seal
analgica.

Clock
Vi

Circuito de
aproximaciones
sucesivas

Salida
Digital

Convertidor
D/A

Fig.3.3. Diagrama de bloques del mtodo de aproximaciones sucesivas.


Fuente: Elaboracin Propia

Si esta seal es mayor que el voltaje de entrada Vi, el comparador vara dando lugar a
una seal que hace que el registro vare su contenido, sustituyendo el 1 del bit ms
significativo por un
0 y colocando en el bit de peso inmediatamente inferior un 1, quedando inalterado el resto de
los bits (010).

Por el contrario si la seal fuese menor que Vi, el registro no modifica el bit de ms
significativo inmediatamente inferior a 1, dejado a 0 el resto de los bits (110). Tanto en un
caso como en otro, se efecta una nueva conversin D/A y luego se modifica el registro con el
mismo criterio. El proceso se repite hasta alcanzar el bit de menos significativo.

En el siguiente esquema, se muestra el diagrama de transiciones para 3 bits donde se


indica el proceso de bsqueda de la combinacin digital. El proceso se repetir n veces,
siendo n el nmero de bits del registro de aproximaciones sucesivas. Por lo tanto el tiempo
empleado en la conversin es independiente del valor de la seal analgica de entradas.

111

111
110

101

101
100

011

011
010

001

001
000

111

000

100

010

Fig.3.4 Diagrama de transiciones para 3 bits.

Fuente: Elaboracin Propia.

3.2.2.2

Temporizadores (Timers)

Una exigencia en las aplicaciones de control es la regulacin estricta de los tiempos


que duran las diversas acciones que realiza el sistema. El dispositivo tpico destinado a
gobernar los tiempos recibe el nombre de temporizador o "timer" y, bsicamente, consiste en
un contador ascendente o descendente que determina un tiempo determinado entre el valor
que se le carga y el momento en que se produce su desbordamiento o paso por 0. Es comn
que los microcontroladores tengan ms de un temporizador e incluso algunos poseen un
arreglo de contadores. [5]

En la figura mostrada anteriormente se observa un contador descendente, que una vez


cargado con un valor, se decrementa al ritmo de los impulsos de reloj hasta que llega cero.

Carga del Contaje

Impulsos de
Reloj

Contador Descendente

Fin del
Contaje

TEMPORIZADOR

Fig. 3.5 Esquema simplificado de un temporizador.


Fuente: Elaboracin Propia.

Los temporizadores o timers son uno de los perifricos ms habituales en los


microcontroladores y se utilizan para diversas tareas, como por ejemplo: la medicin de
frecuencia, implementacin de relojes, para el uso de otros perifricos que necesiten una base
estable de tiempo.
Generalmente los Microcontroladores ms bsicos poseen 2 Timer principales y segn
la familia, estos van aumentando en cantidad y complejidad, pero para los efectos de
ilustracin de cmo funciona un temporizador se tomar como referencia el TMR0 y el
TMR1 de cualquier microcontrolador PIC.

TMR0

Fig. 3.6 Esquema del TMR0.


Fuente: Data Sheet del PIC 18F4520.

TMR1

Fig. 3.7 Esquema del TMR1.


Fuente: Data Sheet del PIC 18F4520.

3.2.2.3

Recursos de Captura, Comparacin y Ancho de pulsos (CCP)

Los microcontroladores PIC poseen mdulos llamados CCP (Capture/Compare/


PWM). Cada mdulo de Captura/Comparacin/PWM est asociado a un registro de control y
un registro de datos. El registro de datos es comprimido en 2 registros: byte bajo y byte alto,
todos estos registros tienen la capacidad para ser escritos y ledos.

El mdulo CCP trabaja con un temporizador interno del microcontrolador escogido.


Algunos microcontroladores PIC tienen un recurso asignado a cada temporizador, por lo
general el de captura y comparacin es asignado a un solo temporizador y el de PWM a un
temporizador distinto.

Modo de Captura

Captura informacin de los 16 bits contenida en el Timer, siempre y cuando ocurra un


evento en los terminales definidos para esta tarea. El modulo CCP se encuentra asociado a un
puerto especfico segn el tipo de microcontrolador PIC que se utilice. Para la operacin de
captura los terminales asociados se deben configurar como entrada.
Los acontecimientos que suceden para que se lleve a cabo la operacin de captura son
los siguientes:
-

Flanco ascendente.

Flanco descendente.

Cada 4 cuatro flancos ascendentes.

16 Flancos ascendentes.

Al generarse una interrupcin de captura se activa una seal perteneciente al registro


relacionado con la interrupcin de captura (este terminal siempre se activa y la configuracin
de permisos la habilita el usuario desde el software), este genera una interrupcin para leer el
valor que se encuentra dentro del registro, en caso de que se produzca la interrupcin de
captura y no se haya ledo correctamente el contenido del registro se borra y pasa a esperar
una nueva interrupcin de captura.

Una aplicacin del modo de captura puede ser la medicin de los intervalos de tiempo
que existen entre los pulsos que llegan a un determinado terminal de entrada.

Modo de Comparacin

Cuando un mdulo CCP trabaja en la operacin de comparacin, el contenido del


registro se compara continuamente con el valor del Timer asociado para esta operacin. Una

vez configurado el terminal del puerto donde se va a trabajar como salida y coinciden ambos
valores, puede cambiar a un valor lgico 1, a 0 o bien no variar, pero de igual forma se
activar una seal, y si el bit de permiso esta activado se genera una interrupcin.

Modo de Ancho de Pulsos (PWM)

En este modo el terminal que se encuentre programado como salida, varia entre 0 y 1 a
intervalos variables de tiempo. Cuando el valor del registro asociado coincide con los bits ms
significativos del Timer asociado para este modo, el terminal mencionado pasa a 1 y el Timer
toma el valor 0 y reanuda la cuenta. El contenido del registro CCPRxL pasa a CCPRHxH y se
compara con el Timer. Cuando ambos coinciden en el terminal involucrado pasa a 0 y se
repite la secuencia.

3.2.2.4

USART

Es el acrnimo de Universal Synchronous / Asynchronous Transmitter (Transmisor y


Receptor Sincrnico/Asincrnico Universal). Este perifrico trabaja con la transmisin de
datos en formato serie, utilizando tcnicas de transmisin sincrnica o asincrnica, segn se
configure el perifrico.

Este perifrico generalmente se confunde con algunos de los estndares de


comunicacin que lo utilizan para la interconexin entre equipos terminales de datos (ETD) y
equipos de circuito de datos (DCE), dentro de estos estndares el ms popular es el EIA-232,
conocido tambin como RS-232; se utiliza para la interconexin mediante otros estndares
como el RS-485 y el RS-422.

Sus salidas, generalmente son del tipo TTL, aunque actualmente tambin se pueden
encontrar otros niveles lgicos dentro de la gama de valores aceptados por el estndar de la
IEEE, para sistemas digitales. Para comunicar el USART con otros dispositivos, se requiere el
uso de circuitos integrados como un MAX232 o MAX485 que permitan adecuar los niveles
de tensin, a los utilizados por RS-232 o RS-485. La caracterstica ms destacable de este tipo
de perifricos es que utiliza solamente dos terminales para el envo y recepcin de datos.

3.2.2.5

Comunicacin SPI

3.2.2.5.1

Comunicacin SPI (Serial Peripheral Interface)

El Bus SPI (del ingls Serial Peripheral Interface) es un estndar de comunicaciones,


usado principalmente para la transferencia de informacin entre circuitos integrados en
equipos electrnicos [17]. El bus de interfaz de perifricos serie o bus SPI es un estndar para
controlar casi cualquier electrnica digital que acepte un flujo de bits serie regulado por un
reloj. Incluye una lnea de reloj, dato entrante, dato saliente y un terminal de seleccin, que
conecta o desconecta la operacin del dispositivo con el que uno desea comunicarse. De esta
forma, este estndar permite multiplexar las lneas de reloj y datos.
Muchos sistemas digitales tienen perifricos que necesitan existir pero no ser rpidos.
La ventajas de un bus serie es que minimiza el nmero de conductores, terminales y el tamao
del circuito integrado. Esto reduce el costo de fabricar montar y probar la electrnica. Un bus
de perifricos serie es la opcin ms flexible cuando muchos tipos diferentes de perifricos
serie estn presentes. El hardware consiste en seales de reloj, data in, data out y chip select
para cada circuito integrado que tiene que ser controlado.
Muchos dispositivos seriales pueden ser controlados con esta combinacin de seales.
Los dispositivos se diferencian en un nmero predecible de formas. Unos leen el dato cuando
el reloj sube otros cuando el reloj baja. Algunos lo leen en el flanco de subida del reloj y otros
en el flanco de bajada. Escribir es casi siempre en la direccin opuesta de la direccin de
movimiento del reloj. Algunos dispositivos tienen dos relojes. Uno para capturar o mostrar los
datos y el otro para el dispositivo interno.

Fig. 3.8 Comunicacin sencilla maestro-esclavo.


Fuente: http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus.

Ventajas
-

Comunicacin full-duplex.

Mayor velocidad de transmisin que con IC (Inter Integrated Circuit) o SMBus


(System Magnament Bus).

Es un estndar flexible en que se puede tener un control absoluto sobre los bits
transmitidos.

No est limitado a la transferencia de bloques de 8 bits.

Eleccin del tamao de la trama de bits, de su significado y propsito.

Su implementacin en hardware es extremadamente simple.

Consume menos energa y su configuracin es ms simple que IC o que SMBus


debido que posee menos circuitos (incluyendo las resistencias pull-up).

No es necesario arbitraje o mecanismo de respuesta ante fallas.

Los dispositivos esclavos usan el reloj que enva el maestro, no necesitan por tanto
su propio reloj.

No es obligatorio implementar un transceptor (emisor y receptor), un dispositivo


conectado puede configurarse para que slo enve, slo reciba o ambas cosas a la
vez.

Usa menos terminales en cada chip/conector que una interfaz paralela equivalente.

Una seal especfica para cada esclavo (seal SS), las dems seales pueden ser
compartidas.

Desventajas
-

Consume ms terminales en cada chip que IC, incluso en la variante de 3 hilos.

El direccionamiento se hace mediante lneas especficas (sealizacin fuera de


banda) a diferencia de lo que ocurre en IC que se selecciona cada chip mediante una
direccin de 7 bits que se enva por las mismas lneas del bus.

No hay control de flujo por hardware.

No hay seal de reconocimiento. El maestro podra estar enviando informacin sin


que estuviese conectado ningn esclavo y no se dara cuenta de nada.

No permite fcilmente tener varios maestros conectados al bus.

Slo funciona en las distancias cortas a diferencia de, por ejemplo, RS-232, RS-485.

3.2.3

Memoria
En los microcontroladores la memoria no es abundante. Tpicamente la memoria de

programas no exceder de 16K de localizaciones de memoria no voltil para instrucciones y


la memoria RAM ni siquiera llegar a exceder los 5 Kilobytes.

La memoria RAM est destinada al almacenamiento de informacin temporal que ser


utilizada por el procesador para realizar clculos u otro tipo de operaciones lgicas. En el
espacio de direcciones de memoria RAM se ubican adems los registros de trabajo del
procesador y los de configuracin y trabajo de los distintos perifricos de los
microcontroladores PIC. Es por ello que en la mayora de los casos, aunque se tenga un
espacio de direcciones de un tamao determinado, la cantidad de memoria RAM de que
dispone el programador para almacenar sus datos es menor que la que puede direccionar el
procesador.

La repercusin ms importante del empleo de la arquitectura Harvard en los


microcontroladores PIC se manifiesta en la organizacin de la memoria del sistema. La
memoria de programa es independiente de la de los datos, teniendo tamaos y longitudes de
palabra diferentes [16].

3.2.3.1

Memoria de ROM de mscara


ROM de mscara. En este caso no se graba el programa en memoria sino que el

microcontrolador se fabrica con el programa, es un proceso similar al de produccin de los


CD comerciales mediante masterizacin.

El costo inicial de producir un circuito de este tipo es alto, porque el diseo y


produccin de la mscara es un proceso costoso, sin embargo, cuando se necesitan varios
miles o incluso cientos de miles de microcontroladores para una aplicacin determinada,
como por ejemplo, algn electrodomstico, el costo inicial de produccin de la mscara y el
de fabricacin del circuito se distribuye entre todos los circuitos de la serie y, el costo final de
sta, es bastante menor que el de sus semejantes con otro tipo de memoria.

3.2.3.2

EEPROM (Electrical Erasable Programmable Read Only Memory)

Fueron el sustituto natural de las memorias EPROM, la diferencia fundamental es que


pueden ser borradas elctricamente, por lo que la ventanilla de cristal de cuarzo y los
encapsulados cermicos no son necesarios.

Al disminuir los costos de los encapsulados, los microcontroladores con este tipo de
memoria se hicieron ms baratos y cmodos para trabajar que sus equivalentes con memoria
EPROM. Otra caracterstica destacable de este tipo de microcontrolador es que fue en ellos
donde comenzaron a utilizarse los sistemas de programacin en circuito o ICSP (In Circuit
Serial Progamming) que evitan tener que sacar el microcontrolador de la tarjeta que lo aloja
para hacer actualizaciones al programa.

3.2.3.3

Flash

En el campo de las memorias reprogramables para microcontroladores, son el ltimo


avance tecnolgico en uso a gran escala, y han sustituido a los microcontroladores con
memoria EEPROM.

A las ventajas de las memorias FLASH se le adicionan su gran densidad respecto a sus
predecesoras lo que permite incrementar la cantidad de memoria de programas a un costo
muy bajo. Pueden adems ser programadas con las mismas tensiones de alimentacin del
microcontrolador, el acceso en lectura y la velocidad de programacin es superior,
disminucin de los costos de produccin, entre otras. Lo ms habitual es encontrar que la
memoria de programas y datos est ubicada toda dentro del microcontrolador, de hecho,
actualmente son pocos los microcontroladores que permiten conectar memoria de programas
en el exterior del encapsulado. Las razones para estas limitaciones estn dadas porque el
objetivo fundamental es obtener la mayor integracin posible y conectar memorias externas
consume lneas de E/S que son uno de los recursos ms preciados de los microcontroladores.
A pesar de lo anterior existen familias como la INTEL 51 cuyos microcontroladores tienen la
capacidad de ser expandidos en una variada gama de configuraciones para el uso de memoria

de programas externa. En el caso de los PIC, estas posibilidades estn limitadas slo a
algunos microcontroladores de la gama alta, la Fig. 3.9 muestra algunas de las
configuraciones

para

memoria

de

programa

que

podemos

encontrar

en

los

microcontroladores. La configuracin (a) es la tpica y podemos encontrarla casi en el 100%


de los microcontroladores. La configuracin (b) es poco frecuente y generalmente se logra
configurando al microcontrolador para sacrificar la memoria de programas interna, sin
embargo el 8031 de INTEL es un microcontrolador sin memoria de programas interna. La
configuracin (c) es la que se encuentra habitualmente en los microcontroladores que tienen
posibilidades de expandir su memoria de programas como algunos PIC de gama alta [18].

Fig. 3.9 Algunas configuraciones para memoria de programas en microcontroladores.


Fuente: http://www.ucontrol.com.ar/wiki/index.php?title=El_microcontrolador.

Cuando se requiere aumentar la cantidad de memoria de datos, lo ms frecuente es


colocar dispositivos de memoria externa en forma de perifricos, de esta forma se pueden
utilizar memorias RAM, FLASH o incluso discos duros como los de las PC, mientras que
para los clculos y dems operaciones que requieran almacenamiento temporal de datos se
utiliza la memoria RAM interna del microcontrolador. Esta forma de expandir la memoria de
datos est determinada, en la mayora de lo casos, por el tipo de repertorio de instrucciones
del procesador y porque permite un elevado nmero de configuraciones distintas, adems del
consiguiente ahorro de lneas de E/S que se logra con el uso de memorias con buses de
comunicacin serie.

3.2

Medicin de Frecuencia

3.2.1

Integracin de pulsos

La medicin de la frecuencia de una seal peridica implica la determinacin del


nmero de ciclos por unidad de tiempo, es decir, es un proceso de conteo de pulsos generados
para condiciones iguales de la seal, dentro de un intervalo de tiempo patrn.[12]

Para la determinacin de la frecuencia incgnita, la seal de la entrada con frecuencia


fx (ver figura 3.10), se convierte en pulsos de igual perodo, los que ingresan a un contador,
cuyo tiempo de apertura (base de tiempo) est fijado por un elemento flip-flop biestable.

El oscilador patrn genera una onda de frecuencia estable, la cual se transforma en


una secuencia de pulsos. Estos pulsos comandan el flip-flop biestable definiendo as el
tiempo de apertura durante el cual se cuantifican los N pulsos correspondientes a fx.

Fig. 3.10 Diagrama de bloques de la integracin de pulsos.


Fuente: Instrumentacin digital - Medicin de frecuencia.

3.2.2

Medicin de perodo

Los microcontroladores PIC de la familia RISC, han sido diseados para proveer un
funcionamiento avanzado en la solucin de una variedad de aplicaciones. Para este trabajo se
utiliza la aplicacin de Timer asociado al modulo de captura, y el mdulo de Captura para la
medicin de frecuencia, mediante la medicin de perodo.

El proceso de medicin de perodo (ver Fig. 3.11.) es el siguiente:

El mdulo de Captura almacena el valor (de 16bits) del Timer en los registros de
Captura, en el momento que ocurre un evento en el terminal de Captura. Un evento
est definido como: cada flanco ascendente de la seal de entrada del terminal de
Captura. El inicio del proceso de medicin ocurre cuando es detectado el primer
evento, comenzando en este momento el conteo del Timer.

En el siguiente flanco de subida, el registro de Captura es cargado con el valor del


Timer, se guarda en la memoria RAM y las banderas de la interrupcin de Captura y
del Timer son limpiadas.

Si el perodo es ms grande que el overflow del Timer, el registro de overflow, causa


una interrupcin, y un contador especfico es incrementado.

Fig. 3.11 Medicin de Perodo.


Fuente: Nota de Aplicacin de Microchip AN545.

3.2.3

Anlisis de la Resolucin

La resolucin en la medicin de frecuencia, est definida por el tiempo de apertura


durante el cual se cuantifican los Npulsos correspondientes a Fx.

La base de tiempo elegida, define la resolucin del instrumento (mnimo incremento


de la cantidad medida que es capaz de detectar, dada en el instrumento digital por el dgito
menos significativo).

Para una frecuencia mxima Fx, la cantidad de tiempo a resolver vendr dado por:
1
Fx

T Re sol

Fx

1
Re sHz

(Ec.

3.2)
Donde:
Fx: es la frecuencia de la seal de la entrada, en Hz.
ResHz: es la resolucin requerida, en Hz.

A un perodo de reloj Tcy se requerir medir sobre Npulsos o periodos de la seal de entrada
Fx dado por:

Npulsos

Tcy
T Re sol

(Ec.

3.3)

Requiriendo un tiempo de integracin mnimo de:


T int

1
* Npulsos
Fx

(Ec.

T int

Tcy
Fx * T Re sol

(Ec.

3.4)

3.5)
Simplificando TResol:
T Re sol

Fx Re sHz Fx
Fx * ( Fx Re sHz )

(Ec.

T Re sol

Re sHz
Fx * ( Fx Re sHz

(Ec.

3.6)

3.7)

Sustituyendo en Tint y simplificando:


T int

Tcy *

Fx Re sHz
Re sHz

(Ec.

3.8)

Fx
Re sHz

Nmero de pulsos a resolver

Despreciando el termino ResHz, del numerador de la fraccin de la ecuacin anterior,


resulta la ecuacin final de Tiempo de integracin en segundos.

(Ec.
3.9)

Siendo

Tcy

4
Fcristal

3.10)
Fuente: Ing. Efran Roca (Notas de curso).

3.4

Algoritmos de control

3.4.1

Clasificacin de los Algoritmos de Control

Control Todo/Nada (ON/OFF)

Control Proporcional

Control Proporcional Derivativo (PD)

Control Proporcional Integral (PI)

Control Proporcional Integral-Derivativo (PID)

(Ec.

3.4.2

Control Todo/Nada (ON/OFF)

Es un esquema muy utilizado por su simplicidad y bajo costo de implementacin. En


un control Todo/Nada la salida del controlador toma slo dos posibles valores, lo que se
traduce en el elemento final de control, como un estado abierto o cerrado. Opera
satisfactoriamente en procesos con una lenta velocidad de reaccin y con tiempo de retardo
mnimo. Su principal problema es que la salida oscila repetidas veces cuando la variable
controlada se encuentra cerca del punto de ajuste. La causa primordial de estas oscilaciones es
el ruido que pueda afectar al sensor de medicin, que es interpretado como una fluctuacin
rpida por encima y por debajo del punto de ajuste. Si el elemento final de control no es un
dispositivo de estado slido, sino un relay o una vlvula, la rpida conmutacin que ocurre
pudiera deteriorarlo en poco tiempo. [3]

Por el problema mencionado anteriormente, el control Todo/Nada suele implementarse


con una banda diferencial o zona muerta. La salida del controlador no cambia de estado
mientras la variable de proceso se encuentre dentro de esta zona, ver Fig. 3.12.

Fig. 3.12. Salida de un controlador bajo esquema ON-OFF con Banda Diferencial.
Fuente: Elaboracin Propia.

Con la presencia de la banda diferencial se logra un tiempo de ciclo Todo/Nada ms


lento eliminndose as los efectos del ruido en la medicin.

3.4.3

Control Proporcional

El algoritmo de un control proporcional entrega una salida que vara en forma


proporcional al error (SP-PV), SP es el set point y PV es la variable de proceso. Para poner en
marcha un controlador proporcional se deben fijar los siguientes parmetros: el set point, la
banda proporcional (Pb) y el tiempo de ciclo (tc).

La banda proporcional se configura como un porcentaje de SP. Corresponde a una


banda de la variable de proceso situada por debajo del SP a lo largo de la cual, la salida
variar proporcionalmente al error (SP-PV), disminuyendo cuanto ms cercana sea la variable
de proceso al SP.

La salida del controlador en porcentaje viene dada por la siguiente formula:


Salida [100% * E / banda]

(Ec.

3.11)

Donde: banda

Pb * SP / 100

(Ec.

3.12)

( SP PV )

(Ec.

3.13)

La misma formula se puede escribir en trminos de la ganancia proporcional como:

Salida [ Kp * E ]

(Ec.

3.14)
Donde: Kp 100% /(Pb * SP / 100%)

(Ec.

3.15)

La constante Kp se conoce como la ganancia proporcional del control y es


inversamente proporcional a Pb.

En la figura 3.13 se observa el comportamiento tpico de un control proporcional, con


variable de proceso temperatura vs. tiempo. [19]

Fig. 3.13. Salida de un controlador proporcional.


Fuente: Desarrollo de sistemas de regulacin y control.

El control proporcional presenta el problema que la variable de proceso jams se


estabilizar justo en el valor del set point. En la prctica se estaciona siempre en un punto
dentro de la banda proporcional, produciendo as el error estacionario.

3.4.4

Control Proporcional Integral


Retomaremos ahora el problema inconcluso del error estacionario tratado en la

seccin anterior dedicada al control proporcional.

La forma efectiva de solucionar el problema del error estacionario es agregando al


control proporcional el termino Integral llamado tambin a veces automatic reset o reset
action, aqu se llamara accin integral.

El control ser el mismo proporcional, pero a la salida se le suma la accin integral,


que la corrige tomando en cuenta la magnitud del error y el tiempo que este ha permanecido.
Para ello se le programa al control una constante Ki, que es formalmente la cantidad de
veces que aumenta la accin proporcional por segundo.

La integral del error es simplemente la suma acumulada de los errores medidos por el
control cada segundo. [19]

La deduccin del algoritmo de control PI es como sigue:

La ecuacin del algoritmo PI es:


Mn (t )

Kp * E (t )

1
E (t )
Ti

(Ec.

3.16)
En donde:
Mn(t): es la salida aplicando la accin Proporcional + Integral
Kp: es la constante proporcional
Ti: es la constante de tiempo integral
E(t) viene dada por las siguientes ecuaciones:
Si la Accin es Directa:

En

PV SP
*100
Span

(Ec.3.17)
Si la accin es Inversa:

En

SP PV
*100
Span

(Ec.

3.18)

En el dominio de Laplace:

Mn( S )

K * E (S )

K E (S )
*
Ti
S

(Ec.

3.19)

Sacando factor comn y simplicando:

Mn( S )

S * Ti * K * E ( S ) K * E ( S )
S * Ti

(Ec.

3.20)

S * Mn( S )
3.21)

S * Ti * K * E ( S )
Ti

K * E (S )
Ti

(Ec.

S * Mn( S )

K * E (S )
Ti

K * S * E (S )

(Ec.

3.22)

Aplicando Diferencias Finitas:

Mn
Ts

En

K*

En
Ts

K
* En
Ti

(Ec.

3.23)
Mn

Mn

K * En

En

K * Ts * E n
Ti

(Ec.

3.24)
Se obtiene finalmente la salida del controlador PI:

Mn

Mn

K * ( En

En 1 )

K * Ts * En
Ti

(Ec.

3.25)

Salida como Controlador:


La salida en corriente puede expresarse segn la ecuacin 5.16:

mAout

mAlow

Mn
* (mAhigh
100

mAlow )
(Ec.

3.26)

Fuente: Ing. Efran Roca (Notas de curso).

3.5

3.5.1

Dispositivos auxiliares de Hardware

Pantalla de visualizacin LCD

Una pantalla de cristal lquido o LCD (acrnimo del ingls Liquid crystal display) es
una pantalla delgada y plana formada por un nmero de pxeles en color o monocromos

colocados delante de una fuente de luz o reflectora. A menudo se utiliza en pilas, dispositivos
electrnicos, ya que utiliza cantidades muy pequeas de energa elctrica. [20]

Fig. 3.14 Pantalla de Cristal Lquido de 2 lneas por 8 caracteres.


Fuente: www.microelect.com

3.5.1.1

Manejo de la Pantalla LCD

Existen en el mercado una enorme variedad de pantallas de cristal liquido (Liquid


Cristal Display, o LCD), de un precio accesible, con caractersticas comunes en cuanto a la
interfaz y programacin, gracias a que la mayora utiliza para comunicarse con el exterior el
mismo chip de la empresa Hitachi, el HD44780. Esto hace posible que con un puado de
instrucciones se puede manejar desde un sencillo display de una lnea de 16 caracteres a uno
de 4 lneas y 80 caracteres. [21]

Hitachi HD44780

Las caractersticas de un display LCD 2x16 tpico con HD44780 son, entre otras, una
alimentacin a partir de 5 voltios de corriente continua (algunos modelos soportan un rango
de 3V a 6.5V), un consumo tpico de 5 miliamperes (sin backlight). Disponen de un juego de
caracteres incluidos en la memoria ROM del LCD, formados a partir de una matriz de puntos
de 5x8, con 240 caracteres predefinidos (letras maysculas, minsculas, signos de puntuacin,
nmeros, etc.) y 8 caracteres definibles por el usuario. El cursor se puede elegir entre uno que
es un bloque de 5x7, y otro que es un guin, ambos fijos o titilando. Tambin es posible
mostrar y esconder el cursor a voluntad, y moverlo a cualquier posicin del display. Permite
el encendido y apagado del LCD mediante software, importante para ahorrar energa (por

ejemplo, si ha pasado un cierto tiempo sin que el operador presione alguna tecla, el display se
podra apagar y volver a encender cuando se pulse cualquier tecla).

Fig. 3.15 Aspecto del chip HITACHI HD4480.

3.5.1.2

El Hardware

El aspecto fsico de estas pantallas son bsicamente una pequea placa de circuito
impreso con un par de circuitos integrados (tipo gota) pegados en una de sus caras, y la
pantalla propiamente dicha en la otra, rodeada de una estructura metlica que la protege. Esta
placa casi siempre dispone de agujeros para poder fijar el conjunto a un chasis o gabinete sin
grandes complicaciones. Desde el punto de vista elctrico, hay un conector (a veces solo
agujeros metalizados donde soldar los cables) que tiene 14 terminales en los que no poseen
iluminacin propia (backlight) o 16 en los que la tienen.

Mediante las seales apropiadas enviadas y recibidas desde este conector, el display es
capaz de representar caracteres, mostrar o esconder un cursor, encender o apagar la luz
tarsera, borrar, etc.

3.5.1.3

Descripcin de los terminales

Como mencionamos, la gran mayora de los displays existentes en el mercado respetan


la misma distribucin de terminales. Igualmente, antes de conectar nada, debemos
asegurarnos de que as sea, para no daar de forma permanente el LCD.

Fig. 3.16 Vista trasera de tarjeta de circuito impreso con sus circuitos integrados.

Fig. 3.17 Terminales de una Pantalla sencilla LCD.

A continuacin se explicar la funcin que cumple cada uno de los terminales del
display.

Terminales 1,2 y 3: Estos terminales estn dedicados a la alimentacin y contraste del


LCD. Efectivamente, el terminal 1 (VSS) es el que se debe conectar al negativo
(masa) de la alimentacin, y el terminal 2 (Vdd/Vcc) es el que va unido al positivo (5
voltios). El terminal 3 permite el ajuste del contraste del panel. Se puede unir al
terminal 1 mediante un resistor de 220 ohms para obtener un contraste adecuado (pero
fijo) o bien utilizar un potencimetro o preset de 10 Kohm para variar el contraste a
gusto.

Terminales 4,5,6: Estos terminales son de alguna manera los que controlan el
funcionamiento del display. El terminal 4, tambin llamado RS (Registration Select)
es el que le indica al controlador interno del LCD que el valor presente en el bus de
datos es un comando (cuando RS=0) o bien un caracter para representar (cuando
RS=1).

Terminal 5: (R/W por Read/Write o Leer/Escribir) permite decidir si queremos


enviar datos al display (R/W=0) o bien nos interesa leer lo que el display tiene en su
memoria o conocer su estado (R/W=1). Por ltimo, el terminal 6 (E por Enable o
habilitado) es el que selecciona el display a utilizar. Es decir, podemos tener varios
LCD conectados a un mismo bus de datos (terminales 7-14) de control, y mediante E
seleccionar cual es el que debe usarse en cada momento.

Terminales 7, 8, 9, 10, 11, 12, 13, 14: Estos ocho terminales son el bus de datos del
controlador de la pantalla. Llamados DB0-DB7 son los encargados de recibir (o
enviar) los comandos o datos desde o hacia el display. DB0 es el bit de menos
significativo y DB7 es el ms significativo.

Estas pantallas soportan dos modos de trabajo: en uno de ellos reciben en DB0-DB7
los 8 bits del dato, y en el otro, llamado modo de 4 bits reciben los datos en dos mitades
(nibbles) por los terminales DB4-DB7, en dos pasos sucesivos. Si bien esto puede complicar
ligeramente la programacin, supone un ahorro de 4 terminales en el bus de datos, y esto en
microcontroladores con pocos terminales de E/S es muy til.

3.5.2

Conversin Digital Analgica (CDA)

Las magnitudes fsicas (como corriente y voltaje) son analgicas en su estado natural,
pero para efectos de procesado y transmisin, resulta ms conveniente representar en forma
digital, ya que los requerimientos de precisin pueden ser facilitados enormemente. De esta
forma, el esquema de procesado de un sistema electrnico adopta tpicamente el esquema de
la Fig 3.18.

Una seal elctrica procedente de un sensor o de otro sistema es convertida de


analgica a digital; una vez en ese estado es procesada y/o transmitida, y finalmente es
convertida de nuevo a magnitud analgica que actur sobre algn instrumento. De esta forma
se puede observar como, respecto a un sistema de transmisin y procesado totalmente
anagico, aparecen dos nuevos bloques, como son el convertidor digital/analgico o DA.

Seal
Analgica
Convertidor
Analgico
Digital

Sistema de
Transicin o
Procesado
de Seal

Seal
Analgica
Convertidor
Digital
Analgico

Fig. 3.18 Esquema tpico de circuito procesador de seal.

Fuente: Elaboracin propia.


Una palabra digital (D) se representa como una cadena de n bits b1, b2, , bn
representando en codificacin binaria un nmero valor, este puede adquirir 2n valores
comprendidos entre 0 y 1 n, equiespaciados n.

b1
21

b2
22

b3
b
... nn
3
2
2

(Ec.

3.27)

El bit b1 es el que tiene mayor contribucin al valor D, por lo que se denomina bit ms
significativo, mientras que en el extremo opuesto el bit bn es el menos significativo. En un
convertidor D/A, a partir de una palabra digital se obtiene una tensin a la salida proporcional
al valor D, y a una tensin de referencia del convertidor Vref. Si para generalizar aadimos un
posible factor de escala K, la tensin de salida de un convertidor D/A se expresa como:
Vout

KVref D

KVref

b1
21

b2
22

...

bn
2n

(Ec.

3.28)
Grficamente, la funcin de transferencia que relaciona la salida analgica con la
entrada digital adquiere el aspecto de una escalera con 2n escalones iguales, tal como se
muestra en la Fig 3.19.
Por lo tanto, la palabra digital expresar una tensin analgica con una resolucin
finita, y para tener una mejor resolucin se deber contar con un mayor nmero de bits. Sin
embargo, no tiene sentido aumentar arbitrariamente el nmero de bits si el nivel de ruido o la
imprecisin con la que podemos obtener la tensin de salida son superiores al valor de la
resolucin, ya que entonces los bits menos significativos contendrn una informacin que se
perder al realizarse la conversin a analgico. [23]

Fig. 3.19 Curva de transferencia ideal de un convertidor digital / analgico.


Fuente: Diseo de circuitos y sistemas integrados.
Donde:
-

KVref = Tensin de fondo de escala (Valor mximo).

K.(Vref /2n) = Resolucin (Valor del escaln de tensin que se produce entre dos
valores digitales consecutivos y es igual al valor de salida producido por el bit
menos significativo).
DR= 20 log 2n = Rango Dinmico (Es la relacin entre el fondo de escala y la

resolucin expresada en decibelios).


Cabe observar que por el hecho de que D slo puede adquirir 2n posibles valores, la

salida del convertidor no podr adquirir cualquier valor de tensin entre 0 y KVref,
sino slo valores equiespaciados en (KVref/2n)

3.5.2.1

Clasificacin de los convertidores D/A

3.5.2.1.1

Convertidor Digital/Analgico de R-2R

Anteriormente se ha visto que los CDA de resistencias ponderadas son adecuados para
conversiones de pocos bits. Para resoluciones mayores de 8 bits los valores hmicos
integrados son complicados de obtener y las derivas trmicas difciles de compensar. De ah
que se empleen modelos de redes R-2R, tambin con un formato paralelo. Estos poseen slo
dos valores distintos de resistencias y pueden extenderse a cuantos bits se quiera. La Fig. 3.21
muestra un circuito prototipo. Al igual que el modelo de resistencias ponderadas, consta de
una red de conmutadores, una referencia estable de tensin y la red o escalera R-2R de
precisin. La salida se conecta a un circuito aislador que permite conectarlo sin carga a la
siguiente etapa.

Fig. 3.20 Circuito R-2R en escalera.


Fuente: Instrumentacin Electrnica.

El anlisis de la escalera se realiza evaluando los equivalentes de Thevenin desde los


puntos sealados en la Fig. 3.20. Desde cualquiera de estos puntos la resistencia equivalente
resulta ser R. En efecto, por ejemplo, desde P0 es trivial ver que el equivalente paralelo es
2R//2R=R. Desde P1 hay que hacer algo ms pero tambin es fcil ver que vale R. Lo vemos
en la Fig. 3.21:

Fig. 3.21 Resistencias Equivalentes.


Fuente: Instrumentacin Electrnica.
Las tensiones equivalentes vistas desde los puntos son:

Hasta P0:

Vequ

Hasta P1:

Vequ

S 0 Vref

(Ec. 3.29)

S0
4

S1
2

Vref

(Ec. 3.30)

S0
8

Vequ

Hasta P2:

Vequ

Hasta PN-1:

S0
2N

S1
2N 1

S1
4

S2
2N 2

S2
2

...

Vref

SN 1
2

(Ec. 3.31)

Vref

(Ec. 3.32)

En efecto, desde P0 se ve una resistencia 2R||2R, y desde P1 queda una resistencia


equivalente de valor R. el resto de las cuentas se realiza con divisores de tensin. Finalmente,
la tensin de salida es:

Vequ

Vref
2

N 1

Si 2 i

(Ec. 3.33)

i 0

Los CDA de resistencias ponderadas y en escalera se emplean en procesos de


conversin lineales. Con el fin de mejorar el rechazo a las interferencias en seales de bajo
nivel se emplean CDA logartmicos. Una aplicacin tpica de estos convertidores es la
transmisin de voz. La mayora de los CDA comerciales incorporan retenedores de orden cero
(ZOH; Zero Order Hold). Esto significa que convierten la entrada binaria en su nivel
analgico y luego retienen el valor hasta que llega la siguiente muestra. El resultado es una
seal en forma de escalera. Se suele emplear un filtro reconstructor para suavizar la salida del
CDA. [24]

3.6 Programas

Auxiliares

para

el

desarrollo

de

aplicaciones

con

microcontroladores.

3.6.1

3.6.1.1

Programas ensambladores de bajo nivel

Lenguaje Assembler

El lenguaje ensamblador es un lenguaje de bajo nivel para programacin de


computadoras. Este implementa una representacin simblica de cdigos numricos de
mquinas y otras constantes necesarias para programar una arquitectura particular de

CPU. Esta representacin es generalmente definida por el fabricante del hardware, y es basada
en abreviaciones que ayudan a programar recordando instrucciones individuales, registros,
etc.

El lenguaje Ensamblador fue desarrollado por primera vez en los aos 50, y fue
referido a la segunda generacin de lenguajes de programacin. Con esto se elimin gran
parte de los errores de tiempo y dinero comparado con la primera generacin. Sin embargo
para 1980, su utilizacin ha sido en gran parte suplantado por lenguaje de alto nivel, en la
bsqueda de la productividad en programacin. Hoy en da, este lenguaje es usado
principalmente para manipulacin directa de hardware, para el acceso a los procesadores
especializados de instrucciones, o para hacer frente a problemas de rendimiento crtico.

El trmino ensamblador se refiere a un tipo de programa informtico que se encarga de


traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que
contiene cdigo mquina, ejecutable directamente por la mquina para la que se ha generado.
El propsito para el que se crearon este tipo de aplicaciones es la de facilitar la escritura de
programas, ya que escribir directamente en cdigo binario, que es el nico cdigo entendible
por la computadora, es en la prctica imposible. La evolucin de los lenguajes de
programacin a partir del lenguaje ensamblador origin tambin la evolucin de este
programa ensamblador hacia lo que se conoce como programa compilador. [25]

Funcionamiento
El programa lee el fichero escrito en lenguaje ensamblador y sustituye cada uno de los

cdigos nemotcnicos que aparecen por su cdigo de operacin correspondiente en sistema


binario para la plataforma que se eligi como destino en las opciones especficas del
ensamblador.

Tipos de Ensambladores
-

Ensambladores Bsicos: Son de muy bajo nivel, y su tarea consiste bsicamente en


ofrecer nombres simblicos a las distintas instrucciones, parmetros y cosas tales
como los modos de direccionamiento. Adems, reconoce una serie de directivas (o

meta instrucciones) que indican ciertos parmetros de funcionamiento del


ensamblador.
-

Ensambladores Modulares: Tambin llamado macro ensambladores. Descendientes


de los ensambladores bsicos, fueron muy populares en las dcadas de los 50 y los
60, antes de la generalizacin de los lenguajes de alto nivel. Hacen todo lo que
puede hacer un ensamblador, y adems proporcionan una serie de directivas para
definir e invocar macroinstrucciones (o simplemente, macros).

3.6.2

Programacin basada en alto nivel

Los lenguajes de programacin de alto nivel se caracterizan por expresar los


algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de la capacidad
ejecutora de las mquinas. En los primeros lenguajes de alto nivel la limitacin era que se
orientaban a un rea especfica y sus instrucciones requeran de una sintaxis predefinida. Se
clasifican como lenguajes procedimentales. Otra limitacin de los lenguajes de alto nivel es
que se requiere de ciertos conocimientos de programacin para realizar las secuencias de
instrucciones lgicas. Los lenguajes de muy alto nivel se crearon para que el usuario comn
pudiese solucionar tal problema de procesamiento de datos de una manera ms fcil y rpida.
La programacin en un lenguaje de bajo nivel como el lenguaje de la mquina o el
simblico tiene ciertas ventajas:
-

Mayor adaptacin al equipo.

Posibilidad de obtener la mxima velocidad con mnimo uso de memoria.


Pero tambin tiene importantes inconvenientes:

Imposibilidad de escribir cdigo independiente de la mquina.

Mayor dificultad en la programacin y en la comprensin de los programas.


Por esta razn, a finales de los aos 1950 surgi un nuevo tipo de lenguajes de

programacin que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas.
Estos lenguajes se llaman "de tercera generacin" o "de alto nivel", en contraposicin a los
"de bajo nivel" o de nivel prximo a la mquina. [26]

3.6.2.1

Principales lenguajes de alto nivel

3.6.2.1.1

Basic

BASIC es una familia de lenguajes de programacin. Fue originalmente ideado como


una herramienta de enseanza; se disemin entre los microcomputadores caseros a partir de la
dcada de 1980, y sigue siendo muy popular hoy en da, en muchos dialectos bastante
distintos del original.

BASIC es el acrnimo de Beginners All-purpose Symbolic Instruction Code; por


correspondencia con Thomas E. Kurtz. (Traducido al espaol: "cdigo de instrucciones
simblicas de propsito general para principiantes") y est ligado al nombre de un trabajo sin
publicar del co-inventor de l lenguaje, Thomas Kurtz). [27]

3.6.2.1.2

Lenguaje C

C es un lenguaje de programacin creado en 1972 por Ken Thompson y Dennis M.


Ritchie en los Laboratorios Bell como evolucin del anterior lenguaje B, a su vez basado en
BCPL. Al igual que B, es un lenguaje orientado a la implementacin de Sistemas Operativos,
concretamente Unix. C es apreciado por la eficiencia del cdigo que produce y es el lenguaje
de programacin ms popular para crear software de sistemas, aunque tambin se utiliza para
crear aplicaciones. Se trata de un lenguaje dbilmente tipificado de medio nivel pero con
muchas caractersticas de bajo nivel. Dispone de las estructuras tpicas de los lenguajes de alto
nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy
bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar
cdigo en ensamblador con cdigo C o acceder directamente a memoria o dispositivos
perifricos.

La primera estandarizacin del lenguaje C fue en ANSI, con el estndar X3.159-1989.


El lenguaje que define este estndar fue conocido vulgarmente como ANSI C.
Posteriormente, en 1990, fue ratificado como estndar ISO (ISO/IEC 9899:1990). La
adopcin de este estndar es muy amplia por lo que, si los programas creados lo siguen, el
cdigo es porttil entre plataformas y/o arquitecturas. En la prctica, los programadores
suelen usar elementos no-porttiles dependientes del compilador o del sistema operativo.

C es un lenguaje de programacin relativamente minimalista. Uno de los objetivos de


diseo de este lenguaje fue que slo fueran necesarias unas pocas instrucciones en lenguaje
mquina para traducir cada elemento del lenguaje, sin que hiciera falta un soporte intenso en
tiempo de ejecucin. Es muy posible escribir C a bajo nivel de abstraccin; de hecho, C se us
como intermediario entre diferentes lenguajes. En parte a causa de ser relativamente de bajo
nivel y de tener un modesto conjunto de caractersticas, se pueden desarrollar compiladores de
C fcilmente. En consecuencia, el lenguaje C est disponible en un amplio abanico de
plataformas (seguramente ms que cualquier otro lenguaje). Adems, a pesar de su naturaleza
de bajo nivel, el lenguaje se desarroll para incentivar la programacin independiente de la
mquina. Un programa escrito cumpliendo los estndares e intentando que sea porttil puede
compilarse en muchos computadores. [26]

Caractersticas Importantes
-

Un ncleo del lenguaje simple, con funcionalidades aadidas importantes, como


funciones matemticas y de manejo de ficheros, proporcionados por bibliotecas.

Es un lenguaje muy flexible que permite programar con mltiples estilos. Uno de los
ms empleados es el estructurado no llevado al extremo.

Un sistema de tipos que impide operaciones sin sentido.

Usa un lenguaje de preprocesado, el pre-procesador de C, para tareas como definir


macros e incluir mltiples ficheros de cdigo fuente.

Acceso a memoria de bajo nivel mediante el uso de punteros.

Interrupciones al procesador con uniones.

Un conjunto reducido de palabras clave.

Los parmetros se pasan por valor. El paso por referencia se puede simular pasando
explcitamente el valor de los punteros.

3.6.3

Programas compiladores

Un compilador es un programa informtico que traduce un programa escrito en un


lenguaje de programacin a otro lenguaje de programacin, generando un programa
equivalente que la mquina ser capaz de interpretar. Usualmente el segundo lenguaje es

cdigo mquina, pero tambin puede ser simplemente texto. Este proceso de traduccin se
conoce como compilacin.

Un compilador es un programa que permite traducir el cdigo fuente de un


programa en lenguaje de alto nivel, a otro lenguaje de nivel inferior (tpicamente lenguaje
mquina). De esta manera un programador puede disear un programa en un lenguaje mucho
ms cercano a como piensa un ser humano, para luego compilarlo a un programa ms
manejable por una computadora. [28]

3.6.3.1

MikroBasic

La empresa MikroElectrnica (Inc.) distribuye una herramienta compiladora para


trabajar con microcontroladores PIC llamada MikroBasic. Esta herramienta esta diseada para
darle al usuario una solucin fcil para el desarrollo de aplicaciones con microcontroladores y
los distintitos tipos de perifricos que estos puedan soportar.

Este software posee una avanzado IDE (Integrated Development Enviroment) o


Ambiente de Desarrollo Integrado, esta es una interfaz usada para realizar todas las tareas
relacionadas como escribir y editar cdigos, tareas de compilacin y programacin de los
Microcontroladores.

A continuacin se presenta un resumen de las herramientas ms importantes que posee


este software.

Ventanas y Sub-ventanas del IDE de MikroBasic

Fig. 3.22 Ventana del IDE de MikroBasic.


Fuente: Mikrobasic Help.

Editor de Cdigos (Code Editor)


En esta ventana el usuario se dispone a escribir el programa de uno o ms proyectos.

El Code Editor posee una herramienta muy prctica llamada Code Asistant donde se
escriben las primeras letras de una palabra y despus de presionar Ctrl+Space, todos los
identificadores vlidos que concuerdan con las letras que se escriben sern incitados en un
panel flotante. Con esto se escoge cualquiera de las coincidencias guardadas por el programa
con slo pulsar la tecla ENTER.

Fig 3.23 Ventana del Code Editor.


Fuente: Mikrobasic Help.

Explorador de Cdigos (Code Explorer)


La sub-ventana code Explorer est ubicada en la esquina superior derecha de la

ventana principal y provee una vista detallada de todos los tems declarados entro del cdigo
fuente.

Fig. 3.24 Ventana del Code Explorer.


Fuente: Mikrobasic Help.

Debbuger Watch Window


Est diseada para simular operaciones de Microcontroladores PIC mientras se corre

el programa, esta ventana muestra las variables y registros del PIC, con su valor y direccin.
Los valores son actualizados a travs de la simulacin, usando el men se puede adicionar o
remover los tems que se quieran ver en la pantalla.

Fig. 3.25. Ventana del Watch Window.


Fuente: Mikrobasic Help.

Stopwatch Window
Esta ventana muestra el contador de ciclos/tiempo desde la ltima accin de

Debugger. El cronmetro mide la ejecucin de tiempo (nmero de ciclos) desde el momento

en que el Debugger comienza, y puede ser reiniciado en cualquier momento. Delta


representa el nmero de ciclos entre la lnea de instruccin previa (lnea donde la accin del
Debugger fue realizada) y lnea de instruccin activa (donde la accin del debugger termina).

Fig. 3.26 Ventana del Stopwatch Window.


Fuente: Mikrobasic Help.

Ventana de Error
Muestra los errores detectados durante la compilacin de un programa. Esta se localiza

debajo de la ventana de cdigo y muestra la localizacin y tipo de error que el compilador


encuentra. El compilador tambin reporta advertencias, pero estas no afectan la salida slo los
errores pueden interferir con la generacin del archivo hexagesimal.

Fig. 3.27 Ventana del Error.


Fuente: Mikrobasic Help.

Aplicaciones de construccin
Compilacin
Cuando se crea un proyecto y se escribe el cdigo fuente, este se debe compilar para

garantizar la buena codificacin del mismo.

Output Files
Luego de una compilacin exitosa, el programa generar archivos de salida en la
carpeta escogida para guardar el proyecto (esta carpeta debe contener el archivo del proyecto
.pbp). Los archivos creados a partir de una compilacin son los siguientes:

Formato

Intel HEX

Descripcin

Tipo de
Archivo

Archivo usado para programar el

.hex

chip
Distribucin binaria de la aplicacin

Binary

que puede ser incluida en otros

.mcl

proyectos.
Vista de la memoria del
List File

PIC;Direccin de instrucciones ,

.lst

Registros, Rutinas y Etiquetas.


Archivo de assembler que puede ser
Assembler File

leido con nombres simbolicos,

.asm

extraidos de un archivo lista

Tabla 3.1 Archivos creados a partir de una compilacin.


Fuente: elaboracin propia.

Mensajes de Error
No. Mens

Mensaje

Error: %s no es un identificador vlido

Error: Tipo desconocido de %s

Error: Identificador %s no fue declarado

Error: %s esperado pero %s no encontrado.

Error: Argumento fuera de rango

Error: Error de sintaxis

Error: Archivo %s no encontrado

Error: Comando Invalido %s

Error: Parmetros insuficientes

10

Error: Muchos parmetros

11
12

Error: Muchos caracteres


Error: Parmetros actuales y formales deben ser
idnticos

13

Error: Instruccin invalida de ASM: %s

14

Error: Identificador %s ya ha sido declarado.

15

Error: Error de sintaxis en la expresin

16

Error: Definicin de archivo %s est corrompido

Tabla 3.2 Tabla de Error.


Fuente: Elaboracin propia.
Mensajes de Indirectos (Hint) y de Alerta (Warning)
No. Mens

Mensaje

Hint: La Variable %s ha sido declarada, pero no usada.

Warning: La Variable %s no esta inicializada.

Warning: Retorna el valor de la funcin %sno definido.

Hint: Constante %s ha sido declarada pero no usada.


Warning: Identificador %s elimina la declaracin el

modulo %s.

Tabla 3.3 Tabla de Mensajes Indirectos.


Fuente: Elaboracin propia.

Interrupciones
Las interrupciones pueden ser fcilmente manejadas por la palabra reservada

interrupt. MikroBasic implcitamente declara el procedimiento interrupt el cual no


permite que sea declarado.

MikroBasic guarda la siguiente SFR (special function register) en un stack cuando se accede a
la interrupcin y las muestra:

Familia PIC12: W, STATUS, FSR, PCLATCH.

Familia PIC16: W, STATUS, FSR, PCLATCH.

Familia PIC18: FSR (usa un contexto rpido para salvar WREG, STATUS, BSR)

Rutinas para llamar a las interrupciones


Es posible llamar a las funciones y procedimientos. El compilador toma en cuenta los

registros que estn siendo usados, ambos en interrupt y en main, y trabaja haciendo un
intercambio inteligente entre las dos, salvando slo los registros que han sido usados en
ambos.
Las funciones y procedimientos que no tengan su propio frame (ningn argumento o
variable local) pueden ser llamadas ambas desde la interrupcin y el main thread.

A continuacin se presenta un ejemplo manejando una interrupcin desde el TMR0:


sub procedure interrupt
counter = counter + 1
TMR0 = 96
INTCON = $20
end sub

En caso de habilitar mltiples interrupciones, se necesita verificar cual de las


interrupciones ocurren para luego ser procesadas con el cdigo apropiado (manejo de
interrupcin):
sub procedure interrupt
if TestBit(INTCON, TMR0IF) = 1 then
counter = counter + 1
TMR = 96
ClearBit es realizado como una funcin,
y puede ser llamado vithin como interrupcin
else
if TestBit (INTCON, RBIF) = 1 then
counter = counter +1
TMR = 96
ClearBit (INTCON,RBIF)
end if
end if
end sub

Lenguaje de referencia de MikroBasic


Organizacin de un Programa
MikroBasic posee una organizacin estricta de programa, a continuacin se presentan

modelos donde se pueden encontrar ejemplos de posibles programas a realizar.

Organizacin del mdulo principal


Bsicamente, la fuente principal posee 2 secciones: declaracin y cuerpo de programa.
Las declaraciones deben ser en el lugar propio del cdigo, organizados de manera ordenada,
de otra forma, el compilador no es capaz de comprender el programa correctamente.

Cuando se escriba el cdigo de un programa, se debe seguir el modelo presentado a


continuacin. El mdulo principal debe lucir de la siguiente manera.
program <nombre del programa>
include <incluye otros mdulos>
****************************************************
* Declaraciones (globales):
****************************************************
declaracin de smbolos
symbol . . .
declaracin de constantes
const . . .
declaracin de variables
dim . . .
declaracin de procedimientos
sub procedure procedure_name (. . .)
<declaraciones locales>
. . .
end

sub

****************************************************
* Cuerpo de Programa:
****************************************************
main:
escriba su cdigo aqu
end.

Organizacin de otros mdulos


Otros mdulos pueden iniciar con la palabra module, la seccin de implementacin

empieza con la palabra implements. A continuacin se presenta un ejemplo.


module <nombre del mdulo>
include <incluye otros mdulos>
****************************************************
* Interfaz (global):
****************************************************
declaracin de smbolos
symbol . . .
declaracin de constantes
const . . .

declaracin de variables
dim . . .
prototipo de procedimeinto
sub procedure procedure_name(. . .)
prototipo de funcin
sub function

function_name(. . .)

****************************************************
Implementacin:
****************************************************
implements
declaracin de constantes
const . . .
declaracin de variables
dim . . .
declaracin de procedimientos
Sub procedure procedure_name (. . .)
<declaracin local>
. . .
end sub
declaracin de funciones
sub function function_name (. . .)
<local declrations>
. . .
end sub
end.

Librerias
-

ADC Library (Librera para Conversin Analgica Digital).

CAN Library.

CANSPI Library.

Compact Flash Library.

EEPROM Library.

Ethernet Library.

SPI Ethernet Library.

Flash Memory Library.

Graphic LCD Library.

T6963C Graphic

IC Library .

3.6.4

Keypad Library .

LCD Library (Librera para Liquid Cristal Display).

LCD8 Library.

Manchester Code Library.

Multi Media Card Library.

OneWire Library.

PS/2 Library.

PWM Library.

RS-485 Library.

Software IC Library.

Software SPI Library (Librera para Serial Peripheral Interface)

Software UART Library.

Sound Library.

SPI Library.

USART Library.

USB HID Library.

Util Library.

Port Expander Library.

SPI GLCD Library.

SPI LCD Library.

SPI LCD8 Library.

SPI T6963C Graphic LCD Library.

Conversions Library.

Delays Library.

Math Library.

String Library

Programas emuladores y simuladores

El Proteus 7.1 una herramienta poderosa para simular programas escritos en alto nivel.
Que integra dos programas para la realizacin y simulacin de circuitos esquemticos y
tarjetas de circuito integrado.

El primero de ellos es el ISIS Software, encargado de realizar circuitos esquemticos


con una gran cantidad de perifricos, con una librera que contiene numerosos tipos de PICs
que estn en el mercado pasando por una gran cantidad de elementos pasivos, hasta llegar a
muchos elementos perifricos como pantallas, osciloscopios, ampermetros, entre otros; que
permiten a su vez una simulacin fiel del proyecto que se va a realizar.

El segundo es el ARES Software que se combina por una interfaz con el ISIS software
para el diseo de las PCB (tarjetas de circuito impreso por sus siglas en ingls) con una gran
cantidad de caractersticas que ayudan a mejorar el diseo de las tarjetas hasta llevarlo al nivel
profesional que el usuario necesite.

3.6.4.1

Isis Software

Isis en un programa de diseo asistido por computadora (mejor conocido en ingls


como CAD) el cual permite realizar desde la colocacin de componentes en un circuito
esquemtico, pasando por el ruteo de pistas para tarjetas, hasta llegar a las simulaciones ms
reales que permiten un desarrollo conceptual de todo tipo de proyectos de electrnica.

Ventanas del ISIS 7.1

Fig. 3.28 Vista principal del Isis 7.1.


Fuente: Isis Help

1._ Ventana de Edicin: En esta ventana se desarrolla el diseo esquemtico o


simulacin que se desee.
2._ Selector de Objetos: En este espacio se encuentran todos los elementos utilizados
en el diseo que se est realizando: PICs, resistores, capacitores, osciloscopios,
generadores de frecuencia, motores, teclados, pantallas, diodos, entre otros.
3._ Ventana de Visin: En esta ventana se encuentra una vista panormica de el
diseo en caso de estar utilizando zoom.

Libreras
ISIS Software posee una librera extensa que puede ser actualizada a travs de la web.

Fig. 3.29 Ventana de libreras del Isis 7.1.


Fuente: Isis Help

En esta ventana aparecen todos los elementos que posee el programa divididos por
categoras especficas y con un buscador de palabras que facilita la bsqueda de cualquier
elemento, ya sea por fabricante o por capacidad elctrica que tenga el mismo; adicionalmente,
en el espacio inferior derecho se observa si el elemento seleccionado posee o no un paquete
predeterminado para el ARES.

El programa ISIS permite crear cualquier dispositivo partiendo de uno ya existente y


modificar cualquier tipo de caractersticas que se desee y agregar el paquete PCB de su
preferencia para as conseguir cualquier diseo posible; ste y todos los elementos que se
creen se colocan en una librera especial para el usuario que tiene conexin con el ARES.

El explorador de diseo
El explorador de diseo (DE por sus siglas en ingls) es una herramienta que usa una

interfaz la cual permite navegar e inspeccionar el circuito esquemtico en cualquier etapa


durante el proceso de diseo y tiene la habilidad no slo de preguntar el estado actual de la
conexin del circuito, encapsulados, etc. Sino tambin navegar por todos los tems de inters
en ambos circuitos como el esquemtico y el PCB.
El DE puede mostrar informacin acerca del esquemtico de 2 formas:

Partlist View: Esta vista provee una representacin fsica del esquemtico, mostrando
las hojas, jerarquas, componentes, entre otros. Se puede navegar ambos a travs del
diseo (si, por ejemplo se tiene un diseo multi-pgina con ms de una hoja de raz) y
debajo un diseo (movindose a travs de la jerarqua del diseo).
Netlist View: Esta vista es una representacin de la conectividad del esquemtico,
mostrando una lista con todas las redes en el esquemtico y todos los terminales
conectados a la red seleccionada.

Barra de Herramientas
Este icono cambia el explorador de diseo a modo Partlist View.
Este icono cambia el explorador de diseo a Netlist View.
Este icono permite buscar una palabra que le permita encontrar partes rpidamente,
redes y hojas incluidas en el explorador de diseo.
Este cono es el enlace entre el explorador de diseo y la aplicacin ISIS y permite
navegar rpidamente por las hojas, redes y componentes en ISIS.
Este cono es el enlace entre el explorador de diseo y la aplicacin ARES y permite
navegar rpidamente por las hojas, redes y componentes en ARES. Este cono slo
ser habilitado cuando ARES este abierto con el layout correspondiente al
esquemtico.

3.6.4.2

Ares Software

El ARES (Advanced Routing Editing Software) es el otro programa que contiene el


paquete de Proteus 7.1 y se combina con el ISIS para realizar tarjetas de circuito impreso o
PCB.
Las Ventana principal de ARES es muy parecida al ISIS y se compone prcticamente
de las mismas sub-ventanas.

Fig. 3.30 Ventana del Ares 7.1.


Fuente: Ares Help

1- Ventana de Edicin: En esta ventana se desarrolla el diseo de la tarjeta de


circuito impreso PCB que se desee.
2- Selector de Objetos: En este espacio se encuentran todos los paquetes de
elementos utilizados en layout del diseo que se est realizando.
3- Ventana de Visin: En esta ventana se encuentra un vista panormica de el diseo
en caso de estar utilizando zoom.

Barra de Status
-

Selection Filter: Se encuentra en la parte izquierda de la barra y le permite


configurar

tanto el plano como los objetos que puedan ser seleccionados en el modo de
operacin, sin embargo existen reglas por defecto a la hora de disear tarjetas de
circuito impreso. El selector de capas tambin determina la capa que est siendo usada
por el usuario.

Fig. 3.31 Barra Selection Filter.


Fuente: Ares Help
-

Indicadores de Estados: En el medio de la Barra de Status se encuentran unos


indicadores los cuales nos proveen muestras indirectas del objeto seleccionado por
el ratn.

Fig. 3.32 Indicadores del elemento.


Fuente: Ares Help

Design Rule Checker: Este se encuentra siguiendo a la derecha a travs de la


Barra de Status y reporta cualquier violacin de reglas fsicas de diseo que
puedan ocurrir mientras la tarjeta esta siendo diseada. Haciendo click izquierdo
mostrar un dialogo detallado acerca de las violaciones que fueron realizadas con
la opcin de ir ms all y examinar un error en particular.

Fig. 3.33. Design Rule Checker.


Fuente: Ares Help

Cuadro de Coordenadas: Este se encuentra en el extremo derecho de la Barra que


se encuentra en la parte inferior de la pantalla principal y muestra las coordenadas
de cualquier elemento siempre y cuando se coloque el cursor sobre el mismo.

Fig. 3.34. Cuadro de Coordenadas.


Fuente: Ares Help

Colocaciones bsicas y Tcnicas de Ruteo

Fig. 3.35. Algunos ejemplos de Layout.


Fuente: Ares Help

Ruteo
El Ruteo comienza haciendo clic en el Trace Icon. El Seleccionador de Objetos

cambiar la pantalla en el estilo de trama. Una vez que el cursor est en modo de trama con
hacer click en el lugar del elemento que se quiera rutear saldr la trama correspondiente.

Fig. 3.36. Muestra del Trace Icon y escogiendo una trama 20th.
Fuente: Ares Help

Seleccin de Paquetes
La manera ms directa de construir una tarjeta de circuito impreso en ARES es en el

modo de PACKAGE, en este modo el usuario puede escoger el footprint o paquetes


directamente de la librera y colocarlos en el rea de diseo.

Fig. 3.37. Ventana para escoger paquetes de elementos.Fuente: Ares Help

CAPTULO IV Diseo del Hardware

4.1

Macro-estructura

La macro-estructura de hardware posee mdulos tanto de entrada como salida, que


concatenados entre s, permiten que realice funciones como indicador, transmisor y
controlador de flujo. A continuacin se muestra un diagrama que explica la macro-estructura
del proyecto (Fig. 4.1)

D/A

V/I
4-20mA

Acondicionador
de Seal
Turbina

PIC

Proteccin de
Voltaje

Pantalla
LCD
Teclado

Alarma

Fig. 4.1 Diagrama Macro estructura de Hardware.


Fuente: Elaboracin propia

Turbina
Esta va a ser la seal de entrada al microcontrolador tomada a travs de un medidor de

flujo en base a turbina que para los efectos de simulacin se puede sustituir como un
generador de onda cuadrada.

Acondicionador de seal y proteccin de voltaje


Como parte de los mdulos de entrada al microcontrolador se encuentra el

acondicionador de seal, que convertir la seal tomada desde la turbina y la convierte en una
seal de onda cuadrada, a fin de poder tomar los perodos necesarios para el clculo de
frecuencia que permitir la obtencin del caudal. La proteccin de voltaje sirve como su
nombre lo indica una proteccin para el microcontrolador para evitar dao del mismo en caso
de sobre-voltaje.

Microcontrolador PIC

El microcontrolador controlar las operaciones de entrada y salida, as como tambin


las operaciones de captura y comparacin necesarias para el clculo de la frecuencia.

Conversin Digital Analgico


Este circuito realizar las tareas pertinentes con la conversin Digital Analgica,

incluyendo la transformacin de la seal analgica de voltaje a corriente para as poder hacer


un control sobre la variable de proceso.

Pantalla LCD
Este mdulo de salida presentar el men del equipo, as como tambin los distintos

valores de medicin de caudal.

Teclado
Este perifrico sirve como interfaz entre el usuario y el sistema. Este podr introducir

valores y configurar los parmetros del sistema.

Alarma
Es un circuito que con ayuda del microcontrolador produce la activacin de un rel

para las siguientes condiciones:

4.2

Bajo Caudal.

Alto Caudal.

Banda de Valores.

Seleccin del Microcontrolador


Una vez dentro del proyecto, se decidi utilizar un microcontrolador que cumpliera

con las exigencias mnimas para este tipo de aplicaciones, tales como:
-

Entrada de captura.

Nmero de entradas de E/S (mnimo 27).

Comunicacin SPI.

Comunicacin Serial.

Fcil adquisicin dentro del mercado.

Con amplia bibliografa para consultar.

Manejo de lenguaje de alto nivel que facilite la programacin.

Para esto se evaluaron las siguientes opciones:


-

Microcontrolador PIC 16F876 ATOM.

Microcontrolador PIC 16F877.

Microcontrolador PIC 18F4520.

El microcontrolador ATOM, tiene un compilador asociado llamado BASIC ATOM.


Este sistema present inconvenientes que impedan el desarrollo del programa clave para este
proyecto, que es La Medicin de Frecuencia, esto se puede realizar utilizando la
herramienta pulsin, pero no sera eficiente su implementacin, debido a que en este diseo no
solo se debe medir frecuencia y calcular el caudal, sino que tambin al mismo tiempo debe
permitir el manejo de teclado y pantalla, realizar transmisin, control, entre otros. Pulsin
restringe el funcionamiento de nuestra unidad limitndola slo a realizar la medicin de
frecuencia.

Otras de las razones por las cuales no se escoge el Microcontrolador PIC16F876 es


por la cantidad de E/S que no eran suficientes para el desarrollo de la aplicacin. Se
necesitaba adems una memoria de programa con mayor capacidad, y un mayor nmero de
STACK en la memoria RAM para el manejo de las interrupciones, razn por la cual no se
utiliz el PIC16f877A.

Finalmente se decide utilizar el PIC18F4520, porque cumple con las caractersticas de


diseo nombradas anteriormente para el desarrollo de este proyecto y fue el ms accesible al
momento del desarrollo de este proyecto.

4.3

Acondicionador de seal

El objetivo de este circuito es como se dijo anteriormente, acondicionar la seal de


entrada que viene del medidor de flujo en base a turbina.

Este est compuesto de un

comparador del tipo LM393 con un arreglo de resistencias y condensadores que permiten
cambiar la forma de onda de una seal de senoidal a cuadrada.

El circuito mostrado en la Fig. 4.2, presenta las entradas (que se encuentran en el lado
derecho) del mismo, que representan la seal que ser transformada en una onda cuadrada
para hacer posible la medicin de la frecuencia.

+V

+V

COMPARADOR

U1:A

R3

U2:A

2k4

TURBINA+
3
1

CCP2

2
4k7

-V

LF353N

R1

R4

0.1uF

C1

33k

LM393

-V

TURBINA -

R2
100R

Fig. 4.2 Circuito acondicionador de seal.

El dispositivo LM393 es un comparador diferencial dual, diseado para funcionar con


una fuente de alimentacin nica en un amplio margen de tensiones. Como caractersticas
tiene una baja corriente polarizacin de entrada y baja tensin de offset. Este circuito al recibir
la seal de la turbina produce un impulso de onda, cuya duracin ser determinada mediante
un arreglo RC (resistencias y condensadores), ste puede llevar desde algunos microsegundos
hasta unas varias horas.

4.4

Convertidor Digital / Analgico

Este es un circuito sencillo el cual proporcionar la seal de control de 4-20mA, a


travs de un arreglo entre el convertidor digital analgico y un convertidor de voltaje a
corriente.

Se eligi un modelo de conexin serial SPI estndar. De este tipo existen varias
opciones dentro del mercado, pero se escogi la casa TEXAS Instruments, modelo TLV5616
con las siguientes caractersticas:
-

Salida de 12 bits

Fig. 4.3 Circuito de Conversin Digital Analgica.

El convertidor digital analgico posee una salida de 12-bit de alta impedancia, con una
salida de voltaje dado por la ecuacin 4.1.

VOUT

2Vref

CODE
2n

(Ec.

4.1)
Donde:

Vref = Es el voltaje de referencia.


CODE = Es el valor de entrada digital con un rango entre 010 a 2n -1, donde n= 12 (bits).
Este dispositivo se debe alimentar con una fuente de 5V, adems de que posee la
caracterstica de power-on-reset para asegurarse que se repitan las condiciones

de

inicializacin. A continuacin se presenta una tabla que muestra las entradas y salidas
necesarias que permiten la conversin digital analgica.
TERMINAL

I/O

DESCRIPCIN

Entrada serial de datos.

SCLK

Entrada reloj.

NOMBRE

NO.

DIN

CS

Chip select, activo bajo.

DOUT

Salida serial de datos para conexin en cadena

AGND

REFIN

Entrada de referencia

Tierra anloga

OUT

DAC salida analgica de voltaje

Vdd

Fuente de poder

Tabla 4.1 Tabla de funciones del DAC TLV5615.

4.5

Convertidor de voltaje a corriente

Este circuito (Fig. 4.4) es alimentado por la seal proveniente del convertidor digital
analgico, sta entra por el terminal no inversor del amplificador operacional (LF353) U3:A y
es comparado con el voltaje presente en el terminal inversor, provocando una seal de salida
en el momento en que se igualan estos dos voltajes. Q1 acta como un inversor de voltaje y
Q2 como un amplificador de corriente, de tal manera que la corriente I0 siempre se mantiene
constante (igual a Vda/R1), sin importar que el valor de la resistencia de carga cambie su
valor. La corriente I0 es censada por R13 para producir el voltaje de realimentacin adecuado
para U3:A.

A continuacin se presentan las ecuaciones que hacen posible este relacin V/I

V1

I 0 R1

(Ec.

4.2)
Por condicin de diseo

Vda

V1

4.3)

Sustituyendo la Ec. 4.1 en la Ec. 4.2, nos queda:

(Ec.

Vda

I 0 R1

(Ec.

4.4)
Despejando Io de la Ec. 4.3 finalmente se obtiene:

Vda
R1

I0

(Ec.

4.5)

D4

R16

R15

+24V

30k

2k4

BZX85C5V1

C6
+24V

Q2

R2

1u

BD136

30k

D3

U3:A

Q1

R1

PN2222

10k

1N4742A

Io

LF353N

R14

C4

10k

I=0

10n

R3

ZL (+)

82
GND1

GND1

GND1

R12

V1

ZL (-)

CARGA

Vda

82

R13

Io

100

GND1

Fig. 4.4 Circuito convertidor de voltaje a corriente.

4.6

Visualizador LCD

Para el desarrollo del diseo se escogi un visualizador modelo SC0802A con las
siguientes caractersticas:
-

Con visualizacin 2x8 (dos lneas de 8 caracteres cada una).

Controlador Hitachi HD44780.

Entrada de datos de 4 bits u 8 bits.

Alimentacin de 5V.

Fig. 4.5 Pantalla de Visualizacin LCD modelo SC0802A.

Para este desarrollo se eligi la conexin de 4 bits en lugar de 8 bits. Esto con el
propsito de disminuir las lneas de conexin E/S requeridas a expensas de tardar ms tiempo
en la actualizacin de la pantalla LCD. A continuacin se muestra el modelo con el cual se
simul el diseo.

Fig. 4.6 Pantalla de Visualizacin LCD.

La pantalla que se muestra posee una conexin sencilla de 4 bits adems de las lneas
de conexin obligadas hacia el PIC como lo son RS, RW, E. A continuacin se muestra la
tabla de descripcin de pines.

Tabla 4.2 Tabla de descripcin de pines de la pantalla LCD.

4.7

Teclado

En la parte de teclado se presenta un arreglo de teclas que llevarn a ejecutar todas las
funciones que posee el dispositivo.
U1
15
16
17
18
23
24
25
26
19
20
21
22
27
28
29
30

VDD

8
9
10
1

RC0/T1OSO/T13CKI
RA0/AN0/C1INRC1/T1OSI/CCP2B
RA1/AN1/C2INRC2/CCP1/P1A
RA2/AN2/C2IN+/VREF-/CVREF
RC3/SCK/SCL
RA3/AN3/C1IN+/VREF+
RC4/SDI/SDA
RA4/T0CKI/C1OUT
RC5/SDO
RA5/AN4/SS/HLVDIN/C2OUT
RC6/TX/CK
RA6/OSC2/CLKO
RC7/RX/DT
RA7/OSC1/CLKI
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5/P1B
RD6/PSP6/P1C
RD7/PSP7/P1D

RB0/AN12/FLT0/INT0
RB1/AN10/INT1
RB2/AN8/INT2
RB3/AN9/CCP2A
RB4/KBI0/AN11
RB5/KBI1/PGM
RB6/KBI2/PGC
RB7/KBI3/PGD

2
3
4
5
6
7
14
13
33
34
35
36
37
38
39
40

INC
SETUP

RE0/RD/AN5
RE1/WR/AN6
RE2/CS/AN7
RE3/MCLR/VPP

DEC
FUNC

PIC18F4520

MULT
ENTER
R1
1k

R2

R3

R4

R5

R6

1k

1k

1k

1k

1k

VCC

Fig. 4.7 Arreglo de teclas para el frontal del dispositivo.

El diseo final del panel frontal del Indicador, Transmisor y Controlador de Flujo, se
presenta en la Fig. 4.8

Todas las medidas van en milmetros

Fig. 4.8 Vista Frontal del Dispositivo.

4.8

Circuito de alarma

El circuito de alarma activa un rel con las siguientes caractersticas. Ver Fig 4.9:
-

Marca: SCHRACK o equivalentes

Modelo: RP I

Salida: SPDT (simple polo doble tiro)

Voltaje de Bobina: 24 VDC

Fig. 4.9 Muestra del Rel POWER PCB RP1.

El circuito de manejo del rel se ilustra en la figura 4.10. La seal del puerto
proveniente del microcontrolador es amplificada por el transistor Q1, lo cual es necesario
debido a que la salida del puerto no tiene la capacidad de corriente requerida. El diodo D1 que
aparece en el circuito tiene como funcin eliminar el voltaje transitorio durante cada
conmutacin del rel debido a su naturaleza inductiva.

+24V

D1

ALARMA

1N4007

R1

Q1

RL1

PN2222

RT114012F

10k

C10

C9

R3
39R

39nf

R2
39R

39nf

GND

VR1
VR2
S10K11

NO

NC

COM

S10K11

Fig. 4.10 Circuito de Seal de Alarma.

4.9

Fuente de Poder

Este circuito se encarga de proveer al sistema todos los voltajes requeridos. La fuente
de poder posee dos entradas, una para 220V y una para 120V, estas entradas pasan a travs de
un transformador. El primario del transformador es 220V/120V y el secundario de
8V/8V/15V para llegar a 3 puentes rectificadores y tres reguladores de tensin con distintos

GND2
3
VO

GND2

220u

C5

VI
1

7805

U3

7824

U2

GND1

470u

C3

1000u

GND1

C1

10u

C6

C4
VO

10u

GND
VI

2
VI

VO

1u

C2

+16V

GND1

GND

7805

U1

GND

+5V

+24V

GND1

valores. Ver Fig 4.11.

Fig. 4.11 Fuente de Poder.


Los requerimientos del sistema en cuanto a voltajes de alimentacin son:
-

(5V) para todos los dispositivos de lgica TTL en el circuito.

(24V) para alimentar el circuito de salida de 4-20mA y el rel de alarma.

(5V) aislados para la comunicacin serial.

4.10

Comunicacin Serial

El MAX1480 es un circuito integrado que presenta aislamiento elctrico entre la parte


lgica y la salida serial. Posee la interfaz de comunicacin de datos en un microcircuito
hibrido. Est diseado para una comunicacin half-duplex RS 485 / RS 422 (comunicacin es
bidireccional pero no simultnea). Permite la transmisin de datos hasta 250Kbps.

En el circuito mostrado en la Fig. 4.12 se muestra la comunicacin serial entre la PC y


el microcontrolador, de ste salen tres seales DI (Data Input), DE (Driver Enable) y RO
(Receiver Output) que llegan al MAX1480 para la realizacin de la comunicacin RS-485.
+5V

U2
100u

1nF
GND2

C2

GND2

C1

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

U1:A
DI

1
3

DI

74HC86

GND1

U1:B
DE

6
5

GND2
+16V

+RS485

R4
10kR5
10k

R6

GNDRS485

R7
10k

10k

R2
10k

R3
U1:C
10

R0

-RS485

74HC86

+RS485
-RS485

28
27
26
25
24
23
22
21
20
19
18
17
16
15

MAX1480

+5V

AC1
AC2
ISO VCC1
B
ISO RO DRV
A
ISO DI IN
ISO DE IN
ISO COM1
ISO DI DRV
ISO VCC2
ISO DE DRV
ISO COM2
ISO RO LED

10k

CONN-SIL10

9
GNDRS485
74HC86
DE

GND1

1
2
3
4
5
6
7
8
9
10

10k

R0

GND2

J1

R1

VCC1
VCC2
D1
D2
GND1
FS
SD
VCC3
DI
VCC4
DE
GND2
RO
VCC5

Fig. 4.12 Circuito de Comunicacin Serial.

4.11 Planos Esquemticos Completos

A continuacin se presentan los circuitos esquemticos vistos anteriormente, divididos


tres grandes circuitos llamados Tarjeta Madre, Tarjeta Fuente y Tarjeta Display. Con su
respectiva representacin como tarjeta de circuito impreso.
La unin de estas tres tarjetas da como resultado el Hardware final del proyecto, tal
como lo muestra la Fig. 4.14. En el caso de la comunicacin serial se agregar una tarjeta
opcional dependiendo si el usuario necesite o no esta modalidad.

TARJETA DE
COMUNICACIN SERIAL

Fig.4.13 Diagrama de bloques del circuito final.

Todas estas tarjetas estn contenidas dentro de una caja DIN .Fig. 4.14

Fig. 4.14 Esquema de caja DIN .


4.11.1 Tarjeta Madre

En la Tarjeta Madre (Fig. 4.15) se encuentran los circuitos D/A, de acondicionamiento


de seal, un puerto de I/O slo para la pantalla LCD, el circuito convertidor de voltaje a

LF353N

EDGE CONNECTOR
CAJA DIN 1/4

ZL (-)

CONN-SIL8
CONECTOR EN L

J4

ZL (+)

82K

R3

BD136

CONN-SIL8B

GND1
9
10
11
12
13
14
15
16

IL8

ZL (-)

GND485

- RS485

+ RS485

- PICK-UP

+ PICK-UP

100

R13

+24V

82k

R12

10k

R14
53N

:A

1N4742A

10k

R1
D3
1

1u

C6

10n

C4

J3

Q1

PN2222

30k

BZX85C5V1

D4

+5V
10k

R8

1k

R7

ZL (+)

Q2
30k

R15

- PICK-UP

R2

1k
1k
2

U3:B

+24V

LM393

7
10n
PROPERTY=VALUE
BZX85C5V1

C1
D1

R10

+ PICK-UP

LM393

24V

EXIT

4
V

RESET BUTTON

6
5
4
3
2
1

FUNC BUTTON
SETUP BUTTON

4k7

+5V

R6

+24V

U4:A

+16V

+5V

GND1

8
0k

1
2
3
4
5
6
7
8

GND1
4

R9

GND2
ALARMA

U4:B

corriente, La conexin de teclado y la comunicacin serial.

Fig. 4.15 Diagrama Esquemtico de la tarjeta madre.


En la Fig 4.16 se presenta la vista de planta de la tarjeta de circuito impreso que
proviene del esquemtico de la tarjeta madre.

Fig. 4.16 PCB de la tarjeta madre.


4.11.2 Tarjeta Fuente

En la tarjeta Fuente se encuentra el Transformador de Voltaje y la Salida de alarma. A

GND2

GND

J2

GND2

220u

C5

04G

R3

04G

VI
1

7805

U3

GND1

470u

C3

7824

GND1

1000u

C1

VI

U2

7805

VI

R2

+
04G

U1

GND2

1
2
3
4
5
6
7
8

CONN-SIL8

GND

R1

ALARMA

GND1

GND1

+24V

+16V

VO

+5V

10u

C6

+16V

GND1
1u

C4
3

10u

C2
3
VO

VO

GND

+5V

+24V

GND1

continuacin diagrama esquemtico de la tarjeta fuente Fig 4.17.

Fig. 4.17 Diagrama esquemtico de la tarjeta fuente.

Y a continuacin en la Fig. 4.18 se presenta la vista de planta de la representacin en


PCB

Fig. 4.18 PCB de la tarjeta fuente.

4.11.3 Tarjeta del Visualizador y Teclado

Este circuito se presenta en su versin PCB, ntese que las tarjetas van integradas en
sta y hacen una comunicacin entre s teniendo como puente los conectores en L ubicados a
cada lado de la pantalla que se ve en la Fig. 4.19.

Fig. 4.19 PCB de la tarjeta display.

Capitulo V Desarrollo del Software

En este captulo se describir el desarrollo del software del indicador, transmisor y


controlador de flujo. Este instrumento realiza la medicin de caudal mediante un
procedimiento de medicin de frecuencia, acondicionando la seal de caudal para ser
transmitida en forma normalizada (4-20mA). El software tambin incluye el manejo del
visualizador LCD y el teclado.

5.1 Seleccin del lenguaje de trabajo

Se eligi el programa Mikrobasic (mikroElektronika), el cual es una poderosa


herramienta de desarrollo para microcontroladores PIC, que permite
un fcil desarrollo de aplicaciones con cierto grado de complejidad, especficamente
el manejo de eventos de captura.

Otros programas como el Basic Atom, no respondieron eficientemente a la necesidad


planteada. Debido principalmente a una lenta velocidad de ejecucin.

5.2. Seleccin del programa de simulacin

Se eligi Proteus ISIS Profesional V7.1 (LabCenter Electronics) para desarrollar la


parte esquemtica del proyecto, es decir los planos de los circuitos con todos sus
componentes. Luego una vez diseado el cdigo de programacin en el mikrobasic, se
programa el Microcontrolador en el diagrama esquemtico del Proteus ISIS, permitiendo as
la simulacin del proyecto.

5.3. Seleccin del sistema de emulacin

El sistema de desarrollo EasyPIC5 de mikroElektronika (Fig. 5.1), fue elegido como


sistema de emulacin. Este sistema posee los componentes fsicos necesarios para
la emulacin del proyecto, y

tambin permite insertar una amplia gama de

microcontroladores PIC para ser programados, entre ellos el PIC18f4520 elegido para el
desarrollo de este proyecto.

Fig. 5.1 Sistema de desarrollo EasyPIC5.

5.4. Macro-estructura del software

En esta seccin se describe la macro estructura de software del medidor, controlador


de caudal, mediante el diagrama de bloques de la figura 5.2. Esta estructura la componen dos
bloques de programacin operando en tiempo compartido: el programa Monitor y el servicio
general de interrupciones.

El primer paso dentro del programa Monitor es la configuracin de una serie de


parmetros iniciales, que sern utilizados por los subsistemas (LCD, teclado, medicin de
frecuencia y clculo del caudal, algoritmo de control, opcin de comunicacin serial,
conversin D-A).

El segundo paso dentro del programa Monitor es la lectura y procesamiento del


teclado. El usuario puede interactuar con el sistema, de tal manera que puede introducir o
modificar los parmetros ya preestablecidos (ej: Dimetro de la tubera, la salida si ser como
transmisor o como controlador, etc). De esta tarea se encarga el subsistema de teclado,
apoyndose en otras subrutinas. (Ver el codigo fuente en el Apndice A).

Fig. 5.2 Diagrama de bloques de la Macro estructura.

RTI*: retorno a la interrupcin


SCI*: Interfaz de comunicacin serial

La ltima tarea del programa es la actualizacin del Display LCD en modo normal de
indicacin, esto es, indicando el caudal.

El servicio general de interrupciones integra los manejadores para las interrupciones


activas. Dentro de estas rutinas se efectan las siguientes actividades:

Medicin de Frecuencia.

Calculo del Caudal.

Control PI en caso de que este habilitado.

Lgica para operar como Transmisor.

Actualizacin de la salida 4-20 mA.

Control de Comunicacin Serial.

5.5. Subsistema de medicin de frecuencia


El corazn del sistema, es la rutina de medicin de frecuencia, que hace uso del
mdulo de captura y la interrupcin de desbordamiento del Timer1, dentro de una ventana de
tiempo, esto para calcular el perodo de la seal proveniente de la turbina. Este proceso
consiste en la adquisicin de los datos provenientes del registro de captura. Una vez que ha
culminado la adquisicin se obtiene la frecuencia de la seal, y por ltimo mediante una
ecuacin matemtica se obtiene el flujo.

El diseo del subsistema de medicin de frecuencia, fue orientado a cumplir con los
siguientes requerimientos:

Frecuencia mxima = 10000Hz

Frecuencia mnima = 0.8 Hz

Resolucin = 0.01 Hz

Para cumplir con dichos requerimientos, se escogi la metodologa de medicin de


perodo de un tren de pulsos, puesto que esta metodologa es la que permite la resolucin
planteada en un menor tiempo.

La estructura de procesos del subsistema de medicin de frecuencia, est basada en el


uso de interrupciones: la interrupcin utilizando el mdulo de captura, y la interrupcin de
Timer overflow; Disponibles entre las aplicaciones del microcontrolador PIC18f4520.

A continuacin, se describir el uso y funcionamiento de las variables y constantes


ms relevantes del subsistema:

FaseCap: es una bandera que indica la fase en la que se encuentra el proceso de


adquisicin de datos, efectuado por el mdulo de captura. La variable FaseCap pasa
por cuatro estados a lo largo de este proceso:
FaseCap = 0:
Este estado indica que el sistema est sin actividad de medicin.
FaseCap = 1:
Indica que el sistema est en espera del flanco ascendente del 1er pulso para
realizar la primera captura, aqu se obtiene Ti. Se activa la medicin.
FaseCap = 2:
Indica que el sistema espera por el tiempo de integracin, para realizar su
prxima captura, contabilizando NPulsos de la seal de frecuencia de entrada.
Actualizando con cada pulso la variable Tf.
FaseCap = 3:
Indica que ha finalizado la medicin de frecuencia y el sistema dispone de
todas las variables para efectuar su clculo.

Constante Freq_Update: es el tiempo entre medidas de frecuencia (por defecto


250mSeg), el sistema est condicionado a este tiempo y a la bandera FaseCap
(FaseCap=0) para volver a arrancar la medicin.

Constante Fosc: tiene un valor nominal de 32MHz y representa la frecuencia del


oscilador.

Variable Npulsos: almacena el nmero de pulsos de la medicin, durante FaseCap=2.

Constante NTOFNormal: fija el tiempo de adquisicin del sistema, en condiciones


normales, igual a 0.25 Seg. Este es el nmero de veces en que el Timer1 pasa por su
condicin de overflow, al superar un tiempo equivalente o superior a 0,25 Seg, se
detiene el proceso de captura.

Constante NTOFMax: representa el valor de la Frecuencia cero (0.8 Hz aprox). Se


utiliza para finalizar el ciclo de medicin, por encontrarse en la condicin de muy baja
frecuencia o frecuencia cero.

Variable Ti (TiL,TiH): se utiliza para almacenar el primer tiempo que se captura,


proveniente del registro de Captura (de 16bits). En TiL se almacenan los 8 bits menos
significativos del registro de Captura. En TiH se almacena los 8 bits mas significativos
del registro de Captura.

Variable Tf (TfL,TfH): se utiliza para almacenar el segundo tiempo que se captura,


proveniente del registro de Captura (de 16bits). En TfL se almacenan los 8 bits menos
significativos del registro Captura. En TfH se almacena los 8 bits ms significativos
del registro de Captura.

Variable EndConv: indica que se ha concluido una fase de medicin de frecuencia y


clculo de caudal, y que ahora puede mostrarse el valor por pantalla. Esta es una
variable interfaz al programa monitor. Optimiza al sistema de indicacin, actualizando
solo cuando debe.

Variable NvecesF: almacena el nmero de ciclos de Timer1 overflow, asociados con


la ultima captura.
Para el clculo de la frecuencia se realizan los siguientes clculos: K1

El tiempo total entre Ti y Tf expresado en ciclos de mquina, viene dado por:

Ttotal1

65535

256 * TiH

TiL

NvecesF 1 * 65535

256 * TfH

TfL

(Ec. 5.1)

Tomando en cuenta la frecuencia del oscilador:

Ttotal1 * 4
Fosc

Ttotal

(Ec. 5.2)

Finalmente la frecuencia habiendo integrado Npulsos es:

Freq

Npulsos
Ttotal

(Ec. 5.3)

La relacin entre la frecuencia y la velocidad del fluido depende de la constante del


medidor de turbina. Entonces la velocidad del fluido puede expresarse mediante la ecuacin
5.4.

K1* Freq

(Ec. 5.4)

El Caudal viene expresado por la ecuacin 5.5

A *V

(Ec. 5.5)

Donde:
Q= Cantidad de flujo (m3/s)
A= rea transversal (m2)
V=Velocidad del flujo (m/s)

5.5.1 Descripcin del Subsistema de Interrupciones de Medicin de Frecuencia

En las Fig 5.3 y 5.4 se presenta el diagrama de bloques de la rutina de manejo de


interrupciones del subsistema de medicin de frecuencia. Esta rutina es controlada por la
variable FaseCap, que indica a la rutina en que fase de la medicin se encuentra.

Cuando FaseCap es igual a 1 se captura el tiempo inicial, se inicializan en cero el


contador de ciclos de Timer overflow (NvecesF) y el contador de pulsos (Npulsos), y se
limpia la bandera de captura. Ahora FaseCap pasa al valor 2, capturando el tiempo final en
condiciones normales de medicin, es decir en el tiempo de adquisicin fijado. Cuando
termina el tiempo de integracin normal, FaseCap pasa al valor 3 indicando que se disponen
de los valores para el clculo de la frecuencia

En el diagrama de la Figura 5.4, se ilustra el funcionamiento de la segunda


interrupcin (Timer overflow), que consiste en la interrupcin del sistema en el momento en

que el conteo del Timer supera el valor de overflow (igual a 65535,16 bits). Este deber ser
tomado en cuenta en el clculo del tiempo total.

En la primera parte del diagrama de la Figura 5.4 se observa que mientras el proceso
de medicin este activo, el contador NTOF ser incrementado, para comparar el valor de
dicho contador con NTOFMax, esto con el fin de determinar si se est en la condicin de
bajas frecuencias o frecuencia cero. En cuyo caso se deshabilita la captura, y de una vez se
coloca el valor de Freq en cero. Cabe destacar que se asigna un 4 a FaseCap, para que no pase
por las ecuaciones de clculo de frecuencia.

Luego si FaseCap es igual a 3, se calcula la frecuencia utilizando los valores obtenidos


de la captura, el valor del overflow, el nmero de ciclos de Timer overflow y el nmero de
pulsos.

Fig. 5.3 Diagrama de Bloques del subsistema de medicin de frecuencia.

Freq=0, FaseCap=4

Fig. 5.4 Continuacin diagrama de bloques del subsistema de medicin de frecuencia.

En la siguiente

fase del subsistema (Fig 5.5) se toma en cuenta la constante

Frequpdate, esta limita el rearranque del sistema de medicin, hasta que no haya terminado
este tiempo. Es en este momento cuando se reinicializan las variables, se limpia la bandera del

registro de captura, se habilita la interrupcin de captura (para cada flanco ascendente),


dejando todo listo para reactivar la medicin.

Fig. 5.5 Diagrama de bloques de la Fase de rearranque de la medicin de frecuencia.

5.6. Clculo del caudal

Los parmetros para el clculo del caudal son:

Velocidad del fluido: viene dada a partir de la constante del elemento primario de
turbina y la frecuencia.

La seccin de la tubera: valor tomado de la EEPROM y configurado por el usuario.


En funcin de los parmetros anteriores y de la unidad seleccionada, se calcula el

caudal como:
Q

S *V * K1* K 2

(Ec. 5.5)
Donde:
S = Seccin de la tubera en pulgadas
V = Velocidad del fluido en m/seg
K1 = Constante de conversin de unidades
K2 = Constante de correccin por factores extras

5.7. Clculo y Generacin de la corriente del Transmisor

El circuito de conversin digital analgico mostrado en el Captulo IV va a generar


una corriente de valor.

I0

Vda
R1

mAout

(Ec. 5.6)

Esta corriente vara en un rango de 4 a 20mA y guarda una estrecha relacin con los
valores de caudal mn. y mx. predeterminados. Con el fin de generar un control sobre la
variable de proceso (caudal).

La ecuacin 5.7 define la corriente de salida cuando el equipo opera como transmisor
de caudal:

mAOut

mALow

Q
(QHigh QLow )

* mAHigh mALow

(Ec. 5.7)

Donde:
mAout: Salida de corriente del transmisor
mAlow: Valor mas bajo del rango (Ej: 4 mA)
mAhigh: Valor mas alto del rango (Ej:20 mA)
Qlow: Caudal mnimo predeterminado (Ej: 0 GPM)
Qhigh: Caudal mximo predeterminado (Ej: 30 GPM)

5.8. Subsistema de Teclado y Display


Este sistema permite la visualizacin del caudal en la pantalla, y tambin que el
usuario pueda interactuar con el men y submens de la configuracin del sistema. Donde
adems podr introducir valores a su conveniencia, modificando as los preestablecidos por el
sistema, cargados previamente en la EEPROM del microcontrolador.

Fig. 5.6. Vista frontal del equipo.

Fig. 5.7 Mensaje Inicial.

5.8.1

Configuracin del Teclado

El teclado est compuesto por 6 teclas, cada una con una serie de utilidades, orientadas
a una fcil interaccin entre el usuario y el equipo. Estas son:

Tecla SETUP: permite acceder al men principal de funciones del equipo:

Sensor

Salida mA

Alarma

Salida Serial

Control

Fig. 5.8 SETUP Sensor.

Tecla FUNC: una vez en el men principal, al detectar esta tecla se despliega los
submens pertenecientes a cada SETUP. Esto se ilustra en la Fig 5.9.

Fig. 5.9 FUNC: Unidad de trabajo de Caudal y FUNC: Set Point.

Tecla Exit: cuando el usuario presione esta tecla estando en el men principal o en
cualquiera de los submens, la pantalla retornar inmediatamente a la pantalla en la
cual muestra la medicin.

Tecla Inc: su funcin es modificar, dgito por dgito, el valor numrico de cada FUNC
(Fig. 5.5.). Cada vez que se detecta esta tecla el dgito va cambiando de valor del 0 al
9. Para que el usuario pueda comenzar a realizar modificaciones debe haber
presionado primero la tecla. MULT/CLEAR

Tecla MULT/CLEAR: esta es una tecla de doble funcin; la primera funcin es, que
presionada una primera vez permitir al usuario comenzar a modificar el valor
predeterminado de la FUNC. El procedimiento es el siguiente: se presiona esta tecla
una primera vez y el valor se coloca en 0, se presiona la tecla Inc, y se elige el valor
del primer dgito, si el valor es mayor a nueve se presiona la tecla MULT/CLEAR
para modificar el siguiente dgito y se continua de esta manera hasta obtener el
nmero deseado.

Tecla Enter: permite al usuario guardar el valor elegido por l, para que sea luego
utilizado por el sistema, dicho valor es almacenado en la EEPROM.

5.8.2 Men y Submens

Se tiene acceso al men y submens del sistema, a travs del subsistema de manejo de
teclado.
Los bloques principales de configuracin son:

SENSOR

SALIDA MA

ALARMA

COMUNICACIN SERIAL

CONTROL

Los parmetros de ajuste de cada bloque son:

SENSOR:

SALIDA MA:

ALARMA:

Relacin Hz / Vf

Dimetro de la Tubera

Unidad de Trabajo de caudal

Tiempo de Conversin

Relacin Hz / GPM

Damping

Uso: (Transmisor, Controlador)

Low Range. Ej: 0 GPM

High Range. Ej: 30 GPM

Low Output. Ej: 4ma

High Output. Ej: 20ma

Tipo: (Bajo, Alto, Banda)

Alarma Low (valor)

Alarma Hgh (histresis)

Accin (directo, inverso)

Reposicin (Manual, Automtica)

COMUNICACIN SERIAL: - Baudios


- Direccin
- Paridad
- No de Bits

CONTROL:

BP (%): Banda Proporcional

Ti (min): Tiempo Integral

Ts (min): Tiempo de muestreo

Set Point: Punto de corte

Modo: Automtico/Manual

Accin: Directa /Inversa

Valor de falla segura

EXIT
DISPLAY

5.8.3 Descripcin del Subsistema de Teclado y Display

A continuacin se muestra el diagrama de bloques general del subsistema de teclado y


display (ver Fig 5.10 y 5.11). Este ilustra lo que ocurre cuando el sistema detecta que alguna
de las teclas fue accionada. Muestra men y submens, y se sirve de la subrutina Nmeros,
para que el usuario pueda ajustar los valores numricos nombrados en la seccin anterior
(Banda proporcional, set point, etc) a su conveniencia.

Fig. 5.10 Diagrama de Bloques del Subsistema de teclado y display.

Fig. 5.11 Continuacin diagrama de Bloques del Subsistema de teclado y display.


5.8.3.1

Subrutina Nmeros:

El subsistema de manejo de teclado accede a la subrutina Nmeros, para realizar la


configuracin del valor introducido por el usuario. Cuando el subsistema de teclado detecta la
tecla MULT/CLEAR, arranca la subrutina Nmeros. Se cambia a cero el valor de la segunda

Fig. 5.12 Diagrama de Bloques de la Subrutina Nmeros.


fila de la pantalla (valor predeterminado para cada funcin).

El usuario ahora puede

introducir dgito por dgito el valor que desee, utilizando tambin la tecla MULT/CLEAR
(multiplica por 10 el valor que se encuentre en la pantalla). Una vez obtenido el valor

deseado, debe presionar la tecla ENTER para que el valor quede guardado en la EEPROM y
luego pueda ser utilizado por el sistema.

Fig. 5.13 Continuacin diagrama de Bloques de la Subrutina Nmeros.

CAPTULO VI Resultados

En este captulo se describen todas las pruebas preliminares y las pruebas realizadas en
el Laboratorio de Instrumentacin de la Facultad de Ingeniera

de la Universidad de

Carabobo. Adems de los ajustes realizados al equipo medidor, transmisor y controlador de


flujo, a fin de verificar su correcto funcionamiento, y de confirmar tanto el cumplimiento
tanto de los objetivos propuestos al inicio de este trabajo, como de las consideraciones bsicas

y las caractersticas adicionales y aadidas propuestas en el diseo general. Adems permiti


sacar las respectivas conclusiones y plantear las recomendaciones del caso.

6.1. Pruebas Preliminares


6.1.1

Medicin de Frecuencia (Resultados de la Simulacin)

Para la medicin de frecuencia se utiliz Proteus Isis 7.1 como herramienta de


simulacin, utilizando el circuito mostrado en la figura 6.1. Conformado por los siguientes
componentes:

Generador de Seal

Microcontrolador PIC 18f4520

Display LCD LM016L

Fig. 6.1 Plano para la Simulacin.


La prueba consiste en verificar el valor ajustado en el Generador de seal, en el
Display LCD, como resultado del proceso de medicin de frecuencia. Como ejemplo,
ajustando: Frecuencia=100Hz (Figura 6.2)

Fig. 6.2 Ajuste en el Generador de Seal.

Se obtiene como resultado en el Display LCD un valor igual a 100,00000Hz (Figura


6.3)

Fig. 6.3. Visualizacin en la Pantalla.

Como requerimiento del sistema se fij una frecuencia mxima a medir de 10000 Hz y
una frecuencia mnima de 0.8 Hz. Con un cristal de 32MHz. A partir de la simulacin se
observ lo siguiente:

Para Frecuencia 0 y frecuencias menores a 0.8 el valor mostrado por pantalla


es igual a 0.00000, cumpliendo con el parmetro de frecuencia mnima de
diseo.

Se podr medir frecuencias mayores a la frecuencia mxima (10000Hz),


obtenindose una excelente exactitud.

A continuacin se presenta la Tabla 6.1, que compara los valores ajustados en el


Generador de seal (1ra columna), con los valores que se visualizan en el Display LCD (2da
columna). En la tercera columna se muestra el error porcentual en la medicin.
Ajuste (Hz)
0
0,5
0,8
1
5

Valor LCD (Hz)


0,00000
0,00000
0,79999
1,00000
5,00000

Error (%)
0
0,5
0,001250016
0
0

5,5
100
350
1000
5400
10000
20000

5,50000
100,00000
350,00003
1000,00000
5400,00195
10000,00000
20000,00000

0
0
8,57143 x 10-6
0
3,61111x 10-5
0
0

Tabla 6.1 Ajustes-Valor Arrojado.

Como puede verse, la exactitud obtenida es excelente arrojando un error mximo de 0.5 %

Ajustes vs. Valor arrojado en la LCD

25000
20000

Ajuste (Hz)

15000
10000
5000
0
-5000

5000

10000

15000

20000

-5000
Valor LCD (Hz)

Fig. 6.4 Ajustes vs. Valor arrojado en la LCD

6.2. Pruebas realizadas en el laboratorio


6.2.1

Prueba como indicador

La prueba como indicador se realiz segn el esquema de la figura 6.4:

25000

Fig. 6.5 Diagrama de la prueba como indicador.

En el diagrama anterior se observa el rotmetro que fue el elemento utilizado como


patrn, el cual esta conectado en lnea con la turbina, esta proporciona al FIT2500 la
frecuencia proveniente del rotor de la turbina. El FIT2500 funcionando como indicador
proporcion los datos de frecuencia en Hz para la realizacin de la tabla 6.2 y de caudal en
GPM para la realizacin de la tabla 6.3.

Frecuencia. (hz)
27,3
39,8
43,7
85,3
131,9
170
224,6
267

Rotametro (GPM)
3,2
4
5
9,7
14,7
20,3
25,2
30

Tabla 6.2 Tabla de valores del rotmetro vs. Frecuencia (FIT 2500).

Caudal vs. Frecuencia

35
30

Caudal (GPM)

25
20
15
10
5
0

Fig. 6.6 Salida del FIT 2500 en Frecuencia.

Rotmetro (GPM)
3
4
5
10
15
20
25
30

FIT 2500(GPM)
3,2
4
5
9,7
14,7
20,3
25,2
30

Tabla 6.3 Tabla de valores del rotmetro vs. FIT 2500.

Salida como Indicador


35

30

FIT 2500 (GPM)

25

20

15

10

0
3

10

15

20

25

Rotametro (GPM)

Fig. 6.7 Salida del FIT 2500 como indicador de caudal.

30

6.2.2

Prueba como transmisor

La prueba como transmisor se realiz segn el esquema de la figura 6.8:

Fig. 6.8. Diagrama de la prueba como transmisor

Para los efectos de la prueba funcionando como transmisor, la frecuencia que genera
el rotor de la turbina, es captada por el FIT2500 este realiza el clculo del caudal y la
convierte en una seal de transmisin con rango desde 4mA hasta 20 mA. La salida en mA la
captamos con el controlador TZ4ST que esta en el laboratorio de Instrumentacin, este fue
utilizado como patrn, mostrando una salida en porcentaje de la corriente de transmisin.

La tabla de valores obtenidos de la prueba es la siguiente:

Salida FIT2500
4
8
12
20

ControladorTZ4ST
0,3
25,1
50,1
100,3

Tabla 6.4 Tabla de valores del controlador vs. FIT 2500.

Salida como transmisor

25

FIT2500 (mA)

20
15
10
5
0
0,3

25,1

50,1

100,3

Controlador (%mA)

Fig. 6.9. Salida del FIT2500 como transmisor

El clculo de la Salida en mA operando como transmisor, se realiza en base a las


siguientes ecuaciones:
Q

S *V * K

(Ec. 6.1)

mAOut

mALow

Q
(QHigh QLow )

Unidad: GPM

mA Low= 4,00mA

mA High= 20mA

Dimetro de la tubera=2

Qlow = 0GPM

Qhigh=30GPM

* mAHigh mALow

(Ec. 6.2)

Como era de esperarse debido a las pruebas preliminares realizadas antes de llegar al
laboratorio, las grficas arrojadas por las dos pruebas como indicador y como transmisor son
bastante lineales. Sin embargo para caudales menores a 3 GPM encontramos ligeras
desviaciones.

Adems de estas pruebas obtuvimos los siguientes parmetros del Instrumento


FIT2500:

Constante de la turbina = 84.175


Clase del instrumento patrn = 1%
Clase del FIT2500 respecto al patrn como transmisor = 0.3%
Clase del FIT2500 = 1.03%
Rangoabilidad = (3-30)GPM

CONCLUSIONES

A continuacin se presentan las conclusiones resultantes del diseo de un


Transmisor, Indicador y Controlador en base a turbina, as como las recomendaciones
en caso de seguir adelante con la realizacin de este proyecto.

Se considera acertada la seleccin de los elementos que componen el diseo,


principalmente la tcnica de captura, la cual resulta la ms apropiada puesto que el
error en la medicin de tiempo solamente depende del cristal de cuarzo. Cumpliendo
con holgura las especificaciones planteadas en el diseo, de exactitud, rangoabilidad
y respuesta del sistema, como pudo constatarse mediante las pruebas realizadas en el
laboratorio de Instrumentacin de la Facultad de Ingeniera.

Se diseo un instrumento verstil, que puede ser adaptado a cualquier sistema, ya que
el usuario puede realizar ajustes mediante el teclado, de los elementos que caracterizan
al sistema, tales como las constantes de la turbina, del conversor digital analgico, de
primer orden, dimetro de la tubera, entre otras.

Los Programas de simulacin utilizados permitieron un mayor acercamiento a los


resultados antes de llevar a cabo cualquier diseo. Poseen herramientas tan poderosas
que permiten ir monitoreando todas las fases de un proyecto.

En el diseo de medidores en base a turbina uno de los aspectos ms importantes a


desarrollar es la medicin de pulsos generado por la turbina. Esta es una fase muy
importante que va a influir en las prestaciones del dispositivo; mientras mas exacta sea
la medicin de frecuencia con ms detalle ser la medicin de caudal, tomando en
cuenta que hay procesos que requieren de una gran exactitud.

Existe una gran cantidad de Microcontroladores en el mercado con unas prestaciones


que integran recursos y perifricos de ultima generacin que permiten el desarrollo de
proyectos de cualquier tipo, desde automatizaciones hasta control de procesos. El
desarrollo de este trabajo sustenta lo anteriormente dicho habiendo logrado un
hardware de dimensiones reducidas.

Los lenguajes de programacin utilizados actuales muestran un entorno ms amigable


para que el usuario programe cualquier Microcontrolador. El programa de este trabajo
se hizo en alto nivel logrando el desarrollo con relativa facilidad de funciones de
funciones como el algoritmo PI, filtro de primer orden, entre otros.

RECOMENDACIONES
-

Desarrollar de un software para computadora que permita la interaccin directa con el


equipo, bajo un entorno amigable y educativo, que puedan interactuar el usuario con el
dispositivo.

Cambiar la posicin de la turbina, colocndola a una longitud mnima de quince


dimetros aguas arriba y seis dimetros aguas abajo asegurando mayor exactitud en la
medicin

Desarrollar equipos similares para la rehabilitacin de otros instrumentos del el


laboratorio de Instrumentacin de Procesos de la Facultad de Ingeniera de la
Universidad de Carabobo.

Referencias Bibliogrficas

[1]

HIDALGO P, Jesus R., Multimedia didctico para la enseanza de la


Instrumentacin de procesos I del Departamento de Sistemas y Automtica de la
Escuela de Ingeniera Elctrica de la Universidad de Carabobo, Trabajo Especial de
Grado, Universidad de Carabobo, Valencia (Venezuela ), 2005.

[2]

SMITH, Carlos A. y CORRIPIO Armando B, Control Automtico de Procesos


(Teora y Prctica), Primera Edicin, Editorial Limusa, Mxico, D.F., 1991.

[3]

CREUS, Antonio, Instrumentacin Industrial, Sexta Edicin, Alfa Omega Grupo


Editor, Mxico D.F.,1998.

[4]

MALONEY, Timothy, Electrnica Industrial Moderna, Quinta Edicin, Editorial


Pearson, Prentice Hall.

[5]

CAMPOS C., Manuel F., CASTAEDA P., Ramiro, CONTRERAS T, Arturo C.,
Implementacion de un sistema de desarrollo utilizando los Microcontroladores PIC,
Tesis de Grado, Centro Universitario de Ciencias Exactas e Ingeniera, Universidad de
Guadalajara.

[6]

http://aguas.igme.es/igme/publica/pdfart2/teoria.pdf

[7]

http://www.investigacion.frc.utn.edu.ar/sensores/Caudal/Clases.pdf

[8]

www.mikrobasic.com

[9]

DAZ DE LEZANA, Yosu, Diseo y Construccin de un sistema de control basado


en microcontrolador para soldadura de componentes de montaje superficial Trabajo
Especial de Grado, Universidad de Carabobo, Valencia (Venezuela), 2005.

[10]

PALMER, Mark, Nota de Aplicacin de Microchip AN545, 1997.

[11]

www.labcenter.co.uk

[12]

ARGAEZ,

Jos Hugo, Instrumentacin digital - Medicin de frecuencia,

Universidad Nacional del Sur, Departamento de Ingeniera Elctrica y de


Computadoras. Notas de curso, 2003.

[13]

http://es.geocities.com/jeeesusmeeerino/procesos/tipos/tipos.html

[14]

http://proton.ucting.udg.mx/posgrado/PID/SINTONIZADOR_PID_ADALINE

[15]

http://www.seametrics.com/

[16]

http://www.infoab.uclm.es/labelec/Solar/Microcontroladores/ArquitecturaHardward.htm

[17]

http://es.wikipedia.org/wiki/SPI

[18]

http://www.ucontrol.com.ar/wiki/index.php?title=El_microcontrolador

[19]

REDREJO, Jos L, Desarrollo de sistemas de regulacin y control, I.E.S. Santiago


Apostol Almendrejo, Dpto. de Electricidad y Electrnica, Notas de curso.

[20]

http://es.wikipedia.org/wiki/LCD

[21]

www.ucontrol.com.ar/wiki/index.php?title=LCD

[22]

www.microelect.com sc0802a.pdf

[23]

RUBIO, Antonio, Diseo de circuitos y sistemas integrados, Ediciones UPC, 2003.

[24]

GONZALEZ, Juan, Instrumentacin Electrnica.

[25]

http://es.wikipedia.org/wiki/assembler

[26]

http://es.wikipedia.org/wiki/lenguaje_de_alto_nivel

[27]

http://es.wikipedia.org/wiki/basic

[28]

http://es.wikipedia.org/wiki/compilador

También podría gustarte