1
\$\begingroup\$

I have a 5 V system and I want to monitor the current in different parts of the system. I am planning to place a small value resistor on the positive power rail and feed the rail voltage and the voltage after the sense resistor to the microcontroller ADC peripheral. The maximum current is 0.2 A, and the sense resistor I am thinking of is 0.5 Ω.

I always see people use a differential op-amp to amplify the signal. Can I not use the op-amp and directly read the voltage using the ADC?

\$\endgroup\$
2
  • \$\begingroup\$ Have you considered low-side sensing? You'll still have a small signal that may need amplification but not the large common mode signal to remove. \$\endgroup\$ Commented Apr 26, 2023 at 2:01
  • \$\begingroup\$ Low-side sensing brings the circuit being monitored above the reference voltage 0V. Also mainly I want to detect short circuit so that I can disable that part of the system, low-side sensing will not detect that. \$\endgroup\$
    – HV16
    Commented Apr 26, 2023 at 2:17

2 Answers 2

3
\$\begingroup\$

Some microcontrollers may be able to read a differential of 100 mV with 5V common mode, but with 5V reference and a 10 bit ADC, that is only about 5 mV/count, so 100 mV would be just 20 counts or a precision of 5%. A 12 bit ADC would provide close to 1%.

There are many high side current monitors that can provide gain of 20, 50, and 100, and are much better than most differential amplifiers.

\$\endgroup\$
1
  • 2
    \$\begingroup\$ I don’t need a really accurate current reading, +/- 10mA is acceptable; therefore I don’t want to implement costly op amp or monitor ICs. Also the microcontroller has a 12-bit ADC so I guess it’ll do the job. \$\endgroup\$
    – HV16
    Commented Apr 26, 2023 at 14:47
3
\$\begingroup\$

Something like this:

schematic

simulate this circuit – Schematic created using CircuitLab

Sure, you can do that.

200 mA through 0.5 Ω is 100 mV, but your ADC reads 0 to 5 V so only 2% of its range is usable. So, for example on an Arduino Uno, instead of 1024 counts you only get 21 counts for 0 to 200 mA, 1023 being 0 mA and 1002 being 200 mA.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Note that this exposes an MCU analog pin to an unstated load; filtering, transient protection, overloading, etc. are additional factors the OP / viewers will need to consider. \$\endgroup\$ Commented Apr 27, 2023 at 4:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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