Continuing the SMPS series, now it's time to design the SMPS Buck Converter. In this series, the following SMPS circuits are designed –
1. Boost Converters –
a) Open loop boost converter
b) Closed-loop boost converter
c) Open Loop Boost Converter with adjustable output
d) Closed Loop Boost Converter with Adjustable Output
2. Buck Converters –
a) Open Loop Buck Converter
b) Closed-loop Buck Converter
c) Open Loop Buck Converter with Adjustable Output
d) Closed-loop buck converter with adjustable output
3. Buck-Boost Converters
a) Buck Open Loop Inverter – Boost Converter
b) Buck Open Loop Inverter – Boost Converter with Adjustable Output
4. Flyback Converter
5. Push-pull converter
The design of Boost Converter SMPS has already been discussed in previous tutorials. In this tutorial, an SMPS open loop buck converter will be designed. Buck Converter is also one of the SMPS (Switched Mode Power Supply) topologies. This type of SMPS reduces DC voltage, unlike Boost converters, which increase DC voltage. Therefore, Buck converter is also a DC to DC step-down converter in which the output voltage is always less than the input voltage.
Unlike linear regulators that reduce DC voltage by dissipating heat, buck converters reduce DC voltage through switching regulators and also increase output current. According to the law of conservation of energy, the input power must be equal to the output power.
Pin = pout
Vin*Iin = Vout*Iout
Therefore, in the Buck converter, as the input voltage (Vin) is greater than the output voltage (Vout), the input current (Iin) is always less than the output current (Iout). Switching regulators provide more efficiency up to 90% if the SMPS is designed properly.
A Buck converter can be designed in two ways –
Open Loop Buck Converter – In open loop buck converter, there is no feedback from output to input unlike closed loop which has a feedback loop. Therefore, the output of an open-loop buck converter is not regulated.
Closed-loop Buck Converter – In closed-loop Buck converter, there is a feedback from the output to the input. Therefore, the output of a closed-loop buck converter is regulated.
There are certain design parameters involved in designing the buck converter. It is important to understand these design parameters. Any Buck converter can operate in any of the two possible operating modes. These modes of operation are as follows –
Continuous Conduction Mode (CCM)- In CCM, the current in the inductor is continuous throughout the entire switching period cycle. Thus, a regulated voltage at the output is obtained, but the output is regulated only if the current is drawn within the limits of the CCM.
Discontinuous Conduction Mode (DCM) – In this mode, the current in the inductor is pulsating and becomes zero during a portion of the switching time. Therefore, a regulated voltage is not received at the DCM. However, the voltage can be regulated by connecting a feedback circuit from the output to the input.
In this tutorial, a non-isolated buck converter is designed, which means the input and output share the same ground. The Buck converter designed in this project will reduce 12 V DC to 5 V DC with a tolerance limit of +/- 0.5 V. Once the circuit is designed and assembled, the output voltage and current value will be observed using a multimeter. These values will indicate the efficiency of the Buck converter designed in the project.
Required components –
Fig. 1: List of components required for the Open Loop Buck converter
Block diagram –
Fig. 2: Block diagram of open-loop buck converter
Circuit Connections –
In this project, an open-loop buck converter operating in CCM mode is designed and component values as per standard CCM equations are calculated for the desired output.
The buck converter has the following circuit blocks –
1. DC Source –
A 12V battery is used as the input power source in the circuit.
2. Oscillator and switching mechanism –
For switching purposes, a transistor and a diode are used as switching components.
Switching components must operate at a specific frequency. This frequency is generated through an oscillator circuit. In this project, Arduino UNO is used to generate a PWM signal that provides the required frequency. Any other Arduino board like Arduino Mega can also be used. In fact, any microcontroller or microcontroller board that can generate PWM can be used in the circuit. Arduino is chosen because it is the most popular prototyping board and can be easily programmed. Due to the great community support, it is easy to learn and work on Arduino. The PWM signal is a pulse train used to turn the MOSFET on and off. MOSFET is used as switching transistor in the circuit.
For switching purposes, a transistor and a diode are used as the switching component. For transistor selection, MOSFET is chosen as FETs are known for their fast switching speed and low RDS (ON) (drain to source resistance in ON state). In this configuration, the MOSFET is connected in the high-side configuration. As on the high side, the N-channel MOSFET requires a Bootstrap circuit or an IC Gate Driver for its drive, which makes the driver more complicated. A P-channel MOSFET (shown as Q1 in the circuit diagram) is used in the circuit as it does not require a Gate Driver on its high side but has high Rds (On) compared to N-MOS. This results in more energy loss. The MOSFET used in the circuit has its limit voltage around 10V to 12V.
The switching time of the MOSFET and diode must be less than the rise and fall time of the PWM wave. The diode must offer low voltage drop in forward bias and the RDS (ON) of the MOSFET must be low. A gate-to-source resistance should always be used to avoid any unwanted triggering of the MOSFET by external noise. It also helps to quickly turn off the MOSFET by discharging its parasitic capacitance. A low resistor value (10E to 500E) can be used at the gate of the MOSFET. This will solve the ringing (eddy oscillations) and inrush current problem in the MOSFET. The PWM signal voltage level must be greater than the MOSFET threshold voltage. So that the MOSFET can be turned ON completely with minimum RDS (ON).
The MOSFET cannot be driven by the microcontroller as the microcontroller can only output a 5V PWM signal. Therefore, an additional IC IR2110 is used in the circuit to generate a 12V PWM signal and the input to IR2110 is provided by the microcontroller. IR2110 is a high and low side driver. It is a high-speed power MOSFET and IGBT driver (operating at high frequency) with independent output channels referenced on the high and low sides. The floating channels can operate up to 500V or 600V. The IC is compatible with 3.3V logic, so it can be used with any microcontroller. The IC comes in a 14-lead PDIP package. IR2110 has the following pin configuration –
Fig. 3: Table listing the pin configuration of the IC IR2110
Another switching component used in the circuit is a diode. The diode switching time must be less than the rise and fall time of the PWM wave. The Arduino board generates a PWM wave with a rise time of 110ns and a fall time of 90ns. The forward voltage drop of the diode must also be very low, otherwise it will dissipate power, which will further reduce the efficiency of the circuit. The diode must offer low voltage drop in forward bias and the RDS (ON) of the MOSFET must be low. Therefore, in this experiment, a BY399 diode that best suits the circuit design is selected.
Before generating the PWM signal, the switching frequency of the circuit needs to be decided. For this buck converter, a switching frequency of 20kHz is selected, which will work well for this converter design.
The duty cycle of the generated PWM signal is another important consideration as it will decide the active state of the MOSFET. The duty cycle can be calculated as follows –
Duty cycle, D% = (Vout/Vin)*100
Desired output voltage, Vout = 5V
Input voltage, Vin = 12V
Putting all the values,
D% = 40% (approx.)
To generate 20 kHz PWM signal with 40% duty cycle, the Arduino board is programmed. The Arduino sketch required to generate the desired PWM output is attached in the tutorial. It can be downloaded and written to an Arduino board for use.
The higher the frequency selected for the switching components, the greater the switching losses. This decreases the efficiency of the SMPS. But the high switching frequency reduces the size of the energy storage element and improves the transient response of the output.
3. Energy storage element –
An inductor is used to store electrical energy in the form of a magnetic field. Therefore, the inductor acts as an energy storage element. An inductor of value 9.5 mH is used in the circuit. For an inductor, a secondary or primary coil of a transformer, a relay coil, or any standard inductor that has the desired inductance value can be used. The value of the inductor can be calculated by the standard CCM equation as follows –
Lmin>=(Vout *(1-Vout/Vin))/(Fs*2*Io(critical))
Where,
Lmin = minimum inductor value
Desired output voltage, Vout = 5V
Input voltage, Vin = 12V
Switching frequency, Fs = 20kHz
Io(critical) = Minimum current to maintain CCM, normally known as critical current
As the value of the inductor depends on the critical current, the first value of Io (critical) must be calculated as follows –
Io(critical) = ((Vin – Vout)*Ton)/(2*L)
From the above equations it can be analyzed that 'L' and 'Io' (critical) are dependent on each other, therefore either of the two values must be assumed. In this experiment, the critical output current value is assumed to be 10mA. Now the value of the inductor can be calculated as follows –
Lmin >= (5*(1-(5/12)))/(20*103*2*0.01)
Lmin >= 7.5mH
This is the minimum value of the inductor, therefore a 9.5mH inductor is used in the circuit. The rated current of the inductor must be greater than the ripple current of the inductor so that the desired output current can be obtained.
4. Output filtering element –
As a filtering element, a capacitor (shown as C1 in the circuit diagram) is used at the output of the circuit. In normal operation of the Buck converter circuit, transistor Q1 turns on and off according to the frequency of the oscillator circuit. This generates a pulse train in inductor L1 and capacitor C1, as well as transistor Q1. As the capacitor is connected to the inductor in the negative and positive cycle of the PWM signal. This creates an LC filter that filters the pulse train to produce a smooth DC output. The value of the capacitor can be calculated using the following CCM equation –
Cmin >= DIL/(8*Fs*DVo)
Where,
Cmin = minimum capacitor value
DIL=Inductor ripple current
DVo = Output Ripple Voltage
Assuming DVo = 10mV
Now, to calculate DIL,
DIL= 2*Io(critical)
DIL = 2*10*10-3
DIL = 20mA
By placing the entire amount,
Cmin >= (20*10-3)/(8*20*103*10*10-3)
Cmin >= 13uF
As it is the minimum value of capacitor required, so in the circuit a standard value capacitor is used which can be easily available, hence a 100uF capacitor is used.
The capacitor value must be greater than or equivalent to the calculated value. So that it is able to provide the desired current and voltage at the output. The capacitor used in the circuit must have a higher rated voltage than the output voltage. Otherwise, the capacitor will start to leak current due to excess voltage on its plates and will explode. It is important that all capacitors are discharged before working on a DC power supply application. To do this, the capacitors must be short-circuited with a screwdriver and insulated gloves.
How the circuit works –
Any SMPS has some switching components that turn on and off at high frequency and has some storage component that stores the electrical energy while the switching components are in the conducting state and discharges the stored energy to the output device while the switching components are in state no. -driving status.
A simple buck converter consists of the inductor (L1), a diode (D1), a capacitor (C1) and a transistor that acts as a switch. Initially, when the switch is open, the current in the circuit is zero. When the switch is first closed, the inductor opposes the change in current and produces an opposite voltage at its terminal. This makes the diode reverse biased. The voltage drop across the inductor neutralizes the source voltage, which results in less voltage at the output. As time passes, the rate of change of current decreases and the voltage drop across the inductor also decreases. In this state, the inductor starts to store energy in the form of a magnetic field. The output capacitor is charged throughout the ON state. The charge stored in the capacitor provides the current required for the load in the OFF state.
Fig. 4: Circuit diagram showing the ON state of the switching component in the Buck converter
When the switch opens, the input source is disconnected from the circuit and the current begins to decrease and becomes zero. Since the inductor stored energy in the previous cycle, it now acts as a source of energy. Hence, the inductor creates a polarity across it. This is opposite in polarity as in the ON state. This makes the diode forward biased and the inductor now supplies the current to the load through diode D1. When the charge stored in the inductor begins to decrease, the output voltage begins to drop. Now the capacitor acts as a current source and continues supplying current to the load until the next cycle i.e. ON state. The overall effect is that at the output a small DC voltage with high output current compared to the input is obtained.
Fig. 5: Circuit diagram showing the OFF state of the switching component in the Buck converter
In the ON state, the Diode was in Blocking Mode (OFF) and the Transistor was ON. In the OFF state, the Diode was in conduction mode (ON) and the Transistor was OFF. Therefore, a buck converter has two switches, one is a transistor and the other is the diode. At a time, only one of them drives, while the other goes into a non-driving state.
Testing the circuit –
This Buck Converter is designed to step down 12V DC to 5V DC.
Fig. 6: Open Loop Buck converter prototype designed on a breadboard
In this circuit, Input Voltage, Vin = 12V
Practically, Battery Voltage, Vin = 11.94V
By measuring voltage and current values with different loads at the output, the following observations were made –
Fig. 7: Table listing the output voltage and current of the open-loop buck converter for different loads
Thus, it can be seen that a current of 46 mA can be drawn at the 5V output with a tolerance limit of +/-0.5V.
The energy efficiency of the circuit with a maximum output current of 46mA can be calculated as follows –
Efficiency% = (Pout/Pin)*100
(Output power) Pout = Vout*Iout
(Output voltage) Vout = 4.62V
(Output current) Iout = 46mA
Pout = 212mW (approx.)
(Input power) Pin = Vin*Iin
(Input voltage) Vin = 12V
(Input current) Iin = 20 mA (measure input current using ammeter)
Pin = 264mW
Putting all the values,
Efficiency% = (212/264)*100
Efficiency% = 80%
Fig. 8: Open Loop Buck converter prototype designed on a breadboard
It can be seen that there are certain limitations of this circuit. The output voltage in this circuit is not regulated, it varies for different load resistances. This can be improved by adding a feedback circuit that helps regulate the output voltage. A Buck converter with feedback circuit is designed in the next tutorial. Secondly, the efficiency of this buck converter design is 80% due to the power losses in the circuit. There are switching and conduction losses of diode and MOSFET, losses in the windings surrounding the core, eddy current losses and hysteresis losses in the inductor, capacitor losses due to ESR (equivalent series resistance), losses due to high Rds(on ) of P-MOS.
This is an open loop buck converter with non-isolated output and operating in CCM mode. It can be used as a low-loss current source to drive LEDs or power self-powered portable devices. It can also be used as an interface between battery and CPU components or notebooks where the voltage demand is lower than the battery voltage.
Project source code
###
//Program to Code for Buck Converter with Input voltage = 12V and Output voltage = 5V This code will generate a PWM (Pulse Width Modulation) signal of 20kHz with 60% duty cycle but desired duty cycle is 40%. As in our experiment we are using a P-channel MOSFET, PMOS is triggered by negative voltage. So we need to set duty cycle of PWM signal to 60% so that duty cycle of the MOSFET can be 40% */ #define TOP 799 // Fosc = Fclk/(N*(1+TOP), Fosc = 20kHz, Fosc = 16MHz #define CMP_VALUE_HALF_DUTY 480 // OCR1A value for 60% duty cycle #define PWM 9 // PWM(Pulse Width Modulation) wave at pin 9 void setup { // put your setup code here, to run once: pinMode(PWM,OUTPUT); // set 9 pin as output TCCR1A = 0; //reset the register TCCR1B = 0; //reset the register TCNT1 = 0; //reset the register TCCR1A = (1<###
Circuit diagrams
Circuit-Diagram-Open-Loop-Buck-Converter |