I’ve once again bumped into the limit of an op amp. A single op amp can provide gain or level shifting but not both at once. (I tend to disagree. A single op amp can do a lot of things. It can pat its tummy and rub its head and hop up and down on one foot and provide gain and offset. /rap)
I’m feeling around for a way to do a circuit. Depending on what is happening at the time, one end or the other of the resistor may be at the amplifier’s negative supply. (Okay, the op amp or op amps should run on a single supply, using no negative supply. /rap)
I’ve got a dc current that can vary ±10 A, and I want to be able to read down to about 10 mA. I can give up quite a bit of high current accuracy, but hope to see into the mud at low currents. The op amps will be supplied with a ground that will be equal to the most negative end of the sense resistor.
If I pick an op amp that includes ground in its common mode, I could use the attached circuit—Figure A—and depending on which direction the current was flowing in, I would digitize the appropriate signal. (Beware. What ADC do you want to use? / rap) I can play around with the value of the sense resistor a bit, but I want to keep the I × R drop below around half a volt. This means that at 10 mA, I will have only 0.5 mV of signal that will be very close to the op-amp ground.
(It sounds like you need an ADC with more than 12 bits of resolution to read 0.5 mV out of +500 mV to –500 mV as full scale. Many of these exist, but the ADC does not always go down to 0.0 mV, and most op amps do not go down to 0.0 mV. But I know how to make this work.
If you have 5 A flowing, the sense R might get to +250 mV, and you’d want to resolve 0.5 mV with perhaps 0.1-mV resolution. If you have –5 A flowing, the sense R might get –250 mV, and you would still want to resolve small changes such as 1 or 0.5 mV, with 0.1-mV resolution. If you were at +5 A, you would want to know if a change was –10 mA or if it was +10 mA, right? If you were at 0 A, and 0.000 A, you would still like to be able to resolve a +10-mA change or a –10-mA change, right? /rap)
I’ve considered using a chopper stabilized op amp, but don’t like the cost. I wonder if today’s op amps might have improved input offsets that would let me digitize to 10 or 12 bits and see the first count reliably. (You seem torn between using 10 or 12 bits, whereas I think you might be dissatisfied with anything less than 14 bits. What power supply do you have? Is it +5 V or +12 V or what? Is it stable and low-noise? /rap)
A second way of doing this circuit would be an instrumentation amp that at equal inputs would output ref/2 and the center would not be related to the common-mode voltage. I may end up rolling my own out of a quad package. (Even good op amps don’t automatically make good instrumentation amplifiers. It sounds like, in this case, you need an offset, so when there is 0 mA of P.S. drain, the ADC will get an input that is in the center of its range (Fig. B). What VREF does the ADC get? 2.5 V? What kind of ADC do you want? What have you decided on? /rap)
So I’m bouncing between doing an instrumentation amp versus the drawing I attached. I could calibrate the instrumentation amp for zero, but calibration costs money and I will be annoyed with dealing with drift.
These days, good op amps do not drift much. You could look up the LMP7731 or 7732.