3 added 1037 characters in body
source | link

The input common mode range of the LM358 DOES NOT include the positive supply rail. Adding the resistors will work but the 1kohm needs to develop at least 2 volts across it to bring the common mode voltage down to data sheet values.

Your modified circuit should work. What does the simulator give as a result?

It gives almost exactly half of the voltage across the resistor. 480 mV at 1 amp current draw.

Do you have output linearity down to zero amps? It's about half the value because of the 1 kohm potential dividers reducing the voltage by about 2.

It looks quite linear until you get down to approx. 100 mA range: -

enter image description here

I thought this might happen: With a single supply rail the LM358 is going to struggle below 50 mV. You could try addding a 1 kohm resistor down to 0 volts on the 358 output. Alternatively, you bias the resistor values so that 0 amps would produce say 100 mV intentionally.

Which side of R16 have you got the load - this does matter because if you have it opposite to your schematic then it won't work and will do what you have found.

@Andyaka The lower voltage side goes into the inverting input. I also exchanged the sides to double check, with the same result.

Maybe the chip is damaged. Try replacing the chip.

The input common mode range of the LM358 DOES NOT include the positive supply rail. Adding the resistors will work but the 1kohm needs to develop at least 2 volts across it to bring the common mode voltage down to data sheet values.

The input common mode range of the LM358 DOES NOT include the positive supply rail. Adding the resistors will work but the 1kohm needs to develop at least 2 volts across it to bring the common mode voltage down to data sheet values.

Your modified circuit should work. What does the simulator give as a result?

It gives almost exactly half of the voltage across the resistor. 480 mV at 1 amp current draw.

Do you have output linearity down to zero amps? It's about half the value because of the 1 kohm potential dividers reducing the voltage by about 2.

It looks quite linear until you get down to approx. 100 mA range: -

enter image description here

I thought this might happen: With a single supply rail the LM358 is going to struggle below 50 mV. You could try addding a 1 kohm resistor down to 0 volts on the 358 output. Alternatively, you bias the resistor values so that 0 amps would produce say 100 mV intentionally.

Which side of R16 have you got the load - this does matter because if you have it opposite to your schematic then it won't work and will do what you have found.

@Andyaka The lower voltage side goes into the inverting input. I also exchanged the sides to double check, with the same result.

Maybe the chip is damaged. Try replacing the chip.

2 added 149 characters in body
source | link

The input common mode range of the LM358 DOES NOT include the positive supply rail. Adding the resistors will work but the 1kohm needs to develop at least 2 volts across it to bring the common mode voltage down to data sheet values.

The input common mode range of the LM358 DOES NOT include the positive supply rail.

The input common mode range of the LM358 DOES NOT include the positive supply rail. Adding the resistors will work but the 1kohm needs to develop at least 2 volts across it to bring the common mode voltage down to data sheet values.

1
source | link

The input common mode range of the LM358 DOES NOT include the positive supply rail.