Sei sulla pagina 1di 6

IDENTIFICACIÓN Y CONTROL ADAPTATIVO

Integrantes: Cristian Pérez


Jonathan García
Daniel Sani
Tema: Identificación de Sistemas de Primer Orden
Tutor: Coronel Pablo Regazzoni.
Fecha: 25-09-2019.

Enunciado:
a. Obtener el vector de respuesta de la siguiente función de transferencia:
o Realizamos en simulink el diagrama de bloques para determinar los vectores de
entrada y salida en conjunto con los tiempos de muestreo.

Figura 1 Diagrama de Bloques de Simulink

Figura 2 Grafica del diagrama de bloques Scope.


o Una vez obtenido de simulink la ejecución nos dirigimos a Matlab y observamos
que en el Workspace obtenemos los valores

Figura 3 Datos obtenidos de tiempo, entrada y salida de simulink.

o Realizamos ahora un Script con la función de transferencia de 1er orden del tipo.

1 𝐾
𝐺(𝑠) = =
2𝑠 + 1 𝑇𝑠 + 1
Tabla 1 Código de Matlab para función de transferencia de 1er orden

Matlab
figure(1)
plot(tout,y,tout,u) %grafica el valor del vector
grid on
posu=find(u==0, 1, 'last' ); %Posición inicial de u
posy=find(y==0, 1, 'last' ); %Posición inicial de y

N=length(y); %longitud vector y


M=length(u); %longitud del vector u

for j = 1 : (N-1) %diferencia de valores de y


d_y1(j) = y(j+1)-y(j);
end

indiceinflex = find(d_y1 == max(d_y1)); %indice de inflexion


t_inflex = (tout(2)-tout(1)) *indiceinflex ; %instante de inflexion

pendiente =d_y1(indiceinflex)/(tout(2)-tout(1)); %Pendiente de tangente


tg=(pendiente * tout); %vector de recta tangente
dl_tg = tg(indiceinflex)- y(indiceinflex); %tangente-valor de y
tg1=(pendiente * tout - dl_tg); %recta tangente
K=(y(N))/(u(M)) %valor de K
k=0.63*K; %0.63 valor maximo de salida
[x,ind]=min(abs(y-k)); %Posición de 0.63*K
Tao=tout(ind)-tout(posy) %valor de Tao

o Obtenemos los valores de K y T

Figura 4 Captura de valores de K y T de la función transferencia de 1er orden

o Realizamos el Gráfico del punto de inflexión y la tangente en dicho punto.


o Para graficar aplicamos a nuestro código anterior lo siguiente.
Tabla 2 Código para graficar la entrada, salida y tangente.

Matlab
figure (2) %grafica de la entrada, salida y tangente
plot(tout,tg1,tout,y,tout,u)
axis([0 max(tout) -0.25 K*1.25])
grid on

o Mostrando lo siguiente:

Figura 5 Grafica de entrada, salida y tangente.

b. Corrigiendo el script anterior para que acepte el añadido de un retardo, de 1.3 segundos:

𝑘
𝐺(𝑠) = ∗ 𝑒 −𝜏𝑠
𝑇𝑠 + 1

o La función ingresada para este con la ecuación anterior es:

1
𝐺(𝑠) = ∗ 𝑒 −1.3𝑠
2𝑠 + 1

𝑒 −1.3𝑠
𝐺(𝑠) =
2𝑠 + 1
o El siguiente diagrama nos quedara de la siguiente manera:

Figura 6 Diagrama de Bloque con retardo en Simulink

o Ingresamos el retardo solicitado para el problema dentro del cuadro Transport Delay

Figura 7 Ingreso del retardo de 1.3s en tiempo de delay.

o Obtenemos los valores del simulink en maltab con el retardo.

Figura 8 Valores obtenidos del simulink

o Graficamos los mismos.

Figura 9 Función obtenida con el ingreso del retardo.


o Codigo de Matlab introducido el retardo.
Tabla 3 Código para la función de transferencia con retardo.

Matlab
figure(1)
plot(tout,y,tout,u) %graf el Valor de los vectores
grid on
posu=find(u==0, 1, 'last' ); %Posición inicial de u
posy=find(y==0, 1, 'last' ); %Posición inicial de y

N=length(y); %longitud vector y


M=length(u); %longitud del vector u

for j = 1 : (N-1) %diferencia de los valores de


y
d_y1(j) = y(j+1)-y(j);
end

indiceinflex = find(d_y1 == max(d_y1)); %indice de inflexion


t_inflex = (tout(2)-tout(1)) *indiceinflex ; %instante de inflexion

pendiente =d_y1(indiceinflex)/(tout(2)-tout(1)); %Pendiente de tangente


tg=(pendiente * tout); %vector de recta tangente
dl_tg = tg(indiceinflex)- y(indiceinflex); %tangente-valor de y
tg1=(pendiente * tout - dl_tg); %recta tangente
T=(posy-posu-1)*(tout(2)-tout(1)) %valor de T
K=(y(N))/(u(M)) %valor de K
k=0.63*K; %0.63 valor maximo de salida
[x,ind]=min(abs(y-k)); %Posición de 0.63*K
Tao=tout(ind)-tout(posy) %valor de Tao

o Y obtenemos los valores de K, T, y Tao con el nuevo código de Matlab.

Figura 10 Valores de la función de retardo T,K,Tao.

o Código de Matlab para graficar la nueva función con su tangente.


Tabla 4 Código en Matlab para graficar la función con retardo.

Matlab
figure (2) %graf de la entrada, salida y tangente
plot(tout,tg1,tout,y,tout,u)
axis([0 max(tout) -0.25 K*1.25])
grid on
Figura 11 Entrada, Salida de la función con retardo y su tangente.

Conclusiones
o Las funciones de primer orden ayudan a la solución de las funciones te transferencia
de primer orden, pero al introducirle un retardo se debe considerar dicho retardo para
poder así graficar correctamente la tangente de la nueva función.
o La función de retardo en el simulink se debe introducir un tiempo de delay para que
la función considere dicho retardo y no afecte al script original.
o Los valores del modelo matemático son valores aproximados al sistema real, por lo
que estos valores pueden diferir de los valores tomados directamente de la gráfica,
entonces hay que tener un buen criterio para comparar estos valores y determinar los
resultados.
Recomendaciones
o Realizar un programa general para la obtención de los parámetros requeridos, para
así poder utilizarlo como plantilla para otros sistemas.
o Obtener en la ventana de comandos sólo los resultados necesarios para así no tener
confusiones con los resultados a obtenerse.
Bibliografía
o Identificación de sistemas.

Potrebbero piacerti anche