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

pierreraymondrondelle, Pilot Error and 13 Guests are viewing this topic.

Offline Feliciano

  • Regular Contributor
  • *
  • Posts: 214
  • Country: ve
Re: $20 LCR ESR Transistor checker project
« Reply #9225 on: March 02, 2024, 01:11:53 am »
As by your measurements, I don't mind disipating additional 100mW or so as long as the equipment work properly.

(Perhaps a more precise schematic could help).
« Last Edit: March 02, 2024, 06:15:56 pm by Feliciano »
 

Offline indman

  • Super Contributor
  • ***
  • Posts: 1012
  • Country: by
Re: $20 LCR ESR Transistor checker project
« Reply #9226 on: March 02, 2024, 06:23:21 am »
Besides what Kim Christensen reported earlier, R7 goes between pin 41 and Vcc. On that side of the PCB, pin 41 also goes to the tip of EN test point. Therefore, EN don't go to the Crystal array, that part of the schematic need rework. /Reset is pulled high by R14. And regarding C13 C10, it would have to be removed to be measured, because on circuit it detects a diode in both cases (and I ran some wires over it, so it would require extra work for my case). FWIW, with a DMM C13 measures 100nF or 470nF and I couldn't get a reading for C10.
OK! I updated the circuit diagram again, it remains to clarify where the PD0 (9pin) port of the controller is connected?
C13 - I believe that on your board it is set to 100nF. C10 should be 1nF, in principle it can be safely removed from the board, this should not affect the measurement results in original firmware. But it is advisable to check this!

And the new self tests/corrections:
The results of your tests indicate that the +5V voltage is poorly stabilized. You need to replace the 7805 with a better LDO.
« Last Edit: March 02, 2024, 05:18:57 pm by indman »
 

Offline Yuriy_K

  • Regular Contributor
  • *
  • Posts: 140
  • Country: ru
Re: $20 LCR ESR Transistor checker project
« Reply #9227 on: March 02, 2024, 07:17:15 am »
From what I can see, it looks identical to mine. I'll do some double checking of the schematic against my unit:
Several years ago I assembled my testers on the ATMega 644. Now I don’t remember why, but I had to change some of the capacitance values. Here in your diagram I indicated my values...

Added. In the Hiland M644 C13, according to your circuit, the manufacturer initially installed 220nF.
« Last Edit: March 02, 2024, 05:01:56 pm by Yuriy_K »
 

Offline Feliciano

  • Regular Contributor
  • *
  • Posts: 214
  • Country: ve
Re: $20 LCR ESR Transistor checker project
« Reply #9228 on: March 02, 2024, 02:25:19 pm »
it remains to clarify where the PD0 (9pin) port of the controller is connected?
Pin 9 goes to RxD, pin 10 to TxD and pin 7 of U8. And the rest of U8 part of the schematic seems right.
C13 - I believe that on your board it is set to 100nF. C10 should be 1nF, in principle it can be safely removed from the board, this should not affect the measurement results in original firmware. But it is advisable to check this!
IIUC, C13 is the Capacitor used for Adjustement, and C10 is the bypass Capacitor of the Aref, right? Yuriy_K thinks these Capacitors should be higher, though.
 

Offline indman

  • Super Contributor
  • ***
  • Posts: 1012
  • Country: by
Re: $20 LCR ESR Transistor checker project
« Reply #9229 on: March 02, 2024, 04:32:49 pm »
C13 is the Capacitor used for Adjustement ?
Yes, this capacitor must be high quality and stable. In the config.h setting, you can disable this installed capacity so as not to unsolder it from the board. Instead, you can use an external high quality capacitor for the Adjustement procedure. Then you will need to measure this capacity 3 times in a row before the Adjustement procedure.
C10 is the bypass Capacitor of the Aref, right?
C10 is the setting of the ADC voltage scale switching speed. For correct operation of autors firmware, its capacity should not exceed 1nF. As I wrote above, it can be removed from the board and this should not affect the test results in any way.

P.S The circuit diagram has been updated once again in my post #9226
« Last Edit: March 02, 2024, 05:21:30 pm by indman »
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 7770
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #9230 on: March 02, 2024, 05:38:01 pm »
One thing I did notice with this version is that there is a discrepancy in the capacitance measured depending on what mode it is operating in. Does your unit also show vastly different capacitance readings between "Probing..." mode and "LCR Monitor" mode for certain values? I did perform both a "Test" and an "Adjustment" thinking that was the issue but it wasn't. For example this is what I measured in uF:

Cap       "Auto"   "LCR mon"
1uF        1.039    1.038
10uF      9.929    9.953
39uF      36.29    37.02
120uF    99.79    120.1
270uF    155.6    262.5
680uF    328.3    599.5
1000uF  392.9    932.0
3900uF  3017     3657

There's something very wrong! The values in the normal probing cycle and in the C or RCL monitor should be nearly the same. For electrolytic caps a small difference (about 1%) is normal. This is caused by the different checks run in both modes before the capacitance measurement. Despite discharging and offset compensation a small charge difference can build up and lead to a small error. Anyway, both modes use exactly the same capacitance measurement functions. Your problem could be related to the power supply or some component drawing excessive current.
 

Offline Kim Christensen

  • Super Contributor
  • ***
  • Posts: 1327
  • Country: ca
Re: $20 LCR ESR Transistor checker project
« Reply #9231 on: March 02, 2024, 06:56:22 pm »
madres,

If "both modes use exactly the same capacitance measurement functions", shouldn't they both give the same reading even if there was a hardware fault?
The readings are highly consistent and repeatable in both modes. So there must be some differences between the two measurement modes firmware wise, because code is the only thing that changes between modes.
My unit was working Ok with the original Chinese firmware, but that firmware had a bit of a bug where it wouldn't consistently measure ESR so I decided to try changing the firmware. ie: It would randomly give me vloss only and other times give both vloss and ESR.
In the end if I can't figure it out, I'm OK with just using my unit in LCR monitor mode when measuring capacitors. But it'd be nice if it worked properly in both modes.

 

Offline Feliciano

  • Regular Contributor
  • *
  • Posts: 214
  • Country: ve
Re: $20 LCR ESR Transistor checker project
« Reply #9232 on: March 02, 2024, 07:13:55 pm »
If "both modes use exactly the same capacitance measurement functions", shouldn't they both give the same reading even if there was a hardware fault?
The readings are highly consistent and repeatable in both modes. So there must be some differences between the two measurement modes firmware wise, because code is the only thing that changes between modes.
+1

madires:

As Kim says, if allegedly being the same algorithm for normal measurements and for LCR monitoring, I don't understand why the big inconsistence,

and on the other hand, why indman's configuration reflect way so different values than mine's for both scenarios. Maybe he set a very different compensation or default values? (because his readings varies a lot after adjustment, but still doesn't reach the expected values), and more important, why his LCR monitoring somehow works and mine doesn't.
Code: [Select]
#define CAP_FACTOR_SMALL      -25    /* -2.5% */
#define CAP_FACTOR_MID        -15    /* -1.5% */
#define CAP_FACTOR_LARGE      10     /* +1.0% */

Maybe Kim Chirstensen wants to try my attached binaries for a separate comparison.

Lastly, regarding the power supply, I modded the booster to 7V, and upgraded C9 from 100nF to 1uF.  For my config I didn't notice major difference. As shown in the photos versus my previous posts.
« Last Edit: March 02, 2024, 09:35:54 pm by Feliciano »
 

Offline Kim Christensen

  • Super Contributor
  • ***
  • Posts: 1327
  • Country: ca
Re: $20 LCR ESR Transistor checker project
« Reply #9233 on: March 02, 2024, 08:30:55 pm »
Maybe Kim Chirstensen wants to try my attached binaries for a separate comparison.

Here's my results with your firmware. I had the same thing as you. Looks better in auto probing mode, but now LCR Monitor mode is messed up with larger caps:

Cap       "Auto"   "LCR mon"
1uF        1.054    1.053
10uF      10.64    10.64
39uF      42.48    -----
120uF    144.5    -----
270uF    312.7    -----
680uF    740.4    -----
1000uF  1144    8.36uH 0.0R
3900uF  5212     8.36uH 0.0R

----- = no reading

I also noticed that if I short the leads in LCR monitor mode, then it reads 0.05R 8.36uH.


 

Offline Feliciano

  • Regular Contributor
  • *
  • Posts: 214
  • Country: ve
Re: $20 LCR ESR Transistor checker project
« Reply #9234 on: March 02, 2024, 08:57:23 pm »
Anyway, both modes use exactly the same capacitance measurement functions.
You know the code better. Could it be the LCR monitor uses a particular pin that the normal testing function doesn't use, and we, or a least me defined it wrong?

Kim: Your equipment and mine behave the same. Have you tried the LCR monitor of 2hry firmware posted few pages back?
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 7770
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #9235 on: March 02, 2024, 09:11:41 pm »
If "both modes use exactly the same capacitance measurement functions", shouldn't they both give the same reading even if there was a hardware fault?
The readings are highly consistent and repeatable in both modes. So there must be some differences between the two measurement modes firmware wise, because code is the only thing that changes between modes.

Again, the same capacitance measurement function is called in both cases. The only difference is the frontend function (user interface).

As Kim says, if allegedly being the same algorithm for normal measurements and for LCR monitoring, I don't understand why the big inconsistence,

Neither do I. It's the first time that such an issue is reported. I've checked a 1000µF electrolytic in normal probing mode, C monitor and  RCL monitor running 1.51m and the values are fine. I think there is something else wrong.
« Last Edit: March 02, 2024, 09:53:36 pm by madires »
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 7770
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #9236 on: March 02, 2024, 09:22:44 pm »
You know the code better. Could it be the LCR monitor uses a particular pin that the normal testing function doesn't use, and we, or a least me defined it wrong?

The monitor functions use probes #1 and #3, You could check if the probe pins and the resistor pins are all correct and that there are no additional components (besides the input protection).
 

Offline Feliciano

  • Regular Contributor
  • *
  • Posts: 214
  • Country: ve
Re: $20 LCR ESR Transistor checker project
« Reply #9237 on: March 02, 2024, 10:47:40 pm »
I tried again 2hry's binaries, observing similar behaviour as indman's.

I also checked the configuration against the schematic, and seems correct. There is something else we're overlooking, or the schematic still doesn't match the PCB and/or values. (BTW: I think C26 is not on the PCB, the one near pin 17 is C8. Before modding, I measured a total of 600nF from Vcc to GND).

indman or 2hry: please compare my config against yours, so we can figure out why the same firmware work so different, and get the best of each settings. (Of course madires is welcome to have a look at it as well).
« Last Edit: March 02, 2024, 11:06:31 pm by Feliciano »
 

Offline Kim Christensen

  • Super Contributor
  • ***
  • Posts: 1327
  • Country: ca
Re: $20 LCR ESR Transistor checker project
« Reply #9238 on: March 02, 2024, 11:47:04 pm »
Feliciano,
Was looking at the 1.51m source on GitHub, and noticed there was a change to the file "cap.c". I wonder if you are using the same "cap.c" file as indman and 2hry.
There are some differences (lines 881 onward) in the routine "LargeCap(Capacitor_Type *Cap)" that may explain why your routine behaves differently than theirs:

old 1.51 code:
Code: [Select]
    /* consider zero offset */
    if (U_Cap > U_Zero)            /* voltage higher than zero offset */
      U_Cap -= U_Zero;                  /* subtract zero offset */
    else                           /* shouldn't happen but you never know */
      U_Cap = 0;                        /* assume 0V */

new 1.51 code:
Code: [Select]
    /* consider zero offset */
    U_temp = (int16_t)U_Cap;       /* 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_Cap = (uint16_t)U_temp;      /* take result */

There may be other differences, but it's interesting that the differences are in the LargeCap routine...
 
The following users thanked this post: Feliciano

Offline Feliciano

  • Regular Contributor
  • *
  • Posts: 214
  • Country: ve
Re: $20 LCR ESR Transistor checker project
« Reply #9239 on: March 03, 2024, 12:48:59 am »
Hmmm. I wasn't aware of that. According to your observations, the 1.51m I downloaded from github is the old one, from december I think.

UPDATE:
I applied my same configuration to 1.46m, and I get 997uF under normal mode, and 955uF under RCL monitoring, which seems a lot better, but makes me wonder there could be something in the code. I will try 1.48m tomorrow and report.
« Last Edit: March 03, 2024, 01:36:13 am by Feliciano »
 

Offline carl1961

  • Contributor
  • Posts: 31
  • Country: us
Re: $20 LCR ESR Transistor checker project
« Reply #9240 on: March 03, 2024, 01:21:07 am »
Hmmm. I wasn't aware of that. According to your observations, the 1.51m I downloaded from github is the old one, from december I think.

UPDATE:
I applied my same configuration to 1.46m, and I get 997uF under normal mode, and 955uF under RCL monitoring, which seems a lot better, but makes me wonder there could be something in the code. I will try 1.48m tomorrow and report.

in the firmware folder is the fixed cap.c

 

Offline Feliciano

  • Regular Contributor
  • *
  • Posts: 214
  • Country: ve
Re: $20 LCR ESR Transistor checker project
« Reply #9241 on: March 03, 2024, 01:28:44 am »
yes, I know. I opened the 1.51m and found the code you mention, but around line 955:
Code: [Select]
    /* consider zero offset */
    if (U_Cap > U_Zero)            /* voltage higher than zero offset */
      U_Cap -= U_Zero;                  /* subtract zero offset */
    else                           /* shouldn't happen but you never know */
      U_Cap = 0;                        /* assume 0V */

    /* end loop if charging is too slow */
    if ((Pulses == 126) && (U_Cap < 75)) TempByte = 0;
   
    /* end loop if 300mV are reached */
    if (U_Cap >= 300) TempByte = 0;
And the file modification date is dec 2nd, 2023.
 

Offline Feliciano

  • Regular Contributor
  • *
  • Posts: 214
  • Country: ve
Re: $20 LCR ESR Transistor checker project
« Reply #9242 on: March 03, 2024, 01:35:55 am »
I have backported my 1.51m config to 1.48m, and it shows a capacitor close to the expected value either under normal measurement or RCL monitoring. Therefore something on the code and/or the configuration is messing my 1.51m. I can try to download and customize 1.50m tomorrow to confirm/discard.
 

Offline carl1961

  • Contributor
  • Posts: 31
  • Country: us
Re: $20 LCR ESR Transistor checker project
« Reply #9243 on: March 03, 2024, 01:36:31 am »
yes, I know. I opened the 1.51m and found the code you mention, but around line 955:
Code: [Select]
    /* consider zero offset */
    if (U_Cap > U_Zero)            /* voltage higher than zero offset */
      U_Cap -= U_Zero;                  /* subtract zero offset */
    else                           /* shouldn't happen but you never know */
      U_Cap = 0;                        /* assume 0V */

    /* end loop if charging is too slow */
    if ((Pulses == 126) && (U_Cap < 75)) TempByte = 0;
   
    /* end loop if 300mV are reached */
    if (U_Cap >= 300) TempByte = 0;
And the file modification date is dec 2nd, 2023.

Yes around  time of madires post

https://www.eevblog.com/forum/testgear/$20-lcr-esr-transistor-checker-project/msg5234115/#msg5234115
« Last Edit: March 03, 2024, 02:01:43 am by carl1961 »
 

Offline Kim Christensen

  • Super Contributor
  • ***
  • Posts: 1327
  • Country: ca
Re: $20 LCR ESR Transistor checker project
« Reply #9244 on: March 03, 2024, 05:54:28 am »
Kim: Your equipment and mine behave the same. Have you tried the LCR monitor of 2hry firmware posted few pages back?

I guess I shouldn't have skipped that one, since 2hry's capacitor functions do work in both "auto probe" and "c-monitor" modes:

Cap       "Auto"   "C mon"
1uF        1.086    1.079
10uF      10.44    10.40
39uF      41.88    41.60
120uF    130.1    126.8
270uF    285.3    274.7
680uF    674.5    649.6
1000uF  1046     999.1
3900uF  4765     4688
 

Offline indman

  • Super Contributor
  • ***
  • Posts: 1012
  • Country: by
Re: $20 LCR ESR Transistor checker project
« Reply #9245 on: March 03, 2024, 06:14:06 am »
I guess I shouldn't have skipped that one, since 2hry's capacitor functions do work in both "auto probe" and "c-monitor" modes:
What m-firmware version number is shown on the start screen in this firmware?
 

Offline Kim Christensen

  • Super Contributor
  • ***
  • Posts: 1327
  • Country: ca
Re: $20 LCR ESR Transistor checker project
« Reply #9246 on: March 03, 2024, 06:20:30 am »
v1.51m

EDIT: Though 2hry's menu item says, "C monitor" (it doesn't measure inductance) instead of "LCR monitor" like in yours and Feliciano's.
« Last Edit: March 03, 2024, 06:26:04 am by Kim Christensen »
 

Offline indman

  • Super Contributor
  • ***
  • Posts: 1012
  • Country: by
Re: $20 LCR ESR Transistor checker project
« Reply #9247 on: March 03, 2024, 07:43:07 am »
Ok! In order not to be completely confused about the reasons for this behavior I suggest to calm down a bit, think and start testing again.
I will compile 2 firmware versions with the same configuration file settings, 1.50m and 1.51m. They will include all possible monitoring options - RCL monitor, L-monitor, C-monitor. And you check and compare the behavior of your clone in these modes and AUTO mode. Is that okay with you? :)

Test firmware 1.50mEn and 1.51mEn for FNIRSI LCR-TC1 clone. The configuration files are in the archive.
« Last Edit: March 03, 2024, 07:58:30 am by indman »
 

Offline 2hry

  • Newbie
  • Posts: 7
  • Country: at
Re: $20 LCR ESR Transistor checker project
« Reply #9248 on: March 03, 2024, 12:10:51 pm »
I can not confirm this behavior on my T7 tester with 1.51.
Which is now modified because i have destroyed my adc inputs PA1,2 and 3(the reference???how did i do that).
Now i´m testing on PA0 PA6 and PA7, to which i botched 2 wires.
Lifted the broken pins of the atmega, and removed the TP_CAP.
So I dont have the reference on PA3, and the TP_Cap on PA7 anymore.

To compile, I downloaded the sources from Transistortester-warehouse, and changed the cap.c which is in an extra folder. Then only updated the pins for my tester, and the resistor divider for the zener test. (the cap factors are unchanged)

I have tried different options in config.h, but it is working as expected in normal and LCR mode.

What i did change earlier, are the 680R and 470K resistors.

Indmans schematic looks complete to me, except(as Feliciano pointed out)
 C26 is not on the PCB, and C8 near pin 17. 

 

Offline Feliciano

  • Regular Contributor
  • *
  • Posts: 214
  • Country: ve
Re: $20 LCR ESR Transistor checker project
« Reply #9249 on: March 03, 2024, 01:21:43 pm »
Tried indman's new builds, with the same 1000uF subject, configured for -1% of compensation for this range, and adjusted:

1.50m (ignoring the first measurement in each case):
  • R monitor = nothing, as expected
  • C monitor = between 961uF and 967uF
  • L monitor = nothing, as expected
  • RCL monitor = between 960uF 968uF
  • Normal mode (continous) = between 996uF and 1003uF
Notice there are some uF of variance for consecutive measurements. The repetitiveness of measurements have been already addressed: We know this is not a medium-high precision instrument, so I don't complaint.

1.51m (ignoring the first measurement in each case):
  • R monitor = nothing, as expected
  • C monitor = between 978uF and 981uF
  • L monitor = nothing, as expected
  • RCL monitor = between 978uF 984uF
  • Normal mode (continous) = between 1012uF and 1015uF

I think these results are acceptable, and maybe it can be fine-tuned with compensation for each of the 3 ranges. Still, there's some difference between normal mode and monitoring mode. Being the same algorithm, I don't see the reason.

What I'll do next is to backport my 1.51m config to 1.50m, because it works fine with older m-firmware (i.e. 1.46m and 1.48m) but screws 1.51m monitoring mode.
« Last Edit: March 03, 2024, 01:23:32 pm by Feliciano »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf