Monday, 23 January 2017

adc - Measure Battery Current via Shunt


I'm working on a project where I'm measuring the current into/out of a battery (currents may be as high as approximately 150A, and I'm not aware of any hall effect devices that are continuously rated for such currents and/or don't break the bank) via a shunt resistor in-line with the positive line of the battery. To measure that current, I have to measure the (comparatively small) voltage across that shunt somehow.


Normally, I would use a instrumentation amp to amplify the signal, then feed it straight into an ADC on my microcontroller. However, since current can flow both into and out of the battery, I'd have to deal with the voltage range across the two terminals of the shunt being \$±150mV\$. (I'm making up numbers here, but that's around what I'll be dealing with.)


My question here is as follows: How do I go about sampling this voltage from the shunt in the simplest way possible?


I'd like to keep the circuit as simple as possible, as I'll need to (eventually) expand this project to sense current on several batteries simultaneously.


What's the best approach to sampling this voltage?



I'm thinking that I could somehow apply a DC bias to the incoming signal to 'shift' it into the range of \$0-300mV\$ so it's easier to sample, but I don't do much work with analog electronics or op-amps to really know where to begin.



Answer



There are many "high-side" current monitoring amplifiers which make this task much more easy and avoid cutting the ground rail to insert shunts.


enter image description here


Figure 1. The INA219 Zerø-Drift, Bidirectional Current/Power Monitor With I2C Interface is one of many. (Click for larger view.)


There are numerous version of similar devices - some built on hobby boards, etc.


If you can use I2C then that should simplify your wiring, connections and reduce the amount of analog signal handling required significantly.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...