Author Topic: $20 LCR ESR Transistor checker project  (Read 4229118 times)

mentholflash, carrascoso and 6 Guests are viewing this topic.

Offline madires

  • Super Contributor
  • ***
  • Posts: 8311
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #9700 on: October 20, 2024, 11:39:50 am »
My thought was that most users would be more interested in a high leakage/reverse current than the typcial low values for Si semiconductors. And if you want to select a diode/BJT based on the lowest leakage/reverse current it would make more sense to measure the current at the circuit's voltage (when >5V). In case more users want to see also a low leakage/reverse current I could add a configuration option.

BTW, the resolution is about 2 nA (for low values). But be aware of noise. A value of 2, 4 or 6 nA could be also something < 2nA (for k and m-firmware). This is another reason for the m-firmware's threshold.
« Last Edit: October 20, 2024, 11:57:03 am by madires »
 
The following users thanked this post: indman

Offline indman

  • Super Contributor
  • ***
  • Posts: 1214
  • Country: by
Re: $20 LCR ESR Transistor checker project
« Reply #9701 on: October 20, 2024, 11:51:49 am »
I changed these values in Semi.c for a more informative low current display
Scale = -9;                    /* 1n */
Value = U_Rl * 1000000;           /* scale voltage to 1nV */
Is that correct? :)
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 8311
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #9702 on: October 20, 2024, 12:25:12 pm »
Not quite. That breaks the calculation for the 'if (U_Rl > 3)' block and can cause a uint32 overflow. 'Value = U_Rl * 100000;' needs to be moved to the end of the 'if (U_Rl > 3)' block. And 'Value = U_Rl * 1000000; ' should go to the end of the 'else' block.
 
The following users thanked this post: indman

Offline indman

  • Super Contributor
  • ***
  • Posts: 1214
  • Country: by
Re: $20 LCR ESR Transistor checker project
« Reply #9703 on: October 20, 2024, 01:27:48 pm »
if (U_Rl > 3)          /* > 5µA */
  /* consider internal resistance of MCU */
    R_Shunt = (uint32_t)NV.RiL;         /* in 0.1 Ohms */
    Scale = -7;                         /* 100n */
    Value = U_Rl * 100000;           /* scale voltage to 10nV */

else                   /* < 5µA */
  {
/* neglect MCU's internal resistance */
    R_Shunt =  R_HIGH;
    Scale = -9;                    /* 1n */
    Value = U_Rl * 1000000;           /* scale voltage to 1nV */
}

Now is that right? Now low current as well as high current is displayed correctly for me. :)
Maybe to avoid false readings due to noise it makes sense to limit the low current display to =>5(6)nA instead of 50nA?
« Last Edit: October 20, 2024, 01:34:58 pm by indman »
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 8311
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #9704 on: October 20, 2024, 02:36:29 pm »
Needs to be at the end of the block because U_Rl could be updated by the high current measurement with RiL:

Code: [Select]
  if (U_Rl > 3)          /* > 5µA */
  {
    /* consider internal resistance of MCU */
    R_Shunt = (uint32_t)NV.RiL;         /* in 0.1 Ohms */
    Scale = -7;                         /* 100n */

    if ((U_Rl > 1400) && (Mode == 1))   /* > 2mA */
    {
      ...
      U_Rl = ReadU(Probes.Ch_2);        /* get voltage at RiL */
    }
    else                                /* keep measurement */
    {
      ...
    }

    Value = U_Rl * 100000;              /* scale voltage to 10nV */
  }

Or you could set 'Value = 100000;', 'Value = 1000000;' and

Code: [Select]
  /* calculate current */
  Value *= U_Rl;                   /* scale voltage */
  Value /= R_Shunt;                /* I = U/R */

Maybe to avoid false readings due to noise it makes sense to limit the low current display to =>5(6)nA instead of 50nA?

Yes, that's also a possible solution.
 
The following users thanked this post: indman

Offline Yuriy_K

  • Regular Contributor
  • *
  • Posts: 188
  • Country: ru
Re: $20 LCR ESR Transistor checker project
« Reply #9705 on: October 20, 2024, 06:21:02 pm »
... The junktion capacity is huge, C 318μF.
Is this a known behaviour or is it an issue with the 1.53m ?
See below the readings, and details of the component testers.

1.53m ( M328Kit+TFT(AY-AT) 16MHz )
Vf 284mV (88)
I_R 0,65μA
C 318.μF

I didn't understand, where is the answer to the main question?
My examples of similar measurements.

Added to MBR20200, readings from C=0pF of 1N5819 diode. Maybe this will help in finding errors...
« Last Edit: October 21, 2024, 09:04:01 am by Yuriy_K »
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 8311
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #9706 on: October 20, 2024, 06:58:52 pm »
At first we thought it's a contact issue, but after checking several diodes I'm able to reproduce the capacitance issue with some diodes. I'll have to investigate this further.
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 8311
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #9707 on: October 21, 2024, 07:45:49 pm »
Update: The issue is caused by a regression in the self-discharge check in LargeCap() (introduced in 1.51m) and affects DUTs with small capacitance and high leakage current.
 

Offline Yuriy_K

  • Regular Contributor
  • *
  • Posts: 188
  • Country: ru
Re: $20 LCR ESR Transistor checker project
« Reply #9708 on: October 22, 2024, 06:36:33 am »
Examples of SMD measurements in different packages (SOT23). It seems to me impossible to select a single method for correcting readings.
The real capacitance of the diodes is 5 - 2 pF
« Last Edit: October 22, 2024, 06:40:59 am by Yuriy_K »
 

Offline indman

  • Super Contributor
  • ***
  • Posts: 1214
  • Country: by
Re: $20 LCR ESR Transistor checker project
« Reply #9709 on: October 22, 2024, 06:41:49 am »
Update: The issue is caused by a regression in the self-discharge check in LargeCap() (introduced in 1.51m) and affects DUTs with small capacitance and high leakage current.
Are there no such problems on version 1.50m?

The real capacitance of the diodes is 5 - 2 pF
Probably without using SamplingADC it is impossible to measure such small capacities in m-firmware?
« Last Edit: October 22, 2024, 06:47:22 am by indman »
 

Offline Yuriy_K

  • Regular Contributor
  • *
  • Posts: 188
  • Country: ru
Re: $20 LCR ESR Transistor checker project
« Reply #9710 on: October 22, 2024, 07:28:50 am »
Uploaded 1.50m even such diodes have no capacity, smaller ones cannot show anything.
 

Offline indman

  • Super Contributor
  • ***
  • Posts: 1214
  • Country: by
Re: $20 LCR ESR Transistor checker project
« Reply #9711 on: October 22, 2024, 07:33:09 am »
Uploaded 1.50m even such diodes have no capacity, smaller ones cannot show anything.
I previously noticed that the capacitance is determined correctly if 1 diode is tested. But not in all cases. If 2 diodes or an assembly of diodes are tested, then as a rule the capacitance is not measured and C = 0pF on the display
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 8311
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #9712 on: October 22, 2024, 08:37:56 am »
Are there no such problems on version 1.50m?

In 1.50m the capacitance measurement will fail when the diode's leakage current is too high, resulting in 0 pF.

The real capacitance of the diodes is 5 - 2 pF
Probably without using SamplingADC it is impossible to measure such small capacities in m-firmware?

Exactly!
 

Offline pizzigri

  • Regular Contributor
  • *
  • Posts: 219
  • Country: it
Re: $20 LCR ESR Transistor checker project
« Reply #9713 on: October 24, 2024, 11:11:04 am »
Hello @Indman,
So very soon I will reflow the 4GSL from Nickl, the display was really difficult to obtain, so I had to purchase it directly from the manufacturer. I have checked all files and I realized that there is only one firmware that is from mid 2016. And I do not even know who is it based on. Searching around I found both 1.51m and 1.13k however only in russian! It seems these are very specific ports for the 4GSL as there are different versions in HEX for different LCD contrast settings and type of display.
Question; do EN versions of these FW exist?
If EN are available, how to get them?
I would REALLY appreciate your help in this regard. I know you have a 4GSL and I believe it is one of the most interesting designs although certainly not cheap and easy to make.

BTW, I had planned to install a 644, however I'm waiting on a 1284 for a future color display upgrade and add-ons.
« Last Edit: October 24, 2024, 11:14:02 am by pizzigri »
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 8311
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #9714 on: October 27, 2024, 01:27:09 pm »
Update: The issue is caused by a regression in the self-discharge check in LargeCap() (introduced in 1.51m) and affects DUTs with small capacitance and high leakage current.

If you don't want to wait for the next version you can fix the issue by replacing following in function LargeCap() in cap.c
Code: [Select]
    /* check self-discharging for measuring period */
    U_Drop = ReadU(Probes.Ch_1);        /* get start voltage */
    TempInt = Pulses;                   /* same number of loop runs (pulses) */
    while (TempInt > 0)                 /* delay loop */
    {
      TempInt--;                        /* decrease timeout */
      U_leak = ReadU(Probes.Ch_1);      /* get current voltage */

      wdt_reset();                      /* reset watchdog */
    }

    /* calculate voltage drop */
    if (U_Drop > U_leak)           /* sanity check */
    {
      U_Drop -= U_leak;            /* voltage drop */

      #ifdef SW_C_VLOSS
      /* voltage loss in 0.1% */
      Cap->U_loss = (uint16_t)((unsigned long)(U_Drop * 1000UL) / U_Cap);
      #endif
    }
    else                           /* bad values */
    {
      U_Drop = 0;                  /* zero drop */
    }

with:
Code: [Select]
    /* check self-discharging for measuring period */
    TempInt = Pulses;                   /* same number of loop runs (pulses) */
    while (TempInt > 0)                 /* delay loop */
    {
      TempInt--;                        /* decrease timeout */
      U_Drop = ReadU(Probes.Ch_1);      /* get current voltage */

      /* consider zero offset */
      U_temp = (int16_t)U_Drop;         /* explicit type conversion */
      if (U_temp > U_Zero)              /* voltage higher than zero offset */
        U_temp -= U_Zero;                 /* subtract zero offset */
      else                              /* shouldn't happen but you never know */
        U_temp = 0;                       /* assume 0V */
      U_Drop = (uint16_t)U_temp;        /* take result */

      wdt_reset();                      /* reset watchdog */
    }

    /* calculate voltage drop */
    if (U_Cap > U_Drop)                 /* sanity check */
    {
      U_Drop = U_Cap - U_Drop;          /* voltage drop */

      #ifdef SW_C_VLOSS
      /* voltage loss in 0.1% */
      Cap->U_loss = (uint16_t)((unsigned long)(U_Drop * 1000UL) / U_Cap);
      #endif
    }
    else                           /* bad values */
    {
      U_Drop = 0;                  /* zero drop */
    }

When the leakage current of a Schottky diode is too high for the capacitance measurement the capacitance will be displayed as 0 pF (as before 1.51m). Please let me know if there are more issues with this.
 
The following users thanked this post: indman, Yuriy_K

Offline indman

  • Super Contributor
  • ***
  • Posts: 1214
  • Country: by
Re: $20 LCR ESR Transistor checker project
« Reply #9715 on: October 27, 2024, 02:28:25 pm »
When the leakage current of a Schottky diode is too high for the capacitance measurement the capacitance will be displayed as 0 pF (as before 1.51m).
Madires, And what is the approximate permissible leakage current threshold at which the junction capacitance will still be measured?
 

Offline r4zv4n80

  • Newbie
  • Posts: 2
  • Country: ro
Re: $20 LCR ESR Transistor checker project
« Reply #9716 on: October 27, 2024, 04:29:25 pm »
Hi all!

Back in 2017 I got a DIY LCR Tester kit on the AY-AT layout (this one in particular: https://www.aliexpress.com/item/32645279970.html) but only now got around to putting it together.. and it doesn't work. I need to mention that I'm new to electronic circuits in general, in the process of learning (hence the DIY kit instead of a fully built one).

I will preface that I tried searching this topic in particular, as well as went through the FAQs on github - but couldn't find a solution: it only turns on the backlight of the LCD screen when I press the rotary encoder, and nothing else (backlight turns off when I release it). Led is also always off, never turns on.

I've tried powering it either at 9v directly on the pads, or 12v on the barrel connector (both from a bench power supply) - and I only see about 0.14A when the backlight turns on.

As suggested in the FAQ, I checked the soldering and re-heated / added solder where it didn't look perfect, then I checked all caps (in-circuit, using a cap meter - UT601 - and am getting values for all of them - so my assumption is they're functional, albeit maybe a bit off).

I checked all resistors before installing, and other than a 5.1K one being around 4.96K, most were very close to their rated values.

When I press the rotary encoder, I get 5v on the LCD pins, nothing otherwise.

At this point, I'm not sure what to check - any suggestions?

I'm attaching a pic of the board layout (for reference, since the components are only identified by their values), and one of my built one (maybe you notice something off?)

Thank you in advance for any pointers!
 

Offline snapper

  • Contributor
  • Posts: 46
  • Country: de
Re: $20 LCR ESR Transistor checker project
« Reply #9717 on: October 27, 2024, 04:50:40 pm »
the ATMEGA is inserted incorrectly in the socket!
« Last Edit: October 27, 2024, 05:01:22 pm by snapper »
 
The following users thanked this post: r4zv4n80

Offline Yuriy_K

  • Regular Contributor
  • *
  • Posts: 188
  • Country: ru
Re: $20 LCR ESR Transistor checker project
« Reply #9718 on: October 27, 2024, 05:28:07 pm »
When the leakage current of a Schottky diode is too high for the capacitance measurement the capacitance will be displayed as 0 pF (as before 1.51m). Please let me know if there are more issues with this.

Now all readings correspond to your limits. Of my Schottky diodes only these showed capacity MBR2060, HBR3045, MBR30100. All the others (more than 40 types) show C=0, as in the last picture.

Added for comparison, the same "quartet" on the k-firmware...
« Last Edit: October 28, 2024, 06:48:39 am by Yuriy_K »
 
The following users thanked this post: madires

Offline indman

  • Super Contributor
  • ***
  • Posts: 1214
  • Country: by
Re: $20 LCR ESR Transistor checker project
« Reply #9719 on: October 27, 2024, 05:49:22 pm »
Now all readings correspond to your limits. Of my Schottky diodes only these showed capacity MBR2060, HBR3045, MBR30100. All the others (more than 40 types) show C=0, as in the last picture
I wonder why at a leakage current Ir=1151nA the diode capacitance is determined, but at a much lower current Ir=446nA the capacitance is not measured? And what does the k-firmware show on these same diodes?
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 8311
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #9720 on: October 27, 2024, 06:18:53 pm »
Madires, And what is the approximate permissible leakage current threshold at which the junction capacitance will still be measured?

It's not a fixed threshold, it depends on the relation between junction capacitance and leakage current.
 

Offline r4zv4n80

  • Newbie
  • Posts: 2
  • Country: ro
Re: $20 LCR ESR Transistor checker project
« Reply #9721 on: October 27, 2024, 06:47:28 pm »
the ATMEGA is inserted incorrectly in the socket!

Boy do I feel dumb! I soldered the socket on and didn't bother to get a reference schematic - so my (n00b) logic was "eh, writing is this way, so I'll insert it the same". Thank you so much!

These things are resilient, now it works! On to modding!
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 8311
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #9722 on: October 27, 2024, 06:59:02 pm »
I wonder why at a leakage current Ir=1151nA the diode capacitance is determined, but at a much lower current Ir=446nA the capacitance is not measured? And what does the k-firmware show on these same diodes?

Maybe it helps to explain how the measurement algorithm detects 'bad' caps. The normal capacitance measurement starts with the check for a high capacitance and runs a self-discharge check. A DUT with low capacitance combined with a high leakage current passes the capacitance measurement (typically just one charging pulse) but will fail at the self-discharge check (because of the high leakage current). This indicates that the DUT isn't a cap (or a very bad one), and switching to the low capacitance measurement wouldn't make much sense as the high leakage current would lead to a much too high (wrong) capacitance value. Both firmwares (k and m) do basically the same in this regard. However, using the SamplingADC method the k-firmware can measure the junction capacitance of those problematic diodes to some extend.
 

Offline LinuxHata

  • Frequent Contributor
  • **
  • Posts: 414
  • Country: us
Re: $20 LCR ESR Transistor checker project
« Reply #9723 on: October 31, 2024, 06:39:05 am »
I asked this couple of years ago, but then there was no solution.
Asking again, maybe now it is available?

1. Is there a modification of firmware which just not power offs on each run and you do not need to check all this vbat and other things on each measurement?
2. Is there a larger and brighter display, which can be hooked to the color model? (I don't mind soldering an adapter, if there's no direct pin to pin compatible screen)
 

Offline snapper

  • Contributor
  • Posts: 46
  • Country: de
Re: $20 LCR ESR Transistor checker project
« Reply #9724 on: October 31, 2024, 08:05:40 am »
@ Linux Hata
It would be interesting to know which testerversion you have ???
« Last Edit: October 31, 2024, 08:13:28 am by snapper »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf