After using the analog ESR meter I built, I soon discovered I needed a meter with just a bit more resolution to read the low ESR cap values (less than 1 ohm). Sure the analog meter worked flawlessly for troubleshooting BAD caps, but when testing caps for use in low ESR SMPS circuits, it left a lot to be desired.
So I set out to find a micro controller circuit driving an LCD and what I was able to find was either incomplete or way to complicated. So I decided to take Manfred Morninweg’s design that I modded for the analog meter and somehow use it with an Arduino.
This is part 1 of the Arduino ESR Shield I designed.
Part 2 can be seen here. Part 3 can be seen here. Part 4 can be seen here.
In this video I go over the background of the design, I then demo the operation and functions of the meter and go over future video segments I am doing to explain how it works and how to make one yourself.
Watch in HD!
Awesome work on this. I have to agree with Marco though, just a link to a parts list, schematic and code would be most helpful to people interested in your project. Some of us just want to put this on a breadboard or protoboard to try out and don’t want to etch a board right off. I understand your point about using “parts you have on hand”, but many of us who are interested don’t just have/keep too much extra stuff laying around and buy components on an as-needed basis. Also you have to remember not all of us can just fly by the seat of our pants when designing a circuit unlike yourself. Sure a great cook can whip up a recipe by memory and with what’s available – but other aspiring bakers just want a recipe to follow 🙂
I was wondering where you got your transformer for you final (shield) design. I tried to build Manfred’s ESR meter a long time ago and found that the transformer was the most difficult part of the build (finding the copper wire, the transformer core and getting the windings right).
Based on you final build, it looks like you used a commercially available transformer. Even though I have looked at the RadioShack audio transformer (273-1380), it doesn’t look like the one in your picture.
Thanks for all the good info., I think your approach and the detailed information is very helpful to all of us
Findnig this post solves a problem for me. Thanks!
Question: I was putting together a parts list and I noticed that the transformer you spec’d costs around $15. Is there a cheaper alternative? What capabilities does the transformer need to have?
Thanks
Greg
I’m not sure I actually spec’d one unless you are talking about the radio shack audio transformer and I only paid couple of bucks for it.
Anyway it is easy to make one. Check this http://www.discoveringelectronics.com/diy-transformer-for-arduino-uno-esr-shield-project/
Hi Dennis, you seem to know what your talking about when it comes to measuring ESR, My question is what modifications would I need to make to your design to measure down to 1 milliohm, for my college project I am to investigate how to measure very low ESR values on a charged electrolytic capacitors, I have seen this circuit by Lawrence P. Glaister at http://members.shaw.ca/swstuff/esrmeter.html who has a nice circuit with isolation and input protection. Any thoughts would be gratefully appreciated.
Hi John,
Thanks for the kind words. Actually the milliohm resolution is there. I simply chose to truncate it at the second decimal place.
Below is a snippet from the main loop of the program.
===============================================
// Call the esrCalc function to calculate the resistance from the mean ADC value.
ohms = esrCalc(adcVal);
// We can now display the results
lcd.setCursor(0,0); // Reset the cursor to the 1st column on the first line.
lcd.print(“ESR “); // Print identifier with spaces to clear previous values.
lcd.setCursor(4,0); // Then reset cursor to column 5, line 1, for the value.
if (adcVal > noiseFloor) // If the ADC mean value is greater than the noise floor
{ // we will print the resistance value.
lcd.print(ohms,2); // Print the resistance value with 2 decimal place precision.
lcd.print((char) 0xF4); // Print the Omega character that is stored in the LCD ROM.
}
else lcd.print(“OL”); // If we are below the noise floor of the ADC print the
// Open Loop (OL) abbr.
==============================================
The line below is where the value is displayed with 2 decimals.
lcd.print(ohms,2); // Print the resistance value with 2 decimal place precision.
Simply change it to: lcd.print(ohms,3);
This will show the 3rd decimal place on the display.
As far as measuring a charged cap; both connections to the OPAMP are decoupled with a 10uF cap and there should be somewhere around a 20 ohm DC resistance between the test leads to dissipate the stored charge. Although not ideal, it should work as long as you don’t try it with a 600 volt cap 😉 This is a low voltage circuit design, and R5 and R11 are the weakest links in the ground path.
Hope this helps,
Dennis
Thank you for your great job. To build this based on your instructions i watched the files and videos. There are some differences in PCB labels, schematics and video explanation for some parts. Different OPs, resistor values. To avoid confusion a correct part list of the project would be really helpful.
Thanks and Best regards
Hi Marco and thanks for the kind words.
I didn’t include a Bill Of Materials (BOM) with the project because it is easy to generate the list from inside Eagle CAD.
With the ESR Rev1.sch file loaded in EagleCad;
Simply click on the FILE menu and select Run ULP….
Then select the BOM.ulp file from the window that opens and a parts list is automatically generated.
I didn’t include a BOM as I anticipated people would want to tweak the board and components to fit there need and parts they have on hand.
I didn’t realize there are discrepancies on the schematic vs the build I did. Well other than the OPAMP and transformer I used. I can verify that the TL062 does work and the transformer is easily made. I am going to post the instructions on creating the transformer using a small toroid. Francisco T. came up with the idea and it works wonderfully! I will post the instructions shortly.
So if there are other components I mislabeled I would like to know so they can be corrected.
Other than that have fun and don’t be afraid to make your own changes!
Dennis
Felt so hopeless looking for answers to my quo.itens.s.until now.