pid
DESCRIPTION
Calculo de parametrTRANSCRIPT
UNIVERSIDAD NACIONAL DE GRANADAFACULTAD DE INGENIERIA ELECTRICA
INGENIERÍA DE CONTROL 2
DISEÑO DEL CONTROLADOR PID PARA UN MOTOR DC
MÉTODO: LUGAR GEOMETRICO DE RAÍCES
Nombre: Carolina Lopez Caceres
Código: 20120036G
España 2015
1. Identificación de la planta
Una vez obtenida la data al realizar sobre el motor una excitación de tipo spike se
procede a calcular la función de transferencia del motor en espacio continuo y discreto
haciendo uso del modelo del Modelo ARX. A su vez, siendo el modelo de la planta
propuesto de primer orden:
Cuya ecuación paramétrica se asemeja al de un circuito R-C:
y (k )=(1−Tτ )∗ y (k−1 )+T
τu (k−1 )+e (k )
Y siendo la entrada y salida de caracter de primer orden del sistema :
Suponiendo que el modelo es ARX (na, nb, nk)
Recomiendo la siguiente estructura:
y (k )=a1∗y (k−1 )+b1∗u (k−1 )+e (k ) ....(α)
Siendo na=1, nb=1 → ARX (na, nb, nk) = ARX (1, 1, nk)
Porque:
Si el sistema del motor no tiene tiempo muerto (θ=0)
Donde θ proviene de:
G ( z )= z−(θ+1)∗b1−a∗z−1
Para un sistema de primer orden y na=1, nb=1, nk= θ+1
Tomando la transformada Z a (α)
Y ( z )=a1∗z−1∗Y ( z )+b1 z−1∗U ( z )
Y (z)U (z)
= z−1∗b11−a1∗z−1 =
z−(nk)∗b11+a∗z−1
→ nk = 1
Por lo tanto el modelo será ARX (1, 1, 1)
Código Matlab% Cargando la data obtenida
load data2.lvm;
u1=data2(:,1); % Entrada a la planta
y1=data2(:,2); % Salida de la planta
% Identificación ARX
fs=100; %frecuencia de muestreo
T=1/fs; %periodo de muestreo T=0.01 seg.
data=iddata(y1,u1,T); %creación del objeto data
td=0; % Retardo de la planta
L=td+1;
th=arx(data,[1 1 L]); %Obtención del modelo
present(th) %En discreto
thc=d2c(th); %En continuo
[num,den]=tfdata(thc);%obteniendo los coeficientes del numerador y den.
Gp=tf(num,den); %Hallando la función de transferencia en tiempo continuo
[nc,dc]=tfdata(Gp,'v');%Obteniendo los coeficientes del numerador y den.
[Pp,Zp]=pzmap(Gp); % Obteniendo los polos y ceros de la planta
disp('Planta Identificada')
printsys(nc,dc)
Pz=c2d(Gp,T); %Hallando la función de transferencia(discreto)
[nz,dz]=tfdata(Pz,'v'); %Obteniendo los coeficientes del numerador y den.
Resultado:
2. Diseño del controlador PID (Método: Lugar geométrico de raíces)
Sea el controlador PID a usar en tiempo continuo: (Académico)
Gc (s )= k (s+a)(s+b)s
Especificaciones de diseño:
ts= 0.1 seg.
Mp=0.1seg.
ε= −ln (Mp)
√π2+l n (Mp)2=0.5912
wn=4.6ε∗t s
=77.8138
Polos deseados:
Pd= −ε∗wn+i∗wn∗√1−ε2=¿- 46 +62.7613i
Pd=−ε∗wn+i∗wn∗√1−ε2=¿ - 46 - 62.7613i
Criterio de magnitud y fase:
r1= -46 + 62.7613i → θ1 = 126.2390° (ángulo del polo del controlador)
r2= -46- (-6.2056) + 62.7613i → θ2 = 122.3772° (ángulo del polo de la planta)
φ1 + φ2 = -180 + (θ1 + θ2)
φ1 + φ2 = 68.6162° = θc
Considerando: (Según la recomendación de la guía)
φ2 = c *θc
φ1= θc - φ2
Donde c=0.2
→ φ2 = 13.7232°
→ φ1 =54.8929° (ángulo del cero es 125.1071°)
Cálculo de los ceros del controlador:
a=46+ 62.7613tan (54.8929 °)
=1.8790
b=46+ 62.7613tan (13.7232 °)
=303.0043
Cálculo de la ganancia del controlador:
r3= - 44.121 + 62.7613i
r4= 257.0043+ 62.7613i
|r1|=77.8138
|r2|=74.3141
|r3|=76.7179
|r 4|=264.5566
|6.2197∗K∗r3∗r4
r 1∗r2|=1→ K=0.0458
Reemplazando los valores para hallar las constantes del controlador PID
KP = K*(a+b) = 13.9662
KI = K*(a*b) = 26.0813
KD = K = 0.0458
Por lo tanto el controlador queda como:
Gc (s )=0.2128∗(s+1.8790 )∗(s+303.0043)
s
Para encontrar la función de transferencia discreta del PID, realizaremos en nuestro
caso el método Matched:
z=eTs
z1=e0.001∗−1.8790=0.9816
z2=e0.001∗−1.8790=0.0483
Hallando la ganancia de la F.T. discreta con:
Gc(s)|s=0=K’*Gc(z)|z=1
→ K'=14.71
PID ( z )=14.71∗( z−0.9816 )∗(z−0.0483)
(z+1)(z−1)
PID ( z )=14.71∗z2−15.15∗z+0.6975( z+1 )∗(z−1)
La ecuación en diferencias del controlador viene dado por:
z2∗U (z )−1∗U (z )=14.71∗z2∗E (z)−15.15∗z∗E (z)+0.6975∗E(z )
u (k+2 )−u (k )=14.71∗e ( k+2 )−15.15∗e (k+1 )+0.6975∗e (k)
u (k )−u (k−2 )=14.71∗e (k )−15.15∗e (k−1 )+0.6975∗e (k−2)
u (k )=u (k−2 )+14.71∗e ( k )−15.15∗e (k−1 )+0.6975∗e (k−2)(Ley de control del PID)
Grafica en Labview