LCR Meter Using SoundCard - Revisited and surprised at NO Discussion!

What happened here? Where are all the circuit gurus to explain what I measured?

Seriously, would like to know if results all wet, or there's a lot going on inside a cap I didn't know about.

Again, The plot of C vs log(f) produced a rather linear straight line descending down as freq went up. The plot of log(Resr-offset) vs log(f) also had a similar straight line. with offset slightly less that 84 milliohms

QUESTION: Are these relationships real, or artifacts of technqiue and/or accuracy?

My point is, are the values about right or should I comb through the measurement technique?

DATA using 220 ohm 'sense' resistor over the range of 20 Hz to 1000 Hz: incredibly accurate straight line fit, to the data: Resr = 5/f + 80 milliohms C = (888.34-34.8*log10(f/20))*1e-6 in F

measured noise was in the range of 120 ppm rms and of course increased with frequency

The system is sensitive enough to see a difference of 4 milliohms in the way I slightly changed connections to the DUT.

Which implied to me maybe, just maybe, the straight line fit represent what's going on. But these are pretty nonlinear terms here.

So back to the question, anybody know?

Reply to
RobertMacy
Loading thread data ...

I'm not a guru, but please link to the plot of the two measurements

Would make it easier if we have all the data..

Cheers

Klaus

Reply to
Klaus Kragelund

Not sure how to do that. The formulas 'fit' the data to within a total window of error in the range of 0.04% so you can 'rederive' the data pretty closely. Also, not sure what 'data' you want shared? Worst of all, I don't have anyway to share the images of the plots. But the 'fit' is so on top the data, you can't see the errors on regular plots, have to plot delta-values, like plot(f,C-Ccalc) to see.

Is that any help?

Reply to
RobertMacy

Yes, guess that's fine :-)

Cheers

Klaus

Reply to
klaus.kragelund

I just plottet it in:

formatting link

I do not get a linear plot like you stated (straight line fit), but I guess you are referring to something else?

As for the capacitance with frequency, it should not be linear with frequency, to many variables for that to happen in real life

Did you try with a ceramic NPO cap? (would be quite straight line (flat) at low frequencies where lead inductances etc matter little)

For a 100uF ceramic, C versus f:

formatting link

Changes only very little, less than 10% over 4 decades of frequency

So, better take a part you can find data for and use that for sanity check of your setup

Cheers

Klaus

Reply to
Klaus Kragelund

Thanks for taking a look at this. When I said straight line, I meant the technique of 'trying' an equation until you get a straight line, then find the m, slope, and n, offset. with those two stuck back into your original weird equation to get the straight line, you get the actual functional relation back again. Kind of a 'poor man's' curve fitting, not least squares fit, or least contribution fit, etc just an 'eyeball' fit. for example plotting log(Resr-.082) versus log(frequency) produces what looks like a straight line and plotting C versus log(f) produces a straight line.

I just reread the value on the cap, it is 1000uF, not 1100uF as I originally said. interestingly, extrapolating the data plot as you go down in frequency the value appears to go to 990uF ?! at DC. Making this 20+ year old cap, pretty good.

Good suggestion to try on NPO cap, will do that. I just made this cheap LCR meter to go through all the aging caps in my TV's supply. They're so bad now that the TV won't come on at all! We used to leave it on 100% just to keep those caps warm.

The next step is to make the signals so small that they don't turn on any adjacent semi-junctions so I can use this LCR meter to check caps in situ, and not have to unsolder them. Following the 'walk before you run' motto, thought I'd be sure the data on an isolated cap made sense first.

Reply to
RobertMacy

Sounds interesting.

What soundcard are you using?

I have a setup with a HP33120A function generator and a scope and working o n in principle the same thing.

I am using it also to measure feedback loops and transfer functions

I am using labwindows, but the performance is not great, specifically the s peed, since my scope is slow and I using averaging to reduce noise. Next st ep is to split up the measurement, so the lower frequency range is done by a high res. USB DAQ. But time is my problem, two small kids, and other stuf f, so just a couple of hours per week in the lab at home is difficult to fi nd

Cheers

Klaus

Reply to
klaus.kragelund

Have a look at Visual Analyzer at

formatting link
It's fairly easy to set up and well documented, I use it mostly for checking frequency response of the amps I build but there are a lot of other resources including an LCR bridge. And it's free.

For frequency reponse output pink (or white if you prefer) noise on A. Loop back to input A as reference. Send to input B through DUT, attenuate or amplify if needed. Jiggle output and input levels as needed, takes a bit of patience. Plot B/A in the FFT pane.

- YD.

Reply to
YD

g on in principle the same thing.

e speed, since my scope is slow and I using averaging to reduce noise. Next step is to split up the measurement, so the lower frequency range is done by a high res. USB DAQ. But time is my problem, two small kids, and other s tuff, so just a couple of hours per week in the lab at home is difficult to find

Wow, that's an impressive amount of work he has put into this tool. Need to play some more with it :-)

Cheers

Klaus

Reply to
Klaus Kragelund

I do the same with a FG and VTVM, but it is slow. But, can count on it!

Creative Labs EMU1212. it has some incredible capabilities, channels matching, ability to calibrate variables down below 10 ppm that holds for the day. I operate closer to Nyquist than I thought possible nearly 93% and still have excellent operation. Down side is that you'll discover EVERYTHING you learned about shielding and grounding is WRONG when it comes to actual implementation. I once did everything 'right' only to find the noise floor came up a whopping 3 times! So, went back to empirical solution and the dynamic range is awesome. Measured performance pretty closely matches simulations using octave [free Matlab clone] You can come up with your own terms, like 15 nV/rtHz input noise density. etc. Measure Johnson noise, etc. There is a slight 1/f as you get near 20 Hz, though.

I'm setting the SW up to do calibration sequence of

  1. MATCH CHANNELS
  2. FIND INPUT IMPEDANCE
  3. MAKE MEASUREMENTS until shut off

Not familiar with labwindows.

No time to work on it? Just wait til you start writing the SW for anything. THAT will turn you into a zombie. You'll be sitting with your family, staring off into space, imagining writing code! HA! Or more fun, debugging code!

You can definitely set up transfer function using soundcard as long as your interest is in audio range. not 1MHz. But the fun part is to watch circuitry you thought linear start becoming nonlinear. It's like the first time I worked in micron positioning and watched a 1 inch thick steel shaft act like a piece of rubber, bouncing back and forth and just elastic all over the place. Same with soundcard, you'll see tiny variations in electronic components usually ignored.

Reply to
RobertMacy

Nice board. Would be great if the number of bits could be reduced to yield higher sample rate

Probably oversampling ADCs

Well, a wide spread program, for creating windows programs specifically for connecting to lab instruments

Been there last year. Working on the drivers for STM32 hardware and some upper level function. Easy to debug in upper level, sometimes hard to configure the microcontroller peripherals.

Biggest obstacle, to really find the right peripheral combination with hardware to get the most of both for a system optimal design

That's why I am using the function generator, measuring components, sub 196kHz does not really cut it

Cheers

Klaus

Reply to
Klaus Kragelund

Tektronix has 18, or is that 20 bits? at 100MS/s would that cut it? Somewhere around there, it's awesome though.

Reply to
RobertMacy

all,

so

Well how about an ascii art circuit and a data table. many here can convert and post that easily enough.

?-)

Reply to
josephkk

I think this was the resulting data,

The 50 values of freq:

20 40 60 80 100 120 140 160 180 200 220 240 260 280 300 320 340 360 380 400 420 440 460 480 500 520 540 560 580 600 620 640 660 680 700 720 740 760 780 800 820 840 860 880 900 920 940 960 980 1000

The 50 values of C:

0.000888350652610881 0.000877926057322009 0.000871303315430036 0.000867099990700515 0.000865565140293777 0.000863788580199905 0.000860016700777822 0.000858935743857001 0.000856205000684846 0.000851226190923041 0.000855527823902709 0.000851419367095504 0.000849426169044181 0.000846316865341414 0.000842321406044368 0.000846247130917547 0.000849444953948946 0.000840118895232817 0.000844873336422486 0.000840696531692161 0.000846295899937739 0.000842509886494613 0.000837217962672244 0.000848925679307757 0.000835513872450492 0.000831454945379288 0.000840029202997556 0.000835624859615195 0.000835177453183329 0.000832769993536179 0.000835780645518603 0.000836401550128248 0.000837146230502838 0.00083818471599513 0.000841711660957255 0.00083653452043615 0.000850351747664208 0.000830171145557323 0.00084095096899754 0.000829830214482184 0.00083608055547102 0.000835448907602651 0.000834280815419081 0.000817686215350925 0.000835108852014545 0.000842292638502141 0.000830555894773548 0.000826056326519729 0.00082528873443003 0.000821642316792122

The corresponding 50 values of Resr:

0.335124145868973 0.204927859512344 0.163945313487897 0.140003492863253 0.128107581485545 0.117487411563675 0.116437242621345 0.108938518933624 0.109692034724 0.102147420660695 0.0993886634200611 0.0999086128354539 0.101662509803248 0.0961685764738332 0.0973037403600612 0.0983236919537911 0.0936109060393311 0.0944791082034424 0.0905898227617698 0.0961219044650149 0.0905700422712915 0.0885317706313214 0.0894467490822349 0.0916405452009926 0.0925958350318366 0.09131936244939 0.0904541983733447 0.0874290128275376 0.0886834112379661 0.0896517839438102 0.0907501064583573 0.08801089510065 0.0881884482714376 0.0861012653743624 0.0867313563767254 0.0837038554419654 0.0861519769034792 0.0840921988738965 0.0879113266081298 0.0848539742789097 0.0870181125587466 0.0830238539514511 0.0874132280371628 0.086982357620109 0.0851847272679269 0.0869025695363534 0.0880352702821728 0.0862158694613556 0.0841950998259399 0.0829786568113079

I did the ascii art earlier, was really simple, but takesa lot of timeto draw. do you need again?

Reply to
RobertMacy

380

0.140003492863253

0.0983236919537911
0.09131936244939
0.0881884482714376
0.0869025695363534
0.0829786568113079

Thanks for the data, but the circuit was not found in this thread. AAcircuit could make drawing the test circuit much easier.

?-)

Reply to
josephkk

If you have LTspice... but the values aren't right, the right values are in another 'offline' PC, this is a 'sketch' of the connections used.

Version 4 SHEET 1 27404 680 WIRE -128 -272 -208 -272 WIRE 0 -272 -48 -272 WIRE 352 -272 0 -272 WIRE -208 -240 -208 -272 WIRE 0 -240 0 -272 WIRE -208 -128 -208 -160 WIRE 0 -128 0 -176 WIRE -80 -16 -192 -16 WIRE 352 -16 352 -272 WIRE 352 -16 -80 -16 WIRE 448 -16 352 -16 WIRE 512 -16 448 -16 WIRE 624 -16 592 -16 WIRE 704 -16 624 -16 WIRE 1008 -16 704 -16 WIRE -192 0 -192 -16 WIRE -80 0 -80 -16 WIRE 1008 32 1008 -16 WIRE -192 112 -192 80 WIRE -80 112 -80 64 WIRE 1008 128 1008 112 WIRE -80 224 -192 224 WIRE 704 224 704 -16 WIRE 704 224 -80 224 WIRE -192 240 -192 224 WIRE -80 240 -80 224 WIRE 1008 240 1008 192 WIRE -192 352 -192 320 WIRE -80 352 -80 304 FLAG -208 -128 0 FLAG 0 -128 0 FLAG -192 112 0 FLAG -80 112 0 FLAG -192 352 0 FLAG -80 352 0 FLAG 1008 240 0 FLAG 448 -16 1 FLAG 624 -16 2 SYMBOL voltage -208 -256 R0 WINDOW 123 24 124 Left 2 WINDOW 39 0 0 Left 2 SYMATTR InstName Vs SYMATTR Value "" SYMATTR Value2 AC 1 SYMBOL res -144 -256 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName Rs SYMATTR Value 560 SYMBOL cap -16 -240 R0 SYMATTR InstName Ccable SYMATTR Value 100pF SYMBOL cap 992 128 R0 SYMATTR InstName C SYMATTR Value {Ctest} SYMBOL cap -96 0 R0 SYMATTR InstName C1

SYMBOL cap -96 240 R0 SYMATTR InstName C2

SYMBOL res -208 -16 R0 SYMATTR InstName R1 SYMATTR Value 10k SYMBOL res -208 224 R0 SYMATTR InstName R2 SYMATTR Value 10k SYMBOL res 496 0 R270 WINDOW 0 32 56 VTop 2 WINDOW 3 0 56 VBottom 2 SYMATTR InstName Rsense SYMATTR Value 1k SYMBOL res 992 16 R0 SYMATTR InstName R SYMATTR Value {Resr} TEXT 784 296 Left 2 !.param Ctest=1uF Resr=0.03 TEXT -160 -48 Left 2 ;Ch 1 TEXT -160 184 Left 2 ;Ch 2 TEXT 1840 296 Left 2 ;right edge TEXT 256 280 Left 2 !.ac dec 500 200 100kHz

Reply to
RobertMacy

Regarding the sanity check of the measurement, try to measure a standard SMD 0805 1k resistor. If your equipment is good, it should be flat way beyond 10MHz

Cheers

Klaus

Reply to
Klaus Kragelund

C*ESR is constant in your data. Is data correct?

y = -1E-05ln(x) + 0.0009

Reply to
Anthony Stewart

Wow! genius! Thanks for posting that!

This is an electrolytic cap, old can style. Perhaps, Resr is a function of C?

The fact that you discovered THAT relationship carries me back to asking my original question, "Is this correct?" In other words, my finding so much frequency relationship and now you finding a tight relationship between C and Resr make me not trust whatever I was doing here. I may be plotting error, more than values.

Any ideas as to source of error? Where to look? Could just be 'magnitude' of error. The impedance of Resr is too small in comparison to the Rmon of

220 ohms to be able to 'see' it very well. I hate to go back and stick in 'error bounds' to qualify any result. But one should ALWAYS do that.

hmmm. C*Resr a constant...what would cause that type of result?

TEST SETUP: the 220 ohm resistor is a 1/4 axial lead 1% carbon film. From previous postings, you should have the schematic and steps for how I measure the C and Resr.

either the results are correct and very interesting, or I made a big mistake somewhere and the results are totally wrong, which?

sanity check: 0.1 compared to 220 is 500 ppm. perhpas the attempted measurement for Resr is indeed buried in the noise. BUT! the impedance of C at 20Hz is around 8 ohms, which is 8/220, 4% magnitude however with reactive components that's more like 660 ppm since it's in quadrature...perhaps the sense resistor is just too large. maybe I should go for 10 ohm instead.

It amazes me that this simple task is turning into such a quagmire. All because the results are tantalizingly close to the expected values. 880uF and 0.1 ohm.

Reply to
RobertMacy

Didn't know how to apply this equation but you made me try another where you said C*Resr was a straight line: Xc*Resr is a straight line, very smal 'curvature' in it.

2*pi()*f.*C.*Resr appears to be a straight line =.0083*f/20+0.029; 2*pi()*f*C*Resr=.0083*f/20+.029; Resr=.029/(2*pi()*f*C)+.0083/20/(2*pi()*C) = (.029/f+.0083/20)/(2*pi()*C) = (.029/f+.000415)/(2*pi()*C) = (.029/(2*pi()*f) + 66.05e-6)/C within 2 to 3% error of Resr, not bad when you consider how small Resr is compared to everything else going on.
Reply to
RobertMacy

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.