is it possible to amplify a 0 - 55 mV current?

I asked this question on the "electronics" board, but got no answers...so I'm thinking the whole idea must be wrong (otherwise there'd be answers, right?) So, I'm asking it here under the auspices of "is this feasible?"

I have a sensor that produces a very small current between 0 and 55 millivolts, too small for the arduino analog inputs to register. (serial monitor just says 0,0,0,0,0,0,0 etc)

What is the best way to amplify this voltage so it ends up between 0 and 5 volts for the analog ins to read it?

(I know they sell purpose built amp ICs to do this, but they are $12 per chip. I'd like to try to do it with a less expensive per unit item like an op amp...but I have no idea which one would work.)

Also open to any other ideas besides op amp, I'm kind of new to all this so whatever works I'll try.

Thanks.

I have a sensor that produces a very small current between 0 and 55 millivolts, too small for the arduino analog inputs to register.

You Arduino inputs have a sensitivity roughly ten times greater than this, so they shouldn't be reading zero.

What is your sensor, and how have you connected it?
What do you want to do with the signal?

Well, you can start with this idea:

http://ruggedcircuits.com/html/circuit__2.html

Now, the details are going to be important when working with signals as low as 55mV and down. How much resolution do you need? How careful have you been with noise or is the noise arriving at your op-amp inputs going to swamp your 55mV signal?

The TLV2731 op-amp suggested in the circuit above is inexpensive, but its error specifications (e.g., offset error) are magnified by gain. If you try to boost the 55mV signal to the full 5V range (gain of 91) then the offset error (typically 5mV or less) is also multiplied by 91 (455mV). So your signal may end up in the range 0V to 5V but no have ~0.5V of uncertainty in it, just due to op-amp noise.

What I'm getting at is: what's your application? How important is precision and noise? etc. etc. There are certainly better choices than the TLV2731 (for more $$$) but it's not worth it if it's not necessary.

--
The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons

You Arduino inputs have a sensitivity roughly ten times greater than this, so they shouldn't be reading zero.
well, crap.

What is your sensor, and how have you connected it?
k type thermocouple. anode to analog pin, cathode to ground, simple analogRead() sketch (works with other sensors)

What do you want to do with the signal?
determine temperature reading using table like the one below, but with 5 degree resolution so the dataset is not so big
http://srdata.nist.gov/its90/download/type_k.tab

RuggedCircuits:
Well, you can start with this idea:

http://ruggedcircuits.com/html/circuit__2.html

Now, the details are going to be important when working with signals as low as 55mV and down. How much resolution do you need? How careful have you been with noise or is the noise arriving at your op-amp inputs going to swamp your 55mV signal?

The TLV2731 op-amp suggested in the circuit above is inexpensive, but its error specifications (e.g., offset error) are magnified by gain. If you try to boost the 55mV signal to the full 5V range (gain of 91) then the offset error (typically 5mV or less) is also multiplied by 91 (455mV). So your signal may end up in the range 0V to 5V but no have ~0.5V of uncertainty in it, just due to op-amp noise.

What I'm getting at is: what's your application? How important is precision and noise? etc. etc. There are certainly better choices than the TLV2731 (for more $$$) but it's not worth it if it's not necessary.

--
The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons

now this is helpful. I'm going to digest all of this and reply. Thanks RuggedCircuits.

well, crap

No, really.
Do the arithmetic.

You should be able to obtain some sort of readings with the analogue reference set to to the internal 1,250mV one. This should give you readings in the 0..45 range on the A2D, which would be enough to see if you're on the right track.

3z33:
I have a sensor that produces a very small current between 0 and 55 millivolts

Knowing the definitions is the most important thing. If you can define something correctly, you can find it. mV expresses voltage, not current. Current is expressed (normally) in Ampére (A).

Or even in Ampère :wink:

ok, lots of good guidance in here. I'm going to start over, with a new (known good) thermocouple and adjust the reference voltage as some have suggested.

sorry about the current/voltage mistake...I'm new to electronics. I'm 90/10 programmer/electronics relative to arduino.

Ask uncle google!
http://www.google.com/search?q=amplifying%20thermocouple%20arduino

brucethehoon:
Ask uncle google!
http://www.google.com/search?q=amplifying%20thermocouple%20arduino

when you want to pull the google card, two pointers:

  1. Use http://lmgtfy.com/ , it's way cooler.
  2. Actually google it yourself and review the results. In this case, the first result returned is actually this thread so...... :~

3z33:
(I know they sell purpose built amp ICs to do this, but they are $12 per chip. I'd like to try to do it with a less expensive per unit item like an op amp...but I have no idea which one would work.)

These work quite well for me. $17.50 > $12.00, I know ;). But well worth it IMHO. Gets out of the analog realm, no conversion table to take up memory space, built-in cold junction compensation. But if you're dead set against it, or just in it for the academic exercise I might try an LF353. Nice high input impedance so as not to load the thermocouple and < $0.50 in single quantities. Actually I'd want to research the proper way to interface to the thermocouple, there may be a standard input impedance that may need to be provided with a resistor or other considerations, I have no idea, which was another reason I went with the MAX6675. If you do try that route, I have a simple little library, not much to it, but nice for multiple TCs.

3z33:

brucethehoon:
Ask uncle google!
amplifying thermocouple arduino - Google Search

when you want to pull the google card, two pointers:

  1. Use http://lmgtfy.com/ , it's way cooler.
  2. Actually google it yourself and review the results. In this case, the first result returned is actually this thread so...... :~

I find that lmgtfy is smart assy and I really intended to just show that when you know the right search term, it makes things easier.

Next, THIS was not the first result. The first result was your double post in which you "got no answers" including a non answer or three from Grumpy Mike. Now, it's not just that I'm afraid of him, but I tend to listen pretty carefully when he fails to answer my questions - especially at such length.

Should your attention span carry on down the search results, you will find exactly what you're asking for. I wish you luck!

3z33:
sorry about the current/voltage mistake...I'm new to electronics. I'm 90/10 programmer/electronics relative to arduino.

We are all learning. The fact is that if you know (and understand) the correct definition, finding what information you need regarding it becomes way easier.

Not being an electronics wiz, I'm willing to spend the $ for a solution. My application is sensing the level of water in a 2-gallon bucket. I'm using a pressure sensor (24PCEFA6G - PRESSURE SENSOR, 0-0.5PSIG ) connected to a 1/4in tube inside the bucket. So far so good. I get the resolution I need but the output is 0 to .5mV. To read the pressure sensor output into the Arduino I need 5V max. I'm really just looking for an amplifier. I was sent down the path of a LM741 OPAMP but realized, after a couple days of frustration, that the input voltage to the OPAMP is too low. Enter easy solution. Will the MAX31855 breakout board do the trick or can you suggest something better?