Main Content

Power Factor Correction Using Boost Converter

This example shows how to implement power factor correction (PFC) using a boost converter with the Embedded Coder® Support Package for Texas Instruments™ C2000™ Processors. The example uses the Texas Instruments F28069M controlCARD with high voltage motor control kit (TMDSHVMTRINSPIN).

Using this example, you can:

  • Simulate PFC using a boost converter.

  • Generate code for the controller and load it on the controlCARD.

  • Monitor signals using the host computer.

Required Hardware

Hardware Connections

The High voltage motor control kit (TMDSHVMTRINSPIN) configuration includes the following hardware components:

  • F28069M controlCARD

  • DC power supply

  • Resistive Load

  • Variac

The following steps describe the jumper connections, switch settings and power supply connections for the High voltage motor control kit (TMDSHVMTRINSPIN):

1. Install the Jumpers [Main]-J3, J4 and J5, J9 for 3.3V, 5V and 15V power rails.

2. Unpack the DIMM style controlCARD and place it in the connector slot of [Main]-J1.

3. For controlCARDs with on-card isolated emulation, ex: TMDSCNCD28069MISO:

  • Populate M3-J5 on HV kit (disables power to HVKIT emulator)

  • Do NOT populate J9 on HV kit (disables JTAG connection)

4. On the F28069 ISO control card, ensure the following switch settings,

  • SW3: position 1 ON and position 2 ON.

  • SW2: position 1 OFF and position 2 OFF.

  • SW1: position 1 ON and position 2 ON.

5. Connect 15V DC power supply to [M6]-JP1 and ensure that [M6]-SW1 is in the "Off" position.

6. Connect banana cable from [Main]-BS1 to [Main]-BS3 (This will connect the rectifier output to the boost converter input).

7. Connect banana cable from [Main]-BS4 and [Main]-BS5 (This will include the inverter DC bus capacitors in parallel to the pfc output stage capacitors).

8. Connect AC power to the [Main]-P1 through a variac. Ensure AC input to the kit is in the range 15 to 18 V.

Available Models

The model consists of the plant model and the controller. The plant model consists of two major modules:

  • AC-DC Rectifier: This module takes 15 to 18 V AC input and outputs rectified DC voltage.

  • DC-DC Boost Converter: This module boosts up the input voltage based on the duty cycle of the pulse width modulation (PWM) output.


The AC-DC rectification stage uses a traditional uncontrolled H-bridge rectifier. The DC-DC boost converter on the kit has a two-phase interleaved topology. For simplicity, only one phase has been used for the boost operation. The duty cycle of the PWM output determines the amount of boost imparted to the input voltage.

The PFC controller provides current shaping of the AC input and regulates the DC bus. The outer voltage loop ensures that the output DC voltage is maintained at the set reference(24 V) by using a discrete proportional integral (PI) controller.

The inner current loop performs the wave shaping of the input AC current to maintain a high power factor. The reference for the current loop is generated by feed-forward of the rectified DC voltage as well as the output of the voltage control loop.

The output of the PFC controller is the PWM duty cycle of the DC-DC boost converter which is switched at 200 kHz. The controller operates at a rate of 100 kHz i.e. half of the PWM switching frequency.

Peripheral Block Configuration

ePWM block

The PWM signals are generated at a frequency of 200 kHz. The ePWM4 module is configured to operate in up-down count mode. All ADC results are read in (100kHz) ISR labelled PFC_ISR. This ISR is triggered by ePWM4 on every second of CMPB (with a preset value) match event during down count, so that the ISR is triggered only after the ADC conversions are complete.

ADC block

PFC total inductor current is sampled at the midpoint of the PWM ON pulse. Since the sampled value represents the average inductor current under CCM (continuous conduction mode) condition. PFC inductor current is also oversampled 4 times during each PWM time period. These 4 sampled values are then used to calculate the average PFC inductor current. The voltage signal conversions are also initiated when the PFC switch is on. The 4 SOC triggers are generated when,

  • ePWM4 counter reaches zero and period.

  • ePWM5 counter reaches a preset CMPA values during up and down count.

Overvoltage Protection

An overvoltage protection mechanism is implemented using custom code in System Outputs block. The sensed DC bus output voltage from the ADC input is compared against the overvoltage protection threshold set in the initialization script file. Vpfc_trip_level is the overvoltage threshold point which is set to 35 V for the model. When overvoltage condition is met, the one-shot trip in ePWM is enabled.

Simulate PFC Using Boost Converter

Run the Model

1. Open the c28069pfchvkit.slx model, and click the Run button to simulate the model.

2. Observe the output waveforms on the Results block from the following path c28069pfchvkit > Plant Model > Simulation.

Generate Code for Controller and Load It on controlCARD

The deployment model has a real-time interrupt service routines (ISR) configured to trigger PFC control at the rate of 100 kHz.

Load Model on controlCARD

1. Ensure the hardware connections are made as mentioned in the Hardware Connections section.

2. Turn on [M6]SW1 on the kit to power on the controlCARD.

3. Open the c28069pfchvkit.slx model and generate code by pressing Ctrl+B.

4. Follow the build process by opening the diagnostic viewer using the link at the bottom of the model canvas.

5. Connect an appropriate resistive load to the PFC DC output terminals (BS5 & BS6). Ensure the load resistance is in the range of 20 to 50 ohms.

6. Turn on the AC power supply and gradually increase the AC input ([Main]-P1) to the value between 15 V to 18 V.

  • The PFC algorithm kicks in when the AC input is more than 14 V.

7. Run the host model and observe the output capacitor voltage & the PFC inductor current.

8. Turn off the AC power first and wait for a few minutes for the PFC DC bus capacitor to discharge completely.

Monitor Signals on Host Computer

The host model receives the data from the hardware kit and plots it to verify the performance of the PFC controller.


Configure and Run Model on Host Computer

1. On the host computer, browse to Device Manager > Ports (COM & LPT) to find the COM port.

2. Set the parameter Port of the following blocks in the c2000_host_pfc model to match the COM port of the host computer:

  • c2000_host_pfc > Serial Configuration

  • c2000_host_pfc > Serial Receive

3. Click the Run button on the Simulation tab to run the host model.

4. While the model runs, you can monitor the boost converter output capacitor voltage and input inductor current to analyze the performance of PFC control.

Hardware Results

The following figure shows the hardware results for the model matlab:c28069pfchvkit.slx. Observe the boost converter output capacitor voltage and input inductor current. The following result is taken at a resistive load of 30 ohm.

More About