Commit ed9f68fb authored by Jesus Flores Huaman's avatar Jesus Flores Huaman

primer commit

parents
clear all, clc ,close all
PI.time = [0];
K_droop = 3.0;
PI.signals.values = [16; 10]';
Ts_Control = 1e-5;
Ts_Power = 1e-5;
%Ts_Control = 1e-5
steam_time_const = [ 0 10 0.1 0.1 ];
P = 10;
I = 16;
Vol_ref_GF = 1.05; %pu
sim('LabRei_GF_v1');
simulink_result=ans;
%%%%%%%%%%%% plotting results %%%%%%%%%%%%%%%%
figure(1)
plot(simulink_result.y_out.time,simulink_result.y_out.signals.values, 'b');
xlabel('Tempo [s]')
ylabel('pu')
title('Tenso na barra 13');
grid on
\ No newline at end of file
Uma abordagem alternativa, que dispensa o conhecimento prévio do modelo dinâmico
da planta, seria o controle orientado por dados (data-driven control). Esta passa a ter destaque
com aumento da complexidade dos processos, pois a tarefa de modelar os mesmos, acaba se
tornando muito difícil. Felizmente, muitos dos sistemas modernos são capazes de gerar e
armazenar um enorme volume de dados (informações) ao longo do dia, e esta capacidade de
armazenamento, poderia auxiliar no projeto de controladores, na realização de prognósticos,
detecção falhas nos processos, avaliação do desempenho e tomada decisões de grande valia em
face da falta de precisão existentes nos processos mais modernos. Por esta razão, a
abordagem data-driven control se faz necessária. Esta abordagem também disponibiliza de um
vasto conjunto de métodos que podem ser aplicados, tais como: o método Virtual Reference
Feedback Tuning (VRFT), o método Model Free Adaptive Control (MFAC), entre outros.
\ No newline at end of file
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% Inverter Reference Model Definition %%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;
clc;
Cf=1.3160e-04;
L=0.13333;
f=60;
w=2*pi*f;
%% Parameters:
fs=20000; %sampling frenquency
Ts=1/fs; %sampling period
R1=125e-3;
L1=0.5e-3;
Rg=50e-3;
Lg=0.125e-3;
Vdc=600;
c=25e-6;
%% New reference model
sys2=tf([1],[c*R1 1 1])
M2=c2d(sys2,Ts)
sys3=tf([1/(Lg*c*1000)],[1 15*Rg/Lg 1/(Lg*c*1000)])
M3=c2d(sys3,Ts)
sys4=tf([1],[Cf*R1 0.1 1])
M4=c2d(sys4,Ts)
sim('inverter_threephase_data2')
%% plot results
data=ans;
figure(2)
%subplot(2,1,1)
hold on
plot(data.M_out.time,data.M_out.signals.values,'r--');
plot(data.y_n.time,data.y_n.signals.values,'k','LineWidth',1.5);
plot(data.u_n.time,data.u_n.signals.values,'b');
xlabel('Tempo [s]')
ylabel('pu')
title('G_d, M(z) e u(k)')
legend('Modelo: M(z)','Inversor: G_d','Referncia: u(k)')
grid on
%subplot(2,1,2)
figure(3)
hold on
plot(data.u_n.time,data.u_n.signals.values,'b');
plot(data.M_out.time,data.M_out.signals.values,'r');
xlabel('Tempo [s]')
xlabel('Time [s]')
ylabel('pu')
title('M(z): in/out')
legend('Reference signal','M(z)')
grid on;
%% VRFT method
%% parametrizing PID RESPONSE (lsim command)%
%data.phi1
phi=[data.phi1.signals.values'; data.phi2.signals.values'; data.phi3.signals.values'];
P=inv(phi*phi')*phi*(data.M_out.signals.values)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment