2
\$\begingroup\$

TL;DR

How can I measure the power consumption of a system that uses power supplies with multiple voltage outputs?

Background

I need to perform some power consumption tests on a desktop computer. I will be running various workloads on it, and want to measure the power response at the board level. It uses a standard 24-pin ATX connector, which supplies voltages of +3.3V, +5.0V, +12.0V, and -12.0V. I want to run both active and passive workloads, and record the power consumption while the system is asleep, if possible.

I know there are numerous components on a desktop system that can affect power measurements, such as WiFi cards, SSD/HDD, PCH, etc. Most of these effects are actually desirable, because I want to see when the system's power management features don't reduce their power consumption properly in various S-, P-, and C-states. I have determined that the most significant source of error remaining in my test infrastructure is the power supply. I am seeking to eliminate the power supply as a source of error.

I can freely open up and modify the supply as needed, including cutting and splicing the wires.

Here are a few characteristics of an ideal solution:

  • Starting measurement, stopping measurement, and collecting results can be automated with Python scripts
  • <25mW measurement error when the system is drawing <1A
  • As low-cost as possible
  • Can switch out the system under test easily
  • Measures the power consumption of the whole motherboard and everything attached to it, excluding the supply itself if possible

Possible Solutions

  1. Use multiple power meters
    I could wire up four discrete power meters to the outputs of the power supply, one for each voltage.

    Pros:

    • Probably the most accurate of the options
    • Usable in all system sleep/wake states

    Cons:

    • Four power meters is very large cost investment to measure just one system at a time
    • Difficult to switch out the system under test
  2. Test Target Software
    Both Windows and Linux (I don't care about MacOS) have the ability to tap into hardware registers that track power consumption. I could read these registers to estimate power consumption.

    Pros:

    • No hardware requirements
    • Easy to replicate on multiple test systems
    • Free

    Cons:

    • Can't measure power during sleep states
    • Cannot give accurate total-system power measurements, only system components that have registers configured for this
  3. Measure the PSU input instead
    There are tools like Watts Up? power meters that measure power consumption, as seen by the wall outlet.

    Pros:

    • Much lower cost than four power meters
    • Easy to switch out the system under test

    Cons:

    • Includes power consumption of PSU
    • Haven't found one yet that is accurate enough while providing a programmable interface and the ability to measure both current and voltage at the same time (or power directly)

The Question

Are there other solutions or techniques that I have left off of this list, or aspects to the included ideas that I should consider? Is there an industry-standard approach to measuring power consumption on mixed-voltage devices, or are they generally custom to each application?

Note
I have taken a look at these other related questions from EESE, but they haven't been helpful for this question:
Power consumption of my device
Measuring power consumption
Measuring Output Amps From a Power Supply
Multiple voltage output power supply
Measuring precisely the efficiency of a power converter

\$\endgroup\$
1
\$\begingroup\$

It would be easy enough to make an "extension" cable for the 24-pin ATX power cable. Into this special test cable, you could wire "high-side current sensors" that would measure the current for each supply voltage. With this test/monitor cable you could easily connect it to any power supply and any motherboard.

These are inexpensive enough that you could properly meter each voltage. And they are easy enough to interface to with laboratory instrumentation, or even a hobby microcontroller like Arduino, et.al.

Here are two examples of high-side current sensors. Already assembled on "break-out boards" and ready to wire into your test circuit. They are both < US$10 and there are several other examples of similar products.

https://www.pololu.com/product/1186

https://www.sparkfun.com/products/12040

\$\endgroup\$
0
\$\begingroup\$

Solution (1) would be complicated plus it would produce measurements that won't include PSU (in)efficiency.

Solution (2) is viable only if ACPI on the machine supports input power measurement. As far as I know this is supported only on battery-powered machines.

Solution (3) - measure power input to the machine directly - is correct one as it is simplest and it will give you full picture. You don't need to measure voltage and current separately. Use standard AC power meter. Cheap multi-meter with RS232/USB that can measure AC power should do the job as well.

\$\endgroup\$
  • \$\begingroup\$ Please clarify why you want to exclude the power supply. It is not like the rest of the machine operates without losses. Is there a reason to make distinction between say +5V line and +12V line? \$\endgroup\$ – student Apr 19 '16 at 8:23
  • \$\begingroup\$ The error is going to be large enough for any absolute study to give completely superfluous results. But, your study is comparative (you compare different kernel setups/versions) and so you can have relative comparisons. \$\endgroup\$ – student Apr 19 '16 at 8:32
  • \$\begingroup\$ You see the PSU inefficiency is just a small part of the story - there will be influence of all the peripherals with their usage patterns (notably HDD, Wifi, GPU), there will be losses in the CPU itself, in the motherboard, in blinking LEDs.. There really is no advantage in measuring the PSU outputs separately. \$\endgroup\$ – student Apr 19 '16 at 8:34
  • \$\begingroup\$ Again, you should have mentioned in the post that this is what you measure. And again, it doesn't make much of a sense - since you said you measure effect of different software/firmware you just need to compare two measurements and show the difference between them. That is arguably much easier than measuring absolute power consumption of any subsystem in a PC. Finally, saying that PSU is only source of measurement error is bogus - you cannot fully control HDD usage when testing WiFi, for example. \$\endgroup\$ – student Apr 19 '16 at 9:31
  • \$\begingroup\$ This discussion has been entirely unproductive, so I've removed my comments. Your comments aren't invalid, just irrelevant. You can assume that I've accepted, removed, or actually want all other non-trivial sources of error. The power supply is my most significant (not only) source of error remaining, and that's why I want it gone. If you have suggestions for accomplishing that, I'm listening. \$\endgroup\$ – skrrgwasme Apr 19 '16 at 16:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.