Open Source Multimeter - My stab at it - Page 1
Forum section: electronics / projects

author: Unknown
author_rank: Unknown
timestamp: July 27, 2011, 01:54:43 pm
content: Alright I'm pretty much learning as I go here. Also I am well aware that most of you guys can make this a lot batter than I can. But anyway here goes...Full SizeCurrently this thing consists of:- some protection circuitry which can be improved a great deal- A range switching ladder driven by reed relays. These better be latching type to conserve battery life and decrease thermal differences. Instead of precision resistors, I opted for averaging multiple less precise resistors and possibly some trimming in situ.- A function selector again using reed relays. No details yet. Presumably some constant current supply as an ohms converter, a RMS chip for AC etc.- A chopper amplifier for the ADC. This is straight from the datasheet of the ADC.- An ADC - 24 bit is probably optimistic at this stage. Some error budget analysis will be necessary in order to determine reasonable bit depth.- A precision voltage reference. A heated type may be good for a bench type instrument but this one is the best one I could find for battery operation based on front page specs.What is needed:Everything so far can be done better basically. But for the record:- A robust protection circuitry capable of protecting the user and the circuit against numerous events without degrading the measurement performance.- A method of constructing a range ladder which is precise enough using cheap off the shelf components. A way of characterizing it on board.- A good method of converting ohms to volts. 2 and 4 wire sensing.- selecting an optimum RMS chip- Optimizing the ADC and its amplifier price/performance/availability wise- MCU- IsolationSo yes these scribblings are posted not because I now how to do it but in order to provide a starting point upon which you guys can improve. Therefore feel free to criticize and improve. The schematic is attached so hopefully some of you will take it,modify, improve and post backso by and by this thing starts to look like business.CheersHAL

author: Unknown
author_rank: Unknown
timestamp: July 27, 2011, 05:37:27 pm
content: Re averaging multiple resistors to increase the accuracy, don't forget about drift and tempco. Depending on the material, resistors usually have either a positive or negative tempco, so the tempco of multiple resistors in parallel will be close to the tempco of a single resistor (minus any temperature gradients).For decent metal film resistors with a tempco of 50 ppm/K, assuming the standard commercial temperature range of 0-70 degrees Celsius, the tempco will cause about 0.35% change in resistance. For a divider, things are better since the TC of the series resistors will compensate each other to some degree, but differences in tempco and temperature gradients can still screw things up.All resistors will drift over time. I don't know of the top of my head what kind of numbers to expect for cheap metal film or thin film resistors, and whether it's likely for multiple resistors to have similar drift.

author: Unknown
author_rank: Unknown
timestamp: July 27, 2011, 07:00:12 pm
content: Foil resistors have reasonably low drift over time. To prevent temp. differences, these should have a solid ground plane behind them as a means of temperature equalizing medium, so that no resistor is hotter than the others. Also some sort of a protective can like those used for RF should prevent air draft effects. Maybe resistors can also be aged artificially before mounting, and then screened and graded into groups according to their actual value. This is of course a job for the amateur, no assembly house will do it. Probably there should be a temp sensor right next to the resistors to aid in post processing compensation.I wonder whether some sort of inversion principle or something like that can be implemented so that the processor switches and measures each block automatically to create a sort of compensation table. Just like the ECU's in cars create compensation tables as they go trough different regimes of operation.

author: KuchateK
author_rank: Regular Contributor
timestamp: July 27, 2011, 10:01:04 pm
content: Do you have any candidates for RMS converter? Any detailed circuit for resistance?

author: Zad
author_rank: Super Contributor
timestamp: July 27, 2011, 10:14:40 pm
content: Don't worry about ultra precision resistors, most of the accuracy can be regained with careful voltage and temperature profile calibration. You might like to put some over-voltage protection on the input to the chopper amplifiers (back-to-back zeners etc).

author: ejeffrey
author_rank: Super Contributor
timestamp: July 27, 2011, 10:21:39 pm
content: QuoteIt is better to just calibrate in-situ. For dual-slope ADCs, extra digits cost time, and you don't want more digits than your actual noise-free resolution. Thus, in order to avoid weird quantization effects like missing codes, you want to trim it so that one count == 1 display digit. With a sigma-delta ADC, you can add extra noisy bits fairly easily. A 24 bit sigma-delta with 20 -21 noise-free bits makes a great 6-digit meter and can easily be corrected for the actual resistor values by in-situ software calibration. This assumes of course you actually have a good enough calibration instrument: most hobbyists will simply have to buy precision resistors and live with what they get. You would obviously cross check multiple copies against each other to make sure you haven't screwed up your precision resistors by thermal or mechanical stress during assembly.

author: Fox
author_rank: Regular Contributor
timestamp: July 27, 2011, 11:32:00 pm
content: Quote from: KuchateK on July 27, 2011, 10:01:04 pmFor TrueRMS LTC1968, easy to use needs only cap and a lowpassfilter.@ HAL-42bthe Voltagedivider you as you have drawn will not work, the last resistor o your ladder has to be connected to ground or you wouldn't have a Divider.As for the Reedrelais, they can come rather expensive if you want to use this type of Inputdivder and inputvoltages greater than about 300V.What type of Multimeter do you have in mind Handheld or Benchtype.For a Benchtype Multimeter the LTC2440 ADC would be a good choice but for a handheld meter it is not as good, cause it needs 5V supply Voltage and draws 8mA of current.And you have no Levelshifting in your circuit (something that shifts your inputvoltage of the ADC from e.g +-1V to 0-2V) because most of the ADCs are singlesupply. A dualsupply one would be an ADS1258 from TI for example.I added a few things too your schematic, also its of course not a complete schematic of a meter, that would need more time.

author: Unknown
author_rank: Unknown
timestamp: July 28, 2011, 03:09:24 am
content: Quote from: KuchateK on July 27, 2011, 10:01:04 pmRMS converters are mostly one chip affairs. Fox mentioned one, there are many others.For OHM conversion I saw a circuit in an Intersil application note.http://www.intersil.com/support/techdocs.asp?x=AppNoteI didn't include it in the schematic because I don't know how it works. So I leave it to somebody who knows what he (she) is doing. Jeri Ellsworth hear my voice? You are an Intersil girl nowQuote from: Zad on July 27, 2011, 10:14:40 pmYeah you're right. I mentioned artificial aging (i.e. cycling the resistors in an oven a few times) because I think it will weed out stray ones. Also it may have some good effect on drift over time.Quote from: ejeffrey on July 27, 2011, 10:21:39 pmI am glad you mentioned calibration instruments. A few days ago I found a serie of magazine articles about building a Metrology Lab at home! I immediately sent p.m. to the writer, Mr. Conrad Hoffman, asking for a permission to post the articles here. Mr Hoffman was very kind and showed interest in what we are trying to do. What is most amazing is that he joined our forum and contributed with his ideas. I am sure that he is in position to answer some of our questions. But before that I should refer to the articles.http://conradhoffman.com/mini_metro_lab.htmlVery interesting reading people, don't miss out.

author: Unknown
author_rank: Unknown
timestamp: July 28, 2011, 03:16:53 am
content: Quote from: Fox on July 27, 2011, 11:32:00 pmThanks for the input mate! This is exactly why I started this post in the first place. So thanks a bunch.I see that you added another input for the low amp ranges. I also see some switching for low current shunts, just like Dave's uAmp. Great job!

author: bobski
author_rank: Contributor
timestamp: July 29, 2011, 08:20:43 pm
content: Could an analog switch/multiplexer chip be useful rather than reed relays?

author: Unknown
author_rank: Unknown
timestamp: July 29, 2011, 08:52:32 pm
content: If the impedance is >> 10Mohm and it can withstand the full input voltage.

author: Unknown
author_rank: Unknown
timestamp: July 30, 2011, 02:37:24 pm
content: A few changes for a003https://picasaweb.google.com/lh/photo/KlH9ylJEunIRK8XWF29wM86tPIIjjFpjS5Y2I_q7q0Q?feat=directlink- I added a 90M resistor to increase the total impedance to 100M as suggested by alm- Some tidying up on the schematicAfter increasing the impedance to 100M i tried to analyze thermal noise. The results are quite interesting.Here is a video on how to calculate thermal noise:Noise in Op Amp Circuits Part 1and another oneNoise of a Non-inverting Operational Amplifier CircuitAccording to the first video the thermal noise is calculated as followsAfter the number crunching the following picture appearsThe colored graphs show how much noise each resistor is contributing. As can be seen, both impedance and bandwidth are heavily penalized. Therefore for minimal thermal noise we want minimal resistance values and the lowest possible bandwidth. Since we want both of these to be high, there must be a good trade-off somewhere.What comes to mind is that all resistors in the decade ladder are always connected to the circuit, therefore always contributing noise. So maybe switching them off when not used will decrease noise. This would improve the noise floor at least for the lower range measurements. On the other hand extra switches mean extra seebeck noise.Any suggestions are welcome.