This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
university:courses:electronics:buck_converter_basics [12 Jun 2018 00:47] – Add link to TOC Mark Thoren | university: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> | ||
+ | **{{ : | ||
+ | </ | ||
===== 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: | ||
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: |
- | {{ : | + | |
===== 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, | The figure below shows the turn-on transient of the circuit, with ringing due to resonance between the inductor and output capacitance, | ||
- | <<re-take of turn-on transient> | + | {{ : |
+ | <WRAP centeralign> | ||
=== Ripple Current and Ripple Voltage === | === Ripple Current and Ripple Voltage === | ||
Line 138: | Line 145: | ||
{{ : | {{ : | ||
- | <WRAP centeralign> | + | <WRAP centeralign> |
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 | + | Build the following breadboard circuit for the buck converter, following the schematic in Figure |
+ | <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: | ||
+ | </ | ||
{{ : | {{ : | ||
- | <WRAP centeralign> | + | <WRAP centeralign> |
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. | ||
{{ : | {{ : | ||
- | <WRAP centeralign> | + | <WRAP centeralign> |
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? | ||
{{ : | {{ : | ||
- | <WRAP centeralign> | + | <WRAP centeralign> |
- | << | + | // |
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. | ||
{{ : | {{ : | ||
- | <WRAP centeralign> | + | <WRAP centeralign> |
===== Activity 2: An Open-Loop Variable Buck Converter ===== | ===== Activity 2: An Open-Loop Variable Buck Converter ===== | ||
Line 174: | Line 184: | ||
{{ : | {{ : | ||
- | <WRAP centeralign> | + | <WRAP centeralign> |
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 " | 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 " | ||
- | 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 |
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' | + | Connect the buck output to the A0 analog pin on the Arduino and the Arduino' |
{{ : | {{ : | ||
- | <WRAP centeralign> | + | <WRAP centeralign> |
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:// | + | * Arduino Sketch: **[[downgit>Linduino/tree/ |
+ | </ | ||
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, | 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, | ||
{{ : | {{ : | ||
- | <WRAP centeralign> | + | <WRAP centeralign> |
+ | <WRAP round download> | ||
+ | **Resources: | ||
+ | * LTSpice files: **[[downgit> | ||
+ | * Fritzing files: **[[downgit> | ||
+ | * JavaScript files: **[[downgit> | ||
+ | </ | ||
===== 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:// | ||
- | http:// | + | AN19 is the LT1070 design manual, rich with examples: |
+ | **[[http:// | ||
- | AN19 is the LT1070 design manual, rich with examples: | + | Article on simulating SMPS loop gain (and why it's often unnecessary): |
- | http:// | + | **[[http:// |
- | + | ||
- | Article on simulating SMPS loop gain (and why it's often unnecessary): | + | |
- | http:// | + | |
===== Questions: ===== | ===== Questions: ===== | ||
- | **Return to Lab Activity | + | Return to **[[university: |
+ | Return to **[[university: |