Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DEBER N°4
INTEGRANTES:
Carlos Mora
Alex Pachacama
Israel Rojas
FECHA DE PRESENTACIÓN:
16 de enero del 2018
1
1. Introducción
Se pretende revisar las técnicas de diseño de un controlador digital basadas en el método
de ubicación de polos, tanto por emulación del controlador analógico como en forma
digital directa. Para ello deberá utilizar las funciones de aproximación que correspondan,
y resolver la ecuación Diofantina en el dominio que corresponda. Se deberá verificar el
funcionamiento del controlador y finalmente realizar el algoritmo de software que realiza
digitalmente el controlador.
Se desea ubicar los polos dominantes de lazo del sistema de manera que el índice de
amortiguamiento ζ=0.8 y la frecuencia natural no amortiguada ωn = 800 rad/s. Como
polo auxiliar se selecciona un valor de α=1300.
Δ(𝑠) = 𝑠 2 + 2 ⋅ 𝜀 ⋅ 𝜔𝑛 𝑠 + 𝜔𝑛 2
Considerando 𝜀 ⋅ 𝜔𝑛 se tiene:
Δ(𝑠) = 𝑠 2 + 1280 𝑠 + 640000
Se coloca el polo auxiliar para igualar obtener un tercer polo y cumplir con la ecuación
de diofantina al lado izquierdo para mantener estabilidad 𝛼 = −1300
Δ1 = 𝐴𝑅 + 𝐵𝑆
Δ1 = 𝑠(𝑠 + 60)(𝑠 + 600) + 360000(𝑠 ⋅ 𝑘𝑝 + 𝑘𝑖 +𝑘𝑑 ⋅ 𝑠 2 )
2
Δ1 = 𝑠 3 + (660 + 360000 ⋅ 𝑘𝑑 )𝑠 2 + (36000 + 360000 𝑘𝑝 )𝑠 + 360000 𝑘𝑖
𝑠3 ∶ 1=1
𝑠2: 660 + 360000 𝑘𝑑 = 2530 𝑘𝑑 = 0.0053
𝑠1 : 36000 + 360000 𝑘𝑝 = 2304000 𝑘𝑝 = 6.3
𝑠 0 : 360000 𝑘𝑖 = 832000000 𝑘𝑖 = 2311.11
Obtenemos:
𝑘𝑑 = 0.0053
𝑘𝑝 = 6.3
𝑘𝑖 = 2311.11
function controlador_analogico
close all
gs=tf(360000,[1 660 36000]);
cs=tf([0.0053 6.3 2311.11],[0 1 0])
step(feedback(gs*cs,1))
cs =
3
Figura 1. Ubicación de polos
4
𝑇𝑠 = = 0.00625[𝑠]
𝜔n 𝜀
Por lo tanto para lazo cerrado el tiempo de establecimiento se encuentra entre:
𝑇𝑠 𝑇𝑠
<𝑇<
75 15
Es decir
0.00625[𝑠] 0.00625[𝑠]
<𝑇<
75 15
Se obtiene que el rango de T se encuentra entre:
4
0.000083 < 𝑇 < 0.000417
No se puede escoger este rango por la limitaciones de Hardware 5kHz
En Matlab con la ayuda del comando margin se obtiene los siguientes resultados:
gs =
5
En la figura 2, se puede observar el diagrama de bode de la función de transferencia en
lazo abierto, donde se muestra el dato de la frecuencia de cruce de ganancia
𝑟𝑎𝑑
𝜔𝑐𝑔 = 1.9788 ∗ 103 [ ]
𝑠
Entonces se encuentra el rango de la frecuencia de muestreo 𝜔 𝑇
40𝜔𝑐𝑔 < 𝜔 𝑇 < 80𝜔𝑐𝑔
𝑟𝑎𝑑 𝑟𝑎𝑑
40 (1.9788 ∗ 103 [ ]) < 𝜔 𝑇 < 80 (1.9788 ∗ 103 [ ])
𝑠 𝑠
𝑟𝑎𝑑 𝑟𝑎𝑑
79152 [ ] < 𝜔 𝑇 < 158304 [ ]
𝑠 𝑠
Considerando que en ambos casos no se puede seleccionar el período de muestreo por las
limitaciones del hardware se considera un tiempo de muestreo de 0.0002 [s]
𝑘𝑖
𝐶(𝑠) = 𝑘𝑑 ∗ 𝑠 + 𝑘𝑝 +
𝑠
2311.11
𝐶(𝑠) = 0.0053𝑠 + 63 +
𝑠
Acción Integral
Euler Adelanto:
𝑧−1
𝑠=
𝑇
Acción Derivativa
Euler Atraso:
6
𝑧−1
𝑠=
𝑇𝑧
𝑧−1 2311.11
𝐶(𝑧) = 0.0053 ∗ ( ) + 63 +
𝑇𝑧 𝑧−1
𝑇
𝑘𝑑 ∗ 𝑧 2 − 2 ∗ 𝑘𝑑 ∗ 𝑧 + 𝑘𝑑 + 𝑘𝑝 ∗ 𝑇 ∗ 𝑧 2 − 𝑘𝑝 ∗ 𝑇 ∗ 𝑧 + 𝑘𝑖 ∗ 𝑇 2 ∗ 𝑧
𝐶(𝑧) =
𝑇 ∗ 𝑧2 − 𝑇 ∗ 𝑧
𝑘𝑑 ∗ 𝑧 2 2 ∗ 𝑘𝑑 ∗ 𝑧 𝑘𝑑
− + 𝑇 + 𝑘𝑝 ∗ 𝑧 2 − 𝑘𝑝 ∗ 𝑧 + 𝑘𝑖 ∗ 𝑇 ∗ 𝑧
𝐶(𝑧) = 𝑇 𝑇
𝑧2 − 𝑧
𝑘𝑑
𝑆0 : 𝑧 2 : + 𝑘𝑝 -> 𝑆0 = 32.8
𝑇
2∗𝑘𝑑
𝑆1 : 𝑧1 : − − 𝑘𝑝 + 𝑘𝑖 ∗ 𝑇 -> 𝑆1 = −58.8
𝑇
𝑘𝑑
𝑆2 : 𝑧 0 : -> 𝑆0 = 89.5-> 𝑆2 = 26.5
𝑇
𝑆0 𝑧 2 + 𝑆1 𝑧 + 𝑆2
𝐶(𝑧) =
(𝑧 − 1)(𝑧 − 𝑟)
f=5*10^3;
T=1/f;
cz=tf([32.8 -58.8 26.5],[1 -1 0],T)
gz=c2d(gs,T)
step(feedback(gz*cz,1))
hold on
cz =
gz =
7
0.006893 z + 0.006596
----------------------
z^2 - 1.875 z + 0.8763
4. De acuerdo a la forma digital del controlador del ítem anterior, diseñe ahora en
forma directa. De ser necesario un polo observador adicional considérelo como
incógnita para que el sistema de ecuaciones sea consistente.
𝑆0 𝑧 2 + 𝑆1 𝑧 + 𝑆2
𝐶(𝑧) =
(𝑧 − 1)(𝑧 − 𝑟)
Forma directa
8
f
m 𝑆0 u
𝑧 −1
g
1 𝑆1
𝑧 −1
𝑆2
h
Figura 4. Forma directa
Aplicando ZOH:
360000
𝐺(𝑠) =
(𝑠 + 60)(𝑠 + 600)
𝐺(𝑠)
𝐺(𝑧) = (1 − 𝑧 −1 )𝑧 { }
𝑠
𝑧 − 1 𝐺(𝑠)
𝐺(𝑧) = 𝑧{ }
𝑧 𝑠
360000
𝑧−1 (𝑠 + 60)(𝑠 + 600)
∗𝑧{ }
𝑧 𝑠
360000 𝐴 𝐵 𝐶
= + +
(𝑠 + 60)(𝑠 + 600) ∗ 𝑠 𝑠 𝑠 + 60 𝑠 + 600
9
𝑠2: 𝐴 + 𝐵 + 𝐶 = 0
𝑠1 : 660𝐴 + 600𝐵 + 60𝐶 = 0
𝑠 0 : 3600𝐴 + 600𝐵 + 60𝐶 = 0
Obteniendo:
𝐴 = 10
𝐵 = −11.1
𝐶 = 1.1
𝑧−1 1 1 1
∗ 𝑧 {10 ∗ − 11.1 ∗ + 1.1 ∗ }
𝑧 𝑠 𝑠 + 60 𝑠 + 600
Aplicando la transformada Z
𝑧−1 𝑧 𝑧 𝑧
∗ (10 ∗ − 11.1 ∗ −60𝑇
+ 1.1 ∗ )
𝑧 𝑧−1 𝑧−𝑒 𝑧 − 𝑒 −600𝑇
Donde
0.006893𝑧 + 0.006596
𝐺(𝑧) =
𝑧 2 − 1.875𝑧 + 0.8763
𝑏1 𝑧 + 𝑏2
𝐺(𝑧) =
𝑧 2 + 𝑎1 𝑧 + 𝑎2
𝑆0 𝑧 2 + 𝑆1 𝑧 + 𝑆2
𝐶(𝑧) =
(𝑧 − 1)(𝑧 − 𝑟)
∆𝑍 = 𝐴𝑅 + 𝐵𝑆
10
Considerando que se requiere un polo observador adicional ya que solo se tiene ∆𝑍 para
tres polos
∆𝑍 = (𝑧 3 + 𝑝1 𝑧 2 + 𝑝2 𝑧 + 𝑝3 )(𝑧 + 𝑥)
Considerando
|𝑥| < 1
∆𝑍 = (𝑧 4 + (𝑥 + 𝑝1 )𝑧 3 + (𝑝1𝑥 + 𝑝2 )𝑧 2 + (𝑝2 𝑥 + 𝑝3 )𝑧 + 𝑝3 𝑥
𝑧4: 1=1
𝑧3: 𝑥 + 𝑝1 = 𝑟 − 1 + 𝑎1 + 𝑏1 𝑠0
2
𝑧 : 𝑝1 𝑥 + 𝑝2 = −𝑟 + 𝑎1 (𝑟 − 1) + 𝑎2 + 𝑏2 𝑠0 + 𝑏1 𝑠1
𝑧1 : 𝑝2 𝑥 + 𝑝3 = −𝑎1 𝑟 + 𝑎2 (𝑟 − 1) + 𝑏1 𝑠2 + 𝑏2 𝑠1
𝑧0: 𝑝3 𝑥 = −𝑎2 𝑟 + 𝑏2 𝑠2
𝑏1 0 0 1 𝑠0 𝑥 + 𝑝1 − 𝑎1 + 1
𝑏 𝑏1 0 𝑎1 − 1 𝑠1 𝑝 𝑥 + 𝑝2 − 𝑎2 + 𝑎1
[ 2 ].[𝑠 ] = [ 1 ]
0 𝑏2 𝑏1 𝑎2 − 𝑎1 2 𝑝3 + 𝑝2 𝑥 + 𝑎2
0 0 𝑏2 −𝑎2 0 𝑝3 𝑥
11
Código MATLAB
function u=filtrod(x);
global g h;
f=5*10^3;
T=1/f;
y=x(1);
sp=x(2); %set ponint
t=x(3); %clock
e=sp-y;
s0=32.8;
s1=-58.8;
s2=26.5;
r=0;
if t==0
f=e;
u=s0*f;
h=0;
g=f;
end
if t>0
f=e+(1-r)*g+r*h;
u=s0*f+s1*g+s2*h;
h=g;
g=f;
end
12
Figura 6. Respuesta del controlador sin perturbación
13
Figura 8. Respuesta del controlador con perturbación
Conclusiones:
Los controladores PID permiten mejorar la respuesta de un sistema, aunque esta respuesta
no siempre sea optima.
Un controlador PID permite que la respuesta de un sistema pueda llegar a tener un error
nulo.
14