Está en la página 1de 13

MODELADO Y ANÁLISIS

DE UN SISTEMA DE
LLENADO DE UN TANQUE

David Mateo Mogrovejo


Brandon Joel Paguay
Elvis Michael Salinas
Adrián Matías Yunga
UPS 2023
Contenido

1. MODELADO Y ANÁLISIS DE UN SISTEMA DE LLENADO DE UN TANQUE


BASADO EN UNA BOMBA BRUSHLESS.
2. Optimización De La Estabilidad Y Seguimiento De Setpoint En Un Sistema De Llenado
De Un Tanque Mediante Ajuste De Ganancias .
3. Implementación de Espacio de Estados a Arduino Mega y sensor Digital Diseñado con
transistores 2N3906.
4. Desarrollo del Algoritmo para implementar la planta en espacio de estado.
5. CONCLUSIONES.
1. MODELADO Y ANÁLISIS DE UN SISTEMA DE LLENADO DE UN TANQUE BASADO EN UNA
BOMBA BRUSHLESS.

• El sistema se ha diseñado teniendo en cuenta la información proporcionada en el datasheet de la bomba, que


indica una tasa de llenado de 24 litros por minuto (0.4 litros por segundo). Esta información es relevante
para determinar la ecuación diferencial y las matrices de estado del sistema.
• La ecuación diferencial dH(t)/dt = 0.4 * u(t) describe la tasa de cambio de la altura del agua en el balde en
función del tiempo, donde u(t) representa la entrada al sistema. Esta ecuación se deriva de la tasa de llenado
proporcionada en el datasheet de la bomba.
• Además, la elección de la matriz A = [-k 0; k 0] también se basa en la información del datasheet de la
bomba. Al establecer el coeficiente asociado a la altura del agua como negativo en la primera fila de la
matriz A, se garantiza la estabilidad del sistema, evitando que la altura del agua crezca de forma exponencial
y desborde el balde.
• Al considerar el datasheet de la bomba de 24 litros por minuto, se ha definido una ecuación diferencial y las
matrices de estado adecuadas para describir el comportamiento del sistema en relación con la tasa de llenado
y vaciado del balde. Esto permite un modelado preciso y una comprensión más completa del sistema.
• La matriz B se calculará considerando que solo hay una entrada:
B = [1.0; 0.0];
• La matriz C se puede establecer como una matriz fila [1 0] para indicar que la primera variable de estado
(nivel de llenado) es la única salida:
C = [1 0]
• Finalmente, la matriz D se establece en cero, ya que no hay una relación directa entre las entradas y las
salidas:
D = [0]
2. Optimización De La Estabilidad Y Seguimiento De Setpoint En Un Sistema De Llenado De Un Tanque
Mediante Ajuste De Ganancias

• Para lograr una mayor estabilidad en el sistema, es necesario determinar un vector de ganancias (k) que
permita que la respuesta del sistema siga al setpoint deseado. La elección adecuada de las ganancias k es
fundamental para controlar el comportamiento del sistema y asegurar su estabilidad.
• Al determinar un vector k óptimo, se busca establecer un equilibrio entre la velocidad de respuesta del
sistema y su estabilidad. Si las ganancias son demasiado altas, es posible que el sistema presente oscilaciones
o inestabilidades. Por otro lado, si las ganancias son demasiado bajas, la respuesta del sistema puede ser lenta
y no seguir adecuadamente el setpoint.
• Mediante el análisis y ajuste de las ganancias k, es posible optimizar el comportamiento del sistema,
asegurando una mayor estabilidad y un seguimiento preciso del setpoint deseado. Esto permite controlar de
manera efectiva el proceso de llenado del balde y obtener resultados consistentes y confiables.
• Para obtener el vector k, vamos a definir los polos deseados del sistema en 0 que es un polo obtenido y -1
para obtener una respuesta más rápida podemos permitirnos escoger este valor ya que están dentro del
rango del sistema. Los polos son los valores propios de la matriz de estado A y determinan la estabilidad y
respuesta del sistema. Al asignar los polos en estas ubicaciones específicas, podemos diseñar un controlador
que logre una respuesta deseada.
• Realizaremos la determinación del vector K por el método de sustitución directa.
Polos: Entonces:
(𝑠)(𝑠 + 1)
Comprobamos el punto anterior con Matlab:
Resolviendo:
𝑠𝐼 − 𝐴 + 𝐵(𝑘) =
• Ahora modelamos el sistema en lazo cerrado:

• El sistema con un valor de -1 presenta una respuesta más rápida debido a que la parte real del valor es
mayor en comparación con un sistema cuyos valores tienen una parte real más cercana a cero. La parte real
de un valor determina la tasa de decaimiento exponencial de la correspondiente variable de estado del
sistema.
• En el caso del valor -1, la variable de estado asociada decae exponencialmente con una constante de tiempo
más corta en comparación con las variables de estado correspondientes a valores con una parte real más
cercana a cero. La constante de tiempo está inversamente relacionada con la parte real del valor: a medida
que la parte real se acerca a cero, la constante de tiempo aumenta, lo que resulta en una respuesta más lenta
del sistema.
• Por lo tanto, el sistema con el valor -1 tiene una respuesta más rápida en términos de decaimiento
exponencial de sus variables de estado, lo que se traduce en un tiempo de respuesta más corto en
comparación con un sistema cuyos valores tienen una parte real más cercana a cero.
3. Implementación de Espacio de Estados a Arduino Mega y sensor Digital Diseñado con transistores
2N3906
• Se ha implementado un sensor digital utilizando transistores 2N3904. Este sensor está diseñado para detectar
la presencia de agua al pasar a través de un cable conectado a la base del transistor y a tierra. Cuando el agua
está presente, el transistor se activa, generando una señal de alto nivel lógico. Esta señal es captada por un
Arduino, que la interpreta y calcula el porcentaje de llenado del tanque correspondiente al nivel de agua
detectado.
4. Desarrollo del Algoritmo para implementar la planta en espacio de estado.

4.1. Definir las variables necesarias:


• Setpoint: Valor deseado del nivel de agua.
• nivelActual: Variable para almacenar el nivel de agua actual.
• bombaEncendida: Variable booleana para indicar si la bomba está encendida o apagada.
4.2. Inicializar las variables:
• nivelActual = Valor inicial del nivel de agua (por ejemplo, la lectura inicial).
• bombaEncendida = true (para encender la bomba inicialmente).
4.3. Configurar los pines del Arduino:
• Configurar el pin de control de la bomba como salida.
4.4. Definir las matrices de estado del sistema:
• A = [-0.4 0.0; 0.4 0.0]
• B = [1.0; 0.0]
• C = [1.0 0.0]
• D = [0.0]
4.5. En el bucle principal del programa:
• Medir el nivel de agua actual y almacenarlo en la variable nivelActual.
• Calcular la salida del sistema usando las ecuaciones de estado: salida = C * nivelActual,
4.6. Comparar la salida con el setpoint: •
• Si la salida es menor que el setpoint:
• Si bombaEncendida es false, encender la bomba y actualizar bombaEncendida a true.
4.7. Si la salida es mayor o igual al setpoint:
• Si bombaEncendida es true, apagar la bomba y actualizar bombaEncendida a false.
• Repetir el bucle principal continuamente para monitorear y controlar el nivel de agua.
Tarea: Análisis y simulación de un sistema con ajuste de ganancias

Instrucciones:

• Dados los polos del sistema: 0 y -2, encuentra el vector k.

• Utiliza el vector k encontrado para obtener la nueva matriz A.

• Implementa la nueva matriz A en un modelo de simulación utilizando Simulink.

• Grafica la respuesta del sistema en Simulink y analiza su comportamiento.


• Asignar un par de polos que haga que el sistema sea inestable y explicar su inestabilidad mediante el
diagrama de Bode.

Responde las siguientes preguntas:

a) ¿El sistema sigue siendo estable después del ajuste de ganancias?

b) ¿Qué cambios se presentarían en el sistema con este ajuste de ganancias?


5. CONCLUSIONES
• Es un sistema de control con oscilaciones, y esto se debe a que los polos del sistema no tienen parte
imaginaria. En otras palabras, los polos del sistema son números reales, lo que puede llevar a oscilaciones
indeseadas en la respuesta del sistema.

• Para poder ajustar las ganancias del sistema, se ha determinado que es necesario cambiar la bomba utilizada.
Según los resultados obtenidos en el espacio de estados, con una bomba de caudal de 24L/min, se obtuvo un
valor de -0.4 en el sistema. Sin embargo, para alcanzar un valor objetivo de -1, se requiere reemplazar la
bomba actual por otra diferente.

• El vector k ha desempeñado un papel fundamental en el proceso de determinar las ganancias necesarias para
realizar los ajustes requeridos en el sistema. Con la ayuda del vector k, se ha podido calcular las ganancias
adecuadas para lograr los reajustes necesarios y así alcanzar el objetivo deseado en el sistema de control.

• En resumen, se concluye que el sistema es oscilante debido a la falta de parte imaginaria en los polos, y para
realizar los ajustes de ganancias necesarios, se requiere cambiar la bomba actual. El vector k ha sido utilizado
para calcular las ganancias adecuadas y llevar a cabo los reajustes necesarios en el sistema.

También podría gustarte