5.5 Digit Homebrew DMM - Page 1
Forum section: electronics / projects

author: echen1024
author_rank: Super Contributor
timestamp: December 02, 2013, 02:56:12 am
content: The LTC2400 thread has got me thinking: What if I could build my own my own 5.5 digit DMM? The thread only covers precision voltage measurements, but we could add current measurements via a current shunt, and resistance using a precision current source. I have attached a couple of diagrams of what I plan to do (block diagram) and a schematic for a precision current source. I plan to use 2 ADCs for simultaneous V/I measurements and power consumption calculation. I would like feedback on how to keep the precision of the current measurement and how to do the autoranging or manual ranging with input protection.Block Diagram:Current Source:

author: sync
author_rank: Frequent Contributor
timestamp: December 02, 2013, 03:18:39 am
content: Which specs you want to achieve?

author: BravoV
author_rank: Super Contributor
timestamp: December 02, 2013, 03:25:36 am
content: Quote from: sync on December 02, 2013, 03:18:39 amCurious about this as well, personally, I keep delaying my 2400 project with the ambition of usable at 20 or 21 bit resolution. For me the most challenging and difficult part is the front end analog and the vref section, otherwise worry it will ended up with no better than those cheap dmm which is not worth the resources spent in building it.

author: Dave
author_rank: Super Contributor
timestamp: December 02, 2013, 03:35:47 am
content: Bear in mind that if you are going to have two isolated input channels, you are also going to need two individual voltage references.It might be useful to also give it AC measuring capability. Measuring power would be trickier, though, as you would also have to measure phase angle, but it would be pretty neat to have a good wattmeter in a multimeter. Would definitely set your meter apart from other 5.5 digit meters on the market.

author: BravoV
author_rank: Super Contributor
timestamp: December 02, 2013, 03:54:42 am
content: When it comes to AC (mains related with 50/60 Hz only), does LTC1966 still good these days ? Or there are other alternatives that are better ?

author: Harvs
author_rank: Super Contributor
timestamp: December 02, 2013, 08:27:53 am
content: Quote from: echen1024 on December 02, 2013, 02:56:12 amTake a look at the circuit diagrams for the fluke 192http://bee.mif.pg.gda.pl/ciasteczkowypotwor/Fluke/192_196.pdfSpecifically the top left area of Figure 9-3.In most meters this is now integrated (at least the muxs) into an ASIC, however on these meters it's all there for the viewing. If you study that diagram and the ranging circuitry, that'll basically tell you what you need to know about implementing ranging.The have a look a Caddock resistive dividers for the implementation of the actual resistors.

author: BravoV
author_rank: Super Contributor
timestamp: December 02, 2013, 11:44:55 am
content: Quote from: mojo-chan on December 02, 2013, 11:28:05 amHe is planning to use the LTC2400 24 bit ADC, not the one in the mcu.

author: lapm
author_rank: Frequent Contributor
timestamp: December 02, 2013, 01:03:02 pm
content: Does this come with built in uCurrent? Just jokeing.Looks like LTC2400 is not too bad price on digikey.

author: sync
author_rank: Frequent Contributor
timestamp: December 02, 2013, 04:49:51 pm
content: I think the analog front end is the hardest part. Precision and high impedance/ low leakage stuff. Read some service manuals for older bench DMMs, e.g. HP 3455A, HP 3456A, Keithley 19x, Fluke 8840A. And look into the DMMs itself if you can. See how they build the front end, which components they used, when they used teflon, how the guarding is done, etc.The ADC is one of the easiest part. Just buy a suitable one. The LTC2400 isn't good for this application. You want one which measures positive and negative voltages.The analog part and ADC should be galvanic isolated from the rest. And the voltage and current inputs should isolated too if you want to measure both at the same time. A shared common for both is problematic due the voltage drop of the leads.Another problem is calibration and performance verification.A DIY 5.5 digits DMM won't be cheaper than buying a used one and probably a new one too.

author: sync
author_rank: Frequent Contributor
timestamp: December 02, 2013, 04:53:37 pm
content: Quote from: BravoV on December 02, 2013, 03:54:42 amHigh speed ADC sampling and calculating in software. Like the newer Agilents.

author: Unknown
author_rank: Unknown
timestamp: December 02, 2013, 05:02:27 pm
content: I would also recommend reading the HP journal articles from the eighties discussing the design of meters like the 3455A, 3456A and 3468A. Scans of these issues are available online. They often discussed design decisions in guarding, isolation, etc. Discussion of the digital design is not very relevant, but much of the analog design is. For example, the 3468A moved from teflon stand-offs to a very thorough board cleaning (and presumably extra guarding) to save costs. The Keithley low level measurements handbook (available for free from their site) also discusses some of the issues that could come up.I agree that a DIY design is not going to be any cheaper than an off-the-shelf design if you're trying to get close in features and specs, but that's usually not the point of a DIY design.Quote from: sync on December 02, 2013, 04:53:37 pmThe Agilent probably uses a custom Multi-Slope integrating ADC that can trade resolution for sample rate. Can the LTC2400 (or a similar high-resolution delta-sigma ADC) do the same? The datasheet suggests in can only sample at 15 S/s or so with external oscillator. I guess you could use a separate low-resolution ADC for AC, but that sounds like a lot of extra complexity and parts.

author: echen1024
author_rank: Super Contributor
timestamp: December 02, 2013, 05:22:34 pm
content: Well, plenty of manual reading for me! I understand that the analog front will be the hardest to build, and that for the AC measurements, I plan to use a TRMS to DC converter. For the Vref, I plan to use 2 LM399s, or LTZ1000s if I get lucky. I'm not all that familiar with the power measurements, so I will need to read up on that. And yes, it probably is not very cost efficient, but this is for education, right?

author: sync
author_rank: Frequent Contributor
timestamp: December 02, 2013, 05:40:26 pm
content: Quote from: alm on December 02, 2013, 05:02:27 pmYes, e.g AD7176-2 has 17 bits at 250kS/s.QuoteI don't think it's much extra complexity. Building a shared front end which is good at DC and AC is maybe harder than separate ones. And the ADCs are cheap.

author: Unknown
author_rank: Unknown
timestamp: December 02, 2013, 07:28:42 pm
content: For measuring real power, sync's suggestion of digitizing the AC signal using a fast ADC is particularly useful, since it allows you to calculate instantaneous power digitally. I'd expect the power meters that can deal with PF != 1 to either digitally sample the signal or use an analog multiplier to calculate p(t) = v(t) * i(t), and run the result through a RMS-to-DC converter.

author: Andreas
author_rank: Super Contributor
timestamp: December 02, 2013, 08:25:41 pm
content: Quote from: sync on December 02, 2013, 04:49:51 pmFor +/- input you can use the "trick" of the c't-Lab "DIV" module. (A 5,5 digit volt + ammeter).See the schematics at the end of the article in c't:http://www.heise.de/ct/artikel/Messwerkeln-291398.htmlThe trms converter is on a sub-board named "TRMS" described in another article.I only would use "better" resistors than the 0.1% 15ppm/K resistors in the article.(eg some of the DMSZ series of vishay).The LT2400 is not too bad compared to similar devices.The offset and gain drift is excellent.Linearity is in the range and can be easily calibrated out since it is a simple parabolic function.The real disadvantage is the relative high noise (due to low power) of around 10uVpp. But this is negligible for a 5.5 Digit multimeter.with best regardsAndreas

author: Jon86
author_rank: Frequent Contributor
timestamp: December 02, 2013, 08:53:18 pm
content: I've been planning to do this project for more than 6 months now, I'll probably get started when my Tiva C board gets here, none of that arduino stuff anymore!Good luck I'm really looking forward to seeing how it goes

author: sync
author_rank: Frequent Contributor
timestamp: December 02, 2013, 09:12:57 pm
content: Quote from: Andreas on December 02, 2013, 08:25:41 pmI didn't like it. Too much dependencies (resistors, output voltage of the MCU). I think the LTC2400s good offset and gain will be destroyed. I would use an inverting amp. But I really dislike a switched polarity.

author: Andreas
author_rank: Super Contributor
timestamp: December 02, 2013, 09:49:53 pm
content: Quote from: sync on December 02, 2013, 09:12:57 pmAre we really talking about the same cirquit?I cannot see any dependancy on the output voltage of the "MCU" (= microcontroller???)The ADC input pin on the ATMEGA controller is IMHO used for fast range switching.With best regardsAndreas

author: sync
author_rank: Frequent Contributor
timestamp: December 02, 2013, 10:06:05 pm
content: You are right. I didn't read the circuit correctly.

author: Valueduser
author_rank: Contributor
timestamp: December 03, 2013, 12:30:47 am
content: This sounds like a really cool project, I have been considering a dig multimeter for a while but had no idea where to even start.

author: echen1024
author_rank: Super Contributor
timestamp: December 03, 2013, 03:50:03 am
content: My main question right now is the range switcher. I have got the V/I measurement DC figured out, and partly the AC V. I need some help for the range switching.

author: Harvs
author_rank: Super Contributor
timestamp: December 03, 2013, 04:00:54 am
content: Quote from: echen1024 on December 03, 2013, 03:50:03 amDid you see my reply? Did you look at that manual?If you don't understand any part of it, just ask.

author: Marco
author_rank: Super Contributor
timestamp: December 03, 2013, 04:44:11 pm
content: Quote from: echen1024 on December 03, 2013, 03:50:03 amTake a look at the service manual for the 34401A. You basically have one relay to select between a high voltage path (through an attenuator) and a low voltage path and the rest is done with an analogue mux.Only problem with trying to emulate it is that JFET muxes cost 10$ a piece and for 5.5 digits it's probably overkill. AFAICS the main advantage of JFET is the low leakage currents and that they can survive over/undervoltages at low currents (so no need for diode clamps, which saves yet more leakage current).At 5.5 digits a little more leakage current from a MOSFET mux and diode clamps shouldn't be an issue (the leakage current's path to ground isn't the input impedance of the input amplifier, it's that input impedance in parallel with the input series resistance in front of the mux, which is 100 kOhm for the 34401A ... this resistance is necessary to limit current when you apply 1000 Volt while the input relay is in the low voltage measurement mode BTW).

author: sync
author_rank: Frequent Contributor
timestamp: December 03, 2013, 05:10:24 pm
content: Even at 5.5 digits leakage matter. With the 100k protection resistor it's 1uV per 10pA leakage. Are there MOSFET switches with leakage in the order of pA?

author: Andreas
author_rank: Super Contributor
timestamp: December 03, 2013, 06:24:07 pm
content: The MAX4051-Series is specced with typical 0.002 nAWith best regardsAndreas

author: Marco
author_rank: Super Contributor
timestamp: December 03, 2013, 06:55:07 pm
content: The 34401 is by default autozeroing, one of the mux inputs is connected to 0V and measurements are cycled between it and the input (the assumption being that the leakage current is relatively constant regardless of input selected on the mux).

author: sync
author_rank: Frequent Contributor
timestamp: December 04, 2013, 02:48:47 pm
content: That's a good point. I know that the autozeroing compensate the input amp offset. But with the 100k resistor to ground it also compensate some leakage current. Clever design. Other DMMs just shorts the input amp without a resistor to ground.