Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Objetivos
Familiarizarse con las caracterı́sticas básicas de un sistema dinámico en lazo abierto.
2. Preinforme
Explique con sus propias palabras las respuestas a las siguientes preguntas:
3. ¿Cuál es la diferencia entre un sistema dinámico en lazo abierto y un sistema dinámico en lazo
cerrado?
4. Consulte: ¿qué es Simulink de Matlab? ¿Cómo se emplean los bloques Gain, Sum, Sqrt, Integra-
tor, Step y Scope de Simulink? ¿Cómo se emplea el bloque to workspace de Simulink? ¿Cómo
graficar un structure with time en Matlab?
1
Tanque
Bomba
(h)
(u)
Reserva de agua
Una posible manera para describir este sistema dinámico es por medio de la siguiente ecuación
diferencial de primer orden:
dh p
A = −a 2gh + u (1)
dt
donde h denota la altura del nivel de agua del tanque, A su área transversal, a el área del orificio de
salida en la tapa inferior del tanque, g la aceleración de la gravedad y u el flujo de agua bombeado
desde la reserva hacia el tanque.
Usualmente, el objetivo en un sistema como este es regular el flujo u de la bomba con el fin de
poder establecer y mantener el nivel de agua h en un valor deseado hd . Cómo determinar dicho flujo
u es precisamente el problema que busca resolver la teorı́a de control. Con el fin de entender este
problema vamos a simular el sistema de la figura 1 en Simulink.
Simulink nos permite simular ecuaciones diferenciales mediante diagramas de bloques (pueden
pensarlo como una forma gráfica de programar). Para implementar la ecuación (1) vamos a considerar
la siguiente notación:
dh
= ḣ
dt
Z
h(t) = ḣ dt.
En Simulink, esta integración se puede realizar de forma sencilla con el bloque integrator tal como
se muestra en la figura 2.
El bloque integrator toma como entrada la señal ḣ y automáticamente la integra en el tiempo para
obtener la señal h. La razón de porque el bloque integrator se denota como 1s se hará evidente más
adelante en el curso, por ahora solo es necesario entender su función. Con esto en mente, lo único
que tenemos que hacer es expresar ḣ como una expresión algebraica que podamos implementar con
bloques sencillos y posteriormente integrarla para obtener h. De forma que:
√
a 2gh u
ḣ = − + (2)
A A
Esta ecuación se puede expresar en Simulink mediante el diagrama de bloques de la figura 3.
2
Figura 3: Diagrama de bloques en Simulink para el sistema de la ecuación (2).
Para poder correr este programa de Simulink es necesario definir las variables: A, a y g. Para esto
podemos crear un script de Matlab que contenga lo siguiente:
Tanque 2
(h2 )
Válvula
(γ)
Tanque 1
Bomba
(h1 )
(u)
Reserva de agua
Como se muestra en la figura 4 en este caso el sistema cuenta con una válvula que permite
distribuir el agua bombeada a los tanques 1 y 2. Este sistema dinámico se puede describir por medio
del siguiente sistema de ecuaciones diferenciales de primer orden.
dh1 p p
A1 = −a1 2gh1 + a2 2gh2 + γu (3)
dt
3
dh2 p
A2 = −a2 2gh2 + (1 − γ)u (4)
dt
donde hi denota la altura del nivel de agua del tanque i, Ai es el área transversal del tanque i, ai es el
área del orificio de salida en la tapa inferior del tanque i, i ∈ [1, 2], g es la aceleración de la gravedad,
u es el flujo de agua bombeado desde la reserva hacia los tanques, y γ ∈ [0, 1] es la proporción de
apertura de la válvula que regula el flujo de agua hacia los tanques.
Similar al caso anterior, podemos reescribir las ecuaciones (3) y (4) como ecuaciones algebraicas
para h˙1 y h˙2 :
a1 p a2 p γu
h˙1 = − 2gh1 + 2gh2 + (5)
A1 A1 A1
a2 p (1 − γ)u
h˙2 = − 2gh2 + (6)
A2 A2
Estas ecuaciones se pueden expresar en simulink mediante el diagrama de bloques de la figura 5.
To Workspace
h_1punto
gamma/A_1 1/s 2*g a_1/A_1
Integrator Gain2 Sqrt
Gain1 Gain3
1/A_1
Gain7
To Workspace1
u h_2punto
(1 - gamma)/A_2 1/s 2*g a_2
Step Integrator1 Gain4 Sqrt1
Gain5
Gain
1/A_2
Gain6
Figura 5: Diagrama de bloques en Simulink para el sistema con dos tanques acoplados.
Por razones que se harán más evidentes durante el curso, configure los bloques de To Workspace
añadidos en el diagrama (en la la figura 5 con nombres “To Workspace” y “To Workspace1”) como
se muestra en la figura 6.
4
Figura 6: Configuración del bloque To Workspace para que el formato de guardado sea en Structure
with Time.
Para poder correr este programa de Simulink es necesario definir las variables: A1 , A2 , a1 , a2 , g, y γ.
Para esto podemos crear un script de Matlab que contenga lo siguiente:
4. Procedimiento de la práctica
4.1. Sistema con un tanque de agua
1. Implemente en Simulink el diagrama de la figura 3 y ejecute el script de Matlab para asignar los
valores de las variables A = 1, a = 0.1 y g = 9.81. Configure el bloque Step con: Step time= 1,
Initial value= 0, Final value= 1, y Sample time= 0. Corra la simulación con T = 100s y
observe la señal h en el bloque Scope. ¿Qué valor final toma la altura del tanque? ¿Qué pasa si
incrementamos la señal u (Final value)?
2. Modifique poco a poco la señal u (Final value en el bloque Step) para que la altura del tanque
se establezca en exactamente 1m. ¿Cuál es el valor de u? ¿Cómo podrı́amos encontrar esta
respuesta de forma inmediata? Ayuda: pruebe valores en [0, 1].
3. Usando la misma señal de control u del punto anterior, modifique el valor de a a 0.2m2 y corra
de nuevo la simulación. ¿Cuál es la altura de establecimiento en este caso? ¿Qué pasó con el
tiempo de establecimiento?
5
4.2. Sistema con dos tanques de agua acoplados
1. Implemente en Simulink el diagrama de la figura 5 y ejecute el script de Matlab para asignar
los valores de las variables A1 = A2 = 1, a1 = a2 = 0.1, g = 9.81 y γ = 0.6. Configure el
bloque Step con: Step time= 1, Initial value= 0, Final value= 1, y Sample time= 0. Corra
la simulación con T = 100s y observe las señales h1 y h2 en un plot de Matlab. ¿Qué valores
toman las alturas de los tanques 1 y 2? ¿Qué pasa si incrementamos la señal u (Final value)?
2. Encuentre el valor de u para que la altura del tanque 1 se establezca exactamente en 1m.
Grafique en Matlab las señales de alturas h1 y h2 en una sola figura, y la señal de entrada u
en otra figura adicional.
3. Usando el mismo valor de u del punto anterior, vuelva a correr la simulación con γ = 0.1.
¿Cuáles son las nuevas alturas de establecimiento? ¿Qué pasó con el tiempo de establecimiento?
Presente las alturas h1 y h2 en una figura de Matlab.
3. Presentar figura en Matlab con acción de control u de punto 5.2.2 (requerida para el informe).
4. Presentar figura en Matlab con alturas h1 y h2 de punto 5.2.3 (requerida para el informe).
5. Responder a la pregunta: ¿Qué problemas tiene un control en lazo abierto cuando se modifican
los parámetros del sistema? ¿Cómo se podrı́an corregir dichos problemas?