Author Topic: How I built my 6-digit multimeter  (Read 8891 times)

0 Members and 2 Guests are viewing this topic.

Offline jaromirTopic starter

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
How I built my 6-digit multimeter
« on: September 26, 2020, 10:49:51 pm »
Introduction
Since the inception of my first long-scale AD converter [1], I thought of making my own multimeter as a good final platform for it. While1 thinking hard and making big plans for perfect multimeter, contest from Hackaday appeared and I immediately knew what to do. For those who don't want to go through the original contest call [2] - the aim was to make tech at home, that is - build whatever interesting out of parts you have at home.

Design constraints
I took this call seriously and decide to build 6 digit multimeter out of parts I had at home, preferably reusing old components from PCB scrap or new old stock - mostly Czechoslovakian production from before 1990 - or leftovers from other projects. I knew that reusing old components (with parameters much worse than contemporary semiconductor industry offers) and keeping the circuit on prototype boards will have impact on multimeter performance. I started working on the project, but unfortunately a few days before contest deadline, life hit me and I was unable to finish everything into desired state. Until the contest deadline I was able to upload a few project logs and partial documentation [3], being below of what was considered complete project, as well as below my standards for contest projects. When my life got back to normal, contest was long over and my motivation to work on this one evaporated. On the other hand, the project wasn't complete failure; it helped me to understand some design aspects of benchtop multimeters with hands-on experience and I'm pretty sure it's going to help me with design and build of next multimeter model. Fun fact is that during the design and build of this junkbox multimeter I never had any schematics drawn on paper, with exception of printed pinouts that got a lot of wear during night building/testing sessions. Afterwards I decided to redraw the schematics until my memory is relatively fresh, so that others can learn from my mistakes.

Results
I'm not new to multimeter-ish design [5] and I decided to copy proven parts of this into new bench multimeter and add new necessary circuits, like power supply and current shunts with befitting circuitry. Not surprisingly, the electrical circuit of multimeter is only half of the work, I had to put some thoughts into thermal design, gather and solve mechanical constraints while keeping it manufacturable in my 10 sqm of home workshop.
The build itself took a few interesting turns, mostly because it was centered around parts I had; unlike the usual flow, where I design with anything that fits the needs. For example I never breadboarded FPGA, never used germanium transistors with FPGA in one circuit.
Oh and I made first gear with clickity-clack power switch with long rod transferring user operation to switch lever. Take a look [6]

Things left to do
It does basic job of multimeter - measurements of volts (3 ranges), current (3 ranges) and resistance (4 ranges). Calibration is currently "hardwired" into MCU sources and can't be done from user side. That is definitely missing feature. Not much of communication interface is used other than dumping measured values through serial port. Since we are living in 21th century, I planned to employ USB interface and ethernet, but from aforementioned reasons this didn't happen. The firmware could use a lot of spit and polish. Massive spit and furious polish, I mean.
When not doing the device for show in contest, I'd use a lot more modern components. Thermal stability would improve much, as well as noise and probably linearity. Of course, making this multimeter on protoboards is nonsense. For good performanc it has to be done on proper PCB with all the shielding, good grounding and guarding.

Performance
As explained earlier, this multimeter wasn't built with high performance in mind and due to problems before and disillusion after contest deadline, I never got to real performance verification. From quick comparison to my golden HP34401A it looks to be reasonable linear and stable for 6 digit multimeter, at least at DCV ranges. Current range is OK, too. Resistance measurement suffers from drift after powerup, but that is expected; in my [5] I used much more recent opamps that gave the circuit much better stability. Noise is somehow worse than [5], but that is probably to be expected. Since the project is shelved, I have no intention to dig into it deeper.

Resouces
My totally messy sources and schematics (kicad sources as well as PDF output) are attached to this post. Use it as you wish.

Resume
Power switches with rod are fun, building contest stuff from junk is fun too. But now it's over, and it's time for something more serious.


[1] - https://www.eevblog.com/forum/metrology/diy-6-5-digit-voltmeter/
[2] - https://hackaday.com/2020/04/30/new-contest-making-tech-at-home/
[3] - https://hackaday.io/project/174022-diy-6-digit-multimeter
[4] - https://imgur.com/a/SP2ehh3
[5] - https://www.eevblog.com/forum/metrology/diy-6-digit-handheld-volohmmeter/
[6] - https://imgur.com/a/l3KgHns
« Last Edit: September 29, 2020, 07:34:33 pm by jaromir »
 

Offline jaromirTopic starter

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: How I built my 6-digit multimeter
« Reply #1 on: September 26, 2020, 10:50:54 pm »
Since this forum is not very suitable for larger dump of photos, here is collection for you - https://imgur.com/a/b9xxdzj
 

Offline Yansi

  • Super Contributor
  • ***
  • Posts: 3893
  • Country: 00
  • STM32, STM8, AVR, 8051
Re: How I built my 6-digit multimeter
« Reply #2 on: September 26, 2020, 11:39:18 pm »
What the hell on earth are those germanium transistors doing there?  :o

Very nice build indeed.
 

Offline jaromirTopic starter

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: How I built my 6-digit multimeter
« Reply #3 on: September 27, 2020, 12:03:24 am »
Switching bistable relays.

Almost any PNP would do the job. The contest was about reusing stuff I had at home and somehow I had a few of those in my junkbox (as well as vast majority of the components I used).
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14474
  • Country: de
Re: How I built my 6-digit multimeter
« Reply #4 on: September 28, 2020, 04:12:22 pm »
It's a nice simple circuit for the input stage.

The protection for the 100 Ohms shunt looks a bit weak / odd. As shown there would be only the fuse for protection. The more standard protection is before the relay and limiting the voltage to some 2 or 3 (mainly for AC) diode drops. This way the fuse could be a more robust 1 A type.
 

Offline jaromirTopic starter

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: How I built my 6-digit multimeter
« Reply #5 on: September 29, 2020, 08:32:57 pm »
Well spotted, Kleinstein. There was mistake in my schematics - the circuit should be indeed connected before the relay.

The circuit around U5 works like this. Forget R18 and R19 resistors for a moment. In case of gross overcurrent, when voltage on shunt (either R15 alone or R14+R15 in series, depending on relay K4) reaches roughly 6,8V + twice voltage drop on Si diode (D4/5 and D6/D7 depending on polarity), the whole string of D4/D5 + D6 + D7 starts to conduct, fuse blows and everybody is happy. The problem is that the diode string has leakage current (may be problematic on 100uA range). The leakage depends on temperature, so it can't be calibrated out easily. That's why I included U5 - it acts as voltage follower, so during normal operation it keeps voltage at point D4/D5/D6/R19 at the same potential as on its input (plus offset voltage), therefore keeping current via D4/D5 low. Total leakage is given by U5 input bias current and D4/D5 leakage at low forward voltage (given by U5 offset).
During overcurrent event, the current available via R19 will be too low and will be overdriven, both R19 and R18 act as U5 protection against overvoltage.

I measured a few random diodes I had in my drawer (BYX55, BYW54 and 1N4007) and concluded that among those 1N4007 has lowest current at low forward voltages, see attachment.

I went though a few changes during the design/build and D6/D7 value is probably leftover from those changes - protection kicking in at ~8V is indeed too high, shunt would cook itself. D6 and D7 should probably have indeed lower breaking voltage, perhaps two or three Si diodes in series would be fine and current shunt would survive overcurrent.


Regarding the input stage - it works, but I'm not completely happy with the input selector switch. The switch has leakage of a few tens of pA, I'd love to see lower number here (DG211B used in my portable voltohmmeter had somehow better leakage of ~15pA). Perhaps switching with JFETs is the solution - those could be selected to leakage of 1pA and less.
 

Offline ebclr

  • Super Contributor
  • ***
  • Posts: 2329
  • Country: 00
Re: How I built my 6-digit multimeter
« Reply #6 on: September 30, 2020, 02:32:56 am »
Where did you find that nice switchs, I like that
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14474
  • Country: de
Re: How I built my 6-digit multimeter
« Reply #7 on: September 30, 2020, 09:54:11 am »
For lower leakage, there are DG508 MUX chips (though usually more expensive) instead of the DG408. A problem with the 8:1 mux is that there are quite a few switches involved. So the DG211 has it easier to get low leakage.

Small JFETs can have lower leakage (especially when on), but it takes extra effort for the control. One could combine JFETs for the more critical paths (voltage in, Ohms sense high and the connection to the rest) and a CMOS MUX.

Part of the relatively high drift in ohms ranges can be due to the rather low voltage (0.7 V) to be applied to the resistors to set the final current. A little higher voltage (e.g. 3 V) there could make the final OP less critical. However it would need larger resistors, that may not be part of the array.  If wanted one could have started from the full +15, as the OPs and switches in this area would not need the negative supply and could run from +22 and GND instead.
 
The following users thanked this post: prasimix

Offline jaromirTopic starter

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: How I built my 6-digit multimeter
« Reply #8 on: September 30, 2020, 09:58:13 pm »
Where did you find that nice switchs, I like that

I found it in control panel from old sewing machine, but it's Marquardt 6450 - I used those in both linked projects.
https://www.mouser.sk/Electromechanical/Switches/Pushbutton-Switches/_/N-5g30?Keyword=6450&FS=True
 

Offline l3VGV

  • Contributor
  • Posts: 12
  • Country: ru
Re: How I built my 6-digit multimeter
« Reply #9 on: January 25, 2021, 02:43:50 pm »
What the hell on earth are those germanium transistors doing there?  :o

opa134 and ne5534 - audio stuff.
 

Online kripton2035

  • Super Contributor
  • ***
  • Posts: 2647
  • Country: fr
    • kripton2035 schematics repository
Re: How I built my 6-digit multimeter
« Reply #10 on: January 25, 2021, 03:43:26 pm »
nice stuff ... I still don't understand how the ADC works (and even what's its resolution ?) but nice stuff !
 

Offline l3VGV

  • Contributor
  • Posts: 12
  • Country: ru
Re: How I built my 6-digit multimeter
« Reply #11 on: January 25, 2021, 05:38:14 pm »
nice stuff ... I still don't understand how the ADC works (and even what's its resolution ?) but nice stuff !

General idea is unbelievable simple.

1) u discharge The Capacitor. That is job for U20D
2) for a fixed and well known amount of time u charge The Capacitor  thru input resistor, U20A will do that
3) u discharge The Capacitor with ur reference voltage, and count how much time it take, switch U20B and C to do so. Comparator U27 is to tell when to stop counting.

Now u know charge time, discharge time, and Vref. Vref*discharge time/charge time = Value

Oversimplified.
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14474
  • Country: de
Re: How I built my 6-digit multimeter
« Reply #12 on: January 25, 2021, 09:35:42 pm »
A more detailed describtion to the ADC is in one of the links given in the 1 st post. It is a kind of multislope ADC with roughly 22-24 bits of resolution. Noise wise it should be about comparabe to a typical 6 digit DMM, like in between the HP 34401 and HP34410. The ohms part is a little more limited. For A DIY solution this is quite good performance, though not really cheap.

The general concept for the ADC is relatively simple: balance the carge going in from the input and reference, but things get complicated with the details.  It is relatively simple to build at 5 digit level, but gets more tricky from there. Suddenly you have to think about those small effects with the switches, resistors and OPs one normally ignores.

The audio OPs (OPA134 and 5534) are not so bad for the purpose they are used for. The OPA134 is still a relatively good JFET OP available in DIP - not the highest performance, but good enough. Similar the NE5534 is cheap good enough for the job - actuall quite a few older DMMs use the same type of OP the same purpose (slope amplifier to support the comparator). The more limiting parts in the circuit are more the CMOS switches and the reference, not so much the OPs. Also the resistors are quite critical.
 

Offline jaromirTopic starter

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: How I built my 6-digit multimeter
« Reply #13 on: January 26, 2021, 11:04:55 am »
Also, I'd like to emphasis that the project was done as entry for "do something from leftovers and scrap" Hackaday challenge. Many aspects of the design are sub-optimal, to comply with the given theme; most of components are from COMECON NOS or salvaged from e-waste, that's why many components belong to era few decades ago.

Having access to more modern components nowadays makes some design choices easier.
 

Offline Yansi

  • Super Contributor
  • ***
  • Posts: 3893
  • Country: 00
  • STM32, STM8, AVR, 8051
Re: How I built my 6-digit multimeter
« Reply #14 on: January 26, 2021, 11:20:35 am »
How did you test the leakage of the input switch? Do you have a SMU, or any other simpler method?
 

Offline Johnny10

  • Frequent Contributor
  • **
  • Posts: 900
  • Country: us
Re: How I built my 6-digit multimeter
« Reply #15 on: January 26, 2021, 11:24:53 am »
 :popcorn:
Tektronix TDS7104, DMM4050, HP 3561A, HP 35665, Tek 2465A, HP8903B, DSA602A, Tek 7854, 7834, HP3457A, Tek 575, 576, 577 Curve Tracers, Datron 4000, Datron 4000A, DOS4EVER uTracer, HP5335A, EIP534B 20GHz Frequency Counter, TrueTime Rubidium, Sencore LC102, Tek TG506, TG501, SG503, HP 8568B
 

Offline Kleinstein

  • Super Contributor
  • ***
  • Posts: 14474
  • Country: de
Re: How I built my 6-digit multimeter
« Reply #16 on: January 26, 2021, 11:53:58 am »
For testing leagage at the input one can use the meter itself. This also applies to a quick test for a commercial meter with high Z input.  There are 2 ways:
1) with a high value resistor, like 10 M (could be even the internal divider). The input bias shifts the zero reading.
2) with a low DA capacitor of some 1-10 nF at the input and looking at the drift rate.  With 1 nF a bias current of 1 pA would give 1 mV/s of drift rate, which is easy to measure / see even withpout recording the data.

For isolating the switch part one could have an additional one at the input, or maybe remove the switch from the circuit.

For the bias currents it is about the order of magnitude, not the exact value. So 20% resistors and caps are good enough.
 

Offline jaromirTopic starter

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: How I built my 6-digit multimeter
« Reply #17 on: January 26, 2021, 11:55:53 am »
How did you test the leakage of the input switch? Do you have a SMU, or any other simpler method?
I built a simple pico-ammeter with LMC662 and 3,5d panel meter, similar to this one http://www.vk2zay.net/article/251

Good indication of summary leakage is also drop on internal input divider.
 

Offline ali_asadzadeh

  • Super Contributor
  • ***
  • Posts: 1913
  • Country: ca
Re: How I built my 6-digit multimeter
« Reply #18 on: January 26, 2021, 02:19:08 pm »
Thanks for sharing >:D
ASiDesigner, Stands for Application specific intelligent devices
I'm a Digital Expert from 8-bits to 64-bits
 

Offline ali_asadzadeh

  • Super Contributor
  • ***
  • Posts: 1913
  • Country: ca
Re: How I built my 6-digit multimeter
« Reply #19 on: January 26, 2021, 02:24:22 pm »
Can we take a look at FPGA and MCU source codes?
ASiDesigner, Stands for Application specific intelligent devices
I'm a Digital Expert from 8-bits to 64-bits
 

Offline Yansi

  • Super Contributor
  • ***
  • Posts: 3893
  • Country: 00
  • STM32, STM8, AVR, 8051
Re: How I built my 6-digit multimeter
« Reply #20 on: January 26, 2021, 08:34:32 pm »
Do you have the LMC662 connected there as a TIA with large FB resistor (or the feedback divider trick)?
 

Offline jaromirTopic starter

  • Supporter
  • ****
  • Posts: 338
  • Country: sk
Re: How I built my 6-digit multimeter
« Reply #21 on: January 26, 2021, 10:54:00 pm »
TIA with large FB resistor, set to produce 1V/1nA, single range; followed by 1/10 resistor divider, so that 200mV range meter will display 1.999nA at full range (1999 displayed). Switch can bypass the divider, bringing sensitivity to 199,9pA for 1999 displayed.
Multi-gang switch takes care of range switching, on/off and proper decimal point switching.
There is already quite long thread discussing this topic here https://www.eevblog.com/forum/projects/picoammeter-design/
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf