Designing a voltage/current meter for solar panels using 358 op-amp

Hi,
I am new to working with the Arduino and with Op Amps. I am trying to design a voltage/current meter to monitor solar panels using the Arduino Uno board. I thought my design would work but it is not giving the correct values. Please let me know what is wrong with my schematic and how I could improve my design.
Thanks!

I could probably get an OP amp circuit working if I spent enough time at it but I won't attempt to advise anyone else.

It strikes me that you have no load for your solar panel. What size (volts and amps) is your panel?

If you think the 0.1 ohm resistor will act as a shunt to measure current the problem is that very little current will flow through the 10k resistor. You need a load resistor that allows the full current to flow. My solar panels each produce 80 watts at about 18v which is about 4 amps. A resistor for 4 amps at 18v would be about 4.5 ohms and (of course) 80 watts. (Hope my maths is correct)

What Arduino are you using? If it is NOT an Uno (or rather if it doesn't have a 328) it may have a differential amplification capability for the ADC which would obviate the need for the OP amp.

...R

My solar panel can produce about 6V and 550mA.

I'm thinking about changing the 0.1ohm resistor to a 120 ohm resistor hoping that it will help with the current situation and make the output of the op amp work correctly.

It is the Arduino Uno that I am using.

A maxim 4172 might make it much easier to measure the current:

Measuring currents greater than a few mA using an op amp is not easy to do and your design won't work for several different reasons.

First, you need a small value shunt resistor in series with the actual load on your solar panel, which as Robin2 commented, is not shown on the circuit diagram.

The shunt resistor should have either one end grounded (as you now have) or one end connected to the plus terminal of the panel, which creates a second difficulty: both op amp inputs will be at very near ground potential or very near the maximum positive potential. For this to work, you need the op amp power supply to be split, with voltages at least 1.5 V higher than the panel voltages, or you need a true "rail-to-rail" operational amp. The LM358 is not rail-to-rail, so you would typically use a +/- 9V split supply to power it.

The third difficulty is that the gain of the amp, set by your choice of input and feedback resistors (~ 240,000/3) is far too high for stability.

I would advise spending some time with Google to see how others have solved this problem.

dwildfire: My solar panel can produce about 6V and 550mA.

I'm thinking about changing the 0.1ohm resistor to a 120 ohm resistor hoping that it will help with the current situation and make the output of the op amp work correctly.

It is the Arduino Uno that I am using.

What are you trying to measure with your circuit?

Can you show the calculations that you use to choose your resistor values? (If you don't know how do to those calculations it will NEVER work).

...R