Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
university:courses:electronics:buck_converter_basics [12 Jun 2018 00:47] – Add link to TOC Mark Thorenuniversity:courses:electronics:buck_converter_basics [05 Feb 2024 20:30] (current) – "Promote" Slide Deck to top of page, formatting links Mark Thoren
Line 12: Line 12:
   * Open-loop vs. closed loop operation   * Open-loop vs. closed loop operation
   * Voltage-mode control   * Voltage-mode control
 +
 +===== Workshop Slide Deck =====
 +A slide deck is provided as a companion to this exercise, and can be used to help in presenting this material in classroom, lab setting, or in hands-on workshops.
 +<WRAP round download>
 +**{{ :university:courses:electronics:buck_basics:workshop_buck_converter_basics.pptx | Buck Converter Basics Slide Deck}}**
 +</WRAP>
  
 ===== Background: ===== ===== Background: =====
Line 39: Line 45:
 Solder-less breadboard and jumper wire kit or Perma Proto solder breadboard\\ Solder-less breadboard and jumper wire kit or Perma Proto solder breadboard\\
 ADALP2000 parts kit parts as required\\ ADALP2000 parts kit parts as required\\
 +Optional: **[[university:tools:lab_hw:adalm_buck|ADALM-BUCK-ARDZ Module]]**\\
 12V power supply (preferred) or 5V USB power supply (workable)\\ 12V power supply (preferred) or 5V USB power supply (workable)\\
 Voltmeter (optional, can use M2K in Voltmeter mode.)\\ Voltmeter (optional, can use M2K in Voltmeter mode.)\\
-LTspice files for this activity:\\ +LTspice files for this activity: **[[downgit>education_tools/tree/master/m2k/ltspice/buck_ltspice buck_ltspice]]**
-{{ :university:courses:electronics:buck_basics:buck_converter_basics_ltspice_files.zip |}}+
  
 ===== Activity 1: An Open-Loop 2:1 Buck Converter ===== ===== Activity 1: An Open-Loop 2:1 Buck Converter =====
Line 121: Line 127:
 The figure below shows the turn-on transient of the circuit, with ringing due to resonance between the inductor and output capacitance, which is damped out by the load resistance. At 4 milliseconds, a 50-ohm load is connected to the output, causing a drop in the output voltage. This drop is due to finite impedances in the LT1054's switches, as well as the inductor's DC resistance. The figure below shows the turn-on transient of the circuit, with ringing due to resonance between the inductor and output capacitance, which is damped out by the load resistance. At 4 milliseconds, a 50-ohm load is connected to the output, causing a drop in the output voltage. This drop is due to finite impedances in the LT1054's switches, as well as the inductor's DC resistance.
  
-<<re-take of turn-on transient>>+{{ :university:courses:electronics:buck_basics:lt1054_2_to_1_transient.png |}} 
 +<WRAP centeralign> Figure 10. Turn-on and Load Step Transients</WRAP>
  
 === Ripple Current and Ripple Voltage === === Ripple Current and Ripple Voltage ===
Line 138: Line 145:
  
 {{ :university:courses:electronics:buck_basics:lt1054_buck_ripple.png?600 |}} {{ :university:courses:electronics:buck_basics:lt1054_buck_ripple.png?600 |}}
-<WRAP centeralign> Figure 10. Inductor Ripple Current and Output Ripple Voltage</WRAP>+<WRAP centeralign> Figure 11. Inductor Ripple Current and Output Ripple Voltage</WRAP>
  
 With the green trace showing a decreasing ripple current with increasing inductance, and the red trace showing a corresponding decrease in ripple voltage... accompanied by poorer load regulation due to the increased resistance of the windings. (Try increasing the .param dcr to 0.5 ohms to make this effect more apparent.) With the green trace showing a decreasing ripple current with increasing inductance, and the red trace showing a corresponding decrease in ripple voltage... accompanied by poorer load regulation due to the increased resistance of the windings. (Try increasing the .param dcr to 0.5 ohms to make this effect more apparent.)
  
 ==== Circuit Construction and Testing ==== ==== Circuit Construction and Testing ====
-Build the following breadboard circuit for the buck converter, following the schematic in Figure 15. (Q1, R2, R3 can be added later.) Note that the HPH1-1400L has six inductors that can be connected in any way (series, parallel, or a combination of the two). Be sure to observe proper polarity, connecting all inductors in series as shown.+Build the following breadboard circuit for the buck converter, following the schematic in Figure 16. (Q1, R2, R3 can be added later.) Note that the HPH1-1400L has six inductors that can be connected in any way (series, parallel, or a combination of the two). Be sure to observe proper polarity, connecting all inductors in series as shown. 
 +<WRAP info> 
 +The circuits in this lab are compatible with solderless breadboard construction. However they are relatively complicated and take time to construct and debug. The [[university:tools:lab_hw:adalm_buck|ADALM-BUCK-ARDZ Module]] is available as an alternative. 
 +</WRAP>
  
 {{ :university:courses:electronics:buck_basics:lt1054_2_to_1_bb.png |}} {{ :university:courses:electronics:buck_basics:lt1054_2_to_1_bb.png |}}
-<WRAP centeralign> Figure 11. Breadboard Circuit</WRAP>+<WRAP centeralign> Figure 12. Breadboard Circuit</WRAP>
  
 The circuit can also be soldered on a “Perma Proto” solderable breadboard from Adafruit, which matches the layout of typical solderless breadboards. The circuit can also be soldered on a “Perma Proto” solderable breadboard from Adafruit, which matches the layout of typical solderless breadboards.
  
 {{ :university:courses:electronics:buck_basics:lt1054_buck_perma_proto_sm.jpg?600 |}} {{ :university:courses:electronics:buck_basics:lt1054_buck_perma_proto_sm.jpg?600 |}}
-<WRAP centeralign> Figure 12. Alternate Construction Method</WRAP>+<WRAP centeralign> Figure 13. Alternate Construction Method</WRAP>
  
 Measure the ripple current for different numbers of series-connected inductors. The animated figure below shows the ripple current for 2, 3, 4, 5, and 6 inductors. How well does this match the LTspice simulation? Measure the ripple current for different numbers of series-connected inductors. The animated figure below shows the ripple current for 2, 3, 4, 5, and 6 inductors. How well does this match the LTspice simulation?
  
 {{ :university:courses:electronics:buck_basics:lt1054_buck_multi_inductors.gif?800 |}} {{ :university:courses:electronics:buck_basics:lt1054_buck_multi_inductors.gif?800 |}}
-<WRAP centeralign> Figure 13. Ripple Current for 2 to 6 Windings in Series</WRAP>+<WRAP centeralign> Figure 14. Ripple Current for 2 to 6 Windings in Series</WRAP>
  
-<<Discussion on the strange steps at the top and bottom - LT1054 is a bipolar device, current initially flows through catch diodes, then through LT1054 output driver transistors...>>+//(Notice the "steps" in the switch node voltage as the inductor current passes through zero. After switching, current initially flows through diodes D1 or D2. As the current passes through zero and switches direction, the LT1054 output driver "takes over" and drives the switch nodeIn the LTspice simulation, try probing the LT1054 CAP+ current, D1 current, and D2 current separately, noting that the inductor current is the sum of the three.)//
  
 Measure the ripple voltage at the output of the converter, with a 22uF output capacitor. Then place an additional 47uF capacitor in parallel, for a total  of 69uF. Does the measured ripple match the simulated ripple reasonably well? Note that both the inductor and electrolytic capacitors can have a very wide tolerance - tolerances of +/-20% are common for inductors, and -20%/+80% is a common tolerance for electrolytic capacitors. Measure the ripple voltage at the output of the converter, with a 22uF output capacitor. Then place an additional 47uF capacitor in parallel, for a total  of 69uF. Does the measured ripple match the simulated ripple reasonably well? Note that both the inductor and electrolytic capacitors can have a very wide tolerance - tolerances of +/-20% are common for inductors, and -20%/+80% is a common tolerance for electrolytic capacitors.
Line 164: Line 174:
 The animated figure below shows the ripple voltage for output capacitances of 22uF and 22uF+47uF. The animated figure below shows the ripple voltage for output capacitances of 22uF and 22uF+47uF.
 {{ :university:courses:electronics:buck_basics:lt1054_buck_ripple_voltage.gif?800 |}} {{ :university:courses:electronics:buck_basics:lt1054_buck_ripple_voltage.gif?800 |}}
-<WRAP centeralign> Figure 14. Output Ripple for 22uF, 22+47uF output capacitance</WRAP>+<WRAP centeralign> Figure 15. Output Ripple for 22uF, 22+47uF output capacitance</WRAP>
  
 ===== Activity 2: An Open-Loop Variable Buck Converter ===== ===== Activity 2: An Open-Loop Variable Buck Converter =====
Line 174: Line 184:
  
 {{ :university:courses:electronics:buck_basics:lt1054_closed_loop_buck.png?800 |}} {{ :university:courses:electronics:buck_basics:lt1054_closed_loop_buck.png?800 |}}
-<WRAP centeralign> Figure 15. Buck Converter with Internal Oscillator Override</WRAP>+<WRAP centeralign> Figure 16. Buck Converter with Internal Oscillator Override</WRAP>
  
 Open the circuit and run the simulation; the duty cycle and frequency are parameterized so that they can be easily changed. Test several values of the duty cycle (20%, 40%, 60%, 80%), show that VOUT = VIN * Duty Cycle Open the circuit and run the simulation; the duty cycle and frequency are parameterized so that they can be easily changed. Test several values of the duty cycle (20%, 40%, 60%, 80%), show that VOUT = VIN * Duty Cycle
Line 188: Line 198:
 Obviously, sensitivity to input voltage changes and output loading is undesirable. The figure below shows a feedback path that observes the output voltage, and adjusts the duty cycle accordingly. That is, if the load increases, causing a drop in output voltage, this will be sensed by "something" that will increase the duty cycle to compensate and bring the output voltage back to it's desired value. There are various ways to accomplish this: we'll leave it as an extra activity to close loop in (either in LTspice or on the breadboard) using a voltage reference, op-amp, and an LTC6992 PWM generator. The result will be a true voltage-mode buck converter. Obviously, sensitivity to input voltage changes and output loading is undesirable. The figure below shows a feedback path that observes the output voltage, and adjusts the duty cycle accordingly. That is, if the load increases, causing a drop in output voltage, this will be sensed by "something" that will increase the duty cycle to compensate and bring the output voltage back to it's desired value. There are various ways to accomplish this: we'll leave it as an extra activity to close loop in (either in LTspice or on the breadboard) using a voltage reference, op-amp, and an LTC6992 PWM generator. The result will be a true voltage-mode buck converter.
  
-This feedback path can be implemented in another way - using a software-programmable feedback loop. The M2K already has the required elements - it can measure the output voltage, and control the duty cycle of a digital output. Scopy includes a "debug mode" that allows interaction with JavaScript programs, and a script is included in the zip file that does this.+This feedback path can be implemented in another way - using a software-programmable feedback loop. The M2K already has the required elements - it can measure the output voltage, and control the duty cycle of a digital output. Scopy includes a "debug mode" that allows interaction with JavaScript programs, and a script is included in the resources section that does this.
  
 Yet another way is to use an Arduino Uno microcontroller to close the loop. The Uno has 6 analog inputs, one of which can be used to measure the output voltage. It also includes several PWM outputs, that can be used to control the duty cycle of the LT1054. Yet another way is to use an Arduino Uno microcontroller to close the loop. The Uno has 6 analog inputs, one of which can be used to measure the output voltage. It also includes several PWM outputs, that can be used to control the duty cycle of the LT1054.
  
 ==== Circuit Construction and Testing ==== ==== Circuit Construction and Testing ====
-Connect the buck output to the A0 analog pin on the Arduino and the Arduino's D3 digital signal to the buck converter's control input. Figure 16 shows connections to an Arduino Uno clone. The yellow wire connects the buck output to the Arduino's A0 input, and the blue wire connects the Arduino's PWM output on Digital Pin 3 to the oscillator override input. (Using two ground wires ensures a lower inductance connection between circuit grounds.)+Connect the buck output to the A0 analog pin on the Arduino and the Arduino's D3 digital signal to the buck converter's control input. Figure 17 shows connections to an Arduino Uno clone. The yellow wire connects the buck output to the Arduino's A0 input, and the blue wire connects the Arduino's PWM output on Digital Pin 3 to the oscillator override input. (Using two ground wires ensures a lower inductance connection between circuit grounds.)
  
 {{ :university:courses:electronics:buck_basics:lt1054_arduino_in_loop.jpg?400 |}} {{ :university:courses:electronics:buck_basics:lt1054_arduino_in_loop.jpg?400 |}}
-<WRAP centeralign> Figure 16. Buck Converter with Arduino Control</WRAP>+<WRAP centeralign> Figure 17. Buck Converter with Arduino Control</WRAP>
  
 Copy this Arduino sketch into your Arduino sketchbook (and restart the Arduino IDE if it's open.) Copy this Arduino sketch into your Arduino sketchbook (and restart the Arduino IDE if it's open.)
- +<WRAP round download> 
-[[https://github.com/analogdevicesinc/Linduino/blob/master/LTSketchbook/Active%20Learning/LT1054_voltage_mode_buck/LT1054_voltage_mode_buck.ino]] +  * Arduino Sketch: **[[downgit>Linduino/tree/master/LTSketchbook/Active%20Learning/LT1054_voltage_mode_buck_DC_ctrl | LT1054 closed loop buck with duty cycle control]]** 
 +</WRAP>
 The following figure shows the operation of the closed-loop circuit. The setpoint voltage is 3.141V, and the purple trace starts out close to this value at the lefthand side of the Scopyshot. A 50 ohm load is then connected to the output, drawing approximately 120mA, and producing a dip in the output voltage. The Arduino loop detects this and increases the PWM frequency accordingly, restoring the voltage to its correct value. Then the resistor is removed, producing an increase in the output voltage. Once again, the Arduino loop detects this disturbance and compensates. The following figure shows the operation of the closed-loop circuit. The setpoint voltage is 3.141V, and the purple trace starts out close to this value at the lefthand side of the Scopyshot. A 50 ohm load is then connected to the output, drawing approximately 120mA, and producing a dip in the output voltage. The Arduino loop detects this and increases the PWM frequency accordingly, restoring the voltage to its correct value. Then the resistor is removed, producing an increase in the output voltage. Once again, the Arduino loop detects this disturbance and compensates.
  
 {{ :university:courses:electronics:lt1054_buck_arduino_load_transient.png?800 |}} {{ :university:courses:electronics:lt1054_buck_arduino_load_transient.png?800 |}}
-<WRAP centeralign> Figure 17. Arduino Controlled Buck Transient Response</WRAP>+<WRAP centeralign> Figure 18. Arduino Controlled Buck Transient Response</WRAP>
  
 +<WRAP round download>
 +**Resources:**
 +  * LTSpice files: **[[downgit>education_tools/tree/master/m2k/ltspice/buck_ltspice | buck_ltspice]]**
 +  * Fritzing files: **[[downgit>education_tools/tree/master/m2k/fritzing/buck_bb | buck_bb]]**
 +  * JavaScript files: **[[downgit>education_tools/tree/master/m2k/javascript/buck_script | buck_script]]**
 +</WRAP>
 ===== Going Further ===== ===== Going Further =====
-This activity borrows heavily from Analog Devices Application Note 140, which is an excellent reference to build upon concepts in this activity:+This activity borrows heavily from Analog Devices Application Note 140, which is an excellent reference to build upon concepts in this activity:\\ 
 +**[[http://www.analog.com/media/en/technical-documentation/application-notes/AN140fb.pdf|Application Note 140]]**
  
-http://www.analog.com/media/en/technical-documentation/application-notes/AN140fb.pdf+AN19 is the LT1070 design manual, rich with examples:\\ 
 +**[[http://www.analog.com/media/en/technical-documentation/application-notes/an19fc.pdf|Application Note 19]]**
  
-AN19 is the LT1070 design manual, rich with examples: +Article on simulating SMPS loop gain (and why it's often unnecessary):\\ 
-http://www.analog.com/media/en/technical-documentation/application-notes/an19fc.pdf +**[[http://www.analog.com/en/technical-articles/ltspice-extracting-switch-mode-power-supply-loop-gain-in-simulation-and-why-you-usually-don-t-need.html|Extracting Switch Mode Power Supply Loop Gain in Simulation]]**
- +
-Article on simulating SMPS loop gain (and why it's often unnecessary): +
-http://www.analog.com/en/technical-articles/ltspice-extracting-switch-mode-power-supply-loop-gain-in-simulation-and-why-you-usually-don-t-need.html+
  
 ===== Questions: ===== ===== Questions: =====
  
-**Return to Lab Activity [[university:courses:electronics:labs|Table of Contents]]** +Return to **[[university:labs:power|Power Based Lab Activity Material]]**\\ 
 +Return to **[[university:|Engineering University Program Home]]**
university/courses/electronics/buck_converter_basics.1528757234.txt.gz · Last modified: 12 Jun 2018 00:47 by Mark Thoren