modelos de orden mayor modelo de primer/segundo orden
TRANSCRIPT
Modelo de primer/segundo orden + retardo: aproximación de otrosmodelos de orden mayor© 2019, Antonio Sala Piqueras, Universitat Politécnica de València. Todos los derechos reservados.
Este código ejecutó sin errores en Matlab R2019b
Motivación y objetivos: Los modelos no oscilatorios de primer y segundo orden + retardo -- ,
-- son muy habituales como modelos aproximados de procesos.
Si se dispone de un modelo de primeros principios de mayor orden, puede aproximarse de forma sencilla a uno
de ellos. Así, se le podrían aplicar reglas/tablas relativamente sencillas de, por ejemplo, sintonía de PIDs, etc.
en la literatura de control de procesos. También podría interpretarse "intuitivamente" la respuesta en términos
de dinámicas sencillas y retardo.
Tabla de Contenidos
Simulación de un sistema de orden 5 + retardo.....................................................................................................1Aproximación del modelo de orden mayor a primer orden + retardo:.................................................................... 2
Opción (a): Igualdad de término de grado 1 de serie de Taylor......................................................................... 2Opción (b): igualdad de dos primeros términos de Taylor.................................................................................. 3
Aproximación a segundo orden más retardo.......................................................................................................... 6Conclusiones............................................................................................................................................................ 8
Simulación de un sistema de orden 5 + retardo
G_TF=@(s) 3*(-0.15*s+1)/(1.1*s+1)/(0.5*s+1)/(0.1*s+1)^3; %función de Matlabs=tf('s');Proceso=G_TF(s); %objeto Control Systems ToolboxProceso.InputDelay=0.06;% también tiene un poco de retardo puro adicionalstep(Proceso), grid on
1
Aproximación del modelo de orden mayor a primer orden + retardo:
Opción (a): Igualdad de término de grado 1 de serie de TaylorPolos: con el criterio de coincidencia de serie de Taylor, tenemos que:
y
Hasta primer orden coincidirían: .
Ceros: con el criterio de coincidencia de serie de Taylor, tenemos que y
Hasta primer orden coincidirían: .
Con lo cual, retardo como suma de polos no dominantes (y retardos que ya estuvieran presentes):
aprox_polos=0.5+0.1*3; aprox_ceros=0.15;retardoaprox=aprox_polos+aprox_ceros+Proceso.InputDelay
2
retardoaprox = 1.0100
G_aprox=3/(1.1*s+1)*exp(-retardoaprox*s);step(Proceso,G_aprox,8)legend('Orden 5 +ret.','Orden 1 + retardo'), grid on
Comprobemos igualdad de primer término de Taylor
syms s %necesito el "s" del symbolic toolbox, no del control toolboxTG=taylor(G_TF(s)*exp(-Proceso.InputDelay*s),s,'Order',3);vpa(TG,5)
ans =
G_aprox_sy=3/(1.1*s+1)*exp(-retardoaprox*s);vpa(simplify(taylor(G_aprox_sy,s,'Order',3)),5)
ans =
Opción (b): igualdad de dos primeros términos de Taylor
Como el modelo de 1er orden + retardo tiene dos parámetros ajustables, podemos igualar los términos s y :
syms tau d realG_1ord_delay=1/(tau*s+1)*exp(-d*s);TG_1ord_delay=taylor(G_1ord_delay,s,'Order',3)
TG_1ord_delay =
3
Coef_1ord_Delay=coeffs(TG_1ord_delay,s)*dcgain(Proceso)
Coef_1ord_Delay =
Coef_G=coeffs(TG,s);sol=solve(Coef_1ord_Delay==Coef_G);ed=eval(sol.d)'
ed = 1×2 3.3214 0.8986
etau=eval(sol.tau)'
etau = 1×2 -1.2114 1.2114
%escogemos la solución estableG_ap_Taylor2 = 1/(sol.tau(2)*s+1)*exp(-sol.d(2)*s)*dcgain(Proceso);
Comprobemos que, en efecto, la solución tiene igual los términos de Taylor hasta que el proceso:
TGA=(simplify(taylor(G_ap_Taylor2,s,'Order',3)));vpa(TGA,5)
ans =
%la solución la ponemos en la control toolbox:s=tf('s');G_aprox_b=dcgain(Proceso)*1/(etau(2)*s+1)*exp(-ed(2)*s)
G_aprox_b = 3 exp(-0.899*s) * ----------- 1.211 s + 1 Continuous-time transfer function.
step(Proceso,G_aprox,G_aprox_b,8), grid on, legend('G','aprox Taylor grado 1 (a)','aprox Taylor grado 2 (b)')
4
bodemag(Proceso,G_aprox,G_aprox_b), grid on
5
bodemag(Proceso-G_aprox,Proceso-G_aprox_b,logspace(-0.75,2.5,100)),legend('1-Taylor (a)','2-Taylor (b)'), grid ontitle('Error de Modelado en frecuencia: Bode (amplitud)')
Aproximación a segundo orden más retardoComo el segundo polo no está demasiado alejado del primero, podemos intentar conservarlo y, por sencillez,
aplicar la regla (conservar Taylor hasta s) en el resto de dinámicas:
aprox_polos=0.1*3;retardoaprox_2=aprox_polos+aprox_ceros+Proceso.InputDelay
retardoaprox_2 = 0.5100
G_aprox_2orden=3/(1.1*s+1)/(0.5*s+1)*exp(-retardoaprox_2*s);step(Proceso,G_aprox_b,G_aprox_2orden,8)legend('Orden 5+ ret.','Orden 1 + retardo (b)','Orden 2 + retardo'), grid on
6
bodemag(Proceso-G_aprox_b,Proceso-G_aprox_2orden,logspace(-1.5,2.5)),legend('1er-ord+ret (b)','2o-ord+ret'), grid ontitle('Error de Modelado en frecuencia: Bode (amplitud)')
7
ConclusionesUn proceso estable no oscilatorio puede ser aproximado con precisión razonable a primer orden + retardo.
De forma rápida, usar en los polos no dominantes, en ceros . Si existen polos
cerca del dominante, puede aproximarse a 2º orden + retardo (podría ser aconsejable, el error de modelado se
reduce bastante). Se puede refinar la aproximación haciendo más lento dicho polo dominante para aproximar la
dinámica eliminada hasta el término de la serie de Taylor.
8