I've created this small circuit to translate voltage drop over a shunt resistor into a usable range for arduino (5v atmega32u4) adc.

This is to measure current out of and into (charging) a 12v battery on a boat. The shunt is low side (connected to Bat-). My circuit has Bat- as Ground, Vin at high side of shunt. The shunt is 75mV at 100A.

The circuit seems to work nicely (though center was ~0.8v below the expected 2.5?)

Question(s): It should probably be some form of protection in there. If I float Vin, output goes >9v and uC-pins would be unhappy. Is a zener diode enough?

Anything else that's missing? 0.1u caps on input and output?


simulate this circuit – Schematic created using CircuitLab

  • 1
    \$\begingroup\$ Don't add a capacitor on an opamp output. You may add a clamp (zener or schottky to 5v) and a series resistor. \$\endgroup\$ – Mike Jun 2 '17 at 21:38
  • \$\begingroup\$ I'm not sure I understand your question I would power your opamp off a wide input range LDO, even a 7805 would do, versus directly powering on VBAT \$\endgroup\$ – sstobbe Jun 2 '17 at 21:44
  • \$\begingroup\$ @sstobbe: I'm sorry, what's unclear? I'd like to know how I should prevent the ~12v op-amp circuit from blowing up the 5v uC pins if it gets out of control. I was thinking about regulating 12v, but figured I would try to compensate for the varying voltage in software (I'm measuring the battery voltage separately) \$\endgroup\$ – ttyridal Jun 2 '17 at 21:50
  • \$\begingroup\$ Where's the current shunt in your circuit. \$\endgroup\$ – Andy aka Jun 2 '17 at 21:50
  • \$\begingroup\$ The Sine generator in the schematic will be the current shunt. \$\endgroup\$ – ttyridal Jun 2 '17 at 21:53

A zener clamp will be sufficient to protect the uP A/D input.

If the measured parameter is an AC signal, capacitors would only remove DC bias. The resulting AC signal or spikes could still exceed the input ratings.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.