One opamp esr meter - Page 1
Forum section: electronics / projects

author: dannyf
author_rank: Super Contributor
timestamp: April 12, 2014, 02:52:41 pm
content: We have had a few plans floating around trying to measure ESR: some are real ESR meters (I proposed a digitally-implemented ESR meter a while back), and others are just impedance measurements (I proposed one using a 555 timer).I was thinking about recently how I would make it simpler.Design goals:1) the simpler the better;2) the meter could function as a standalone esr meter or an external adapter to an analog meter.

author: dannyf
author_rank: Super Contributor
timestamp: April 12, 2014, 03:42:09 pm
content: I implemented the circuit above on a ne5532, running off 5v rail (@ 60+khz). Most of the component values are the same, maybe the capacitors are 4.7uf for the most part.My DUTs in this case are a 100ohm resistor: the dut is either in the circuit (forming a 200ohm leg, with the 100ohm current limit resistor), or it is shorted out. So we should see that the current readings are cut in half.Here is the meter's reading for either scenario:100ohm: 39.4ua;100ohm x 2: 19.9uaNot bad.

author: dannyf
author_rank: Super Contributor
timestamp: April 12, 2014, 03:48:36 pm
content: My next question is to move it to an analog meter.I have a radioshack analog meter, that looks like the meter below:Mine is a 50ua / 250mv full scale, a resistive reading of 20ohm at the center.For that, I will adjust the resistors to get a full scale current through my meter at 50ua, and use a 20ohm resistor as the current limiting resistor.

author: dannyf
author_rank: Super Contributor
timestamp: April 12, 2014, 04:29:44 pm
content: Component choices: no critical component other than R1 and C4/R7;1) opamp: I tried TL072 and NE5532. NE5532 worked well. TL072 has limited current capability and will need to dial in more attenuation. Other considerations are swing and slew rate.2) power supply: will need to be regulated, or you will need to adjust R12 as the battery runs down. 5v is ok but with limited swings so you have to use a more sensitive meter. For meters with 250ua or higher full scale, you want to go to 9v or 12v. 9v battery is a good power source here;3) D1/D4: I used two bat54s (actually one serially connected BAT54S). Germanium diodes should work, and good old silicon diodes (1n4148) should as well - just watch out for clipping; Higher cut-off voltage on the silicon diodes can be an issue for a slow opamp or low supply voltage;4) R5/R6: for less sensitive meters, you want to use higher value R5/R6. Higher value R5/R6 will require more output swing from U1.R1: this is determined by the resistive scale on your meter (for convenience). My meter has a center reading of 20ohm so I used a 20ohm resistor. R1 and the dc-blocking capacitor (C4)'s ESR (R7) form the center resistance. So it is desirable that R1 is slightly less than the 20ohm value, by the amount of C4's ESR. So if your C4 has a (known) ESR of 3ohm, R1 should take a value of 17ohm.I do not advise the use of a pot here, for reliability concerns.C4/R7: this is the most critical part of the meter. You want the device to have sufficient capacitance, but most importantly, you want it to have low ESR. You can achive that by paralleling multiple capacitors. I have a few TPSDs (200mohm ESR, or 1% off) and I will parallel two of them here; T520s are also good choices here - but they are substantially more expensive;In the event that you don't wish to calibrate the meter with resistors; or you don't mind running the meter off dual rails, C4/R7 can be eliminated and you do not need to worry about it.

author: dannyf
author_rank: Super Contributor
timestamp: April 12, 2014, 04:39:22 pm
content: Output frequencies: the meter runs at 60Khz+; I also ran it at 10khz and 20khz. No difference in readings so I think you don't need to worry too much about the operating frequencies.Oscillator waveform: the oscillator actually exhibits fairly significant distortion, due to the limited swing to ground. You can improve it but not that much can be gained there - I drove the meter with a signal generator and not a zap of difference. I wouldn't waste my time there.Power supply: if you have an isolated power source, dual rail is the way to go; otherwise, for a portable device, I would use a 9v battery and run the meter off a single rail.Attenuation: if you run the meter at 9v or 12v, dial in more attenuation, by increasing R3 to 33k or 47k or more, so the input to U1 is limited to ~100mv - the meter runs fine to about 500mv input to U1.

author: G4ZWI
author_rank: Newbie
timestamp: April 12, 2014, 08:29:32 pm
content: couple of links you may be interested in...http://ludens.cl/Electron/esr/esr.htmlAndhttp://www.members.shaw.ca/swstuff/esrmeter.htmlSome interesting aspects,... (I never considered the test lead socket resistance, for one....)Cheers, Fred

author: dannyf
author_rank: Super Contributor
timestamp: April 17, 2014, 04:07:45 pm
content: A few more pictures.I calibrated my one-opamp esr meter to my radioshack multimeter (50ua, center resistance reading of 20ohm) by using two 10-ohm resistors in serial (they measure to 19.9ohm).First, zeroing the meter.

author: dannyf
author_rank: Super Contributor
timestamp: April 17, 2014, 04:09:28 pm
content: This particular capacitor has an esr reading of less than 1ohm, per the meter.

author: dannyf
author_rank: Super Contributor
timestamp: April 17, 2014, 04:10:57 pm
content: A 15ohm resistor: a shade over 15ohm esr.

author: dannyf
author_rank: Super Contributor
timestamp: April 17, 2014, 04:12:15 pm
content: A 10ohm resistor reads a shade over 10ohm esr.

author: dannyf
author_rank: Super Contributor
timestamp: April 17, 2014, 04:13:56 pm
content: A cap plus the same 15ohm resistor: reads more like 17ohm ESR?

author: at2marty
author_rank: Regular Contributor
timestamp: April 17, 2014, 04:57:51 pm
content: Looks good! I may give that one a try next. I'm currently working on a variation of Jay_Diddy_B's design.

author: Jay_Diddy_B
author_rank: Super Contributor
timestamp: April 17, 2014, 10:28:44 pm
content: Hi Dannyf,I was looking at the oscillator that you are using:I have not seen this configuration before. Without C6, the 22uF capacitor, the circuit will work as a square wave oscillator, with the slew rate being determined by the op-amp. The -ve input will oscillate between 1/3 and 2/3 the supply voltage. The frequency will be much lower than 60 kHz with the components shown (C5, R11).With C6 included, the ESR of C6, the 22 uF capacitor and the 10 K resistors (R8, R9 and R10) are going to determine the hysteresis, and play apart in determining the oscillator frequency.Did I miss something ?Regards,Jay_Diddy_B

author: dannyf
author_rank: Super Contributor
timestamp: November 22, 2014, 03:21:34 pm
content: U2 is the oscillator - runs about 50 - 60Khz now.U1 is the detector / rectifier. R10 is your coil meter - set to 50ua for me (2kohm resistance, 20ohm center resistance reading).C1/R3 is the DUT: R3 is its ESR.R1/R2 form the attenuator, so the output swing of U1 is max 1v.R4 is set to equal the center resistance of your meter. For me, it is 20ohm (actually 22ohm is used as I don't happen to have a 22ohm resistor).C3 is optional - see later.

author: dannyf
author_rank: Super Contributor
timestamp: November 22, 2014, 03:24:30 pm
content: Adjustment procedures:1) once the circuit is done, put in your coil meter, with DUT being shorted.2) Adjust R1 until the reading is full scale (0 ohm reading).3) done! Your meter is operational.Check: put in a resistor whose resistance is the same as R4. Your meter should have its needle in the middle, giving a resistance reading equal to that of R4.In reality, due to C3's ESR, the resistance reading should be slightly less than that of R4's.PS: R7 is optional - it is used to adjust for meter sensitivity, which can be taken care of by R1.

author: dannyf
author_rank: Super Contributor
timestamp: November 22, 2014, 03:28:47 pm
content: As I used 22ohm R4 on a meter with 20ohm center resistance, my readings should be all off a little:20ohm reading = 22ohm true resistance;10ohm reading = 11ohm true resistance;...Here are pictures from a few tests:1) zeroing.Just shy of 0 ohm.

author: dannyf
author_rank: Super Contributor
timestamp: November 22, 2014, 03:32:49 pm
content: 2) 22ohm resistor:We would expect a reading of 20ohm. The actual reading is just shy of 20ohm. Blame initial zeroing + C3's ESR (about 1ohm).

author: dannyf
author_rank: Super Contributor
timestamp: November 22, 2014, 03:33:40 pm
content: 3) 11ohm resistor (=2 22ohm resistor in parallel).We expect a reading of 10ohm. Actual is slightly shy of that.

author: dannyf
author_rank: Super Contributor
timestamp: November 22, 2014, 03:35:04 pm
content: 4) a 22uf capacitor.Reading = 1ohm -> 1.1ohm, if we had the right value for R4.

author: dannyf
author_rank: Super Contributor
timestamp: November 22, 2014, 03:36:32 pm
content: 5) a 9v duracell:~3.5ohm reading -> 4ohm actual.

author: dannyf
author_rank: Super Contributor
timestamp: November 22, 2014, 03:39:23 pm
content: Optionality of C3:C3 is not needed, if you are measuring a passive device without voltage on it - resistors, capacitors, inductors (yes, this meter can be used as an inductance meter).However, if you want to measure batteries' ESR, you need C3.I would suggest that you build your meter with and without C3 (ie. with two terminal outs).

author: dannyf
author_rank: Super Contributor
timestamp: November 22, 2014, 03:45:16 pm
content: The meter is essentially a current measurement instrument: it works by measuring the (rectified) current, knowing that the rectified current is inversely proportional to R3 + ESR, if the oscillator's frequency is sufficiently high.Because of this, an analog multi-meter is ideally suited for this design.If you were to use a digital multi-meter, it works, with the following math:1) short the DUT and measure the current through the dmm (=Izero);2) put in the DUT and measure the current through the dmm (=Idut < Izero);3) ESR = (Izero / Idut - 1) * R4.You would be going through the same math with an analog meter, except that the scale on the analog meter does the math for you.

author: dannyf
author_rank: Super Contributor
timestamp: November 22, 2014, 04:09:06 pm
content: Component selection:1) most parts are non-critical, other than the few listed below.2) opamp - I used ne5532 and tried others. ne5532 was selected for its abundance and reasonably fast speed - the opamp needs to swing at least 1v/us.3) R4: needs to be the center resistance of your meter, to minimize the amount of math needed.4) C5: determines the frequency of the oscillator.5) R1/R2: need to attenuate so that the detector's output swing is around 1v. Too high of a swing will require higher supply voltage or lead to clipping / inaccurate reading. I have found that the output from the oscillator can deviate considerably from simulation so you will need to play with R1/R2's values - it is not impossible that R1 goes to 330k or even 470k, vs. R2 of 1k.6) D3/D4/R11/R12: D3/D4 are schottky diodes (I used bat54s. Germanium diodes work too). R11/R12 can be replaced with schottky diodes too. Silicone diodes can be used if the supply is 9v or more.7) DUT protection: you can put a pair of diodes on DUT in case it is charged. Not drawn here.lower voltage operation: I didn't try this but if you go with a r2r (output only) opamp, you can get the meter to work at 3.3v or more, making it possible to use phone batteries here.9) current consumption is very low, at 4ma.

author: dannyf
author_rank: Super Contributor
timestamp: November 23, 2014, 07:38:34 pm
content: Found two 39ohm resistors. Plus esr of the cap, I Will be reasonably close to the 20ohm center resistance of my meter.

author: dannyf
author_rank: Super Contributor
timestamp: November 23, 2014, 10:11:13 pm
content: Built it with those 39ohm resistors.Measuring the same 22ohm resistor used earlier, after the meter has been calibrated to full scale.Spot on!

author: dannyf
author_rank: Super Contributor
timestamp: November 23, 2014, 10:19:39 pm
content: Lessons learned:1) R11 / R12 are best to be resistors (vs. diodes): using diodes will make the meter very efficient, so efficient in fact that you have to use more attenuation and by-passing (lower value R7). Resistors in R11/R12 allow far easier time zeroing full scale reading - the adjustment is smooth.2) R1 being a multi-turn pot: how much attenuation depends on supply voltage and opamps used: the higher supply rails, or the more R2R swing opamps, the more attenuation you will need. So don't put R1 during the build. After the circuit is built, put in a high value R1 (470k or so) and work your way down, before finalizing its value. I ended up needing more than 200x attenuation at 5v.

author: dannyf
author_rank: Super Contributor
timestamp: November 24, 2014, 12:50:40 am
content: I ran the resistor version of the design with 1n4148s: it works well.

author: free_electron
author_rank: Super Contributor
timestamp: November 24, 2014, 01:27:43 am
content: title says : one opamp... i count two ...

author: dannyf
author_rank: Super Contributor
timestamp: November 25, 2014, 01:06:42 am
content: Quote from: G4ZWI on April 12, 2014, 08:29:32 pmThat one is quite interesting. It uses a simiiar looking oscillator, at a much lower frequency. A transformer to attenuate the signal and lower its output impedance. I used an opamp to do that.The scales are slightly different.

author: dannyf
author_rank: Super Contributor
timestamp: November 25, 2014, 01:35:14 am
content: If I were to put the DUT on the non-inverting end, I would get (near) linear scale for the read-out.I will explore that more later.

author: dannyf
author_rank: Super Contributor
timestamp: November 25, 2014, 04:50:58 pm
content: A real precision rectifier, like yours, would greatly improve linearity of the readings. And you can do it via a quad now,To achieve 1v/1ohm reading is trivial. To get to 10v/10ohm, you will need to increase the supply voltage as well.

author: dannyf
author_rank: Super Contributor
timestamp: November 25, 2014, 10:59:17 pm
content: QuoteYeah. The gain (50ua/20ohm) was determined in part by the use of the 20ohm resistor and attenuation (R1). 20ohm was selected due to the resistance scale of my meter.

author: dannyf
author_rank: Super Contributor
timestamp: November 26, 2014, 10:51:34 pm
content: The current going through the ammeter is dependent on the supply voltage.As such, when I built the first copy, I decided to put a voltage regulator, gauged to run on my meter.After a while, I thought there may be reasons to not use a voltage regulator and actually power the meter from different voltage sources as a way to use different ammeters - those with less sensitive scales can be used at higher supply voltage, and vice versa.So, how does the meter behave under different supply voltage?Here is the meter running on 5v (5.1v actually) measuring a 1ohm resistor (in parallel with other larger resistors).Current when the dut is shorted: 90.9uaCurrent when the dut is in: 86.2ua.So the resistance is estimated to be (90.9ua / 86.2ua - 1) * (39//39ohm)=1.06ohm.

author: dannyf
author_rank: Super Contributor
timestamp: November 26, 2014, 10:54:28 pm
content: Here is the same meter, running at 12v:Current with the dut shorted out: 406ua;Current with the dut in: 385ua.Resistance estimation: (406/385-1)*(39//39) = 1.06ohm,

author: dannyf
author_rank: Super Contributor
timestamp: November 26, 2014, 10:56:24 pm
content: The excitation voltage on the dut depends on the attenuation and in my case, the attenuation is about 200:1 and the output signal from the oscillator is just shy of 3vpp. So I am looking at 15mvpp on the dut.That means you can safely utilized the meter for in-circuit measurement.

author: dannyf
author_rank: Super Contributor
timestamp: November 26, 2014, 11:05:15 pm
content: QuoteThis approach has some severe limitations, as I found out.As the attenuation goes up with a low ESR part, the gain on the amplifier has to go up significantly to overcome the non-linear region of the diodes. For a reasonably fast part like ne5532, 30x is about its practical top end. That means the input signal to the opamp needs to be 3mv or so if schottky diodes are used in the feedbck loop.With 3vpp output of the oscillator, and 110ohm on the input of the attenuator, the minimum this approach can reasonably measure is 0.1ohm - I found out that anything shy of 0.5ohm will be over-estimated by the meter.It can be solved via 1) the use of a fast opamp in the precision rectifier; or 2) additional gain stage(s).I think a better approach is to go with a passive rectifier (as shown earlier), if you want voltage read-out.I also experimented with using an instrumentation amplifier to read out the differential voltage from the rectifiers but that has the same issue with attenuation. More complexity but minimum gain.

author: 3roomlab
author_rank: Frequent Contributor
timestamp: November 27, 2014, 09:34:19 am
content: hmmm i guess its better off measuring AC instead of rectifying then.

author: dannyf
author_rank: Super Contributor
timestamp: November 27, 2014, 01:28:27 pm
content: Millivolt meters may not have the frequency response needed here -> at least through 50k. And many of the RF types that go above that simply uses diodes to rectify the input signal and then amplify it later -> it has non-linearity at the lower end as well.

author: dannyf
author_rank: Super Contributor
timestamp: November 27, 2014, 06:46:34 pm
content: Another option is to use a mcu to adc the voltage differentially, convert the voltage reading into ohm and then drive an analog meter, led display or lcd display.

author: dannyf
author_rank: Super Contributor
timestamp: November 29, 2014, 07:18:52 pm
content: One of the advantages of living in a poor country is the abundance of cheap equipment.Here is a meter that I got for a song, with a center resistance reading of 10ohm.Zeroing to full scale (voltage) reading now -> zero ohm.

author: dannyf
author_rank: Super Contributor
timestamp: November 29, 2014, 07:22:37 pm
content: Here is the meter reading a 1ohm resistor.It looks spot on only because of the viewing angle -> in reality, it reads slightly bigger than 1ohm, more like 1.1-1.2ohm.

author: dannyf
author_rank: Super Contributor
timestamp: November 29, 2014, 08:19:52 pm
content: To read lower ESR values, it helps with a meter whose center resistance reading is lower.Here is a toy multimeter, with a 5ohm+ center resistance.The picture on the left is where the meter is being zero'd. The picture on the right is where the meter is measuring a 1ohm resistor.

author: dannyf
author_rank: Super Contributor
timestamp: December 02, 2014, 10:49:34 pm
content: I talked about earlier how this meter can be used to measure inductance.Here it is, measuring a 47uh (norminal) inductor (JW Miller 2309).The reading is just shy of 25ohm. As my oscillator runs at 64.5Khz, a 25ohm reading translates into an inductance of 62uh - if you consider the fact that the inductor's impedance is orthogonal to the 5ohm center resistance, the number works out to be 60uh but 62uh is good enough for us.

author: dannyf
author_rank: Super Contributor
timestamp: December 02, 2014, 10:51:55 pm
content: If you run the oscillator at 16Khz (15.9Khz to be exact), a 10uh inductor will read 1ohm. So you can simply multiply the resistance reading by x10 to obtain your inductance reading. Most opamps, even the lowly 741, can run at this kind of frequencies.If you run the oscillator at 159Khz, a 1uh inductor will read 1ohm. Unfortunately, you will need a really fast opamp to do that. NE5532s that I used here are not sufficient here.

author: 3roomlab
author_rank: Frequent Contributor
timestamp: December 04, 2014, 12:39:57 pm
content: hmmm interesting. maybe i should try n grab a cheapo china meter

author: dannyf
author_rank: Super Contributor
timestamp: December 04, 2014, 02:07:06 pm
content: I'm working on a version that will provide a linear reading on dmm, either current or voltage.

author: dannyf
author_rank: Super Contributor
timestamp: December 06, 2014, 03:49:05 pm
content: Measuring 5ohm (10//10ohm resistors):This is the calibration point.

author: dannyf
author_rank: Super Contributor
timestamp: December 06, 2014, 03:50:42 pm
content: Measuring a 10ohm resistor:We should get around 1.00v reading, vs. 0.983 actual.

author: dannyf
author_rank: Super Contributor
timestamp: December 06, 2014, 03:53:25 pm
content: Measuring a 4.7uf cap:I think it was measured to be about 1ohm ESR. The meter has a residual reading of 25mv (ESR from C1). So the actual reading of 134mv (=1.34ohm) should mean 1.34-0.25=1.1ohm, had I zero'd the reading.

author: dannyf
author_rank: Super Contributor
timestamp: December 06, 2014, 03:55:33 pm
content: Measuring a 22uf cap:A reading of 157mv means 1.57ohm - 0.25ohm = 1.3ohm ESR.

author: dannyf
author_rank: Super Contributor
timestamp: December 06, 2014, 03:57:25 pm
content: Measuring a 0.1ohm resistor:A reading of 35mv means 0.35ohm - 0.25ohm = 0.1ohm.

author: dannyf
author_rank: Super Contributor
timestamp: December 06, 2014, 04:02:53 pm
content: Having built the two ESR meters, I can think of the following pros / cons:1) analog read-out:pros: no calibration required. Simple and intuitive read-out. The non-linear read-out is desirable as it provides more resolution at low ESR ranges. It is a full-range meter;cons: you need an analog meter with resistance range; and you are limited by the center resistance of your meter - generally not a problem.2) digital read-out:pros: can be used with digital multimeter; easy to see readings; "appearance" of precision;cons: limited upper range; needs calibration.edit1: the digital meter is slightly more current hangury: 10ma vs. 8ma for the analog esr meter.edit2: the digital meter, in order to obtain more accurate reading at the lower end, need to use very fast opamp in the precision rectifier vs, the analog meter. NE5532 (the opamp I used here) has a practical lower end of 0.1ohm. LM358 / TL0xx would not work for this design.With smd parts, something like this can be easily built into an el-cheapo DMM (830 for example); Alternatively, an adapter can be made, with either analog or digital meters.

author: dannyf
author_rank: Super Contributor
timestamp: December 06, 2014, 04:45:16 pm
content: I did both zero scale and full scale calibration.Here is the meeter measuring 5ohm (10ohm // 10ohm) on the left (calibration point) and then measuring 10ohm on the right.We have a reading of 5.10ohm on the left and we should have a reading of 10.20ohm on the right, vs. 10.18ohm actual.Practically spot on.

author: dannyf
author_rank: Super Contributor
timestamp: March 01, 2015, 02:47:01 pm
content: Did a simulation: ESR measurement error is within 1-2% for ESR from 0.1ohm through 2ohm. 10% at 5ohm and 29% at 10ohm -> the later could be due to errors in measuring the current. At those levels of ESR, a little bit change in current corresponds to a lot of changes in ESR.