Measuring Current - 75mv Resolution Problem.

Hi everyone,

I want to measure up to 150 amps of current using an Arduino.

I'm aware of the ACS758 Hall Effect sensor, but I don't want to use it. There is another option which is a shunt resistor.

The problem is that if I was to get say a 200 amp shunt which was rated to give a 75mv drop, it would only give me 15 values to resolve to! This is ofcourse because the Arduino has a 10 bit ADC which is generically at a 5v reference. So I'd only get outputs incrementing in 13a increments!

I know that you can set the ADC ref, but I'm using the ADC for other sensors too at 5v. What is the accepted way around this problem?

Thanks, Antony...

You need an amplifier. Eventually one with adjustable gain, if you want to measure lower currents as well. An external ADC often has both, adjustable gain and higher resolution.

DrDiettrich: You need an amplifier. Eventually one with adjustable gain, if you want to measure lower currents as well. An external ADC often has both, adjustable gain and higher resolution.

Thanks, can you recommend a good amp IC? I've never really worked with them before.

:-)

An “instrumentation” amplifier is pretty easy to use. Just add one resistor to set the ratio of output to input. I’ve used the INA188 before and it gave no trouble. I did have a “free” negative supply rail on that particular project so I had no worries about the amplifier being able to drive down to 0V when the input was zero. I don’t remember its rail-to-rail performance.

These days though, there’s a large number of digital ICs to do this job. There’s I2C chips designed for embedding in battery packs that will do lots of calculations for you and give you a nice simple digital answer.

Are you sensing current on the low side (negative lead) or the high side (positive lead)? Low side is preferable because the voltage to ground will only be the maximum voltage from the shunt. But, if the shunt is on the high side, the voltage to ground matters since it is imposed on the input components.

Don't want to see you wire something up and let the smoke out... so what is the voltage of the circuit the shunt is in and where is the shunt in the circuit?

Not all instrumentation amps work low side or high side. Need to know voltage and AC or DC to give meaningful advice. Leo..

Hi everyone,

Thanks for your input.

The voltage will be between 20-30v, amperage 0-150a.

The shunt will definitely be in the low side.

Which amp would be a good one for this? There are that many out there, I'm quite baffled!

This INA169 breakout board could work.
Ignore the current rating and onboard 0.1ohm shunt.

Is this uni- or bi-directional DC current?
Leo…

Wawa: This INA169 breakout board could work. Ignore the current rating and onboard 0.1ohm shunt.

Is this uni- or bi-directional DC current? Leo..

Thanks, it is uni-directional.

If shunt voltage*s* fall within the common mode range of the INA169, then that board can be connected to a 150A shunt. "Shunt" can also mean a length of wire. Resolution is ofcourse limited to Arduino's 10-bit A/D. Leo..

If the 10 bit ADC isn't enough for you, the INA219 has an internal 12 bit ADC with an I2C interface. The INA226 has 16 bits and I2C but it looks like you'd have to build your own board or go to China for a ready-built board.

INA219 Breakout

INA226 Breakout

I think both chips are designed to measure about 12volt supply rails with high-side shunts. Common mode range of the INA219 starts at 0volt (see datasheet). The INA219 could work low side, if current is uni-directional. I think it's 11-bit uni-directional. The INA226 seems to be able to measure a "shunt voltage drop" below ground (see datasheet). If so, it might even do bi-directional. Leo..

Wawa: This INA169 breakout board could work. Ignore the current rating and onboard 0.1ohm shunt.

Is this uni- or bi-directional DC current? Leo..

Ok, I've taken a look through the data sheets and I believe the INA169 is the one for me. Not the breakout board though ofcourse, but just the chip on it's own. However, I'll have to move the shunt to the high side because it has a low end sense of 2.7v.

I've got a concern though. Is this device going to be outputting common mode voltage to the Arduino or is this device going to output the difference tied to ground? For example, is it going to output say 35v or 5v?

Thanks, Antony

The ADC measures any voltage with respect to its Gnd line. With only one sensor used, the Gnd can be connected to one connector of the shunt, so that no offset voltage occurs. This may not be possible with multiple sensors, of no common connection, or with circuits connected to mains voltage, for the risk of electric shock. These are scenarios where hall sensors can isolate multiple measuring points as well as hazardous voltages.

If AC current shall be measured, a rectifier and peak detector is required before the ADC, in detail if a high resolution ADC with a low sample rate is used.

antonyc: I believe the INA169 is the one for me. Not the breakout board though ofcourse, but just the chip on it's own.

I've got a concern though. Is this device going to be outputting common mode voltage to the Arduino or is this device going to output the difference tied to ground? For example, is it going to output say 35v or 5v?

The chip itself is tiny (smd). Why not use a breakout board. https://www.adafruit.com/product/1164 A 150Amp shunt and a 0.1ohm shunt on a breakout board is a fly on the back of an elephant.

The chip is measures voltage across a shunt, and converts that to an output current. A resistor (R_load) is used to convert this current into a voltage. The value of that resistor sets output voltage, e.g. 0-5volt. There is a table for that in the datasheet. Leo..

A 0.1 Ohm shunt drops 15V at 150A, and produces 2.25kW of heat. Even a 0.01 Ohm shunt burns 225W, what makes it and the heat sink and cooling fans a dinosaur, not only an elephant. It's a very bad idea to place such a shunt on a breakout board :-(

I think you misunderstood. OP was thinking of getting a 200A/75mV shunt (post#0). That shunt is 0.075volt / 200Amp = 0.000375ohm. The 0.1ohm shunt on an INA breakout board would be insignificant compared to that. If 200Amp would flow through the big shunt, only 750mA would flow through the 0.1ohm shunt. Leo..

Why 2 shunts? The first one converts the current into a voltage, that can be amplified and measured.

To measure 150Amps, you obviously need a 150A or 200A shunt.

The 0.1ohm shunt comes soldered onto an INA breakout board.
Leave it, or remove it. It makes little difference.
Leo…

Then the on-board shunt should be removed. Else the cable resistance between both shunts will affect the measured value.