File Exchange

image thumbnail

Active Power Factor Correction

version 1.0.1 (43.3 KB) by Siddharth Jawahar
Simulink model used in the "Power Factor Correction Control" MathWorks video

68 Downloads

Updated 09 Jan 2019

View License

This submission contains a Simulink model and a MATLAB script that was used in the “Power Factor Correction Control” MathWorks video. The model contains a cascaded digital controller for active power factor correction implemented with a boost converter.
Gains of PI controllers in the outer voltage loop and inner current loop were tuned as shown in the video. The MATLAB scripts sets the physical properties of the passive components of the model and the design requirements.

Cite As

Siddharth Jawahar (2020). Active Power Factor Correction (https://www.mathworks.com/matlabcentral/fileexchange/69653-active-power-factor-correction), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (9)

Wilbert

when i am tuning the inner current loop as shown in the video of matlab on youtube,after taking initial conditions and taking input the 'fixed sine stream' when i am estimating the bode plot,the simulation goes in infinite loop,and only simulating the model is coming in the bottom of the window,please solve this issue!

Hi Robin - The slx file uses a callback to run the parameter file. The callback can be found in File -> Model Properties -> Callbacks -> PreLoad Fcn. This runs the parameter file just before the model is loaded into memory.

The PLL is used to get a clean angular reference for the control system, as the voltage measurement is 'contaminated' with harmonics. The model is simply a reference - feel free to remove components and see the impact on the system response.

Example: ACTIVE_PFC.SLX.
In the example, the active_pfc.m file has the parameters. But in the slx file one cannot find the .mat file anywhere.
How is this hidden? How are the parameters found by the model as it runs?...question from a nubbie such as me!
- Why is a PLL needed? In analog world where this topology was used since forever, there was no such complex block ever used.
Inductor current peaks track the input sinewave, a filter restores the current waveform to the extent possible-due to filter alone. Check out LT1249, 1248, 1509 etc from Analog Devices.
PLL block must be eating into time available to derive next gate pulse, will it not? Unless, the target MCU has PLL hardware built into it.
Or it is coded entirely as digital PLL which might be faster.
What if our topology does not need it?...we do not even need an input current shaping algorithm at all?

Anas Berbar

Sir, Please make it compatible with MATLAB 2016b

Updates

1.0.1

Fixed typo

MATLAB Release Compatibility
Created with R2018b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Communities