1

Okay I want to make a simple circuit to measure high currents coming from my car battery, and I think I have something that might work, but I'd like anyone who knows more about this to point me in the right direction.

I read car starters can pull hundreds of amps, and so for the sake of this design, I just assumed my car will max out at 200A during ignition. It might be higher, but I have a small car (Ford Escort) and I think if it goes over 200A for a brief bit it will be okay.

My design is to use a shunt resistor to get a reading of the high current.

It's a 200A, 75mV scale shunt from Digi-Key, here.

So I want to take the voltage on the shunt, feed it into an op-amp, and scale it to max out at 5V for an arduino. Here's what I came up with.

If you slide the resistance all the way to the left, the load (modeling the starter) will drop to 0.06 Ohms, which is what I'm estimating the starter to be to draw 200A from a 12-V battery. .06 = 12/200.

Then if you slide it to the right, it mimicks normal operation, for current draw for the rest of the car, and will go as high as 12 ohms, pulling 1 amp.

You can see the output of the op amp maxes out at 5V, and the power on the shunt maxes at about 15 watts.

So obviously this circuit design looks like it could work in theory, but what I want to know is if there's a better way to do this? Or if the circuit can be improved? Or if it would even work at all?

krb686
  • 1,215
  • 13
  • 23

5 Answers5

2

I've used the following approach before:

  1. Find a continuous length of power wire that goes from battery positive terminal to the starter.

  2. Attach a sense pickup wire on each end of the starter wire.

  3. Connect a differential amplifier (with input filter) to the ends of that length.

  4. Attach a thermistor in the middle of the cable.

Then an Arduino captured the output of the differential amplifier, and the temperature, and did a bit of math to get the result:

$$ I={V_{in} \over A_V \cdot R_{nom} \cdot T_A/T_{ref}}, $$

where \$V_{in}\$ is the input voltage derived from ADC input, \$A_V\$ is the gain of the differential amplifier, \$R_{nom}\$ is the nominal reference of the section of cable that's used as a shunt, \$T_{ref}\$ is the absolute temperature this nominal resistance was measured at, and \$T_A\$ is the absolute temperature derived from the thermistor input.

If the circuit is to be used for testing only, and not continuously, the differential amplifier is not necessary: power the circuit from a USB power bank, and use a regular op-amp to amplify the shunt voltage. The GND of the entire measuring circuit is then connected to the starter side of the positive cable from the battery. The shunt voltage then appears as a small ground-referenced positive voltage - easy to amplify. If you do that, make sure that the circuit is isolated from the chassis!

schematic

simulate this circuit – Schematic created using CircuitLab

The input section aims to protect the op-amp from the horror that is automotive power. Q1 and Q2 can be any NPN type, although faster ones are better.

1

If you look on eBay for DC ammeter panel meters they are 10 a penny (well GBP 3 anyway). They come with bar-style current shunts rated as max current for 75 mV. I use 100 A and 200 A shunts all the time. You can also get shunts on their own. These are low-side only in that the shunt is in the return rail. Fine if you only want to use 1 but I've got a complicated system with multiple battery banks so return rail measuring is out.

I'm just designing a high-side ammeter device for 12 V use and was going to use a ACS758 Hall device (got some in stock - they do 100 A fine) except that the 200 A ones are rather expensive. So the beauty of a high side ammeter based on a shunt and an IMP8481 or a TSC101 or TSC103 is that I can expect it to be cheap as chips. As it were.

ocrdu
  • 8,705
  • 21
  • 30
  • 42
  • There are many high side current shunt monitors available for less than $1. Here is one that can work from 8V to 450V and has a gain of 5, so a high side 200A 50mV shunt will provide a ground referenced voltage of 250 mV at full scale. It will still work at current as high as 2000 amps where its output will be 2.5V. https://www.mouser.com/datasheet/2/268/HV7801_A062813-1365745.pdf – PStechPaul Jul 09 '22 at 00:39
1

A shunt resistor is not a good idea in this case due to the high current. The resistance you'd need to keep the voltage drop low and the dissipation reasonable would be so low that it would become highly impractical.

60 mΩ for 200 A is ridiculous, as even a few seconds thinking about it would have told you. 200 A x 60 mΩ = 12 V, which means all the voltage would be across the resistor with none left for the starter even if it could somehow draw 200 A under those conditions. Clearly that can't work. Second, the power dissipation is way out of range. 200 A thru 60 mΩ dissipates 2.4 kW!

At this current, I'd look for a hall effect current sensor. Those sense the magnetic field caused by the current.

JYelton
  • 32,302
  • 33
  • 134
  • 249
Olin Lathrop
  • 310,974
  • 36
  • 428
  • 915
  • 1
    Sorry I think that was worded wrong. If you look at the circuit I linked, I meant the 0.06 Ohm resistor is modeling the starter. The shunt is 0.000375 Ohms. That also would have been verified by looking at the shunt I linked... So the power maxes out at 15 watts on the shunt, and that's only during ignition. My guess is normal current will be 25A? So 0.2 watts – krb686 Aug 07 '13 at 15:36
1

Your circuit link was bizarre but I think I got the idea: -

enter image description here

This is the nearest I could find and this works but yours won't (very accurately) because you've put all the gain into your one and only amplifier (equiv to A1 with R2 and R4 at 67kohm and R1 and R3 at 1kohm). Think about what the output will be when no current flows i.e. the input voltages are the same.

Theoretically it will be 0V but a 1% change in the value of one of these resistors will generate a large error voltage on the op-amp output that gives you a false reading because the common-mode rejection ratio of A1 totally relies on perfect resistor matching then, imperfections are multiplied by gain (=67)

This is why the circuit I've shown works a lot better - errors in the matching of the 1st stage will be multiplied by a gain of 0.1111 (approximately) i.e. there will be minor errors for a 1% mismatch in resistors.

A2 does the main amplification and is set for a gain of 250. Overall, gain is 27.78 and smaller than yours but A2's gain can be increased.

Should you still have common-mode problems there is this: -

enter image description here

Other related TI products. I'm also aware the Linear technology produce a bundle of high-side current monitors.

Andy aka
  • 434,556
  • 28
  • 351
  • 777
  • Thanks this is very informative since I don't know much about amplifiers. So the errors get reduced by the amplifier with gain < 1, and then the 2nd amplifier is responsible for the majority of the overall gain and isn't affected by mismatching since it isn't a differential amp? – krb686 Aug 08 '13 at 11:35
  • @krb686 correct and nicely put. – Andy aka Aug 08 '13 at 11:36
  • I think I'm still a little confused. I've been trying to build this in a simulator but it's acting strange. I built only the first amplifier with gain of 0.111, and set all the resistors to have 1% error (ratios are set to maximize error) to see what the input is to A2, and when I take out the load, it ends up with -48mV on the output. This is still far better than my circuit, which had 0.5V on the output with maximized error and 1% resistors, but I'm confused why it's -48mV. According to the sim, V- and V+ are both 1.18V: http://bit.ly/195qzrq – krb686 Aug 08 '13 at 12:18
  • I guess the math just works out that way? I think I'm wrong in assuming the error should be 600 times smaller than in my circuit. I was just going off of comparing gain = 67 to gain = 0.111. (67 / 0.111) = 600, but since the resistors are different, it doesn't translate that way? – krb686 Aug 08 '13 at 12:23
  • Anyways, since your amplifier has an output of 48mV when V- = V+ = 1.22, _Acm_ = 0.039. And since Av = 0.11111, then CMRR = 0.1111 / .039 = 2.85. Isn't that bad? And anyways, since the output has 48mV on it, that gets amplified by 250 and the final output pretty much maxes out the +/-15V even in common mode. Is there something stupid I'm doing here? – krb686 Aug 08 '13 at 13:14
  • Maybe this will need 0.1% resistors - I do know that hi-side current measurement with differential amps is not a walk in the park etc.. TI have a great article http://www.ti.com/analog/docs/microsite.tsp?sectionId=560&tabId=2213&micrositeId=7 and maybe it's worth adopting their approach. This http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=slyb194 has some device recommendations and I'll put them in my answer later today if I remember!! The INA210 looks good for the job. – Andy aka Aug 08 '13 at 15:24
1

I would recommend looking at an Allegro hall effect sensor.

This sensor has the amplifier built in to it and the signal out can directly connect to an analog input on the Arduino board.

Jeff
  • 176
  • 6
  • The link you provided does not work. Here is a better one that explains such devices: https://www.allegromicro.com/en/insights-and-innovations/technical-documents/hall-effect-sensor-ic-publications/allegro-hall-effect-sensor-ics. They are available here: https://www.amazon.com/hall-effect-sensor/s?k=hall+effect+sensor. – PStechPaul Jul 09 '22 at 00:16