Show by Label

Thursday, September 29, 2016

Building a Kelvin-Varley Divider

When I restarted my hobby, I did not have very precise (expensive) equipment, and initially, really didn't want to spend the money to obtain it. 

Initially, I wanted to spend the limited hobby funds on parts to tinker or build things with. However, every now and then I need something with a precision or resolution that I can't deal with. Typically, I mean precise voltages and precise resistances. With these two, one can also obtain precise currents by applying Ohm's law.

I recently spend a relatively large sum (for me) to obtain a bench multi-meter with a much higher precision than the DMM's I already have. They are all 3.5 digit, and I wanted to go one step above that.

After a long search and discounting used (they need calibration typically costing 100 Euros) instruments, I decided to take the plunge on a VICI VC8145 Bench DMM. It has a 4-7/8 digits display with 80,000 counts. The precision in the DCV meter is 0,03% and 0.3% in most other measurements. I purchased one for about 150 Euro's from eBay. It served me well for many years.


In 2021 I sold the Vichy and upgraded it to a SIGLENT SDM3065X 6-1/2 digit DMM, which shows that my demands seem to go up in time, and so does the budget allotted to the hobby. 😉

Every now and then, even this is not enough when your trying to deal with a reference that needs to be 10x or better to calibrate things. As an example, I purchased a few inexpensive but precise voltage standards, the best one is the KKMOON variant with the AD584KH, and a more simple unit that has the even better AD584LH.


Google for "KKMOON AD584 Reference"
There is also a blog with a discussion about this unit here:

This reference is calibrated and you get the calibration details for the 2.5V, 5V, 7.5V and the 10V.

(I modified my reference with a switch and adjustment capability for the 2.5 reference voltage level, per the data sheet of the AD584) Wit this I can tune the voltage reference without disturbing the originally calibrated values. I also replaced the banana sockets)

Note: the switch is not pushing the PCB up, it's not even touching it. There was just enough room between the PCB and the Li-Ion battery (;-))

With this calibration information, you can check your equipment and see how accurate it is against this reference.

My unit listed the 10V output as 10.00673 which translates to an accuracy of +0.0673%. Now, in some cases, I have a need for a precise 10.00000V to make calculations easier, or to be used with an ADC or DAC reference or input. I can't deal with that with my new DMM, it's not accurate enough, and I need more digits.

Same with precise resistor values, how do you make sure that a resistor is 0,01% or better if your instrument is "only" 0,3%. It needs to be 10x better, so 0,001% or better.

Well, the answer I hope to have found is using an instrument that was designed 100+ years ago, the Kelvin-Varley Resistance Divider. Google it if you have never heard from it.

I studied the little information there is about this concept, and really looked in detail to the best standard still, the Fluke 720A. Obviously, even used, this is beyond my reach and most others.
However, I also found an article that was written 20 years ago, that detailed a DIY instrument, and I decided to give that a try.

There are actually two instruments described on this site. One is the KV and one is the Null Detector. I build both.
The articles can be found here:
It provided the missing link for me.

The Null Detector Amplifier is described on the Blog separately.

Kevin-Varley Resistance Divider
Back to the Kevin-Varley Resistance Divider. I hope that by now you will have read the article, and I also suggest you have a look at the Fluke 720A documentation to get a feel for the complexity in dealing with 1ppm precision. Search Google for the 720A manual.

The Fluke 720A

All the way in the back of the 720A manual are the circuit diagrams. In essence, this is the simplified 720A circuit:

The Fluke 720A deviates from the original Kevin-Varley specification (look that up) and so does Conrad's design. The original specification was meant to be for resistor chains without a shunt. The lower resistance of the last decades also meant that the output impedance was as low as possible, because the only device -at the time- connected to it was a galvanic meter as a null detection meter.

We now have DMM's with 20GOhm loading so we can increase the values of the lower decades somewhat. Conrad used easy to obtain resistors, and I followed his design as close as possible with one exception, I could not get 412 Ohm resistors with 1% and 0.5W, so I used 422 Ohm. This meant that the shunt had to be redesigned but that's quite simple to do.

Here is my version of the circuit diagram :
There are a few more changes/additions that were mine. First of all, I added jumpers to "break" the shunt accros the decade resistors. This will allow you to measure and compare each individual resistor in addition to the shunt. Second, I added a buffer circuit to avoid loading the output of the divider. I can switch this in and use lower impedance meters at the output. I also added test points for my DMM clips next to the 4mm banana sockets.

Lastly, I did not use Conrad's connectors, but the more easily available connector strips.

Here are pictures of my first proof-of-concept build:

With this setup, I could start to play with this instrument and see if it indeed could deliver on my expectations. I had never used (not even heard of) a KVD before, so I had a lot to catch up with.

Resistor selection and matching
The biggest and most laborious job is the selection and matching of the resistors. It's not difficult, it just takes time and a lot of patience. What I found was that you should not skimp on the quality of the resistors.  Initially I did not want to use expensive low PPM/C super precision resistors for my proof-of-concept prototype. However, my supplier of choice send me a set of resistors in the 10K and 100 Ohm range that obviously came from a cheap source.; You can guess where from. The values were all over the map. As an example, from the 200 10K resistors, exactly half of them were outside the 1% specification. One resistor was even 10K3 Ohm. Not only that, there was no way I could get a matched set within 0,003% with this lot. They were awful.

Here is a picture of the Gaussian distribution :

The vertical arrows on the left and right stickers denote the 1% borders. Anything to the left or right is out of specification, and there are about 50 resistors that fell of the board, literally.
Luckily, my supplier was quick to acknowledge my issue and send me a new set. What they recommended was to get 0.5 or 0.6W versions, as they are more precise (actually, from another factory) The 100 Ohm resistors were equally bad, but I didn't need the precision. This new lot did contain a good enough set of matched resistors.

This is a picture of what a typical Gausean distribution really should look like:

Wheatstone Bridge
Per Conrad's instructions, I used a Wheatstone bridge to select and match the resistors as precisely as I could.

After some matching using his method, I decided to used another bridge concept to be able to more easily switch from resistor values, and simply increase the resolution of the bridge.

Here are two pictures to save some words:

The shunt connections are made with jumpers, and you move the jumpers as a pair to shunt the potentiometer with decreasing resistor values. After I selected a group of resistors for a KVD decade that were in the same ball-park, I then matched them among that set for the closest values. To calibrate the bridge, one resistor of the set was used as the Reference resistor, and one of the others as Rx. I then nulled the bridge with the lowest resistor shunt possible. After that I used the other resistors in the set and noted the deviation of the null (+ and -) to select the closest set.

Note that when the KVD is finished, you can use it instead of this potmeter contraption.

The K-VD resistor sets
The 10K set needs the best matching and the spec says 0.0037%. I was able to get close to 0.001%, however, the actual values of the resistor set were around 9,950 Ohms. This is within the 1% specification (0.5%), but not close enough to 10K.

During my first tests, I didn't get the expected accuracy from the lower decades (they were not multiples of 10x), and so I went back and forth calibrating and trying to figure out what caused it. To try to fix it I started with the first 10K decade and used 49.9 Ohm 1% resistors in series to match the resisters closer to 10K (actually within 1 Ohm of 10K). Although the calibration of the decades starts with the lower ones and then go up, I figured that the relationship may have been distorted so I started from the first decade down. And low and behold that seemed to have fixed my resolution problem.

Proof of concept
There is a lot more to test, but I'd like to give you a quick answer to the challenge I posted in the beginning. If you have a 10.00673V calibrated reference, can you use the K-VD to calibrate another reference to a precise 10.00000V without using a 6 or 8 digit DMM?

The short answer is, yes you can. At least that is what I was able to do (I think).

Following are the steps I took.
I connected the output of the 10.00673 reference to the input of the K-VD. The output of the K-VD was connected to the input of my 20GOhm input bench DMM. (virtually no loading, so I could cheat and not using a bridge) The KVD decades were set at minimum subtraction or division with 9-9-9-9-9-10. My DMM showed 10,007V at the output which is the best it can do.

A quick-and-dirty procedure (thank you Unknown for pointing this out) is to calculate the setting of the K-VD to create a precise 10V output as follows:
10.00000 / 10.00673 = 0.999327  K-VD setting: 9-9-9-3-2-7
This sets the divider ratio to 0.999327 and the output voltage would therefore be:

10.00673 * 0.999327 = 9.99999547071, which is close enough.

My expectation is that the output went from 10.00673 to 10.00000V, but there is currently no way for me to verify that. I need a much higher resolution voltmeter to do that. So the next project was born, a high resolution DMM.
Look here for that follow-on project : building-6-digit-digital-milli-voltmeter

Note that the proper procedure should be as follows:
You would need to use a Wheatstone bridge between the calibrated reference and the new reference, and use the K-VD as one arm of the bridge. Set the K-VD to the right value, and null the bridge by adjusting the output of the new reference, which should result in the desired output of 10.00000V.  This method is preferred because it avoids currents flowing through the bridge which will eliminate a number of issues.

So in my own terminology, we are now able to "transfer" a calibrated voltage from one reference to another secondary one without using expensive precision equipment. If you build the Null Meter, you could potentially do this with your 3.5 digit DMM.

There are a few other applications for the K-VD that I may try to cover in more details later, but don't hold your breath. It may take a long time for me to get around it with so many other projects and interesting things to discover.

In the meantime, I started the process of building a DIY simple but fairly precise 6 digit Digital Voltmeter, and that project can be found in another post.

In the future, I may upgrade the K-VD with even better components and a PCB. Don't hold your breath though. There are so many other projects that are on the Bucket-List...


If you like what you see, please support me by buying me a coffee:


Romen White said...

Electrical immunity in a D.C. circuit has been quantified in OHMS (Ω) along with also a substance will possess a worth of one ohm when a potential of one volt produces a current of one ampere. Then Ohms may also be considered as volts/amps. The more resistance a materials or circuit owns the current will stream.Try this ohm law calculator app through which you can easily came to know about the calculations of voltage,current and resistance.

Patrice Britt said...

Ohm's Law in essence says the immunity of some factor (usually a resistor) is corresponding to this voltage fell across the resistor divided from the existing proceeding right through it.This regulation tends to make it not too difficult to get certainly one of 3 principles: voltage along a resistance, so the immunity value , or even so the current flowing through the immunity.

Tommy said...

Im currently trying to homwbrew my own kvd. I have a question as far as resistor values as im currently matching 10.2k resistors for the first decade. I have read that i can use same value for all decades or go no lower than 1/5 of resistor value for subsequent decades. I see most diagrams are divided in 1/5 increments so when i run out of matched 10.2k would anything stop me from using maybe a random value above 2.04k resistor?

paulv said...

Hi Tommy, from what I've learned in the process, you can use any value resistors for the decades, as long as they adhere to the ratio's. In my opinion, and I've done that myself, it's easier to purchase a lot of the same values and then sort them by closely matching values. I suspect that's where the equal values for all of them come from.

Unknown said...

I'm going to reread your article then dig out my zm-4b resistance bridge and voltage reference.

Unknown said...

Thanks for taking the time to write this interesting article, however I have one question regarding the following:

"The KVD decades were set at minimum subtraction or division with 9-9-9-9-9-10. My DMM showed 10,007V at the output which is the best it can do.

I then "subtracted" the "excess" of 6,73 millivolt by changing the setting of the KVD from 9-9-9-9-9-10 to 9-9-9-4-3-7 and low and behold, the output of the DVM now showed 10.000V."

Can you please explain your methodology here?

My assumption would be that the "correct" process to obtain 10.00000V (+/- error margin of course) from a 10.00673V reference would be to set the KVM settings to:

10.00000 / 10.00673 = 0.999327 = 9-9-9-3-2-7

This sets the divider ratio to 0.999327 and the output voltage would therefore be:

10.00673 * 0.999327 = 9.99999547071

paulv said...

Dear Unknown,
Your method is correct, mine isn't. It just worked out that way with the tolerances and precision of my equipment.
Thanks for pointing this out, I will change the posting.