DMM linearity - Page 1
Forum section: electronics / testgear

author: wiss
author_rank: Frequent Contributor
timestamp: May 21, 2014, 08:58:44 pm
content: So, I got this idea to measure linearity of a multimeter by using a string of resistors, think Hamon's design, 11 of them.I have a bunch of regular looking 19.5 k resistors that seems to perform really good, if I breath on them they only change ppm's.I soldered them up in series to a bunch of banana connectors inside a metal box. I didn't want to change the temperature of the stuff so I also hooked up 2 12-pos rotary switches soldered to the 12 banana connectors.Measurements:Lower switch set to the ground-point. Upper switch rotated through 10 resistors:Code:v1 = 5.80000000000000e-051.11079000000000e+002.22165900000000e+003.33395500000000e+004.44554300000000e+005.55682500000000e+006.66866100000000e+007.77982800000000e+008.89004000000000e+001.00002800000000e+011.11111500000000e+01Upper switch set the the feed-point of the divider. Lower rotated upp:Code:v2 = 1.11111590000000e+011.00003450000000e+018.88947100000000e+007.77717700000000e+006.66558200000000e+005.55429900000000e+004.44246800000000e+003.33130600000000e+002.22109500000000e+001.11086400000000e+006.10000000000000e-05The meter is only auto-range so I skip first 2 and last 2 measurements, meter is 14 Mcounts:Code:((v1(3:8) + v2(3:8)) .- mean(v1(3:8) + v2(3:8))) ./ 14 .* 1e6= 0.0714285713751140.214285714252225-0.285714285754222-0.3571428571293370.0000000000000000.357142857129337Means that I have a linearity better than 1 ppm of range?

author: T3sl4co1l
author_rank: Super Contributor
timestamp: May 22, 2014, 12:33:56 am
content: How is this expression checking the linearity of the measurement? Looks to me like you subtracted the average from the average. And your measurements are just complementary sequences (by description and by value), how is this establishing the deviation from a slope? By your description of the experiment, the v2 set should be negative; why isn't it?Assuming the resistors are exactly equal (you didn't mention if this was established or not), the results should be spaced exactly linear, i.e., V1(i + 1) = V2(N - i) = i * Vsrc / N (for each i in the range 0:(N - 1), taking N measurements from N-1 exactly equal resistors).You can perform a ratiometric test by calibrating each resistor relative to the other, i.e., measuring from tap j to j-1 (j = 1 to N-1). These ideally will be equal measurements, but until linearity is established, cannot be calculated from the element-to-element differences in the v1 or v2 series. You can then perform the j to j-2 measurements (j = 2 to N-2), and so on, until you've built a triangle of differences. Then you can compare the respective sums to their measured values and establish linearity at these discrete points.Note that this does not guarantee linearity for an arbitrary real-valued input, i.e., it only proves the error at the points shown, and not the complete transfer curve y = f(x) and its possible deviation from y_ideal = m*x + b. Doing an exhaustive proof point-by-point would of course be prohibitive (impossible on the reals, but possible for a digital converter -- if extremely tedious), but if continuous-time approaches are suitable, you can use some analysis to get a better confidence range on that figure.For example, if it's a sampled ADC, apply a known low-distortion sine wave, at a frequency within its passband, and after gathering many sample points (10^3 to 10^6+), compute THD+N. This works well for higher sample rate converters (1k to 100M+), because the sine wave can be prepared with known stability and purity (such as crystal oscillators and passive (and low distortion) filters), and the acquisition period is brief. This doesn't work so well at low sample rates, where the sine wave becomes difficult to generate (noisy RC oscillators, drifty filters, amplifier distortion), especially to the required precision. Triangle waves are also a possibility (using a square wave of known stability, followed by a precision integrator; error can simply be computed as the time difference, x - x[t - 1], averaged over the rising, then falling slopes, each, cutting off the peaks as needed).Note that, unless you can guarantee that two converters should necessarily have different kinds of nonlinearity, it is not sufficient to simply cross-check their results. Using one DMM to calibrate another of the same model would be kind of silly, as they would be expected to exhibit the same nonlinearities in the same places. One might take a small significance by comparing, say, a SAR ADC to a D-S type. But, one point does not make a statistical study. A representative establishment of true linearity could only be made by averaging over many very different measurement methods, hopefully with orthogonal nonlinearities, which is the real point to drive at here. The best way is to use true linearity whenever possible; measuring voltage differences directly, rather than trying to infer them through disparate methods. Hence the triangle table of voltage drops earlier.Tim

author: wiss
author_rank: Frequent Contributor
timestamp: May 22, 2014, 07:32:29 am
content: Quote from: T3sl4co1l on May 22, 2014, 12:33:56 amThe positive DMM-terminal is always higher up (or at the same point) as the negative terminal, never any negative voltages.QuoteThey are not and need not be "exactly" equal, only stable over the measuring sequence.V1(n) + V2(n) = Vsupply = V1(10) + V2(10) = V1(0) + V2(0) for a perfectly linear system.Of course I can not know if the DMM is out between the measured points but the points are equivalent to what the service manual recommended for checking linearity (spec says 3 ppm).QuoteSine-generators with a purity of single ppm are not very common... wouldn`t this be a problem?Quote

author: wiss
author_rank: Frequent Contributor
timestamp: June 23, 2015, 11:47:45 am
content: I think that this might actually work, my fist post on the subject is mostly incoherent babbling but rather refer to the PDF for a more complete description.

author: macboy
author_rank: Super Contributor
timestamp: June 29, 2015, 02:20:31 pm
content: I would think that if you individually measure the 11 resistors very precisely (you don't need absolute accuracy here; precision or many digits is what is needed) then you can characterize the voltage divider very well. Since the 11 resistor values are close to each other, any non-linearity in the meter used to measure then will have very little impact on therelativemeasurements between them. After arranging the 11 known values in series, you have a voltage divider that with well-known steps. So apply the test voltage and measure each point. Then compare the measured steps to the calculated steps and find the deviation at each point. Make sure that you are only using a range on the meter that uses a very high impedance; a 10 Mohm input will throw everything way off. It should also be obvious that you do not allow the meter to auto-range while stepping. Use a single fixed range.

author: VintageNut
author_rank: Frequent Contributor
timestamp: June 30, 2015, 07:48:58 pm
content: How did you characterize your resistors?

author: wiss
author_rank: Frequent Contributor
timestamp: June 30, 2015, 08:06:36 pm
content: Me?Didn't!Apart from noticing that this type tend to be very stable.

author: VintageNut
author_rank: Frequent Contributor
timestamp: July 01, 2015, 01:56:46 am
content: Quote from: wiss on June 30, 2015, 08:06:36 pmFor selecting voltage divider resistors, normally, you make a bridge with the resistors, measure the voltage between the arms, swap the resistors and match them so that the voltage across the arms are the same no matter how you swap them. To select identical values, the voltage at the vertices of the arms should be zero. I do not think a DMM can measure resistors accurately enough to make a voltage divider that can approach 10ppm let alone 1ppm. Just my $0.02

author: wiss
author_rank: Frequent Contributor
timestamp: July 01, 2015, 07:50:39 am
content: Did you read the report?