$20 LCR ESR Transistor checker project - Page 1
Forum section: electronics / testgear

author: torch
author_rank: Frequent Contributor
timestamp: February 23, 2013, 05:25:45 pm
content: A few weeks ago I stumbled over this fellow on fleabay:.What the heck, for $20 it looked like it could be fun, especially for a dilettante like me with a drawer full of oddball small signal mystery transistors. I put it in a project box, added some leads and a switch and hooked up a 9v battery. Operation is simple: connect the component (leads in any order), push test. It tells you what it is and the value:A 1% resistor:A capacitor (this one must have real low ESR -- usually there's a value in ohms):A transistor (note that it tells you if it's PNP or NPN and which lead is connected to what, gain and forward voltage):How about an inductive load?FAIL! That's an IGBT, not a capacitor. (To be fair, it's rated 600v/40amps):Partial Fail. This is a power transistor, not a pair of diodes. Oh well, at least I can figure out from that if it's PNP or NPN:FAIL again -- Ooops, no it's not. My mistake. That really IS a diode that got mixed in with the SCRs -- look at the number:Ok, here's a real SCR (GAC indicates which lead connected to the Gate, Anode and Cathode, respectively):But an LM317 threw it for a loop:The documentation is non-existent. I accidentally discovered a self-test/calibration mode by connecting all 3 leads to each other and pushing the button. On-screen directions kind of guide you through each numbered step if you scratch your head long enough deciphering them. A 100nF capacitor is required at one point (step 4, IIRC).Anyway, a cute little gizmo, certainly worth the $20 and it seems reasonably accurate within the scope of it's limitations.

author: Lightages
author_rank: Unknown
timestamp: February 23, 2013, 05:34:17 pm
content: Could you give a few more capacitors a try to see if it actually can measure ESR. What is the test voltage for capacitors?

author: Analogtech
author_rank: Contributor
timestamp: February 23, 2013, 06:17:31 pm
content: I remember seeing the exact same thing on eirik Taylors blog on 4hv. It had pretty good documentation and test results on it so you might want to go check that out

author: Lightages
author_rank: Unknown
timestamp: February 23, 2013, 06:43:10 pm
content: I looked for the review or blog and got nowhere. A link please?

author: Analogtech
author_rank: Contributor
timestamp: February 23, 2013, 07:09:33 pm
content: http://uzzors2k.4hv.org/index.php?page=lcfmeterthat's the link to the blog

author: fmaimon
author_rank: Unknown
timestamp: February 23, 2013, 07:45:24 pm
content: http://www.mikrocontroller.net/articles/AVR_Transistortester

author: torch
author_rank: Frequent Contributor
timestamp: February 23, 2013, 08:06:47 pm
content: Quote from: Lightages on February 23, 2013, 05:34:17 pmWhat, don't believe me?<lol>I am not sure what the test voltage is for capacitors, I looked at the test sequence on a scope and it sends out a lot of little pulses on the leads, and which does what is beyond my ken. However, the highest voltage seems to be about 3.5v or thereabouts near the end of the sequence with a capacitor attached.And actually, your question is a fair one because there seems to be a cut-off between 1uf and 2uf below which it does not attempt to measure ESR. Here are some photos as proof:Here's a 10uf capacitor:and here's a 1% 1 ohm resistor:Here they are in series:I didn't have a 1uf capacitor, so here's two 2.2 in series. No ESR value shown:But a 2.2uf alone is measured for ESR:A 1000uf can has a really low ESR:And here's a few random used cardboard electrolytics, for fun:I had a quick look at that blog link. It may have been the genesis of this one, but it's certainly not the same thing.

author: torch
author_rank: Frequent Contributor
timestamp: February 23, 2013, 08:16:34 pm
content: Ok, the first link may not be the same thing, but the second one sure sounds like it. I think. It's in German, but here's google's translation effort:http://translate.google.ca/translate?sl=auto&tl=en&js=n&prev=_t&hl=en&ie=UTF-8&eotf=1&u=http%3A%2F%2Fwww.mikrocontroller.net%2Farticles%2FAVR-Transistortester

author: amspire
author_rank: Super Contributor
timestamp: February 24, 2013, 01:30:47 am
content: I got one of these too - they are a lot of fun. The component values are usually within 1%. Does a pretty good job correctly identifying transistors, diodes, etc.I did try a tough test - a RCA 2N3669 thyristor and it identifier it as a 33 ohm resistor. This is not surprising as there is a built in 33 ohm resistor from gate to cathode. It found the resistor and didn't look any further I guess.Not sure how good it is as an ERS meter. I am not going to do any proper tests now. If I short two inputs together, I get 0.2 ohms and there is nothing to cancel this out. The best accuracy you could expect is 0.1 ohms even though the software calculates ESR to 2 places.If I get to fiddle with the software, a feature to force it to test in one mode (resistance, capacitance, inductance, etc) could be good. As a single button tester, it is not bad at all.

author: torch
author_rank: Frequent Contributor
timestamp: February 24, 2013, 02:39:47 am
content: Quote from: amspire on February 24, 2013, 01:30:47 amIf you short all 3 it will go into the self-calibration mode and then it will read 0 ohms when you short 2 leads together. Just make sure you have a 100nF capacitor handy and follow the prompts or it will eventually read 33pF when you short 1 and 3. Don't Ask Me How I Know This(tm).I went through that damn routine more than once before I figured it out.

author: amspire
author_rank: Super Contributor
timestamp: February 24, 2013, 03:18:43 am
content: Quote from: torch on February 24, 2013, 02:39:47 amWow - I just did it (including the 0.1uF 0.5% cap) and it does do the self-calibration test. Who needs metrology labs?After calibration, a short went down to 0.1 ohms, but to be fair, the wires I was using to short the pins for the calibration were not the best.Looks like they use a 2V zener in series with 2k2 from a 5V regulator. That will not be very stable. I think the original circuit used a LT reference IC instead. I wonder how it calibrates its voltage reference?Update: After the calibration, I now get 35P between pins 2 and 3 with nothing connected. I better read up on the calibration.

author: ecat
author_rank: Frequent Contributor
timestamp: February 24, 2013, 03:20:47 am
content: Quote from: torch on February 23, 2013, 08:16:34 pmThat is the original by Markus Frejek.This is the modified version courtesy of Karl-Heinz Kübbeler...http://translate.google.com/translate?hl=en&sl=de&u=http://www.mikrocontroller.net/articles/AVR_Transistortester&prev=/search%3Fq%3Dtransistortester.tar.gz%26hl%3Den%26safe%3Doff%26client%3Dfirefox-a%26hs%3DILT%26rls%3Dorg.mozilla:en-GB:official&sa=X&ei=PYQpUbfWMenD0QWrn4GQCg&ved=0CFMQ7gEwBA... see Download for a link to the full source + comprehensive documentation.I built one last week, the fun part was persuading an Arduino to do the job of an AVR programmer

author: amspire
author_rank: Super Contributor
timestamp: February 24, 2013, 03:55:40 am
content: Here is the most recent PDF for the tester, including information about the chinese clones. I have to say it is a really great manual.You are meant to replace the zener with a decent reference.In the self calibration, the shorted inputs should be removed during test 4. When this is done, the tester works properly again.The V2.2 board I got has aJTAG10 pin ISP port and a ATMEGA168 (with the part number rubbed off) and apparently it works fine if updated to the latest software. Mine came with software version 105k. Karl Heinz's's latest version is 106k. I will give it a go sometime.There are some additions that can be done. One is a circuit to generate up to 30VDC for measuring zener breakdown voltage.

author: ecat
author_rank: Frequent Contributor
timestamp: February 24, 2013, 05:50:17 am
content: Just tested the accuracy of my home made version.A 0.01% 5k resistor reads 5066, so about 1.3% which is good enough for a quick test. I matched the 680r and 470k resistors to the third digit, maybe better matching would help.Still, a nice little project if you have a way to program up a Mega328. I've attached the Eagle 6.3.0 files for my single sided diy version of Karl-Heinz Kubbeler V1.06k if anyone is interested. I do not claim any competence with schematics or board layout so use at your own riskBoard Notes:The two jumper wires are optional.You probably don't need the 5V jumper wire to the program header. Even if you program the 328 in circuit just make sure the board is powered by keeping SW1 closed. You should always try to avoid supplying power to a circuit from both the board and your programming device, this is not be a good thing as you should never let the beams cross.The Reset jumper wire is needed if you program in circuit. If you program the 328 out of circuit you can ignore this jumper and the 6 pin header.

author: torch
author_rank: Frequent Contributor
timestamp: February 24, 2013, 12:44:43 pm
content: Quote from: amspire on February 24, 2013, 03:55:40 amThat PDF you found is great! I have only skimmed it thus far, but it does cover a lot of territory. I too have the "2.2" version, and I note that he describes a potential problem with zeroing the resistance test if the 2.2 is updated to the latest software (1.06):QuoteI also found the explanation of why I had an ESR of "0?" in that first capacitor:QuoteI won't quote the entire section on how the ESR is done. However, the doc confirms that the device will only determine ESR for caps over 2uF. I suspect this is because the frequency is only 680Hz instead of the more traditional 100MHz. Apparently it repeats the test 128 times and sums the values to derive the final answer, but he cautions that the ESR test is not to be considered accurate compared to a dedicated ESR meter.It is interesting to note the effort that has gone into adjusting the capacitance measurement accuracy. Again, I was just skimming, but he seems to have done some extensive testing of the raw capabilities compared to an LCR meter and a multimeter, (looks like the native ATmega results fell between the two) then formulated some correction factors to bring the results closer in line to the LCR results.A lot of thought and effort went into this little thing -- on his part, anyway. The Chinese just copied and mass produced.

author: amspire
author_rank: Super Contributor
timestamp: February 24, 2013, 01:29:06 pm
content: This transistor tester is a masterclass in making use of the internal hardware of an atmega. The internal analog switch resistances are measured, the internal comparitor offset is measured. The hardware is used in many different modes to achieve a result. Brilliant. It is all much more sophisticated then I was expecting.By using 3 ports per test pin each along with two precision resistors, the effective total of test hardware per pin is 9 resistors, 3 three position single pole switches (to GND, VCC and open circuit), three comparitors and one ADC. The ADC is switched between different referencesThe thing you realize is that the quality of the hardware embedded in the atmega IC is very good.When you do the self calibrate, it outputs the calibration factors that also indicate something about the hardware.For example test 7 checks the ratios of the 470K and 680 ohm resistors to the expected. They were meant to be 0.1% resistors, so the match should be good. In my tester, the errors were 1 mv for each of the three resistor pairs. It does look like the Chinese did actually use 0.1% SMD resistors. I know my 680 ohm resistors match within 0.1%, but I cannot measure the 470K resistors accurately in circuit.I think they would love to build this with a chip with a better A/D, but a 5V chip is required - the lower voltage chips don't work as well for semiconductor testing.I love it when someone wrings every bit of performance out of a piece of hardware, and that is exactly what is done in this transistor tester project. They admit somethings are not optimal yet, and there are some errors they cannot yet explain, but they are continually improving the design.A very good project.

author: A Hellene
author_rank: Frequent Contributor
timestamp: February 24, 2013, 01:38:10 pm
content: Well, yes, this little tester is a fine project with lots of effort put into it!This is the current discussion thread of this project in German, with a vivid presence of the author of that port of the project, Karl-Heinz Kübbeler:http://www.mikrocontroller.net/topic/248078#2950824Unfortunately,http://translate.google.com/cannot handle such long threads but it is more than sufficient to translate individual posts.This is also the project's source code archive:http://www.mikrocontroller.net/svnbrowser/transistortester/If I manage to find some time to spare I will rewrite this project in assembly, in order to speed things up a little bit by avoiding the C compiler bloating. If I am not mistaken, the current version of the code (v1.06k) does not take into consideration the hardware ADC offset by initially measuring it and subtracting it from every ADC result; this would certainly improve the overall tester accuracy.-George

author: amspire
author_rank: Super Contributor
timestamp: February 24, 2013, 02:12:59 pm
content: Quote from: A Hellene on February 24, 2013, 01:38:10 pmYou have obviously got further then me. I have only spent a couple of hours with the manual. I particularly want to work through some of the measurements like the ESR in detail.I would have though that the calibration factors that they measure and store would cancel out the ADC offsets. I cannot see any reason to correct every ADC result, when you can correct once at the end instead. I am definitely not discounting your point - I haven't looked at the calculations to see what effect errors at the start would have on the final result. It could be better to correct every reading.I just looked at the data sheet and it looks like the total error in the ADC, including offset and non-linearity is about 0.2% with a 200KHz clock rising to about 0.5% with a 1MHz clock.A complete correction of the ADC linearity and errors using our PWM voltage source would be interesting. That would need some great assembler coding for speed. It would probably at best double the accuracy but the hardware cost would be a few caps, resistors and another test connection to output the PWM. And time.Richard.

author: A Hellene
author_rank: Frequent Contributor
timestamp: February 24, 2013, 02:34:53 pm
content: Ah no, Richard, I have not really studied the project in that depth of detail! I've just had a quick look at its source code and I noticed that omission.Now, on the self canceling out of the ADC errors, yes, theoretically it would work; but I cannot see any reason why not to subtract from the ADC results any measured possible offset, which varies from -2 .. +2 LSB according to the data sheets. Especially, when those possible errors accumulate by oversampling. Of course, summing readings that are taken both ways (positive and negative) would cancel out those unwanted accumulated quantities. My point is that it would not hurt to try this out and compare the results.-George

author: BravoV
author_rank: Super Contributor
timestamp: February 24, 2013, 03:34:48 pm
content: Damn, both of you Richard and George have made me to put this thread in one of my top watch list.

author: torch
author_rank: Frequent Contributor
timestamp: February 24, 2013, 06:57:01 pm
content: Yeah, it is starting to look like this thread is taking on a life of it's own, doesn't it?I don't seem to have any caps above 1000uf available, so I started stringing them together. The ESR value is definitely self-calibrating depending upon the highest capacitance it has measured. Adding each successive capacitor, the ESR is shown as 0? on the first test or two, then settles around .01 to .03 ohms. Testing a control cap, the indicated ESR climbs slightly each time the baseline is set. I got up to ~7200uF and the control went from 0.01ohms to 0.12ohms. Actually, there is about .02 ohms variability there -- pushing the test button repeatedly without disturbing the leads at all will result in successive readings between 0.11 and 0.13 ohms.So don't take the ESR figure as gospel. It's really a comparison with the ESR of the largest cap it has previously encountered (since the last self-test/calibration) considered as 0.

author: madires
author_rank: Super Contributor
timestamp: February 24, 2013, 08:45:35 pm
content: Quote from: A Hellene on February 24, 2013, 01:38:10 pmActually, speed is no concern since a lot of the time the firmware has to wait, e.g. for the ADC. There's also no gain from changing the crystal from 8 to 16 MHz; a faster ADC would help. A zero offset of the ADC was already discussed and the idea was dropped. A changing offset (=noise) helps with the oversampling.

author: Spawn
author_rank: Frequent Contributor
timestamp: February 24, 2013, 10:17:45 pm
content: Quote from: BravoV on February 24, 2013, 03:34:48 pm+1 I am with BravoV, nice job with documenting guysAnd thanks for the measurements Torch.I ordered one a week ago, might build a case for it too.

author: torch
author_rank: Frequent Contributor
timestamp: February 25, 2013, 03:56:30 am
content: Quote from: Spawn on February 24, 2013, 10:17:45 pmOk, that makes me think:I'm involved with mentoring the local high school's robotic's club (don't worry, not the electronics, I help out with machining the mechanical bits!). Anyway, they are looking for some fundraising ideas. They have a PVC 3d printer in the shop class. Would there be any interest in having cases made for these? Maybe a kit with the leads, shielded bannana plugs and clips included? And a separate battery compartment. I would definitely want a separate battery compartment. What other features would you look for and how much would something like that be worth to you?

author: BravoV
author_rank: Super Contributor
timestamp: February 25, 2013, 04:19:21 am
content: Quote from: torch on February 24, 2013, 06:57:01 pmThis two kind gentlemen are well known to generate a really excellent discussion when they're "in-sync"with each other at the same topic similar at this one here.Here an example at the topic on generating an adjustable + high resolution voltage reference using cheapo components ->Amspire's thread : General Purpose Power Supply Design. Imo it is one of the best among finest threads in this forum, just take a cup of coffee and read it your self, its a long thread.Too bad that project is on hold.Ok, enough OOT, I bet you've got my point.