I am trying to tune the Active PF Correction converter current and voltage loop to get a sinusoidal input current. I can get to a voltage reference, but the current looks like this. Reading the literature, the advantage of using APRC is that the input current is sinusoidal and the inductor current should be half sinusoidal.
Ch1 is the inductor current.
When doing numerical simulations in MATLAB Simulink using this model.
I can get both cases: a) with sinusoidal current and b) with the current resembling what I get on the oscilloscope. Two cases are recorded for the same input and output parameters. In the first case, you can see that the maximum current amplitude is lower compared to the second case.
A blue signal is the inductor current. The difference is, in the first case Kp (for current and voltage loop is 100 higher) than in the second case. In both cases, I get to the voltage reference.
When I increase a proportional gain in DSP, the current starts to oscillate. Oscilgrams show waveforms for Kp_current * 10 and Kp_voltage * 4. One peak goes up and another down, even to zero if I increase Kp a bit higher. DC voltage is constant and does not change. I do not see nor can I replicate this behaviour in Simulink.
Many months ago I was able to get a sinusoidal input current, it seems by luck :) Then I was trying to tune the DC link for a no-load case and reduce overshoot and now I cannot get a sinusoidal current back anymore. Unfortunately, I have not recorded the controller parameters :(
Ch3 is the inductor current & Ch4 is the input current.
How to tune Active PF Correction converter so I get a sinusoidal input current... becase it seems APFC has two steady-states depending on the controller parameters and in DPS I can achieve only one.
Update after some more simulations
In Simulink, both cases (with different controller gains) produce stable steady-state responses. In the real model, I also get a steady state response. However, when changing the gains I cannot get 'the other case', i.e. with sinusoidal current input.
It seems Active PFC has more steady-states with different input and inductor current waveforms, for example, for inductor current, depending mainly on the current proportional gain, I get a full half-sine waveform, a narrower symmetrical waveform or again narrower but shifted towards the right side current waveform (a case that I'm seeing on the scope). Control signals are well below limits. The current starts from t0 like that and does not change the shape, only amplitude as it settles.
The only thing I could see in Simulink is that in the 'correct' case current feedback signal matches the reference signal in the amplitude (Kp 100 times higher), and in the other cases, it does not.
- Display1: yellow: reference, blue: feedback
- Display2: error (ref - fbk); input to PI controller
- Display3: PI output to PWM block
Bode plot and bandwidth
Control System Block Diagram
- $K_{pv}$ = 0.001, $T_{iv}$ = 0.01
- $K_{pi}$ = 0.08, T_{ii}$ = 0.008 - $R$ = 163.33 Ohm, $C$ = 9.4 mF, $L$ = 6 mH, $R_L$ = 10 mOhm
$reg = K_p (1+ \dfrac{1}{sT_i})$
Current Loop
Open Loop TF: $ K_{pi} (1+ \dfrac{1}{sT_{ii}}) \dfrac{1}{sL+R_L} = \dfrac{s K_{pi}T_{ii} + K_{pi}}{s^2T_{ii}L + sT_{ii}R_L}$
Closed Loop TF: $ \dfrac{K_{pi} (1+ \dfrac{1}{sT_{ii}}) \dfrac{1}{sL+R_L}}{1+{K_{pi} (1+ \dfrac{1}{sT_{ii}}) \dfrac{1}{sL+R_L}}} = ... = \dfrac{s K_{pi}T_{ii} + K_{pi}}{s^2T_{ii}L + s(K_{pi}T_{ii}+T_{ii}R_L) + K_{pi}}$
Voltage Loop
Open Loop TF: $ K_{pv} (1+ \dfrac{1}{sT_{iv}}) \dfrac{1}{sL+R_L} \dfrac{s K_{pi}T_{ii} + K_{pi}}{s^2T_{ii}L + s(K_{pi}T_{ii}+T_{ii}R_L) + K_{pi}} = ... $
Bode plots for two different current proportional gain values (x1 and x0.01). This corresponds to the same waveforms in Fig. 4 and Fig. 5, respectively. By looking at Bode plots I cannot see why in the first case I get almost half-sine waveform and in the secodn case I do not (Fig. 5).
Bode Plot Open Loop