# Three Phase Rectification and Power Factor¶

In this lab you will use the grid to run the Lab Volt induction motor, which will turn the Lab Volt synchronous generator which will drive a three phase full wave bridge rectifier shown below.

This circuit is used to create direct current (DC) voltages. In our case, we will use it to power the armature of the Lab Volt DC motor. One goal of this lab is to understand this rectifier circuit. It is commonly used. Places you might expect to see it include automotive alternators used to charge the automobile's twelve volt battery. Diodes are like one way or check valves in a plumbing system. They pass current with high voltage on the anode through to low voltage on the cathode, and do not pass current (acts disconnected, like an open switch) when the voltage tries to make current in the other direction. The symbol has an arrow from anode to cathode, and a block at the cathode end which is supposed to give you the idea of how current flows. The physical diode usually has a band on the cathode end of the device.

In the three phase rectifier, the highest voltage in the set of three phase voltages is passed on to the output at the + terminal, and the lowest voltage in the set of three phases is connected to the - output terminal. The octave script below shows how the output voltage waveform looks.

In [1]:

    % This shows two cycles of a Three Phase Rectifier, both full and half wave.
    % For Lab 9
    clear all; close all;
    f = 1;
    cycles = 2;
    delta_t = 0.0001;
    t = 0:delta_t:cycles/f;  % Two periods
    w = 2*pi*f;
    A = 1; %120*sqrt(2);
    delay = 0;
    Va = A*sin(w.*t - delay);
    Vb = A*sin(w.*t - 2*pi/3 - delay);
    Vc = A*sin(w.*t + 2*pi/3 - delay);
    plot(t,Va,t,Vb,t,Vc)
    Diode_drop = 0; %0.7;
    N = length(t);
    for k = 1:N
      DCp(k) = max([Va(k),Vb(k),Vc(k)])-Diode_drop;
      DCm(k) = min([Va(k),Vb(k),Vc(k)])+Diode_drop;
    end
    plot(t,Va,t,Vb,t,Vc,t,DCp,t,DCp-DCm)
    title('Three Phase Rectifier')
    ylabel('Voltage (V)')
    xlabel('Time (s)')
    legend('Va','Vb','Vc','Von','Voll')
    grid()

Note that the DC voltage output is not the root mean square value, or the peak value.

In [2]:

    V_DC_max = max(DCp-DCm)
    V_DC_min = min(DCp-DCm)

    V_DC_max = 1.7321
    V_DC_min = 1.5000

The current drawn from the AC line is not sinusoidal. Every sixth of the cycle the current out of a phase, for example, $i_a$,flows through a different path, and every third of a cycle the changes are even more radical. Here are the current waveforms for each of the diodes and $i_a$.

If the electronic device drawing the current is non-linear, a sinusoidal voltage input results in harmonic distortion in the current. The current is still periodic with the same fundamental frequency, but has harmonic currents that at integer multiples of the voltage frequency. Harmonic currents are a new cause of non-unity power factor on the grid, due to the use of all kinds of non-linear electronic loads. The old familiar power factor, more properly called displacement power factor, (DPF), was due to the currents not being in phase with the voltage, even though they were at the same frequency. The problem with currents in reactive elements (capacitors and inductors) is that half the cycle power flows into them, and the other half the cycle power flows back into the circuit that delivered the power. It is like buying something from Amazon, then sending it back. Amazon has to pay for shipping both ways, and doesn't like it when customers do that. Neither does the power company, who is in a similar position. The exact same thing happens to harmonic currents. Half the cycle the power flows into the load, and the other half it flows back to the source. The following octave script illustrates this for the simple case of a second harmonic current. This new power factor is called harmonic power factor. The combination (multiplication) of the two is just the power factor. Wikipedia has a nice description of this.

In [3]:

    i_h = sin(2*w*t); % Assuming 200A peak of harmonic current...
    p_h = Va.*i_h;
    plot(t,Va,t,i_h,t,p_h)
    legend('Va(V)', 'I_ah (A)', 'p_ah (VAR)')
    grid()
    xlabel('Time (s)')
    title('Power in Harmonics')

Let's illustrate this with the actual current from our three phase rectifier.

In [47]:

    R = 1; % Resistance driven by rectifier
    % The current through the a phase flows positively when
    ia = zeros(size(t));
    for k=1:N
        if ((Va(k) >= Vb(k))&&(Va(k) >= Vc(k))) % D1 on
            ia(k) = (DCp(k)-DCm(k))/R;
        elseif ((Va(k)<=Vb(k))&&(Va(k)<=Vc(k))) % D4 on
            ia(k) = -(DCp(k)-DCm(k))/R;
        endif
    endfor
    plot(t,ia,t,1.2*max(ia)*sin(w*t))
    legend('i_a (A)',
    xlabel('Time (s)')
    ylabel('Current (A)')
    title('Line Current for Phase A')

    error: parse error:

      syntax error

    >>> ylabel('Current (A)')
             ^

This current waveform is in time with the voltage, but it is not sinusoidal, so it has harmonics. Let's find them.

In [44]:

    Iasq = abs(fft(ia(1:1:N/2))).^2;
    bar(0:19,sqrt(Iasq(1:20)./Iasq(2)))
    xlim([0,20])
    xlabel('Harmonic Number')
    title('Relative Harmonic RMS Content in the Current')
    grid()
    hpf = sqrt(Iasq(2)/sum(Iasq))

    hpf = 0.6758

This is markedly worse than the lab. I think this is because the voltage was also distorted in the lab, so having components of the voltage at the other frequencies allowed them to dissipate power too, instead of sending it back to the power company or generator, but this is just a guess. This needs to be thought out and the code debugged a bit to be sure it is right.

In [ ]: