# How to measure small currents using current to voltage converter?

The battery voltage = 12 volts.

In the first circuit The op amp works as a current to voltage converter and its output equation is:

Vout = - I * R

I choosed R to be 20 ohm so that each 50 mA will make -1 volt drop.

I put 240 ohm across the 12v battery and I closed S1 switch to make sure that the current passing through it is 50 mA.

Then, I opened S1 and Closed S2 and the output voltage of the op amp is -1 volt.

The equation works well yet.

In practice, I don't have a supply that can produce negative voltages, so I have to build a bias for the op amp which is in the second circuit.

The positive input of the op amp is now 6 volts.

When I close S2, I would expect the voltage to be 6 - 1 = 5 volts.

but the result is 5.5 volts !!

Why does that happen? and What modifications should I make to get correct results? can I add a buffer or something like that ?

If I can not modify the circuit, What is the best way to measure small currents without using multimeter or ammeter?

Thank you very much,

• Expecting an op-amp to supply 50mA is naive in a lot of cases. Commented Jan 14, 2016 at 11:38
• Is your supply actually 12 V? If it was 13 V it would explain your readings. Commented Jan 14, 2016 at 14:00
• @transistor I put 12 volts in the simulator :) I put a new answer would you check it for me please? Commented Jan 15, 2016 at 10:41

As discussed in the comments, the problem is that the op-amp will adjust the output until the '-' input is the same as the '+' input which is held at 6 V. That means there is only 6 V (12 V from battery - 6 V from R1/R3) across R4 now.

simulate this circuit – Schematic created using CircuitLab

Figure 1. Non-inverting amplifier.

You may find the non-inverting amplifier easier to work with.

• $I_{in}$ will produce $100 \cdot R1$ volts to the '+' input.
• $V_{out} = 1 + \frac {R_f}{R_i}$.

Everything is positive with respect to ground. You just need an op-amp that can run to negative rail.

Get a copy of LTSpice and simulate the circuit, you will learn a lot!

Please also let us know what where your reference point is.

Please label you resistors for easy reference.

What you have is an inverting Opamp circuit.

In the second case, the 20ohm and 240 ohm resistors make a voltage divider.

The Opamp will never drive to the negative rail (even so called rail to rail versions have a small voltage drop).

Putting a probe on an opamp input is NEVER a good idea, the impedances are just too high.

The output of the opamp should go to near the negative supply(perhaps even a volt or so depending on the type of opamp), or about -5V5 to the centre 'virtual earth' formed by the 51K resistors.

This is probably where your discrepancy lies.

Your voltmeter impedance might also be skewing with the 51K resistors.

Rather make a low impedance virtual earth using another opamp as a follower with the feedback resistor at zero ohms, and put a decoupling cap on that to smooth it.

Then retest.

When measuring currents, you would normally have largish resistors in series with the inputs with a shunt (< 1 Ohm) between the probes.

These circuits are all well described in the literature from any manufacturer.

I've tried LTspice and I got the same results, but I think I know the answer now:

If I put a 240 ohm resistor across 12 volts battery, The current will be 50 mA. Now I need to measure that current (50 mA) without using a multimeter or ammeter.

If I used the "current to voltage" converter without biasing the opamp the equation number (1) will work (as shown in the picture below).

What I mean by "without biasing the opamp" is to ground the positive input.

Vout = - I * R2 = - 50 mA * 20 ohm = -1 volts.

The output voltage changed from 0 to -1 and that is what I need: Each 50mA produce voltage drop of 1 volt. I can not do that practically because my supply is from 0 to 12. and I can not get -1 volts so I have to bias the op amp.

If want to bias the op amp the current (I) will be changed.

The new value of the current (I) will be as the following:

I new = I old * R1 / (R1 + R3)

The new current = 50 mA * 0.5 = 25 mA.

Where the number 0.5 is the ratio of the resistors.

The new output voltage after biasing:

Vout = positive input voltage - I * R Vout = 6 - 25mA * 20 ohm = 5.5 volts

That is the result that I get using simulators.

If I need that each 50 mA to drop the output voltage by 1 volt, I have to adjust the resistor R2 again as in the equation number (2). I will multiply R2 by a correction factor as shown and the new value of R2 will be 40 ohm.

Now let's try it: I have 50mA current flowing through 240 ohm resistor if I connected it across 12 volts battery.

I need to measure that current. So, I will connect the resistor to the circuit, The current will change but R2 corrects it again. and the output voltage will be 5 volts instead of 6 volts. 1 voltage drop means 50 mA passing through the resistor.

I tried some values of resistors and equation (2) works. but I still not sure if I can rely on it?

• I haven't time to read all your answer just now but the op-amp will adjust the output until the '-' input is the same as the '+' input. That means there is only 6 V across R4 now. Have you allowed for that? Commented Jan 15, 2016 at 11:52
• @transistor Yes your are right there is 6 volts across R4, that's why I've adjusted R2. Thank you :) Commented Jan 15, 2016 at 12:05
• So is everything OK now? Commented Jan 15, 2016 at 13:06