Está en la página 1de 13

RESUMEN CUARTO PARCIAL

1 𝑑
𝑪𝒐𝒏𝒕𝒓𝒐𝒍𝒂𝒅𝒐𝒓 𝑷𝑰𝑫 𝒊𝒅𝒆𝒂𝒍 𝑢(𝑡) = 𝐾 [𝑒(𝑡) + ∫ 𝑒(𝑡)𝑑𝑡 + 𝑇𝑑 𝑒(𝑡)]
𝑇𝑖 𝑑𝑡
𝑢(𝑠) 11
= 𝑘 (1 + + 𝑇𝑑𝑠)
𝑒(𝑠) 𝑇𝑖 𝑠
Notas PID:
- Los ceros ayudan a disminuir ts y tr, pero si están atrás del polo dominante, porque después del polo presentan aumento
de sobre paso o sobre paso negativo.

1
𝑪𝒐𝒏𝒕𝒓𝒐𝒍𝒂𝒅𝒐𝒓 𝑷𝑰 𝑢(𝑡) = 𝐾 [𝑒(𝑡) + ∫ 𝑒(𝑡)𝑑𝑡]
𝑇𝑖
𝑢(𝑠) 11
= 𝑘 (1 + )
𝑒(𝑠) 𝑇𝑖 𝑠
Notas PI:
- La señal de control de un PI es más suave, tiende a volver sistemas lentos.
- Disminuye el ancho de banda, mejora: Mg(sube), Mf(sube), Mr(baja).
- Aumentar Ti produce colas en la respuesta transitoria.
- Disminuir Ti aumenta el número de oscilaciones.

𝑑
𝑪𝒐𝒏𝒕𝒓𝒐𝒍𝒂𝒅𝒐𝒓 𝑷𝑫 𝒊𝒅𝒆𝒂𝒍 𝑢(𝑡) = 𝐾 [𝑒(𝑡) + 𝑇𝑑 𝑒(𝑡)]
𝑑𝑡

𝑢(𝑠)
= 𝑘 (1 + 𝑇𝑑𝑠)
𝑒(𝑠)
Notas PD:
- Aumenta el ancho de banda: es decir un sistema más rápido, disminuye ts y tr.
- -Un PD es de carácter anticipativo, evita que el error siga (evita que siga las oscilaciones).
- Mejora: Mg, Mr, Mf.
- -Aumentar Td: el número de oscilaciones disminuye (tener en cuenta dónde quedan los ceros).
- Disminuir Td: el número de oscilaciones aumenta. O si la K es muy alta y Td muy baja, es como si solo fuera un
proporcional (K).
- No elimina el error en estado estable, porque la derivada de una constante es cero.

1
Estudiante: Hugo Mantilla Curso: Teoría de Control Tema: Diseño de Controladores Docente: Hernando González
Notas:
- La constante proporcional minimiza el error en estado estable ante una entrada rampa y disminuye ts y tr.
- Un controlador con psudoderivador permite acciones de control más suaves.
- Para evaluar si el compensador es el adecuado se debe tener en cuenta lo siguiente; Respuesta transitoria: ts, tr, Mp,
Respuesta en frecuencia: Mg, Mf, pico resonancia.
- En la práctica siempre se implementa un PI, luego si quiere mejor respuesta (más rápida), implementa un PD. Pero en los
proyectos usted debe verificar cuál controlador se ajusta mejor a su sistema.
- Ejemplo PD: se usa en motores y control de posición como quadrotor o brazo.
- Ejemplo PI: incubadora
- Un controlador PID, no necesariamente trabajas las tres constantes, pueder ser: I, PI, PID.
- Ceros: cerca del eje imaginario aumenta sobre paso.

DISEÑO CONTROLADOR EN CONTINUA (FRECUENCIA COMPLEJA)

1
𝐺𝑐(𝑠) = 𝐾 (1 + + 𝑇𝑑 ∗ 𝑠)
𝑇𝑖 ∗ 𝑠
𝑇𝑚 𝑇𝑚 𝐾∗𝑇𝑑
𝐾𝑝 = 𝐾 ∗ (1 − 2∗𝑇𝑖 ) 𝐾𝑖 = 𝐾 ∗ 𝑇𝑖
𝐾𝑑 = 𝑇𝑚

Estructuras

- PID ideal - I ideal - PI pseudo


𝑘(𝑠 + 𝑐1)(𝑠 + 𝑐2) 𝑘 𝐺𝑐𝑝𝑖(𝑠) = 𝑋 𝑛𝑜 𝑒𝑥𝑖𝑠𝑡𝑒
𝐺𝑐𝑝𝑖𝑑(𝑠) = 𝐺𝑐𝑖(𝑠) =
𝑠 𝑠
- D pseudo
- PD ideal - PID pseudo 𝑘𝑠
𝐺𝑐𝑝𝑑(𝑠) = 𝑘(𝑠 + 𝑐) 𝑘(𝑠 + 𝑐1)(𝑠 + 𝑐2) 𝐺𝑐𝑑(𝑧) =
𝐺𝑐𝑝𝑖𝑑(𝑠) = 𝑠+𝑛
𝑠(𝑠 + 𝑛)
- I pseudo
- PI ideal 𝐺𝑐𝑖(𝑠) = 𝑋 𝑛𝑜 𝑒𝑥𝑖𝑠𝑡𝑒
- PD pseudo
𝑘(𝑠 + 𝑐)
𝐺𝑐𝑝𝑖(𝑠) = 𝑘(𝑠 + 𝑐)
𝑠 𝐺𝑐𝑝𝑑(𝑠) =
𝑠+𝑛
- D ideal
𝐺𝑐𝑑(𝑠) = 𝑘𝑠

2
Estudiante: Hugo Mantilla Curso: Teoría de Control Tema: Diseño de Controladores Docente: Hernando González
DISEÑO CONTROLADOR EN DISCRETA

𝐾𝐼
𝐺𝑐 (𝑧) = 𝐾𝑃 + + 𝐾𝐷 (1 − 𝑧−1 )
1 − 𝑧−1

𝑢(𝑧) 𝐾𝑑(𝑧 − 1) 𝐾𝑖 ∗ 𝑧 𝑢(𝑧) 𝐾1𝑧 2 − 𝐾2𝑧 + 𝐾3


𝐺𝑐(𝑧) = = [ 𝐾𝑝 + + ] =
𝑒(𝑧) 𝑧 𝑧−1 𝑒(𝑧) 𝑧(𝑧 − 1)

𝐾𝑑(𝑧 − 1) 𝐾𝑖 ∗ 𝑧 𝐾𝑑 = 𝐾3
𝑢(𝑧) = [ 𝐾𝑝 + + ] 𝑒(𝑧)
𝑧 𝑧−1
𝐾𝑝 + 2 ∗ 𝐾𝑑 = 𝐾2

𝐾𝑝 + 𝐾𝑖 + 𝐾𝑑 = 𝐾1
𝑢(𝑧) (𝐾𝑝 + 𝐾𝑖 + 𝐾𝑑)𝑧 2 − (𝐾𝑝 + 2𝐾𝑑)𝑧 + 𝐾𝑑
=
𝑒(𝑧) 𝑧(𝑧 − 1)

Estructuras
- PID ideal - D ideal - PD pseudo
𝑘(𝑧 + 𝑐1)(𝑧 + 𝑐2) 𝑘(𝑧 − 1) 𝑘(𝑧 + 𝑐)
𝐺𝑐𝑝𝑖𝑑(𝑧) = 𝐺𝑐𝑑(𝑧) = 𝐺𝑐𝑝𝑑(𝑧) =
𝑧(𝑧 − 1) 𝑧 𝑧−𝑛

- PD ideal - I ideal
𝑘(𝑧 + 𝑐) 𝑘𝑧 - PI pseudo
𝐺𝑐𝑝𝑑(𝑧) = 𝐺𝑐𝑖(𝑧) =
𝑧 𝑧−1 𝐺𝑐𝑝𝑖(𝑧) = 𝑋 𝑛𝑜 𝑒𝑥𝑖𝑠𝑡𝑒

- PID pseudo - D pseudo


- PI ideal 𝑘(𝑧 + 𝑐1)(𝑧 + 𝑐2) 𝑘(𝑧 − 1)
𝐺𝑐𝑝𝑖𝑑(𝑧) = 𝐺𝑐𝑑(𝑧) =
𝑘(𝑧 + 𝑐) (𝑧 + 𝑛)(𝑧 − 1) 𝑧−𝑛
𝐺𝑐𝑝𝑖(𝑧) =
𝑧−1
- I pseudo
𝐺𝑐𝑖(𝑧) = 𝑋 𝑛𝑜 𝑒𝑥𝑖𝑠𝑡𝑒

3
Estudiante: Hugo Mantilla Curso: Teoría de Control Tema: Diseño de Controladores Docente: Hernando González
CONTROL CASCADA

Nota:
- Verificar primero la respuesta del lazo interno en discreta y en continua (aumentar # muestras), puede diferir según el
periodo de muestro.
- Al usar feedback en funciones muy grandes, se presenta un error, entonces es mejor verificar la respuesta transitoria en
rltool, porque feedback puede aproximar los polos o ceros y dejaros fuera del circulo unitario (inestable el sistema).
-

ECUACIÓN DE DIFERENCIAS
Ejemplo:

𝑢(𝑛) 𝑐1 ∗ 𝑧 2 − 𝑐2 ∗ 𝑧 + 𝑐3
𝐺= = 𝑠𝑎𝑙𝑖𝑑𝑎/ 𝑒𝑛𝑡𝑟𝑎𝑑𝑎
𝑒(𝑛) 𝑛1 ∗ 𝑧 2 − 𝑛2 ∗ 𝑧 + 𝑛3

𝑆𝑒 𝑚𝑢𝑙𝑡𝑖𝑝𝑙𝑖𝑐𝑎 𝑝𝑜𝑟 𝑒𝑙 𝑖𝑛𝑣𝑒𝑟𝑠𝑜 𝑑𝑒𝑙 𝑐𝑜𝑒𝑓𝑖𝑐𝑖𝑒𝑛𝑡𝑒 𝑑𝑒𝑙 𝑑𝑒𝑛𝑜𝑚𝑖𝑛𝑎𝑑𝑜𝑟 𝑑𝑒 𝑚𝑎𝑦𝑜𝑟 𝑜𝑟𝑑𝑒𝑛

𝑢(𝑛) 𝑐1 ∗ 𝑧 2 − 𝑐2 ∗ 𝑧 + 𝑐3 𝑧 −2
= ∗ ( )
𝑒(𝑛) 𝑛1 ∗ 𝑧 2 − 𝑛2 ∗ 𝑧 + 𝑛3 𝑧 −2

𝑢(𝑛) 𝑐1 − 𝑐2 ∗ 𝑧 −1 + 𝑐3𝑧 −2
= 𝑝𝑜𝑟 𝑙𝑜 𝑔𝑒𝑛𝑒𝑟𝑎𝑙 𝑛1 = 1
𝑒(𝑛) 𝑛1 − 𝑛2 ∗ 𝑧 −1 + 𝑛3 ∗ 𝑧 −2

𝑢(𝑛) ∗ [1 − 𝑛2 ∗ 𝑧 −1 + 𝑛3 ∗ 𝑧 −2 ] = 𝑒(𝑛) ∗ [𝑐1 − 𝑐2 ∗ 𝑧 −1 + 𝑐3𝑧 −2 ] 𝑑𝑒𝑠𝑝𝑒𝑗𝑎𝑟 𝑙𝑎 𝑠𝑎𝑙𝑖𝑑𝑎

𝒖(𝒏) = 𝑒(𝑛) ∗ 𝑐1 − 𝑒(𝑛) ∗ 𝑐2 ∗ 𝑧 −1 + 𝑒(𝑛) ∗ 𝑐2 ∗ 𝑧 −2 + 𝑢(𝑛) ∗ 𝑛2 ∗ 𝑧 −1 − 𝑢(𝑛) ∗ 𝑛3 ∗ 𝑧 −2

𝐸𝑐𝑢𝑎𝑐𝑖ó𝑛 𝑑𝑒 𝑑𝑖𝑓𝑒𝑟𝑒𝑛𝑐𝑖𝑎𝑠:

𝑢𝑛 = 𝑐1. 𝑒𝑛 − 𝑐2. 𝑒𝑛1 + 𝑐3. 𝑒𝑛2 + 𝑛2. 𝑢𝑛1 − 𝑛3. 𝑢𝑛2

4
Estudiante: Hugo Mantilla Curso: Teoría de Control Tema: Diseño de Controladores Docente: Hernando González
𝐸𝑙𝑒𝑚𝑒𝑛𝑡𝑜𝑠 𝑑𝑒 𝑚𝑒𝑚𝑜𝑟𝑖𝑎: 𝑒𝑛1 , 𝑒𝑛2 , 𝑢𝑛1 , 𝑢𝑛2

NOTAS RLTOOL

- Si el controlador es ideal la función es impropia, en compleja no hay gráfica de acción de control. Se discretiza a mano, y
en discreta sí se observa la acción de control. Pero esa acción tiene un pico muy alto, se satura.
- La gráfica de acción de control tiende a cero si la función tiene integrador. Tiende a un valor (1/Kst), la magnitud del step
sobre la ganancia estática.

PALABRAS CLAVES
- Bp: banda proporcional - Tm: periodo de muestreo
- Mp: sobre paso (overshoot) - ts: tiempo de establecimiento
- Mf: margen de fase - tr: tiempo de levantamiento

5
Estudiante: Hugo Mantilla Curso: Teoría de Control Tema: Diseño de Controladores Docente: Hernando González
PSEUDOCÓIGO

- El pseudocódigo correspondiente a un controlador PID anti-windup es:

en_1 = 0 Error una muestra anterior


I_error _1 = 0 Memoria integral del error
Inicialización de variables de almacenamiento
dif_act = 0 Indicador saturación actuador
fk_n = 0 Elementos memoria filtro
Kp
Ki
Inicialización de constantes
Kd
Ka
SP = Valor del setpoint
PV = Valor de la variable del proceso
PV_f = Ecuación de diferencias del filtro
en = SP – PV_f
A_p = Kp * en
A_d = Kd * (en – en_1)
I_error = en + I_error _1 //– Ka*dif_act
A_i = Ki* I_error
Uc = A_p + A_d + A_i

Programa principal If Uc < 0


un = 0
If 0 < Uc < 100
un = Uc
If Uc > 100
un = 100

Actualizar % PWM = un
en_1 = en
I_error _1 = I_error
dif_act = Uc – un

6
Estudiante: Hugo Mantilla Curso: Teoría de Control Tema: Diseño de Controladores Docente: Hernando González
fk_n Actualizar registros del filtro

- El pseudocódigo correspondiente a un controlador PI - D es:

yn_1 = 0 PV una muestra anterior


I_error _1 = 0 Memoria integral del error
Inicialización de variables de almacenamiento
dif_act = 0 Indicador saturación actuador
fk_n = 0 Elementos memoria filtro
Kp
Ki
Inicialización de constantes
Kd
Ka
SP = Valor del setpoint
PV = Valor de la variable del proceso
PV_f = Ecuación de diferencias del filtro
en = SP – PV_f
A_p = Kp * en
A_d = Kd * (PV_f – yn_1)
I_error = en + I_error _1 – Ka*dif_act
A_i = Ki* I_error
Uc = A_p + A_i - A_d

If Uc < 0
Programa principal
un = 0
If 0 < Uc < 100
un = Uc
If Uc > 100
un = 100

Actualizar % PWM = un
yn_1 = PV_f
I_error _1 = I_error
dif_act = Uc – un
fk_n Actualizar registros del filtro

7
Estudiante: Hugo Mantilla Curso: Teoría de Control Tema: Diseño de Controladores Docente: Hernando González
- El pseudocódigo correspondiente a un controlador I - PD es:

yn_1 = 0 PV una muestra anterior


I_error _1 = 0 Memoria integral del error
Inicialización de variables de almacenamiento
dif_act = 0 Indicador saturación actuador
fk_n = 0 Elementos memoria filtro
Kp
Ki
Inicialización de constantes
Kd
Ka
SP = Valor del setpoint
PV = Valor de la variable del proceso
PV_f = Ecuación de diferencias del filtro
en = SP – PV_f
A_p = Kp * PV_f
A_d = Kd * (PV_f – yn_1)
I_error = en + I_error _1 – Ka*dif_act
A_i = Ki* I_error
Uc = A_i - A_d - A_p

If Uc < 0
Programa principal
un = 0
If 0 < Uc < 100
un = Uc
If Uc > 100
un = 100

Actualizar % PWM = un
yn_1 = PV_f
I_error _1 = I_error
dif_act = Uc – un
fk_n Actualizar registros del filtro

8
Estudiante: Hugo Mantilla Curso: Teoría de Control Tema: Diseño de Controladores Docente: Hernando González
- El pseudocódigo correspondiente a un controlador de dos grados de libertad, con acción sobre la señal
de referencia, es:

Sp_1 = 0 Setpoint una muestra anterior


en_1 = 0 Error una muestra anterior
Inicialización de variables de almacenamiento I_error _1 = 0 Memoria integral del error
dif_act = 0 Indicador saturación actuador
fk_n = 0 Elementos memoria filtro
Kp
Ki
Inicialización de constantes Kd
Kd1
Ka
SP = Valor del setpoint
PV = Valor de la variable del proceso
PV_f = Ecuación de diferencias del filtro
en = SP – PV_f
A_p = Kp * en
I_error = en + I_error _1 – Ka*dif_act
A_i = Ki* I_error
U1 = A_p + A_i

A_d1 = Kd1 * (Sp – Sp_1)


Programa principal
U2 = A_d1

Uc = U1 + U2

If Uc < 0
un = 0
If 0 < Uc < 100
un = Uc
If Uc > 100
un = 100

9
Estudiante: Hugo Mantilla Curso: Teoría de Control Tema: Diseño de Controladores Docente: Hernando González
Actualizar % PWM = un
Sp_1 = Sp
en_1 = en
I_error _1 = I_error
dif_act = Uc – un
fk_n Actualizar registros del filtro

Ejemplo: Control en cascada


Un1 = 19.1en – 37.62ena_1 + 18.53ena_2 + 1.98un_1 – 0.9802un_2
Un2 = 203.2en – 403.2enb_1 + 200enb_2 + un2_1
ena_1 = 0
ena_2 = 0
un_1 = 0
un_2 = 0
un2_1 = 0
enb_1 = 0
enb_2 = 0
dif.act.1 = 0
dif.act.2 = 0
Leer SP, Pv1, Pv2
ena = SP – Pv1
Un1 = 19.1en – 37.62en_1 + 18.53en_2 + 1.98un_1 – 0.9802un_2
If Un1 > Un1_max
SPb = Un1_max
If Un1 < Un1_min
SPb = Un1_min
If Un1 > Un1_min
SPb = Un1
enb = SPb – Pv2
Un2 = 203.2en – 403.2en_1 + 200en_2 + un2_1
If Un2 > Un2_max
U = Un2
If Un2 < Un2_min
U = Un2
If Un2 > Un2_min & Un2 < Un2_max
U = Un2

10
Estudiante: Hugo Mantilla Curso: Teoría de Control Tema: Diseño de Controladores Docente: Hernando González
Out(U)
ena_2 = ena_1
ena_1 = ena
enb_2 = enb_1
enb_1 = enb
un_2 = un_1
un_1 = un
un2_1 = un_2
dif.act.1 = Un1 - SPb
dif.act.2 = Un2 – U

Ejemplo: Control con anti-widup


Un1 = 2en – 4en_1 (PI)
Un2 = 3Pv_3 – 3Pv_1 (D)
U = U1 – U2
en = SP – Pv
U1 = 2en – 4en_1 + un_1 – Ka*dif.act
en_1 = en
un_1 = U1
U2 = 3Pv – 3Pv_1
U = U1 – U2
if U > Umax
un = umax
if Umin < U < Umax
un = umin
if U < Umin
un = umin
dif.act = U –un
Pv_1 = Pv
out(un)

11
Estudiante: Hugo Mantilla Curso: Teoría de Control Tema: Diseño de Controladores Docente: Hernando González
12
Estudiante: Hugo Mantilla Curso: Teoría de Control Tema: Diseño de Controladores Docente: Hernando González
13
Estudiante: Hugo Mantilla Curso: Teoría de Control Tema: Diseño de Controladores Docente: Hernando González

También podría gustarte