CIRCUITO
DIGITAL QUE SIMPLIFICA LA MEDICION DE FLUJOS
J. G. Mateos S., J. R. Rodríguez G, J. S. Fregoso P., L. Hernández M.
Universidad de Guadalajara, C.U.C.E.I., Departamento de Electrónica
jmateos@proton.ucting.udg.mx,
rrodrigo@proton.ucting.udg.mx
salomon@proton.ucting.udg.mx,
lorenzo@proton.ucting.udg.mx
RESUMEN:
En la automatización de procesos industriales es
común encontrar la medición de variables con comportamiento no lineal. Para la
visualización de una variable no lineal se utilizan escalas logarítmicas. En el
caso del flujo, al realizar la medición con un instrumento transmisor de
presión diferencial, acoplado a una placa de orificio, el transmisor responde
en forma cuadrática a la diferencia de presiones, haciéndose presente el
fenómeno descrito por el teorema de Bernoulli. En tiempo real la señal que
se produce es de forma parabólica. Se recomienda el uso de un linealizador
digital en los sistemas de medición y control de flujos. En este trabajo se
presenta un Circuito digital que simplifica la medición de flujos, se
configura el circuito en base a un microcontrolador de la familia ATMEL, se
utiliza el AVR 90LS4433, el sistema digital proporciona una indicación de flujo
lineal en código BCD, que se muestra en tres dígitos numéricos, como respuesta
a una excitación no lineal de tipo parabólica.


Ek1+Ep1 + Ef1 + E in1
– perdidas =Ek2 + Ep2 + E f2 + Ein2
( Ec.
1 )
( Ec.
2 )
( Ec.
3 )
( Ec.
4 )
2. GENERACIÓN DE LA
TABLA DE CALIBRACIÓN.
El circuito que se
implementa como extractor no lo hace directamente con los valores de la señal
de entrada, es decir, no es un extractor de raíz cuadrada aritmético, sino que
cumple el siguiente algoritmo dado por la ecuación:
En la ecuación
anterior el porcentaje de entrada va desde 0% hasta el 100% y esta elevado al
cuadrado, esto significa que se trata de una entrada exponencial. Se observa en
la Tabla de Calibración, (véase la tabla 1 y la figura 6) la totalidad
de los valores que se obtienen al aplicar la misma ecuación para todo el rango
de entrada. La señal de salida, es la raíz cuadrada del porcentaje de entrada
al cuadrado [ 2 ], multiplicada por
el valor (Span-Zero), la ecuación es la siguiente:
Al proceder con todo
el rango se obtiene la columna titulada como “salida” en la Tabla de
Calibración (véase la Tabla 1).
TABLA 1
|
% |
Volts |
Volts |
mA |
mA |
|
Display |
(Entrada) |
(Salida) |
(Entrada) |
(Salida) |
|
00 |
0.25 |
0.25 |
04.00 |
4.00 |
|
10 |
0.26 |
0.35 |
04.16 |
5.60 |
|
20 |
0.29 |
0.45 |
04.64 |
7.20 |
|
30 |
0.34 |
0.55 |
05.44 |
8.80 |
|
40 |
0.41 |
0.65 |
06.56 |
10.4 |
|
50 |
0.50 |
0.75 |
08.00 |
12.0 |
|
60 |
0.61 |
0.85 |
09.76 |
13.6 |
|
70 |
0.74 |
0.95 |
11.84 |
15.2 |
|
80 |
0.89 |
1.05 |
14.24 |
16.8 |
|
90 |
1.06 |
1.15 |
16.96 |
18.4 |
|
100 |
1.25 |
1.25 |
20.00 |
20.0 |
3. LA FAMILIA ATMEL AVR 8-Bit RISC.
Loa Microcontroladores de la familia Atmel, contienen una
arquitectura tipo RISC, el funcionamiento esencial es que sus instrucciones son
de tan solo un ciclo máquina, su estructura elimina la necesidad de usar
componentes extra externos, contiene; osciladores, cronómetros, UART, SPI,
resistencias pull-up, modulación por anchura de pulso (PWM), convertidor
ADC, comparador analógico y cronómetros, estas son solo algunas de las
características que se encuentran en los dispositivos AVR. Al programar los
microcontroladores AVR, se disminuye el tamaño del código ensamblador que se
genera, la codificación es posible realizarla en Lenguaje C ó en assembly.
Todo su sistema está depositado en una sola pastilla, dispone de una memoria
tipo flashreprogramable EEPROM, el AVR es la opción perfecta para
perfeccionar la optimización de costos.
3.1
El MICROCONTROLADOR AVR4433.
Las
características del Microcontrolador de 8 bits AVR4433 son las siguientes:
Alto rendimiento y bajo
consumo, AVR ® de 8 bit’s con arquitectura RISC, 118 instrucciones, el
ciclo de ejecución es simple, 32 x 8 Registros de propósito general, genera 8
MIPS, (millones de instrucciones por segundo) con un cristal de 8 Mcps[3], memoria de datos
y memoria de programa permanentes, 4KBytes de memoria flash en un arreglo
programable, resiste 100,000 ciclos de escribir/borrar, 128 Bytes de SRAM,
256 Bytes de EEPROM en arreglo programable, programación de cerrojo en la
memoria flash, para la seguridad de datos en la EEPROM
3.2 CARACTERÍSTICAS
PERIFÉRICAS DEL AVR4433
Un temporizador/contador de
8 bit’s con preescala separada, temporizador/contador expandido de 16
bits con preescala separada, compara en modos de captura a 8, 9 y
10 bit’s PWM, incluye un comparador análogo interno [3], un temporizador
“watch dog” programable con oscilador separado, receptor transmisor asíncrono
universal ( UART ) programable full dúplex, ADC de 6 canales, con
10 bit’s de resolución e interface de programación serial ( SPI )
Maestro/Esclavo.
3.3 CARACTERÍSTICAS ESPECIALES
DEL MICROCONTROLADOR AVR4433.
Circuito de reset al energizar
el AVR, modo en estado ocioso y modo de bajo consumo, consumo de energía a
4Mhz, 3V,25°C, activo: 3.4 mA, modo ocioso: 1.4 mA, modo bajo
consumo: menor que un microamperes.
|
Terminales
de Entrada/Salida |
Voltaje
de operación |
Velocidades |
|
20 Lineas
programables |
2.7V
a 6.0V |
0
a 4 Mhz |
|
28 lead PDIP y 32 lead
TQFP |
4.0V
a 6.0V |
0
a 8 Mhz |
|
Tabla
2 .db $00, $0A, $0E, $12, $14, $17, $19,
$1B, $1C, $1E; .db $20, $22, $23, $25, $26, $27, $28,
$2A, $2B, $2C; .db $2D, $2E, $2F, $30, $31, $32, $33,
$34, $35, $36; .db $37, $38, $38, $39, $3B, $3B, $3C,
$3D, $3E, $3F; .db $40, $40, $41, $42, $43, $43, $44,
$45, $45, $46; .db $47, $48, $49, $4A, $4A, $4B, $4C,
$4C, $4D, $4E; .db $4E, $4F, $4F, $50, $51, $51, $52,
$53, $53, $54; .db $54, $55, $56, $56, $57, $57, $58,
$58, $59, $59; .db $5A, $5B, $5B, $5C, $5C, $5D, $5D,
$5E, $5E, $5F; .db $5F, $60, $60, $61, $61, $62, $62,
$63, $63, $63; |
Tabla
2. Valores hexadecimales que facilitan la linealización.
Objetivo;
Realizar
un sistema extractor de raíz cuadrada utilizando un microcontrolador que cumpla
con los estándares de instrumentación y comparar su eficiencia con respecto a
un sistema analógico tradicional.
Secuencia:
Primeramente
se introduce el dato proveniente del flujo a medir a través del transmisor de
presión diferencial (véase Fig. 1), la señal se dirige al ADC interno del
AVR4433, enseguida se procede a observar si la señal esta dentro del rango de
instrumentación llamando a la subrutina "rango", avisa si está por
arriba o por abajo del rango a medir, el paso siguiente es extraer la raíz
cuadrada de la tabla de valores grabada en la memoria (véase Tabla 2), se
utilizan cien valores que corresponden a la raíz de 0 a 99, equivalentes al
lazo de corriente de 4 a 20 mA, que se codifican en hexadecimal.Los
valores de la raíz cuadrada están grabados como sigue; las unidades están sobre
la horizontal y las decenas sobre la vertical, y la tabla de valores del extractor
se graba desde la dirección mínima de la tabla 2, esta es la dirección que le
corresponde al menor valor de raíz, hasta la dirección mínima más 99, que le
corresponde al valor mayor, es decir, la dirección mínima contiene el dato 19h
y la dirección mínima más uno, el dato 23, y así consecutivamente, se muestra
en la figura 3 el diagrama de flujo en bloques para el algoritmo extractor de
raíz cuadrada.
4.1
EL PROCEDIMIENTO QUE SIGUE EL ALGORITMO ESEL SIGUIENTE:
Para obtener el valor de la raíz de cada dato en
particular simplemente se forma un apuntador de dirección de memoria con el
mismo, y el contenido de dicha dirección se carga en el registro de salida y
ese será el valor linealizado que se desea encontrar. Se saca el dato
hacia el DAC08 externo dirigiéndose la señal hacia otros instrumentos (véase
Fig. 5), la medición resultante se muestra en %, a continuación se visualiza el
dato en la pantalla de salida dispuesta en tres dígitos numéricos, para ello es
necesario convertir el dato a código BCD, ésta etapa se logra llamando a la
subrutina “BCD”. Se decodifica el dato BCD a siete segmentos llamando a otra
subrutina denominada “salida”.




5. ALTERNATIVA DE DISEÑO:
Una alternativa de diseño, y
que logra mejores resultados es el generar un algoritmo matemático que realice
la función de extraer al raíz cuadrada con punto flotante, así se obtienen más
dígitos en el resultado final, con menos líneas de código en lenguaje
ensamblador, se necesitan aproximadamente 30 instrucciones en
lenguaje assembly, para hacer que en el desarrollo actual de este
documento aumente un digito más se hace necesario aumentar la tabla a mil
localidades, y si se desea otro digito más se deben aumentar a diez mil
localidades, y así en forma progresiva exponencial, obviamente no es practico
proceder de esa forma, pero si es menos complicado aunque laborioso, si se
tiene suficiente memoria de almacenamiento para los datos es posible proceder
de la forma más fácil, la memoria actualmente ya no es una restricción
importante, sin embargo con un algoritmo en punto flotante, la solución es
elegante, optima y deseable.
6. NIVEL DE INCERTIDUMBRE DE LAS MEDIDAS EXPERIMENTALES.
Las mediciones que se hacen con el “Circuito
Digital que Simplifica la Medición de Flujos”, logran una resolución del 1% de error en ±/- 10 mVolts, esto es 1/2 de LSB en
+/- 5 mVolts, el valor más inseguro lo proporcionan los parámetros de los
componentes pasivos, la calibración del circuito digital es simple y segura, el
circuito posee una precisión suficiente para aplicaciones de tipo industrial.
En la referencia [ 4 ], se realizo un circuito
con amplificadores operacionales en base a amplificadores logarítmicos y
antilogaritmitos, estos circuitos se realizan con diodos y la influencia de la
temperatura es considerable, generándose inestabilidad y errores en las
mediciones, con el circuito de la figura 4 se logran evitar los efectos que se
producen por medio de la temperatura, las mediciones son mas estables y los
resultados se mejoran considerablemente.