This site uses cookies to deliver our services and to show you relevant ads and job listings. By using our site, you acknowledge that you have read and understand our Cookie Policy , Privacy Policy , and our Terms of Service . Your use of the Related Sites, including DSPRelated.com, FPGARelated.com, EmbeddedRelated.com and Electronics-Related.com, is subject to these policies and terms.

If you've ever designed or purchased a power supply, chances are you have had to work with efficiency calculations. I can remember in my beginning electronic circuits course in college, in the last lecture when the professor was talking about switching power converters, and saying how all of a sudden you could take a linear regulator that was 40% efficient and turn it into a switching regulator that was 80% efficient. I think that was the nail in the coffin for any plans I had to pursue a different major. It was kind of like saying to treasure hunters, "Yeah, those pirate's chests full of gold coins are nice, but look what's in this cave back here...."

Well, efficiency has a double-edged sword. Twenty years ago, switching converters were a lot harder to justify (except in PC power supplies, where there really wasn't any choice anymore, and the sales volumes made it the norm rather than the exception), and in many cases just going from a linear regulator to a switching converter was enough to keep people satisfied for power consumption. Now it's a lot less expensive, and there are demands to achieve certain efficiency standards: where power supplies were 80% efficient, now people want them to be 90% efficient or 95% efficient; where some high-power converters were 95% efficient, people want them to be 97% efficient.

A former coworker of mine, who's a systems engineer working on batteries and motors, used to harp on the fact that efficiency was a misleading statistic; people should really focus on power losses instead. This article is dedicated to his philosophy and to spreading the word.

Welcome to Efficiencyland

First of all, what is efficiency? It's the ratio of delivered power to consumed power: if you draw 100 watts from the AC mains, and you deliver 90 watts of mechanical power with a motor, then that motor is 90% efficient.

But really this is backwards: nobody goes to a store and says "I have an electric outlet that supplies 100W, what's the most efficient motor you have? Ooh, that's 90% efficient, that means I get 90W of mechanical power out!" In reality it's demand driven: you need that 90W of mechanical power no matter how efficient or inefficient the motor is. If the motor's 50% efficient, you draw 180W from the AC mains. If the motor's 95% efficient, you draw 94.7W from the AC mains.

Mathematically, we have this equation for the efficiency η:

$$ \eta = \frac{P _ {out}}{P _ {in}} = \frac{P _ {out}}{P _ {out} + P _ {loss}} $$

Let's invert the equation:

$$ \frac{1}{\eta} = \frac{P _ {in}}{P _ {out}} = \frac{P _ {out} + P _ {loss}}{P _ {out} } = 1 + \frac{ P _ {loss}}{P _ {out}}$$

If something is 50% efficient, the losses are equal to P out . If something is 80% efficient, the losses are equal to 25% of P out . If something is 95% efficient, the losses are equal to 1/19 of P out . You get the picture. In fact, I would call this the relative inefficiency, a backwards epsilon: ∍

$$

i \, = \frac{ P _ {loss}}{P _ {out}} = \frac{1}{\eta} - 1 $$

Inefficiency in power calculations is just like a sales tax. In most cases you're going to spend the energy you need to, in order to deliver the output power, and this extra energy is an unwanted but necessary cost of power transfer. (In a few cases, like battery-powered devices, the amount of energy you can spend is a fixed constraint, and here efficiency tells you how much of it you have available to use.)

But a lot of times it's not even relative inefficiency that makes sense to calculate; the losses themselves are the most important thing. Here's a graph of efficiency vs. output current for a small 2W power supply (Recom RS series):

We'll do one of my favorite activities (don't miss the sarcasm), called Read the Data Off the Datasheet Graph. Let's see, at 5% load the efficiency's about 20%; at 10% load it's about 33% efficient, at 20% load it's about 50% efficient, at 40% load it's about 66% efficient, at 60% load it's about 75% efficient, at 80% load it's about 79% efficient, and at 100% load it's about 81% efficient. Let's graph power loss (as a fraction of maximum load) as a function of load power:

import numpy as np import matplotlib.pyplot as plt Pout = np.array([0.05, 0.1, 0.2, 0.4, 0.6, 0.8, 1.0]) eff = np.array([0.2, 0.33, 0.5, 0.66, 0.75, 0.79, 0.81]) Ploss = (1/eff - 1)*Pout plt.plot(Pout,Ploss) plt.xlabel('output power (fraction of max load)') plt.ylabel('power loss');

Huh, that's kind of interesting; the power loss is relatively constant, about 20% of max load (20% of 2W = 0.4W in this case), until you get to higher loads where the power loss goes up a little bit, maybe 10% of the increase in load power above 60% of maximum load: incrementally this power supply is about 90% efficient; for every 100mW of extra output power, it uses up 10mW of extra input power. At low load levels it takes a certain amount of power (again, 0.4W in this case) just to operate. And this kind of information is more directly useful. If you're careful, and you have access to a well-insulated thermal chamber (aka "styrofoam beer cooler") you can actually measure power loss directly: Put your power conversion system inside a thermal chamber, aside from the wires leading into and out of it, along with a thermocouple tied to a small block of metal (I like aluminum) for stability.

Put the block of metal in close thermal proximity to your power conversion system. That usually means to attach the two directly together; if the power conversion system has a flat heat plate, place it directly against the block of metal, so the surfaces are next to each other. Thermally conductive grease is an option, but not really necessary as long as the thermal chamber is well-insulated.

Run it for a specific amount of time T, while taking temperature readings. You will want to do this for a time that is long enough so see a measurable temperature rise, but not long enough that the power conversion system overheats or the rate of increase in temperature drops off and the temperature begins to stabilize.

Calculate energy loss = temperature rise (in degrees C = degrees K) * thermal capacity in joules per kelvin.

What's the thermal capacity? Well, if your block of metal is a common type of metal, you can calculate it by knowing the specific heat capacity, and multiplying by the metal mass; aluminum's is 0.897 joules / kelvin per gram. But it may be better to just figure out the heat capacity empirically, by doing the same experiment with a known amount of power loss, e.g. a power resistor tied to the block of metal, where you run a fixed current through it. If the power conversion system has an appreciable amount of metal itself, either make sure the block of metal is much larger, or you'll have to estimate the thermal capacity of the power conversion system.

Then compute power loss by taking the energy loss and dividing by the time T. It's even better if you graph the temperature readings vs. time and compute the initial slope once it starts heating up:

from scipy.signal import lfilter t = np.linspace(0,720,120) dt = t[1]-t[0] P = np.ones_like(t)*100 plt.figure(figsize=(10,5),dpi=80) plt.plot(t,P) a1 = 0.08*(dt/60) a2 = 4*(dt/60) lpf1 = lambda x, alpha: lfilter([alpha],[1,alpha-1],x) def frepeat(f,n,*args): def h(x): y = x for i in xrange(n): y = f(y, *args) return y return h temperature = lpf1(frepeat(lpf1,4,a2)(P),a1) plt.plot(t,temperature,'.') tfit = [0.42*60,5*60]; tempfit=[0,32] plt.plot(tfit,tempfit,'-') plt.ylim(0,60); plt.xlim(0,720); plt.xticks(np.arange(13)*60) plt.xlabel('time (sec)') plt.ylabel('temperature rise (C)') m = (tempfit[1]-tempfit[0])/(tfit[1]-tfit[0]) plt.legend(('raw data','max slope = %.3f' % m),'best')