Precision Multimeter

Thread Starter

ApacheKid

Joined Jan 12, 2015
157
Hi,

I was playing around with the Arm (STM32F4) built in DACs recently and this was quite interesting.

One experiment was to generate a sine wave by calculating a table of 4096 (12 bit DAC) values corresponding to the entire 360s.

These are then adjusted to reflect 4096 range that the analog output could be set to.

When doing this I wondered how to detect a single bit change, the scope probably isn't great for this because a 3.3v range covered by 4096 range equates to about 800 uV/bit.

So are there decent multi-meters that would be suitable for directly seeing such small voltages?

For example the DAC value 0x001 would see the output voltage of around 805 uV and so the value 0x002 would see 1,6 mV and so on, oxFFF would see 3.3 V.

I'm very rusty (and behind the times somewhat) with electronics so wanted to ask experts about practical ways to measure these kinds of voltages.

Thanks
 

nsaspook

Joined Aug 27, 2009
7,486
Sure, a Fluke 8846A or similar spec meter can easily see it.

12-bit DAC A/B output with 6.66 volt programmed on the bottom meter, 3.33 programmed on the top meter.
 

Thread Starter

ApacheKid

Joined Jan 12, 2015
157
Sure, a Fluke 8846A or similar spec meter can easily see it.

12-bit DAC A/B output with 6.66 volt programmed on the bottom meter, 3.33 programmed on the top meter.
Very slick but a tad pricey!

What is the least expensive multimeter (e.g. Amazon) that can realistically measure this kind of thing?

Thx
 

ci139

Joined Jul 11, 2016
1,680
Very slick but a tad pricey!
you could use random off the shelf cheapos - many got the calibration pot inside - so you can clone any number of devices for the one particular range - (with lesser success rate , but) even when they are from different manufacturers - use op amp to extract the "MSB" range , amplifiy offset and feed to the next display . . . probably the 2 last "higher" digits overlapping with the 2 first "lower" digits . . . gonna be a mess but -- in theory possible to deliver what you want
[1.999][9999] → 1.999 10/11bit , 1.99999 17/18bit , there should be something that converts it back to src or by other means verifies the LSB being actually valid ← a lot of error sources involved -- is why reliable (precision) devices have industry scale prices

many universities do customer measurements in their labs + some metrology services have not so impossible prices , perhaps in https://www.google.com/search?q=metrology+pricelist+voltage+measurement
 
Last edited:

crutschow

Joined Mar 14, 2008
25,269
What is the least expensive multimeter (e.g. Amazon) that can realistically measure this kind of thing?
For better than 800μV resolution with 3.3V full-scale requires a 5 1/2 digit meter, which will give 100μV resolution.
Those seem to run more than U$400.

If you reduce the voltage by 1/2 with a voltage divider to 1.65V, than a 4 1/2 digit meter will give you 100μV measured resolution on the 2V scale (200μV for the 3.3V output).
Those can be had for <U$50 (but the meter quality and accuracy could be of concern).
 

Thread Starter

ApacheKid

Joined Jan 12, 2015
157
For better than 800μV resolution with 3.3V full-scale requires a 5 1/2 digit meter, which will give 100μV resolution.
Those seem to run more than U$400.

If you reduce the voltage by 1/2 with a voltage divider to 1.65V, than a 4 1/2 digit meter will give you 100μV measured resolution on the 2V scale (200μV for the 3.3V output).
Those can be had for <U$50 (but the meter quality and accuracy could be of concern).
Hmm, but if I reduce the voltage then the volts/bit will also drop from 800 uV to 400 uV - I think.
 

SamR

Joined Mar 19, 2019
2,419
One of the problems you run into is Thermal Drift. You can short and zero out the probes but once connected I know of no way to stabilize the thermal drift introduced. Even by touching the device will introduce drift. YMMV
 

OBW0549

Joined Mar 2, 2015
3,514
One of the problems you run into is Thermal Drift. You can short and zero out the probes but once connected I know of no way to stabilize the thermal drift introduced. Even by touching the device will introduce drift. YMMV
That's a good point: when microvolts count, thermocouple effects in your wiring (including your voltmeter leads) can cause measurements to wander around by as much as several hundred μV. These errors can be reduced significantly by thermally insulating your circuit and meter connections, and by shielding them from air currents.

EDIT: The attached .pdf explains about thermoelectric voltages.
 

Attachments

Last edited:

SamR

Joined Mar 19, 2019
2,419
I powered up and zeroed my Vici VC8145 Bench Meter which displays down to 1uV. Just sitting for ~5 minutes it drifted 67uV with the probes shorted before it stopped drifting on warmup. Do I need that precision? Heck NO! Probably within a couple of mV would be fine. I needed another handheld DMM so I bought an Aneng AN870 "Fluke Killer" that is also supposed to go to 1uV. That sucker will NEVER settle down even in mV and tenths of an Ohm. At least my antique Fluke 27 gives me fast stable readings and all the precision I need even it is almost shoebox-sized.
 

MisterBill2

Joined Jan 23, 2018
6,758
you could use random off the shelf cheapos - many got the calibration pot inside - so you can clone any number of devices for the one particular range - (with lesser success rate , but) even when they are from different manufacturers - use op amp to extract the "MSB" range , amplifiy offset and feed to the next display . . . probably the 2 last "higher" digits overlapping with the 2 first "lower" digits . . . gonna be a mess but -- in theory possible to deliver what you want
[1.999][9999] → 1.999 10/11bit , 1.99999 17/18bit , there should be something that converts it back to src or by other means verifies the LSB being actually valid ← a lot of error sources involved -- is why reliable (precision) devices have industry scale prices

many universities do customer measurements in their labs + some metrology services have not so impossible prices , perhaps in https://www.google.com/search?q=metrology+pricelist+voltage+measurement
Obtaining a higher apparent resolution without having the accuracy is an exercise in futility. Resolution does not create accuracy. Resolution is required to observe accuracy but it does not create accuracy.That is why a decent 6-digit meter costs more.
 

crutschow

Joined Mar 14, 2008
25,269
Resolution does not create accuracy.
True.
But the TS was interested in how to detect a 1-bit change in DAC voltage, not necessarily measure it to that accuracy (which is seldom actually required).
The 4 1/2 digit voltmeter should have the resolution do that, even if not that accurate.
 

TeeKay6

Joined Apr 20, 2019
572
Hi,

I was playing around with the Arm (STM32F4) built in DACs recently and this was quite interesting.

One experiment was to generate a sine wave by calculating a table of 4096 (12 bit DAC) values corresponding to the entire 360s.

These are then adjusted to reflect 4096 range that the analog output could be set to.

When doing this I wondered how to detect a single bit change, the scope probably isn't great for this because a 3.3v range covered by 4096 range equates to about 800 uV/bit.

So are there decent multi-meters that would be suitable for directly seeing such small voltages?

For example the DAC value 0x001 would see the output voltage of around 805 uV and so the value 0x002 would see 1,6 mV and so on, oxFFF would see 3.3 V.

I'm very rusty (and behind the times somewhat) with electronics so wanted to ask experts about practical ways to measure these kinds of voltages.

Thanks
If you simply want to see a bit (or a few bits) change, then set the 3.3V DAC output to a low value and use one of many low cost multimeters with 100uV resolution on its lowest voltage range. If you need to see every bit from 0 to 3.3V, then suggestions by others above are appropriate.
 

ebeowulf17

Joined Aug 12, 2014
3,274
I'm with @TeeKay6 here. I can't imagine any reason to individually check all 4096 voltage levels.

I would do spot checking. Check some points at the bottom end of the range in one bit steps to confirm your code and hardware are doing what you want. At the high end of the output range, where a meter with the necessary precision would be expensive, take a reading, then increment your output 10 (or 20, 50, whatever) steps and measure the voltage change, then divide that voltage change by the number of steps you moved to calculate the step size.
 

MrSoftware

Joined Oct 29, 2013
1,866
As @MisterBill2 mentioned, resolution and accuracy are two very different things. Linearity is another issue. You can calibrate a cheap meter to be dead on at say 1V, then it may be off by a good bit by 5V.

But if this is just for funzies and not a critical project, and your goal is just to detect very tiny voltage changes, maybe you can go the other direction and amplify your output then measure the amplified signal with a lesser expensive meter. If you can find a really good quiet OpAmp, and run it from a battery or super quiet power supply and use that to amplify your output to turn a few uV deviation into a few mV deviation, then maybe that will be good enough to prove your point.
 

danadak

Joined Mar 10, 2018
4,057
Kind of wacko but use a $ 10 board from Cypress, PSOC 5LP, it
has a 20 bit A/D and a +/- .1% Vref. Just output that over UART
to PC, to see actual V. Resolution and max range a tradeoff. At
6.144 Vref res is 6 uV, at low Vref settings you can get < 1 uV
resolution.

Board - https://www.cypress.com/documentation/development-kitsboards/cy8ckit-059-psoc-5lp-prototyping-kit-onboard-programmer-and

As shown, note I did not wire the pins (lazy) as example, 16 channel.
Note single chip design, IDE and compiler free.

Very little coding required, as you would start with a coded
example.

There is already a project in PSOC Creator to do a DelSig example and one for UART, you
could combine to effect PC interface.

For the adventurers there is a DSP onboard you could do signal averaging with it if so
desired. And using onboard 16 bit PWM you could build a high precision DAC if needed,
otherwise use the onboard 8 bit DAC (can be extended to 10 bits using dithering).

1579617373684.png


https://www.cypress.com/documentation/application-notes/an57821-psoc-3-psoc-4-and-psoc-5lp-mixed-signal-circuit-board-layout

PSOC users use PSOC in normal designs, as well as test beds, eg. stimulus and measurement, for
other tasks/designs.


Regards, Dana.
 
Last edited:

Thread Starter

ApacheKid

Joined Jan 12, 2015
157
Definitely nothing critical here. My question is because the generated Sin wave has a flattened, clipped top, yet none of the 12 bit values in the table exceed 0x0FFF. In fact manual inspection of the array shows the expected gradual falling off either side of the 4095, that is the values around element 1024 (90 degrees, a quarter of the way through the array) appear correct yet on the scope the wav has a flat top. Its as if the output reaches some max voltage like 3.3 just before the signal hits 90 degrees, like saturation or something.

So I am curious as to whether the voltage from 0x0FFF differs as expected from 0x0FFE, which would be around 800 uV.

If the measured voltages for 0x0FFF, 0x0FFE, ... 0x0FF0 (say) are different then id know it was bad code.

This is all just me exploring, the flat top caught my eye and I have the kind of mind that needs to understand this unexpected shape.
 
Top