Capacitor charging curve

I am planing to put together PIC project to measure SMD caps. I am not sure if the answer will help me for this project and how I started wondering about it but it has been bugging me for a while ( if I was hoping to discharge through a transistor leaving .7V on it ? during repeating measurements. or was it discharging to some voltage so it coincides with the voltage reference point. )

Is the curve same even if the bottom is not 0V? So from (.7V - 4.95V) * 63% for 1t.

and not to waste message numbers....

Where does the curve come from? Is it measured or calculated.

Cheers

Reply to
Sambo
Loading thread data ...

If you discharge it using a bipolar transistor, then it will discharge to less than 0.7V (the collector can get pulled down to a voltage lower than the base voltage which seems a bit weird, but is true). The actual final voltage will be not very well defined with a bipolar transistor. A small NMOS fet (or an open-drain CMOS gate like 74HC07 or even a port pin of the PIC) might be better for getting it to discharge to a known value (0V). Bear in mind the on-resistance of the transistor, this may affect the R-C time constant.

By the way, I have been measuring surface mount capacitors with this circuit:

formatting link
I quite like it, though it could do with a low-battery warning, and it cannot measure inductors as small as I would like. The one I built was mechanically quite different from the one on that web page because I was interested in small valued inductors and capacitors. I built the oscillator part in a separate small box with its own output signal buffer and its own power regulator, and a SMA connector for the device under test, which I have fitted a probe to for measuring surface mount capacitors. It drifts a bit with temperature (0.5pF or so), but is quite useful for sorting surface mount caps that get mixed up on the bench.

Chris

Reply to
Chris Jones

Great !! maybe I will put my faith in an oscillator , if it will allow measuring coils too.

Thank You.

Reply to
Sambo

Calculated.

For an ideal capacitor, i=C.dv/dt.

If it discharges through a fixed resistance R, i=v/R, therefore v/R=C.dv/dt => v=RC.dv/dt

A differential equation of the form x=k.dx/dt has the solution x=x0.e(-t/k), so the discharge curve is:

v(t)=v0.e^(-t/RC)

where v0 is the voltage at t=0.

At t=RC, v(t)/v0 = 1/e ~= 0.37.

The curve for charging an empty capacitor up to a fixed voltage v0 is just the discharge curve, mirrored vertically, i.e. v(t) = v0.(1-e^(-t/RC)).

At t=RC, v(t)/v0 = 1-(1/e) ~= 0.63.

Similarly, for an ideal inductor, v=L.di/dt. In circuit with a fixed resistance R, v=iR, so iR=L.di/dt => i=(L/R).di/dt, giving:

i(t)=i0.e^(-t/(L/R))

where i0 is the current at t=0.

At t=L/R, i(t)/i0 = 1/e ~= 0.37.

Reply to
Nobody

I tried out the circuit on your webpage and it worked great.But i had to modify it in one regard.I could'nt get the oscillator to work properly with the inductor,so i used a 555 to generate a square wave for the capacitor.A modified 555 ckt works well for the inductor too.It might be possible to measure lower values of inductance with the 555 as the oscillator. but how can the error in the measurement of the inductor and capacitor be calculated(calculated, not measured)?

Reply to
anirudh

It isn't my webpage.

The circuit oscillated for me no problem. In fact I have seldom built any circuit with LM311 comparators that didn't oscillate, even when they were not supposed to!

Ok, though I have never used a 555 for an LC oscillator myself.

One day I might investigate a discrete oscillator with a divide-by-100 prescaler (frequency divider) (to scale the L and C values both down by 10 times, without changing the software).

I think that if it were easy to calculate then it would have been corrected for in the software so it would no longer be an error. That circuit is pretty accurate anyway. It is fine for sorting capacitors which is what I use it for.

Chris

Reply to
Chris Jones

It's the same curve, maybe scaled or offset, depending on circumstances.

This is USENET. There is no such thing as "message numbers".

It simply happens. It was measured, and somebody else came up with e, which just happens to be the base of the natural logs.

As to "why", probably for the same reason that the sky is blue, birds sing, and water flows downhill - that's just the way stuff came out, this bigbang. ;-)

Hope This Helps! Rich

Reply to
Rich Grise

Yes, it does thanks.

Reply to
Sambo

oh yes there is. They are probably different on every server but they are part of the NNTP specification.

If you see an "xref:" header that gives the message number(s) of the message.

that said there is no scarsity - they are a renewable resource :-)

not only that, e^(i*pi/2*i) = 0 ( where i^2 = -1 )

yeah.

Bye. Jasen

Reply to
Jasen Betts

yeah , it was more of an excuse to cram another question in there, but even though they went from 16 bits to ...??? 32? or x? number of digits, fairly regularly ( about a month) in some of the more active groups I get message from netscape saying that there are 5 -10 000 new messages (and do I want to download them, which I am guessing is at the time of the rollover.

cheers.

Reply to
Sambo

Oh , if you follow the following link for the 'LC006d.txt' version:

formatting link

The schematic there is missing the 100K feedback resistor, I noticed that ( perhaps because of this message) but forgot there was a diagram on the original site until finally ended up going back.

The problem I am having is that the 6d and 6d32 versions of the software wont compile.

Make: The target "H:\\Devel\\MicrC-PICS\\16f628\\LC-meter-christi\\lc006d.o" is out of date. Executing: "D:\\Program Files\\Microchip\\MPASM Suite\\MPAsmWin.exe" /q /p16F628A "lc006d.asm" /l"lc006d.lst" /e"lc006d.err" Error[108] H:\\DEVEL\\MICRC-PICS\\16F628\\LC-METER-CHRISTI\\LC006D.ASM 3 : Illegal character ( ) Error[129] H:\\DEVEL\\MICRC-PICS\\16F628\\LC-METER-CHRISTI\\LC006D.ASM 4 : Expected (END) Halting build on first failure as requested. BUILD FAILED: Sun Sep 23 06:45:44 2007

the LC006D32.ASM acctualy doesn't complain about '(' and ecpects 'END' on line 2 (comented out or not)?????

; Test ; for debugging purposes only ;#define Frequency 1 ; insert start_up sequence to test oscillator #define Input_Calib 2 ; insert start_up sequence to display

One of them contains the floating point code but ...

The lc007.txt doesn't compile because I could not find the modified library mentioned somewhere in the text, and including the original FP32.A16 revealed that all(?) functions have been renamed. Cheers.

Reply to
Sambo

lol, so no worry I'll get ambitious trying to convert it to say 2320, so I can add zener tester and never finish.

Reply to
Sambo

sequence to test oscillator

sequence to display

I did not try assembling, I just took the hex file (I think I took lc007a.hex).

Chris

Reply to
Chris Jones

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.