Keithley 2015 DMM Repair - Page 1
Forum section: electronics / repair

author: amc184
author_rank: Regular Contributor
timestamp: April 10, 2021, 11:05:44 pm
content: Some time ago a Keithley 2015 was listed on our local eBay equivalent as non-working. You don't see a lot of stuff like this available in New Zealand, and the prices was low enough, so I decided to give it a punt.When I got it I found that someone had replaced most of the electrolytic capacitors, but had done a pretty poor job of it. They had damaged some of the pads, and had installed used capacitors as replacements, at least two of which were themselves non-functional (probably worse than the originals). The first thing I did was replace all of these withnewones. I've put the BoM I used below in case it helps anyone in the future:DesignatorValuePart NumberC131, C148, C5682200µF 35VEKMG350ELL222ML25SC1566800µF 16VEKMG160ELL682MLN3SC1462200µF 25VEKMG250ELL222MK25SC104100µF 63VEKMG630ELL101MJC5SC3504700µF 16VEKMG160ELL472ML25SC562, C5651000µF 50VEKMG500ELL102MK25SC346, C34747µF 100VEKZN101ELL470MH15DC326100µF 25VEMVY250ADA101MF80GA few notes:Most are Nippon Chemicon KMG (a general purpose 105°C series).I used low impedance KZN series one for C346 and C347, as the originals were also low impedance.I didn't chose MVY series for C326 for any other reason than it is because it was what I had to hand.These weren't nessesarily a perfect match for the originals, bvut they should work fine. There's a lot of different combinations here that would work.However, this didn't fix the issue (description in next post). Here are a couple of photos showing the unit in its current state:

author: amc184
author_rank: Regular Contributor
timestamp: April 10, 2021, 11:38:56 pm
content: Replacing the capacitors was necessary I think, but didn't solve the problem with this unit. When powered on it runs in three malfunctioning states:Measurements are made, but the relays are clicking in and out the whole time. Not chattering, like if there were a PSU issue, but randomly switching. There are both loud and quiet clicks - the relays in this unit are a dual latching type, and I think the softer clicks are the relays being set to the same state they were already in. Measurements of 498V in DCV 1000V range and 4.98V in DCV 10V range are shown, all other DCV ranges and ADC, AAC ACV and resistance are all overrange.Measurements are made, no relay noise even when changing function or range. Measurements are all near zero and meaningless.Measurements stop being made, no relay noise, value is either the last value measured, or dashes if the range or function is changed. After about four or five keypad presses the user interface stops responding.The DMM can start in any one of these modes, but the first mode only persists for up to 30 seconds or so, then it will go to either the second or third mode. Unfortunately while the 2015 shares a mainboard with the 2000, it does not include the 2000's self test function. Because of this I don't have any error codes to start me off.The first thing I checked were a number of voltages. I have a second, working 2015 to compare with. Here was what I found:VoltageTest PointGood 2015Bad 2015, Mode 1 or 2Bad 2015, Mode 3+20V URCR102-122.3522.4922.53-20V URCR102-2-22.28-22.43-22.60+9V URCR103-18.479.209.50+15VU132-715.6815.7015.72-15VU132-4-15.84-15.77-15.79+5VU130-165.044.964.97+2.5VU115-42.512.472.48+14VQ130-213.9014.080.71-14VQ129-2-13.90-14.08-1.28VREFU141-16.957.040.64This shows everything is working fine except for in mode three, where the +14V and -14V supplies are very low, and VREF is low. I've also noted where I measured each value above, I got this from the schematic located here:https://xdevs.com/fix/kei2000/A huge thanks to whoever created these and to xDevs for hosting them, I would have been completely lost without them. Note that the problems I have with this 2015 persist when then the audio board is completely disconnected, meaning that this is almost certainly a problem with the part that is common between the 2000 and 2015.More in next post.

author: amc184
author_rank: Regular Contributor
timestamp: April 11, 2021, 12:05:38 am
content: It was interesting that VREF is only missing in mode 3, so it's not dead. I decided to peruse why the meter was going into mode 3, as that's where things are obviously wrong.Looking at schematic section 1 attached, I can see that the reference is formed by the zener in the LM399 (U141) being biased by the +14V supply through resistor R216. The reference supplies (+14V and -14V) are actually generated from VREF, so it wasn't immediately clear if VREF was low because +14V was low, or vice versa. I think R315 is there to bootstrap this all to life at power up.I had a look for anything that could pull down VREF, but it isn't used in many places, all of which are (or at least should be) high impedance inputs. So I decided to focus on issues that could affect the +14V supply.I checked all the voltages on resistor network R271, which among other things forms part of the feedback network for the +14V and -14V supplies. I noted the following:R271 PinFunctionValue Should BeActual ValueR271-1+14V supplyVREF x 20.60R271-16+13.3V referenceVREF x 2 x (19/20)0.66R271-2+7V feedbackVREF0.66R271-150V feedback00R271-3-14V supplyVEDF x -2-1.07These pins form a 40kΩ divider between the +14V and -14V supplies. The tap at 10kR from +14V should be matched to VREF by U139-B to regulate the +14V supply. The centre tap should be matched to AGND by U139-A to regulate the -14V supply. The issue I noted is that pins 16 and 2 have exactly the same voltage - this shouldn't be the case.More in next post.

author: amc184
author_rank: Regular Contributor
timestamp: April 11, 2021, 12:29:09 am
content: Next I looked at where the +7V and +13.3V signals are used aside from the reference supply. They are both used in the resistance measurement current source, see first schematic section attached. Switch U133A connects the +7V signal to this circuit, and should be on when using the 100, 1k, 10k, 10M and 100MΩ resistance ranges. Switch U133D connects the +13.3V signal to this circuit, and should be on when using the 100k and 1MΩ resistance ranges. In no case should both the U133A and D switches be on at the same time, but when the unit is in mode 3 they are.U133 is a DG444 - a CMOS switch with four separately controllable elements. When in mode 3 input pins 1 and 8 are both low, which closes switches A and D. There is no issue with U133, it's doing what it's told.https://www.vishay.com/docs/70054/dg444.pdfU133 is driven by pins 13 (Q6) and 14 (Q5) of U134, an MC14094B 8-bit shift and store register. Together with U121, U109 and U106 they form a 32-bit shift and store register, which control many of the functions of the mainboard. See second attached schematic section.https://www.onsemi.com/pdf/datasheet/mc14094b-d.pdfThis shift register is driven from U165, which seems to be a CPLD used as glue logic that manages the isolated interface with the earth referenced part of the DMM. U165 drives the shift register through a three wire interface; STR (strobe), CLK (bit clock) and DATA (serial data).More in next post.

author: amc184
author_rank: Regular Contributor
timestamp: April 11, 2021, 01:15:20 am
content: Next I looked at these signals on a scope. DAT and CLK looked reasonable (see attachments 1 and 2). CLK is a stopped clock, which is only active when data is being clocked out, this is likely normal. STR is completely missing.STR is only used to clock the four shift registers, so I decided to desolder resistors R165, R200, R279 and R111 to completely unload this signal. After this I scoped the STR pin (U165-25), and saw something (probably just ground bounce from other signals in this IC, see attachment 3), but certainly not a valid strobe signal.I also scoped STR1, a second strobe signal for a different shift register that shares the DAT and CLK pins, and it looks correct, see attachment 4.From all of this I think:In mode 1 the shift register chain (U121, U134, U109 and U106) is latching from junk residual signal on the STR line. This leads to junk data at the output of this register, including the inputs to switch U133.The output threshold of U165 or the input thresholds of the shift registers change over time, so they stop seeing any STR signal after some time and the DMM enters mode 2.If the junk output causes switches U133-A and U133-D to close at the same time the DMM enters mode 3. This seems to cause some issue with the main processor, and is stops sending data to U165.Probing the STR output of U165 while the unit is running and the resistors are all in place causes it to enter mode 2 - probably the additional capacitance of the probe completely kills the junk signal.The big conclusion is that U165 is probably bad. Fan-bloody-tastic, that's the one custom IC on the entire mainboard!The point of these posts: please shout out if you think I'm off track, or I've missed something. Also, to help anyone else that might strike a similar weird issue. And, if you happen to have a 2000-802A02 (U165) lying around, do reach out! I'll be trying to get one through the local Keithly / Tektronix distributor, hopefully they're still available (the 2015 is still in production I think).

author: amc184
author_rank: Regular Contributor
timestamp: April 11, 2021, 01:25:59 am
content: As an aside, when removing resistors R165, R200, R279 and R111 from the bottom side of the mainboard I noticed that one end of R336 is unsoldered. The surface mount components on the underside of the board have been wave soldered in the same process as the through hole components. They're all glued down, which is the red stuff you can see squeezing out from beneath some of them. The glue holds them a bit above the board, so this resistor would never have been making contact, and I verified that it's not making a connection now with a multimeter.I've attached a photo of the resistor, along with the section of the schematic that includes R336. I guess it's not essential, because there's nothing to suggest that it wasn't like this from new. Maybe 4 wire resistance never quite worked properly?

author: Kleinstein
author_rank: Super Contributor
timestamp: April 11, 2021, 08:27:37 am
content: The 4 Wire ohms should have been tested during calibration. With R336 having no contact the JFET would never turn off and thus the zero conenction for the sense low input would not work properly. This would essentially read ground insted of sense low. This may not be noticed in a not so stringent test procedure.Poor soldering quality at one part may justify to look at a few more other parts, e.g. around the U165, especially the clock and supply for U165.Not having a valid strobe signal could be from U165, but also from another chips or part loading it down.Sometime a broken chip still has one side driver working. So a pul-up may help.

author: amc184
author_rank: Regular Contributor
timestamp: April 12, 2021, 08:43:53 am
content: Thanks for the comment Kleinstein. I did try unloading U165 by removing R165, R200, R279 and R111, but there was still no valid strobe signal. Adding a pull up is a good idea, I tried that, but no difference. The output isn't open, because it did stay low, but no meaningful output.

author: coromonadalix
author_rank: Super Contributor
timestamp: April 12, 2021, 11:11:39 am
content: If i recall this u165 is a special part, can it be ordered ?? the pcb padding suggest another bigger part ? like a plcc84 pins ??

author: amc184
author_rank: Regular Contributor
timestamp: April 13, 2021, 08:47:16 am
content: The user in this thread was able to get a replacement U165 (2000-802A02) from Keithley / Tektronix:https://www.eevblog.com/forum/repair/repaired-keithley-2000/The oldest 2015s and 2000s used an off the shelf Altera CPLD, which uses the larger PLCC pattern. It doesn't really give me an alternate option though, as I don't have the code that would go in it, and I don't know if it would be compatible with the firmware in the processor of my 2015.My first solution is to try to get a replacement part from my local Keithley / Tektronix distributor. There's another couple of parts I want to get to complete this DMM anyway (a fuseholder and the rear bezel). If I can't get a replacement U165, my next idea is to try to replicate the strobe signal by adding an IC (either a CPLD or microcontroller). It should be possible to detect when the burst clock occurs for the 32 bit shift register, then send the strobe a short delay after it stops. I will need to be careful not to send out a strobe after the burst clock for the 8 bit shift register. Fortunately I can study the behavior of this bus using my working 2015.

author: amc184
author_rank: Regular Contributor
timestamp: April 17, 2021, 11:51:51 pm
content: I soldered some test points to U165 in my working 2015 and took some traces. They are coloured as follows:C1 (yellow): STR strobe to U106, U109, U121 and U134C2 (pink): STR1 strobe to U130C3 (blue): CLK clock common to both shift registersC4 (green): DATA serial data common to both shift registersI captured three different types of packets:A long packet ending with STR, see first attachment.A long packet ending with STR1, see second attachment.A short packet ending in STR1, see third attachment. The short and long STR1 packets were often sent as a pair, see fourth attachment.

author: amc184
author_rank: Regular Contributor
timestamp: April 18, 2021, 12:09:00 am
content: Each packet has a fair sized gap from the others, except a pair of STR1 short and long packets or two STR1 short packets. The attachment here shows the closest spacing I saw.I don't understand the STR1 long packet. I see 37 clock transitions for a signal going into an 8-bit shift register. Even the short STR1 packet has ten transitions. The STR packet also has a longer than expected length. This just seems to be how it works.I think it should be possible to recreate the STR signal. For this I should be able to send an STR signal a delay after activity by the CLK signal, unless an STR1 signal was already sent. The delay will have to be long enough to not falsely trigger during the pause in CLK that can be seen in the middle of some packets, but not so long that it doesn't act before the start of another packet. There should be plenty of margin for such a delay - value of 0.5ms should work.