INA219 and external shunt resistor

0

I am designing a PCB that has the INA219 current sensor. I would like to use a shunt resistor to be able to measure current of upto 10A. What types of shunt resistors can I use? Am I allowed to pick for instance a 2mohm resistor from the components list of my PCB? If you can share with me the model name, I will really appreciate.

I keep seeing some large shunt resistors that I am wondering how I will fit them onto my PCB. Thank you for your help.

Best practice is to use the largest shunt resistance that will fit your application. A larger resistance will provide a larger voltage that will be less susceptible to noise. However a larger resistance will require a higher wattage resistor, so there is a trade-off.
You also need to consider resistor tolerance as it will affect the accuracy of your readings.

I suggest you spend some time and read the INA219 datasheet.

Hello sherrywere

Welcome to the best Arduino forum ever :slight_smile:

Take a search engine of your choice and ask the WWW for "thick film resistor" to get some ideas.

To select the appropiate shunt resistor you need to use the following equation:

R_shunt_max <= ShuntVoltageInputRange_Max/I_sense_max

The shunt voltage input range max is listed in the electrical characteristics section of the data sheet. For the INA219 datasheet these values are:

Note 1: Some devices can have a different name for the shunt voltage input, for the INA229, for example, this parameters is named as V_DIFF:

As you can see, the INA219 has four different shunt voltage input ranges, the selection of each range can be modified changing certain register settings, in specific the CONFIGURATION register (0x00), bits 11 and 12. (see page 19 of the datasheet).

So according to the figure 1, what PGA gain or what input voltage range do you want to use?

If you select a range of ±40mV then the maximum shunt resistor should be:

R_shunt_max ≤ 40mV/10A 
R_shunt_max ≤ 4 mΩ

The maximum power dissipation would be:

P = I^2 x R = (10A)^2 * (0.004) = 0.4W

If you select a range of ±80mV then the maximum shunt resistor should be:

R_shunt_max ≤ 80mV/10A 
R_shunt_max ≤ 8 mΩ

The maximum power dissipation would be:

P = I^2 x R = (10A)^2 * (0.008) = 0.8W

If you select a range of ±160mV then the maximum shunt resistor should be:

R_shunt_max ≤ 160mV/10A 
R_shunt_max ≤ 16 mΩ

The maximum power dissipation would be:

P = I^2 x R = (10A)^2 * (0.016) = 1.6W

If you select a range of ±320mV then the maximum shunt resistor should be:

R_shunt_max ≤ 320mV/10A 
R_shunt_max ≤ 32 mΩ

The maximum power dissipation would be:

P = I^2 x R = (10A)^2 * (0.032) = 3.2W

And about the physical component, you can use Digikey
Use the filters to select the resistance, the power and the tolerance

For example, for a 10mOhm, 1W resistor, 1% tolerance:



Consider switching to the INA260. No external shunt, and a 15Amp range.
Leo..

Hello Wawa

Thank you for your suggestion.

Do you have practical experience with the parallel connection of the INA260 for a larger current measuring range?

@sherrywere
Still need help?

Let me look into this. Though they don't seem to be readily available in my country.

So have you decided not to use the INA219?

Let me try the option of the INA260. if not, I will use an external shunt resistor of 0.1 ohms to get 0.05 as the total resistance. Then i will have to multiply the current reading in my code. If I will be able to read upto 5A safely, I will be okay. Thanks

I don't understand.
You will have one shunt on your PCB and another shunt external to your PCB?
For what reason?

Did you miss the part were the INA260 can handle 15 amps just fine on its own? You don't need to modify it for 5 amps.

The default range with the on-board 0.1Ohm shunt is 3.2Amp.
Adding 0.1Ohm to the screw terminal should double the range to 6.4 Amp.
Leo..