Many people today use renewable energy sources, especially those with solar energy. However, the tools needed to correctly predict the state of the Sun, or how much energy can be drawn from the Sun at a given location, are critical to the success of a solar energy storage system. It is very useful to predict how much energy can be produced in a given location and where to place the solar panel. Forecasting uses a method of measuring solar irradiance, which requires an estimate of how much power (in watts) is available per square meter of area. This is usually done with a pyranometer, which is a very expensive tool and it doesn't make sense to use it for small projects of homemade solar panels or conventional solar panels.
As part of this project, we will create a simple device for measuring illumination, test it in the field, collect the data and check how it reflects the result. This is a simple solar meter project that will solve the problem for non-commercial projects.
The light sensor is the backbone of this project. There are several types of sensors available on the market that serve this purpose, even simple light-dependent resistors (LDRs) can measure flux, but not with high accuracy. For our purpose, we also need to find an economical and widely available solution. Thus, we have chosen the BH1750 as the light sensor. It is not used to measure direct sunlight, however, but is useful as an ambient light sensor, while still supporting a range of up to 65535 lux. This is half the brightness of the brightest sunlight.
This sensor can provide a range of ambient light measurements in a clear sky, and this data can be converted into typical illumination data that can be used for our purposes. Thus, technically, the sensor can provide a certain range of illumination. As a result, if a wider range of ambient light is used, a full spectrum can be obtained. The BH1750 is a digital ambient light sensor that uses an I2C interface to communicate with microcontrollers and operates at 3.3V operating voltage.
The schematic diagram of the Arduino solar meter and the BH1750 sensor is shown below.
The circuit is pretty simple. The I2C sensor is connected to the Arduino Nano. Fortunately, the BH1750 sensor board has a pull-up resistor for I2C, so no additional resistor is required. Powering the Arduino nano from 5V will provide 3.3V output using an internal 3.3V regulator. The ADDR pin is connected to ground, so the default address of the BH1750 is the I2C address of the sensor.
We programmed the Arduino Nano to initialize object BH1750 using standard high-resolution continuous mode and then read the light level every second. The complete code is shown below.
#include <Wire.h>
#include <BH1750.h>
BH1750 lightMeter;
void setup(){
Serial.begin(9600);
Wire.begin();
lightMeter.begin();
Serial.println(F("BH1750 Test begin"));
}
void loop() {
float lux = lightMeter.readLightLevel();
float irr = (lux*0.0079);
Serial.print("irradiance: ");
Serial.print(irr);
Serial.println(" W/m2");
delay(1000);
}
We will now test our setup in the field in acceptable sunlight.
As a result, we got the following graph.
The above graph shows the lighting situation under mixed cloudy days. Well, this is not entirely accurate data, but this is a basic project reflecting the solar radiation pattern for small and simple projects.
Social Plugin