Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Memoria Práctica 2
Memoria Práctica 2
Realice un informe para cada una de las secciones expuestas a continuación, donde la extensión máxima
por ejercicio debe ser de 2 páginas para los 5 primeros ejercicios, y de 5 páginas para el ejercicio asignado
al grupo.
Destacar que se valorará fundamentalmente la interpretación de los resultados y discusión de los mismos.
Se deberá hacer referencia a los archivos de Matlab/Simulink suministrados como material adjunto.
Ejercicio 1.
Para nuestro sistema hemos elegido un punto de operación diferente a la temperatura ambiente,
la primera ventaja es que nos sirve para aprender las necesidades que necesita un punto de
operación el cual la entrada no es 0 y por tanto como se hace para llevarlo hasta el nuestro en
donde la entrada del primer transistor es del 17% y este alcanza una Tª de 310 K (37 ºC) y el
segundo motivo es que en el caso de querer enfriar el transistor se hace posible gracias a la
elevada temperatura.
En este punto es donde se calcula el PID con las especificaciones necesarias que nos proporciona
la práctica y donde el escalón que le metemos para calcularlo a partir de la función de
transferencia en bucle abierto es de 10 % extra
En este punto por técnicas de aproximación con un primer orden obtenemos la siguiente función
de transferencia.
k 0.53
Gba= =
τ ba s +1 126.72 s+1
Para el cálculo del PID se nos pide que utilicemos las siguientes estructuras:
1. PID paralelo
U s kp +ki
=
E s
kp=ki τ ba=1.986
1
ki= =0.0157
τ ba 0.95 k
Donde la parte integral nos hace error nulo y al considerar un primer orden no necesitamos filtro,
aunque sabemos que realmente nuestro sistema se comportó como una función de transferencia
con un cero y dos polos lo cuales pueden hacer que al darle un escalón si sobreoscile y se necesite
ayuda de un filtro.
Al ser los dos transistores de dinámica análoga hemos utilizado el mismo pid:
Proportional (P) = 𝐾
- Integral (I)= Ki
2. PID ideal
U Ti kp s+ kp
=
E Ti s
Ti=τ ba=126.72
Ti
kp= =1.9861
τ ba 0.95 k
- Proportional (P) = 𝐾
- Integral (I)=𝐾𝑖 = 1/𝑇𝑖
- El valor inicial de la integral en este caso debe ser igual a 𝑢(0) = 𝑢0/K
Ejercicio 2.
Para este apartado escogemos los parámetros del PID paralelo calculado anteriormente.
Y una vez se realiza la medición para la Tª 1 se cambia el modelo para hacerla con la Tª 2
Salida simulink
43
42
X 766
Y 42.2
41
Amplitud (ºK)
40 X 123.5
Y 40.3521
39
38
37 Temperatura
X1 Referencia
36 Y 36.95
0 200 400 600 800 1000 1200
Tiempo (s)
Entrada
28
26
Porcentaje de acción %
24
22
20
18
16
Señal de control
14
0 200 400 600 800 1000 1200
Tiempo (s)
Salida simulink
43
42
X 416.5
Y 42.2
41
Amplitud (ºK)
40 X 120.5
Y 40.3079
39
38 X1
Y 36.95
37 Temperatura
Referencia
36
0 200 400 600 800 1000 1200
Tiempo (s)
Entrada
28
26
Porcentaje de acción %
24
22
20
18
16
Señal de control
14
0 200 400 600 800 1000 1200
Tiempo (s)
Podemos concluir que se cumplen las especificaciones propuestas en los dos casos.
Ejercicio 3.
En este apartado realizamos en código el Pid paralelo para controlar al Tª 1 del transistor y para
que se pueda desarrollar el pleno funcionamiento sin problemas primeramente debemos llevar
nuestro sistema al punto de operación dándole la entrada que le dimos en bucle abierto.
En este punto debemos inicializar el pid pasando de manual a automático y así el valor de Tª 1 se
ajusta perfectamente a la referencia y el valor del Pid se calcula y queda constante.
En este momento se le añade un escalón y se comprueba que la Tª alcanza a la referencia con la
dinámica deseada.
Salida
40
Amplitud (ºK)
30
20
10
Temperatura
Referencia
0
0 500 1000 1500 2000 2500 3000
Tiempo (s)
Entrada
40
Porcentaje de acción %
30
20
10
0
Señal de control
Salida
46
44 X 2149
Y 42.2
42
Amplitud (ºK)
40
X 2127
X 1955
38 Y 40.1271
Y 36.95
36
Temperatura
34 Referencia
Entrada
36
34
Porcentaje de acción %
32
30
28
26
24 Señal de control
La cual se desvía muy poco de la calculada virtualmente que nos salía 120 por lo que nos podemos
dar como satisfechos con este resultado.
La señal de control no presenta ningún tipo de anomalía por lo que es apta y libre de deterioro en
el tiempo cercano.
Otra manera de hacerlo es llevar al sistema al punto de operación directamente con un PI, esto
nos ahorra tiempo y el valor de salida del PI se calcula desde el instante inicial.
En este caso no nos hace falta ningún tipo de filtro ya que la señal no produce sobreoscilaciones
de ningún tipo y ni estamos ante un caso de perturbaciones.
Ejercicio 4.
Introducimos el control PI en el sistema no lineal y vamos a poner una referencia lo suficientemente alta
como para que la señal de control supere el valor de 100 y veamos el efecto de la saturación en el sistema.
Para realizar esta prueba en simulación hemos hecho el siguiente esquema:
Temperatura
90 Referencia
80
Amplitud (ºC)
70
60
50
40
Entrada
Señal de control
350 Señal de control saturada
300
Porcentaje de acción %
250
200
150
100
50
Como se puede observar en la gráfica de la salida del sistema, vemos como es imposible alcanzar la
referencia ya que la señal de control que le estamos introduciendo supera el valor de saturación por
encima. Por ello a la máxima temperatura que podemos llegar es a unos 76 ° C aproximadamente.
Una vez visto el efecto que produce al no alcanzar la referencia, si vemos después cuando bajamos la
referencia que, si puede alcanzar, se produce un retardo en el sistema ya que no hemos implementado
nada que le diga al controlador que la señal tiene que ser como mucho 100. El retardo es causa de que el
controlador está dando valores muy superiores al 100 y cuando bajamos la referencia y recalculamos el
error vemos como comienza a bajar la señal de control, pero el sistema no reacciona porque nos
encontramos por encima del valor de saturación y es por ello por lo que obtenemos ese gran retardo.
Para solucionar esto vamos a introducir al mismo bloque PI que tenemos en Simulink la información
necesaria para que tenga en cuenta la saturación de nuestro sistema.
Temperatura
90 Referencia
80
Amplitud (ºC)
70
60
50
40
Entrada
100
Señal de control
90 Señal de control saturada
80
Porcentaje de acción %
70
60
50
40
30
20
10
0
0 500 1000 1500 2000 2500 3000
Tiempo (s)
Como vemos, una vez proporcionada la información correspondiente al bloque PI vemos que la respuesta
ya no presenta este retardo y como la salida del PI coincide con la entrada saturada del sistema.
Ahora en vez de tener el bloque PI que nos resuelve todo fácilmente, vamos a implementar bloque a
bloque el esquema anti windup:
Cambiamos el bloque PID de Simulink por el anterior esquema y realizamos un nuevo ensayo:
Salida
Temperatura
90 Referencia
80
Amplitud (ºC)
70
60
50
40
Entrada
100
90
80
Porcentaje de acción %
70
60
50
40
30
20
10
Señal de control
0
0 500 1000 1500 2000 2500 3000
Tiempo (s)
Como era de esperar, obtenemos la misma respuesta sin retardo como en el apartado anterior.
Ejercicio 5.
Una vez probado en simulación que el esquema anti windup funciona correctamente vamos a implementar
en código este esquema para trabajar con un script de Matlab y ver que podemos trabajar tanto en bloques
como en código, siendo este último, una gran forma de implementar sistemas de control en cualquier
lenguaje de programación que nos permita la lectura/escritura de variables de un sistema externo.
Una vez implementado todo el código necesario para poder tener un esquema anti windup, vamos a
realizar un ensayo con la placa y ver el funcionamiento que tiene:
Salida
90 Temperatura
Referencia
80
70
Amplitud (ºC)
60
50
40
30
Entrada
100 Señal de control
90
80
Porcentaje de acción %
70
60
50
40
30
20
10
Primero nos llevamos a nuestro sistema al punto de operación para partir de donde estamos trabajando,
una vez ahí, introducimos una nueva referencia de unos 5 grados de diferencia aproximadamente.
Una vez hemos alcanzado la referencia vamos a introducir otra aun mayor para llevar al sistema a que su
señal de control sature y cuando llevemos un tiempo determinado vamos a volver a la referencia a la que
estábamos para ver que sucede.
Como era de esperar, al cambiar la referencia de nuevo para volver donde estábamos, no existe ningún
retardo apreciable a causa de que la señal de control se haya disparado por encima del valor de saturación
como hubiera pasado si no se implementase este esquema.
Filtro de referencia.
La primera noción básica que debemos tener sobre el filtro en la referencia es como este influye en la
función de transferencia del bucle cerrado.
Y ( s) C ( s) G ( s ) NcNgNf
= F ( s )=
R ( s) 1+C ( s ) G ( s ) ( DcDg+ NcNg ) Df
Y (s ) G( s) NcDc
= =
D(s ) 1+C ( s ) G ( s ) ( DcDg + NcNg )
Donde el filtro solo afecta a la función de transferencia que relaciona la referencia con la salida y por tanto
se puede desacoplar la regulación del seguimiento de referencia.
Por tanto, el primer método que llevamos a cabo es conseguir la cancelación total del bucle cerrado y
además añadirle nuestra dinámica deseada, pero debe cumplir las siguientes condiciones cumpliendo
siempre ciertos requisitos de causalidad y estabilidad.
La función de transferencia resultante debe ser causal o estrictamente causal y debe tener todos son polos
en el semiplano izquierdo.
Ejemplo:
1
G ( s )=
( s +1 )n
Donde n > 1 y si no hay cancelaciones de ningún tipo se verifica que en la fdt de bucle cerrado
aparecen polos complejos (primera para n=3, segunda para n=4)
Y ( s) C ( s) G ( s ) NcNgNf
= F ( s )= → Nf =( DcDg+ NcNg )
R ( s) 1+C ( s ) G ( s ) ( DcDg+ NcNg ) Df Df =NcNg (τ bc s+1)
->
Otra de las técnicas es añadir un filtro paso bajo a la referencia para disminuir su sobreoscilacion
el cual podemos sintonizar con la siguiente formula
Siguiendo con el caso anterior obtuvimos como respuesta del sistema al siguiente:
Donde tenemos que llegar a un acuerdo entre la velocidad del sistema y la sobreoscilacion del
mismo, donde la mejor solución es la que proporcione el ingeniero dependiendo de las ventajas
que necesite.
Ahora vamos a realizar otro ejemplo donde vamos a demostrar el desacoplo de los problemas de
regulación y seguimiento.
Para ello hemos cogido el PI utilizado en los ejercicios anteriores y hemos aumentado los valores de K p y
K ipara que el sistema sobreoscile y rechace de una forma más rápida la perturbación que pueda tener el
sistema.
Salida
44 Temperatura
Referencia
43
42
Amplitud (ºC)
41
40
39
38
37
36
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Tiempo (s)
Entrada
70
Porcentaje de acción %
60
50
40
30
20
Señal de control
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Tiempo (s)
Como vemos el sistema se hace más rápido por lo cual tiene una señal de control mas rápida y con picos
mas notables y eso hace que nuestro sistema sobreoscile pero rechace muy rápidamente la perturbación.
Una vez comprobada la sobreoscilación vamos a desacoplar los problemas de seguimiento y regulación,
para ello vamos a diseñar un filtro que cancele la dinámica que se genera en bucle cerrado al introducir
este controlador e imponer la que queramos nosotros para el seguimiento de la referencia.
1 1
F ( s )= ·
Gbc τ bc s +1
0.04153 s+0.003278
Gbc = 2
s + 0.04943 s+ 0.003278
2 2
s +0.04943 s+ 0.003278 1 0.2 s + 0.009885 s+ 0.0006555
F ( s )= · =
0.04153 s +0.003278 120.39 s+1 2
s + 0.08722 s+ 0.0006555
Como vemos, el filtro es estrictamente casual y ya que no tenemos ningún cero de fase no mínima no
vamos a tener problema con la estabilidad del filtro.
Una vez calculado vamos a implementarlo a la simulación y ver que comportamiento obtenemos:
Salida
44
Temperatura
Referencia
43
42
Amplitud (ºC)
41
40 X 321
Y 40.3079
39
38
37
36
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Tiempo (s)
Entrada
30
28
26
Porcentaje de acción %
24
22
20
18
16
14 Señal de control
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Tiempo (s)
La dinámica obtenida es la esperada y vemos que la señal de control no varía tanto como lo hacia al
comienzo sin filtro. Ahora vamos a introducir todo en la placa y ver los resultados:
Salida
45
Temperatura
44 Referencia
43
42
Amplitud (ºC)
41
40 X 720.5
Y 40.4203
39
38
37
36
35
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Tiempo (s)
Entrada
70
60
Porcentaje de acción %
50
40
30
20
10
Señal de control
0 200 400 600 800 1000 1200 1400 1600 1800 2000
Tiempo (s)
Como se observa en la respuesta cumple las especificaciones impuestas para el bucle cerrado sin causar
sobreoscilaciones. Al principio si se generan las sobreoscilaciones ya que el filtro no esta actuando y aunque
lo estuviera podrían ocurrir ya que el filtro esta diseñado para un punto de operación.