Control cuantitativo del totalizador de flujo

Aplicación de AT89C55WD en totalizador de flujo inteligente

AT89C55WD, un microcontrolador con función de vigilancia lanzado por ATMEL Company, tiene memoria de programa de 20K y es uno de la serie 8051. Para productos más avanzados, el La función de vigilancia puede mejorar en gran medida la estabilidad del producto y la memoria interna del programa de gran capacidad puede acomodar software con muchas funciones. La siguiente es una breve introducción al método de diseño e implementación para desarrollar un controlador de acumulación de flujo utilizando A51 como herramienta de desarrollo y el microcontrolador AT89C55WD como núcleo.

1. Diseño general del controlador del totalizador de flujo

El totalizador de flujo tiene 5 canales de entrada: flujo L, compensación de presión P, termopar TC, resistencia térmica Pt100, frecuencia F. Controlado por interruptor de canal. El principio de funcionamiento básico del totalizador de flujo es: a través del circuito de señal de entrada, se envían varias señales analógicas al convertidor A/D a través del interruptor de canal y se convierten en señales digitales (el microprocesador cuenta directamente la señal de frecuencia), y el Microprocesador Los resultados del muestreo y el contenido de la configuración digital se calculan y comparan antes de la visualización y la salida de control.

(Figura 1) Diagrama de bloques principal

(Figura 2) Diagrama funcional general

2. Composición del circuito del sistema

Control de acumulación de flujo. El circuito del instrumento consta del microcontrolador AT89C55WD, circuito de pantalla LED de 5+8 dígitos, circuito de interruptor de canal TC4052, circuito de adquisición A/D, circuito de almacenamiento de datos AT24C04, circuito de administración de energía IMP708, circuito de salida de transmisión TLC465, AD694, circuito de salida de conmutación, teclado. y Está compuesto por circuitos como fuente de alimentación y salida de alimentación. Cada componente se presenta brevemente a continuación.

1. Microcontrolador AT89C55WD y composición del circuito

El microcontrolador AT89C55WD controla el chip controlador de pantalla 3D1 HD7279 a través de P0.0 ~ P0.3 y luego controla el tubo digital de 5 dígitos. muestra el valor PV del flujo instantáneo; acciona simultáneamente 5 botones y 8 indicadores LED. Conduzca el chip del controlador de pantalla 3D2 HD7279 a través de P0.4 ~ P0.7 y luego conduzca el tubo digital de 8 bits para mostrar el valor de acumulación de flujo SV. Controle el convertidor A/D CS5523 para recopilar datos a través de P1.0~P1.3. Los datos recopilados se procesan a través de una serie de operaciones, como se muestra en la Figura 3, y los resultados de la operación se muestran a través de la ventana de visualización para mostrar el valor instantáneo y el valor acumulado respectivamente, y al mismo tiempo se enciende la luz indicadora correspondiente. Puede producirse una pérdida de datos debido a cortes de energía inesperados. Para evitar la pérdida de datos, utilizamos el chip IMP708 para protección de apagado. Cuando el voltaje cae al umbral de 708 (como 4,6 voltios), los datos relevantes se almacenan en el AT24C04. se recarga. Además, los datos del teclado y el valor de acumulación de flujo también se almacenan en AT24C04.

2. Circuito de pantalla y teclado

En la calculadora se utiliza una pantalla de tubo digital LED. El valor del flujo instantáneo se muestra utilizando dos tubos digitales negativos cuádruples LG3641AG. El valor de flujo utiliza un tubo digital negativo LG5641AG cuádruple y un tubo digital negativo LG5611. Su chip controlador son dos HD7279, lo que no solo resuelve el problema de controlar tubos digitales de 13 bits, sino que también resuelve el problema de controlar 5 botones y 8 luces indicadoras. HD7279 es un chip de interfaz de teclado y tubo digital LED: puede controlar un tubo digital LED de 8 bits y un teclado de 64 teclas, una interfaz SPI y muy pocos componentes periféricos. La interfaz con el microcontrolador adopta el método de interfaz serial SPI, que es conveniente y práctico.

3. Circuito de adquisición A/D

El circuito de adquisición A/D está compuesto principalmente por el CS5523 de 16 bits. Este chip es una interfaz serie SPI y tiene un terminal de selección de chip. . Las entradas de los 4 canales están controladas por TC4052.

4. Circuito de vigilancia

AT89C55WD es compatible con MCS-51 y puede borrar y escribir eléctricamente el núcleo 1000 veces. Su voltaje, corriente y consumo de energía son relativamente pequeños. de memoria flash regrabable y temporizador de vigilancia de hardware.

El temporizador de vigilancia es un método de recuperación después de una falla del software del sistema. El WDT consta de un contador de 13 bits y el registro de función especial de reinicio de vigilancia (WDTRST SFR). cuando se reinicia.

Para habilitar WDT, el usuario debe escribir 01EH y 0E1H secuencialmente en el WDTRST SFR en la ubicación 0A6H. Cuando el WDT es válido, el contador aumenta en 1 después de cada ciclo de la máquina. No hay forma de invalidar el WDT, excepto el restablecimiento del desbordamiento del WDT. Cuando el contador se desborda, WDT genera un pulso alto de reinicio en el pin RST.

Para que WDT sea continuamente válido, 01EH y 0E1H deben escribirse en WDTRST en ciertos intervalos para evitar el desbordamiento de WDT. Cuando el contador de 13 bits de WDT cuenta hasta 8191 (1FFFH), el contador se desborda, lo que provoca que el dispositivo se reinicie. Esto significa que el usuario debe restablecer el WDT al menos una vez cada 8191 ciclos de la máquina. Para restablecer WDT, se deben escribir 01EH y 0E1H en el registro de solo escritura WDTRST. Cuando WDT se desborda, se genera un pulso de reinicio de alto nivel en el pin RST, con una duración de: 98×TOSC, TOSC=1/FOSC. Para aprovechar al máximo WDT, cuando sea necesario evitar el restablecimiento del desbordamiento de WDT, se debe escribir WDTRST cada cierto período.

La siguiente es una rutina:

Coloque el temporizador de vigilancia en T1. Cada interrupción tarda 50 ms. Cuando el contador llegue a 1 segundo, agregue 1 a R19. Cuando el programa principal o subprograma no borra R19 a 0 en 10 segundos, significa que el programa puede "ejecutarse". En este momento, el mecanismo de vigilancia está habilitado, el AT89C55WD se reinicia y la ejecución comienza desde la dirección 0000H.

R19 DATOS 13H ;

R23 DATOS 17H ;contador de ms

T1int: ;Temporizador (temporizador)

MOV TH1, # 4CH

MOV TL1, #00H ;Valor inicial de recarga completa (unos 50ms)

INC R23 ;(20 veces*50ms)=1000ms=1s

MOV A,R23

CJNE A,#20,T1int_01; rollover 1s hacia abajo

INC R19 usado para sincronización de vigilancia

MOV A ,R19

CLR C

SUBB A,#10

JC T1int_01 ;10 segundos para bajar, restablecer

CLR EA

MOV WDTRST,#01EH ;WDT habilitado, 13 bits

MOV WDTRST,#0E1H ;TOSC=1/FOSC

JMP $

T1int_01: RETI

3. Parte del software del sistema

El software del sistema está programado en lenguaje ensamblador A51.

1. Lenguaje de programación

Este sistema utiliza el compilador C51 de Keil Company V7.0. A51 es un macroensamblador de reubicación con uso de máquina de funciones universales. Es muy compatible con el macroensamblador MASM51 de INTEL, admite programación modular y puede interactuar fácilmente con lenguajes de alto nivel.

2. Modelo matemático y diseño del programa

El modelo matemático del totalizador de flujo es muy complejo e involucra decenas de fórmulas, pero la fórmula básica es:

(1) Caudal másico (2) Caudal volumétrico estándar

(3) Fórmula de cálculo de densidad

En la fórmula: ρ—densidad en condiciones de trabajo, ρ20—densidad en condiciones estándar, T0 —es 273,15 ℃, T—señal de entrada de compensación de temperatura (unidad: ℃), P—señal de entrada de compensación de presión, P0—presión de diseño (condición estándar = 0,10133MPa), PA—presión atmosférica en el punto de trabajo del instrumento.

(Figura 3) Modelo matemático básico y estructura de rama del programa

3 Proceso de trabajo

Debido a la complejidad de todo el sistema, es difícil de expresar. claramente en varios diagramas de flujo Todo el proceso de operación del software. A continuación se muestra un diagrama de flujo aproximado para describir el flujo de trabajo simple del totalizador de flujo. Consulte la Figura 4 para obtener más detalles.

(Figura 4) Diagrama de flujo del programa

IV. Programa

El programa fuente completo (incluidos los comentarios) ocupa 265 KB, lo que ocupa un gran espacio saturado. Las tablas de termopares de vapor, vapor sobrecalentado, Pt100, clasificación K y E también se encuentran en la memoria del programa. El archivo HEX ensamblado tiene aproximadamente 16 KB y utiliza solo cuatro quintas partes de los 20 KB de memoria del programa. Los 4K restantes se pueden dejar para agregar nuevas funciones en el futuro. Conclusión En el proceso de desarrollo del controlador totalizador de flujo, utilizamos la programación A51 para el desarrollo de software, utilizamos AT24C04 como memoria para los parámetros de control y valores acumulativos y configuramos un mecanismo de vigilancia. El fenómeno de "descontrol" del programa es casi inexistente. Junto con el chip de administración de energía IMP807, no hay pérdida de datos causada por un corte de energía.

El controlador totalizador de flujo que desarrollamos es muy inteligente, como por ejemplo:

Cuando hay una anomalía en la compensación de temperatura T o presión P (excepto si no hay compensación de temperatura y presión), la diferencia simultánea Si la presión ΔP es mayor que 0, la luz indicadora de temperatura o presión parpadea para indicar que hay una anomalía en la compensación de temperatura o presión. La densidad ρ toma el último valor. El valor de densidad no se mantiene después de apagar la energía. Cuando se vuelve a encender la energía, el valor de densidad es ρ = 1. Si hay una presión diferencial ΔP, habrá un caudal L, pero el valor del caudal. en este momento es un valor aproximado. Una vez rectificada la falla, el valor de acumulación de flujo vuelve a la normalidad.

/Article/mcuzh/200604/4105.html