Pro/Forums

Pro/Forums (http://forums.procooling.com/vbb/index.php)
-   Random Nonsense / Geek Stuff (http://forums.procooling.com/vbb/forumdisplay.php?f=15)
-   -   CPU Ammeter, v.3 (http://forums.procooling.com/vbb/showthread.php?t=7124)

Groth 06-26-2003 06:22 PM

CPU Ammeter, v.3
 
1 Attachment(s)
To all three or four people who care about the quest to measure CPU power usage, I finished building the new and improved ammeter.

It features 0.02% precision resistors, a gigantic improvement over the old 1% tolerance. It has on board a capacitive charge-pump, to eliminate the necessity of tapping into the -12 V line. Analog isolation has been replaced with superior digital isolation. Op-amp input offset voltage has been reduce 40 fold. Yeeha!

Sadly, I messed up a bit on the assembly, and killed my ADC by feeding -9.2 volts into a pin rated for -0.3 to 6.0 volts. It really sucks to leave off one resistor. :mad: Soooo, no exiting results or pretty graphs until I get a new one.

In mean time... Damn I make a nice circuit board!

Since87 06-26-2003 07:30 PM

Re: CPU Ammeter, v.3
 
Quote:

Originally posted by Groth

In mean time... Damn I make a nice circuit board!

Looking good. Is that chemically etched? Photomasked?

Sorry to hear about the ADC. Looking forward to seeing the results.

Groth 06-26-2003 08:39 PM

I use the toner mask method. After drawing the relevant artwork on computer, one laser prints a mirror image of the circuit. There's fancy transfer paper available, but I use semi-gloss photo paper. Iron the paper onto a copper clad board, toss in water. After a couple hours the paper can be peeled away, leaving the toner on the board (stubborn paper remnants can be persuaded with a soft tooth brush). Then, all the board needs is a dip in ammonium persulfate - any copper not covered by toner is etched away.

20 mil tracks/spacings come out really well; things get tough at 10 mil. Using the transfer paper, 6 mil is possible.

Some preliminary tests: shorting all the inputs together and applying a voltage is giving me a final output of ~0.8 mV per input volt.

BillA 06-26-2003 08:45 PM

Groth

you guys are doing fine work, nice to watch
but why post this in "geek stuff" ?
had Since87 not posted I'd never have seen it

pHaestus 06-26-2003 09:30 PM

Maybe there should be a separate forum

"Shhh don't disturb the 3 or 4 people in there and DON'T touch anything"

Or something.

Very nice work Groth. You are fast turning into my hero.

Since87 06-26-2003 10:12 PM

Quote:

Originally posted by Groth

Some preliminary tests: shorting all the inputs together and applying a voltage is giving me a final output of ~0.8 mV per input volt.

Not bad common mode. Considering the common mode input range the circuit will be used with, that bit of error is well below my nitpick threshold.

Where'd you find the resistors? I wouldn't expect to be able to find 0.02% resistors of the right values without 8+ week lead time and a 2K piece minimum order.

Groth 06-27-2003 06:30 AM

Quote:

Originally posted by BillA
why post this in "geek stuff" ?
Seemed like awfully geeky nonsense to me - where would you suggest posting? I kind of like pH's suggestion of a separate forum, but I'd call it 'Wildly Absurd Constructs for the Knowledge Obsessed' (WACKO).
Quote:

Originally posted by Since87
Where'd you find the resistors?
In the frying pan. You thought I was kidding about that, eh?

One of the difference amps seems to be the source of most of the common mode error, plus it has a slightly lower gain than the other two. Surgery.

Anyone know a good/easy way to remove flux? Specifically, flux that has flowed underneath a 14 pin SOIC. I think some output error is flux leakage.

Since87 06-27-2003 09:42 AM

Quote:

Originally posted by Groth
Seemed like awfully geeky nonsense to me - where would you suggest posting? I kind of like pH's suggestion of a separate forum, but I'd call it 'Wildly Absurd Constructs for the Knowledge Obsessed' (WACKO).

In the frying pan. You thought I was kidding about that, eh?

Jeesh, WACKO is right. I thought you were serious about the frying pan, but didn't guess you'd cherry pick parts to that level. You are the master of resistor herding.

Quote:

Originally posted by Groth
Anyone know a good/easy way to remove flux? Specifically, flux that has flowed underneath a 14 pin SOIC. I think some output error is flux leakage.
Techspray 1676 does a good job, and can be gotten without giving a federal ID number or risk of EPA inspection. Isopropyl alcohol does a good job if used immediately after soldering or if you can scrub with it, but flux that has been on for days in hard to reaches places is difficult to get off with isopropyl.

PM me with your address if you want me to send you a can of 1676.

BillA 06-27-2003 09:58 AM

another vote for WACKO
spot on, new forum please

KnightElite 06-27-2003 12:11 PM

This is a sweet project man, very cool.

Groth 06-27-2003 03:32 PM

I'm much too impatient, so I removed my flux with automotive brake parts cleaner. It cleaned really well, not only removing the flux, but the writing on the ICs too.

Sadly, the flux leakage seems to have been in my favor - things are slightly worse now. In other news, two resistors have suffered soldering induced drift and are being replaced.

WACKO forever!

jaydee 06-27-2003 03:42 PM

This is pretty good stuff. What do you use as a display to read the values?

Groth 06-27-2003 04:08 PM

Quote:

Originally posted by jaydee116
What do you use as a display to read the values?
I'm using (when I get a new one) a Nat. Semi. LM87. It's in the same family as the LM90 in your KD-7.

It does the whole voltage, fan RPM, and temperature monitoring thing, but I'm just using the voltage inputs here. Most importantly (since I have zero programming skill), it's recognized by Motherboard Monitor. Once everything is set up, MBM will display/log the CPU current (with ~0.2 amp resolution).

With any luck, we should able to characterize the thermal power of a given AthXP core running specified software at a various Vcore, FSB, and multipliers. 'Twill be the end of silly power estimates.

Edit: grammar

jaydee 06-27-2003 04:18 PM

Quote:

Originally posted by Groth


With any luck, we should able to characterize the thermal power of a given AthXP core running specified software at a various Vcore, FSB, and multipliers. 'Twill be the end of silly power estimates.

Yeah that will be sweet. Could take the values and make a decent watt calculator maybe?

bigben2k 06-27-2003 04:39 PM

Quote:

Originally posted by Groth
With any luck, we should able to characterize the thermal power of a given AthXP core running specified software at a various Vcore, FSB, and multipliers. 'Twill be the end of silly power estimates.
Isn't there power transferred to/from the CPU through the various data lines?

Since87 06-27-2003 05:33 PM

Quote:

Originally posted by bigben2k
Isn't there power transferred to/from the CPU through the various data lines?
Yes, some difficult to quantify amount of power, depending on what the CPU is doing.

Access to the North Bridge is probably the only thing that can throw the die dissipation measurement off significantly. An ideal load program would operate in the CPU's internal cache only.

Considering how little the die temperature fluctuates when running CPU Burn, and how clearly you can see the impact of cache size with Prime95, I think it's reasonable to believe that CPU Burn is not doing much North Bridge access. Maybe someone should contact the author(s) of CPU Burn and see what they say about this.

Groth 06-28-2003 06:41 PM

Quote:

Originally posted by bigben2k
Isn't there power transferred to/from the CPU through the various data lines?
Very little. There are a dozen or so open collector outputs (FID, VID, etc.) that collectively could sink ~20 mW of external power.

Then there's 120 or so tri-state bidirectional lines. These are pulled up by external resistors to a reference voltage, nominally one half Vcore. When the CPU puts data on these line, it pulls them up to Vcore or down to ground through FETs that can source/sink a maximum of 6 mA. Absolute worst case (all lines continuously 1, or continuously 0), the CPU will source or sink no more than ~720 mA at a voltage of Vcore/2 -- less than three quarters of a Watt in or out. In reality, there will be a mix of 1's and 0's; the net will be tens of milli-Watts.

Not a significant issue.

Groth 07-01-2003 08:55 AM

1 Attachment(s)
After a few days of playing, I've discovered a couple things.

My board layout is inadequate. I arranged the various components with more thought toward ease of etching and assembly. As it is, the various resistors that control gain and offset for a given amp are not grouped together. With even a small thermal gradient, I get changes in performance.

Trimmers are a necessity. I had thought that using precision amps and resistors would eliminate the need for pots. Nope, difference amps are way too sensitive, and hand soldering is way too sloppy.

Murphy's law reprised: any re-work will just make things worse.

So, how bad is it? To test, I hooked up the CPU-ammeter to a spare ATX supply. Two case fans provided 12 V load and kept the thermal problems to a minimum. A (black-light) inverter powered from the 5 V line provided switching noise. A collection of pots and resistors allowed the application of variable voltage to the ammeter's inputs.

With all three pairs of inputs shorted together, voltage was applied. Readings were taken at the output of each difference amp channel, and at the final amplified summed output.

Error amounts to 1.2 mV + 2.2 mV/V. In our region of interest, output error runs 5 to 6 mV - roughly 0.15% percent of full scale output, or about 40% of the least-significant-bit value of the ADC. Thanks to it's linear nature, it should be possible to eliminate most of this error in software.

Groth 07-01-2003 08:56 AM

With the common mode and input offset quantified, I moved to gain. Each channel was tested by applying 2 volts to the non-inverting input and from 2.00 to 2.06 V to the inverting input, while the inputs of the other channels were grounded Measurements were again taken at the output of the difference amp and at the final output.

Visually, it's boringly linear. Statistically, well, no fireworks here either. Correcting for the previously determined common-mode/input-offset gave the following:
Code:

              Gain  Non-linearity
Channel 1    26.364    0.252%
Channel 2    26.464    0.152%
Channel 3    26.487    0.084%

Thoughts?

bigben2k 07-01-2003 10:06 AM

Tell me again where you tap into the mobo?

Groth 07-01-2003 10:37 AM

Quote:

Originally posted by bigben2k
Tell me again where you tap into the mobo?
Heh, ya that. Not for the faint of heart.

Current sense shunts (resistors of a few milliOhms) need to be placed in series with the CPU voltage regulator's inductors. You'll need to unsolder the inductors, and solder the shunts to them, with sense wires coming off each end of each shunt. Depending on the available space, you may need to wind new wire around the torroidal cores to get long enough leads. Solder the combined units back in, with the shunt on the CPU of the coil.

Since87 07-01-2003 12:35 PM

Groth,

Could you post a schematic of the analog section of what you have now? (Reference designators for components would be handy for discussion purposes.)

It looks like the summing amplifier has an awfully high offset for some reason.

Groth 07-01-2003 01:22 PM

Quote:

Originally posted by Since87
It looks like the summing amplifier has an awfully high offset for some reason.
I figured that one out already. :) One the really bad parts of not knowing much is the ability to read a datasheet without spotting important stuff.

Page 12 of the opa227 pdf, input bias current cancellation - they specifically say not to use an external cancellation resistor. I did and it does make a difference. The power of re-reading.

Also, I do need to switch to a ground plane on the back of the board. The trace feeding the former external cancellation resistor is very thin and shared with one of the diff-amps. Ground float perhaps? Grounding through vias should also allow tightening up the layout.

I'm still using three difference amps feeding into a summing amp. I'll draw a schematic when I wake up this evening.

Since87 07-01-2003 02:21 PM

Quote:

Originally posted by Groth

Also, I do need to switch to a ground plane on the back of the board. The trace feeding the former external cancellation resistor is very thin and shared with one of the diff-amps. Ground float perhaps? Grounding through vias should also allow tightening up the layout.

Throw out the whole idea of ground when doing instrumentation level analog stuff. Ideally every bit of copper on the board should be considered a resistor, and the current flowing through it (and the effect of that current flow on the measurement) should be known.

A bit extreme maybe, but you get the idea. The safest way to lay this out, is with every ground point going back to a single node. This avoids currents that you don't anticipate affecting things they shouldn't. Ground planes are good for high frequency digital stuff, but they can cause problems with high accuracy analog designs. Using the back side of the board, to hook up a 'star' of ground nets to a central node, might be a good way to maintain accuracy while clearing up congestion.

Groth 07-05-2003 10:36 PM

Star ground, I think I've run into that concept before. I think it's one of those thing that everyone believes doesn't apply to them until too late. Actually, I'm not terrible worried by a couple of mV, but, when in bedlam...

Well, the ground thing's a bit of drag. I had hoped I could avoid needing artwork for the back, hence groundplane. It appears I've reached the end of using Paint as my layout tool; I'll have to slog my way through the Vutrax tutorials.

I've pulled the offending current cancellation resistor and added jumpers to give individual grounds. Qualitatively, it looks to be an improvement; numbers to be announced.

In other developments, I've picked up a 150 W, 5 Ohm nichrome variable resistor. I'm hoping to better measure my shunt resistors with the aid of some large currents.

The techspray works very well. It even cleaned off the bits of salty residue that the isopropanol and xylene left. Cool. Thank you kindly, Since.


All times are GMT -5. The time now is 06:53 PM.

Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
(C) 2005 ProCooling.com
If we in some way offend you, insult you or your people, screw your mom, beat up your dad, or poop on your porch... we're sorry... we were probably really drunk...
Oh and dont steal our content bitches! Don't give us a reason to pee in your open car window this summer...