# How to shift differential signal to read with single ended adc?

I'm using a current sense resistor (0.02 ohms) for a high current battery monitor for a hobby project. I'd like to shift this to a 0-5 V range to monitor using an ADC input (single ended.)

I understand how to set the gain of an opamp using a resistor network. I also understand how to use a differential input of an opamp. But I can't seem to figure out how to do both at the same time. The negative feedback resistor will cause a direct path to ground (this resistor is high side at 12-17V.) In the case of unity gain, there will even be a short!

So what am I missing?

-
Please add a circuit diagram of what you are describing in your question. –  jippie Dec 25 '12 at 10:50
are you using low side or high side sensing? –  miceuz Dec 25 '12 at 11:25
cds.linear.com/docs/Application%20Note/an105.pdf Lots of good notes here. –  Toby Lawrence Dec 25 '12 at 14:47
I mentioned in the question that I'm doing high side sensing. –  Jon Watte Dec 26 '12 at 6:53

If your current sense resistor is in the 12V to 17V line the easiest way to convert the sense voltage to 0V to 5V is with a current sense amplifier. If the current flow is uni-directional, you could use INA139, or AD8212 There are many others. It is also possible to find some that can sense bi-directional currents, like AD8310. Using something like these mean all you need are the current sense resistor and a small signal resistor to set the gain.

Problems with using a differential amp will be things like being forced to have low gain to keep the input within the common mode range of the Opamp, and having somewhat low input impedance (10 KOhms to 100KOhms) due to the differential resistors that set gain and divide down the input voltage. Then having to add the gain later (and you are going to need an overall gain like $\frac{5 V}{I_{\text{senseMax}} R_{\text{cs}}}$). Having control of tolerances can also be a challenge. Getting around these problems become complicated, usually meaning a couple of additional amplifiers and precision resistors.

You could also use an instrumentation amp like an AD8223, or an INA826 could work. The nice thing about instrumentation amps is that the manufacturer has take care of the problems you run into when you make your own diff amp. So, you get high input impedance, easily adjustable gain, and don't have to worry about resistor imbalances or offset voltages.

-
Current sense amplifier. Sounds almost too easy :-) –  Jon Watte Dec 26 '12 at 6:49
... that's because it is :-) All those parts are surface mount only, and I'm still a Dinosaur. I really have to make the move to toaster ovens soon. Is there a good replacement for stripboard in the surface mount world? –  Jon Watte Dec 26 '12 at 6:54
proto-advantage.com/store will order the IC for you and mount it on a breakout board for a few extra bucks over the cost of the IC and the breakout board. –  Scott Seidman Mar 18 at 23:49

One option is to use an I-Amp (Instrumentation Amp) some of which will be way over kill for your application, but there are less expensive ones. Additionally, if you are lower precision, you can build your own poorer version using op-amps look up I-Amp datasheets to get guidance.

-

Some time ago I was also looking to sense current. Here is the schematic I conceived with some help.

You can ignore Q1 and G1.

-
The problem with this is that it uses a ground-based sensing resistor. If I did that, I know how to use a regular opamp. The problem is that the negative terminal needs to be connected to, say, 16.99V, when the positive terminal is connected to 17.00V. Then you can't, at the same time, set the gain with a resistor divider, while having the output sit in the 0..5V range. (Well, at least I don't think so.) –  Jon Watte Dec 26 '12 at 6:49