# Amplify Shunt Resistor Voltage to an Arduino Using an Op-Amp

Basically, I want to measure the voltage across a shunt resistor (1.12mOhm) and feed that to an arduino analog input to obtain a measurement of a current drawn from a battery. I would like to obtain a sensitivity of about 0.1A (0.112mV), hence being the lowest readable voltage above zero, and the maximum expected current is about 40A (44.8mV). What kind of op amp can I use to amplify this shunt voltage with a gain of 70? Basically my worries are: is there a limit to the gain op amps can provide or does it just depend on the resistor? Due to the input voltage offset, will the op amp be able to accurately increase my lowest shunt voltage values (0.112mV) so that the Arduino can read it? Also, are there specific kinds of op amps that would be best suited to my application or anywould work given the right supply voltage? Thank you very much for your time and help!

• There is a lot of work for us in this question. Please start here (eetimes.com/document.asp?doc_id=1279404), or google some other material; then propose a circuit, and we can go from there. Commented Sep 16, 2016 at 13:43

You are looking for a 'sensitivity' of 0.1A in 40A (1 part in 400), at a gain of 70, which is not a very difficult spec. Ideally an op amp with an open-loop gain exceeding 300,000, which any precision op-amp should be able to meet. If there is a requirement to pass frequencies beyond a few Hz you will need to increase that number- for example, at 100Hz you had best have an amplifier with a gain of a couple million.

The offset voltage requirement is more stringent - your signal at 100mA is only about 100uV so you would like the offset voltage to be much less.

Pretty much any 'zero drift' op-amp and many 'precision' op-amps will meet these requirements. You can use a simple differential amplifier as below, but note carefully the Kelvin connections to the shunt resistor. Layout is paramount to success- even a small length of copper trace in the wrong place will destroy your accuracy and temperature stability.

simulate this circuit – Schematic created using CircuitLab

The voltage at the top end of Rs is subtracted from the voltage at the bottom end of Rs and multiplied by 70 in the above circuit. It is assumed that the voltage at the bottom end is much less, so matching requirements for R1/R3 and R4/R5 are minimal. There is a slight theoretical error due to the parasitic resistances (not shown) on Rs but it will not be significant relative to the errors in the resistor ratios.

If you need to operate from a single supply you will have to place some additional constraints on the op-amp- input common mode voltage must extend to the negative rail and it must be able to swing the output to within a few mV of the negative rail.

Again, there will still be plenty of available parts once you apply those constraints, and I leave the selection up to you.

• If I use a LMP2022 and power it at 5V with an arduino, can I use this layout to make it work? The documentation TI is providing on the different applications is a bit confusing. Commented Sep 21, 2016 at 11:28
• Looks fine to me. Gain is 10^6 minimum and input CMR includes 0v over temperature. Output swing is probably okay with a load to GND or just ADC input. Commented Sep 21, 2016 at 13:15