Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
o
Control Automático, 2 GIA
1 Introducción
El objetivo de esta práctica es utilizar simulink para simular un sistema
no lineal y comparar su comportamiento con el sistema linealizado en Q(t)
torno a un punto de funcionamiento.
El sistema en cuestión está formado por dos depósitos situados vertical- 111
000
000
111
000
111
000
111
mente en serie y que se descargan por gravedad, de forma que el depósito 0000000
1111111
000 000
111
0000000
1111111 0
1
111
0
1
0000000
1111111 0
1
superior descarga sobre el inferior y éste a su vez desagua a un depósito 0000000
1111111
0000000
1111111 0
1
0
1
0000000
1111111 0
1
colector (véase la figura adjunta). 0000000
1111111 0
1 H1(t)
0000000
1111111 0
1
0000000
1111111 0
1
0000000
1111111
0000000
1111111 0
1
0
1
El sistema a simular se va a personalizar en función del DNI del alumno 0000000
1111111 0
1
0000000
1111111
0
1 0
1
11
00
fijando los parámetros del sistema y el punto de funcionamiento. Los 0
1
0
1
0
1 Qs1(t)
parámetros del sistema son la sección y el coeficiente de descarga de 0
1
0
1
0
1
cada depósito A1 , K1 , A2 y K2 . Cuando se requiera trabajar en torno a 011
100
00
11
00
11
un punto de funcionamiento especı́fico, éste vendrá determinado por la 00
11
00
11
00 00
11
0000000
1111111 11
0
1
0
1
altura de equilibrio H1eq . Los parámetros se fijan por las dos siguientes 0000000
1111111
0000000
1111111 0
1
0
1
0000000
1111111 0
1
tablas. La primera asigna los dı́gitos del DNI a los parámetros, siendo 0000000
1111111 0
1 H2(t)
0000000
1111111 0
1
0000000
1111111
0
1
0000000
1111111 0
1
11
00
el dı́gito 1 el más significativo. 0
1 0
1
0
1
0
1
0
1
0
1
0
1
0
1
01
10
0
1 Qs2(t)
Dı́gito DNI 1 2 3 4 5 6 7 8 0
1
0
1
0
1
Parámetro - - - H1eq A1 K1 A2 K2 0
1
La segunda tabla asigna a cada valor del dı́gito un valor del parámetro según corresponda (en
esta tabla, el subı́ndice i toma los valores i = {1, 2}).
[ ] [ 3
]
Valor del Dı́gito A i m2 Ki m √/min
m
H1eq [m]
0 0.01 7.00 × 10−3 0.50
1 0.02 7.60 × 10−3 0.60
2 0.03 8.20 × 10−3 0.70
3 0.04 8.80 × 10−3 0.80
4 0.05 9.40 × 10−3 0.90
5 0.06 10.00 × 10−3 1.00
6 0.07 10.60 × 10−3 1.10
7 0.08 11.20 × 10−3 1.20
8 0.09 11.80 × 10−3 1.30
9 0.10 12.40 × 10−3 1.40
1
2 Simulación de un depósito de sección constante
Partiendo del modelo dinámico del depósito 1, dado por la siguiente ecuación diferencial no
lineal: √
Q(t) = K1 H1 (t) + A1 Ḣ1 (t) (1)
Qeq = {0.0 · Qmax , 0.25 · Qmax , 0.5 · Qmax , 0.75 · Qmax , 1.0 · Qmax } (2)
• Linealice el modelo del depósito 1 en torno a dicho punto. Recuerde que, durante el proceso
de linealización, se introducen variables incrementales, de la siguiente forma:
En primer lugar, se especifica que, para todas las simulaciones a realizar en esta práctica, tanto
en esta sección como en las siguientes, el método de integración empleado (Solver) debe ser
ode45(Dormand-Prince) y que el máximo paso de integración usado (Max step size) se fija al
valor 0.01. Estos parámetros pueden ajustarse a través del menú que aparece en la ventana del
modelo (Menu→Simulation→Configuration Parameters), como se muestra en la figura 1.
2
Figure 1: Procedimiento para cambiar el método de integración y el paso máximo de integración
de simulink.
La justificación de esta exigencia no es otra que la de evitar una eventual disparidad de resultados
de las simulaciones, en relación con las que, en su momento, lleve a cabo el evaluador de la
práctica.
Primero se va a realizar la simulación del primer depósito (1). Para ello, se va a construir el
diagrama de bloques en simulink de la figura 2. El bloque sqrt permite obtiener la raı́z cuadrada
de una señal. Esta función se ha implementado a partir de un bloque denominado Math Function,
que puede encontrarse en el apartado Math Operations de la biblioteca de bloques de simulink.
Una vez añadido a nuestro modelo, haciendo doble click sobre el bloque, aparecerá un panel de
propiedades, en el que se puede seleccionar la operación matemática a realizar por el bloque.
En este caso se elegirá sqrt 1 .
Nota: Si, en un diagrama de bloques de simulink, se tiene seleccionado un bloque, éste puede
rotarse cómodamente pulsando Ctrl+R cuantas veces sea necesario. Esto puede ser útil para
orientar adecuadamente los bloques que aparecen en la parte inferior de la figura 2.
Alternativamente al diagrama de la figura 2, pueden obtenerse los valores de las señales de interés
en forma de variables disponibles en el espacio de trabajo de matlab, con el fin de realizar
representaciones gráficas personalizadas (mediante el comando plot() de matlab), sobre las que
se pueda tener más control. Para esto, como se explicó en el enunciado de la práctica 1, puede
1
Dependiendo de la versión de simulink, alternativamente, puede encontrarse un bloque Sqrt especı́fico, di-
rectamente disponible en el apartado Math Operations.
3
Q dH1/dt 1 H1
1/A1
s
Step Integrator Scope
Gain
Qs1
K1 sqrt
Math
Function
recurrirse a los bloques de tipo To Workspace, que pueden encontrarse en el apartado Sinks. En
la figura 3, se muestra esta segunda opción.
tSim
Clock To Workspace 1
Q dH1/dt 1 H1
1/A1 H1
s
To Workspace
Step Integrator
Gain
Qs1
K1 sqrt
Math
Function
Nota: Recuérdese que, preferentemente, debe usarse el formato de almacenamiento Array para
los bloques To Workspace.
El alumno deberá:
Qeq 0.0 · Qmax 0.25 · Qmax 0.5 · Qmax 0.75 · Qmax 1.0 · Qmax
H1eq p4(1) p4(2) p4(3) p4(4) p4(5)
4
Compare estos valores con los obtenidos en el estudio previo, a partir de la ecuación de
equilibrio.
• Inicializar el depósito a la altura de equilibrio correspondiente, H1eq , dada por las tablas de
parámetros. Para ello, tenga en cuenta que la salida del integrador es la altura, por lo que
el valor inicial del integrador corresponderá al valor inicial de dicha variable, H1 (0) = H1eq .
Para fijar el valor inicial del integrador se debe hacer doble click sobre el bloque integrador
y acceder a sus propiedades.
• Medir el valor de H1 (t) en t = 6 [min] [p5], frente a una entrada en escalón que se produzca
en t = 3 [min]; debe tomarse como valor inicial del escalón Qeq y como valor final α Qeq ,
con α = 1.1 y manteniendo el valor inicial de la altura del depósito a H1eq .
• Medir el valor de H1 (t) en t = 7 [min] [p6], frente a una entrada en escalón que se produzca
en t = 3 [min]; debe tomarse como valor inicial del escalón Qeq y como valor final α Qeq ,
con α = 0.9 y manteniendo el mismo valor inicial de la altura del depósito que en el punto
anterior.
Tras la linealización que se llevó a cabo en el trabajo previo, para la obtención de la función
de transferencia (3), en torno al punto de funcionamiento elegido, se desea ahora comparar el
comportamiento del sistema linealizado2 con el del sistema no lineal original. Para ello, se va a
implementar el diagrama de la figura 4.
Q 1 H1
1/A1
s
K1 sqrt
q N1(s) h1 H1lin
D1(s)
Transfer Fcn
Obsérvese que la entrada y salida del sistema linealizado son variables incrementales, por lo
que las señales reales se deben adaptar sumando y restando los valores constantes de equilibrio
correspondientes. Para ello, se puede tomar el bloque Constant del apartado Sources de la
biblioteca de bloques de simulink.
2
No debe usarse aquı́ la función de transferencia experimental que se obtendrı́a a partir de los parámetros
asociados a p7 y p8 del punto anterior, sino la obtenida analı́ticamente, durante el trabajo previo.
5
El alumno debe :
• Simular distintas entradas en torno al punto de equilibrio. Para ello, deberá tomar una
entrada en escalón con valor inicial Qeq y valor final α Qeq , para los valores de α =
{0.9, 1.1, 1.2, 1.5}.
• Determinar la diferencia (en valor absoluto) de las alturas en régimen permanente entre el
modelo no lineal y el linealizado [p9]. En la tabla 2, se muestra el formato de la respuesta.
La respuesta debe componerse en forma de un vector de matlab (ver sección 4).
La representación del sistema linealizado podrı́a haberse realizado también mediante su de-
scripción en espacio de estados:
donde es necesario obtener las matrices A, B y C, para una elección concreta del vector de
estados x(t). Esta alternativa podrı́a haberse añadido a la simulación como se muestra en la
figura 5, donde las matrices se introducen en un bloque denominado State-Space, que puede
encontrarse en el apartado Continuous de la biblioteca de bloques de simulink.
Q 1 H1
1/A1 H1
s
K1 sqrt
q N1(s) h1 H1lin
H1Lin
D1(s)
Transfer Fcn
q x’ = Ax+Bu h1 H1lin
H1LinEspacioEstados
y = Cx+Du
State −Space
6
3 Simulación del sistema de dos depósitos
Hasta el momento, se ha trabajado con el modelo del primer depósito de forma individual.
Considerando adicionalmente el modelo dinámico del segundo depósito, y teniendo en cuenta la
forma en que dicho depósito recibe caudal del primero, podemos plantear la siguiente ecuación
diferencial para este segundo depósito:
√ √
K1 H1 (t) = K2 H2 (t) + A2 Ḣ2 (t) (6)
En esta parte de la práctica, el alumno debe construir el diagrama de simulink que permita la
simulación del sistema correspondiente al modelo conjunto no lineal de los dos depósitos. Como
punto de partida, se deberán combinar las ecuaciones (1) y (6), para llegar al diagrama conjunto,
al que se le pueda proporcionar como entrada el caudal Q(t) y del que se pueda obtener como
salida la altura del segundo depósito H2 (t).
Posteriormente, debe comparar la evolución de la altura del depósito inferior H2 (t) con la que
resulta del modelo linealizado, cuya función de transferencia se obtuvo en (8).
7
• Simular distintas entradas en torno al punto de equilibrio. Para ello tomar una entrada en
escalón con valor inicial Qeq y valor final α Qeq , para los valores de α = {0.9, 1.1, 1.2, 1.5}.
• Determine el tiempo de establecimiento [min] al 95% del modelo no lineal [p14] y del
modelo linealizado [p15] para un valor de α = 0.9.
8
4 Instrucciones para entregar las respuestas en Goodle
• Para cada respuesta simple (un único número) hay que escribir una lı́nea con el siguiente
formato:
nombre = valor;
• Los decimales se separan utilizando el punto no la coma. Por ejemplo, para responder que
la altura de equilibrio del segundo depósito es 23.4, habrı́a que escribir la siguiente lı́nea:
p10 = 23.4;
• Para las respuestas p2, p3, p11 y p12 hay que utilizar el formato usado para definir
un bloque función de transferencia mediante un par de polinomios. Por ejemplo, para
introducir la función de transferencia:
2.4s + 1
G1 (s) =
3s2 + 0.45
habrı́a que escribir las siguiente lı́neas:
p2 = [2.4, 1];
p3 = [3, 0, 0.45];
• En caso de que alguno de los polinomios fuera una constante, los corchetes deben obviarse.
Por ejemplo, para indicar:
7
G1 (s) = 2
3s + 0.45
habrı́a que escribir las siguientes lı́neas:
p2 = 7;
p3 = [3, 0, 0.45];
• Para las respuestas p4, p9 y p13 hay que utilizar el mismo formato de matlab para intro-
ducción de vectores (que coincide con la forma explicada de introducción de polinomios).
Por ejemplo, para proporcionar los siguientes resultados para p9:
9
• Se recuerda que la unidad de tiempo utilizada en todos los modelos y, por lo tanto, en las
respuestas debe ser minutos.
p1 = 10.5;
p2 = -4.23;
p3 = [7.4, -12];
p4 = [-12, 2.4, 4.1, 3, -1.6];
p5 = 34;
p6 = 12;
p7 = 76.5;
p8 = 12;
p9 = [10,20,30,40];
p10 = 23.4;
p11 = 0.81;
p12 = [4, -3, 5.3];
p13 = [11, 22, 33, 44];
p14 = -3;
p15 = -2.4;
p16 = 7.25;
10