Upload
juan-carlos
View
43
Download
1
Embed Size (px)
Citation preview
ANEXOS
Graficamos el sistema sin compensación:
>> s=tf('s');>> G=(0.35)/((s+0.4)*(s+0.5)*(s+0.163)*(s+1.537));>> zeta=0.69062;>> rlocus(G);>> sgrid(zeta,0) >> [K,p]=rlocfind(G)Select a point in the graphics window
selected_point =
-0.1888 + 0.1978i
K =
0.0829
p =
-1.5182 -0.7083 -0.1868 + 0.1967i -0.1868 - 0.1967i
La respuesta al escalón del sistema sin compensación, con ganancia K=0.0829, está dada por:
>> M=feedback(K*G,1) Transfer function: 0.02901----------------------------------------------s^4 + 2.6 s^3 + 1.981 s^2 + 0.5655 s + 0.07912 >> step(M)
Evaluamos la contribución de los ángulos de todos los polos y ceros de G(s) en Sd= -0.375+j0.3927 que fue el valor que obtuvimos manualmente del polo dominante, usando el siguiente comando en MATLAB:
>> Sd=-0.375+0.3927i
Sd =
-0.3750 + 0.3927i
>> angle_at_dominant_pole=(180/pi)*(-(angle(polyval([1,0.4],Sd))+angle(polyval([1,0.5],Sd))+angle(polyval([1,0.163],Sd))+angle(polyval([1,1.537],Sd))))
angle_at_dominant_pole =
-295.7359
Se puede notar que en el comando anterior no pusimos la parte de los ángulos de los ceros porque no hay en la función de transferencia.
Del ángulo anterior obtenemos la contribución del cero compensador que es de 115.73590. Con este ángulo obtuvimos que ZC=0.1856.
Usando el comando rlocfind, la ganancia en el punto de diseño es. El análisis completo del sistema compensado PD es así como sigue:
>> D1=s+0.1856 Transfer function:s + 0.1856
>> rlocus(D1*G)>> sgrid(zeta,0)>> [K,p]=rlocfind(D1*G)Select a point in the graphics window
selected_point =
-0.3750 + 0.3956i
K =
0.5903
p =
-1.6732 -0.3742 + 0.3954i -0.3742 - 0.3954i -0.1784
La respuesta la escalón con la compensación PD, se muestra a continuación:
>> M=feedback(K*D1*G,1);>> step(M)
Para diseñar el compensador PI, elegimos un compensador con un cero lo más cercano al origen, así:
>> D2=(s+0.05)/s Transfer function:s + 0.05-------- s >> D=D1*D2;>> rlocus(D*G)>> sgrid(zeta,0)>> [K,p]=rlocfind(D*G)Select a point in the graphics window
selected_point =
-0.3607 + 0.3711i
K =
0.5711
p =
-1.6663 -0.3671 + 0.3734i -0.3671 - 0.3734i -0.1764 -0.0230
Ahora la respuesta al impulso para el compensador PID está dado por:
>> M=feedback(K*D*G,1);>> step(M)
Graficando para este valor del cero en -0.05, obtuvimos una respuesta muy lenta, por lo que rediseñamos el sistema de acuerdo a los requerimientos establecidos, así que ubicamos el cero en -0.25. Quedando de la siguiente forma:
>> D2=(s+0.25)/s Transfer function:s + 0.25-------- s >> D=D1*D2;>> rlocus(D*G)>> sgrid(zeta,0)>> [K,p]=rlocfind(D*G)Select a point in the graphics window
selected_point =
-0.2893 + 0.3111i
K =
0.6322
p =
-1.6631 -0.2905 + 0.3117i -0.2905 - 0.3117i -0.1780 + 0.0483i -0.1780 - 0.0483i
>> M=feedback(K*D*G,1);>> step(M)
Esta gráfica es más cercana a uno de segundo orden.