Pontificia Universidad Católica de Chile
Escuela de Ingenierı́a
Departamento de Ingenierı́a Eléctrica
IEE2683 – Laboratorio de Control Automático
PID
Grupo 1 Sección 1
Integrantes:
Jose Luis Saez
Sebastián Astorga
Benjamin Farias
Trabajo Previo
Curva de Reacción de un Sistema
Es una representación gráfica, generalmente en el dominio del tiempo, que muestra el comportamiento
de un sistema respecto a una determinada entrada (escalon, impulso, sinusoides). Esto permite analizar
el comportamiento dinámico y la estabilidad del sistema.
Algunos parámetros de interés que se pueden obtener de esta curva son los siguientes, según la frecuencia
natural de oscilación del sistema ωn y su coeficiente de amortiguamiento ζ.
Figura 1: Curva de reacción de un sistema
1
Tiempo de Respuesta (tr ): Tiempo requerido para que la respuesta vaya del 10 % hasta el 90 % del
valor final. Aproximadamente:
ωn tr = 1.76ζ 3 − 0.417ζ 2 + 1.039ζ + 1
Tiempo de Peak(tp ):Tiempo requerido para alcanzar el primer máximo sobrepaso(Overshoot).
π
tp = p
ωn 1 − ζ2
Tiempo de estabilización (ts ): Tiempo requerido para que las osacilaciones de la respuesta transiente
oscilen dentro de ±2 % del valor en estado estacionario. Aproximadamente:
4
tss ≈
ζωn
Porcentaje de Sobrepaso-Overshoot( %OS): El mayor pico que se produce en la respuesta del sistema
comparado con el valor en estado estacionario, expresado en porcentaje.
ymax − yf inal
%OS =
yf inal
Criterio Cuártico
Este criterio se utiliza para analizar la estabilidad de sistemas dinámicos de cuarto orden, basándose
en los coeficientes del polinomio carácterı́stico del sistema. Esto, principalmente para observar que raı́ces
tienen parte real positiva (polos en el semiplano derecho), lo que se traduce en inestabilidad. El principal
beneficio de este criterio es que permite determinar el comportamiento de un sistema sin resolver la
ecuación que lo define, lo que en algunas ocasiones puede ser complejo.
Representación en variables de estado y función de transferencia
tenemos que la ecuación dinámica del sistema que relaciona la altura de la bola de masa m en función
de la corriente que pasa por el levitador es:
−x
Ls e a i2
f (i, x) = ẍ = g − (1)
2ma
Para representar la ecuación en sus variables de estado es necesario linealizar el sistema en torno a un
punto de equilibrio (io , xo ). Suponiendo que la altura inicial se puede conocer al ser medida, despejamos
la corriente en (1). Se obtiene
−xo
Ls e a i2o
x¨o + −g =0
2ma
Al despejar io y como x¨o es cero al ser la derivada de una constante:
s
2gma
io = −xo
Ls e a
2
Por último, considerando xo = 0: s
2gma
io =
Ls
. Ahora, ya conociendo el punto de equilibrio
s !
2gma
,0
Ls
La ecuación linealizada en torno a este punto vendrı́a dada por:
∂ ∂
flin (xo , io ) = f (xo , io )∆x + f (xo , io )∆i
∂x ∂i
. Por lo tanto, se obtiene:
!
i2o LS io LS
flin (xo , io ) = x− i (2)
2ma2 ma
. Ahora, para la representación en variables de estado nos interesa conocer la posición x, por lo tanto
definiendo x1 y x2:
" # " # " # " # " #
x1 x x˙1 ẋ x2
= = =
x2 ẋ x˙2 ẍ ẍ
De esta manera " # " #
x˙1
= x2
i2o LS
io LS
x˙2 2ma2
x1 − ma i
Reescribiendo en función de las variables de estado, y matrices:
" # " #" # " #" #
x˙1 0 1 x1 0 i1
= i2o LS + io LS
x˙2 2ma2
0 x2 ma
i2
Con ello las matrices asociadas a la representación en variables de estado son las siguientes:
! !
0 1 0
A= i2o LS B= io LS C= 1 0
2ma2
0 ma
Donde la matriz C tiene el 1 en la posición de la variable de interés, en este caso la posición x. Ahora,
para determinar la función de transferencia podemos utilizar la siguiente fórmula:
X(s)
= G(s) = C(sI − A)−1 B + D (3)
I(s)
con I la matriz identidad, y D igual a 0. Reemplazando en (3) se obtiene:
i Ls
G(s) = − o
i2o Ls
am s2 − 2a2 m
Notamos que al multiplicar por io arriba y abajo se obtiene:
−2agmLs
G(s) =
Ls amio (s2 − ag )
3
Simplificando:
−2g
G(s) = (4)
io (s2 − ag )
Graficando en matlab el diagrama de polos y zeros:
Figura 2: Polos y ceros sistema levitador magnetico
Notamos que el sistema posee un polo en el semiplano derecho, osea que es inestable en lazo abierto.
Respuesta de la planta con controlador P y PID
Ahora, analizando el LGR de la planta en lazo abierto, en la figura 4 notamos que esta tiene dos
polos, uno en cada semiplano del eje imaginario, Debido a esto no es posible controlar la planta con un
controlador netamente proporcional, ya que este tipo de controladores no introduce ni un polo ni un cero
al sistema, por lo que no hace ningún efecto en el LGR mas allá de afectar la distancia en la que están
alejados los polos, por lo que no permite poder mover la raı́z del semiplano derecho al izquierdo. Esto
se puede también visualizar con la función de transferencia de la planta con un controlador netamente
proporcional como se detalla a continuación:
Kp G(s)
H(s) =
1 + Kp G(s)
-
−2gKp
io (s2 −g/a)
H(s) = io (s2 −g/a)−2gKp
io (s2 −g/a)
4
−2gKp
H(s) =
io (s2 − g/a) − 2gKp
1
H(s) = io 2
2gKp (s − g/a) − 1
De esta manera, los polos:
s
2gKp
s1,2 = ± + g/a
io
Por lo que queda demostrado que hacer crecer o disminuir Kp afectará en la separación simétrica que
tienen ambos polos de la planta en lazo abierto.
Figura 3: LGR Sistema levitador magnético en lazo abierto con controlador puramente proporcional
Por otro lado, para saber si es posible controlar la planta inestable con un controlador tipo PID, en
primer lugar hay que considerar que este, y como se puede ver en la ecuación (5), que es la función de
transferencia del controlador, incorpora 2 ceros y un polo al sistema.
de(t)
Z
u(t) = Kp e(t) + Ki e(t)dt + Kd
dt
U (s) 1
= C(s) = Kp + Ki + Kd s
E(s) s
Kd s2 + Kp s + Ki
C(s) = (5)
s
Esto puede ser de particular interés, ya que estos afectan el LGR de la planta, y podrı́an construir
un camino para que el polo en el semiplano derecho se mueva al izquierdo. Para comprobar si esto es
posible, se utilizó la función rltool de matlab, la cual retorna un gráfico del LGR y la respuesta al escalón.
En particular, las cruces en azul corresponden a los polos de la planta en lazo abierto. Los circulos y
cruz en rojo corresponden a la ubicación de los ceros y polos, respectivamente, del PID. Por último, las
lı́neas azules corresponden a la lı́nea por donde se podrı́an mover las raı́ces, en este caso notamos que
pasan del semiplano derecho al izquierdo, por lo que es correcto concluir que un controlador PID sirve
para estabilizar la planta, ya que afecta el LGR de la planta haciendo un camino para que el polo del
semiplano izquierdo pueda pasar al derecho. En el gráfico este ”traslado”de los polos se observa en los
cuadrdos purpuras, en particular notamos que para determinados valores del controlador logramos tener
los 3 polos (cuadros púrpura) en el semiplano izquierdo.
5
Figura 4: LGR de planta con controlador PID (rltool de matlab)
Otras técnicas de sintonización
Existen diversas técnicas de sintonización, una de ellas es obtener los parámetros con la herramienta
rltool como se detallo en el punto anterior, no obstante, el método que se utilizará es el de Tyreus y
Luyben. Este es muy similar al de Ziegler-Nichols, ya que se calculan los pesos del controlador a partir
de una tabla en base a la ganancia y perı́odo crı́ticos de la planta en lazo abierto. Dicha tabla se detalla
a continuación:
Controlador Kp Ti Td
Ku
P – –
3.2
Ku
PI 2.2 · Pu –
2.2
Ku Pu
PID 2.2 · Pu
2.2 6.3
Tabla 1: Parámetros de sintonización según el método de Tyreus-Luyben
La principal diferencia que tiene este método con el de Ziegler-Nichols es que presenta mejor desempeño
en cuanto a estabilidad y robustez, a costa de un mayor tiempo de respuesta. Consecuencia de esto es que
la sintonización se ocupe mas para procesos lentos o ruidosos, a diferencia del de Ziegler que se utiliza
para sistemas donde se busca una respuesta más rápida.
Desarrollo de la experiencia
Levitador magnetico
Setup
Para el setup del levitador magnético, en primer lugar se debe encender este y conectar el arduino
al computador que tiene el modelo y la representración de los valores. A su vez, este computador puede
recibir distintos inputs como el tipo de onda de la referencia (pulsos o sinusoide), la amplitud, el periodo y
los pesos de los parámetros de un controlador PID. Como output, el programa muestra de manera gráfica
en tiempo real la señal de referencia, la posición de la bola metálica y el consumo de corriente por la
6
bobina ubicada en la parte superior del levitador magnético.
La idea de esta experiencia es ajustar los parámetros del PID de tal manera que la curva de reacción
del levitador magnético sea capaz de seguir un tren de pulsos con distinta frecuencia sin que la bola caiga.
Controlador PID sintonizado de manera heurı́stica
Para la sintonización del controlador PID heurı́sticamente se tomo como referencia la siguiente tabla
que resume el efecto que tiene modificar cada una de las constantes del PID
Figura 5: Efecto de los parámetros del PID en la curva de reacción
Considerando estos efectos, los valores del controlador PID que presentaron un mejor desempeño
fueron:
Kp = 0.3 Ki = 2 Kd = 5
En particular, para este sistema el valor de la constante proporcional e integral tienen que ser pequeñas,
ya que si hay mucho overshoot, la esfera podrı́a caer, haciendo imposible que el sistema se siga controlando
hasta colocar nuevamente la esfera en el punto de de equilibrio, sin embargo la constante integral no puede
ser muy baja debido a que habrı́a un mayor error en estado estable. Por último, el mayor valor lo tiene
el parámetro derivativo ya que es el que ayuda a minimizar este overshoot que podrı́a generar la caida
de la bola, además de que disminuye el tiempo de establecimiento haciendo más rápida la respuesta a
trenes de pulsos de mayor frecuencia. Cabe recalcar que el overshoot no es tan malo cuando la bola sube
en exceso, ya que la bola sigue bajo el campo magnético del levitador, sin embargo cuando el overshoot
se produce cuando baja, este puede generar que la posición de la bola baje demasiado, y que esta caiga.
A continuación, se detalla la respuesta a un escalón en lazo cerrado:
Figura 6: Respuesta al escalon planta con PID heuristico
7
Figura 7: Determinación de K y Perı́odo crı́tico
Controlador PID sintonizado con método Ziegler-Nichols
Para realizar esta sintonización es necesario conocer tanto la ganancia como el perı́odo crı́tico, para
esto lo ideal es con un controlador puramente proporcional encontrar el K máximo para el que el sistema
oscila de una manera crı́ticamente estable. Sin embargo, al ser inestable el levitador, no es posible realizar
esto con un controlador puramente proporcional, esto también se observo en la práctica donde al dejar
netamente K del controlador, la bola caı́a inmediatamente.
En base a esto, para determinar el K crı́tico lo que se hizo fue bajar al máximo los valores de la parte
integral y derivativa, en este caso se llevo Ki a cero y Kd a 0.9, generando la oscilación crı́ticamente
estable como se muestra en el gráfico a continuación:
A partir de este procedimiento, se determinó que Ku = 0.5 y Pu = 0.56. Luego, a partir de la tabla
de sintonización de Ziegler Nichols se obtuvieron los siguientes pesos para el PID:
Tipo de Controlador Kp Ti Td
P 0.5Ku – –
PI 0.45Ku Pu /1.2 –
PID 0.6Ku Pu /2 Pu /8
Tabla 2: Tabla de Ziegler-Nichols para lazo cerrado
Kp = 0.3 Ki = 1.07 Kd = 4.28
y la respuesta del sistema se presenta a continuación:
8
Figura 8: Respuesta escalon planta con PID sintonizado con Ziegler-Nichols
Controlador PID sintonizado con método Tyreus-Luyben
Con el mismo K y Pu, se sintonizo el controlador con la tabla del trabajo previo respectiva a este
método. El resultado fue el siguiente:
Figura 9: Respuesta escalon planta con PID sintonizado con Tyreus-Luyben
En particular, se observa que en el caso del tercer método, y tal como se mencionó en el trabajo
previo, el tiempo de estabilización es mayor, pero presenta menos oscilaciones respecto a los dos primeros,
además, con el perı́odo de 5s no alcanza a llegar a la referencia, por lo que se podrı́a decir que es el que
tiene el peor desempeño de los 3. Respecto al de Ziegler y Nichols, si bien este presenta un comportamiento
aceptable para la planta, se puede observar que el heurı́stico se estabiliza mucho más rápido, lo que se
puede observar en la segunda subida del pulso.
Debido a esto, se puede concluir que el método más adecuado para controlar esta planta es el heurı́stico,
esto se debe principalmente a que en este caso tanto el K como perı́odo crı́tico no fueron obtenidos
utilizando netamente el valor proporcional debido a la inestabilidad del sistema, por lo que los parámetros
se calculan con valores aproximados en vez de exactos. Además, la sintonización de manera heurı́stica
permite mayor flexibilidad según los requerimientos del controlador (overshoot, ts, tp, etc). Por último
también se podrı́a decir que el método heurı́stico es más seguro respecto a los otros 2, ya que al aplicar
un controlador P a una planta inestable la respuesta va a crecer hasta el lı́mite fı́sico permitido, lo que en
otro tipo de sistemas se podrı́a traducir incluso en explosiones. No obstante si se parte de unos valores
conservadores de PID, al tener la parte integral y derivativa la planta va a tener un comportamiento más
controlado.
Aumento de la frecuencia
Los resultados al aumentar la frecuencia de los 3 controladores se detallan a continuación: Al aumentar
9
Figura 10: Efecto de aumentar la frecuencia del tren de pulsos con distintos PID
la frecuencia lo que se busca es que la bola suba y baje más rápido, osea que el tiempo en el que puede
actuar el controlador se acota y por lo tanto se busca una respuesta más rapida sobre todo en cuanto
al tiempo de estabilización. En particular, notamos que cuando aumenta la frecuencia el método 3 es el
que presenta un peor desempeño, esto ya que como se mencionó previamente este método esta pensado
para plantas que no necesiten una respuesta tan rápida. Por otro lado, el método de Ziegler-Nichols y el
heurı́stico presentan un buen desempeño, sin embargo se puede observar que para mayor frecuencia es más
adecuado el heurı́stico debido a que tiene casi el mismo overshoot pero con menor tiempo de estabilización
y subida. De esto, se vuelve a reafirmar que el heurı́stico es el mejor método para estabilizar la planta.
Cálculo del error
Se cálculo el error para los 3 controladores con la fórmula:
ref erencia − planta
e(t) =
ref erencia
Esto se hizo para cada instante de tiempo, según el gráfico mostrado anteriormente y finalmente se
promediaron los resultados. Obteniendo:
ERRORheuristico = 0.0032
ERRORZiegler−N ichols = 0.0083
ERRORT yreus−Luyben = 0.0241
Nuevamente, al tener un menor error, el heurı́stico es el mejor método.
1. Motor de corriente continua
1.1. Simulaciones
1.1.1.
Para determinar la expresion aproximada de la funcion de transferencia, se utilizó matlab para reducir
la funcı́on, dandto como resultado lo siguiente:
(s) 4.1238 ∗ 106 s + 1.0427 ∗ 1012
G(S) = = (1)
VA (s) s3 + 2.5566 ∗ 105 s + 7.0828 ∗ 108 s + 1.2233 ∗ 109
10
1.1.2.
A partir de la ecuacion simplificada, se contruyen los driagramas de pólos y ceros, y el LGR, usando
el software labmat nuevamente:
Figura 11: Diagrama de polos y ceros
11
Figura 12: Diagrama LGR
De los diagramas anteriores se pueden determinar 3 polos y 1 cero:
Polos Ceros
-2.5286*105 -2.5285*105
-2.8*103
-1.73
Tabla 3: A sample table with 4 rows and 2 columns
Como se puede apreciar en el diagrama de polos y ceros y en la tabla que indica el lugar exacto de
ubicacion de estos. Se puede notar que tanto los polos como los ceros estan en el semiplano negativo del
sistema, lo que indicaria que el sistema es estable.
1.1.3.
Para graficar la respuesta del sistema en lazo abierto primero hay que considerar la ecuacion del sensor:
Ks
S(s) = (2)
1 + Cf Rf s
12
Para esta ecuacion se consideraron las siguientes constantes: Ks = 0.003, Cf = 100nF , Rf = 1.475k,
con esto se logra un filtro pasa bajops que permite filtrar el ruido del circuito acondicionador, con esto la
ecuacion queda:
0.003
S(s) = (3)
1 + 0.0001475s
Luego para considerar el efecto del sensor en el sistema final este se conecta en cascada por lo que la
funcion del sistema queda de la siguiente forma:
F (s) = G(s) ∗ S(s) (4)
Graficando la respuesta del sistema F (s) se obtiene el siguiente grafico con algunos puntos claves:
Figura 13: Respuesta al escalon en lazo abierto
De la grafica se puede notar que el sistema es estable y que converge a un valor de 2.56, lo que le toma
aproximadamente 3.5s en converger.
1.1.4.
Finalmente, para sintonizar el controlador PID, se utiliza el motodo de Ziegler y Nichols, para esto se
debe considerar la respuesta en lazo abierto hecha en el punto anterior y los siguientes puntos:
13
Figura 14: Analisis de la respuesta en lazo abierto
Luego para el calculo de los parametros se puede usar la siguiente tabla:
Tipo de controlador KP TI TD
K0 T
P ∞ 0
KL
K0 T L
PI 0,9 0
KL 0,3
K0 T
PID 1,2 2L 0,5L
KL
Tabla 4: Parámetros de controladores P, PI y PID
De acuerdo con lo anterior y la figura , las constantes son:
K0 = 1
K = 2.56
L = 0.5 ∗ 10−3
T = 0.71
De esta forma la planta se puede expresar como:
−3
K ∗ [Link] 2.56 ∗ e−0.5∗10 s
G(s) = = (5)
Ts + 1 0.71s + 1
Y los parametros para los controladores PI y PID reemplazando las constantes anteriores queda:
Tipo de controlador KP TI TD
PI 499.21 1.66*10−3 0
PID 665.625 0.001 0.00025
Tabla 5: Parámetros de controladores P, PI y PID
14
Luego graficando cada una de las respuestas se obtienen los siguientes graficos:
Figura 15: Respuesta del sistema con controlador PI
Notamos que la respuesta si bien mejora, no es de las mejores ya que posee un gran overshoot y
oscilaciones, por lo cual se prueba con un controlador PID:
Figura 16: Respuesta del sistema con controlador PID
15
Si bien con el PID, si9gue existiendo overshoot, este es menor y ademas el tiempo de establecimiento
disminuye considerablemente.
Finalmente, se compara el sistema con el controlador y en estado original:
Figura 17: Respuesta con y sin PID
Finalmente notamos que el impacto del controlador PID es significativo tanto en el tiempo de respuesta
como en overshoot que se logra.
16
Experimentos
1.1.5.
Debido a que la salida del generador esta amplificada en un factor de 10 a 1, para ingresar la retroali-
mentación se implemento un circuito amplificador y un circuito pasa bajos pasivo para reducir el ruido
generador por el generador, además luego de las pruebas se tuvimos que aplicar un inversor, debido a
que en un primer momento no tuvimos en cuenta que el amplificador implementado era inversor y esto
producı́a que divergiera el circuito PID en las primeras pruebas.
Figura 18: Acondicionador salida Generador
Se comprobó el funcionamiento de este circuito obteniendo el siguiente resultado:
Figura 19: Prueba circuito acondicionador
Donde se puede ver la disminución del ruido de la señal amarilla y su bajada del voltaje.
17
1.1.6.
Luego para verificar el comportamiento del sistema actuador-planta-sensor, se ingreso una señal cua-
drada al sistema obteniendo los siguientes resultados.
Figura 20: Prueba entrada señal cuadrada a sistema actuador-planta-sensor
Donde se puede ver como las salida, la cual es la señal amarilla, sigue el comportamiento de la
señal verde, sin embargo estas señales tienen mucho ruido y distorción, esto se puede deber a que para
realizar esta prueba no se utilizaron filtros anti ruido ni para la alimentación del driver ni para la salida del
generador, esto permite que se acumule tanto el ruido que produce la alimentación, el generador de señales
y el conjunto motor generador, que debido vibraciones u otros elementos genera un ruido significativo en
la salida.
1.1.7.
Para la implementación del circuito PID, se utilizo una primera etapa restadora donde se resta la
realimentación y la referencia, luego se colocan en paralelo 3 etapas, la proporcional (con un amplificador
inversor), la integradora y la derivativa, para al final sumar estas 3 etapas. Quedando ası́ el siguiente
circuito:
18
Figura 21: Circuito PID
Para luego buscar los valores de Kp y Ki para lograr el criterio 1:4 en los overshoot, buscando conseguir
lo siguiente:
Figura 22: Criterio 1:4
Lo cual se consiguió y fue presentado al profesor.
1.1.8.
Por ultimo, y teniendo en cuanta los parámetros encontrados para el controlador Ziegler-Nichols en el
punto 1.1.4 se implemento esto en el circuito analógico real obteniendo lo siguiente.
19
Figura 23: Resultado Ziegler-Nichols
Donde se puede observar como el controlador es capaz de seguir de manera correcta la referencia,
sin embargo la salida contempla ruido y su tiempo se subida puede ser considerado lento, ante esto, se
podrı́an considerar mejoras para la sintonizacion del PID utilizando otras técnicas o intentando un mejor
resultado de forma euristica, sin embargo esto queda fuera de esta experiencia.
20