Author Topic: Keithley 197 - jitter/jumping last 2 digits  (Read 5776 times)

0 Members and 1 Guest are viewing this topic.

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 15149
  • Country: de
Re: Keithley 197 - jitter/jumping last 2 digits
« Reply #25 on: March 09, 2022, 07:14:23 pm »
CR102/CR104 are used for input clamping. The 1N4148/ 4149 are rather high leakage (comes with the high speed) - so the BAS45 would definitely be some improvement.
One may still get away with the 1N4148, as the leakage current can compensate from both sides. So if the zero is good enough one could as well keep them. U104 pin 6 should show the resulting DC offset.  Chances are more of the offset is from U104 compared to the diode leakage.
 
The following users thanked this post: Swainster

Offline corehbola

  • Contributor
  • Posts: 12
  • Country: br
Re: Keithley 197 - jitter/jumping last 2 digits
« Reply #26 on: December 18, 2023, 08:09:42 pm »
Hello TRobbins,
It's been a while since my last update on this issue on my Keithley 197, which by all means, looks very similar to yours.
I went through some house renovations which made my dungeon (sorry, my lab) unusable for more than a year.
Since a couple of months ago when I could start using my lab again, I think I can finally share some "discoveries".

1. Having ever wondered why, when grounded through a 10M resistor the readings would jump between some 0.5mV and every once in a while 1.5mV, I did an extensive troubleshooting and eventually found out that this is somewhat of a quirk of this meter's design.
It has to do with the Input bootstrap buffer, that is used to bias the Multiplexer FETs, and the way how the meter cycles through the different MUX inputs.
As the meter switches over from reading the Vref (2V, through Q113) and reading the Input (through Q111), right after the transition from having Q113 activated to having Q111 activated, the voltage appearing at the bootstrap amplifier output is still the 2V of the previous input.
When comparator that was enabling Q113 pulls its gate to -9V to cut it, and the comparator that will enable Q111 "opens" its O.C. output...
At that very moment, the voltage that is still present at the output of the bootstrap buffer (U101B, pin 1) is 2V, and since it's greater than 0.7V, it directly bias the gate to source junction of Q111, and current flows from the bootstrap buffer, through Q111 bias resistors, through Q111 gate-source junction (now innapropriately forwarded biased) out to the input stage of the meter, through R106, and ultimately ends up charging up C109.
Since the input is tied to a high impedance (10M), even though the bootstrap buffer remains at 2V for very little time, it's a low impedance source that charges the input capacitor by a small amount... and this charge lingers on enough to be sampled by the A/D converter (even though Keithley claims the A to D conversion happens after a software controlled delay that is implemented exactly to overcome the glitches that are created by the FET MUX switching).
But the FETs gates being forward biased after every transition from an input with a higher voltage (i.e. Q113 with 2V) to an input presenting a low voltage (i.e. Q111 with any voltage lower than 2V - 0.7V) is not the only place where that happens...
It also happens due to the clamping transistors Q114, that also "discharges" the 2V present at the output of the bootstrap buffer, into the FET MUX's output.

Alright, that's one part of my findings, but still... Why sometimes a lower value (around 0.5mV) and why sometimes a larger value (1.2 to 1.8mV in my case)?

2. That's when I scoped the FET MUX's activation signals (coming from the PIA) and realized that Keithley somewhat "cheated" in their claim of 3 readings per second!
It indeed reads the voltage input (Q111) 3 times per second, and it indeed reads the other inputs to keep proper track of Input Buffer Offset cancellation and gain drift, but those other inputs are not read 3 times per second... they're rather read 1 (or sometimes 2) times per second... as follows:
* At 200mV and at 2V scales (where there's no input attenuation from the input voltage divider) every second it switches the FET MUX 6 times:
a. it reads the 2V reference (Q113) once.
b. it reads the input voltage (Q111) once.
c. it reads the "zero" voltage (Q112) once.
d. it reads the input voltage (Q111) a second time.
e. it reads the input "zero" (Q112) a second time.
f. it reads the input voltage (Q111) a third time.

* At 20V, 200V and 1000V scales, it does more or less the same, but at step e., instead of reading the 0V input a second time, it reads the lo-side of the range attenuator voltage (through the range attenuator MUX comprised of Q104, Q107 and Q108) to be able to read the voltage drop on the range switch FETs (Q105, Q106 and Q109) and be able to compensate for the error introduced by them.

For each one of the six times above, it performs a complete A to D conversion so, it's not like in regular, non-microprocessed meters, that the reading of the zero, and the reading of the Vref is part of every A to D conversion...
The part of the A/D conversion that is related to "zeroeing" the A/D input is performed further down in the signal chain by U105B and Q119, and the part of the A/D conversion that usually requires the reference voltage, is performed, partly by the summation resistors R117A, R117B and R117C, and partly by the single slope current source R129, that is switched in to +5V by U105C.
In the 197 instead, it reads the 2V reference (Q113) 1 time per second, and it uses the value read during this one time, for the subsequent 3 voltage readings to compensate for any change of gain of the input stage.
And finally it also reads the 0V input (Q112) just once per second as well (twice for the 200mV and 2V ranges), to ocmpensate for any offset (and offeset drift) of the input stage.

3. Having said that, to fight (and possibly rule it out) that "design quirk" of the input FET MUX where the gates are momentarily forwarded biased, I designed an entire new analog switching MUX, using modern analog switch ICs, and replaced all the FETs in the input MUX by a MAX329 analog switch, all the FETs in the range attenuator switches by an DG412 analog switch (for its low RDSon), and all the FETs that samples the range switch voltage drops, by a MAX327.
I could have made the input MUX with the MAX327 as well, but I decided to use the MAX329 because, being a 4 to 1 analog switch, it has internal "brake-before-make" delay, which would make it impossible for any charge injection due to any glitches in the transitions from one input to another...
Sure enough though, to drive the selection binary encoded inputs of the MAX329, I had to convert the 4 FET control inputs (coming from the PIA) into 2 bit encoded signals (4 combinations), using a CD4532 priority encoder.
It was a challenging prototype, because it needed to fit exactly in the area of the PCB where all the FETs are, but I managed to make it and it's working exactly as intended.

Still, even though I ruled out completely that "charge injection" that could be possibly coming from the FETs' gates being forwarded biased... (there's no room for that to occur anymore because the analog switch ICs use CMOS transistors and not FETs)...
The same weird behavior of a reading around 1.2mV to 1.8mV every once in a while, still happens...

So, there are more misteries yet to find out.

 
The following users thanked this post: Kleinstein

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 15149
  • Country: de
Re: Keithley 197 - jitter/jumping last 2 digits
« Reply #27 on: December 19, 2023, 09:49:17 am »
Interesting to see that the meter does more than the simple AZ cycle with 3 readings. To a certan degree it makes sense to use a zero or reference reading for a longer time. However this can interfere with the suppression of 1/f noise and lead to thus more than normal LF noise. A similar effect is a candidate for the extra LF noise seen in the K2002, DMM7510 and a few more Keithley meters.
I had no so much expected the more complex cycle already in the old meters.

Changing the input switching is quite some effort for such an old meter. CMOS switches can make things a little easier, bit they can also have some switching spikes / charge injection.
With a rather high impedance source it is normal that the recovery takes longer and the waiting time by the DMM may not be sufficient. With more normal signal sources this may not be an issue anymore.
It is still a bit odd to get outlyers only relatively rarely - there would be special readings in the cycle (e.g. temperature) or maybe coincidence with data transfmissions. Another nasty source for interference are mobile phones - they sometimes send relatively strong pulses.  Wlan may also occasionally get more active, if the are collosions or a new participant stirring up the configuration.
 
The following users thanked this post: corehbola

Offline corehbola

  • Contributor
  • Posts: 12
  • Country: br
Re: Keithley 197 - jitter/jumping last 2 digits
« Reply #28 on: December 19, 2023, 04:28:36 pm »
Thanks Kleintein for the heads up.

Indeed, without absolute knowledge of what the firmware is doing, it's a pain to troubleshoot the A/D, because nothing can be taken for granted (since the uP is actually entitled to do whatever the programmer felt like doing).
There's just so much that we can deduce by just looking at the pure sequential logic (the few gates, counters and flip-flops that are used in the charge-balance section of the A/D), that works on its own independently from the uP.
And the Theory of Operation described in the manual is very, very superficial.

Since the signals repeat so slowly, to me at least who have an analog oscilloscope with only three channels (even though with storage CRT), it was hard to catch the spikes during the MUX transitions, but they're there! They raise all the way up to 1.5 ish volts, and the big part of them last for some 200us.
But the evil is in the lingering... as the discharge is exponential, after the greater part of the spike went away, the reminiscent charge can take quite long to dissipate and it's impossible to see it well in the oscilloscope because it's Hi-Z and 60Hz pick-up gets in the way of a cleaner reading (and adding a capacitor to filter out the signal is not an option).
And I was only able to reach any conclusion because in my scope (a Tek 7623A), I have a 7A13 (differential comparator), which allowed me to increase the gain all the way up to 1mV/div and use the infinity impedance input (whch is quite leaky in comparison to the 197's input btw).

But further down the rabbit hole, I`m finally coming to a conclusion about what was annoying me the most, which is the quite high noise of 2 digits (+ or = 40ish counts), even shorting the inputs.
I knew the charge injection from the MUX was a "bitch", but I also knew it could not be the cause for that with shorted inputs.
And as this +-40 counts are irrespective of range, I knew it could only be from the A/D itself, so I went down that road and started investigating the A/D operation.
I was looking at the output of the integrator and finding it very weird that I could never see it goes through the "Single Slope" stage of the conversion.
I could see it doing the multiple charge-balance up/down ramps, but it would never go to zero volts... instead it was going - every so often - to saturation of the A/D integrator op-amp (all the way to +V).
At first I wasn't sure if that was some artifact from the way how the uP controls the process... but as I dug a little bit more into the A/D workings, I can now tell for sure there's something wrong with the A/D.
It seems it's not performing (at all) the last stage of "Single Slope" conversion...It's obtaining whatever readings it's getting with only the result of the first stage of the conversion (i.e. the "charge-balance" stage).
I never thought it would be even possible to have such a "gross" malfunction and the meter still be able to operate... but that, I think, it's thanks to the "software calibration" feature and the fact the calibration constants can compensate for a very wrong reading.

And no, I never "reset" the calibration constants because I was in the hopes I could still get away with having to calibrate the meter again. |O

Right now I have unsoldered all the analog part of the A/D circuitry because I wanted to be sure there was nothing hiding under the components (maybe some contamination, or solder flux, etc...), and also be able to confirm out-of-circuit, if all the components are healthy.
But as soon as I put everytihng back again, I`m sure I`ll be able to monitor the relevant control signals and understand why the A/D is not performing the last "Single Slope" conversion stage.

I`ll keep you all posted. I think I`m very close to solve this problem (which I think is exactly the same as what @Trobbins have).
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 15149
  • Country: de
Re: Keithley 197 - jitter/jumping last 2 digits
« Reply #29 on: December 19, 2023, 05:48:14 pm »
There is no really clean separation between the analog and digital part. The flipflop U117 is used also as an analog switch to control the reference signal from the +5 V_A.
The ADC seems to need a rather stable supply for the +5VA = reference for the ADC, +5 V_D and the -6.4 V (used for offset to the ADC input and thus ideally derived from the +5V_A and not a separate zener reference  :-//). With only 5.5 digits they may get away with a lot of things that are not ideal.

If the slow rundown is not working at all this could be an issue with U105 / R129 , but also the logic part controling the rundown. Ideally I would have expected an error message as the µC should detect that it never reaches zero. A first point would be to check the control signal (U105 pin11 = comparator output). U105 is worth checking as it get signals from a different supply than it's supply and the old CMOS chips were a bit susceptible to latchup.

To get all the way to positive saturation for the integrator could be an issue with excessive leakage at the integrator input  (e.g. gate leakage of Q120). So the 1 M resistor to 5 V may not be strong enough to overcome this. For a crude test one could try some extra resistance in parallel to give it more power.
 
The following users thanked this post: corehbola

Offline corehbola

  • Contributor
  • Posts: 12
  • Country: br
Re: Keithley 197 - jitter/jumping last 2 digits
« Reply #30 on: December 19, 2023, 08:46:04 pm »
Very well noticed that U117, even though it's on the digital "realm" it's purposedely fed from the +5V_A...
It's because its output is used to feed the charge-Balance current (through R178 7.78k). It's even curious they went all the way to connect another 7.78k resistor to the Q output of the flip-flop... Possibly to minimize fluctuation of the ground? Not really sure.
And well noticed (again) it would have been more sensible to generate the -6.4V using the +5V_A reference, because both are used to source currents to the A/D input so, minor drifts from one would be "tracked" by the other and possibly cancel out.
But, as you said, being "just" 5.5 digits, they may have been able to get away with that.
I`m also stumped by the single slope run-down could be completely inoperative and still the meter would somehow get along with it... It looks like the A/D "times-out" at the end of the cycle and the uC doesn't care about it.
And I know it's not a matter of firmware revision, because I just got 2 newer firmwares (C1 and C2), and they work exactly the same.

I got them because, the documentation of Keithley, being so "hand made" don't provide any information, in terms of what versions of firmware were released and which ones accompanied each of the electrical changes.
And when you get only the latest version of the schematics (because it's the only one you can find on the Interwebs), anyone trying to make the meter "free of bugs" only have the option to implement everything that's on the later drawing... which is exactly what I ended up doing.

Regardng the positive saturation of the integrator... I agree with you... it must be either leakage (for which I did already some tests of the FETs Q119 and Q120 and they seem to be fine), or U105 may be acting up.
I recall having read on some datasheet that those CMOS analog switches are rather sensitive to order of power-up, that the negative power coming on before the positive may damage them in the long run.
And the power supplies of the 197... Let's say there haven't been much design effort in start-up / shut-down sequencing.
If much, the only thing I noticed that resembles this kind of effort is VR101, bet even so, I never got to fully understand its purpose.

Anyway, in a couple of days more (tops) I will know what is going on with that A/D.
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 15149
  • Country: de
Re: Keithley 197 - jitter/jumping last 2 digits
« Reply #31 on: December 19, 2023, 09:45:41 pm »
VR101 is likely there for the start up. The -9 V supply is used to provider the zener current to VR102 and the voltage at VR102 is used to generate the -9 V. Depending on the offset of the OP-amp the circuit without VR101 may get stuck with 0 V instead of -9 V.

The resistor to ground at the inverted output of the FF is there to keep the current loading to +5V_A constant, at the cost of a variable ground current.


The ADC is actually relative similar to the 6 digit bigger brother K193 with not that much extra refinements. The 2nd slope for the rundown is more a faster one, not so much one for higher resolution. So the ADC itself may be capable of more resolution, though maybe noise and accuracy limited.
 
The following users thanked this post: corehbola

Offline corehbola

  • Contributor
  • Posts: 12
  • Country: br
Re: Keithley 197 - jitter/jumping last 2 digits
« Reply #32 on: December 22, 2023, 05:17:19 pm »
Hello Kleinstein,

Bingo! The analog switch IC (U105, CD4053BE) was shot.
U105B (pin 5) was not pulling down the gate of U120 and therefore, U120 was conduting all the time, making it impossible for R129 to compete.
Therefore, instead of a rundown, the integrator was doing a run-up all the way to +V saturation.
Indeed, the Single-Slope comparator was never firing, and somehow, the uC / firmware didn't care about that.
After replacing U105, when I ground the input leads I get rock solid 0.00000V in the 2V scale, and 000.000 ±1 LSD (which is in accordance to the 197 specs 1.5uV of noise).
The ± 43 LSD I was getting, regardless of scale, I think it was exactly the "remainder" of the charge-balance conversion which was missing the single slope run down to "zero-in" to the exact reading.

I hope the issue with Trobbins is exactly the same.
It's very easy to spot (now that I know). You only need to look at the output of the inegrator (U110, pin 6) and if it never goes to 0V and instead, goes every so often to positive rail saturation (± 9V), it's probably the same culprit.

For records sake, I will post pictures of the waveforms (both before and after the repair).

Merry Christmas and Happy New Year!
 
The following users thanked this post: tooki

Offline indy

  • Newbie
  • Posts: 4
Re: Keithley 197 - jitter/jumping last 2 digits
« Reply #33 on: October 24, 2024, 03:27:56 pm »
Hi all,
I hope can find some help here.
I've a Keithley 197 which shows an always positive drift on the last 2~3 digits, It's seems to stop after ~1 hour if I don't touch any of the front panel controls.
This happens on any range.
I've started to do check of internal nodes and the only weird thing I've found is -V node at -14.5V, it's showing ~200mv of 100hz rectifier cap ripple. This node, from schematic, should be -15V see R132 and VR105 (which should be a 15V zener)
R132 is at nominal value and VR105 was tested working, so I guess there is some unexpected current request from -15V that is able to bring the node too low to make VR105 work.
all other voltages seems clean and at nominal value (-9V, -6.4V, +5V A and D, +10V)
Moreover I've was not able to spot any issue in the measure path or A/D waveform.

Please let me know if  -V is expected to be -15V & clean, and any of your thoughts on this  issue.

Regards,
Fabio I.
 

Online Kleinstein

  • Super Contributor
  • ***
  • Posts: 15149
  • Country: de
Re: Keithley 197 - jitter/jumping last 2 digits
« Reply #34 on: October 24, 2024, 05:27:42 pm »
Under which conditions is the drift observed ? (open / shorted input, Az mode enabled).

In the non AZ mode some drift is normal. Even with the AZ mode a little warm up drift in the first hour or so (for a meter without a fan also longer) can also be normal. Is there an offset - so what is the reading with a shorted input.
With an open input drift is normal, especially in high Z mode - there 3 LSB steps would even be surprisingly little.  In the 10 M impedance more the input bias can also caus additional drift and a little offset can be normal.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf