SlideShare una empresa de Scribd logo
CONTROL INTELIGENTE
CONTROL PID DE UNA PLANTA DE SEGUNDO ORDEN -
BACKPROPAGATION
UNIVERSIDAD NACIONAL DEL CALLAO
ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA
CONTROL INTELIGENTE
TURNO 01E
INTEGRANTES
CORDERO BOCANEGRA CRISTHIAN
SANCHEZ MOSAYHUATE JOSEPH K
TIPO ZUNATA LUIS
VASQUEZ SUAZO EDSON JHON
YANCE PATRICIO GERSON
090044C
090629A
090635A
090641A
090608D
2013
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA
PROFESOR: Ing. Ricardo Rodríguez Bustinza, M.Sc SEMESTRE 2013-B
2
CONTROL PID DE UNA PLANTA DE SEGUNDO ORDEN USANDO EL
METODO DE ANN BACKPROPAGATION
.
Objetivos.-
 Reconocer los criterios para controlar una planta de segundo orden.
 Reconocer los métodos de sintonía (Ziegler-Nichols) para un control PID, PD o PD.
 Comparar los dos métodos del backpropagation con el de sintonización de Ziegler-Nichols.
Control de la planta de segundo orden.-
 Función de transferencia de segundo orden :
Datos del profesor:
wn=1.2;zeta1=1;zeta2=0.4;
G1=tf(wn^2,[1 2*zeta1*wn wn^2]); %GRUPO MARTES
G2=tf(wn^2,[1 2*zeta2*wn wn^2]); %GRUPO MIERCOLES
t=0:0.001:10;
u=ones(size(t));
y1=lsim(G1,u,t);
y2=lsim(G2,u,t);
subplot(211),plot(t,y1)
title('Planta de Segundo Orden - Grupo Martes')
subplot(212),plot(t,y2)
title('Planta de Segundo Orden - Grupo Miercoles')
Fig1: Plantas de Segundo orden
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA
PROFESOR: Ing. Ricardo Rodríguez Bustinza, M.Sc SEMESTRE 2013-B
3
Código:
clear all; close all; clc
% FUNCION DE TRANSFERENCIA IDENTIFICADA
% 1.2^2
% -------------------------
% s^2 + 2*1.2*0.4 s + 1.2^2
% numerador y denominador para la F.T.
n = 1.4400;
d = [1 0.9600 1.4400];
% grafica de la respuesta del sistema
% para una entrada escalón unitario
sys = tf(n,d);
Gp = tf(n,d);
t = 0:0.001:10;
y = step(sys,t);
plot(t,y,'b','linewidth',2)
axis([0 8 0 1.4])
e = title('bf respuesta de la planta subamortiguada');
set(e,'fontname','courier','fontsize',14);
xlabel('bf t(seg)');
ylabel('bf amplitud');
grid
% OBTENCION DE LA PENDIENTE MAXIMA
% gráficamente podemos ver que el
% tiempo de establecimiento es:
t1 = 0:0.001:10;
y = step(sys,t1);
% calculo de una pendiente
t = t1 - t1(1);
y = y - y(1);
% BUSQUEDA DE LA MAXIMA PENDIENTE
% hallamos la pendiente desde un t = 0 hasta
% un t = 0.12 pero escogemos la de mayor pendiente,
% realizando una comparación entre estas.
N = length(t1);
Pmax = 0; %pendiente (max) = 0
imax = 0; %posición(max) = 0
% comparación de pendientes
for i = 1:N-1
P = (y(i+1)-y(i))/(t1(i+1)-t1(i));
if P>Pmax;
Pmax = P;
imax = i;
end
end
% ubicación de dos puntos para hallar la recta
% tangente con pendiente máxima
ymax = [y(imax) y(imax+1)];
tmax = [t1(imax) t1(imax+1)];
% OBTENCION DE LOS PARAMETROS K, L y T
% obtención de la respuesta
K = median (y(N-3:N));
% trazando recta de mayor pendiente
P = polyfit(tmax,ymax,1);
R = polyval(P,t1);
%calculo del parámetro L
L = roots(P);
%calculo del parámetro T
Tx = roots(P - [0 K]);
T = Tx - L;
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA
PROFESOR: Ing. Ricardo Rodríguez Bustinza, M.Sc SEMESTRE 2013-B
4
figure
plot (t1,y,'b','linewidth',2);
hold
plot (t1,R,'r--','linewidth',2);
axis([0 10 -0.3 1.4]);
h=title('bf curva teoría de reaccion');
set(h,'fontname','courier','fontsize',14)
xlabel('bf t(seg)');
ylabel('bf amplitud');
grid
% CONTROLADOR Ziegler-Nichols
Tc = 4*L;
m = K*L/T;
a = K*L/T;
Kc = 2/(m*L);
Kp = 0.6/a
Ti = T;
Td = 0.5*L;
Ki = Kp/Ti
Kd = Kp*Td
Fig2: Parámetros PID.
Fig3: Recta Tangente de aproximación para determinación de los parámetros K, tau y L.
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA
PROFESOR: Ing. Ricardo Rodríguez Bustinza, M.Sc SEMESTRE 2013-B
5
 Programación:
Código en Matlab:
clear all; close all; clc
%creando nuestra DATA Pm entradas(k,tau,L)
k=1:0.5:10; %ganancia de dimension [1x21]
tau=0.5:0.5:10; %constante de tiempo dim [1x11]
L=0.5:0.5:5; %Delay de dimension [1x10]
Pm=combvec(k,tau,L); %3x3800 combn. de [k,tau,L]
Q=length(Pm); %dimension de Pm
Tm=zeros(1,3); %target inicial
% Creando target según Ziegler-Nichols
for i=1:Q
a=Pm(:,i); %parámetros metodo Ziegler-Nichols para calcular
Tc=4*a(3); %Tc=4*L
m=a(1)*a(3)/a(2); %m=K*L/tau
kc=2/(m*a(3)); %kc=2/(m*L)
kp=0.6*kc; %parametro kc=kp (ganancia) de ZN PID no interactivo
Ti=0.5*Tc; %parametro Ti(tiempo integral) de ZN PID no interactivo
Td=0.125*Tc; %parametro Td(tiempo derivati) de ZN PID no interactivo
Tm(i,:)=[kp Ti Td]; %vector target de Ziegler-Nichols
end
Tm=Tm'; %3x3800 combinaciones de [k,tau,L]
% creando modelo neuronal RED FF(FeedForward)Alg. Backpropagation
S1=10; %neuronas de la capa oculta
[S2,Q]=size(Tm); %3x3800
net=newff(minmax(Pm),[S1 S2],{'tansig','purelin'},'trainlm');%RED Objeto FF
% Parámetros de la RED
net.trainParam.epochs=500; % numero de epocas
net.trainParam.goal=1e-5; % objeto de error
net.trainParam.lr=0.01; % learning rate
net.trainParam.show=100; % muestra evolucion de epocas/100
%entrenando la RED
net=train(net,Pm,Tm);
%simulando a la RED
a=sim(net,Pm); % salida de la red
%calculo del Error MSE (Mean Square Error)
error=Tm-a;
E=zeros(1,1); % condicion inicial
for i=1:Q;
e=mse(error(:,i)); % error mse
E(i)=e; % almacena error mse
end
%Error del modelo neuronal
disp('Error al final del entrenamiento')
disp(e)
i=1:Q;
figure
subplot(311),plot(i,E,'k')
xlabel('k')
ylabel('Error')
title('Error Cuadratico Medio')
%Validacion (prueba del algoritmo en la red)
Pv1=[1;1.2;0.4]; % Pv1=[K Wn zeta2]
%simulacion de la salida de la red
a1=sim(net,Pv1);
%salida deseada para la validacion
m1=Pv1(1)*Pv1(3)/Pv1(2);% m1:criterio arbitrario en busca del target
Tc1=4*Pv1(3); % Tc1:criterio arbitrario en busca del target
kc1=2/(m*Pv1(3)); % kc1:criterio arbitrario en busca del target
disp('parametros deseados de Ziegler-Nichols')
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA
PROFESOR: Ing. Ricardo Rodríguez Bustinza, M.Sc SEMESTRE 2013-B
6
kpz1=0.6*kc1; % parametros del ZN
Tiz1=0.5*Tc1;
Tdz1=0.125*Tc1;
Tv1=[kpz1 Tiz1 Tdz1]; % vector de parametros de ZN
%salida del entrenamiento
disp('')
disp('Ctes Hallada por el BP')
kpb1=a1(1);
Tib1=a1(2);
Tdb1=a1(3);
disp('Error de validacion == 0?')
errorv1=Tv1'-a1;
disp(errorv1)
% Construyendo el prototipo de orden 2
syms s
K1=Pv1(1);
Wn1=Pv1(2);
zeta1=Pv1(3);
Gp1=K1*(Wn1.^2)/((s.^2)+(2*Wn1*zeta1*s)+(Wn1.^2));
[n1,d1]=numden(Gp1);
n1=sym2poly(n1);
d1=sym2poly(d1);
% TF Objeto
Gp1=tf(n1,d1);
% Respuesta debido a una entrada escalón en lazo abierto
tmax=8;
t=0:0.001:tmax;
y1=step(Gp1,t);
subplot(312)
plot(t,y1)
xlabel('bf t(seg)')
ylabel('bf y_{1a}(t)')
title('Planta de Segundo Orden')
% Evaluación de la planta mas el controlado BP dado por la FT.
Kp1=a1(1);
Ti1=a1(2);
Td1=a1(3);
M1=tf([Ti1*Td1*Kp1 Kp1*Ti1 Kp1],[Ti1 0]);
Gp1=ss(Gp1);
L1=M1*Gp1;
GLC1=feedback(L1,1);
% Evaluación de la respuesta de la planta mas el control PID ZN.
Kp2=Tv1(1);
Ti2=Tv1(2);
Td2=Tv1(3);
M2=tf([Ti2*Td2*Kp2 Kp2*Ti2 Kp2],[Ti2 0]);
L2=M2*Gp1;
GLC2=feedback(L2,1);
% Ploteando los resultados
subplot(313)
N=length(t)-1;
u=[zeros(1,N/4) ones(1,N/4) zeros(1,N/4) ones(1,N/4+1)];
y1=lsim(GLC1,u,t);
y2=lsim(GLC2,u,t);
plot(t,y1,'k')
hold
plot(t,y2,'b--')
legend('PID-BP','PID-ZN',-1)
xlabel('bf t(seg)')
ylabel('bf y_{lc}(t)')
title('Salida Planta controlada')
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA
PROFESOR: Ing. Ricardo Rodríguez Bustinza, M.Sc SEMESTRE 2013-B
7
 Resultados:
Ploteos:
 Entrenamiento:
Fig4: ANN entrenando.
 Figure:
Fig5: Graficas de los ploteos.
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA
PROFESOR: Ing. Ricardo Rodríguez Bustinza, M.Sc SEMESTRE 2013-B
8
Conclusiones y Observaciones.-
 Como se observa en la salida del control la sintonización de Ziegler-Nichols no es eficiente para
una planta de segundo orden sub-amortiguada, para ello se tiene que tener otros criterios de
control (Gallier Otto IAE).
 El control del Backpropagation es muy eficiente que si aproxima a un control PID para una
entrada escalón, solo falta ajustar los rangos de los parámetros de entrenamiento.
 Se aprendió a encontrar los parámetros de control del PID (Kp, Ti y Td) haciendo uso del Matlab.
Bibliografia.-
 TUTORIAL DE ANALISIS Y CONTROL DE SISTEMAS USANDO MATLAB / MANUEL VARGAS
VILLANUEVA, Libro en PDF.
 SINTONIA DE REGULADORES PID / SEBASTIAN MARCOS LOPEZ - Docente de la Universidad de
Salamanca, Libro en PDF.

Más contenido relacionado

PDF
Compensadores adelanto retraso
DOCX
Control pid de una planta de segundo orden usando el metodo de ann backpropag...
PDF
Transformada z
PPT
Control digital
PDF
Análisis de la respuesta transitoria. sistemas de segundo orden
PDF
Ingeniería de control: Tema 2. compensación RF
PDF
O(nlogn) Analisis
PDF
Control digital: Retenedor de orden cero y uno
Compensadores adelanto retraso
Control pid de una planta de segundo orden usando el metodo de ann backpropag...
Transformada z
Control digital
Análisis de la respuesta transitoria. sistemas de segundo orden
Ingeniería de control: Tema 2. compensación RF
O(nlogn) Analisis
Control digital: Retenedor de orden cero y uno

La actualidad más candente (20)

PPT
Compensadores adelanto-y-atraso
PDF
Compensacion de adelanto de fase
PDF
2da tarea de control
PDF
Unidad 3 c1-control
PDF
Lugar geometrico de las raices
DOCX
Lugar geométrico de las raices control 1
PPT
Analisis de error en estado estacionario
PDF
Clase diagrama de nyquist estabilidad
PDF
Oviedo mco nolineales
PPT
Clase 6 - Diseño de controladores por Respuesta en Frecuencia
PDF
Diseño de compensadores
PPT
C ad atfre
PDF
Problemas de Regulación Automática
PPTX
Compensador de retraso, lugar de las raices.
PDF
Diagrama de bode
PDF
Unidad 4 control2
PDF
El método del lugar de las raíces
PPT
Modelos de sistemas
PDF
Unidad 3 c3-control /FUNCION DE TRANFERENCIA PULSO
PDF
Lugar geometrico de las raices
Compensadores adelanto-y-atraso
Compensacion de adelanto de fase
2da tarea de control
Unidad 3 c1-control
Lugar geometrico de las raices
Lugar geométrico de las raices control 1
Analisis de error en estado estacionario
Clase diagrama de nyquist estabilidad
Oviedo mco nolineales
Clase 6 - Diseño de controladores por Respuesta en Frecuencia
Diseño de compensadores
C ad atfre
Problemas de Regulación Automática
Compensador de retraso, lugar de las raices.
Diagrama de bode
Unidad 4 control2
El método del lugar de las raíces
Modelos de sistemas
Unidad 3 c3-control /FUNCION DE TRANFERENCIA PULSO
Lugar geometrico de las raices
Publicidad

Similar a RNAs Backpropagation (20)

PPTX
Aproximacion de funciones-Análisis numérico UPC
PDF
ELECTRONICA INDUSTRIAL -EJERCICIOS RESUELTOS : EJERCICIOS DE EXPRESION EN S...
PDF
Lab 03 - Análisis de Señales - UNTECS
DOCX
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
PDF
463941896-1-4-Diseno-de-compensador-adelanto-atraso-y-controlador-PID-pptx (1...
PPTX
Ingeniera de control: Análisis de la respuesta en el tiempo
PPTX
Respuesta en el Tiempo.pptx
PDF
Lab de tele 1 - Fourier using matlab - UNTECS
DOCX
unidad-5 cideteq
PDF
Modelos 3 __adveccion
PPT
Lecture 17 probabilidad de error para señales en awgn parte 2
PDF
DOCX
PDF
CI_EV01_SISTEMAS_DE_COMUN_I__EJEMPLO_DE_EVALUACION_CURSOS_ANTERIORES__Analisi...
PPT
Teorema del muestro y PCM
PDF
Solución de redes eléctricas lineales mediante métodos de integración
PPT
1.2 control pid INGENIERIA DEL CONTROL
PPT
Lecture 14 modulacion digital parte 2
PDF
5-Control-Digital.pdfggggtttxdeyvcrkkkkkkkh
PDF
Procesamiento Digital De Señales Filtro Pasa Altas - MATLAB
Aproximacion de funciones-Análisis numérico UPC
ELECTRONICA INDUSTRIAL -EJERCICIOS RESUELTOS : EJERCICIOS DE EXPRESION EN S...
Lab 03 - Análisis de Señales - UNTECS
Solucion de Ecuaciones Diferenciales Ordinarias de Segundo Orden por Métodos ...
463941896-1-4-Diseno-de-compensador-adelanto-atraso-y-controlador-PID-pptx (1...
Ingeniera de control: Análisis de la respuesta en el tiempo
Respuesta en el Tiempo.pptx
Lab de tele 1 - Fourier using matlab - UNTECS
unidad-5 cideteq
Modelos 3 __adveccion
Lecture 17 probabilidad de error para señales en awgn parte 2
CI_EV01_SISTEMAS_DE_COMUN_I__EJEMPLO_DE_EVALUACION_CURSOS_ANTERIORES__Analisi...
Teorema del muestro y PCM
Solución de redes eléctricas lineales mediante métodos de integración
1.2 control pid INGENIERIA DEL CONTROL
Lecture 14 modulacion digital parte 2
5-Control-Digital.pdfggggtttxdeyvcrkkkkkkkh
Procesamiento Digital De Señales Filtro Pasa Altas - MATLAB
Publicidad

RNAs Backpropagation

  • 1. CONTROL INTELIGENTE CONTROL PID DE UNA PLANTA DE SEGUNDO ORDEN - BACKPROPAGATION UNIVERSIDAD NACIONAL DEL CALLAO ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA CONTROL INTELIGENTE TURNO 01E INTEGRANTES CORDERO BOCANEGRA CRISTHIAN SANCHEZ MOSAYHUATE JOSEPH K TIPO ZUNATA LUIS VASQUEZ SUAZO EDSON JHON YANCE PATRICIO GERSON 090044C 090629A 090635A 090641A 090608D 2013
  • 2. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESOR: Ing. Ricardo Rodríguez Bustinza, M.Sc SEMESTRE 2013-B 2 CONTROL PID DE UNA PLANTA DE SEGUNDO ORDEN USANDO EL METODO DE ANN BACKPROPAGATION . Objetivos.-  Reconocer los criterios para controlar una planta de segundo orden.  Reconocer los métodos de sintonía (Ziegler-Nichols) para un control PID, PD o PD.  Comparar los dos métodos del backpropagation con el de sintonización de Ziegler-Nichols. Control de la planta de segundo orden.-  Función de transferencia de segundo orden : Datos del profesor: wn=1.2;zeta1=1;zeta2=0.4; G1=tf(wn^2,[1 2*zeta1*wn wn^2]); %GRUPO MARTES G2=tf(wn^2,[1 2*zeta2*wn wn^2]); %GRUPO MIERCOLES t=0:0.001:10; u=ones(size(t)); y1=lsim(G1,u,t); y2=lsim(G2,u,t); subplot(211),plot(t,y1) title('Planta de Segundo Orden - Grupo Martes') subplot(212),plot(t,y2) title('Planta de Segundo Orden - Grupo Miercoles') Fig1: Plantas de Segundo orden
  • 3. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESOR: Ing. Ricardo Rodríguez Bustinza, M.Sc SEMESTRE 2013-B 3 Código: clear all; close all; clc % FUNCION DE TRANSFERENCIA IDENTIFICADA % 1.2^2 % ------------------------- % s^2 + 2*1.2*0.4 s + 1.2^2 % numerador y denominador para la F.T. n = 1.4400; d = [1 0.9600 1.4400]; % grafica de la respuesta del sistema % para una entrada escalón unitario sys = tf(n,d); Gp = tf(n,d); t = 0:0.001:10; y = step(sys,t); plot(t,y,'b','linewidth',2) axis([0 8 0 1.4]) e = title('bf respuesta de la planta subamortiguada'); set(e,'fontname','courier','fontsize',14); xlabel('bf t(seg)'); ylabel('bf amplitud'); grid % OBTENCION DE LA PENDIENTE MAXIMA % gráficamente podemos ver que el % tiempo de establecimiento es: t1 = 0:0.001:10; y = step(sys,t1); % calculo de una pendiente t = t1 - t1(1); y = y - y(1); % BUSQUEDA DE LA MAXIMA PENDIENTE % hallamos la pendiente desde un t = 0 hasta % un t = 0.12 pero escogemos la de mayor pendiente, % realizando una comparación entre estas. N = length(t1); Pmax = 0; %pendiente (max) = 0 imax = 0; %posición(max) = 0 % comparación de pendientes for i = 1:N-1 P = (y(i+1)-y(i))/(t1(i+1)-t1(i)); if P>Pmax; Pmax = P; imax = i; end end % ubicación de dos puntos para hallar la recta % tangente con pendiente máxima ymax = [y(imax) y(imax+1)]; tmax = [t1(imax) t1(imax+1)]; % OBTENCION DE LOS PARAMETROS K, L y T % obtención de la respuesta K = median (y(N-3:N)); % trazando recta de mayor pendiente P = polyfit(tmax,ymax,1); R = polyval(P,t1); %calculo del parámetro L L = roots(P); %calculo del parámetro T Tx = roots(P - [0 K]); T = Tx - L;
  • 4. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESOR: Ing. Ricardo Rodríguez Bustinza, M.Sc SEMESTRE 2013-B 4 figure plot (t1,y,'b','linewidth',2); hold plot (t1,R,'r--','linewidth',2); axis([0 10 -0.3 1.4]); h=title('bf curva teoría de reaccion'); set(h,'fontname','courier','fontsize',14) xlabel('bf t(seg)'); ylabel('bf amplitud'); grid % CONTROLADOR Ziegler-Nichols Tc = 4*L; m = K*L/T; a = K*L/T; Kc = 2/(m*L); Kp = 0.6/a Ti = T; Td = 0.5*L; Ki = Kp/Ti Kd = Kp*Td Fig2: Parámetros PID. Fig3: Recta Tangente de aproximación para determinación de los parámetros K, tau y L.
  • 5. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESOR: Ing. Ricardo Rodríguez Bustinza, M.Sc SEMESTRE 2013-B 5  Programación: Código en Matlab: clear all; close all; clc %creando nuestra DATA Pm entradas(k,tau,L) k=1:0.5:10; %ganancia de dimension [1x21] tau=0.5:0.5:10; %constante de tiempo dim [1x11] L=0.5:0.5:5; %Delay de dimension [1x10] Pm=combvec(k,tau,L); %3x3800 combn. de [k,tau,L] Q=length(Pm); %dimension de Pm Tm=zeros(1,3); %target inicial % Creando target según Ziegler-Nichols for i=1:Q a=Pm(:,i); %parámetros metodo Ziegler-Nichols para calcular Tc=4*a(3); %Tc=4*L m=a(1)*a(3)/a(2); %m=K*L/tau kc=2/(m*a(3)); %kc=2/(m*L) kp=0.6*kc; %parametro kc=kp (ganancia) de ZN PID no interactivo Ti=0.5*Tc; %parametro Ti(tiempo integral) de ZN PID no interactivo Td=0.125*Tc; %parametro Td(tiempo derivati) de ZN PID no interactivo Tm(i,:)=[kp Ti Td]; %vector target de Ziegler-Nichols end Tm=Tm'; %3x3800 combinaciones de [k,tau,L] % creando modelo neuronal RED FF(FeedForward)Alg. Backpropagation S1=10; %neuronas de la capa oculta [S2,Q]=size(Tm); %3x3800 net=newff(minmax(Pm),[S1 S2],{'tansig','purelin'},'trainlm');%RED Objeto FF % Parámetros de la RED net.trainParam.epochs=500; % numero de epocas net.trainParam.goal=1e-5; % objeto de error net.trainParam.lr=0.01; % learning rate net.trainParam.show=100; % muestra evolucion de epocas/100 %entrenando la RED net=train(net,Pm,Tm); %simulando a la RED a=sim(net,Pm); % salida de la red %calculo del Error MSE (Mean Square Error) error=Tm-a; E=zeros(1,1); % condicion inicial for i=1:Q; e=mse(error(:,i)); % error mse E(i)=e; % almacena error mse end %Error del modelo neuronal disp('Error al final del entrenamiento') disp(e) i=1:Q; figure subplot(311),plot(i,E,'k') xlabel('k') ylabel('Error') title('Error Cuadratico Medio') %Validacion (prueba del algoritmo en la red) Pv1=[1;1.2;0.4]; % Pv1=[K Wn zeta2] %simulacion de la salida de la red a1=sim(net,Pv1); %salida deseada para la validacion m1=Pv1(1)*Pv1(3)/Pv1(2);% m1:criterio arbitrario en busca del target Tc1=4*Pv1(3); % Tc1:criterio arbitrario en busca del target kc1=2/(m*Pv1(3)); % kc1:criterio arbitrario en busca del target disp('parametros deseados de Ziegler-Nichols')
  • 6. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESOR: Ing. Ricardo Rodríguez Bustinza, M.Sc SEMESTRE 2013-B 6 kpz1=0.6*kc1; % parametros del ZN Tiz1=0.5*Tc1; Tdz1=0.125*Tc1; Tv1=[kpz1 Tiz1 Tdz1]; % vector de parametros de ZN %salida del entrenamiento disp('') disp('Ctes Hallada por el BP') kpb1=a1(1); Tib1=a1(2); Tdb1=a1(3); disp('Error de validacion == 0?') errorv1=Tv1'-a1; disp(errorv1) % Construyendo el prototipo de orden 2 syms s K1=Pv1(1); Wn1=Pv1(2); zeta1=Pv1(3); Gp1=K1*(Wn1.^2)/((s.^2)+(2*Wn1*zeta1*s)+(Wn1.^2)); [n1,d1]=numden(Gp1); n1=sym2poly(n1); d1=sym2poly(d1); % TF Objeto Gp1=tf(n1,d1); % Respuesta debido a una entrada escalón en lazo abierto tmax=8; t=0:0.001:tmax; y1=step(Gp1,t); subplot(312) plot(t,y1) xlabel('bf t(seg)') ylabel('bf y_{1a}(t)') title('Planta de Segundo Orden') % Evaluación de la planta mas el controlado BP dado por la FT. Kp1=a1(1); Ti1=a1(2); Td1=a1(3); M1=tf([Ti1*Td1*Kp1 Kp1*Ti1 Kp1],[Ti1 0]); Gp1=ss(Gp1); L1=M1*Gp1; GLC1=feedback(L1,1); % Evaluación de la respuesta de la planta mas el control PID ZN. Kp2=Tv1(1); Ti2=Tv1(2); Td2=Tv1(3); M2=tf([Ti2*Td2*Kp2 Kp2*Ti2 Kp2],[Ti2 0]); L2=M2*Gp1; GLC2=feedback(L2,1); % Ploteando los resultados subplot(313) N=length(t)-1; u=[zeros(1,N/4) ones(1,N/4) zeros(1,N/4) ones(1,N/4+1)]; y1=lsim(GLC1,u,t); y2=lsim(GLC2,u,t); plot(t,y1,'k') hold plot(t,y2,'b--') legend('PID-BP','PID-ZN',-1) xlabel('bf t(seg)') ylabel('bf y_{lc}(t)') title('Salida Planta controlada')
  • 7. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESOR: Ing. Ricardo Rodríguez Bustinza, M.Sc SEMESTRE 2013-B 7  Resultados: Ploteos:  Entrenamiento: Fig4: ANN entrenando.  Figure: Fig5: Graficas de los ploteos.
  • 8. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA PROFESOR: Ing. Ricardo Rodríguez Bustinza, M.Sc SEMESTRE 2013-B 8 Conclusiones y Observaciones.-  Como se observa en la salida del control la sintonización de Ziegler-Nichols no es eficiente para una planta de segundo orden sub-amortiguada, para ello se tiene que tener otros criterios de control (Gallier Otto IAE).  El control del Backpropagation es muy eficiente que si aproxima a un control PID para una entrada escalón, solo falta ajustar los rangos de los parámetros de entrenamiento.  Se aprendió a encontrar los parámetros de control del PID (Kp, Ti y Td) haciendo uso del Matlab. Bibliografia.-  TUTORIAL DE ANALISIS Y CONTROL DE SISTEMAS USANDO MATLAB / MANUEL VARGAS VILLANUEVA, Libro en PDF.  SINTONIA DE REGULADORES PID / SEBASTIAN MARCOS LOPEZ - Docente de la Universidad de Salamanca, Libro en PDF.