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.