Professional Documents
Culture Documents
PROGRAMAPOTENCIA
PROGRAMAPOTENCIA
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = PROGRAMAPOTENCIA_OutputFcn(hObject, eventdata,
handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
clear
% Entrada de datos
V=input('Tension efectiva de la fuente sinusoidal ');
L=input('Inductancia [H] ');
f=input('Frecuencia de la fuente [Hz] ');
alfa=input('Angulo de encendido en grados ');
alfa=alfa*pi/180;
a=alfa;
% Parámetros
fi=pi/2;
Z=sqrt((2*pi*f*L)^2);
% Función en el tiempo
t=linspace(a,b,1000);
t2=linspace(b,a+2*pi,1000);
i=sqrt(2)*V/Z*(cos(alfa)-cos(t));
v=sqrt(2)*V*sin(t);
t=[t,t2];
v=[v,zeros(size(t2))];
i=[i,zeros(size(t2))];
% Valores Medios
Io=1/(2*pi)*trapz(t,i);
Vo=1/(2*pi)*trapz(t,v);
% Valores Efectivos
Irms=sqrt(1/(2*pi)*trapz(t,i.^2));
Vrms=sqrt(1/(2*pi)*trapz(t,v.^2));
%Factor de rizado
FR_i=sqrt(Irms^2-Io^2)/Io;
FR_v=sqrt(Vrms^2-Vo^2)/Vo;
% Graficas
vf=sqrt(2)*V*sin(t);
vx=v;
ix=i;
t1=t;
%figure(1)
subplot(2,1,1),plot(t1,vf,'-.',t1,vx,'r','LineWidth',2);grid
legend('Fuente','Carga');
set(gca,'FontSize',12,'FontName','Segoe UI Symbol');
xlim([a 2*pi+a]);
set(gca,'XTick',a:pi/6:2*pi+a);
set(gca,'XTickLabel',{'a','T/12+a','T/6+a','T/4+a','T/3+a','5T/12+a','
T/2+a','7T/12+a','2T/3+a','3T/4+a','5T/6+a','11T/12+a','T+a'})
set(gca,'YTickLabel',{' '})
xlabel('Tiempo','fontsize',14,'fontname','Times');
ylabel('Magnitud','fontsize',14,'fontname','Times');
set(legend ,'FontSize',12,'FontName','Time');
%figure(2)
subplot(2,1,2),plot(t1,ix,'LineWidth',2);grid
xlim([a 2*pi+a]);
set(gca,'FontSize',12,'FontName','Segoe UI Symbol');
set(gca,'XTick',a:pi/6:2*pi+a);
set(gca,'XTickLabel',{'a','T/12+a','T/6+a','T/4+a','T/3+a','5T/12+a','
T/2+a','7T/12+a','2T/3+a','3T/4+a','5T/6+a','11T/12+a','T+a'})
set(gca,'YTickLabel',{' '})
xlabel('Tiempo','fontsize',14,'fontname','Times');
ylabel('Magnitud','fontsize',14,'fontname','Times');
% Primera Armónica
Vrms_1=abs(1/pi*(trapz(t1,vx.*exp(1i*t1))))/sqrt(2);
Irms_1=abs(1/pi*(trapz(t1,ix.*exp(1i*t1))))/sqrt(2);
% THD
THDv=sqrt(Vrms^2-Vrms_1^2)/Vrms_1;
THDi=sqrt(Irms^2-Irms_1^2)/Irms_1;
clear
% Entrada de datos
V=input('Tension efectiva de la fuente sinusoidal ');
R=input('Resistencia [Ohm] ');
L=input('Inductancia [H] ');
f=input('Frecuencia de la fuente [Hz] ');
alfa=input('Angulo de encendido en grados ');
alfa=alfa*pi/180;
% Parámetros
fi=atan(2*pi*f*L/R);
Z=sqrt((2*pi*f*L)^2+R^2);
a=alfa;
% Función en el tiempo
t=linspace(a,b,1000);
t2=linspace(b,a+2*pi,1000);
i=sqrt(2)*V/Z*(sin(t-fi)+(-sin(a-fi)*exp(-(t-a)/tan(fi))));
v=sqrt(2)*V*sin(t);
t=[t,t2];
v=[v,zeros(size(t2))];
i=[i,zeros(size(t2))];
% Valores Medios
Io=1/(2*pi)*trapz(t,i);
Vo=1/(2*pi)*trapz(t,v);
% Valores Efectivos
Irms=sqrt(1/(2*pi)*trapz(t,i.^2));
Vrms=sqrt(1/(2*pi)*trapz(t,v.^2));
%Factor de rizado
FR_i=sqrt(Irms^2-Io^2)/Io;
FR_v=sqrt(Vrms^2-Vo^2)/Vo;
% Graficas
vf=sqrt(2)*V*sin(t);
vx=v;
ix=i;
t1=t;
%figure(1)
subplot(2,1,1),plot(t1,vf,'-.',t1,vx,'r','LineWidth',2);grid
legend('Fuente','Carga');
set(gca,'FontSize',11,'FontName','Segoe UI Symbol');
xlim([a 2*pi+a]);
set(gca,'XTick',a:pi/6:2*pi+a);
set(gca,'XTickLabel',{'a','T/12+a','T/6+a','T/4+a','T/3+a','5T/12+a','
T/2+a','7T/12+a','2T/3+a','3T/4+a','5T/6+a','11T/12+a','T+a'})
set(gca,'YTickLabel',{' '})
xlabel('Tiempo','fontsize',14,'fontname','Times');
ylabel('Magnitud','fontsize',14,'fontname','Times');
set(legend ,'FontSize',12,'FontName','Time');
%figure(2)
subplot(2,1,2),plot(t1,ix,'LineWidth',2);grid
xlim([a 2*pi+a]);
set(gca,'FontSize',11,'FontName','Segoe UI Symbol');
set(gca,'XTick',a:pi/6:2*pi+a);
set(gca,'XTickLabel',{'a','T/12+a','T/6+a','T/4+a','T/3+a','5T/12+a','
T/2+a','7T/12+a','2T/3+a','3T/4+a','5T/6+a','11T/12+a','T+a'})
set(gca,'YTickLabel',{' '})
xlabel('Tiempo','fontsize',14,'fontname','Times');
ylabel('Magnitud','fontsize',14,'fontname','Times');
% Primera Armónica
Vrms_1=abs(1/pi*(trapz(t1,vx.*exp(1i*t1))))/sqrt(2);
Irms_1=abs(1/pi*(trapz(t1,ix.*exp(1i*t1))))/sqrt(2);
% THD
THDv=sqrt(Vrms^2-Vrms_1^2)/Vrms_1;
THDi=sqrt(Irms^2-Irms_1^2)/Irms_1;
clear
% Entrada de datos
V=input('Tension efectiva de la fuente sinusoidal ');
R=input('Resistencia [Ohm] ');
L=input('Inductancia [H] ');
E=input('Tension de la carga ');
f=input('Frecuencia de la fuente [Hz] ');
alfa=input('Angulo de encendido en grados ');
alfa=alfa*pi/180;
% Parámetros
fi=atan(2*pi*f*L/R);
Z=sqrt((2*pi*f*L)^2+R^2);
m=E/(sqrt(2)*V);
a=asin(m);
if alfa >=a
a=alfa;
end
% Función en el tiempo
t=linspace(a,b,1000);
t2=linspace(b,a+2*pi,1000);
i=sqrt(2)*V/Z*(sin(t-fi)-m/cos(fi)+(m/cos(fi)-sin(a-fi)*exp(-(t-
a)/tan(fi))));
v=sqrt(2)*V*sin(t);
t=[t,t2];
v=[v,E*ones(size(t2))];
i=[i,zeros(size(t2))];
% Valores Medios
Io=1/(2*pi)*trapz(t,i);
Vo=1/(2*pi)*trapz(t,v);
% Valores Efectivos
Irms=sqrt(1/(2*pi)*trapz(t,i.^2));
Vrms=sqrt(1/(2*pi)*trapz(t,v.^2));
%Factor de rizado
FR_i=sqrt(Irms^2-Io^2)/Io;
FR_v=sqrt(Vrms^2-Vo^2)/Vo;
% Graficas
vf=sqrt(2)*V*sin(t);
vx=v;
ix=i;
t1=t;
%figure(1)
subplot(2,1,1),plot(t1,vf,'-.',t1,vx,'r','LineWidth',2);grid
legend('Fuente','Carga');
set(gca,'FontSize',11,'FontName','Segoe UI Symbol');
xlim([a 2*pi+a]);
set(gca,'XTick',a:pi/6:2*pi+a);
set(gca,'XTickLabel',{'a','T/12+a','T/6+a','T/4+a','T/3+a','5T/12+a','
T/2+a','7T/12+a','2T/3+a','3T/4+a','5T/6+a','11T/12+a','T+a'})
set(gca,'YTickLabel',{' '})
xlabel('Tiempo','fontsize',14,'fontname','Times');
ylabel('Magnitud','fontsize',14,'fontname','Times');
set(legend ,'FontSize',12,'FontName','Time');
%figure(2)
subplot(2,1,2),plot(t1,ix,'LineWidth',2);grid
xlim([a 2*pi+a]);
set(gca,'FontSize',11,'FontName','Segoe UI Symbol');
set(gca,'XTick',a:pi/6:2*pi+a);
set(gca,'XTickLabel',{'a','T/12+a','T/6+a','T/4+a','T/3+a','5T/12+a','
T/2+a','7T/12+a','2T/3+a','3T/4+a','5T/6+a','11T/12+a','T+a'})
set(gca,'YTickLabel',{' '})
xlabel('Tiempo','fontsize',14,'fontname','Times');
ylabel('Magnitud','fontsize',14,'fontname','Times');
% Primera Armónica
Vrms_1=abs(1/pi*(trapz(t1,vx.*exp(1i*t1))))/sqrt(2);
Irms_1=abs(1/pi*(trapz(t1,ix.*exp(1i*t1))))/sqrt(2);
% THD
THDv=sqrt(Vrms^2-Vrms_1^2)/Vrms_1;
THDi=sqrt(Irms^2-Irms_1^2)/Irms_1;
% Entrada de datos
V=input('Tension efectiva de la fuente sinusoidal ');
R=input('Resistencia [Ohm] ');
L=input('Inductancia [H] ');
E=input('Tension de la carga ');
f=input('Frecuencia de la fuente [Hz] ');
% Constantes
m=E/(sqrt(2)*V);
Z=sqrt(R^2+(2*pi*f*L)^2);
fi=atan((2*pi*f*L)/R);
alfa1=asin(m); % Alfa mínimo
alfa2=pi-alfa1; % Alfa máximo
disp('Limite de Controlabilidad en grados')
[alfa1*180/pi, alfa2*180/pi];
% Angulo de disparo
alfa=input('ángulo de disparo en grados ');
alfa=alfa*pi/180;
% Limite de controlabilidad
if (alfa1>alfa)|| (alfa>alfa2)
disp('El ángulo de disparo está fuera del límite de contrabilidad se
fijo en alfa minimo');
alfa=alfa1;
end
if Imin <0
disp('El puente esta trabajando en condición no continuada')
% Funciones en el tiempo
t=linspace(a,b,1000);
i=sqrt(2)*V/Z*(sin(t-fi)-m/cos(fi)+(m/cos(fi)-sin(a-fi)*exp(-(t-
a)/tan(fi))));
v=sqrt(2)*V*sin(t);
tdes=linspace(b,pi+a,300);
t=[t,tdes];
v=[v,E*ones(size(tdes))];
i=[i,zeros(size(tdes))];
else
end
% Valores Medios
Io=1/(pi)*trapz(t,i);
Vo=1/pi*trapz(t,v);
% Rizo
Rizo=0.5*(max(i)-min(i));
% Valores Efectivos
Irms=sqrt(1/(pi)*trapz(t,i.^2));
Vrms=sqrt(1/(pi)*trapz(t,v.^2));
% Potencia
S=V*Irms; % Fuente
Pe=E*Io;
Pr=R*Irms^2;
fp=(Pe+Pr)/S;
%Factor de rizado
FR_i=sqrt(Irms^2-Io^2)/Io;
FR_v=sqrt(Vrms^2-Vo^2)/Vo;
% THD carga
THDv=sqrt(Vrms^2-Vrms_1^2)/Vrms_1;
THDi=sqrt(Irms^2-Irms_1^2)/Irms_1;
% Graficas
%figure(1)
clf
t1=[t,t+pi];
vf=sqrt(2)*V*sin(t1);
vx=[v,v];
ix=[i,i];
subplot(3,1,1),plot(t1,vf,'-.',t1,vx,'r','LineWidth',2);grid
legend('Fuente','Carga');
set(gca,'FontSize',11,'FontName','Segoe UI Symbol');
xlim([alfa 2*pi+alfa]);
set(gca,'XTick',alfa:pi/6:2*pi+alfa);
if alfa~=0
set(gca,'XTickLabel',{'a','T/12+a','T/6+a','T/4+a','T/3+a','5T/12+a','
T/2+a','7T/12+a','2T/3+a','3T/4+a','5T/6+a','11T/12+a','T+a'})
else
set(gca,'XTickLabel',{'0','T/12','T/6','T/4','T/3','5T/12','T/2','7T/1
2','2T/3','3T/4','5T/6','11T/12','T'})
end
set(gca,'YTickLabel',{' '})
xlabel('Tiempo','fontsize',14,'fontname','Times');
ylabel('Magnitud','fontsize',14,'fontname','Times');
set(legend ,'FontSize',12,'FontName','Time');
%figure(2)
subplot(3,1,2),plot(t1,ix,'LineWidth',2);grid
xlim([alfa 2*pi+alfa]);
set(gca,'FontSize',11,'FontName','Segoe UI Symbol');
set(gca,'XTick',alfa:pi/6:2*pi+alfa);
if alfa~=0
set(gca,'XTickLabel',{'a','T/12+a','T/6+a','T/4+a','T/3+a','5T/12+a','
T/2+a','7T/12+a','2T/3+a','3T/4+a','5T/6+a','11T/12+a','T+a'})
else
set(gca,'XTickLabel',{'0','T/12','T/6','T/4','T/3','5T/12','T/2','7T/1
2','2T/3','3T/4','5T/6','11T/12','T'})
end
set(gca,'YTickLabel',{' '})
xlabel('Tiempo','fontsize',14,'fontname','Times');
ylabel('Magnitud','fontsize',14,'fontname','Times');
ix=[i,-i];
%figure(3)
subplot(3,1,3),plot(t1,ix,'LineWidth',2);grid
xlim([alfa 2*pi+alfa]);
set(gca,'FontSize',11,'FontName','Segoe UI Symbol');
set(gca,'XTick',alfa:pi/6:2*pi+alfa);
if alfa~=0
set(gca,'XTickLabel',{'a','T/12+a','T/6+a','T/4+a','T/3+a','5T/12+a','
T/2+a','7T/12+a','2T/3+a','3T/4+a','5T/6+a','11T/12+a','T+a'})
else
set(gca,'XTickLabel',{'0','T/12','T/6','T/4','T/3','5T/12','T/2','7T/1
2','2T/3','3T/4','5T/6','11T/12','T'})
end
set(gca,'YTickLabel',{' '})
xlabel('Tiempo','fontsize',14,'fontname','Times');
ylabel('Magnitud','fontsize',14,'fontname','Times');
% THD fuente
THDi_f=sqrt(Irms^2-Irms_f_1^2)/Irms_f_1;
% --- Executes on button press in radiobutton1.
function radiobutton1_Callback(hObject, eventdata, handles)
% hObject handle to radiobutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)