22 March 2015

Sun illumination logger with Arduino - summing it up

The 2015/03/20 Solar eclipse is gone and it is time to summarize my short project about it.

It all started one day at work during lunch break, when a colleague expressed his worries for an electric blackout because of the eclipse and the large amount of photovoltaic sources in Europe suddenly reducing their production capacity during peak hour. That was about one month before the event.

I had a PV cellphone battery charger that laying around. Since its performance had not impressed me at all, the solar panel was donated to a new project: measure incident solar power during the Eclipse.

A very simple circuit was assembled, using Arduino A/D converter to measure the PV panel open loop output voltage once a minute.

PV output voltage without a load.
I was WRONG. The unloaded panel voltage is almost maximum even in full shade (about 6 V), but we all know that the available PV power is much less than in direct sunlight.
The 100x55 mm solar panel.
Curiously it reminds of 100mA x 5.5V.

So one sunny day I measured the short circuit current of the panel, a bit more than 100 mA. The Arduino A/D converter accepts 5 V max and a resistor is the simplest form of I/V converter.  This meant passing the current through a R = V / I = 5 / 0.1 = 50 ohm. Easy, but it dissipates P = V * I = 5 * 0.1 = 0.5 W. Heatsink required on the resistor.

A few firmware adjustments later I could finally get meaningful readings of the PV power coming out of my little panel. The graph clearly shows when the Sun rises on the panel (10 am or so), clouds passing by, sunset. 9 days left to the Eclipse for collecting samples

Few more days into the project and we got two rainy days. The available instant power drops from almost 500 mW to an amount variable between 1 and 50 mW. 6 days left to the Eclipse.

Then, worried by the heat produced in the 12-5 V voltage regulator, I wanted to measure the total input current. This operation fried both the regulator and the Arduino of my project. (This accident that I turned into an experiment will be described in another blog post.) The circuit had to be offline for a couple of days until I replaced the voltage regulator to the solderless breadboard.

The 3 days left to the eclipse were sunny and provided good readings. The only heat produced in the circuit was now in the I/V converter resistor. So far so good.

Finally the Eclipse day came. We were expecting about 70% coverage maximum at 10:30 am. This is how the sky looked like all day long:

Thick clouds and not even an idea of wind. The Sun is behind there, I know.


Back home at night I downloaded the logger data and produced the usual graph, ready for the total failure of the experiment:


The thicker yellow line laying on the X axis represents data collected on March 20th. Sun radiation was too weak to produce enough current for a side-by-side comparison with other days. But, wait a moment! Let's have a second look at the last graph. I can add a second Y-axis on the right, that has a different scale than left Y-axis. Ta-da!!


Almost magically the March 20th yellow line sparks to life. Power readings are not meaningful (and certainly not useful as an energy source), but the trend in between clouds is interesting. Look at the smooth dip in the morning, with a low at 10:30 am. Even if the sky was totally cloudy, the simple instrument could detect the whole eclipse. My eyes did notice it as well, but not so carefully.

So, after wrong type of measurement, hardware failures and cloudy days, how would you consider this experiment? Success or failure?

13 March 2015

Sun illumination logger with Arduino - 4 days worth of data

My photovoltaic data collection is still producing data. This is the comparison of four days:


Yesterday the sky was not 100% clear, so the green line is correctly lower. I wonder what happened at 12:30 that the produced energy has dropped to a very low level for about 10 minutes.


10 March 2015

Sun illumination logger with Arduino - take #2

Following my previous post I revised my circuit to measure the short-circuit current generated by my small panel. I will not take twin measurements of voltage and current.

First in full sunlight I measured an open-circuit voltage of 6.5 V and a short-circuit current of almost 105 mA on a 50 ohm load. That's more than 500 mWpk, free.

Once my circuit has been adjusted to allow reading a 5 V maximum value, I measured two consecutive sunny days.

First day is shown in blue. The steep increment at 11:00 occurred when direct sunlight hit the panel. Unfortunately I do not have a full E-S-W view of the sky.
On the second day the panel was moved a bit further out in the balcony so that it would reach full input exposition at 10:00 (red line). March 10th was a bit more cloudy than 9th.

I will continue to take readings every minute until the partial eclipse that will take place in 10 days. The plan is to keep the whole setup stable until then.

06 March 2015

Sun illumination logger with Arduino - first data

I let the Sun illumination logger run for one day. It was a success, since it worked notwithstanding the wind that could have carried away the small solar panel. Basically I read the voltage across the solar panel that had a 4k7 shunt resistor.

These are the samples in graphical form:


Something doesn't look right: the steep edge both at "sunrise" and "sunset" on the solar panel. It's too fast, especially at sunset when the voltage dropped in barely two minutes. I suspect there is some heavy non-linearity within the solar panel.

The new strategy now is to measure both open-circuit voltage and quasi-short-circuit current at each sample. This process involves some form of switching (relay or MOSFET) and two ADC readings. But first of all I must do these measurements by hand with known illumination conditions. Upcoming Sunday is a good candidate day.

04 March 2015

Sun illumination logger with Arduino - eclipse oriented

Last week I found out that a good part of Europe will see a Solar eclipse during the morning of March 20th, 2015. In my location the Sun will be covered at about 72%, peaking at 10:30 local time.

So, why not build something to measure and log the decrease in solar radiation? If any, of course!

Ingredients:
  • an Arduino board of your choice
  • an SD card adapter (and an SD card itself)
  • a solar panel (or other light-sensitive component)
Concept:
A solar panel produces an amount of current that is proportional to the incident light. With a shunt resistor that current is transformed into a voltage and measured by the Arduino analog-to-digital converter. Read data is saved to an SD card for further analysis.

To calibrate the I/V conversion the solar panel must be exposed to the maximum sunlight (~ Noon) with an orthogonal (90°) incident angle. Then the generated current is measured and an appropriate resistor is calculated so that a bit less than 5 Volts are produced.

That's it. Leave the acquisition system run for a few days in the chosen operating position (facing South or the Sun position at eclipse peak time, with enough tilt to achieve 90° angle of incidence.

An RTC (real-time clock) module would be advisable, so that each reading could be timestamped. Unfortunately I never bought one and nobody in my circles has a spare one to lend.

I need to calibrate the little solar panel. Then pictures and Arduino code will be posted (in due time before the Eclipse, in case you want to reproduce this experiment at home).

06 February 2015

Cheap assorted resistors kits: a *real* bargain?

Not long ago I bought a pack of assorted resistors: 56 values at 1% 1/4W, 20 pieces each. The item name was something like "1120Pz 1/4W 1% Metal Film Assorted Resistors kit Set 56 Values (1 ohm~10M ohm)".

The whole batch would be a good companion for building my BITX20, but I lost 15 minutes looking for the 120kR strip. I gave up and luckily I found one 120kR in my junk box, but what?

I went back to the item description and cross checked what I actually bought:

1R, 2.2R, 4.7R, 5.6R, 7.5R, 8.2R, 10R, 15R, 22R, 27R, 33R, 39R, 47R, 56R, 68R, 75R, 82R, 100R, 120R, 150R, 180R, 220R, 270R, 330R, 390R, 470R, 510R, 680R, 820R, 1K, 1.5K, 2.2K, 3K, 3.9K, 4.7K, 5.6K, 6,8K, 7.5K, 8.2K, 10K, 15K, 22K, 33K, 39K , 47K, 56K, 68K, 75K, 82K, 1M, 1.5M, 2M, 3.3M, 4.7M, 5.6M, 10M.
Look at the "hole" in the series: the whole 100k to 820k batch is missing!!

Sure enough those values can be combined by summing other resistors, but it is very inconvenient!

My mistake. I did not read all the values before shelling out 4 USD@2014. Probably other sets for sale do include the 100kR serie. Pay attention, so you will not end up with a lifelong supply of sub-10R and above-1MR resistors.

04 February 2015

BITX - first changes for my yet-to-be-built v3

Since the BITX v3 PCB arrived earlier than expected, I was not ready to build it. I dug out a decade old bag of components containing 10 MHz XTALs, diodes and a lot of BC547B: they all had been collected for my original BITX construction, that has never begun. So, instead of buying the parts listed in Sunil's documentation, I started checking if I could still use those "old" components from the original BITX design.

Well, it turns out that BC547 is equivalent to 2N3904 and the pinout is just the other way around (EBC vs CBE). Moreover my batch of BC547B has an higher hfe than 3904 found in the NPN drawer. So, there goes the first change. It implies that for each transistor I will need to double check where E-B-C should actually go, also considering that the soldermask contains errors for some Qn so I cannot simply put it in reverse.

Obviously I do not have a 2SC2570A. The original BITX project uses a more common NPN like 2222, but later discussions call for BF199 that happen to lay in another NPN drawer of my parts box. Need to check the pinout as well.

Third digression from the official v3 documentation will be in diode mixers. In 2011 I bought a pair of ADE-1 mixers and, curiously enough, they are used in BITX v3B and v3C. There is even a wiring diagram to use ADE-1 mixers in a v3 board: this means three transformers less to wind. I am not afraid of winding transformers, but that means fewer sources of possible trouble.


03 February 2015

BITX - first steps, jumpers

The first step in building a BITX v3 (on PCB) is to install jumpers. You can see that I got better in the process of cutting to proper length since the first couple of jumpers came up quite wavy:


I could not stop soldering and you can see the beginning of the BFO area being populated on the left-hand side of the picture.