Build Your Own Total System Power Analyzer

Overall Score

A measurement device is utterly worthless unless it can be trusted to produce an accurate measurement. Thus all meters, be them multimeters, thermometers, or even a yard stick, must be calibrated or checked againsted a known reference before any quantified number can be trusted. The spec sheet for the ACS712 sensor is impressive, not only is it fast with a quoted accuracy of 1.5% at room temperature, but it is extremely linear.

From the Allegro spec sheet:

Even though the manufacturer shows good linearity over a wide temperature range, it is important to calibrate each sensor. Furthermore, since all sensors derive their power from the same bus, it is also critical that the calibration occur when all sensors are powered and operational. We produce the calibration curves for all 8 sensors, as descirbed on the previous page, all powered by the same source. This is important because each sensor is ratiometric to the supply voltage driving the sensor. With 8 devices pulling ~ 20 mA the actual supply voltage cannot be guaranteed to be 5.0 VDC exactly, in fact, it was measured to be 4.87 V with all 8 sensors powered.

To calibrate each sensor, a known current must be pushed through the sensor while observing the resulting output voltage. A good sensor will produce a linear plot of current vs voltage. For our calibration we measured the current direction from approximately 1 A to 9 A by pushing current through using the +12 VDC source of a CPU. To vary the current we used two different loading algorithms, Cinebench R10 and OCCT 2.0 loading utlity, and to supply multiple points the CPU was volted at 1.20 Volts and 1.40 volts at a frequency of 2.0 GHz. The system that generated this load was a QX6700 paired with a Asus Striker Extreme MB with 2 GB Corsair DDR2-800 memory. The current was measured with a Fluke 289 DVM, due to the limitations of the Fluke DVM (max 10 A measured) we did not measure over 10 A for our calibration, however, the linearity was so good that higher currents should be fine. The Fluke 283 allows for time averaging of the current, we averaged over 10 seconds on a stable baseline to obtain the current measurement.

In order to obtain the reading from the sensor, the ouput was collected via the included software with the LabJack U3HV (DAQ Factory Express), the physical time evolved signal was plotted real time. Measurments and time averages were not started until an observed stable (non changing) value for the current was observed. The sensor output average and current average (as measured by the Fluke 289) were acquired simultaneously over the same 10 second window average.

Image of the calibration in action…

We measured a total of 9 points for each sensor under the following conditions: No power, idle LV, CB 1X LV, CB 4X LV, OCCT LV, idle HV, CB 1X HV, CB 4X HV, OCCT HV which produced amps from 0 to 9.2 A (CB=CineBench, 1x = 1 thread, 4x=4 threads, LV = QX6700 Vcc @ 1.20 V, HV = QX6700 @ 1.40 V).

The calibration data for the sensors used in our device is shown below.

A few more notes concerning the calibration are in order. First, and most astonishing, is the linearity of calibration. Correlation factors for all the sensors were well above 0.9, which is outstanding, and in most all cases around 0.99. Second, I included many more significant figures than is necessary in the graphs, the actual significance is actually to the order four. The 5 Amp sensor (sensor 6) could not be calibrated with the full data set, only for amperage within the range of that sensor. We do not have the equipment readily available to push to higher amperage on the calibration curves to extend the full range of the sensor, however, considering the extraordinary linearity up to 9+ Amps, and the published linearity from Allegro the response of the sensor will be more than accurate enough for currents > 10 A and certainly adequate for our purposes.


  • Facebook
  • Twitter
  • Myspace
  • Google Buzz
  • Reddit
  • Stumnleupon
  • Delicious
  • Digg
  • Technorati

Leave A Response