As EDN’s Design Ideas editor, I see a range of design submissions, from good, to not so good. A recent DI I turned down for several reasons included a high-side current sense circuit with implementation problems. This got me thinking about the different ways to accomplish current sensing on a voltage rail.
At their heart, the majority of DC current sense circuits start with a resistance in a supply line (though magnetic field sensing is a good alternative, especially in higher-current scenarios). One simply measures the voltage drop across the resistor and scales it as desired to read current (E = I × R (if I didn’t include this, someone would complain)). If the sense resistor is in the ground leg, then the solution is a simple op-amp circuit. Everything stays referenced to ground, and you only have to be careful about small voltage drops in the ground layout.
But often, placing the sense resistor in a supply lead is the preferred approach. Why? Ground might not be available (e.g., a chassis-grounded automotive device), or you may not want device ground to be different than supply ground, which can lead to ground loops and other problems. So, what are the options?
The most obvious and explicit method is to throw a differential or instrumentation amplifier (inamp) across the sense resistor, but in practice this is rarely a good way. To accurately sense current, extremely high CMR (common-mode rejection) is usually required, which is both expensive and prone to drift.
How so? Let’s consider an example design: 0-10A, 12V nominal, 5mΩ sense resistor:
Don’t even think about using discrete resistors for this, unless they’re part of a precision matched network (hence not really discrete of course). For a 1V shift in supply voltage, and 80dB of CMRR in the diff amp (which translates to ~0.01% resistor matching), you’ll see the equivalent of a 20mA shift in current (a 1V change with 80dB CMRR results in a 0.1mV shift referred to input; divide that by the 5mV/A scaling of the 5mΩ sense resistor).
For a 0-12V power supply, multiply that by 12: 240mA shift over the voltage range.
Read more: Sensing current on the high side