Proyecto ELO329: Simulador de estanques




Problemática involucrada

    El problema que motivó la creación de este programa tiene que ver con sistemas de conexiones de estanques. La comprensión de estos sistemas es fundamental para un correcto entendimiento tanto de la física mecánica como para las características de control de sistemas o diseños de soluciones afines. El estudio por tanto se puede amenizar con un modelo dinámico de lo que sucede en el momento en el sistema, permitiendo así un aprendizaje más didáctico, enfocado tanto a estudiantes escolares como universitarios, se puede probar diseños de estos sistemas para su próxima implementación, o utilizar para comprobar ejercicios de fluidos.

    El sistema que se simula en el programa consta de estanques interconectados con válvulas y bombas en la entrada y salida del sistema. La bomba del inicio introduce el agua al sistema y la bomba del final saca agua del sistema. Existen dos formas de utilizar el programa, ya sea con control o manual y algunos ejemplos de la finalidad del uso del programa son:



Solución

    La solución implementada es un programa que consta de la simulación de dos estanques interconectados por una válvula, cada uno con una bomba. La bomba del primer estanque es la bomba de entrada, la cual introduce el agua al sistema, mientras que la segunda bomba es la de salida, la que saca agua del sistema. Las bombas se accionan con voltajes, mientras mayor el voltaje mayor el caudal de entrada, y lo mismo para la bomba de salida.

    La gracia del sistema es poder modificar los voltajes en las bombas, para lo cual se implementaron dos modos, el modo Manual y el Modo PID. El moto manual permite al usuario jugar con los voltajes de las bombas, para esto se utilizaron sliders, seteando con éstos los valores de cada voltaje y pudiendo ver como varía la altura de cada uno d elos estanques. El modo PID tiene ese nombre porque tiene un controlador PID (proporcional integrativo derivativo), el cual permite seguir una referencia con una tolerancia que se le pasan por parametros de cada una de las componentes del control, es decir la constante proporcional, la integrativa y la derivativa. En el modo PID ya no se setean los voltajes de las bombas manualmente, sino que se para como referencia la altura que se quiere en cada estanque y las constantes del control recién mencionadas, con estos valores el sistema controla el voltaje de las bombas para mantener la altura de los estanques.

Implementación del código

   El código fue implementado en Java, se utilizó el método iterativo e incremental en 4 etapas. La primera consiste en sólo dibujar los estanques y que se llenen de agua. La segunda etapa creaba los parametros seteables n la interfaz gráfica, como los sliders y la eleccion de modo que se aprecia en el panel principal. La tercera etapa consiste en permitir a la etapa dos que modificase los valores de atributos en el programa. La cuarta etapa implementaba el controlador PID, ya que hasta el momento sólo se podían setear distintos valores de éste pero no afectaba en nada al sistema, ya que no se utilizaban aún.

Diagrama de Clases

Pruebas

   Las pruebas de control funcionan bastante bien, al igual que el control manual, pero ¿Qué sucede en el caso en el cual empiricamente no sea posible que el controlador pueda tomar la referencia? Dando una referencia por ejemplo al controlador de la altura del segundo estanque mayor al primero, siendo la primera bomba sólo de entrada y la segunda sólo de salida es imposible. Al simularlo, para poder llegar a la altura señalada el controlador ingresa volatjes negativos, lo que el sistema interpreta como que las bombas cambian de sacar a meter agua al sistema. Próximamente se desea implementar una solución para este y otros problemas. Se adjuntan imágenes del programa en algunas pruebas. En la siguiente imagen se muestra el modo manual llenando la bomba

Cuando se apagan los voltajes luego de insertar agua en el estanque empieza la igualación de niveles:

Utilizando el modo de control PID, entregand referencias y valores de constantes el sistema, luego de que el sistema se estabilice, queda de la siguiente forma:

Por último se muestra la imagen del error mencionado anteriormente en el modo PID

Archivo .zip con el Simulador