Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % Preâmbulo
- clc;
- clf;
- clear;
- format long;
- % Lendo dados do primeiro ensaio
- load('KKt_data.mat');
- % Separando a região sem saturação
- [length width] = size(Vm);
- Vmb = Vm(4:length-4);
- Vtb = Vt(4:length-4);
- % Gráfico Vm x Vt completo
- figure(1);
- plot(Vm,Vt,'- .r');
- hold;
- grid on;
- xlabel('V_{m}');
- ylabel('V_{t}');
- title('Curva V_{m} x V_{t}');
- hold;
- % Gráfico Vm x Vt sem saturação
- figure(2);
- plot(Vmb,Vtb,'- .b');
- hold;
- grid on;
- xlabel('V_{m}');
- ylabel('V_{t}');
- title('Curva V_{m} x V_{t} sem saturação');
- hold;
- % Resolve o sistema Vmb * KKt = Vtb
- % Nesse processo, é feito um ajuste linear e KKt é o coef. angular da reta
- KKt = Vmb\Vtb
- % Gráfico da curva comparada com o ajuste linear
- figure(3);
- plot(Vm,Vt,'- .k', Vm, KKt*Vm,'-g');
- hold;
- grid on;
- xlabel('V_{m}');
- ylabel('V_{t}');
- title('Ajuste linear para determinar KK_{t}');
- legend('Curve experimental','Curva ajustada');
- % Calcula-se omega_m com base nas medições feitas pelo display
- ohmega_p = DisplayRPM*(2*pi/60);
- n = 1/3;
- ohmega_m = ohmega_p/n.^2;
- % Determina-se o valor de Kt com um ajuste linear da curva omega_m x Vt
- Kt = ohmega_m\Vt
- % Gráfico comparativo dos dados com o ajuste
- figure(4);
- plot(ohmega_m,Vt, '- .g',ohmega_m, ohmega_m*Kt,'-b');
- hold;
- grid on;
- xlabel('Omega_{m}');
- ylabel('V_{t}');
- title('Ajuste linear para determinar K_{t}');
- legend('Curva experimental', 'Curva teorica');
- % Lendo dados do segundo ensaio
- load('Kp_data.mat');
- % Gráfico da forma de onda do sinal Vt para determinar Kp
- figure(5);
- plot(t,Vp,'- .r');
- hold;
- xlabel('t');
- ylabel('V_{p}');
- grid on;
- legend('Curva experimental');
- title('Sinal V_{p}');
- % Escolhendo pontos extremos de uma parte linear da onda dente de serra
- Vmin = -4.850463867187500;
- Vmax = 4.897155761718750;
- ta = 14.780000000000001;
- tb = 15.910000000000000;
- % Aplicando as equações do Anexo B para determinação de Kp
- phi_p = tb - ta;
- ta_plus_deltaT = 15.950000000000001;
- deltaT = ta_plus_deltaT - ta;
- delta_phi = 2*pi*(tb - ta)/(deltaT);
- Kp = (Vmax - Vmin)/delta_phi
- % Lendo dados do terceiro ensaio
- load('T_data.mat');
- % Montando gráfico da resposta do sistema ao degrau
- figure(6);
- Vtb = Vt(800:1001); % Selecionando parte de Vt sem o transitório
- Vtinf = mean(Vtb); % Média de Vt sem transitório
- Vminf = 2.5; % Tensão do degrau
- Vtinf_ref = Vtinf*ones(1,1001); % Criando degrau com o valor de Vtinf
- Tr = 1.2800000000; % Instante em que Vt vale 0,63 * Vtint
- T = Tr - 1 % Considerando que o degrau ocorre em t = 1
- Tref= Tr*ones(1,1001);
- % Plotando o gráfico
- plot(t,Vt,'- .r',t,Vm,'- .b',t,Vtinf_ref,'--g',t,(1-exp(-1))*Vtinf_ref,'--k',Tref,Vt,'--m');
- hold;
- grid on;
- xlabel('t');
- ylabel('V');
- legend('V_{t}','V_{m}','V_{t}(inf)','63%V_{t}(inf)','T');
- title('Resposta do sistema ao degrau');
- % Calculando, finalmente, o valor de K
- K = Vtinf/(Kt*Vminf)
- % Fim
- clear;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement