AN1106

AN1106
Power Factor Correction in Power Conversion Applications
Using the dsPIC® DSC
Author:
Vinaya Skanda
Microchip Technology Inc.
INTRODUCTION
Most of the power conversion applications consist of an
AC-to-DC conversion stage immediately following the
AC source. The DC output obtained after rectification is
subsequently used for further stages.
Current pulses with high peak amplitude are drawn
from a rectified voltage source with sine wave input and
capacitive filtering. The current drawn is discontinuous
and of short duration irrespective of the load connected
to the system.
Since many applications demand a DC voltage source,
a rectifier with a capacitive filter is necessary. However,
this results in discontinuous and short duration current
spikes. When this type of current is drawn from the
mains supply, the resulting network losses, the total
harmonic content, and the radiated emissions become
significantly higher. At power levels of more than 500
watts, these problems become more pronounced.
Two factors that provide a quantitative measure of the
power quality in an electrical system are Power Factor
(PF) and Total Harmonic Distortion (THD). The amount
of useful power being consumed by an electrical
system is predominantly decided by the PF of the
system.
Benefits from improvement of Power Factor include:
• Lower energy and distribution costs
• Reduced losses in the electrical system during
distribution
• Better voltage regulation
• Increased capacity to serve power requirements
This application note focuses primarily on the study,
design and implementation of Power Factor Correction
(PFC) using a Digital Signal Controller (DSC). The
software implementation of PFC using the 16-bit fixed
point dsPIC® DSC is explained in detail. The
discretization of the error compensators, along with a
design example is covered as well. In conclusion, some
laboratory test results and waveforms are presented to
validate the digital implementation of the PFC
converter.
© 2007 Microchip Technology Inc.
The low cost and high performance capabilities of the
DSC, combined with a wide variety of power electronic
peripherals such as an Analog-to-Digital Converter
(ADC) and a Pulse Width Modulator (PWM), enable the
digital design and development of power related
applications to be simpler and easier.
Some advantages of using a digital implementation for
PFC are:
• Easy implementation of sophisticated control
algorithms
• Flexible software modifications to meet specific
customer needs
• Simpler integration with other applications
SIGNIFICANCE OF POWER FACTOR
IN POWER AND CONTROL SYSTEMS
To understand PF, it is important to know that power
has two components:
• Working, or Active Power
• Reactive Power
Working Power is the power that is actually consumed
and registered on the electric meter at the consumer's
location. It performs the actual work such as creating
heat, light and motion. Working power is expressed in
kilowatts (kW), which registers as kilowatt hour (kWh)
on an electric meter.
Reactive Power does no useful work, but is required to
maintain and sustain the electromagnetic field
associated with the industrial inductive loads such as
induction motors driving pumps or fans, welding
machines and many more. Reactive Power is
measured in kilovolt ampere reactive (kVAR) units.
The total required power capacity, including Working
Power and Reactive Power, is known as Apparent
Power, expressed in kilovolt ampere (kVA) units.
Power Factor is a parameter that gives the amount of
working power used by any system in terms of the total
apparent power. Power Factor becomes an important
measurable quantity because it often results in
significant economic savings.
Typical waveforms of current with and without PFC are
shown in Figure 1.
DS01106A-page 1
AN1106
FIGURE 1:
CURRENT WAVEFORMS WITH AND WITHOUT PFC
Input Voltage
0
DC Bus Output Voltage
Without
PFC
Input Current
0
DC Bus Output Voltage
With PFC
Input Current
These waveforms illustrate that PFC can improve the
input current drawn from the mains supply and reduce
the DC bus voltage ripple.
The objective of PFC is to make the input to a power
supply look like a simple resistor. This allows the power
distribution system to operate more efficiently, reducing
energy consumption.
The Power Factor is equal to Real Power divided by
Apparent Power, as shown in Equation 1.
EQUATION 1:
POWER FACTOR
The remaining power that is lost as Reactive Power in
the system is due to two reasons:
• Phase shift of current with respect to voltage,
resulting in displacement
• Harmonic content present in current, resulting in
distortion
These two factors define Displacement Factor and
Distortion Factor, which provide the Power Factor as
shown in Equation 2. The amount of displacement
between the voltage and current indicates the degree
to which the load is reactive.
Power Factor = Real Power / Volt x Ampere
When the ratio deviates from a constant, the input
contains phase displacement, harmonic distortion or
both, and either one degrades the Power Factor.
© 2007 Microchip Technology Inc.
DS01106A-page 2
AN1106
EQUATION 2:
POWER FACTOR
Power Factor = Displacement Factor x Distortion Factor
1
cos φ
PowerFactor = cos φ ⋅ -------------------------------------------------------------------- = ---------------------------2
2
1 + ( I2 ⁄ I1 ) 2 + ( I3 ⁄ I1 ) + …
1 + THD
Displacement
Factor
THD =
Distortion Factor
2
1 + ( I2 ⁄ I1 ) 2 + ( I3 ⁄ I1 ) + …
where:
cosφ = Displacement factor of the voltage and current
THD = Total Harmonic Distortion
I1 = Current drawn from the supply at fundamental frequency
I2 = Current drawn from the supply at double the fundamental frequency and so on
Harmonic Content
Current harmonics are sinusoidal waves that are
integral multiples of the fundamental wave. They
appear as continuous, steady-state disturbances on
the electrical network. Harmonics are altogether
different from line disturbances, which occur as
transient distortions due to power surges.
SOURCES OF CURRENT HARMONICS
Some of the prominent sources that cause current
harmonics distortion are:
• Power Electronic Equipment (rectifiers, UPS
systems, variable frequency drives, state
converters, thyristor systems, switch mode power
supplies, SCR controlled systems, etc.)
• Auxiliary Equipment (welding machines, arc
furnaces, mercury vapor lamps, etc.)
• Saturable Inductive Equipment (generators,
motors, transformers, etc.)
PFC aims at improving the displacement and distortion
factors to derive maximum Real Power from the supply.
This is done by reducing the losses that occur in the
system due to the presence of reactive elements,
resulting in the improvement of power quality and
overall efficiency of the system.
When the power converter is fed from a voltage source,
and by making the power converter appear as a linear
resistance to the supply voltage, the input current wave
shape can be made to follow the input voltage wave
shape. For example, if the input voltage (V) is in the
form of a sine wave, input current (I) is the same as that
shown in Figure 2.
FIGURE 2:
I
V
Linear Resistor
R
PROBLEMS CREATED BY CURRENT
HARMONICS
Problems created by current harmonics include, but
are not limited to:
• Erroneous operation of control system
components
• Damage to sensitive electronic equipment
• Nuisance tripping of circuit breakers and blowing
fuses
• Excessive overheating of capacitors,
transformers, motors, lighting ballasts and other
electrical equipment
• Interference with neighboring electronic
equipment
V
V (t)
I
I (t)
t
To reduce these problems of current harmonics, the
current drawn from the input needs to be shaped
similar to that of voltage wave profile. The Total
Harmonic Distortion (THD) is shown in Equation 2.
© 2007 Microchip Technology Inc.
DS01106A-page 3
AN1106
HOW TO MAKE THE POWER
CONVERTER LOOK RESISTIVE
Despite having reactive passive elements like
inductors, capacitors and active switching elements
like MOSFETs and IGBTs, how can we make the
converter appear to be resistive to the supply voltage?
The answer to this question lies in the fact that PFC is
a low-frequency requirement. Therefore, the converter
need not be resistive at all frequencies, provided a
filtering mechanism exists to remove the highfrequency ripples.
The basic elements present in a converter are an
inductor (L) and a capacitor (C), which are zero order
elements. This means that these elements cannot
store energy in a single switching cycle due to their
fundamental properties:
• An inductor cannot take a sudden change in
current. This makes it a cut set with an open
switch and a periodic current source, as shown in
Figure 3.
• A capacitor cannot take a sudden change in
voltage. This makes it a closed circuit with a
closed switch and a periodic voltage source, as
shown in Figure 4.
FIGURE 3:
SUDDEN CHANGE IN
CURRENT
I
FIGURE 4:
SUDDEN CHANGE IN
VOLTAGE
+
C
-
Closed
V
Active PFC must control both the input current and the
output voltage. The current is shaped by the rectified
line voltage so that the input to the converter appears
to be resistive. The output voltage is controlled by
changing the average amplitude of the current
programming signal.
Figure 3 and Figure 4 show the two fundamental
properties that lead to the following conclusions:
• The two elements, inductor and capacitor, can be
considered to be resistive in the low frequency
range.
• The current through the inductor can be
programmed in such a way that it follows the supply
voltage and assumes the same wave shape as that
of the voltage. To achieve this, different strategies
are used for implementing PFC.
The effective resistance of the resistive load specified
to the AC line varies slowly according to the power
demands of the actual load. The line current remains
proportional to the line voltage, but this proportionality
constant varies slowly over a number of line cycles.
L
Inductor
Current
© 2007 Microchip Technology Inc.
Open
DS01106A-page 4
AN1106
THEORETICAL BACKGROUND ON
PFC STRATEGIES
In a DSC-based application, the relevant analog
parameters and the control loops need to be redefined
and discretized. This enables changeover from existing
hardware to its digital counterpart easier and more
logical.
The basic function of PFC is to make the input current
drawn from the system sinusoidal and in-phase with
the input voltage. Figure 5 shows the component
blocks required for PFC and the PFC stage interfaced
to a dsPIC device. This is an AC-to-DC converter
stage, which converts the AC input voltage to a DC
voltage and maintains sinusoidal input current at a high
input Power Factor. As indicated in the block diagram,
three input signals are required to implement the
control algorithm.
FIGURE 5:
The input rectifier converts the alternating voltage at
power frequency into unidirectional voltage. This
rectified voltage is fed to the chopper circuit to produce
a smooth and constant DC output voltage to the load.
The chopper circuit is controlled by the PWM switching
pulses generated by the dsPIC device, based on three
measured feedback signals:
• Rectified input voltage
• Rectified input current
• DC bus voltage
The various topologies for active PFC are based on the
block diagram shown in Figure 5.
BLOCK DIAGRAM OF THE COMPONENTS FOR POWER FACTOR CORRECTION
Load
AC Input
Rectifier
Chopper
Switching pulses
Rectified Voltage
Bus Current
DC Voltage
dsPIC® Digital Signal Controller
© 2007 Microchip Technology Inc.
DS01106A-page 5
AN1106
POWER FACTOR CORRECTION
TOPOLOGIES
FIGURE 9:
BUCK PFC INPUT CURRENT
SHAPE
Boost PFC Circuit
The boost converter produces a voltage higher than the
input rectified voltage, thereby giving a switch
(MOSFET) voltage rating of VOUT. Figure 6 shows the
circuit for the boost PFC stage. Figure 7 shows the
boost PFC input current shape.
FIGURE 6:
Input Voltage
t
Input Current
BOOST PFC
t
D
L
Buck/Boost PFC Circuit
+
Co
-
FIGURE 7:
In the buck/boost PFC circuit, the output DC voltage
may be either less or greater than the input rectified
voltage. High Power Factor can be achieved in this
case. The switch (MOSFET) is rated to (VIN + VOUT).
Figure 10 shows the circuit for the buck/boost PFC
stage. Figure 11 shows the buck/boost PFC input
current shape.
BOOST PFC INPUT
CURRENT SHAPE
FIGURE 10:
BUCK/BOOST PFC
D
Input Voltage
t
L
Co
+
Input Current
t
FIGURE 11:
Buck PFC Circuit
In a buck PFC circuit, the output DC voltage is less than
the input rectified voltage. Large filters are needed to
suppress switching ripples and this circuit produces
considerable Power Factor improvement. The switch
(MOSFET) is rated to VIN in this case. Figure 8 shows
the circuit for the buck PFC stage. Figure 9 shows the
buck PFC input current shape.
Input Voltage
BUCK/BOOST PFC INPUT
CURRENT SHAPE
t
Input Current
FIGURE 8:
BUCK PFC
t
L
D
© 2007 Microchip Technology Inc.
+
Co
-
Regardless of the input line voltage and output load
variations, input current drawn by the buck converter
and the buck boost converter is always discontinuous.
However, in the case of a boost converter, input current
drawn is always continuous if it is operating in
Continuous Conduction Mode (CCM). This helps to
reduce the input current harmonics.
DS01106A-page 6
AN1106
PFC USING THE dsPIC30F6010A
In Average Current Mode control, the output voltage is
controlled by varying the average value of the current
amplitude signal.
The topology selected for the application described in
this application note is the boost PFC circuit
implemented digitally using the dsPIC30F6010A
device. However, PFC software implementation can be
done on any of the dsPIC device variants. Figure 12
illustrates the block diagram of PFC implementation
using the dsPIC30F6010A.
The current signal is calculated digitally by
computing the product of the rectified input voltage,
the voltage error compensator output and the voltage
feed-forward compensator output.
The rectified input voltage is multiplied to enable the
current signal to have the same shape as the rectified
input voltage waveform. The current signal should
match the rectified input voltage as closely as possible
to have high Power Factor.
The only output from the dsPIC device is firing pulses
to the boost converter switch to control the nominal
voltage on the DC bus in addition to presenting a
resistive load to the AC line.
The voltage feed-forward compensator is essential for
maintaining a constant output power because it
compensates for the variations in input voltage from its
nominal value.
The output DC voltage of the boost converter and the
input current through the inductor are the two
parameters that are essentially controlled using active
PFC. The technique used here for PFC is the Average
Current Mode control.
FIGURE 12:
BLOCK DIAGRAM FOR IMPLEMENTING PFC USING dsPIC30F6010A
L
D
+
Live
Co
AC Input
Neutral
-
Analog-to-Digital Converter
Fault
Input
AN11
AN9
AN6
Output Compare
PWM Module
VDC
VAC
VERR
VDCREF
IAC
IERR
VPI
IACREF
Voltage Error Compensator
1
Current Error Compensator
VAVG2
VAC
dsPIC30F6010A Digital Signal Controller
© 2007 Microchip Technology Inc.
VAVG
Voltage Feed Forward Compensator
DS01106A-page 7
AN1106
PFC SOFTWARE IMPLEMENTATION
Three main blocks are integrated to achieve Power
Factor Correction as shown in Figure 13 and Figure 14.
FIGURE 13:
PFC HARDWARE INTERFACE
L
D
VAC
Q
Co
Load
Rectified AC
Voltage
VAC
k2
VAC
= V AC ⋅ k 2
VDC
IAC
k3
k1
VDC
IAC
= I AC ⋅ k 3
= V DC ⋅ k 1
where:
VPI = Voltage Error Compensator Output
VCOMP = Voltage Feed Forward Compensator Output
IPI = Current Error Compensator Output
k1, k2, k3 = Scaling Constants
Note:
FIGURE 14:
Refer to the dsPICDEM™ MC1H 3-Phase High Voltage Power Module User's Guide (DS70096) for additional
details on the circuit components and their ratings.
PFC SOFTWARE IMPLEMENTATION
VAC
VERR
VPI
x
VDCREF
IAC
x
x
km
VCOMP
Voltage Error Compensator
VDC
IACREF
x
x
x
IERR
Current Error Compensator
IPI
Output
Compare
module Firing Pulses
to the MOSFET
1
-------------------2
V AVG
Σ VAC
V AVG = ----------------N
Voltage Feed Forward Compensator
where:
VAC
VPI = Voltage Error Compensator Output
VCOMP = Voltage Feed Forward Compensator Output
IPI = Current Error Compensator Output
km = Scaling Constants
© 2007 Microchip Technology Inc.
DS01106A-page 8
AN1106
Current Error Compensator
The inner loop in the control block forms the current
loop. The input to the current loop is the reference
current signal IACREF and the actual inductor current
IAC. The current error compensator is designed to
produce a control output such that the inductor current
IAC follows the reference current IACREF.
The current loop should run at a much faster rate when
compared to the voltage loop. The bandwidth of the
current compensator should be higher for correctly
tracking the semi-sinusoidal waveform at twice the
input frequency. Usually, the bandwidth of the current
compensator is between 5 kHZ to 10 kHz for a
switching frequency of around 100 kHz. The current
loop bandwidth selected here is 8 kHz for a switching
frequency of 80 kHz. A switching frequency of 80 kHz
is chosen to keep the component size small.
The current controller GI produces a duty cycle value
after appropriate scaling to drive the gate of the PFC
MOSFET.
of the input line voltage, squaring this average value
and using the result as a divider for the input reference
current, which is fed to the current error compensator.
If VAC is the rectified input voltage to the PFC circuit,
the input voltage feed forward term is calculated as
shown in Equation 3.
EQUATION 3:
AVERAGE VOLTAGE
COMPUTATION
In the analog domain, the continuous form of the average
voltage is:
V AVG
1
= --- ⋅
T
(t + T)
∫
( V AC ⋅ dt )
t
where:
VAC = the instantaneous AC input voltage.
T = the time period depending on the frequency of the AC
i/p voltage
In the digital domain, the discrete form of this equation is:
Voltage Error Compensator
The outer loop in the control block forms the voltage
loop. The input to the voltage loop is the reference DC
voltage VDCREF and the actual sensed output DC
voltage VDC. The voltage error compensator is
designed to produce a control output such that the DC
bus voltage VDC remains constant at the reference
value Vdcref regardless of variations in the load current
IO and the supply voltage VAC. The voltage controller
GV produces a control signal, which determines the
reference current IACREF for the inner current loop.
The output voltage is controlled by the voltage error
compensator. When the iput voltage increases, the
product of VAC and VPI increases, and thereby
increasing the programming signal. When this signal is
divided by the square of the average voltage signal, it
results in the current reference signal being reduced
proportionally.
The outcome is that the current is reduced proportional
to the increase in voltage, thereby keeping the input
power constant. This ensures that the reference control
output IACREF from the voltage compensator is
maximum such that the rated output power is delivered
at minimum input voltage.
Voltage Feed-Forward Compensator
If the voltage decreases, the product (VAC · VPI), which
determines IACREF, also proportionally decreases.
However, to maintain a constant output power at
reduced input voltage, the term IACREF should
proportionally increase. The purpose of having an input
voltage feed-forward, is to maintain the output power
constant as determined by the load regardless of
variations in the input line voltage. This compensator
implemented digitally by calculating the average value
© 2007 Microchip Technology Inc.
Ti = n + ---TS
1
⇒ V AVG = --- ⋅∑ V AC ( i ) ⋅ T S
T
i=n
⇒ V AVG =
1
∑ VAC( i ) ⋅ -----------T ⁄ TS
i=n
∑ VAC( i )
⇒ V AVG = ---------------------N
where:
VAC = Input voltage at the ith sample.
N = Number of samples taken
To calculate “N”, which is given by N = T/TS, the input
line frequency, f = 1/T, has to be computed with the
control loop frequency fs = 1/TS.
The PFC is implemented with a control loop frequency
of 40 kHz running inside the ADC Interrupt Service
Routine (ISR). A control loop frequency of 40 kHz is
chosen to track the input voltage precisely and to
shape the inductor current accurately. Based on this,
the sampling time is as shown in Equation 4.
EQUATION 4:
SAMPLING TIME
1 - = -------------1 - = 25μs
T S = --------------40kHz
40000
The PFC software is designed for a line frequency
range of 40 Hz to 66 Hz, as shown in Equation 5.
DS01106A-page 9
AN1106
EQUATION 5:
INPUT FREQUENCY
However, since the rectified AC input voltage is at twice
the line frequency, the sample count may be anywhere
between 300 and 500 with the nominal value being
333.33, corresponding to a line frequency of 60 Hz.
⇒ f MIN = 40Hz ⇒ T MAX = 25ms
⇒ f MAX = 66Hz ⇒ T MIN = 15.15ms
Given the previous calculations, the value of “N” has
the range shown in Equation 6.
EQUATION 6:
SAMPLE COUNT
T MIN
25ms
N MAX = ------------ = ------------- = 1000
25μs
TS
to
T MAX
N MIN = ------------= 15.15ms
-------------------- = 600
TS
25μs
FIGURE 15:
Figure 15 shows how to compute the number of
samples “N“ in the rectified AC input voltage (the zero
crossing points need to be monitored).
Monitoring of zero crossing points demands more
complexity in analog circuitry. Instead, the method
used is to fix a minimum reference point for the input
voltage, as shown in Figure 16. A counter starts when
the sampled value of input AC voltage from ADC rises
above VMINREF, and stops when the voltage falls below
VMINREF in the next cycle. The count value at that point
would give the value of sample count “N”.
RECTIFIED AC VOLTAGE
VAC
Diode
Bridge
VAC
t
FIGURE 16:
CALCULATION OF AVERAGE AC VOLTAGE
VAC
VAC
Diode
Bridge
VMINREF
( T ⁄ 2T S ) = N
© 2007 Microchip Technology Inc.
t
DS01106A-page 10
AN1106
PFC DIGITAL DESIGN
The voltages VAC and VDC are measured using
potential divider circuitry and are fed to the ADC
module.
The current IAC is measured using a shunt resistor (or
a Hall Effect sensor) and the output voltage is fed to the
ADC module, as shown in Figure 12.
This section describes the detailed design for the
Power Factor Correction. The block diagram in
Figure 14 is redrawn in terms of its transfer functions,
as shown in Figure 17.
FIGURE 17:
PFC DIGITAL DESIGN
V AC = V AC ⋅ k 2
VERR
VDCREF
GV
VPI
x
x
x
I AC = I AC ⋅ k 3
I ACREF = I ACREF ⋅ km
km
x
x
x
IERR
IPI
GI
ko
δ = I PI ⋅ k o
Current Error Compensator
V DC ⋅ k 1
VCOMP
Table 1 lists the system parameters used for the PFC
digital design.
TABLE 1:
SYSTEM DESIGN PARAMETERS
Parameters
Values
Output power
P = 400 Watt
Input voltage range (peak)
VACMIN = 100V, VACMAX = 410V
Input frequency range
fMIN= 40 Hz, fMAX = 66 Hz
Output voltage
VDC = 410V
Switching frequency
fSW = 80kHz
Digital loop sampling frequency
fS = 40kHz
Inductance
L = 1.2mH
Output capacitance
CO = 1000 μF ( 330μF ⋅ 3 )
Voltage loop bandwidth
fBWV = 10 Hz
Current loop bandwidth
fBWI = 8 kHz
Note:
The design calculations that follow need to
be recalculated for any change in the
system design parameters listed above.
For a higher power requirement, the
compensator constants need to be
approximately calculated using the
procedures described in future sections.
© 2007 Microchip Technology Inc.
DS01106A-page 11
AN1106
EQUATION 7:
CALCULATION OF
CONSTANTS
The maximum inductor current is:
2 ⋅ P- = --------------2 ⋅ 400- = 8A
I ACMAX = -----------V MIN
100
The gain constants k1, k2, k3, and km are selected
as:
1 - = -------1 - = 0.00244
k 1 = --------V DC
410
1
1 - = 0.00244
k 2 = -------------------= -------V ACMAX
410
1 - = 1--- = 0.125
k 3 = -----------------I ACMAX
8
V ACMAX
km = -------------------= 410
--------- = 4.1
V ACMIN
100
Note:
All the number representations in the
software are done in a fixed point 1.15
(Q15) format. When the constants exceed
the range of 0x7FFF, they are converted to
an appropriate number format for
processing and later the resulting output is
brought back to Q15 format.
Table 2, Table 3 and Table 4 show the numerical range
along with the base value for the various inputs.
TABLE 2:
AC INPUT VOLTAGE NUMERICAL REPRESENTATION
VAC (RMS)
VAC (Peak)
Maximum
290 volt
410 volt
5.0 volt
0x7FFF
Minimum
70 volt
100 volt
1.2069 volt
0x1EE0
Nominal
230 volt
325 volt
3.965 volt
0x6560
TABLE 3:
ADC (Input)
Q15 Format
AC INPUT FREQUENCY NUMERICAL REPRESENTATION
f
fRECT
Sample Count (N)
Maximum
66 Hz
132 Hz
300
Minimum
40 Hz
80 Hz
500
Nominal
50 Hz
100 Hz
400
TABLE 4:
DC OUTPUT VOLTAGE NUMERICAL REPRESENTATION
Nominal
© 2007 Microchip Technology Inc.
VDC
ADC Input
Q15 Format
410 volt
4.5 volt
0x7300
DS01106A-page 12
AN1106
Current Error Compensator Design
EQUATION 8:
CURRENT ERROR COMPENSATOR
The transfer function for the current error compensator is given by:
⎛ 1 + T co ⋅ s ⎞
k Ii
- = k pi ⋅ ⎜ ----------------------G I ( s ) = k pi + -----⎟
s
⎝ T co ⋅ s ⎠
where: fz = 800Hz, which is the location of zero for the current PI controller and,
1T co = ---------2πf z
⎛ 2πf BWI ⋅ L ⎞ ⎛ 1 + T co ⋅ s ⎞
G I ( s ) = ⎜ ------------------------ ⎟ ⋅ ⎜ ------------------------ ⎟
⎝ k 3 ⋅ V DC ⎠ ⎝ T co ⋅ s ⎠
⎛
⎛
⋅ 8kHz ⋅ 1.2mH ⎞⎟ ⋅ ⎜ -------------------------------------------1 + 198.94 ⋅ 10 – 6 sG I ( s ) = ⎜ 2π
--------------------------------------------⎜
0.125
⋅
410
⎝
⎠ ⎝ 198.94 ⋅ 10 – 6 s
⎛
1 + 198.94 ⋅ 10 – 6 sG I ( s ) = 1.177 ⋅ ⎜ -------------------------------------------⎜
–6
⎝ 198.94 ⋅ 10 s
⎞
⎟
⎟
⎠
⎞
⎟
⎟
⎠
5916 ⋅ 356
G I ( s ) = 1.177 + ------------------------s
k Ii
= k pi + ----s
k pi = 1.777
5916.356- = 0.1479
k Ii = --------------------40kHz
The correction term kci is given by:
k Ii
= 0.12566
k ci = -----k pi
Therefore, for the current error compensator:
Proportional Constant
Intergal Constant
Correction Constant
Note:
kpi =
kIi =
kci =
1.177
0.1479
0.12566
->
->
->
2410
4846
4117
(Q 11 Format)
(Q 15 Format)
(Q 15 Format)
The current loop bandwidth is chosen to
be 8 kHz. This is selected such that the
current faithfully tracks the semisinusoidal input voltage at 100 Hz or
120 Hz. The current compensator ‘zero’ is
placed by taking the digital delays into
consideration. Therefore, for a phase
crossover frequency of 8 kHz, the ‘zero’
placement is done well below this
frequency. A frequency of 800 Hz is
chosen in this application for placing the
current PI compensator ‘zero’.
© 2007 Microchip Technology Inc.
DS01106A-page 13
AN1106
Voltage Error Compensator Design
EQUATION 9:
VOLTAGE ERROR COMPENSATOR
The transfer function for the voltage error compensator is given by:
k Iv
G V ( s ) = k PV + -----s
2k 2 k 3 V ACMAX 2
1 + T co ⋅ s
G V ( s ) = k PV ⎛⎝ ------------------------⎞⎠ = -------------- ⎛⎝ --------------------⎞⎠
k 1 k m V ACMIN
T co ⋅ s
V DC 1 + T ⋅ s
co ⎞
------------ ⎛ ----------------------Zf cv ⎝ T co ⋅ s ⎠
where: fz = 10 Hz, which is the location of ‘zero’ for the voltage PI controller
1T co = ---------2πf z
Computing for GV (s):
420.25 1 + 15.9155 ⋅ 10 – 3 s-⎞
G V ( s ) = ---------------- ⎛ ---------------------------------------------Z fcv ⎝ 15.9155 ⋅ 10 –3 s ⎠
(1)
Here, Zfcv is the equivalent impedance considering the parallel combination of output capacitance, PFC stage
output impedance and load impedance:
1
1- Z = ------------------------------Z fcv = Z o ----L
1
1
Cs
----- + ------ + Cs
Zo ZL
To supply a constant power load with maximum efficiency:
1
1
Z fcv = ------ = -----------------------------------------------Cs
2π ⋅ 10 ⋅ 1000μF ⋅ s
(2)
Z fcv = 15.91545
Using equation (2) in equation (1)
⎛ 1 + 15.9155 ⋅ 10 –3⎞
-⎟ = 27 + 1696
G V ( s ) = 27 ⋅ ⎜ -----------------------------------------------------s
⎝ 15.9155 ⋅ 10 – 3 ⎠
k pv = 27
k Iv = 1696.46
------------------- = 0.042411
40kHz
k Iv
Correction factor, k cv = ------ = 0.00157
k pv
Therefore, for the current error compensator:
Proportional Constant
Intergal Constant
Correction Constant
Note:
kpv =
kIv =
kcv =
27
->
0.042411 ->
0.00157 ->
27648
1390
51.47
(Q 10 Format)
(Q 15 Format)
(Q 15 Format)
The voltage loop bandwidth is chosen to
be 10 Hz. This is selected to be well below
the input frequency of 100 Hz or 120 Hz,
so that the second harmonic ripple on the
DC bus voltage is eliminated. The voltage
compensator, ‘zero’, is the same as the
voltage loop bandwidth, because at 10 Hz,
the digital delays are insignificant.
© 2007 Microchip Technology Inc.
DS01106A-page 14
AN1106
TIMING LOGIC FOR THE SOFTWARE
IMPLEMENTATION
• The second ADC interrupt is generated after
converting channels:
- AN11 - VAC, rectified voltage (ADCBUF4)
- AN6 - IAC, inductor current (ADCBUF7)
Timer3 runs at a frequency of 80 kHz while supplying a
trigger to the ADC every period (80 kHz). An ADC
interrupt occurs every 2 timer periods (40 kHz).
Analog inputs AN9 and AN11 are in channel
scanning alternately.
The ADC module is used in Channel Scanning mode.
The two voltages, VDC and VAC are sampled and
converted on alternate triggers, while the current IAC is
sampled and converted on every trigger.
• At any point in the control loop reading from:
- ADCBUF0 gives the DC bus voltage
- ADCBUF3 and ADCBUF7 give the inductor
current
- ADCBUF4 gives the AC voltage
The following analog channels and buffers are used on
the dsPIC30F6010A device:
The Output Compare module OC6 is in PWM mode to
generate the PWM pulses to drive the gate of the PFC
MOSFET. The time base for the Output Compare
module is given by the Timer3 module running at
80 kHz.
• The first ADC interrupt is generated after
converting channels:
- AN9 - VDC, DC Bus voltage (ADCBUF0)
- AN6 - IAC, inductor current (ADCBUF3)
These events, along with the A/D interrupt generation
sequence, are shown in the timing logic in Figure 18.
FIGURE 18:
TIMING LOGIC
1
2
4
3
6
5
7
8
10
9
80 kHz
Timer3
Counter
12.5 μs
Output Compare
PWM Pulses
80 kHz
1
2
3
4
5
6
7
8
9
10
80 kHz
Trigger Events
to ADC
1
ADC Interrupt
Events
2
3
4
5
40 kHz
25 μs
© 2007 Microchip Technology Inc.
DS01106A-page 15
AN1106
SOFTWARE FLOW
the process of power-on delay, the voltage samples are
accumulated and frequency is calculated. This enables
the average voltage calculation to be done in the first
iteration of the control loop itself, as the average
voltage is already available for a period corresponding
to one line voltage cycle.
The main software flow is shown in Figure 19. After a
Reset, when the program is executed, all the variables
are initialized and peripherals are configured. The PI
parameter values are defined for the control loop
compensators. The Timer3 module is switched ON to
operate at a frequency of 80 kHz, and all the interrupts
are enabled.
The voltage error compensators execute the voltage PI
controllers having the measured value of DC bus
voltage VDC. The average value of input voltage,
squaring and dividing routines, execute in sequence
from the measured value of input AC voltage thereby
giving the voltage feed-forward compensator output.
This output is used in conjunction with the voltage error
compensator output to calculate the reference value
IACREF. Having IACREF and the measured value of the
inductor current, the current error compensator
executes the current PI controllers to produce the new
duty cycle for the Output Compare module.
The ADC module waits for a Timer3 special event
interrupt. On every period match, the timer generates a
trigger to the ADC to start sampling the signals and
converting them. On a timer trigger, the ADC samples
and converts the voltages and currents and later
generates an ADC interrupt.
The PFC routines run inside the ADC Interrupt Service
Routine (ISR). A power-on delay is allowed for the
capacitors to charge to the DC bus voltage. After the
power-on delay time (approximately 125 ms)
completion, the control loops begin to execute. During
FIGURE 19:
In the process, voltage samples accumulate and EVAC
is calculated in every iteration.
SOFTWARE FLOW
Timer3 Trigger Event
Enable
Interrupts
Timer3
Module
Switched
ON
A/D Interrupt
Service
Routine
Calculate
∑ VAC and
Sample
Count 'N'
Measured VAC
Current PI
Control
Initialize
Peripherals
Measured IAC
Reset
© 2007 Microchip Technology Inc.
Calculate
Reference
Current
IACREF
of
Po
we
r-o
n
elay
r-on D
Calculate
∑ VAC and
Sample
Count 'N'
Update OC6
PWM Duty
Cycle
En
d
f Powe
Start o
Initialize PI
Controller
Parameters
Wait for ADC
Interrupt
Power-on
delay of
approx.
125 ms
De
lay
Voltage PI
Control
Measured VDC
Calculate
VAVG and
Voltage
Feed-forward
Compensate
Measured VAC
DS01106A-page 16
AN1106
FUNCTION USAGE IN SOFTWARE
The functions listed in the Table 5 are used in software
for implementing the various stages of PFC.
TABLE 5:
.
PFC FUNCTIONS
Function Name
Description
calcVsumAndFreq()
Routine to compute VSUM and frequency
VoltagePIControl()
Routine for voltage error compensator
calcIacRef()
Routine to calculate reference current
CurrentPIControl()
Routine for current error compensator
The functions listed in Table 6 are implemented for
other auxiliary functions such as initializing the high
voltage board, setting up the GPIO ports, configuring
the interrupt priority and initialization of peripherals.
TABLE 6:
AUXILIARY FUNCTIONS
Function Name
Description
SetupBoard()
Routine to clear and reset faults
SetupPorts()
Routine to initialize the GPIO ports
InitOutputCompare6()
Routine to configure Output Compare and Timer modules
configADC()
Routine to configure the ADC module
Note:
The functions are implemented in
assembly language and are callable from
C routines.
© 2007 Microchip Technology Inc.
DS01106A-page 17
AN1106
PFC CONTROL INTEGRATION
The software for PFC has been developed to be used
in conjunction with any other application where the first
stage remains an AC-to-DC conversion demanding a
constant DC voltage and a sinusoidal current wave
shape.
With higher load demand and larger power levels,
the application parameters may have to be modified
to take this into consideration. The compensator
gains and constants may require retuning and better
protection levels incorporated in the system
hardware with higher-rated components to cope with
higher loads.
Applications in which the PFC stage can be used as an
integral part are:
• Motor control applications
• Uninterruptible power supply applications
• Switched mode power supply applications
The PFC software uses some device peripherals and
resources that cannot be shared with any other
application. This excludes the ADC module, which can
be used with the analog channels that are not used for
PFC implementation.
© 2007 Microchip Technology Inc.
The peripherals that cannot be shared for other
applications are:
• Output Compare – 6 Module
This module is used in PWM mode to operate on
its own time base rather than using the Motor
Control (MC) PWM module, which can drive other
applications like switching inverters in motor
control and power supply related applications.
• Timer3 Module
This module is used to provide the time base to run
the Output Compare module in addition to acting
as a trigger source for the ADC module.
• Analog to Digital Converter
This module uses analog channels AN6, AN9 and
AN11 for converting analog signals IAC, VAC and
VDC, respectively. The remaining 13 channels can
be used for any other application in conjunction
with the PFC software.
The resources used for the PFC application are:
• Program Memory (ROM): 2013 bytes
• Data Memory (RAM): 142 bytes
• Processor Speed: 30 MIPS running from a
7.37 MHz external crystal
• MIPS: Approximately 10 MIPS utilized when the
dsPIC is running at 30 MHz
DS01106A-page 18
AN1106
LABORATORY TEST RESULTS AND
WAVE FORMS
The following figures show the various waveforms
including inductor current, DC bus voltage, input
current and the test results, which include PF
improvement and current harmonic reduction. This
information aids in validating the PFC implementation,
in addition to providing a comparison to a system
without PFC.
FIGURE 20:
INDUCTOR CURRENT WAVE FORM WITHOUT PFC
© 2007 Microchip Technology Inc.
DS01106A-page 19
AN1106
FIGURE 21:
PFC START-UP CHARACTERISTICS
PFC PWM
INDUCTOR
CURRENT
DC BUS
VOLTAGE
FIGURE 22:
WAVE FORMS WITH PFC
PFC PWM
INDUCTOR
CURRENT
DC BUS
VOLTAGE
RECTIFIED
INPUT
VOLTAGE
© 2007 Microchip Technology Inc.
DS01106A-page 20
AN1106
FIGURE 23:
RESULTING POWER FACTOR WITH PFC
FIGURE 24:
RESULTING HARMONIC REDUCTION WITH PFC
© 2007 Microchip Technology Inc.
DS01106A-page 21
AN1106
SUMMARY
REFERENCES
This application note shows how to implement Power
Factor Correction (PFC) through average current mode
control using a dsPIC device.
• Digital Control For Power Factor Correction,
Manjing Xie. Virginia Polytechnic Institute and
State University, June 2003.
• Topological Issues in Single Phase Power Factor
Correction, Vlad Grigore, Helsinki University of
Technology. Institute of Intelligent Power
Electronics, November 2001 - http://lib.tkk.fi/Diss/
2001/isbn9512257351/
• dsPICDEM™ MC1H 3-Phase High Voltage Power
Module User's Guide (DS70096)
• dsPICDEM™ MC1 Motor Control Development
Board User's Guide (DS70098)
• dsPIC30F Family Reference Manual (DS70046)
The dsPIC device provides a wide variety of
peripherals and memory to integrate this application
with other related applications using the dsPICDEM™
MC1H 3-Phase High Voltage Power Module (P/N
DM300021) and the dsPICDEM™ MC1 Motor Control
Development Board (P/N DM300020).
The firmware used in this application (see Appendix
A: “Source Code”) is written in assembly language to
effectively make use of the special DSP operations.
For further development, the MPLAB® IDE and the
development tools provide a flexible platform to
develop code and debug programs.
Note:
When using a dsPIC33F device for
implementing the PFC algorithm, these
variations must be followed:
• dsPIC33F devices operate at 40 MIPS
(40 MHz):
All timing considerations should be
verified to suit this operating frequency.
The Output Compare module’s period
and duty cycle should be recalculated
for this frequency. The ADC triggering
event from the timer should also be
recalculated.
• Some of the dsPIC33F devices may
use DMA with the ADC module:
All ADC results are stored in buffers
configured in the DMA RAM. Therefore, the DMA controller needs to be
configured for the ADC module to
receive and transfer the results to the
appropriate buffers.
• The GPIO ports must be checked for
compatibility with each device variant.
© 2007 Microchip Technology Inc.
DS01106A-page 22
AN1106
APPENDIX A:
SOURCE CODE
Any libraries and source files associated with this
application note are available for download as a single
archive file from the Microchip corporate Web site
(www.microchip.com).
© 2007 Microchip Technology Inc.
DS01106A-page 23
AN1106
APPENDIX B:
HARDWARE
COMPONENT
SELECTION FOR THE
PFC BOOST CIRCUIT
The essential components for a PFC Boost Circuit are:
•
•
•
•
Inductor
MOSFET
Diode
Capacitor
For this application, the dsPICDEM™ MC1H 3-Phase
High Voltage Power Module (part number DM300021)
and its hardware components were used for
development. Please refer to the user’s guide for
complete details on the hardware components and
their values (see “References”).
A PFC component calculator in the form of an Excel®
spreadsheet, can be used for properly selecting the
hardware components for any desired power rating.
This file, PFC_component_calculator.xls, can
be obtained from the Microchip Web site
(www.microchip.com).
© 2007 Microchip Technology Inc.
DS01106A-page 24
Note the following details of the code protection feature on Microchip devices:
•
Microchip products meet the specification contained in their particular Microchip Data Sheet.
•
Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the
intended manner and under normal conditions.
•
There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our
knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data
Sheets. Most likely, the person doing so is engaged in theft of intellectual property.
•
Microchip is willing to work with the customer who is concerned about the integrity of their code.
•
Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not
mean that we are guaranteeing the product as “unbreakable.”
Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of our
products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts
allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Information contained in this publication regarding device
applications and the like is provided only for your convenience
and may be superseded by updates. It is your responsibility to
ensure that your application meets with your specifications.
MICROCHIP MAKES NO REPRESENTATIONS OR
WARRANTIES OF ANY KIND WHETHER EXPRESS OR
IMPLIED, WRITTEN OR ORAL, STATUTORY OR
OTHERWISE, RELATED TO THE INFORMATION,
INCLUDING BUT NOT LIMITED TO ITS CONDITION,
QUALITY, PERFORMANCE, MERCHANTABILITY OR
FITNESS FOR PURPOSE. Microchip disclaims all liability
arising from this information and its use. Use of Microchip
devices in life support and/or safety applications is entirely at
the buyer’s risk, and the buyer agrees to defend, indemnify and
hold harmless Microchip from any and all damages, claims,
suits, or expenses resulting from such use. No licenses are
conveyed, implicitly or otherwise, under any Microchip
intellectual property rights.
Trademarks
The Microchip name and logo, the Microchip logo, Accuron,
dsPIC, KEELOQ, KEELOQ logo, microID, MPLAB, PIC,
PICmicro, PICSTART, PRO MATE, rfPIC and SmartShunt are
registered trademarks of Microchip Technology Incorporated
in the U.S.A. and other countries.
AmpLab, FilterLab, Linear Active Thermistor, Migratable
Memory, MXDEV, MXLAB, SEEVAL, SmartSensor and The
Embedded Control Solutions Company are registered
trademarks of Microchip Technology Incorporated in the
U.S.A.
Analog-for-the-Digital Age, Application Maestro, CodeGuard,
dsPICDEM, dsPICDEM.net, dsPICworks, dsSPEAK, ECAN,
ECONOMONITOR, FanSense, FlexROM, fuzzyLAB,
In-Circuit Serial Programming, ICSP, ICEPIC, Mindi, MiWi,
MPASM, MPLAB Certified logo, MPLIB, MPLINK, PICkit,
PICDEM, PICDEM.net, PICLAB, PICtail, PowerCal,
PowerInfo, PowerMate, PowerTool, REAL ICE, rfLAB, Select
Mode, Smart Serial, SmartTel, Total Endurance, UNI/O,
WiperLock and ZENA are trademarks of Microchip
Technology Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated
in the U.S.A.
All other trademarks mentioned herein are property of their
respective companies.
© 2007, Microchip Technology Incorporated, Printed in the
U.S.A., All Rights Reserved.
Printed on recycled paper.
Microchip received ISO/TS-16949:2002 certification for its worldwide
headquarters, design and wafer fabrication facilities in Chandler and
Tempe, Arizona; Gresham, Oregon and design centers in California
and India. The Company’s quality system processes and procedures
are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping
devices, Serial EEPROMs, microperipherals, nonvolatile memory and
analog products. In addition, Microchip’s quality system for the design
and manufacture of development systems is ISO 9001:2000 certified.
© 2007 Microchip Technology Inc.
DS01106A-page 25
WORLDWIDE SALES AND SERVICE
AMERICAS
ASIA/PACIFIC
ASIA/PACIFIC
EUROPE
Corporate Office
2355 West Chandler Blvd.
Chandler, AZ 85224-6199
Tel: 480-792-7200
Fax: 480-792-7277
Technical Support:
http://support.microchip.com
Web Address:
www.microchip.com
Asia Pacific Office
Suites 3707-14, 37th Floor
Tower 6, The Gateway
Harbour City, Kowloon
Hong Kong
Tel: 852-2401-1200
Fax: 852-2401-3431
India - Bangalore
Tel: 91-80-4182-8400
Fax: 91-80-4182-8422
India - New Delhi
Tel: 91-11-4160-8631
Fax: 91-11-4160-8632
Austria - Wels
Tel: 43-7242-2244-39
Fax: 43-7242-2244-393
Denmark - Copenhagen
Tel: 45-4450-2828
Fax: 45-4485-2829
India - Pune
Tel: 91-20-2566-1512
Fax: 91-20-2566-1513
France - Paris
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79
Japan - Yokohama
Tel: 81-45-471- 6166
Fax: 81-45-471-6122
Germany - Munich
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44
Atlanta
Duluth, GA
Tel: 678-957-9614
Fax: 678-957-1455
Boston
Westborough, MA
Tel: 774-760-0087
Fax: 774-760-0088
Chicago
Itasca, IL
Tel: 630-285-0071
Fax: 630-285-0075
Dallas
Addison, TX
Tel: 972-818-7423
Fax: 972-818-2924
Detroit
Farmington Hills, MI
Tel: 248-538-2250
Fax: 248-538-2260
Kokomo
Kokomo, IN
Tel: 765-864-8360
Fax: 765-864-8387
Los Angeles
Mission Viejo, CA
Tel: 949-462-9523
Fax: 949-462-9608
Santa Clara
Santa Clara, CA
Tel: 408-961-6444
Fax: 408-961-6445
Toronto
Mississauga, Ontario,
Canada
Tel: 905-673-0699
Fax: 905-673-6509
Australia - Sydney
Tel: 61-2-9868-6733
Fax: 61-2-9868-6755
China - Beijing
Tel: 86-10-8528-2100
Fax: 86-10-8528-2104
China - Chengdu
Tel: 86-28-8665-5511
Fax: 86-28-8665-7889
Korea - Daegu
Tel: 82-53-744-4301
Fax: 82-53-744-4302
China - Fuzhou
Tel: 86-591-8750-3506
Fax: 86-591-8750-3521
Korea - Seoul
Tel: 82-2-554-7200
Fax: 82-2-558-5932 or
82-2-558-5934
China - Hong Kong SAR
Tel: 852-2401-1200
Fax: 852-2401-3431
Malaysia - Penang
Tel: 60-4-646-8870
Fax: 60-4-646-5086
China - Qingdao
Tel: 86-532-8502-7355
Fax: 86-532-8502-7205
Philippines - Manila
Tel: 63-2-634-9065
Fax: 63-2-634-9069
China - Shanghai
Tel: 86-21-5407-5533
Fax: 86-21-5407-5066
Singapore
Tel: 65-6334-8870
Fax: 65-6334-8850
China - Shenyang
Tel: 86-24-2334-2829
Fax: 86-24-2334-2393
Taiwan - Hsin Chu
Tel: 886-3-572-9526
Fax: 886-3-572-6459
China - Shenzhen
Tel: 86-755-8203-2660
Fax: 86-755-8203-1760
Taiwan - Kaohsiung
Tel: 886-7-536-4818
Fax: 886-7-536-4803
China - Shunde
Tel: 86-757-2839-5507
Fax: 86-757-2839-5571
Taiwan - Taipei
Tel: 886-2-2500-6610
Fax: 886-2-2508-0102
China - Wuhan
Tel: 86-27-5980-5300
Fax: 86-27-5980-5118
Thailand - Bangkok
Tel: 66-2-694-1351
Fax: 66-2-694-1350
Italy - Milan
Tel: 39-0331-742611
Fax: 39-0331-466781
Netherlands - Drunen
Tel: 31-416-690399
Fax: 31-416-690340
Spain - Madrid
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91
UK - Wokingham
Tel: 44-118-921-5869
Fax: 44-118-921-5820
China - Xian
Tel: 86-29-8833-7252
Fax: 86-29-8833-7256
06/25/07
C01106A-page 26
© 2007 Microchip Technology Inc.