Sei sulla pagina 1di 6

p”—Œ™ˆ“Gp•›Œ™•ˆ›–•ˆ“Gq–œ™•ˆ“G–GlŠ–T™Œ•‹“ G{ŒŠ•–“–ŽŒš

}–“UGTGXSGpššœŒTXGOYWX]PSG——UXY`TXZ[G
ppql{

SOLAR PANEL PARAMETERS


MONITORING USING ARDUINO
SHAHEEN RASHEED*, KARTHIK SS*
Electronics and Communication Engineering, Kpr Institute of Engineering and Technology
*
shaheenr2012@gmail.com, **sskarthik8050@gmail.com

I. INTRODUCTION III. ARDUINO

There are Power Stations for Maintaining or Monitoring This project will help you get started with the Arduino,
the Power Circuits or Parameters related to Solar Panel. including a description of the different types of Arduinos,
Parameters like Voltage, Temperature, Light Intensity and how to download the Arduino software development
Current, which are important to monitor. The Monitoring environment, and describe the different shields that are
of these parameters are also important in Households too. available for the Arduino. The Arduino is an open-source,
So, here we discuss on how to Monitor Solar Panel single-board microcontroller that you can use for many
Parameters. different applications. It is arguably the easiest and least
expensive microcontroller option for hobbyists, students
II. OBJECTIVE and professionals to develop microcontroller-based
projects. Arduinos use either an Atmel AVR or Atmel
In this circuit all the parameters are in the analog form. We ARM microcontroller chip, and some versions have a USB
need to only convert them in Digital Form and display interface. They also have six or more analog input pins and
these Digital values on the LCD. Some additional circuits fourteen or more digital input/output (I/O) pins that are
are also required for proper Measurement. used to connect sensors, actuators, and other peripheral
circuits to the microcontroller.

A. TYPES OF ARDUINO BOARDS

There are many different types of Arduinos available,


as shown in the table below, each with its own feature
set. They differ with regard to processing speed,
memory, I/O ports, and connectivity, but their basic
functionality is the same.

· Arduino Uno
· Arduino Leonardo
· Arduino Due

129
p”—Œ™ˆ“Gp•›Œ™•ˆ›–•ˆ“Gq–œ™•ˆ“G–GlŠ–T™Œ•‹“ G{ŒŠ•–“–ŽŒšG
}–“UGTGXSGpššœŒTXGOYWX]PSG——UXY`TXZ[G
ppql{

· Arduino Yún You use the setup () function to initialize settings for the
· Arduino Tre board. This function runs only once when the board is
· Arduino Micro powered on.
· Arduino Robot The loop () function is executed after setup () completes,
· Arduino Esplora and unlike the setup () function, it runs continually.
· Arduino Mega
E. PROGRAMMING FUNCTIONS
· Arduino Mini
· LilyPad Arduino Here are some of the most commonly used functions in
· Arduino Nano Arduino programming:
· Arduino Fio
· Arduino Pro · pinMode - sets the pin mode to either INPUT or
· Arduino Ethernet OUTPUT.
· analogRead - reads an analog voltage from an
B. SOFTWARE (IDE) analog input pin.
· analogWrite - writes an analog voltage to an
The software used to program the Arduino is called the analog output pin.
Integrated Development Environment (IDE). The IDE is a · digitalRead - reads the value of a digital input pin.
Java application that runs on many different platforms, · digitalWrite - sets the value of a digital output pin
including PCs, Macs, and Linux systems. It is developed to either HIGH or LOW.
for beginners who are not familiar with programming. It
· Serial.print - prints data to the serial port as
includes a code editor, a compiler, and an up loader. Also
human-readable ASCII text.
included are code libraries for using peripherals, such as
serial ports and various types of displays. Arduino
programs are called "sketches," and they are written in a F. ARDUINO LIBRARIES
language very similar to C or C++.
Arduino libraries are collections of functions that allow
C. USB CABLE you to control devices. Here are some of the most widely-
used libraries:
Most Arduinos connect to a host computer via a USB
cable. This connection enables you to upload sketches to · GPS library
your Arduino as well as provide power to the board. · LCD library
· Servo library
· SD library
· Robot_control library
· Robot_motor library
· Ethernet library
· Wi-Fi library
· Stepper library
· SPI library
· EEPROM library
· Software Serial library
· GSM library
· Steps for setting up Arduino

D. PROGRAMMING

Programming an Arduino is easy: you use the IDE code


editor to write the program and then compile and upload it
with a single click.
An Arduino program includes two main functions:

1. setup()

2. loop()

130
p”—Œ™ˆ“Gp•›Œ™•ˆ›–•ˆ“Gq–œ™•ˆ“G–GlŠ–T™Œ•‹“ G{ŒŠ•–“–ŽŒš
}–“UGTGXSGpššœŒTXGOYWX]PSG——UXY`TXZ[G
ppql{

1. First, install the IDE software. You can download the Arduino shields are board that plug into the Arduino to
IDE from the Arduino website. allow you to connect peripheral devices, sensors, and
2. Install the software on your PC. actuators to the Arduino. Below are some popular shields:
3. Now run the Arduino IDE .exe file. It has a following
layout:
· GSM Shield
· Ethernet Shield
· WiFi Shield
· Motor Shield
· Proto Shield
· Joystick Shield
· Bluetooth Shield
· Xbee shield

H. COMPONENTS AND ACCESSORIES

Below is a list of all the components and accessories


commonly used with an Arduino to develop projects:

· Breadboard
· USB cable
4. Write your program using the code editor and upload it · 9V Battery
to the Arduino. To do this, you need to connect the · LEDs
Arduino to your computer using a USB cable. · Push Buttons
5. In the IDE, select the type of Arduino you are using · Capacitors
from the Tools -> Boards menu. · Voltage Regulators
· Sensors (IR, temperature etc)
· Jumper wires
· Resistors
· Potentiometer
· Motors (DC, Servo, BLDC)
· LCD
· Hex keypad
· Arduino shields
I. 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
6. Now verify your code by clicking the ‘tick’ icon at the connect the solar panel Output Voltage to Analog pin of
top of the IDE window, then click the adjacent ‘right’ Arduino and convert that in Digital and Display result on
arrow to compile and upload the code to your Arduino. LCD or Computer. And suppose if you want to measure up
to 10 volts then you have to use the given circuitry
Note: You may have to install drivers if your system does
not detect the Arduino. For measuring Voltage we have to follow the given
Formula
G. ARDUINO SHIELDS
Voltage= (Analog value / resistor factor) * reference
Voltage

131
p”—Œ™ˆ“Gp•›Œ™•ˆ›–•ˆ“Gq–œ™•ˆ“G–GlŠ–T™Œ•‹“ G{ŒŠ•–“–ŽŒš
}–“UGTGXSGpššœŒTXGOYWX]PSG——UXY`TXZ[G
ppql{

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

Where
Analog value= Analog output of Voltage divider

Resistor factor= 1023.0/(R2/R1+R2)

Reference Voltage= 5 volts

R And let suppose:

R1= 1K

R2=1K
Here we are using a 3.3K ohm resistor and a LDR
Resistor factor= 1023.0 * (1000/1000+1000)
connected with each other and middle points is used as
Resistor factor=1023.0 * 0.5 output. As light falls on LDR, resistance of LDR decreases,
due to which Analog Voltage is generated, later apply this
Resistor factor= 511.5 for up to 10 volts and for more see Voltage to Arduino.
given table.
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

V. TEMPERATURE MEASUREMENT
IV. LIGHT INTENSITY MEASUREMENT
For Measuring Temperature here we have used lm 35 that
Light Intensity is also easy to execute in the project like the is gives 10 mV for every 1 degree Celsius. Circuitry is
Voltage Measurement. For Light Intensity first we have to simple for this.
use Voltage divider and then measure the Voltage. Later

132
p”—Œ™ˆ“Gp•›Œ™•ˆ›–•ˆ“Gq–œ™•ˆ“G–GlŠ–T™Œ•‹“ G{ŒŠ•–“–ŽŒšG
}–“UGTGXSGpššœŒTXGOYWX]PSG——UXY`TXZ[G
ppql{

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);
By using given formula we can calculate Temperature in
Degree Celsius: lcd.clear();
Temperature=Analog value*(5.0/1023.0)*100; lcd.setCursor(0,0);
Where, 5 is reference voltage lcd.setCursor(0,1);

A. COMPONENTS USED lcd.print("kpriet");

1. Arduino delay(2000);
2. Solar Panel
3. LM35 lcd.clear();
4. LDR
5. 16x2 LCD }
6. Resistors
7. Connecting wires void loop()
8. Power supply
{
VI. PROGRAM /*---------Temperature-------*/
#include<LiquidCrystal.h>
#define sensor A0 float reading=analogRead(sensor);
#define VOLT A1
Temperature=reading*(5.0/1023.0)*100;
#define LUX A3
LiquidCrystallcd (2, 3, 4, 5, 6, 7); delay(10);
float Temperature, temp, volt,
volts,lux,Temp; int temp1, value; /*---------Voltage----------*/
byte degree[8] = temp1=analogRead(VOLT);
{
0b00011, volts= (temp1/511.5)*5;
0b00011,
0b00000, delay(10);
0b00000,
0b00000, /*-----Light Intensity------*/
0b00000,
0b00000, value=analogRead(LUX);
0b00000
volt=(value/1023.0)*5;
};

133
p”—Œ™ˆ“Gp•›Œ™•ˆ›–•ˆ“Gq–œ™•ˆ“G–GlŠ–T™Œ•‹“ G{ŒŠ•–“–ŽŒšG
}–“UGTGXSGpššœŒTXGOYWX]PSG——UXY`TXZ[G
ppql{

lux=((2500/volt)-500)/3.3; [4] "Programming Arduino Getting Started with Sketches".


McGraw-Hill. Nov 8, 2011. Retrieved 2013-03-28
delay(10); [5] Make: Electronics (Learning by Discovery); Charles Platt; 352
pages; 2009; ISBN 978-0596153748.
------Display Result------*/ [6] How Solar Cells Work". HowStuffWorks. Retrieved 2015-12-09.

/* 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);

VII. CONCLUSION
We have presented work on design and development of
solar panel parameter reading using arduino for
enviornmental monitoring, the node is enough to provide
information about enviornment parameters such as
temperature,current,voltage,light intensity.

REFERENCES
[1] "Arduino - Introduction". arduino.cc.
[2] "Blink Tutorial". Arduino.cc.
[3] "The arduino source code". The arduino source code.

134