Precision voltmeter (+-3mv) for high school biology research

Thank you for reading this post!

I am a high school student with very little knowledge in programming, and hardly no knowledge of the Arduino. In my biology research I have to read precise voltage (maximum error of about 3 millivolts if possible) between two points on a large cell (5cm-10cm diameter), have my laptop analyze the data, and send corresponding stimuli (fairly strong light) to the cell.

I am having trouble with the first step: reading voltage.

I have come to the conclusion that it is best to use Arduino for the whole project, but can I read such precise voltage by 1) using 1.1V internal reference; 2) amplifying signal (if so, how can I?); or 3) a completely different method?

I am sorry if this is a stupid newbie question. Thank you for reading! Solutions will be much appreciated!

Extra information: •I have a Mac Book Pro with OS 10.8.5 •I have not purchased any Arduino equipment yet

Using the 1.1V reference gives the resolution of 1.1/1024 = 0.000107V with a mega328's 10 AD converter. Also the input impedance of the analog input is very high, so will not load your measured value. What are the amplitudes of the values you wish to measure?

@Jokkun Interesting research topic, can you tell more about it?

groundfungus: What are the amplitudes of the values you wish to measure?

Thank you for your reply! The range should be [-50mv, 50mv].

@ robtillaart Thank you! My subject is the plasmodial slime mold, physarum polycephalum. It is unicellular and multinucleate, and it forms a large "supercell." Though it looks like a slimy abomination, it is a model organism for conducting some unicellular studies. In my research I will concentrate on its shuttle streaming (moving of intracellular fluid). Since its outer layer is made of actin-myosin filaments, I will analyze its shuttle streaming through voltage occilitation.

For those not knowing the potential of these slime molds:

They are good in optimizing graph problems - http://www.youtube.com/watch?v=czk4xgdhdY4 - - http://www.youtube.com/watch?v=EndJzdwB160 -

Jokkun:

groundfungus: What are the amplitudes of the values you wish to measure?

Thank you for your reply! The range should be [-50mv, 50mv].

The Arduino cannot measure negative voltages! (disclaimer I'm no Electric Engineer) You need some circuit like this - http://ruggedcircuits.com/html/circuit_-25.html - to move the voltages into the positive range. However +-50mV is only 1% of the above mentioned +- 5V, so you probably need to amplify the signal first.

You may use for example an external ADC - ie. ADS1110 (and others from the family), 6pin differential 16bit I2C adc, with internal 5ppm stable reference, and a built-in preamplifier (1,2,4,8x). So you may achieve 256mV full scale, 16bit diff resolution. Input impedance 700kohm at highest amplification.

Arduino board are good boards for initiation and general use, they are not design for precision instrumentation use.

Whatever the reference (Vcc, external, Internal) you use, on the UNO and Mega arduino boards the track between the Aref board pin and the aref microcontroler input is too noisy to give accurate measurements. To get more accurate measurements it is essential to solder a capacitor (100 nF) between the ground and the microcontroler Aref pin as close as possible from the microcontroler. It is very easy with UNO to sold a capacitor dirrectly to the through hole dip socket (back side). It is extremely difficult with a Mega due to the SMD package.

@robtillaart Thank you! Wow that's a useful website!

@pito

pito: You may use for example an external ADC - ie. ADS1110 (and others from the family)

Thank you, I think I will use that! But in its description it was written: "Although the ADS1110 can read bipolar differential signals, it cannot accept negative voltages on either input. It may be helpful to think of the ADS1110 positive voltage input as non?inverting, and of the negative input as inverting." How should I read bipolar differential signals then?

@68tjs Thank you, that method is definitely something to remember!