Contenido principal

Modelar un sistema de control de temperatura bang-bang

Este ejemplo muestra cómo crear un sistema de control bang-bang para regular la temperatura de una caldera. Este ejemplo muestra un sistema de control bang-bang para regular la temperatura de una caldera. El sistema implementa un gráfico de Stateflow® para control y temporización, y un subsistema de Simulink® para modelar el comportamiento de la caldera. El sistema tiene dos componentes clave:

  • Bang-Bang Controller: gráfico de Stateflow que controla la temporización del ciclo de calefacción, gestiona los valores de consigna de la temperatura y maneja las transiciones de estados utilizando lógica temporal. Utiliza datos de punto fijo para representar la temperatura de la caldera.

  • Boiler Plant Model: subsistema de Simulink que simula la dinámica de temperatura en tiempo real para la caldera en diferentes estados.

Operación de lógica de control

El sistema Bang-Bang Controller comienza en el estado Off y sigue una secuencia controlada por la lógica temporal de Stateflow. Cuando inicializa el sistema:

  1. El estado Off se mantiene activo durante 40 segundos.

  2. A los 40 segundos, el controlador comprueba la temperatura de la caldera.

  3. Si la temperatura indica condiciones frías, el controlador pasa al estado On.

  4. El estado On se mantiene activo durante 20 segundos.

  5. El gráfico vuelve a pasar al estado Off. Este ciclo de 60 segundos continúa hasta que se detiene la simulación.

Las transiciones entre los estados On y Off se temporizan con el operador after. Por ejemplo, after(20,sec) activa la transición de On a Off después de 20 segundos. La etiqueta de transición after(40,sec)[cold()] activa la transición de Off a On si la función cold devuelve true después de 40 segundos.

El estado Off utiliza un subestado denominado Flash con una transición de autobucle para controlar un LED de estado. La etiqueta de transición after(5,sec) activa la acción entry del subestado y hace que el LED parpadee cada 5 segundos.

Procesamiento de señales de temperatura

El subsistema Boiler Plant Model simula la reacción de la temperatura de la caldera durante periodos de calefacción o refrigeración. Dependiendo de la salida del gráfico Bang-Bang Controller, el subsistema añade o resta +1 para calefacción o –0.1 para refrigeración a la temperatura anterior de la caldera. Después, el gráfico pasa el resultado al subsistema Digital Thermometer.

En el subsistema Digital Thermometer, la señal de la temperatura pasa por tres fases que transforman las lecturas de la temperatura en valores de control digitales.

La señal de la temperatura pasa por tres fases de conversión consecutivas que transforman las lecturas no procesadas de la temperatura en valores de control digitales.

  1. El bloque Sensor convierte la temperatura de la caldera en tensión analógica mediante transformación lineal, lo que resulta en una tensión proporcional a la temperatura.

  2. El bloque Analog-to-Digital Converter transforma la tensión analógica en valores discretos de 8 bits. El sistema multiplica la tensión por un factor de conversión, redondea el resultado al entero más cercano y lo restringe para mantener los límites de 8 bits. La salida es un entero cuantizado.

  3. El bloque Linear Fixed-Point Conversion procesa los enteros de 8 bits y los convierte a valores de temperatura finales. Aplica una pendiente calibrada y un desplazamiento de sesgo para generar la lectura de temperatura digital. Esto mantiene la compatibilidad con el entorno de 8 bits a la vez que se conserva la precisión de medición.

Este sistema opera dentro de parámetros de 8 bits: un rango de entrada de 0-255, una resolución de 1/256 a escala completa y aritmética de punto fijo en todos los cálculos. Esta secuencia garantiza una representación consistente de la temperatura en todo el sistema de control, desde la entrada del sensor hasta la salida de control final.

Después, el gráfico Bang-Bang Controller recibe esta temperatura codificada digitalmente y la interpreta como un dato de punto fijo sin signo de 8 bits. El gráfico procesa los datos de temperatura en un entorno de 8 bits.

Resultados de la simulación

Los resultados de la simulación muestran que la caldera alcanza 20 °C después de 450 segundos (7,5 minutos). Después, el controlador bang-bang mantiene esta temperatura objetivo durante el tiempo de ejecución restante.

Consulte también

| | (Simulink)

Temas