I personally find the tan(delta) or D (dissipation factor) a more convenient measure, as it is independent on the capacitance.
Exactly, I agree with you, but unfortunately, this parameter can only be measured correctly by a full-fledged LCR meter.
The tester will not be able to do this.
Latest retirement Project, following von Boleslaw J. great work, except the 2.8" TFT is in case with the AY-AT Board
Got JLC making von Boleslaw J. (boleslaw_43) Adapter_328-644_106_quartzw there still in production, takes like 2-3 weeks before I get them. they or 5 on a part, so 25 total! anyone who want's one, there free for the taking (20) just pay shipping (self return stamped envelope) C1 100uf, R1 360 ohm, C2 C3 22p
Should be C1 100 nF, R1 680 Ohm.
Well done! I like it. Powered by a rechargeable battery, charged via USB socket.
Got JLC making von Boleslaw J. (boleslaw_43) Adapter_328-644_106_quartzw there still in production, takes like 2-3 weeks before I get them. they or 5 on a part, so 25 total! anyone who want's one, there free for the taking (20) just pay shipping (self return stamped envelope) C1 100uf, R1 360 ohm, C2 C3 22p
Should be C1 100 nF, R1 680 Ohm.
Well done! I like it. Powered by a rechargeable battery, charged via USB socket.
Thanks, I changed those values in the post. soon as I verify the Enclosure Case I will share the stl and Cad Files
indman & Feliciano,
Thanks for the FNIRSI m-firmware adaptation. It works for my unit as well. (I left the STC in circuit)
If it's not too much trouble, can you post the source code which you used to compile the "LCR-TC1 FNIRSI 1.51mEn(SPI bitbang).zip" HEX & EEP files as per
your earlier post?
If you want the binaries, indman shared some a few days back (I asume that's the one you're running?). He also has the more polished version of the schematic. 2hry also shared key configuration and binaries to help accelerate this development.
Nevertheless, if you want to adapt the code to you liking, my m-firmware device_specific configuration is:
MCU = atmega324p
FREQ = 16
PARTNO = m324pa
#define HW_ZENER
#define ZENER_R1 100000
#define ZENER_R2 12000
#define ZENER_UNSWITCHED
#define HW_PROBE_ZENER
#define ZENER_VOLTAGE_MIN 1000 /* min. voltage in mV */
#define ZENER_VOLTAGE_MAX 22000 /* max. voltage in mV */
#define HW_IR_RECEIVER
#define HW_ADJUST_CAP
#define BAT_DIRECT
#define BAT_OFFSET 0
#define LCD_PORT PORTB /* port data register */
#define LCD_DDR DDRB /* port data direction register */
#define LCD_RES PB4 /* port pin used for /RESX (optional) */
#define LCD_DC PB3 /* port pin used for D/CX */
#define LCD_SCL PB7 /* port pin used for SCL */
#define LCD_SDA PB5 /* port pin used for SDA */
#define LCD_DOTS_X 128 /* number of horizontal dots */
#define LCD_DOTS_Y 160 /* number of vertical dots */
#define LCD_OFFSET_X 2 /* enable x offset of 2 or 4 dots */
#define LCD_OFFSET_Y 1 /* enable y offset of 1 or 2 dots */
#define LCD_FLIP_X /* enable horizontal flip */
#define LCD_ROTATE /* switch X and Y (rotate by 90°) */
#define ADC_PORT PORTA /* port data register */
#define ADC_DDR DDRA /* port data direction register */
#define ADC_PIN PINA /* port input pins register */
#define TP1 PA0 /* test pin / probe #1 */
#define TP2 PA1 /* test pin / probe #2 */
#define TP3 PA2 /* test pin / probe #3 */
#define TP_ZENER PA4 /* test pin for for Zener check (10:1 voltage divider) */
#define TP_REF PA3 /* test pin for 2.5V reference and relay */
#define TP_BAT PA5 /* test pin for battery (4:1 voltage divider) */
#define TP_CAP PA7 /* test pin for self-adjustment cap */
#define R_PORT PORTC /* port data register */
#define R_DDR DDRC /* port data direction register */
#define R_RL_1 PC0 /* Rl (680R) for test pin #1 */
#define R_RH_1 PC1 /* Rh (470k) for test pin #1 */
#define R_RL_2 PC2 /* Rl (680R) for test pin #2 */
#define R_RH_2 PC3 /* Rh (470k) for test pin #2 */
#define R_RL_3 PC4 /* Rl (680R) for test pin #3 */
#define R_RH_3 PC5 /* Rh (470k) for test pin #3 */
#define POWER_PORT PORTD /* port data register */
#define POWER_DDR DDRD /* port data direction register */
#define POWER_CTRL PD7 /* control pin (1: on / 0: off) */
#define BUTTON_PORT PORTB /* port data register */
#define BUTTON_DDR DDRB /* port data direction register */
#define BUTTON_PIN PINB /* port input pins register */
#define TEST_BUTTON PB2 /* test/start push button (low active) */
#define IR_PORT PORTD /* port data register */
#define IR_DDR DDRD /* port data direction register */
#define IR_PIN PIND /* port input pins register */
#define IR_DATA PD3 /* data signal */
#define ADJUST_PORT PORTC /* port data register */
#define ADJUST_DDR DDRC /* port data direction register */
#define ADJUST_RH PC6 /* Rh (470k) for fixed cap */
Feliciano,
Yes, I'm running the firmware uploaded by indman. (LCR-TC1 FNIRSI 1.51mEn(SPI bitbang).zip)
The schematic will be helpful as well so I've also saved a copy of that. Thanks.
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
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.
No,there shouldn’t be such a big difference in the readings! It is not normal. I wonder what the results will be on the Feliciano clone?
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.
I also have a difference in readings, but not so significant...
I think something is not quite right with m-firmware for large Capacitors, at least for 1.51m, and for this new TC1 variant. Has somebody tried an older version?
I think something is not quite right with m-firmware for large Capacitors, at least for 1.51m, and for this new TC1 variant. Has somebody tried an older version?
I think that the issue is not the new or old version of m-firmware, but the fact that your FNIRSI clone tests electrolytes completely differently from Kim Christensen. I think that there is some other hardware difference from the standard in these clones that does not allow the firmware to function normally. Or the firmware is not yet fully adapted.
It could be either one: hardware or firmware. That's the thing to determine now. But the odd part here is that the failure seems to be LCR-Monitor specific, not normal DUT measurements
Regardless, one approach could be to check with older m-firmware, other it could be check your later schematic (could you please share it with me?) against the PCB and against the configuration files.
Actually I'm busy now, so maybe someone else wants to take the lead from here.
I think that the issue is not the new or old version of m-firmware, but the fact that your FNIRSI clone tests electrolytes completely differently from Kim Christensen. I think that there is some other hardware difference from the standard in these clones that does not allow the firmware to function normally. Or the firmware is not yet fully adapted.
I assume the one on the right is Feliciano's unit:
EDIT: Updated to better picture. Ignore the test loop wire.
From what I can see, it looks identical to mine. I'll do some double checking of the schematic against my unit:
Yes, the one under study is the one the right.
I also uploaded a high-res photo of the MCU and it's traces and external components, just in case.
Please also check the LCR-related configuration, because it seems the error is in that use-case, and with relative large capacitors.
UPDATE:
For my unit and 1.51m configuration, and for the LCR-Monitoring feature: Capacitors <22uF are quickly detected with reasonable values. Larger capacitors are either not detected or seldom detected as Inductors (normal measurements for those work properly, 'though).
#define SW_INDUCTOR
#define SW_ESR
//#define SW_OLD_ESR
#define SW_ESR_TOOL
#define SW_CAP_LEAKAGE
#define SW_MONITOR_RCL /* R plus L, or C plus ESR */
//#define SW_MONITOR_HOLD_ESR /* auto-hold ESR (C monitor) */
//#define SW_MONITOR_HOLD_L /* auto-hold L (L monitor) */
#define SW_C_VLOSS
Feliciano or indman,
What AVR toolchain are you using? Googling shows some old ones like WinAVR and then newer stuff like Microchip Studio. I've never programmed with AVRs. Just PICs and older stuff like 68HC11, etc so it's a bit of a learning curve.
Hardware wise:
On my unit, the 78L05 is dropping out of regulation since U6, the SDB628 boost reg, is only outputting 6.5V (R18/R19 sets it to a nominal 6.6V but tolerances give me a bit less). So the 5V line was fluctuating at around 4.8-4.9V. I temporarily bridged a 100K resistor across R19 which boosted the input voltage to the 78L05 to 7.1V... Then the 5V stabilized. While it didn't make any significant difference to the capacitance readings, I did notice that it effected the battery voltage readout which leads me to believe the firmware I'm using doesn't use the TL431 reference and instead uses the 5V supply as the reference.
I did notice an error on your schematic though:
I did notice an error on your schematic though:
I will correct this inaccuracy on my schematic, but it's not essential. I'm more interested in what is the capacitance rating of C13 and C10 on your board?
And one more question - PB1(41pin) is connected to +5V through resistor R7. It is also directly connected to somewhere else through a via hole. Where?
Kim Christensen,
Feliciano, check this new firmware for your clones. How will large capacitances be measured on it?
It would also be useful if you provided the results of hardware self-tests T1-T6 and self-correction tests A1-A6.
What AVR toolchain are you using?
I'm ussing the original that came with WinAVR2010, because if I replace it with the one I used to use, it gave me errors when trying to enable hardware SPI (which we don't use for this case anyways).
Hardware wise:
On my unit, the 78L05 is dropping out of regulation since U6, the SDB628 boost reg, is only outputting 6.5V (R18/R19 sets it to a nominal 6.6V but tolerances give me a bit less). So the 5V line was fluctuating at around 4.8-4.9V. I temporarily bridged a 100K resistor across R19 which boosted the input voltage to the 78L05 to 7.1V... Then the 5V stabilized. While it didn't make any significant difference to the capacitance readings
I also noticed the same, the boost is giving me 6.xV, but the linear regulator seems to hold 5V (haven't had time to check thouroughly). I was considering reinforcing the boost capacitor (that was giving me trouble at the begining), but now you mention the resistor mod and its effects, I will consider it too.
I did notice that it effected the battery voltage readout which leads me to believe the firmware I'm using doesn't use the TL431 reference and instead uses the 5V supply as the reference.
IIUC, for Vref you can choose to read the TL431, or use the internal Vcc/2 of the ATmega (which I'm currently using):
/*
* 2.5V voltage reference for Vcc check
* - default pin: PC4 (ATmega 328)
* - should be at least 10 times more precise than the voltage regulator
* - see TP_REF in config-<MCU>.h for port pin
* - uncomment to enable and also adjust UREF_25 below for your voltage
* reference
*/
//#define HW_REF25
/*
* Typical voltage of 2.5V voltage reference (in mV)
* - see datasheet of the voltage reference
* - or use >= 5.5 digit DMM to measure the voltage
*/
#define UREF_25 2495
#define TP_REF PA3 /* test pin for 2.5V reference and relay */
Kim Christensen,Feliciano, check this new firmware for your clones. How will large capacitances be measured on it?
It would also be useful if you provided the results of hardware self-tests T1-T6 and self-correction tests A1-A6.
Thanks. I'll update my unit in a bit. Need to sort out my dodgy AVR programming hardware first. Was using AVRdude and ponyser, a serial port bit-banger which was glacially slow via a USB to serial adapter. I knew it would be slow trying to bitbang via USB-->Serial but it was much slower than I expected.
Going to try an older computer that has a legacy serial port, but gotta get it up and running 1st.
Meanwhile, here the test results from the previous firmware you gave us. I'll post another test result after updating with your latest firmware:
Just ignore my nose/mouth reflection.
I did notice an error on your schematic though:
I will correct this inaccuracy on my schematic, but it's not essential. I'm more interested in what is the capacitance rating of C13 and C10 on your board?
And one more question - PB1(41pin) is connected to +5V through resistor R7. It is also directly connected to somewhere else through a via hole. Where?
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.
Kim Christensen,Feliciano, check this new firmware for your clones. How will large capacitances be measured on it?
It would also be useful if you provided the results of hardware self-tests T1-T6 and self-correction tests A1-A6.
Ah... So much faster/reliable using a legacy serial port.
OK, here's the updated capacitance readings. Looks pretty much the same as the last version:
Cap "Auto" "LCR mon"
1uF 1.083 1.079
10uF 10.35 10.33
39uF 37.75 38.35
120uF 103.6 124.6
270uF 162.0 272.9
680uF 342.2 625.6
1000uF 525.3 960.7
3900uF 3240 3790
I used the same capacitors as last time. Here's the previous readings for easy reference:
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
And the new self tests/corrections:
Kim Christensen,Feliciano, check this new firmware for your clones. How will large capacitances be measured on it?
It would also be useful if you provided the results of hardware self-tests T1-T6 and self-correction tests A1-A6.
Thanks. Your binaries probe there's something in the configuration that affects measurements of large capacitors (large meaning >22uF for my configuration).
As study subject I keep using the "SANYO" 1000uF/35V:
- With my 1.51m, the normal measurement shows values close to 1000uF, but the LCR monitoring some cycles detect nothing, some cycles goes bananas and reflect an 8uH inductor. To rise the boost converter output to 7V and/or to enable/disable the TL431 ref makes no big difference in that regard
- With your 1.51m binaries, the normal measurement shows 430uF, and the LCR monitoring shows 1300uF the first time, and 880uF afterwards
I attach the calibration and test results, with test leads.
I also noticed the same, the boost is giving me 6.xV, but the linear regulator seems to hold 5V (haven't had time to check thouroughly). I was considering reinforcing the boost capacitor (that was giving me trouble at the begining), but now you mention the resistor mod and its effects, I will consider it too.
Another option would be to replace the 78L05 with a 5V LDO regulator of the same pinout. The only negative I see with increasing the boost voltage, is reduced battery life as a bit more power is dissipated in the 5V linear reg, but it's the simplest of the options.
BTW, I measured the current draw off the battery at various voltages. Fluctuated at bit as it did it's thing:
3.10V = 155-200mA
3.80V = 120-150mA
4.14V = 107-132mA