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

2hry and 11 Guests are viewing this topic.

Offline scottie4442

  • Supporter
  • ****
  • Posts: 32
  • Country: us
Re: $20 LCR ESR Transistor checker project
« Reply #3850 on: August 10, 2017, 03:06:48 am »
Yeah these were the ones I used to try to make the board at oshpark, said the was no board outline file
 

Offline jakeisprobably

  • Regular Contributor
  • *
  • Posts: 168
  • Country: us
    • Upcycle Electronics
Re: $20 LCR ESR Transistor checker project
« Reply #3851 on: August 10, 2017, 03:34:08 am »
Yeah these were the ones I used to try to make the board at oshpark, said the was no board outline file
  That's above my pay grade. Sorry. I haven't seen a lot of references to oshpark. I know of 3 boards people (other than Nick L) have referenced a few times but after double checking, all are 328's. I didn't see any references to board files for the Zhqsoft versions. I haven't started to get into the main Russian thread yet. Tom has some oshpark references but nothing related to the V2 boards. Hopefully someone with experience on Oshpark can help.
 

Online indman

  • Super Contributor
  • ***
  • Posts: 1002
  • Country: by
Re: $20 LCR ESR Transistor checker project
« Reply #3852 on: August 10, 2017, 07:18:04 am »
The Russian forum is over 400 pages long.
You have a lot of energy and time for a study of all material! It is laudable!
I will prompt one more topic from only 2 pages where I collected extract from a topic on 400 pages. If you understand Russian, it will help with a material study. :D
http://vrtp.ru/index.php?showtopic=26994
« Last Edit: August 10, 2017, 07:20:22 am by indman »
 
The following users thanked this post: jakeisprobably

Offline jleg

  • Contributor
  • Posts: 44
  • Country: de
Re: $20 LCR ESR Transistor checker project
« Reply #3853 on: August 10, 2017, 02:01:02 pm »
Yeah these were the ones I used to try to make the board at oshpark, said the was no board outline file

...this once worked for me: http://docs.oshpark.com/design-tools/gerbv/create-board-outline/
(short: the outline is in file .gbs, clone it, rename it to .gko, open in gerbv, remove all what is "in the square", and save it)

btw, on sourceforge there's a windows version of this "gerbv"... :)
 

Offline dos

  • Regular Contributor
  • *
  • Posts: 73
  • Country: us
Re: $20 LCR ESR Transistor checker project
« Reply #3854 on: August 16, 2017, 01:28:30 am »
I just got this tester from ebay:



It's pretty good but I really don't like how loosely the ZIF socket fits, and that it doesn't properly test zener diodes (doesn't display zener voltage) as far as I can tell, as there is no manual that I can find. Looking around I also saw this model:



This has a built in ZIF socket and does show zener voltage. They're both about the same price, is there any reason I shouldn't return mine and get this one? Has anyone had experience with both and can tell me some more about them? I really don't know anything about these other than I think one or the other or both are based on somebody's open source (?) project. Is one or the other better/more accurate? I would also like to know if there is a self test/calibration mode for the one I have, shorting pins 1, 2 and 3 did nothing.

EDIT: I also remember seeing some youtube video somewhere that said something along the lines of certain components get a more accurate analysis if they're in certain slots with these meters but I can't for the life of me remember what video it was or even if that applies to the meter I have. Has anyone heard anything like this?
« Last Edit: August 16, 2017, 01:32:18 am by dos »
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 7695
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #3855 on: August 16, 2017, 10:33:07 am »
Both run a modified version of the open source firmware. If you're looking for the original firmware please see https://github.com/svn2github/transistortester/tree/master/Software/trunk (current k-firmware under development), https://github.com/svn2github/transistortester/tree/master/Software/Markus (m-firmware) and https://github.com/svn2github/transistortester/blob/master/Doku/trunk/pdftex/english/ttester.pdf (documentation, mainly for the k-firmware). Possibly some features are dropped in the modified firmware to make the firmware fit into the ATmegas328's flash (the fancy UI requires several kB). The accuracy of the Transistor Tester depends primarily on the Vcc regulator and the probe/test resistors (should have a tolerance of 0.1% ) . An optional 2.5V reference helps with a mediocre Vcc regulator. In case your tester got a TL431 as 2.5V reference I'd recommend to remove it or to replace it with a LM4040 or similar. PCB layout, wiring and connectors may also have an impact on the accuracy, but in general there aren't "better" probe pins for specific components. And don't forget to run the self-adjustment after a firmware upgrade.
 

Offline dos

  • Regular Contributor
  • *
  • Posts: 73
  • Country: us
Re: $20 LCR ESR Transistor checker project
« Reply #3856 on: August 16, 2017, 10:55:24 am »
And don't forget to run the self-adjustment after a firmware upgrade.

Thanks for the info, just wondering if you know how to run the self adjustment on this model?

E: just realized you meant after changing the firmware only, never mind. I don't really plan to mess with the firmware of this thing.
« Last Edit: August 16, 2017, 11:02:47 am by dos »
 

Offline scottie4442

  • Supporter
  • ****
  • Posts: 32
  • Country: us
Re: $20 LCR ESR Transistor checker project
« Reply #3857 on: August 16, 2017, 02:14:46 pm »
Ok I got the files completely setup for OshPark, when I uploaded them and went through the process it finalized fine.  The price for 3 board is $77.50US, so I might have to wait a bit for this but I have the files ready to go if someone want them there are in this dropbox share, use the .zip file for OshPark,  https://www.dropbox.com/sh/clzo0mpu806kz2t/AACln2Lwuw74WSzr-O4y9aNDa?dl=0 .

EDIT: I figured out how to list the boards with out having to order them first so they are on OshPark as "ATMega1284 transistor tester - rev_a0.02c", with credit to eevblog and Karl-Heinz. hope this helps folks out that want this version of the transistor tester.

Edit again: the price that OshPark quotes is for 3 boards, so they about $26 a piece, not sure about large quantities.
« Last Edit: August 16, 2017, 08:30:20 pm by scottie4442 »
 

Offline N1cho

  • Contributor
  • Posts: 20
  • Country: id
Re: $20 LCR ESR Transistor checker project
« Reply #3858 on: August 16, 2017, 02:30:06 pm »
Both run a modified version of the open source firmware. If you're looking for the original firmware please see https://github.com/svn2github/transistortester/tree/master/Software/trunk (current k-firmware under development), https://github.com/svn2github/transistortester/tree/master/Software/Markus (m-firmware) and https://github.com/svn2github/transistortester/blob/master/Doku/trunk/pdftex/english/ttester.pdf (documentation, mainly for the k-firmware). Possibly some features are dropped in the modified firmware to make the firmware fit into the ATmegas328's flash (the fancy UI requires several kB). The accuracy of the Transistor Tester depends primarily on the Vcc regulator and the probe/test resistors (should have a tolerance of 0.1% ) . An optional 2.5V reference helps with a mediocre Vcc regulator. In case your tester got a TL431 as 2.5V reference I'd recommend to remove it or to replace it with a LM4040 or similar. PCB layout, wiring and connectors may also have an impact on the accuracy, but in general there aren't "better" probe pins for specific components. And don't forget to run the self-adjustment after a firmware upgrade.
Hi,

Remove  the tl431.. that is to get more accurate results?

Any set back if its removed?

Sent from my E39 using Tapatalk

 

Offline madires

  • Super Contributor
  • ***
  • Posts: 7695
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #3859 on: August 16, 2017, 03:23:37 pm »
Yep! If your tester got an external 2.5V reference it should be at least about 10 times more accurate than the Vcc regulator. If got a 6-1/2 digit or better bench DMM you could measure the external voltage reference and change the default value in the source code (Makefile or config.h). In that case a cheap voltage reference might be fine too, as long as it's stable.
 

Offline jakeisprobably

  • Regular Contributor
  • *
  • Posts: 168
  • Country: us
    • Upcycle Electronics
Re: $20 LCR ESR Transistor checker project
« Reply #3860 on: August 16, 2017, 09:17:09 pm »
Slovak Forum thread Index:
https://youtu.be/N-CvAeKLrTs

The Savvy Slov's have had some really interesting projects. Personally, I like the old multimeter enclosure for a transistor tester build. They also had a few really nice complete builds in custom enclosures. It's worth a look IMO.

This is the 5th Forum Thread Image Index created for this project. My goal is to compile everything I possibly can in one place that is easy for anyone to check out. The amount of information related to this project is massive. These references I have put together are just the beginning.
 Use these references to find every mention of a certain clone. Then use the page number referenced to go straight to the information your looking for. These videos are none monotized. They actually hurt my YT channel (not that I really care). This is simply a needed reference to help the community access this project easier.
Official Project Thread Index:
https://youtu.be/ySPnq4LY3zo
EEVBlog Thread Index:
https://youtu.be/on1ZrWNt2Us
https://youtu.be/RRJ5K752d18
https://youtu.be/1ARlc1BHLUw
 
The following users thanked this post: madires, mauroh, bitseeker, indman, Per Hansson

Offline madires

  • Super Contributor
  • ***
  • Posts: 7695
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #3861 on: August 17, 2017, 04:14:50 pm »
I'm working on the ESR measurement (m-firmware) at the moment and like to ask you for some beta testing. For testing you would have to replace the function MeasureESR() in cap.c with following:

Code: [Select]
/*
 *  measure ESR
 *
 *  requires:
 *  - pointer to cap data structure
 *
 *  returns:
 *  - ESR in 0.01 Ohm
 *  - UINT16_MAX on any problem
 */

uint16_t MeasureESR(Capacitor_Type *Cap)
{
  uint16_t          ESR = UINT16_MAX;   /* return value */
  uint16_t          U_1;           /* voltage at probe 1 with pos. pulse unloaded */
  uint16_t          U_2;           /* voltage at probe 2 with pos. pulse loaded */
  uint16_t          U_3;           /* voltage at probe 2 with neg. pulse unloaded */
  uint16_t          U_4;           /* voltage at probe 1 with neg. pulse loaded */
  uint8_t           Probe1;        /* probe #1 */
  uint8_t           Probe2;        /* probe #2 */
  uint8_t           ADC_Mask;      /* bit mask for ADC */
  uint8_t           n;             /* counter */
  uint32_t          Sum_1;         /* sum #1 */
  uint32_t          Sum_2;         /* sum #2 */
  uint32_t          Value;

  /* check for a capacitor >= 10nF */
  if ((Cap == NULL) ||
      (CmpValue(Cap->Value, Cap->Scale, 10, -9) < 0)) return ESR;


  /*
   *  init stuff
   */

  DischargeProbes();                    /* try to discharge probes */
  if (Check.Found == COMP_ERROR) return ESR;   /* skip on error */

  UpdateProbes(Cap->A, Cap->B, 0);      /* update probes */
  Probe1 = Probes.ADC_1;                /* ADC MUX for probe-1 */
  Probe2 = Probes.ADC_2;                /* ADC MUX for probe-2 */

  Probe1 |= ADC_REF_BANDGAP;            /* select bandgap reference */
  Probe2 |= ADC_REF_BANDGAP;            /* select bandgap reference */

  /* bitmask to enable and start ADC */
  ADC_Mask = (1 << ADSC) | (1 << ADEN) | (1 << ADIF) | ADC_CLOCK_DIV;

  /* init variables */
  Sum_1 = 1;             /* 1 to prevent division by zero */
  Sum_2 = 1;             /* 1 to prevent division by zero */


  /*
   *  We have to create a delay to shift the middle of the current pulse to
   *  the ADC's S&H. S&H happens at 1.5 ADC clock cycles after starting the
   *  conversion. We synchronize to a dummy conversion done directly before,
   *  so we have 2.5 ADC clock cycles to S&H. The required delay between the
   *  dummy conversion and S&H of the next conversion is:
   *    MCU cycles for 2.5 ADC clock cycles
   *    - MCU cycles for waiting loop for completion of dummy conversion (4)
   *    - MCU cycles for starting next conversion (2)
   *    - MCU cycles for fixed pre-delay of 10µs
   *    - MCU cycles for enabling pulse (4)
   *    - MCU cycles for half-pulse (2µs)
   *
   *  MCU     ADC      MCU cycles for       
   *  clock   clock    2.5 ADC cycles  pre-delay   half-pulse  delay
   *  ---------------------------------------------------------------
   *   8 MHz  125 kHz   160 (20µs)      80 (10µs)  16 (2µs)     54
   *                                               32 (4µs)     38
   *  16 MHz  125 kHz   320 (20µs)     160 (10µs)  32 (2µs)    118
   *                                               64 (4µs)     86
   *  20 MHz  156.25    320 (16µs)     200 (10µs)  40 (2µs)     70
   *                                               80 (4µs)     30
   * 
   *  Skipping the second half-pulse allows us to measure low value caps too.
   */

  /* delay for pulse */
  /* MCU cycles for one ADC cycle * 2.5 - MCU cycles for 10µs
     - MCU cycles for half-pulse - 10 */
  U_1 = ((MCU_CYCLES_PER_ADC * 25) / 10) - (MCU_CYCLES_PER_US * 10)
        - (MCU_CYCLES_PER_US * 2) - 10;
  #if CPU_FREQ == 8000000
  /* magic time shift to compensate missing second half-pulse */
  U_1 -= 4;
  #endif
  n = (uint8_t)U_1;

  /* set up delay timer */
  if (SetUpDelayTimer(n) == 0) return ESR;   /* skip on error */


  /*
   *  measurement loop:
   *  - simulate AC by short positive and negative pulses
   *  - measure start voltage without DUT
   *  - measure pulse voltage with DUT
   *  - pre-charge DUT with a negative pulse of half length to
   *    to compensate voltage rise by positive charging pulse
   *  - 16 & 20 MHz MCUs seem to measure higher ESR values
   */ 

  ADC_PORT = 0;          /* set ADC port to low */
  ADMUX = Probe1;        /* set input channel to probe-1 & set bandgap ref */
  wait10ms();            /* time for voltage stabilization */

  U_2 = 50;              /* don't start with positive half-pulse */
  U_4 = 0;               /* start with a negative half-pulse */
  n = 255;               /* set loop counter */

  while (n > 0)
  {
    wdt_reset();                   /* reset watchdog */

    /*
     *  mitigate runaway of cap's charge/voltage
     */

    if (U_4 < 50)
    {
      /* charge cap a little bit more (negative pulse) */

      /* set probes: GND -- probe-2 / probe-1 -- Rl -- 5V */
      ADC_DDR = Probes.Pin_2;      /* pull down probe-2 directly */
      R_PORT = Probes.Rl_1;        /* pull up probe-1 via Rl */
      R_DDR = Probes.Rl_1;         /* enable pull up */
      wait2us();                   /* wait half-pulse */
      R_DDR = 0;                   /* disable any pull up */     
      R_PORT = 0;                  /* reset probe resistors */
    }

    if (U_2 < 50)
    {
      /* charge cap a little bit more (positive pulse) */

      /* set probes: GND -- probe-1 / probe-2 -- Rl -- 5V */
      ADC_DDR = Probes.Pin_1;      /* pull down probe-1 directly */
      R_PORT = Probes.Rl_2;        /* pull up probe-2 via Rl */
      R_DDR = Probes.Rl_2;         /* enable pull up */
      wait2us();                   /* wait half-pulse */
      R_DDR = 0;                   /* disable any pull up */     
      R_PORT = 0;                  /* reset probe resistors */
    }


    /*
     *  forward mode, probe-1 only (probe-2 in HiZ mode)
     *  set probes: GND -- probe-1 -- Rl -- 5V / probe-2 -- HiZ
     *  get voltage at probe-1 (voltage at RiL)
     */

    ADC_DDR = Probes.Pin_1;        /* pull down probe-1 directly to GND */
    R_PORT = Probes.Rl_1;          /* pull up probe-1 via Rl */
    R_DDR = Probes.Rl_1;           /* enable resistor */
    ADMUX = Probe1;                /* set input channel to probe-1 & set bandgap ref */
    /* run dummy conversion for ADMUX change */
    ADCSRA = ADC_Mask;             /* start conversion */
    while (ADCSRA & (1 << ADSC));  /* wait until conversion is done */
    /* real conversion */
    ADCSRA = ADC_Mask;             /* start conversion */
    while (ADCSRA & (1 << ADSC));  /* wait until conversion is done */
    U_1 = ADCW;                    /* save ADC value */


    /*
     *  forward mode, positive charging pulse
     *  set probes: GND -- probe-1 / probe-2 -- Rl -- 5V
     *  get voltage at probe-2 (voltage at DUT, i.e. RiL + ESR)
     */

    ADMUX = Probe2;                /* set input channel to probe-2 & set bandgap ref */
    /* run dummy conversion for ADMUX change */
    ADCSRA = ADC_Mask;             /* start conversion */
    while (ADCSRA & (1 << ADSC));  /* wait until conversion is done */

    /* read ADC in the mid of a positive charging pulse */
    ADCSRA = ADC_Mask;             /* start conversion with next ADC clock cycle */
    wait10us();                    /* fixed pre-delay */
    DelayTimer();                  /* delay for pulse */
    R_PORT = Probes.Rl_2;          /* pull up probe-2 via Rl */
    R_DDR = Probes.Rl_2;           /* enable resistor */
    wait2us();                     /* first half-pulse */
                                   /* S/H happens here */
    #if CPU_FREQ < 8000000
    wait2us();                     /* second half-pulse */
    #endif
    R_PORT = 0;                    /* set resistor port to low */
    R_DDR = 0;                     /* set resistor port to HiZ */
    while (ADCSRA & (1 << ADSC));  /* wait until conversion is done */
    U_2 = ADCW;                    /* save ADC value */


    /*
     *  reverse mode, probe-2 only (probe-1 in HiZ mode)
     *  set probes: GND -- probe-2 -- Rl -- 5V / probe-1 -- HiZ
     *  get voltage at probe 2 (voltage at RiL)
     */

    ADC_DDR = Probes.Pin_2;        /* pull down probe-2 directly */
    R_PORT = Probes.Rl_2;          /* pull up probe-2 via Rl */
    R_DDR = Probes.Rl_2;           /* enable resistor */
    ADMUX = Probe2;                /* set input channel to probe-2 & set bandgap ref */
    /* run dummy conversion for ADMUX change */
    ADCSRA = ADC_Mask;             /* start conversion */
    while (ADCSRA & (1 << ADSC));  /* wait until conversion is done */
    /* real conversion */
    ADCSRA = ADC_Mask;             /* start conversion */
    while (ADCSRA & (1 << ADSC));  /* wait until conversion is done */
    U_3 = ADCW;                    /* save ADC value */


    /*
     *  reverse mode, negative charging pulse
     *  set probes: GND -- probe-2 / probe-1 -- Rl -- 5V
     *  get voltage at probe-1 (voltage at DUT, i.e. RiL + ESR)
     */

    ADMUX = Probe1;                /* set input channel to probe-1 & set bandgap ref */
    /* run dummy conversion for ADMUX change */
    ADCSRA = ADC_Mask;             /* start conversion */
    while (ADCSRA & (1 << ADSC));  /* wait until conversion is done */

    /* read ADC in the mid of a negatve charging pulse */
    ADCSRA = ADC_Mask;             /* start conversion with next ADC clock cycle */
    wait10us();                    /* fixed pre-delay */
    DelayTimer();                  /* delay for pulse */
    R_PORT = Probes.Rl_1;          /* pull up probe-1 via Rl */
    R_DDR = Probes.Rl_1;           /* enable resistor */
    wait2us();                     /* first half-pulse */
                                   /* S/H happens here */
    #if CPU_FREQ < 8000000
    wait2us();                     /* second half-pulse */
    #endif
    R_PORT = 0;                    /* set resistor port to low */
    R_DDR = 0;                     /* set resistor port to HiZ */
    while (ADCSRA & (1 << ADSC));  /* wait until conversion is done */
    U_4 = ADCW;                    /* save ADC value */


    /*
     *  manage measured values
     */

    Sum_1 += U_1;        /* positive pulse without DUT */
    Sum_1 += U_3;        /* negative pulse without DUT */
    Sum_2 += U_2;        /* positive pulse with DUT */
    Sum_2 += U_4;        /* negative pulse with DUT */
    n--;                 /* next loop run */
  }


  /*
   *  process measurements
   */

  if (Sum_2 > Sum_1)               /* valid measurement */
  {
    /*
     *  calculate ESR
     *  - ESR = U_ESR / I_ESR
     *    with U_ESR = (U2 or U4) and I_ESR = (U1 or U3) / RiL
     *    ESR = (U2 or U4) * RiL / (U1 or U3)
     *  - since we divide (U2 or U4) by (U1 or U3), we don't need to convert
     *    the ADC value into a voltage and simply desample the sums.
     *  - so ESR = Sum_2 * RiL / Sum_1
     *  - for a resolution of 0.01 Ohms we have to scale RiL to 0.01 Ohms
     */

    /* voltage across the DUT (raw value) */
    Sum_2 -= Sum_1;           /* subtract voltage at DUT's low side (RiL) */

    /* ESR = Sum_2 * RiL / Sum_1 */
    Value = (uint32_t)(NV.RiL * 10);    /* RiL in 0.01 Ohms */
    Value *= Sum_2;                     /* sum of raw values for voltage across DUT */
    Value /= Sum_1;                     /* sum of raw values for voltage at RiL */
    U_1 = (uint16_t)Value;

    /* consider probe resistance */
    if (U_1 > NV.RZero)            /* larger than offset */
    {
      U_1 -= NV.RZero;             /* subtract offset */
      ESR = U_1;                   /* got result */
    }
    else                           /* offset problem or zero */
    {
      /* should only happen for large caps */
      if (CmpValue(Cap->Value, Cap->Scale, 1000, -6) > 0)
      {
        ESR = 0;                   /* can't be less than 0 Ohms */
      }
    }
  }

  /* update Uref flag for next ADC run */
  Cfg.RefFlag = ADC_REF_BANDGAP;   /* update flag */

  return ESR;
}

Because the "non valid" return value has changed, you also need to modify Show_Capacitor() in main.c and ESR_Tool() in extras.c. Simply change

Code: [Select]
if (ESR > 0)

into

Code: [Select]
if (ESR < UINT16_MAX)

That should support caps down to 10nF. The ESR values may differ a few percent for different MCU clocks because of the different test frequencies (-> Fourier series). Please let me know if the changes work for you.
 

Offline jakeisprobably

  • Regular Contributor
  • *
  • Posts: 168
  • Country: us
    • Upcycle Electronics
Re: $20 LCR ESR Transistor checker project
« Reply #3862 on: August 17, 2017, 07:02:16 pm »
Sorry I'm unable to help on the ESR experiment request ATM (still haven't finished my little tester).

 However, out of curiosity I have been wondering about a few questions. Hopefully someone can clear this up for me.

1.) What are the repercussions if someone were to build a transistor tester with different values for the probing resistors? For example, what if someone parallels 2 precision 1M resistors to make 500k's instead of a 470k, and/or parallels 2 1k's to make a 500ohm instead of a 680? Is this possible?

2.) Is the temperature coefficient of the resistors important in this application? What is the difference between someone measuring their stock of 5% resistors until they find 3 within 0.1% as opposed to purchasing 0.1% resistors outright?

3.) What about variations between the resistors on each channel? Is it more important to have resistors that are matched equally between each of the three probing channels or is it more important for the software to have the precision value of each resistor?

Thanks in advance, -Jake.
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 7695
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #3863 on: August 17, 2017, 08:31:25 pm »
1.) What are the repercussions if someone were to build a transistor tester with different values for the probing resistors? For example, what if someone parallels 2 precision 1M resistors to make 500k's instead of a 470k, and/or parallels 2 1k's to make a 500ohm instead of a 680? Is this possible?

Basically that's possible, but it will impact the resolution of some measurements and might render some measurement methods useless. If the values don't differ hugely from the defaults, like in your example, it should be ok.

2.) Is the temperature coefficient of the resistors important in this application? What is the difference between someone measuring their stock of 5% resistors until they find 3 within 0.1% as opposed to purchasing 0.1% resistors outright?

The Transistor Tester is no precision instrument, therefore the temperature coefficient isn't that important. Selecting the resistors is fine if you got a proper DMM. Resistors with a 0.1% tolerance are much less expensive than a 6-1/2 digit bench DMM ;)

3.) What about variations between the resistors on each channel? Is it more important to have resistors that are matched equally between each of the three probing channels or is it more important for the software to have the precision value of each resistor?

The resistors should be matched across all three channels. The firmware is designed that way to keep the math simple and the firmware small.
 
The following users thanked this post: jakeisprobably

Online indman

  • Super Contributor
  • ***
  • Posts: 1002
  • Country: by
Re: $20 LCR ESR Transistor checker project
« Reply #3864 on: August 18, 2017, 06:55:15 am »
Madires, you could prepare the new files cap.c and main.c ,extras.c  with for changeover of original?
I am ready to participate in testing!
« Last Edit: August 18, 2017, 06:58:14 am by indman »
 

Offline jakeisprobably

  • Regular Contributor
  • *
  • Posts: 168
  • Country: us
    • Upcycle Electronics
Re: $20 LCR ESR Transistor checker project
« Reply #3865 on: August 18, 2017, 05:32:10 pm »
Ya know... I try to wait until I'm done with a thread before sharing what I found, but in the first 10 pages of the Russian TT thread I found my hero:

I love upcycled junk...( I'm such a cheap hobo bastard...lol)

...I think I saved the best thread archive for last.
  The attached images are real creative catalysts for me. I have been mulling over the idea of how to integrate a mechanical clamping mechanism for a few weeks. The second I saw this it advanced my creative process exponentially
Russian genius! ;)
Edit:
https://youtu.be/1mUm0phFMJA
« Last Edit: August 18, 2017, 05:38:51 pm by jakeisprobably »
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 7695
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #3866 on: August 18, 2017, 05:58:20 pm »
Madires, you could prepare the new files cap.c and main.c ,extras.c  with for changeover of original?
I am ready to participate in testing!

Happy testing ;)
 
The following users thanked this post: indman

Offline tablatronix

  • Regular Contributor
  • *
  • Posts: 199
  • Country: us
Re: $20 LCR ESR Transistor checker project
« Reply #3867 on: August 19, 2017, 03:06:23 am »
Just put together one of the 2017 2578ay-at versions. I apologize for not reading the full thread, all 255 pages of it. But is anyone working on a branch with full color support and a snappier UI? Just seems like a waste with this restricted boring ui, is this really pushing at 328 as is. looks like its using 1.12k from seller.

Impressive spftware nonetheless, and hardware is killer for under $10

 

Offline firewalker

  • Super Contributor
  • ***
  • Posts: 2450
  • Country: gr
Re: $20 LCR ESR Transistor checker project
« Reply #3868 on: August 19, 2017, 07:38:55 am »
I'm working on the ESR measurement (m-firmware) at the moment and like to ask you for some beta testing. For testing you would have to replace the function MeasureESR() in cap.c with following:
...
...

I have the MK328 variant, with 126x64 lcd (fpc-12864). Is you code compatible?
Become a realist, stay a dreamer.

 

Offline madires

  • Super Contributor
  • ***
  • Posts: 7695
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #3869 on: August 19, 2017, 09:39:57 am »
Just put together one of the 2017 2578ay-at versions. I apologize for not reading the full thread, all 255 pages of it. But is anyone working on a branch with full color support and a snappier UI? Just seems like a waste with this restricted boring ui, is this really pushing at 328 as is. looks like its using 1.12k from seller.

You'll be eligible for an answer after reading all 255 pages and passing the Transistor Tester Advanced Technician exam. Just kidding. :) A fancy UI with full color support would incease the firmware size dramatically. So you'd have to drop several measurements and extras to make the firmware still fit into the ATmega 328`s 32kB flash memory. The m-firmware provides a little bit more colorful UI than the k-firmware, while the k-firmware has a menu function to change the fore/background colors. You can change the colors in the m-firmware too (colors.h). And if you want a really fancy tester build your own based on the 644/1284 circuit and add a touch screen. 8)
 
The following users thanked this post: tablatronix

Offline madires

  • Super Contributor
  • ***
  • Posts: 7695
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #3870 on: August 19, 2017, 10:04:18 am »
I have the MK328 variant, with 126x64 lcd (fpc-12864). Is you code compatible?

Presumably, if the MK328 got a LCD controller supported by the m-firmware.

BTW, if someone runs the m-firmware on a tester not listed in the "Clones" file, please send me your settings. I'll add them to the list to help other users.
« Last Edit: August 20, 2017, 09:22:49 am by madires »
 

Offline tablatronix

  • Regular Contributor
  • *
  • Posts: 199
  • Country: us
Re: $20 LCR ESR Transistor checker project
« Reply #3871 on: August 19, 2017, 03:33:59 pm »
I have the MK328 variant, with 126x64 lcd (fpc-12864). Is you code compatible?

Presumably, if the MK328 got a LCD controller supported by the m-firmware.

BTW, if someone runs the m-firmware on a tester not listed in the "Clones" file, please send me your settings. I'll wil add them to the list to help other users.

Thanks I figured as much, Ill check out the M fw. I am going to assume these cheap color lcds have no buffer hence the full screen slow updating during menu operations.

What variant is this chinese clone considered, came with no smd soldered ( and missing a resistor, arghh ), ignore my isp mod.

I am gonna have to update is soon, it wont save calibration, or always complains for some reason, and wont let me set the foreground to white, I think there is a bug in this version of fw, green channel goes to 63, rb goes to 31. shrug.
« Last Edit: August 19, 2017, 03:47:45 pm by tablatronix »
 

Offline MickM

  • Regular Contributor
  • *
  • Posts: 100
Re: $20 LCR ESR Transistor checker project
« Reply #3872 on: August 19, 2017, 09:19:57 pm »
Hi;
  You seem to be missing 3 of the input resistors.
So you only have 1 1/2 channels, not 3.

Mick M.
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 7695
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #3873 on: August 20, 2017, 09:39:07 am »
Thanks I figured as much, Ill check out the M fw. I am going to assume these cheap color lcds have no buffer hence the full screen slow updating during menu operations.

Color displays are slower because the Transistor Tester has to send 16 bits for a pixel instead of 1 bit for a monochrome display. And bit-banging SPI also adds some delay. You could upgrade your tester with a 16 MHz crystal to speed up the display output. With an ATmega 324/644/1284 it's possible to run hardware SPI.

PS: Your clone seems to be the AY-AT kit..
 

Offline madires

  • Super Contributor
  • ***
  • Posts: 7695
  • Country: de
  • A qualified hobbyist ;)
Re: $20 LCR ESR Transistor checker project
« Reply #3874 on: August 20, 2017, 09:48:00 am »
  You seem to be missing 3 of the input resistors.
So you only have 1 1/2 channels, not 3.

Maybe his clone was 50% off at AliExpress >:D BTW, I'd go for resistors with a 0.1% tolerance.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf