Electronic – arduino – How to measure high current (20A DC) using arduino

arduinocurrentvoltage

I would like to be able to measure the power of a load connected to a 12V battery – this load takes around 20A and I would like to be able to store this using an arduino.

My first attempt was using a shunt resistor to calculate the series current then multiply this by the voltage recorded across the terminals of the battery using a voltage divider – but the issue was that the ADC couldn't pick up the small voltage of the shunt (14mV) and I'm wondering whether i should use an op-amp to amplify the voltage or to take a whole different approach, because I would like a voltage resolution of 0.1mV.

I've been looking into using an INA219, but i'm unsure if it's capable of this resolution or able to measure the voltage considering the high current.

Thanks

Best Answer

You can use an isolated or a high-side current sensor. LEM makes some very good ones (however they are not cheap) that are non-contact- just run a wire through the sensor.

There are ICs that work from the high-side shunt and pass a current proportional to the sensed current. For example, the Si8540. You do have to ensure that there are no transients on the +12V line that exceed the 36V capability of the IC or it could be destroyed. There are a number of other similar chips available.

enter image description here

Finally, if you have a low-side shunt, you can simply use an op-amp amplifier.

Related Topic