Using arduino as a data logger for measuring resistence

Hi guys,

I want to measure the resistance of an organic material being heated overtime (like 15 minutes) and store the measurements and so I want to use my arduino uno to do that. Tested the material using a multimeter and got measurements ranging from 10 megaohm to 1000 megaohm. Any advice on how build the system to measure this kind of data, if possible? Or perhaps refer me to old projects who have done the same thing? Tried googling, couldn't find one with sketches. Just the final result.

Thanks a lot,

Sharon

Tested the material using a multimeter and got measurements ranging from 10 megaohm to 1000 megaohm.

Have you determined how a multimeter measures resistance? Perhaps that would be your first avenue of exploration.

Once you know that, the rest is trivial.

I don't have background in electrical engineering, this is just a part of my project. What I'm looking for is material to read, previous similar projects made by arduino fans to learn from

I don't have background in electrical engineering, this is just a part of my project.

Well, here's a hint. Ohm's law: V = I * R.

You know V. You want to know R. You need to measure something. Seems like there is not a lot of choice with respect to what to measure.

I think your options are: get a meter which can do the capturing for you get a meter which provides a digital output which you can capture find a way to use the Arduino's ADC to work with megaOhm/gigaOhm input resistance create your own resistance sensor working at that very high range

The first two approaches seem simplest. You should be able to solve your problem without involving an Arduino or any programming. The third approach would probably involve you taking direct control of the ADC conversion process, which would involve dealing with the hardware at a very low level. It may not be feasible anyway. The fourth approach, which I suspect PaulS may be hinting at, is to either make or buy a highly sensitive current sensor. I've no experience with instrumentation sensors so this may be way off the mark, but I suppose this would probably take the form of a linear current amplifier (I'm envisaging a transistor or op amp) with a series resistance to generate a voltage in the correct range for your ADC to measure. If you aren't familiar with this sort of thing I suspect you will have to face a steep learning curve to get to grips with the electronics involved before you can even start, and given your lack of background in electronic engineering perhaps that's not sensible for you.

There may be more elegant solutions but as far as I can see those are your main options.

This kind of resistance is not simple to measure. The selection of a good Op Amp and subsequent cancellation of offset and bias current/voltage would not be trivial.

Check out Post #4 in this thread:

http://www.edaboard.com/thread266011.html

Lower resistance values are typically measured by using a constant current source and measuring the voltage across the unknown to determine its resistance. Very high resistance values are often measured by apply a known voltage and measuring the small current.

Note that measuring resistances as high as 100G? requires very careful design to minimize leakage currents in the insulators. Teflon wire and standoffs are often used, since Teflon has the highest resistance of common insulation materials. Also guard rings and guard shielding is likely required such as discussed here.

Here is an example of a high resistance measuring system. If you google "high resistance measurment cricuits" you should find other information on this.

The links in the post make this look nontrivial to me as well.

I don't know if this becomes useful: http://www.vwlowen.co.uk/arduino/current/current.htm

sharonf: I want to measure the resistance of an organic material being heated overtime (like 15 minutes) and store the measurements and so I want to use my arduino uno to do that. Tested the material using a multimeter and got measurements ranging from 10 megaohm to 1000 megaohm.

I suspect you are on the wrong tram. This sort of thing can be done with a recording multimeter, which don't cost much more than an Arduino (in my case it was less), no programming, no messing about with hardware, just plug into your PC and go.

Their main deficiency, compared with an arduino, is that they all seem to be limited to running for short periods in a lab, rather than for days on end in the field, i.e. just what you want.

Having said that, I'm sure there is nothing trivial about working in the resistance range you need. There are sure to be problems with contact integrity and insulation

Dave Jones of EEVBlog does a teardown of a high resistance measuring meter. Lots of teflon. Definitely have to put a lot of thought into something like this, just surface resistance from finger oils and dust settling can throw measurements off.