Using a multimeter as an ADC. How? - Page 1
Forum section: electronics / general

author: MegaVolt
author_rank: Frequent Contributor
timestamp: March 12, 2022, 11:44:51 am
content: What are the ways to get from a multimeter (for example 34420 or similar) samples with a fixed frequency?Should I disable line sync? Autozero? Use trigger? Work only with internal memory? What if I want more samples than there is memory?What is commonly used to get data for FFT from a multimeter?

author: Kleinstein
author_rank: Super Contributor
timestamp: March 12, 2022, 12:15:24 pm
content: The best setting to get data at a constant rate depends on the DMM. If auto zero is useful depends on the part of the signal one is interested in and also in part on the DMM - AZ can be implemented different, especially in a DMM that uses a SD ADC chip. The low frequency part, below some 5 Hz often gets better when AZ mode is used.Line sync can help, as this would synchronize the readings to the mains frequency. There can however be a small chance for glitches if the mains waveform is poor and a trigger may happen early in rare cases. In some cases the computer can control the timing an start the readings individually - this could be something for very slow readings.For slow reading rates the DMM should be able to send the data in real time. With some meters a binary data format can be used to send the data faster.If sufficiently fast I would prefer to send the data out directly. For fast readings the internal memory can be the only option.So far I have used a small custom program one the PC side to capture such data. There may be ready made programs that come with the DMM or more generic ones for data logging. In some cases this could be just a terminal program.

author: MegaVolt
author_rank: Frequent Contributor
timestamp: March 12, 2022, 12:23:06 pm
content: How do you manage to keep a constant frequency when polling from an external computer. It also introduces some jitter in the read execution time.

author: voltsandjolts
author_rank: Unknown
timestamp: March 12, 2022, 01:05:34 pm
content: You've got a fancy Keithley, right?Appendix A might help:https://download.tek.com/document/DMM6500%20Datalogging%20AppNote%201KW-61357-0.pdf

author: Kleinstein
author_rank: Super Contributor
timestamp: March 12, 2022, 01:12:45 pm
content: Software triggering / starting the conversions adds some jitter, but this may be acceptable for slow readings (like once per second). It is not the preferred method, but could still be good enough in some cases.I would prefer more the contineous conversions from the DMM. With the HP34420 / 34401 chances are good that this would actually be at a constant rate. One may just have to measure that rate. Not synchronized to the mains frequency, one may get some aliasing with some mains related interference. So there could be an extra low frequency signal, especially if there is significant mains hum.

author: MegaVolt
author_rank: Frequent Contributor
timestamp: March 12, 2022, 01:21:13 pm
content: Quote from: voltsandjolts on March 12, 2022, 01:05:34 pmThanks, I didn't see that document.Fashion Keithley does everything programmaticallyand does not give any guarantees of time constancyBut now I'm interested in older models for example 34420a

author: Dr. Frank
author_rank: Super Contributor
timestamp: March 12, 2022, 01:36:47 pm
content: Hello,you can use DMMs with Digitizing functionality for that purpose, for HPAK these would be best the 3458A 100kHz @ 16bit, 34410A @10kHz, 34411A @50kHz 4 1/2 and 34465A/34470A @ 50kHz.I've done that extensively in 1990 onwards with the 3458A, which has the most elaborate trigger and data transfer features.I used external trigger, DMA transfer with binary data, w/ and w/o buffer, and a near real time FFT (on a 40MHz AT-PC).Use of low level GPIB commands is also helpful, but you have to investigate a lot, how that works.I think the 34411A is a good candidate also for indefinite transfers directly to PC, but the 34465A/470A as its direct successor might greatly suffer from its lack of state machine and its mediocre Windows CE system.. I did not try to use fast digitizing to PC, as the 2MSa space is enough for my needs, or I would use the 3458A otherwise.PS: 34401A, 34970A, and 34420A, 34460/461A are not as useful, as they feature slow sampling only, and their trigger / aperture cannot be determined that exactly.I append an application note for the 34410/411A, dealing with that problem.Frank

author: Andreas
author_rank: Super Contributor
timestamp: March 12, 2022, 01:59:40 pm
content: Quote from: MegaVolt on March 12, 2022, 11:44:51 amShure that you use the right tool?which frequency range, how many samples?I commonly use a 16 Bit oscilloscope for FFT data aquisition up to 1 million FFT bins.sample jitter is specified with 3 ps RMS.here the specs of the currently offered model:https://www.picotech.com/oscilloscope/5000/flexible-resolution-oscilloscopewith best regardsAndreas

author: voltsandjolts
author_rank: Unknown
timestamp: March 12, 2022, 02:13:37 pm
content: Quote from: MegaVolt on March 12, 2022, 01:21:13 pmThe script I referenced uses the digitizer mode and that determines the sample timing, not the PC software (I think you knew this already, just clarification for other folks). Since the digitizer can go to 1MS/s, I would expect the jitter to be much less than 1us, and that should apply for all sample rates assuming that same triggering hardware is used for all rates. But you are right, digitizer timing jitter is not specified. But it is likely to be 'good enough' for many applications and could be characterised.

author: MegaVolt
author_rank: Frequent Contributor
timestamp: March 12, 2022, 02:49:45 pm
content: Perhaps I phrased the question poorly. I understand that there are different multimeters. And they are not well suited for precise time management.I know well how to manage time in FPGA. I worked with an ADC frequency of 1 GHz. I'm wondering what kind of knobs I have to twist in a multimeter.For example, the simplest is to write data to a buffer. But I do not quite understand whether I can read at the same time or am I interfering with the device?Dr. Frank mentioned DMA. Is it only on the 3458a? Are there any other time control knobs.For example, when I read measurements one by one from the computer, does the computer set the time? Or a multimeter?Do you have any block diagrams or more detailed descriptions? Or is the multimeter really not an ADC and there are no ways to make it work?

author: Dr. Frank
author_rank: Super Contributor
timestamp: March 12, 2022, 03:55:48 pm
content: Hello MegaVolt,all your questions - these are exactly the timing, triggering and data rate limitations you usually have with DMMs as ADC converters.The 3458A has dedicated internal trigger hardware to take time equidistant samples, with very low jitter of about 50ns, or even lower at different DIG modes. A good example is the GODS AC program from Swerlein.For other DMMs, you can set trigger events, but that is mostly SW driven, and maybe not so precise. Actually, I don't know, how well this is implemented in the 34411A, compared to the 3458A, but I definitely had big problems with the digitizing feature of the 34465A via BenchVue or the PC.This works reasonably well only as standalone.The reason for using DMA with the 3458A at that time was the limited speed of the PCs, and of the GPIB interface at max. 1MB/sec data rate.Low level GPIB commands feature array transfers (rarray command), using the external trig jack on the rear of the instrument at 100kHz, 16bit which already leads to 200kB/s, or 50kHz, 18bits which requires also 200kB/s at 4 Byte words. On the PCs, you could program DMA for the GPIB card and the DMA chip for 64kB arrays. Don't know, if that can be still programmed on modern PC platforms and operating systems, as probably many execution exceptions would occur. The modern USB to GPIB interfaces might also not work well with high speed data transfers.Usually, single word, low level GPIB commands might also trigger the A/D conversion, but it's difficult to program a proper timing.. this would have to be done with assembly language commands at that time.Nowadays, as PCs and interface are much faster, you don't have low level timing access any more, I think, so you have to rely on the internal timing mechanism of the DMMs, or on the external trigger jack, which most of the more sophisticated HPAK DMMs have. Have a look in the manuals, which GPIB or SCPI commands are available.Frank

author: maxwell3e10
author_rank: Frequent Contributor
timestamp: March 13, 2022, 04:21:32 am
content: Probably the best way to get a constant sampling rate is to use external hardware trigger. Many bench meters (including 33420) have BNC input for trigger in the back. One would have to test the size and pattern of the trigger time jitter.I happen to be playing now with a Yokogawa 7563 meter that is unique in requiring one to set both integration time and sampling interval. This is a little annoying, but the advantage is that the sampling interval can be very constant if it is larger than integration time. It would still be limited by the clock accuracy of the meter, so using external trigger would be better since it can be synchronized to whatever clock you like.

author: razvan784
author_rank: Regular Contributor
timestamp: March 13, 2022, 11:35:54 am
content: Regarding jitter due to the computer polling the DMM, some meters support a kind of streaming mode, where the DMM sends data to the PC continuously without the need for polling or confirmation. On my 34401A for example I can do TRIG:COUN INF and then READ? and the DMM will acquire continuously and send data as soon as it's ready. The values come in separated by commas (,) so the replies are very easy to parse.

author: MegaVolt
author_rank: Frequent Contributor
timestamp: March 13, 2022, 11:43:42 am
content: Quote from: razvan784 on March 13, 2022, 11:35:54 amThanks! That's what I was looking for. I'm off to read the documentation