Sie sind auf Seite 1von 8

PRACTICA DE LABORATORIO DE CONTROL 2

INTRODUCCION:
La identificación de sistemas permite construir modelos matemáticos de sistemas dinámicos
basados en datos obtenidos. Esto se logra ajustando parámetros de un modelo dado hasta que su
salida coincida lo más posible con la salida medida. El proceso de identificación se puede resumir
en los siguientes pasos:
1. Recolectar datos de entrada y salida del proceso a ser identificado (planta).
2. Examinar los datos. Pulirlos para eliminar ruido excesivo y seleccionar porciones útiles de los
datos originales.
3. Seleccionar una estructura del modelo.
4. Calcular el mejor modelo en base a los datos de entrada y salida.
5. Examinar las propiedades del modelo obtenido.
6. Si el modelo es suficientemente bueno, termina el procedimiento. De lo contrario regresar al
paso 3 y probar otro modelo.
El System Identification Toolbox de MATLAB ofrece varias funciones para realizar estos pasos
además de una interfaz gráfica (GUI) para realizar la identificación de manera interactiva.

ESTRUCTURA DEL PID


Consideremos un lazo de control de una entrada y una salida (SISO) de un grado de libertad:

Los miembros de la familia de controladores PID, incluyen tres acciones: proporcional (P),
integral (I) y derivativa (D). Estos controladores son los denominados P, I, PI, PD y PID.
• P: acción de control proporcional, da una salida del controlador que es proporcional al error,
es decir: u(t) = KP.e(t),que descripta desde su función transferencia queda:
Donde Kp es una ganancia proporcional ajustable. Un controlador proporcional puede controlar
cualquier planta estable, pero posee desempeño limitado y error en régimen ´ permanente (off-
set).
• I: acción de control integral: da una salida del controlador que es proporcional al error
acumulado, lo que implica que es un modo de controlar lento.

La señal de control u(t) tiene un valor diferente de cero cuando la señal de error e(t) es cero. Por
lo que se concluye que dada una referencia constante, o perturbaciones, el error en régimen
permanente es cero
• PI: acción de control proporcional-integral, se define mediante

Donde Ti se denomina tiempo integral y es quien ajusta la acción integral. La función de


transferencia resulta:

Con un control proporcional, es necesario que exista error para tener una acción de control
distinta de cero. Con acción integral, un error peque no positivo siempre nos dará una acción de
control creciente, y si fuera negativo la señal de control será decreciente. Este razonamiento
sencillo nos muestra que el error en régimen permanente será siempre cero. Muchos
controladores industriales tienen solo acción PI. Se puede demostrar que un control PI es
adecuado para todos los procesos donde la dinámica es esencialmente de primer orden. Lo que
puede demostrarse en forma sencilla, por ejemplo, mediante un ensayo al escalón.
• PD: acción de control proporcional-derivativa, se define mediante:

Donde Td es una constante de denominada tiempo derivativo. Esta acción tiene carácter de
previsión, lo que hace más rápida la acción de control, aunque tiene la desventaja importante que
amplifica las señales de ruido y puede provocar saturación en el actuador. La acción de control
derivativa nunca se utiliza por sı sola, debido a que solo es eficaz durante periodos transitorios.
La función transferencia de un controlador PD resulta:
Cuando una acción de control derivativa se agrega a un controlador proporcional, permite obtener
un controlador de alta sensibilidad, es decir que responde a la velocidad del cambio del error y
produce una corrección significativa antes de que la magnitud del error se vuelva demasiado
grande. Aunque el control derivativo no afecta en forma directa al error en estado estacionario,
añade amortiguamiento al sistema y, por tanto, permite un valor más grande que la ganancia K,
lo cual provoca una mejora en la precisión en estado estable.
• PID: acción de control proporcional-integral-derivativa, esta acción combinada reúne las
ventajas de cada una de las tres acciones de control individuales. La ecuación de un controlador
con esta acción combinada se obtiene mediante:

y su función transferencia resulta:

PARTE EXPERIMENTAL
Configuramos solo para tomar valores de t=[0:.0.1:2]

Configuramos el Scope

La respuesta en el scope con una entrada en escalon:


Luego se corre el Simulink.
Se observa que los datos que se obtuvo en el Scope se guardan en el WorkSpace

Una vez cargado los datos de entrada y salida procedemos a usar el scrip
%primero nombramos el numero de pruebas a relizar P
P=1000;

%luego le damos rango a los valores de K T B


K=(11- 9)*rand(P,1)+ 9;
T=(2)*rand(P,1);
B=(6- 5)*rand(P,1)+ 5;
%DATOS DEL TIEMPO
tint=plant(:,1);
%DATOS DE CADA FUNCION DE TRANSFERENCIA
Msis=[K T B];
n=P;

%ESTA VARIABLE ES PARA COMPARAR LAS GRAFICAS


plo=tf([10.1],[1.21 5.4])

for i=1:n;

%primero seleccionamos la n matriz aleatoria


S= Msis(i,:);
%despues la transformamos a funcion de transferencia
sis= tf([round(S(1,1),2)],[round(S(1 ,2),2) round(S(1,3),2)]);
%evaluamos los valores de salida de esa funcion
yprueb=step(tf([round(S(1,1),2)],[round(S(1 ,2),2)
round(S(1,3),2)]),tint);
%calculamos el valor del error
err=round(median(abs(plant(:,2)-yprueb)),3);
%tomamos una matriz de errores
g(i)=err;
ERRSS=g';
PO(i)=err;
TTT=(PO');
%el numero de errores menores a 0.1
nn=sum(TTT<=0.1);

%colocamosuna condicion parra seleccionar a los errores menores a


0,1
if abs(err)<=0.1

%la matriz de los "nn" errores menores a o.1


Y(i)=err;
TT=(Y');

errorfinal=err
%eliminamos los ceros que se encuentran en esa matriz
HT=(TT(TT~=0));
%seleccionamos solo las matrices con errores menores a 0.1;
SPS=[S(1,1) S(1 ,2) S(1,3)];
%las transformamos en vectores columna
KO(nn,:)=S(1,1);
TO(nn,:)=S(1,2);
BO(nn,:)=S(1,3);

end

end

%LUEGO TOMAMOS NUEVOS VALORES A LOS INTERVALOS DE K T B PERO ESTA VEZ


%LOS VALORES ESTAN ENTRE EL INTERVALO DE DEL MIN Y MAX DE CADA K T Y B
P2=1000;
K2=(max(KO)- min(KO))*rand(P,1)+ min(KO);
T2=(max(TO)- min(TO))*rand(P,1)+ min(TO);
B2=(max(BO)- min(BO))*rand(P,1)+ min(BO);
Msis1=[K2 T2 B2];
n2=P2;
%DESPUES REPETIMOS EL MISMO PROCESO PERO CON VALORES MAS CERCANOS A LA
%FUNCION OBJETIVO DEL SISTEMA CON UN INTERVALO MAS PEQUEÑO
for i=1:n2;

S2= Msis1(i,:);
sis2= tf([round(S2(1,1),3)],[round(S2(1 ,2),3) round(S2(1,3),3)]);
yprueb2=step(tf([round(S2(1,1),3)],[round(S2(1 ,2),3)
round(S2(1,3),3)]),tint);
err2=round(median(abs(plant(:,2)-yprueb2)),3)
%EN LA SEGUNDA PRUEBA SE TOMARA ERRORES MENORES A 0.01 Y UNA VEZ OBTENIDO
%EL VALOR SE PROCEDERA A GRAFICAR LAS FUNCION VERDADERA CON LA FUNCION
DE
%PRUEBA Y PROCEDERA A MOSTRAR EL errorfinal2 UNA VEZ ENCONTRADO ROMPER
EL
%BUCLE
if err2<=0.01
errorfinal2=err2
hold on
step(sis2)
step(plo)
sis2
break
end

end

RESULTADOS
La función de transferencia obtenida con un error de 0.004 con respecto a la salida del principal
Grafica de las dos salidas obtenidas
Azul= objetiva
Anaranjado= la experimental
CONCLUSIONES

 Se observa que las gráficas son similares con una error de 0.04 en la mediana.
 Con el método de la cuerda falsa se puede obtener mejores resultados.
 Gracias a estos resultados se puede obtener la función objetiva de nuestra planta.
 Todos los datos obtenidos afecta mucho el numero de decimales que se usa.
 Solo se utilizo la respuesta step para métodos académicos.

RECOMENDACIONES
 Se puede obtener mejores resultados haciendo mas iteraciones y insertando mas bucles
for con nuevos rangos de parámetros
 Para colocar datos negativos se requiere modificar el numero random de nuestra toma de
datos al azar
 Se puede usar mas tipos de entradas configurando el script adecuándose al programa

Das könnte Ihnen auch gefallen