Posted on Leave a comment

Automated DC-DC Converter Efficiency Testing

If you’re into electronics and you’ve ever considered using the cheapest DC-DC converters you can find for any kind of serious power delivery, you’ve probably wanted to see if they’re actually capable of delivering the power that they claim. You may do a quick test with the actual load to check if the converter shuts down or not.

Taking a step up from there, when you get further into power electronics design, testing DC-DC converters under a variety of input voltages and a variety of output currents has probably come into your mind at some point. Depending on how determined you were to get it done, you may have found some resistor banks and measured input voltage and current, and output voltage and current with multiple input voltages and loads. This would give you a pretty good picture of the efficiency of the device under all operating conditions, but takes a long time to set up and do the test.
Or maybe you’re designing a new converter for a board and wondering how accurate the efficiency graphs of given in the datasheet are for the specific components that you ended up choosing (different inductors, FETs, or diode for non-synchronous converters) can make a large difference in the efficiency if chosen improperly.

To get those efficiency graphs under a variety of conditions, I created a python script to run through all input and load cases with a programmable power supply and electronic load.
The script in my Test Equipment Control repo will run through as many combinations of inputs and outputs, then the will present all the results as a typical efficiency vs load current graph.

Test Setup

To get the program set up it walks you though with a simple GUI.

  • Choose which power supply to use
  • Choose which eload to use
  • Choose to use an external voltage measurement device (or use the power supply or eload for input and output)
  • Select a location to save the log files
  • Enter a name for the test – will be used to generate a name for the log file
  • Enter all the test settings
    • min, max input voltage and number of steps
    • power supply current limit
    • min, max output current and number of steps
    • delay between each step to allow transients to settle and device to come to thermal equilibrium

Note – the steps above are as of writing this, I may have updated the program since then.

Test Results for a few converters:

Fully isolated 150V to 12V DC-DC converter:

24V to 3.3V converter (Diodes Inc AP63357Q):

Using my Rigol DP832A power supply, DL3021A electronic load, and DM3068 multimeter, I was able to characterize a small low-voltage converter that I designed:

Remote sense setup to measure the voltage directly at the terminals of the converter to remove any contributions of the wires in the power loss:

Test setup showing the Rigol DL3021A, DP832A, and DM3068 and remote sense connections. The multimeter is used for a remote sense on the input terminals:

Test Results:
In the graph produced, we can see that it handled peak load current of 3A was handled without issue. We also see the efficiency decrease with higher input voltage as expected from the datasheet’s graph. This particular converter was set up for a 3.3V output voltage by changing the feedback resistors.

Comparing this efficiency graph to the datasheet’s given efficiency graph, the efficiency I measured is slightly lower. This board is using a 3.3V output and 6.8uH inductor (same inductor as the 5V versions I made), so it is expected that efficiency will be a little lower. Other sources inefficiency would be not choosing the optimal inductor for the applicationĀ  – considering core losses, heating losses, etc. The datasheet graph would have been generated using an optimal configuration of inductor characteristics. Inaccuracies in the measurement setup from noise and calibration of the equipment also add some uncertainty to the values that I tested.



Future Plans

I plan to add some more features to this script including:

  • Plotting the line and load regulation (possible with the data already collected)
  • Add connection to scope to test the load transient response automatically


Here’s the link to the github repository:

Leave a Reply