There are Power Stations for Maintaining or Monitoring the Power Circuits or Parameters related to Solar Panel. Parameters like Voltage, Temperature, Light Intensity and Current, which are important to monitor. The Monitoring of these parameters are also important in Households too. So, here we discuss on how to Monitor Solar Panel Parameters. For this project reader should have knowledge about how to start with arduino and interface LCD with arduino.
Fig. 1: Prototype of Arduino based Solar Panel Electrical Parameters Monitor
In this circuit all the parameters are in the analog form. We need to only convert them in DigitalfForm and display these Digital values on the LCD. Some additional circuits are also required for proper Measurement.
Fig. 2: Block Diagram of Arduino based Solar Panel Electrical Parameters Monitor
Voltage Measurement
Voltage Measurement of the Solar Panel is very easy which is up to 5 volts. But if we want to measure more than 5 volts then we have to use some additional circuitry like Voltage Divider. This circuitry changes according to Voltage, which means How Much Voltage we have to Measure.
Let us suppose if we want to measure 5 volts, then there is no need for any Additional Circuitry. Just connect the Solar Panel Output Voltage to Analog pin of Arduino and convert that in Digital and Display result on LCD or Computer.
And suppose if you want to measure up to 10 volts then you have to use the given circuitry.
Fig. 3: Circuit Diagram of Arduino based Digital Voltmeter
For measuring Voltage we have to follow the given Formula:
Voltage= (Analog value / resistor factor) * reference Voltage
Where:
Analog value= Analog output of Voltage divider
Resistor factor= 1023.0/(R2/R1+R2)
Reference Voltage= 5 volts
And let suppose:
R1= 1K
R2=1K
Resistor factor= 1023.0 * (1000/1000+1000)
Resistor factor=1023.0 * 0.5
Resistor factor= 511.5 for up to 10 volts and for more see given table.
Fig. 4: Table showing Resistor Ratios for Voltage Measurement
Light Intensity Measurement
Light Intensity is also easy to execute in the project like the Voltage Measurement. For Light Intensity first we have to use Voltage divider and then measure the Voltage. Later through some calculation we will get the Light Intensity Result.
Here we are going to show you how to do this:
For this we have to use LDR, (Light Dependent Register) which is very common and easily available in the market.
Now you can see the Circuit Diagram for Light Intensity Measurement part.
Fig. 5: Circuit Diagram of Arduino based Light Intensity Meter
Here we are using a 3.3K ohm resistor and a LDR connected with each other and middle points is used as output. As light falls on LDR, resistance of LDR decreases, due to which Analog Voltage is generated, later apply this Voltage to Arduino.
Relation between RL (LDR) and Light Intensity (Lux) is given below:
RL=500/Lux
Output Voltage of this circuit can be calculated by using given formula.
Vout= 5 * RL / (RL+3.3)
Where RL is Load Resistance ( LDR Resistance varies according to light intensity).
Now by using given formula we can calculate Light intensity in lux ( where lux in unit of light intensity).
Lux= (2500 / Vout – 500) / 3.3
Temperature Measurement, Circuit & Component
Temperature Measurement
For Measuring Temperature here we have used lm35 that is gives 10 mV for every 1 degree Celsius. Circuitry is simple for this.
Fig. 6: Circuit Diagram of Arduino based Digital Thermometer
By using given formula we can calculate Temperature in Degree Celsius:
Temperature=Analog value*(5.0/1023.0)*100;
Where, 5 is reference voltage.
Circuit
LCD connections are displayed in circuit. Please refer Circuit Diagram Tab for Circuit.
Components Used
1. Arduino
2. Solar Panel
3. LM35
4. LDR
5. 16×2 LCD
6. Resistors
7. Connecting wires
8. Power supply
You may also like:
Project Source Code
###
/*-----------Solar energy measurment Using Arduino---------*/ /*--------------------By Saddam Khan-----------------------*/ /*-------------------Engineers Garage----------------------*/ #include#define sensor A0 #define VOLT A1 #define LUX A3 LiquidCrystal lcd(2,3,4,5,6,7); float Temperature, temp, volt, volts,lux,Temp; int temp1, value; byte degree[8] = { 0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 }; void setup() { lcd.begin(16,2); lcd.createChar(1, degree); Serial.begin(9600); lcd.setCursor(0,0); lcd.print(" Soler Energy "); lcd.setCursor(0,1); lcd.print(" Measurement "); delay(2000); lcd.clear(); lcd.setCursor(0,0); lcd.print(" By Saddam Khan "); lcd.setCursor(0,1); lcd.print("ENGINEERS GARAGE"); delay(2000); lcd.clear(); } void loop() { /*---------Temperature-------*/ float reading=analogRead(sensor); Temperature=reading*(5.0/1023.0)*100; delay(10); /*---------Voltage----------*/ temp1=analogRead(VOLT); volts= (temp1/511.5)*5; delay(10); /*-----Light Intensity------*/ value=analogRead(LUX); volt=(value/1023.0)*5; lux=((2500/volt)-500)/3.3; delay(10); /*------Display Result------*/ lcd.clear(); lcd.setCursor(0,0); lcd.print("T:"); lcd.print((int)analog_value); lcd.write(1); lcd.print("C"); lcd.setCursor(8,0); lcd.print("V:"); lcd.print(volts); lcd.setCursor(0,1); lcd.print("Intens: "); lcd.print((int)lux); lcd.print(" Lux"); Serial.println((int)Temp); Serial.println(volts); Serial.println((int)lux); delay(500); } ###
Circuit Diagrams
Project Video
Filed Under: Electronic Projects
Filed Under: Electronic Projects
Questions related to this article?
👉Ask and discuss on Electro-Tech-Online.com and EDAboard.com forums.
Tell Us What You Think!!
You must be logged in to post a comment.