Control cuantitativo del totalizador de flujo
El microcontrolador AT89C55WD con función de vigilancia lanzado por ATMEL tiene una memoria de programa de 20K. Actualmente es un producto de la serie 8051 relativamente avanzado. La función de vigilancia se puede mejorar considerablemente. -La memoria interna del programa puede acomodar software con muchas funciones. La gran memoria interna del programa admite 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 cinco canales de entrada: flujo L, compensación de presión P, termopar TC y resistencia térmica Pt100, frecuencia F,. controlado por el interruptor de canal. El principio de funcionamiento básico del totalizador de flujo es: varias señales analógicas ingresan al convertidor A/D a través del circuito de señal de entrada y el interruptor de canal, y se convierten en señales digitales (el microprocesador cuenta directamente la señal de frecuencia), y el microprocesador lee los resultados del muestreo Muestra y controla la salida después del cálculo y la comparación con la configuración digital.
(Figura 1) Diagrama de bloques principal
(Figura 2) Diagrama funcional general
2. Circuito del sistema
Controlador de acumulación de flujo El El circuito consta del microcontrolador AT89C55WD, 5 circuitos de pantalla LED de 8 bits, 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 variable TLC465, AD694, circuito de salida conmutada, fuente de alimentación del teclado y Circuito de retroalimentación. Está compuesto por salida eléctrica y otros circuitos. 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 y 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 acumulativo del flujo SV. Controle el convertidor A/D CS5523 para recopilar datos a través de P1.0~P1.3. Los datos recopilados se procesarán a través de una serie de operaciones, como se muestra en la Figura 3. Los resultados de la operación mostrarán el valor instantáneo y el valor acumulativo a través de la ventana, y las luces indicadoras correspondientes se encenderán al mismo tiempo. La pérdida de datos puede ocurrir 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 almacenarán en el AT24C04. Los datos se recargarán. 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
La pantalla de tubo digital LED se utiliza en el acumulador y el valor del flujo instantáneo se muestra mediante dos tubos digitales negativos LG3641AG **** de cuatro vías. , caudal La visualización del valor acumulado utiliza un LG5641AG de cuatro canales 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 teclas y 8 luces indicadoras. HD7279 es un chip de interfaz para teclados y tubos digitales LED: puede controlar tubos digitales LED de 8 bits y teclados de 64 teclas, con interfaz SPI y pocos componentes periféricos. La interfaz con el microcontrolador adopta la interfaz serie SPI, que es conveniente y práctica.
3. Circuito de adquisición A/D
El circuito de adquisición A/D está compuesto principalmente por CS5523 de 16 bits, que es una interfaz serie SPI con un selector de chip. La selección de entrada para los 4 canales está controlada por TC4052.
4. Circuito de vigilancia
AT89C55WD es compatible con MCS-51, puede borrar y escribir eléctricamente el núcleo 1000 veces, el voltaje, la corriente y el consumo de energía son relativamente pequeños y tiene 20K. Memoria Flash borrable y temporizador de vigilancia de hardware.
El temporizador de vigilancia es un método para recuperarse de fallos del software del sistema. WDT consta de un contador de 13 bits y un registro de función especial de reinicio de vigilancia (WDTRST SFR). se apaga al reiniciar el sistema. Para habilitar el WDT, el usuario debe escribir 01EH y 0E1H secuencialmente en el WDTRST SFR en la ubicación 0A6H. Cuando el WDT está activo, el contador aumenta en uno después de cada ciclo de la máquina y el WDT no se puede desactivar excepto mediante un reinicio del hardware o un reinicio de desbordamiento del WDT. Cuando el contador se desborda, el WDT genera un pulso de reinicio alto en el pin RST.
Para mantener el WDT activo, 01EH y 0E1H deben escribirse en WDTRST periódicamente para evitar el desbordamiento del WDT. Cuando el contador de 13 bits del WDT llega a 8191 (1FFFH), el contador se desborda y provoca que el dispositivo se reinicie. Esto significa que el usuario debe restablecer el WDT al menos cada 8191 ciclos de la máquina. Para restablecer el WDT, se deben escribir 01EH y 0E1H en el registro de solo escritura WDTRST. Cuando WDT se desborda, se generará un pulso de reinicio de alto nivel en el pin RST con una duración de 98 x TOSC, TOSC = 1/FOSC. Para utilizar completamente el WDT, se debe escribir en WDTRST a intervalos regulares cuando sea necesario para evitar el desbordamiento del restablecimiento del WDT.
La siguiente es una rutina:
El temporizador de vigilancia en T1 tarda 50 milisegundos cada vez que se interrumpe. En este momento, el contador cuenta hasta 1 segundo y se incrementa en R19. 1. Cuando el programa principal o el subprograma no se ha borrado a R19 0 en 10 segundos, significa que es posible que el programa se haya "desaparecido". En este momento, el mecanismo de vigilancia está habilitado, se reinicia AT89C55WDAT89C55WD y la ejecución comienza desde la dirección 0000H.
R19 DATOS 13H;
R23 DATOS 17H; contador de ms
T1int: ; temporizador
MOV TH1, #4CH
p>
MOV TL1, #00H; cuenta el valor inicial de recarga completa (aproximadamente 50 ms)
INC R23 (20 veces *50 ms) = 1000 ms.*50 ms) = 1000 ms = 1 s;
MOV A, R23
CJNE A, #20, T1int_01; contar 1s completos
INC R19 usado para sincronización de vigilancia
MOV A, R19
CLR C
SUBB A, #10
JC T1int A, #10
SUBB A, # 10
JC T1int A, #10
SUBB A, #10
JC T1int_01 ; Detener y restablecer después de 10 segundos
CLR EA
MOV WDTRST, #01EH; habilitación WDT, 13 bits
MOV WDTRST, #0E1H; TOSC=1/FOSC.
JMP $
T1int_01: RETI
3. Parte del software del sistema
El software del sistema está programado con lenguaje ensamblador A51.
1. Lenguaje de programación
El sistema utiliza el compilador V7.0 C51 de Keil. A51 es un macroensamblador reutilizado que cumple el propósito de una máquina de funciones generales, es muy compatible con el macroensamblador MASM51 de INTEL, admite programación modular e interactúa 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 densidad
En la fórmula: ρ-densidad de condiciones de trabajo, ρ20-densidad estándar, T0-273 15 ℃, señal de entrada de compensación de temperatura T (unidad: ℃), señal de entrada de compensación de presión P, presión de diseño P0 (estándar = 0,10133 MPa), presión atmosférica PA 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 expresar en unos pocos diagramas de flujo Todo el proceso de cálculo del software. Aquí se proporciona un diagrama de flujo aproximado para expresar el flujo de trabajo simple del acumulador de flujo. Los detalles se muestran en la Figura 4.
(Figura 4) Diagrama de flujo del programa
IV. Programa
El programa fuente completo (incluidos los comentarios) ocupa 265 KB y ocupa mucho espacio. vapor, vapor sobrecalentado. Las formas de los termopares Pt100, de clasificación K y de clasificación E también se almacenan en la memoria del programa. El archivo HEX compilado tiene aproximadamente 16 KB, lo que ocupa sólo cuatro quintas partes de los 20 KB de memoria del programa, dejando los 4K restantes disponibles para futuras incorporaciones de nuevas funciones. Conclusión En el proceso de desarrollo del controlador de acumulación de flujo, utilizamos el software de programación A51 para el desarrollo y se utilizó AT24C04 como memoria para los parámetros de control y los valores acumulados. Al mismo tiempo, se configuró un dispositivo de vigilancia, por lo que el programa "se descontrola". El fenómeno era casi inexistente. Junto con el chip de administración de energía IMP807, ya no existe la pérdida de datos debido a un corte de energía.
El controlador totalizador de flujo que desarrollamos es bastante inteligente, como:
La compensación de temperatura T o presión P es anormal (excepto que no hay compensación de temperatura y presión), y la diferencia de presión ΔP Cuando es mayor que 0, la luz indicadora de temperatura o presión parpadea, indicando una compensación anormal de temperatura o presión. La densidad ρ se toma como el último valor. Después de apagar la energía, el valor de densidad no permanece sin cambios. El valor de densidad se toma como ρ = 1, y hay un caudal L y una diferencia de presión ΔP, pero el valor de flujo 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