It just dropped to 0 W/m2, but the sun has been set for a while now. Is it possible the cable is too long? It came with a 2m cable and prepared ends. As I was typing this it popped back up to 1 W/m2. Noise on the cable? Too much gain?
Apogee SP-110
08-10-2017, 01:56
Don't touch the pot for this.
How long are the cables between the Solar / UV interface and the TX unit? If possible use twisted par cables, and keep them as short as possible.
Usually readings in the dark are bellow 4, however for some reason they are above that value.
Search for this code on the RX software:
change to this
For a final calibration, wait for a clear sky day, and try to compare your readings with a nearby trustable station.
If they don't differ too much, try to increase or decrease the 1400 value on the code above. You really need to do this in a clear sky day.
How long are the cables between the Solar / UV interface and the TX unit? If possible use twisted par cables, and keep them as short as possible.
Usually readings in the dark are bellow 4, however for some reason they are above that value.
Search for this code on the RX software:
Code:
if (RX_Data[2] < 4) RX_Data[2] = 0;
SolarRad = map(RX_Data[2], 0, 1023, 0, 1400); // Outputs an integer, between 0 and 1400 W/m2change to this
Code:
if (RX_Data[2] <= 6) RX_Data[2] = 0;
SolarRad = map(RX_Data[2], 0, 1023, 0, 1400); // Outputs an integer, between 0 and 1400 W/m2For a final calibration, wait for a clear sky day, and try to compare your readings with a nearby trustable station.
If they don't differ too much, try to increase or decrease the 1400 value on the code above. You really need to do this in a clear sky day.
08-10-2017, 02:12
(08-10-2017, 01:56)Werk_AG Wrote: Don't touch the pot for this.Those wires are about 6 inches long. They are 2 pairs of UTP from a CAT5 jumper I sacrificed to get 2 pairs of wires. I used the Blue pair and the Green pair since they are twisted more than the other color pairs. Don't know if it makes a difference but I paired the Vcc with ADC0 and Gnd with ADC1. Should I have paired ADC1 with ADC0 and Vcc with Gnd?
How long are the cables between the Solar / UV interface and the TX unit? If possible use twisted par cables, and keep them as short as possible.
Quote:Usually readings in the dark are bellow 4, however for some reason they are above that value.OK, I'll try that.
Search for this code on the RX software:
Code:if (RX_Data[2] < 4) RX_Data[2] = 0;
SolarRad = map(RX_Data[2], 0, 1023, 0, 1400); // Outputs an integer, between 0 and 1400 W/m2
change to this
Code:if (RX_Data[2] <= 6) RX_Data[2] = 0;
SolarRad = map(RX_Data[2], 0, 1023, 0, 1400); // Outputs an integer, between 0 and 1400 W/m2
For a final calibration, wait for a clear sky day, and try to compare your readings with a nearby trustable station.
If they don't differ too much, try to increase or decrease the 1400 value on the code above. You really need to do this in a clear sky day.
I was watching two other semi-local weather stations on wunderground that have pyranometers and my readings were comparable to theirs for the couple of hours of sun I had after installing the solar/uv board.
08-10-2017, 02:27
This line
if (RX_Data[2] < 4) RX_Data[2] = 0;
SolarRad = map(RX_Data[2], 0, 1023, 0, 1400); // Outputs an integer, between 0 and 1400 W/m2
is missing from (Solar_Sensor == 2). Only (Solar_Sensor == 1) has that line in it. Does that matter?
Surrounding code.
#if (Solar_Sensor == 1) // --- WeatherDuino Solar Cell Pyranometer (Solar / UV interface R2= 2700 Ohm)
if (RX_Data[2] < 4) RX_Data[2] = 0;
SolarRad = map(RX_Data[2], 0, 1023, 0, 1400); // Outputs an integer, between 0 and 1400 W/m2
#endif
#if (Solar_Sensor == 2) // Apogee SP-110: Self-Powered Pyranometer (Solar / UV interface R2= 4700 Ohm)
SolarRad = map(RX_Data[2], 0, 1023, 0, 1600); // Using OP - Formula outputs an integer, between 0 and 1750 W/m2
//SolarRad = round(((RX_data[3] * (1100 / 1024.0)) * 5); // Not using OP. Sensor connected directly to ADC input
#endif
#if (Solar_Sensor == 4) // Apogee SQ-110: Sun Calibration Quantum Sensor (unit is µmol m-2 s-1)
SolarRad = round(((RX_data[2] * (1100 / 1024.0)) * 5);
#endif
if (RX_Data[2] < 4) RX_Data[2] = 0;
SolarRad = map(RX_Data[2], 0, 1023, 0, 1400); // Outputs an integer, between 0 and 1400 W/m2
is missing from (Solar_Sensor == 2). Only (Solar_Sensor == 1) has that line in it. Does that matter?
Surrounding code.
#if (Solar_Sensor == 1) // --- WeatherDuino Solar Cell Pyranometer (Solar / UV interface R2= 2700 Ohm)
if (RX_Data[2] < 4) RX_Data[2] = 0;
SolarRad = map(RX_Data[2], 0, 1023, 0, 1400); // Outputs an integer, between 0 and 1400 W/m2
#endif
#if (Solar_Sensor == 2) // Apogee SP-110: Self-Powered Pyranometer (Solar / UV interface R2= 4700 Ohm)
SolarRad = map(RX_Data[2], 0, 1023, 0, 1600); // Using OP - Formula outputs an integer, between 0 and 1750 W/m2
//SolarRad = round(((RX_data[3] * (1100 / 1024.0)) * 5); // Not using OP. Sensor connected directly to ADC input
#endif
#if (Solar_Sensor == 4) // Apogee SQ-110: Sun Calibration Quantum Sensor (unit is µmol m-2 s-1)
SolarRad = round(((RX_data[2] * (1100 / 1024.0)) * 5);
#endif
08-10-2017, 03:12
Sorry, I did a mistake.
Change this:
with this:
any further adjust, do it changing the 1600 value.
When posting code on the forum, please try using the "code" tag
Change this:
Code:
#if (Solar_Sensor == 2) // Apogee SP-110: Self-Powered Pyranometer (Solar / UV interface R2= 4700 Ohm)
SolarRad = map(RX_Data[2], 0, 1023, 0, 1600); // Using OP - Formula outputs an integer, between 0 and 1750 W/m2
//SolarRad = round(((RX_data[3] * (1100 / 1024.0)) * 5); // Not using OP. Sensor connected directly to ADC input
#endifwith this:
Code:
#if (Solar_Sensor == 2) // Apogee SP-110: Self-Powered Pyranometer (Solar / UV interface R2= 4700 Ohm)
if (RX_Data[2] <= 6) RX_Data[2] = 0;
SolarRad = map(RX_Data[2], 0, 1023, 0, 1600); // Using OP - Formula outputs an integer, between 0 and 1750 W/m2
//SolarRad = round(((RX_data[3] * (1100 / 1024.0)) * 5); // Not using OP. Sensor connected directly to ADC input
#endifany further adjust, do it changing the 1600 value.
When posting code on the forum, please try using the "code" tag
08-10-2017, 03:15
Thank you.
08-10-2017, 18:08
Right now it reads 617 W/m2 in a clear blue sky. The Apogee Clear Sky Calculator says theoretical max is 639 W/m2.
The weather station to my east, a Davis reads 608 W/m2.
The weather station about 15mi north of me reads 645 W/m2.
Is that close enough or should I adjust the software some?
The weather station to my east, a Davis reads 608 W/m2.
The weather station about 15mi north of me reads 645 W/m2.
Is that close enough or should I adjust the software some?
08-10-2017, 21:13
It seems very good, however if you want to slightly increase the readings to be even closer to Apogee Clear Sky Calculator, or other nearby Weather Stations, you can try changing the range in the code bellow. Start by increasing the 1600 value in steps of 40 units, and fine tune with lower steps. Preferably you should do it when the sun its at full noon.
Looking to the graphs in your webpages, seems you are getting a very close match with the theoretical values. Always make sure the pyranometer is perfectly horizontally levelled. There is small trick I read somewhere at the Apooge website. According to that trick, the side where the cable comes out of the unit, should be facing north, they say that doing it improves the readings.
Code:
SolarRad = map(RX_Data[2], 0, 1023, 0, 1600); Looking to the graphs in your webpages, seems you are getting a very close match with the theoretical values. Always make sure the pyranometer is perfectly horizontally levelled. There is small trick I read somewhere at the Apooge website. According to that trick, the side where the cable comes out of the unit, should be facing north, they say that doing it improves the readings.
08-10-2017, 21:28
Excellent, thank you.
08-10-2017, 21:43
628 was the max reading today. The "theoretical max" was 644. So pretty close!
« Next Oldest | Next Newest »
Users browsing this thread: 1 Guest(s)


