Why is my power proportional to V rather than V squared?

I set up a little project to estimate the output of my grid-connected PV array-unfortunately I dont have a fancy internet-enabled inverter :frowning: . Since I dont want to modify the actual PV system (dangerous voltages etc) I had the idea of estimating the solar power using a cheap solar cell from a garden light- the kind thats about 1 inch square.

The circuit is simple enough

fgvsd.GIF

And the code is also fairly simple

unsigned long int now, then, val = 0;
int analogPin = 1, avg, count = 0;


void setup() {

  Serial.begin(9600);
  then = millis();
}

void loop() {
  now = millis();
  if (now - then >= 1000) {
    val += analogRead(analogPin);
    ++count;
    then = now;
  }
  if (Serial.available() > 0) {
    while (Serial.read() >= 0) ; // read all the bytes
    avg = (count > 0) ? val / count : 0;
    Serial.println(avg);             // debug value
    val = 0;
    count = 0;
  }

}

For the sake of this experiment I had my Raspberry pi on the other end of the USB connection running a simple script every minute that simply logs the received data along with a timestamp.

For a couple of days I had my little solar cell on the roof with this logger running and I took a few readings manually off the inverter of my PV system to compare.

However
I was somewhat surprised when I plotted them out. As shown below the readings on the Y axis I manually read off the front panel of my inverter while the X axis readings are the corresponding times from the arduino connected to the garden light cell. The data from this plot is attached

rtsdmgh.GIF

What I dont quite understand is why the power of my PV system appears to be directly proportional to the voltage from the little cell when ohm’s law suggests that

Power = V2/R

Does anyone have any thoughts on why this is so?

solar sensor data march 2016.txt (392 Bytes)

What is the open circuit voltage and short circuit current of the solar cell? For maximum power transfer, it needs to be loaded with a value equal to the cell's source impedance.

You are effectively shorting the cell with the resistor and using it as a shunt to measure current.

Solar cells typically work in the 0.45 to 0.55V forward bias region, which is very roughly constant voltage, so the power depends mainly on the current, which is what you are measuring.

In reality your inverter is doing MPP-tracking so the line won't be quite straight, and your shunt resistor may be not low enough to be exactly a short-circuit load, so its response won't be a straight line quite either - the two curves may or may not cancel each other's non-linearity out too, would have to think a bit about that.

I think you are thinking of a resistor, where power is proportional to voltage squared, but a PV cell is not a resistor, its a diode (well array of diodes).

Would this circuit help. http://www.electronics-tutorials.ws/io/io60.gif?81223b The opamp, through the resistor, generates the opposite current that the solar cell produces (cell+ to ground). The cell is effectively shorted, so only current is measured. Try an opamp with common mode inputs that include ground. e.g. the LM358. Experiment with the value of R, so max sunshine produces ~3volt (5volt if you use a rail2rail opamp). Leo..

Thanks for your contributions so far..

@Artic_Eddie: I did choose the resistor to give (as close as standard values allow) half the open-circuit voltage of the solar cell which , from my distant memory of circuit theory 101, gives max power transfer.

@MarkT: not sure I follow your argument. A solar cell is an energy source which drives a load so my readings reflect the power made available to the load similar to what I imagine my PV system is doing albeit in a more complex fashion. I would like to know more about Mpp mode if you can share (the panel of my system does mention Mpp).

@Wawa: circuit? Perhaps you forgot an attachment?

I found the optimum voltage to be higher than half the open circuit voltage. This was using one of the disk cells from Adafruit. The open circuit voltage divided by the short circuit current yielded 120R. I also loaded the cell at a variety of values with a decade resistor box and found max power on the load to be the same value, 120R. However, the cell was working at 4v4 while open circuit was 5v9. Try the Vo/Is value and see what you get.

rw950431:
@MarkT: not sure I follow your argument. A solar cell is an energy source which drives a load so my

V squared I refers to a resistor.

What you have is a resistor shunted by a diode array.
I think anyway, its non linear.

EDIT

Here is a better example showing spice model.

You could consider it to be a variable resistance in parallel with your sense resistor.
Resistance varies with output.
Its more complicated than that but was the example given to me when trying to understand circuit operation.

MPP , the search term to use is MPPT.

rw950431: I set up a little project to estimate the output of my grid-connected PV array-unfortunately I dont have a

What sort of export meter do you have ?

The Landis and Gyr type have an optical port.

My import/export meter is an Itron ACE2000 SMB type 292. It has a LED that gives 1000 imp/KwH which I have managed to count. HOWEVER, much to my dismay, I found that the LED flashes in both import and export mode leading to somewhat less than useful information during daylight hours.

Hence my interest in obtaining an estimate of the solar contribution in order to make better use of the import/export data.

itron.GIF

rw950431:
have managed to count. HOWEVER, much to my dismay, I found that the LED flashes in both import and export mode leading to somewhat less than useful information during daylight hours.

There are separate registers for import and export.
They can be interrogated using published protocol IEC 62053-31 through the ir port.

I think thats the slot on the right.

EDIT
It depends though on how the supplier has set it up.

Reprogramming will be pasword protected
Other functions may or may not be available.

What I dont quite understand is why the power of my PV system appears to be directly proportional to the voltage from the little cell when ohm's law suggests that

The linear relationship is to be expected if the PV cell is properly loaded by a resistor.

PV cells are approximate current sources, so the voltage across a suitably chosen resistor is proportional to the cell current, which in turn is proportional to the number of photons/second captured.

The number of photons/second = energy/time = power.

A good approximation for the correct load resistance is, in full sunlight, to measure the cell's open circuit voltage Voc, short circuit current Isc and choose R= Voc/Isc.

Boardburner2: There are separate registers for import and export. They can be interrogated using published protocol IEC 62053-31 through the ir port.

I think thats the slot on the right.

That's a delicious possibility.. Do you have any docco on the protocol? My web searching is only turning up electric meters, nothing on how to read the protocol. I did point my phone camera into the port but saw nothing- I guess the reader needs to initiate the read sequence?

The other issue may be that using that port upsets the meter reader and gets me in trouble with the power company...

jremington: A good approximation for the correct load resistance is, in full sunlight, to measure the cell's open circuit voltage Voc, short circuit current Isc and choose R= Voc/Isc.

Would the load resistor value be the same for every light level? I thought cell power could be estimated easier by only measuring Isc of the garden solar cell. Leo..

Would the load resistor value be the same for every light level?

In most practical situations, [u]Voc[/u] does not depend on light level, but the choice of R could depend on what light intensity range you want to measure. With an Arduino you can only measure voltage, so measuring Isc directly is not possible.

I have the impression that the OP is interested in power available from direct sunlight, so the calibration would be relative to full sun.

jremington: With an Arduino you can only measure voltage, so measuring Isc directly is not possible.

I linked to an image of an opamp circuit in post#3. Maybe I didn't check after I posted. It was not there. Added it again. That circuit could measure shorted (zero ohm) solar cell current. Leo..

rw950431: That's a delicious possibility.. Do you have any docco on the protocol? My web searching is only turning up electric meters, nothing on how to read the protocol. I did point my phone camera into the port but saw nothing- I guess the reader needs to initiate the read sequence?

The other issue may be that using that port upsets the meter reader and gets me in trouble with the power company...

The protocol has to be purchased unfortunately.

Upset the meter, well i expect the important stuff is protected to prevent fraud.

http://forum.arduino.cc/index.php?topic=147239.0

Using a PV cell. the best way i think is to calibrate it with a graph if you can. You could use a linear approximation at lower accuracy. Bear in mind though that shading could have a significant effect on comparative results. Small detector, large panels.

Boardburner2: The protocol has to be purchased unfortunately.

Upset the meter, well i expect the important stuff is protected to prevent fraud.

http://forum.arduino.cc/index.php?topic=147239.0

Using a PV cell. the best way i think is to calibrate it with a graph if you can. You could use a linear approximation at lower accuracy. Bear in mind though that shading could have a significant effect on comparative results. Small detector, large panels.

Thats useful info from that thread, might be worth breaking out my IR detector one day just for fun. Cant see myself paying 280 swiss francs for the docs though :(

I was more referring to obstructing access to the port for the meter reading guy when he comes every 3 months. (no remote access smart meter for me)