I am trying to come up with a project in which I can create a multiple-multimeter. I want to have multiple sets of leads attached to a project and be able to simultaneous output the readings to my PC. I have a USB enabled multimeter and that works fine, but I don’t want to have to buy 10 more meters to have simultaneous readings. Can I use a Arduino or similar device to hook in all of the leads and then output them to my PC? If not, any other low-cost ideas for this?
Thanks!
You could use an analog mux controlled by an arduino to switch one of the N sets of leads to the single multimeter. You would not be able to get simultaneous readings, but rather readings in sequence. The time between might be insignificant, or it might not be based on how long it takes the multimeter to settle and for your PC to extract the data from it.
Be careful in picking an IC based mux. Some have a limited voltage range they will switch. If you need more voltage range, you could also use a bank of relays to switch in the next set of leads.
Any device (arduino or other) that can be programmed as a ohm meter and take the multimeter out of the equation completely? If not, any details on the setup you mention?
Thanks!
Tom
Sure. The Arduino has an analog to digital converter. It measures voltage. But given a reference voltage and a known resistor, you can turn the ADC into an ohmmeter.
What range of resistors values are your trying to measure? If they are very small or large, you may need some extra circuitry to amplify small signals.
What type of accuracy do you need? 10% or 0.0001%?
Are the resistors isolated from any and all voltages or are they in some powered circuit?
I am testing conductive paint swatches. all resistors are isolated, I am working with 400-2K ohms. I would think +/-1% would be great.
Do you understand simple resistor voltage dividers? How about how analog converters work? These questions are just to gauge your knowledge so I do not talk over or bellow your level.
One way to do this simply would be to put your unknown resistance in series with a know value resistor. You then apply a know voltage across the pair. If you measure the voltage at the node between the two resistors you can then calculate with some simple math the value of the unknown resistor. With an Arduino you could measure that voltage and then have it compute the resistance.
The ADC on the Arduino will convert the voltage into a number from 0 to 1023. If you could arrange for those 1024 unique numbers to be spread out over the 2K resistor than each count would represent about 1.95 ohms. A difference of 1.95 ohms over 2K is a tiny 0.09 percent. The problem is that would can’t (without extra complexity) arrange for the voltage to be spread out that way.
What you could do is buy a 400k reference resistor. When your sample measures 400, the output would be 1/2 the reference or 2.5 volts or a count of 512. When the sample measures 2K, the voltage would be 4.1666 or a count of 853. The difference in counts (583-512) is just 71. That means you can only measure 71 unique resistances between 400 to 2K. This is a quanta of about 23 ohms or 6% of 400 or 1.15%.
If you can live with those types of numbers, than you could get 6 pseudo simultaneous resistance measurements with a Arduino Uno and the cost of 6 400k resistors. If you need more than 6 channels, you could just use two Arduinos or add the complexity of a front end mux.
This is great, thank for the guidance. I have a basic understanding of voltage dividers so I should be able to get started. I have ordered a simple arduino kit and will set up a base system to test. I may check back with you later after I have had a chance to play around with it.
Thanks again,
Tom
For what ever reason, I could not seem to type 400 without a K after it. You really want 400 ohm reference resistors. In the worst case you will have 400+400 ohms into 5 volts or a current of 6.25 ma. Not huge. In the other case, you would have 2.1 ma of current flowing through the resistor. In all cases simple 1/8 watt resistors should work.
I think your problem is going to be noise. The ADC value is likely to jump around a fair amount unless you have perfect connections and no stray capacitance (like a human touching probes). You may be able to clean this up in software (average a few returns) or you may be able to create a low pass filter with a few resistors and caps to clean up the mess that way. But you will find out once you get your Arduino!
Ok, I set it up and it was working well with one known and one unknown. I used the Analog inputs on the Arduino and got pretty reliable results. Interesting, as I added the second set (another voltage divider to measure the 2nd unknown on A2) the A1 reading changed. I am assuming this has to do with the parallel circuit, but the voltage across a parallel circuit should be the same, correct? What would cause the immediate variance? I am not measuring total resistance, only voltage drops and converting.
Thanks,
Tom
Tom,
I think you are going to have to draw or take a picture of your setup. You talked about conductive paint. Are these swatches connected to each other? If so, you may be measuring a very complex circuit that is all interdependent.