0% found this document useful (0 votes)
10 views17 pages

Power Electronics Circuits Lab Manual

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views17 pages

Power Electronics Circuits Lab Manual

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

M.

Tech I-I (PE)

POWER ELECTRONICS CIRCUITS LAB(21D54105) MANUAL

1)

% Single-phase fully controlled converter with R and RL loads

% Parameters

R = 10; % Resistance (ohms)

L = 0.1; % Inductance (H)

V_dc = 100; % DC voltage (V)

f = 50; % Frequency (Hz)

T = 1/f; % Period (s)

alpha = pi/6; % Firing angle (radians)

t = 0:0.0001:T; % Time vector

% Input voltage

v_dc = V_dc * sqrt(2) * sin(2 * pi * f * t);

% Controlled rectifier output voltage

v_ac = V_dc * sqrt(2) * sin(2 * pi * f * t - alpha) .* (t <= alpha / (2 * pi * f));

% Load current for R load

i_r = v_ac / R;

% Load current for RL load

i_rl = (V_dc / L) * (1 - exp(-R * t / L)) .* (t <= alpha / (2 * pi * f));

% Plotting

figure;
subplot(3, 1, 1);

plot(t, v_dc, 'b', 'LineWidth', 2);

title('Input Voltage');

xlabel('Time (s)');

ylabel('Voltage (V)');

grid on;

subplot(3, 1, 2);

plot(t, v_ac, 'r', 'LineWidth', 2);

title('Controlled Rectifier Output Voltage');

xlabel('Time (s)');

ylabel('Voltage (V)');

grid on;

subplot(3, 1, 3);

plot(t, i_r, 'g', 'LineWidth', 2, t, i_rl, 'm', 'LineWidth', 2);

title('Load Currents');

xlabel('Time (s)');

ylabel('Current (A)');

legend('R Load', 'RL Load');

grid on;

sgtitle('Single-phase Fully Controlled Converter with R and RL Loads');

2)

% Three-phase fully controlled converter with R and RL loads

% Parameters
R = 10; % Resistance (ohms)

L = 0.1; % Inductance (H)

V_dc = 100; % DC voltage (V)

f = 50; % Frequency (Hz)

T = 1/f; % Period (s)

alpha = pi/6; % Firing angle (radians)

t = 0:0.0001:T; % Time vector

% Input voltage (assuming balanced system)

v_dc = V_dc * sqrt(2) * sin(2 * pi * f * t);

% Controlled rectifier output voltage (assuming balanced system)

v_ac = V_dc * sqrt(2) * sin(2 * pi * f * t - alpha) .* (t <= alpha / (2 * pi * f));

% Load current for R load

i_r = v_ac / R;

% Load current for RL load

i_rl = (V_dc / (sqrt(3) * L)) * (1 - exp(-R * t / L)) .* (t <= alpha / (2 * pi * f));

% Plotting

figure;

subplot(3, 1, 1);

plot(t, v_dc, 'b', 'LineWidth', 2);

title('Input Voltage');

xlabel('Time (s)');

ylabel('Voltage (V)');

grid on;
subplot(3, 1, 2);

plot(t, v_ac, 'r', 'LineWidth', 2);

title('Controlled Rectifier Output Voltage');

xlabel('Time (s)');

ylabel('Voltage (V)');

grid on;

subplot(3, 1, 3);

plot(t, i_r, 'g', 'LineWidth', 2, t, i_rl, 'm', 'LineWidth', 2);

title('Load Currents');

xlabel('Time (s)');

ylabel('Current (A)');

legend('R Load', 'RL Load');

grid on;

sgtitle('Three-phase Fully Controlled Converter with R and RL Loads');

4)

% Three-phase AC voltage controller with R and RL loads

% Parameters

R = 10; % Resistance (ohms)

L = 0.1; % Inductance (H)

V_line = 230; % Line voltage (V)

f = 50; % Frequency (Hz)

T = 1/f; % Period (s)

alpha = pi/6; % Phase angle control (radians)

t = 0:0.0001:T; % Time vector


% Input voltage (three-phase sinusoidal)

v_ac = V_line * sqrt(2) * sin(2 * pi * f * t);

% Voltage controller output voltage

v_ctrl = V_line * sqrt(2) * sin(2 * pi * f * t - alpha);

% Load current for R load

i_r = v_ctrl / R;

% Load current for RL load

i_rl = (V_line / (sqrt(3) * L)) * sin(2 * pi * f * t - alpha) .* (t <= alpha / (2 * pi * f));

% Plotting

figure;

subplot(3, 1, 1);

plot(t, v_ac, 'b', 'LineWidth', 2);

title('Input Voltage');

xlabel('Time (s)');

ylabel('Voltage (V)');

grid on;

subplot(3, 1, 2);

plot(t, v_ctrl, 'r', 'LineWidth', 2);

title('Voltage Controller Output Voltage');

xlabel('Time (s)');

ylabel('Voltage (V)');

grid on;
subplot(3, 1, 3);

plot(t, i_r, 'g', 'LineWidth', 2, t, i_rl, 'm', 'LineWidth', 2);

title('Load Currents');

xlabel('Time (s)');

ylabel('Current (A)');

legend('R Load', 'RL Load');

grid on;

sgtitle('Three-phase AC Voltage Controller with R and RL Loads');

3)
% Single-phase AC voltage controller with R and RL loads

% Parameters
R = 10; % Resistance (ohms)
L = 0.1; % Inductance (H)
V_line = 230; % Line voltage (V)
f = 50; % Frequency (Hz)
T = 1/f; % Period (s)
alpha = pi/6; % Phase angle control (radians)
t = 0:0.0001:T; % Time vector

% Input voltage (sinusoidal)


v_ac = V_line * sqrt(2) * sin(2 * pi * f * t);

% Voltage controller output voltage


v_ctrl = V_line * sqrt(2) * sin(2 * pi * f * t - alpha);

% Load current for R load


i_r = v_ctrl / R;

% Load current for RL load


i_rl = (V_line / L) * (1 - exp(-R * t / L)) .* (t <= alpha / (2 * pi * f));

% Plotting
figure;

subplot(3, 1, 1);
plot(t, v_ac, 'b', 'LineWidth', 2);
title('Input Voltage');
xlabel('Time (s)');
ylabel('Voltage (V)');
grid on;
subplot(3, 1, 2);
plot(t, v_ctrl, 'r', 'LineWidth', 2);
title('Voltage Controller Output Voltage');
xlabel('Time (s)');
ylabel('Voltage (V)');
grid on;

subplot(3, 1, 3);
plot(t, i_r, 'g', 'LineWidth', 2, t, i_rl, 'm', 'LineWidth', 2);
title('Load Currents');
xlabel('Time (s)');
ylabel('Current (A)');
legend('R Load', 'RL Load');
grid on;

sgtitle('Single-phase AC Voltage Controller with R and RL Loads');

5) Three-Phase Inverter with 180 Degrees Conduction Mode:

% Three-phase inverter with 180 degrees conduction mode

% Parameters
V_dc = 400; % DC voltage (V)
f = 50; % Frequency (Hz)
T = 1/f; % Period (s)
R_load = 10; % Load resistance (ohms)
L_load = 0.1; % Load inductance (H)
alpha = pi; % Firing angle (radians)
t = 0:0.0001:T; % Time vector

% Input voltage (DC)


v_dc = V_dc * sqrt(2) * sin(2 * pi * f * t);

% Three-phase inverter output voltage (180 degrees conduction)


v_a = V_dc * sqrt(2) * sin(2 * pi * f * t - alpha);
v_b = V_dc * sqrt(2) * sin(2 * pi * f * t - alpha - 2*pi/3);
v_c = V_dc * sqrt(2) * sin(2 * pi * f * t - alpha + 2*pi/3);

% Load current (Star-connected)


i_star = (V_dc / (sqrt(3) * R_load)) * sin(2 * pi * f * t - alpha);

% Load current (Delta-connected)


i_delta = (V_dc / R_load) * sin(2 * pi * f * t - alpha);

% Plotting
figure;

subplot(3, 1, 1);
plot(t, v_dc, 'b', 'LineWidth', 2);
title('DC Voltage');
xlabel('Time (s)');
ylabel('Voltage (V)');
grid on;

subplot(3, 1, 2);
plot(t, v_a, 'r', t, v_b, 'g', t, v_c, 'b', 'LineWidth', 2);
title('Inverter Output Voltage (180 Degrees Conduction)');
xlabel('Time (s)');
ylabel('Voltage (V)');
legend('Phase A', 'Phase B', 'Phase C');
grid on;

subplot(3, 1, 3);
plot(t, i_star, 'm', 'LineWidth', 2, t, i_delta, 'c', 'LineWidth', 2);
title('Load Currents');
xlabel('Time (s)');
ylabel('Current (A)');
legend('Star-connected Load', 'Delta-connected Load');
grid on;

sgtitle('Three-Phase Inverter - 180 Degrees Conduction Mode');

Three-Phase Inverter with 120 Degrees Conduction Mode:

% Three-phase inverter with 120 degrees conduction mode

% Parameters
V_dc = 400; % DC voltage (V)
f = 50; % Frequency (Hz)
T = 1/f; % Period (s)
R_load = 10; % Load resistance (ohms)
L_load = 0.1; % Load inductance (H)
alpha = 2*pi/3; % Firing angle (radians)
t = 0:0.0001:T; % Time vector

% Input voltage (DC)


v_dc = V_dc * sqrt(2) * sin(2 * pi * f * t);

% Three-phase inverter output voltage (120 degrees conduction)


v_a = V_dc * sqrt(2) * sin(2 * pi * f * t - alpha);
v_b = V_dc * sqrt(2) * sin(2 * pi * f * t - alpha - 2*pi/3);
v_c = V_dc * sqrt(2) * sin(2 * pi * f * t - alpha + 2*pi/3);

% Load current (Star-connected)


i_star = (V_dc / (sqrt(3) * R_load)) * sin(2 * pi * f * t - alpha);

% Load current (Delta-connected)


i_delta = (V_dc / R_load) * sin(2 * pi * f * t - alpha);

% Plotting
figure;

subplot(3, 1, 1);
plot(t, v_dc, 'b', 'LineWidth', 2);
title('DC Voltage');
xlabel('Time (s)');
ylabel('Voltage (V)');
grid on;
subplot(3, 1, 2);
plot(t, v_a, 'r', t, v_b, 'g', t, v_c, 'b', 'LineWidth', 2);
title('Inverter Output Voltage (120 Degrees Conduction)');
xlabel('Time (s)');
ylabel('Voltage (V)');
legend('Phase A', 'Phase B', 'Phase C');
grid on;

subplot(3, 1, 3);
plot(t, i_star, 'm', 'LineWidth', 2, t, i_delta, 'c', 'LineWidth', 2);
title('Load Currents');
xlabel('Time (s)');
ylabel('Current (A)');
legend('Star-connected Load', 'Delta-connected Load');
grid on;

sgtitle('Three-Phase Inverter - 120 Degrees Conduction Mode');

6)
% Buck Converter

Vin = 20; % Input voltage (V)


Vout = 10; % Output voltage (V)
L = 50e-6; % Inductance (H)
C = 100e-6; % Capacitance (F)
R = 1; % Load resistance (ohms)
fs = 100e3; % Switching frequency (Hz)

% Create Simulink model


open_system(new_system('BuckConverterModel'));
add_block('powerlib/Elements/Transmission/TL',
'BuckConverterModel/Transmission Line');
add_block('powerlib/Elements/Semiconductor Diode',
'BuckConverterModel/Diode');
add_block('powerlib/Elements/Electrical Reference',
'BuckConverterModel/Electrical Reference');
add_block('powerlib/Elements/Two-Port RL Branch', 'BuckConverterModel/RL
Load');
add_block('powerlib/Elements/Controlled Voltage Source',
'BuckConverterModel/Controlled Voltage Source');

% Set parameters
set_param('BuckConverterModel', 'Solver', 'ode45');
set_param('BuckConverterModel/Transmission Line', 'Resistance', num2str(R));
set_param('BuckConverterModel/Transmission Line', 'Inductance', num2str(L));
set_param('BuckConverterModel/Controlled Voltage Source', 'amplitude',
num2str(Vin));
set_param('BuckConverterModel/Controlled Voltage Source', 'Frequency',
num2str(fs));

% Connect blocks
add_line('BuckConverterModel', 'Controlled Voltage Source/1', 'Transmission
Line/1');
add_line('BuckConverterModel', 'Transmission Line/2', 'Diode/1');
add_line('BuckConverterModel', 'Diode/2', 'RL Load/1');
add_line('BuckConverterModel', 'RL Load/2', 'Electrical Reference/1');
add_line('BuckConverterModel', 'Electrical Reference/2', 'Transmission
Line/3');

% Boost Converter

Vin = 10; % Input voltage (V)

Vout = 20; % Output voltage (V)

L = 50e-6; % Inductance (H)

C = 100e-6; % Capacitance (F)

R = 1; % Load resistance (ohms)

fs = 100e3; % Switching frequency (Hz)

% Create Simulink model

open_system(new_system('BoostConverterModel'));

add_block('powerlib/Elements/Transmission/TL', 'BoostConverterModel/Transmission Line');

add_block('powerlib/Elements/Semiconductor Diode', 'BoostConverterModel/Diode');

add_block('powerlib/Elements/Electrical Reference', 'BoostConverterModel/Electrical Reference');

add_block('powerlib/Elements/Two-Port RL Branch', 'BoostConverterModel/RL Load');

add_block('powerlib/Elements/Controlled Voltage Source', 'BoostConverterModel/Controlled Voltage


Source');

% Set parameters

set_param('BoostConverterModel', 'Solver', 'ode45');

set_param('BoostConverterModel/Transmission Line', 'Resistance', num2str(R));

set_param('BoostConverterModel/Transmission Line', 'Inductance', num2str(L));

set_param('BoostConverterModel/Controlled Voltage Source', 'amplitude', num2str(Vin));

set_param('BoostConverterModel/Controlled Voltage Source', 'Frequency', num2str(fs));


% Connect blocks

add_line('BoostConverterModel', 'Controlled Voltage Source/1', 'Transmission Line/1');

add_line('BoostConverterModel', 'Transmission Line/2', 'Diode/1');

add_line('BoostConverterModel', 'Diode/2', 'RL Load/1');

add_line('BoostConverterModel', 'RL Load/2', 'Electrical Reference/1');

add_line('BoostConverterModel', 'Electrical Reference/2', 'Transmission Line/3');

% Buck-Boost Converter

Vin = 15; % Input voltage (V)

Vout = 10; % Output voltage (V)

L = 50e-6; % Inductance (H)

C = 100e-6; % Capacitance (F)

R = 1; % Load resistance (ohms)

fs = 100e3; % Switching frequency (Hz)

% Create Simulink model

open_system(new_system('BuckBoostConverterModel'));

add_block('powerlib/Elements/Transmission/TL', 'BuckBoostConverterModel/Transmission Line');

add_block('powerlib/Elements/Semiconductor Diode', 'BuckBoostConverterModel/Diode');

add_block('powerlib/Elements/Electrical Reference', 'BuckBoostConverterModel/Electrical Reference');

add_block('powerlib/Elements/Two-Port RL Branch', 'BuckBoostConverterModel/RL Load');

add_block('powerlib/Elements/Controlled Voltage Source', 'BuckBoostConverterModel/Controlled


Voltage Source');

% Set parameters

set_param('BuckBoostConverterModel', 'Solver', 'ode45');

set_param('BuckBoostConverterModel/Transmission Line', 'Resistance', num2str(R));

set_param('BuckBoostConverterModel/Transmission Line', 'Inductance', num2str(L));

set_param('BuckBoostConverterModel/Controlled Voltage Source', 'amplitude', num2str(Vin));


set_param('BuckBoostConverterModel/Controlled Voltage Source', 'Frequency', num2str(fs));

% Connect blocks

add_line('BuckBoostConverterModel', 'Controlled Voltage Source/1', 'Transmission Line/1');

add_line('BuckBoostConverterModel', 'Transmission Line/2', 'Diode/1');

add_line('BuckBoostConverterModel', 'Diode/2', 'RL Load/1');

add_line('BuckBoostConverterModel', 'RL Load/2', 'Electrical Reference/1');

add_line('BuckBoostConverterModel', 'Electrical Reference/2', 'Transmission Line/3');

7)

% Single-phase cycloconverter

f_source = 50; % Source frequency (Hz)

f_output = 25; % Output frequency (Hz)

T_source = 1/f_source;

T_output = 1/f_output;

t = 0:0.0001:T_source; % Time vector

% Source voltage (assumed sinusoidal)

v_source = sqrt(2) * sin(2 * pi * f_source * t);

% Cycloconverter output voltage

v_output = zeros(size(t));

% Generate the cycloconverter output waveform

for i = 1:length(t)

if mod(t(i), T_output) <= T_output/2


v_output(i) = -v_source(i);

else

v_output(i) = v_source(i);

end

end

% Plotting

figure;

subplot(2, 1, 1);

plot(t, v_source, 'b', 'LineWidth', 2);

title('Source Voltage');

xlabel('Time (s)');

ylabel('Voltage (V)');

grid on;

subplot(2, 1, 2);

plot(t, v_output, 'r', 'LineWidth', 2);

title('Cycloconverter Output Voltage');

xlabel('Time (s)');

ylabel('Voltage (V)');

grid on;

sgtitle('Single-phase Cycloconverter Simulation');

8)

% Three-phase cycloconverter

f_source = 50; % Source frequency (Hz)


f_output = 25; % Output frequency (Hz)

T_source = 1/f_source;

T_output = 1/f_output;

t = 0:0.0001:T_source; % Time vector

% Three-phase source voltages (assumed balanced)

v_source_A = sqrt(2) * sin(2 * pi * f_source * t);

v_source_B = sqrt(2) * sin(2 * pi * f_source * t - 2*pi/3);

v_source_C = sqrt(2) * sin(2 * pi * f_source * t + 2*pi/3);

% Three-phase cycloconverter output voltages

v_output_A = zeros(size(t));

v_output_B = zeros(size(t));

v_output_C = zeros(size(t));

% Generate the cycloconverter output waveforms

for i = 1:length(t)

if mod(t(i), T_output) <= T_output/2

v_output_A(i) = -v_source_A(i);

v_output_B(i) = -v_source_B(i);

v_output_C(i) = -v_source_C(i);

else

v_output_A(i) = v_source_A(i);

v_output_B(i) = v_source_B(i);

v_output_C(i) = v_source_C(i);

end

end
% Plotting

figure;

subplot(3, 2, 1);

plot(t, v_source_A, 'b', 'LineWidth', 2);

title('Source Voltage A');

xlabel('Time (s)');

ylabel('Voltage (V)');

grid on;

subplot(3, 2, 2);

plot(t, v_output_A, 'r', 'LineWidth', 2);

title('Cycloconverter Output A');

xlabel('Time (s)');

ylabel('Voltage (V)');

grid on;

subplot(3, 2, 3);

plot(t, v_source_B, 'b', 'LineWidth', 2);

title('Source Voltage B');

xlabel('Time (s)');

ylabel('Voltage (V)');

grid on;

subplot(3, 2, 4);

plot(t, v_output_B, 'r', 'LineWidth', 2);

title('Cycloconverter Output B');

xlabel('Time (s)');

ylabel('Voltage (V)');
grid on;

subplot(3, 2, 5);

plot(t, v_source_C, 'b', 'LineWidth', 2);

title('Source Voltage C');

xlabel('Time (s)');

ylabel('Voltage (V)');

grid on;

subplot(3, 2, 6);

plot(t, v_output_C, 'r', 'LineWidth', 2);

title('Cycloconverter Output C');

xlabel('Time (s)');

ylabel('Voltage (V)');

grid on;

sgtitle('Three-phase Cycloconverter Simulation');

10)

open_system(new_system('InductionMotorModel'));

add_block('powerlib/Elements/Transmission/TL', 'InductionMotorModel/Voltage Source');

add_block('powerlib/Elements/Machines/Induction Machine', 'InductionMotorModel/Induction


Motor');

add_block('powerlib/Elements/Machines/Inertia', 'InductionMotorModel/Mechanical Load');

add_block('powerlib/Utilities/Machines/Scope', 'InductionMotorModel/Motor Speed Scope');

% Set parameters

set_param('InductionMotorModel', 'Solver', 'ode45');


set_param('InductionMotorModel/Voltage Source', 'Voltage', '230', 'Frequency', '50');

set_param('InductionMotorModel/Induction Motor', 'Rr', '0.5', 'Xr', '3', 'Xm', '50', 'Vnom', '230');

set_param('InductionMotorModel/Mechanical Load', 'Inertia', '0.01');

set_param('InductionMotorModel/Motor Speed Scope', 'Position', [500, 100, 800, 400]);

% Connect blocks

add_line('InductionMotorModel', 'Voltage Source/1', 'Induction Motor/1');

add_line('InductionMotorModel', 'Induction Motor/2', 'Mechanical Load/1');

add_line('InductionMotorModel', 'Mechanical Load/2', 'Motor Speed Scope/1');

9)

You might also like