An interesting dynamic of solar cells is that they rapidly lose efficiency when subject to temperatures over 30ºC (77ºF). The loss is about 0.48% per degree over 30ºC. This might not seem significant, but when an object designed to harvest the sun’s energy actually begins harvesting the sun’s energy, it will reach higher temperatures than you might expect quite quickly. Especially when grade A cells operate at 17% or higher efficiency.
In order to try to quantify this, we’re going to need to know the temperature of the solar cells. A very simple and inexpensive device to use is the LM35 temperature sensor. It’s in essence a modified transistor, and you’ll note that it’s in the quite common TO-92 package design. Because transistors are effected by temperature such that the required gate voltage to allow it to switch is inversely proportional to the ambient temperature, this offers a simple analog output in volts that can be measured and converted to temperature.
Because I wasn’t interested in adding a huge pile of 7 segment led modules to this, I added a 20×4 LCD that would output this information. You’ll note that it’s currently not driven by any shift registers and is instead wired in parallel to the microcontroller. This is a fairly expensive way to drive the device in that it eats up 6 I/O pins, but for now it’ll do. I’ll rework it when I need more outputs:
The first line is the incoming voltage, the second is the temperature, and the third is the loss in wattage due to temperature, which is a quick and easy calculation for the microcontroller. Piling that on to the mess of wires on my poor little breadboard and I’m left with very little room to work with:
Now to figure out how to cool it down…