# Need help with circuit design for current measurement of car starter

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?

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

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: -

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

• 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 8 '13 at 11:35
• @krb686 correct and nicely put. – Andy aka Aug 8 '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: bit.ly/195qzrq – krb686 Aug 8 '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 8 '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 8 '13 at 13:14

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.

• 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 7 '13 at 15:36

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.