new solar tracker
TRANSCRIPT
MICRCO CONTROLLED BASED SOLAR TRACKER
A Project report Submitted in partial fulfillment of the requirement for
the award of the degree of
BACHELOR OF TECHNOLOGY
in
ELECTRONICS & COMMUNICATION ENGINEERING
by
Under the esteemed guidance of
Ms. N.V.P. LAKSHMI ASST.PROF,
Department of ECE
2012-2013
DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING
SWARNANDHRA ENGINEERING COLLEGE (Approved by AICTE, Affiliated to JNTU Kakinada)
PALAKOL ROAD, NARSAPUR -- 534 275, West Godavari Dt., A.P.
1 | P a g e
SWARNANDHRA ENGINEERING COLLEGE (Approved by AICTE, Affiliated to JNTUK, Kakinada)
PALAKOL ROAD, NARSAPUR -- 534 275, West Godavari Dt., A.P.
DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING
BONAFIED CERTIFICATE
This is to certify that Mini Project entitled MICRCO CONTROLLED BASED SOLAR TRACKER is the bonafied Work Submitted by ……………………………………………………………………………………………………………………in partial fulfillment of the requirement for the award of the degree of
BACHELOR OF TECHNOLOGY
in
ELECTRONICS & COMMUNICATION ENGINEERING
Internal Guide Head of the Department
External Examiner
2 | P a g e
ACKNOWLEDGEMENT
W e e x p r e s s o u r d e e p s e n s e o f g r a t i t u d e t o Ms. N.V.P. LAKSHMI ASST.PROF,
for her constant guidance throughout our mini project work.
We are grateful to Mr. A. KARNA RAO for his valuable suggestions and guidance
given by him during the execution of this mini project work.
We would like to thank V.V.S.NAIDU, Head of the Department
o f E l e c t r o n i c s a n d C o m m u n i c a t i o n E n g i n e e r i n g , f o r b e i n g m o r a l
s u p p o r t throughout the period of our study.
First of all we are highly indebted to PROF. G. JAGADESH KUMAR,
Principal for giving us the permission to carry out this mini project.
We express our heartfelt thanks to S.RAMESH BABU, secretary & correspondent,
SWARNANDHRA ENGINEERING COLLEGE, Narsapur, for giving us the opportunity for
the successful completion of this project.
We would like to thank the T e a c h i n g & N o n - t e a c h i n g s t a f f of ECE department, SWARNANDHRA ENGINEERING COLLEGE for sharing their knowledge with us.
We acknowledge with gratitude the unflagging support and patience of our Parents for
their guidance and encouragement during this dissertation work.
With Sincere Regards
3 | P a g e
ABSTRACT
Solar energy is rapidly gaining notoriety as an important means of expanding renewable
energy resources. As such, it is vital that those in engineering fields understand the technologies
associated with this area.
In remote areas the sun is a cheap source of electricity because instead of hydraulic
generators it uses solar cells to produce electricity. While the output of solar cells depends on the
intensity of sunlight and the angle of incidence.
This project includes the design and construction of a microcontroller-based solar panel
tracking system. Solar tracking allows more energy to be produced because the solar array is able
to remain aligned to the sun. This system builds upon topics learned in this course.
To make solar energy more viable, the efficiency of solar array systems must be maximized. A
feasible approach for maximizing the efficiency of solar array systems is sun tracking.
This is a system that controls the movement of a solar array so that it is constantly aligned
towards the direction of the sun. Solar modules are devices that cleanly convert sunlight into
electricity and offer a practical solution to the problem of power generation in remote areas. The
solar tracker designed and constructed in this project offers a reliable and affordable method of
aligning a solar module with the sun in order to maximize its energy output.
Automatic Sun Tracking System is a hybrid hardware/software prototype, which automatically
provides best alignment of solar panel with the sun, to get maximum output (electricity) ideate
the design. Problems and possible improvements will also be presented
4 | P a g e
ABSTRACT
Solar energy is rapidly gaining notoriety as an important means of expanding renewable
energy resources. As such, it is vital that those in engineering fields understand the technologies
associated with this area.
In remote areas the sun is a cheap source of electricity because instead of hydraulic
generators it uses solar cells to produce electricity. While the output of solar cells depends on the
intensity of sunlight and the angle of incidence.
This project includes the design and construction of a microcontroller-based solar panel
tracking system. Solar tracking allows more energy to be produced because the solar array is able
to remain aligned to the sun. This system builds upon topics learned in this course.
To make solar energy more viable, the efficiency of solar array systems must be maximized. A
feasible approach for maximizing the efficiency of solar array systems is sun tracking.
This is a system that controls the movement of a solar array so that it is constantly aligned
towards the direction of the sun. Solar modules are devices that cleanly convert sunlight into
electricity and offer a practical solution to the problem of power generation in remote areas. The
solar tracker designed and constructed in this project offers a reliable and affordable method of
aligning a solar module with the sun in order to maximize its energy output.
Automatic Sun Tracking System is a hybrid hardware/software prototype, which automatically
provides best alignment of solar panel with the sun, to get maximum output (electricity) ideate
the design. Problems and possible improvements will also be presented
5 | P a g e
TABLE OF CONTENTS
TITLE PAGE NO.
Acknowledgment
Abstract
List of Figures
List of Tables
CHAPTER 1: INTRODUCTION
CHAPTER 2: PROJECT OVERVIEW
2.1 Objective
2.2 Block Diagram Explanation
2.3 Micro Controller
2.4 Power Supply
2.5 Relay
2.6 Sensor
CHAPTER 3. HARDWARE COMPONETS
3.1 Power Supply
3.2 Transformer
3.3 Rectifier
6 | P a g e
3.3.1 Types Of Rectifiers
3.3.2 Full-Wave Rectifier
3.3.3 Bridge Rectifier
3.4 Filter
3.4.1 Capacitor Filter
3.5 Regulator
3.5.1 78xx
3.5.2features
3.6 LDR
CHAPTER 4. MICROCONTROLLER
4.1 Introduction
4.2 Introduction To 8051microcontroller
4.3 Introduction To Atmel Microcontroller
4.4 Memory Organization
4.4.1 Program Memory
4.4.2 Data Memory
4.5 Registers
4.5.1 Sfrs (Special Function Registers)
4.5.2 Sbuf Register
4.5.3 Scon (Serial Control) Register
4.6 Pin Description
7 | P a g e
4.5 Timers
4.5.1 Basic Registers Of The Timer
4.5.2 Timer 0 Registers
4.5.3 Timer 1 Registers1
4.5.4 Tmod (Timer Mode) Register
4.5.5 Tcon Register
4.7 Interrupts
4.7.1 Six Interrupts In The 8051
4.8 8051/52 Interrupt Priority Upon Reset
CHAPTER 5. SERIAL COMMUNICATION
5.1 Asynchronous Serial Communication And Data Framing
5.2 Start And Stop Bits
5.3 Data Transfer Rate
5.4MAX-232
5.4.1 A Typical Application
5.4.2 Description/Ordering Information
CHAPTER 6. SOLAR PANEL
6.1 Theory And Construction
8 | P a g e
6.1.1 Crystalline Silicon Modules
6.1.2 Thin-Film Modules
6.1.3 Rigid Thin-Film Modules
6.1.4 Flexible Thin-Film Modules
6.1.5 Module Embedded Electronics
6.1.6 Module Performance And Lifetime
6.2 Turn Over
6.2.1 Top Ten Producers
6.2.2 Price
CHAPTER 7. MOUNTING SYSTEMS
7.1 Trackers
7.2 Fixed Racks
7.3 Ground Mounted
7.4 Roof Mounted
CHAPTER 8. STANDARDS
8.1 Devices With Photovoltaic Modules Appendix (a): KEIL SOFTWARE
Keil Software Tool (Steps)
Software components About Keil
Flash Magic
Appendix (b): Embedded C
Appendix (c): Coding
9 | P a g e
Appendix (d): BIBLIOGRAPHY
Appendix(e) : References on the Web
CHAPTER 1
INTRODUCTION
Energy is the primary and most universal measure of all kinds of work by human beings
and the energy is directly proportional to the progress of the mankind. With ever growing
population, improvement in the living standard of the humanity, industrialization of the
developing countries, the global demand for energy increases day by day.
The primary source of energy is fossil fuel, however the finiteness of fossil fuel resources
and large scale environmental degradation caused by their widespread use, particularly global
warming, urban air pollution and acid rain, strongly suggests that harnessing of non-
conventional, renewal and environmental friendly
10 | P a g e
As the sources of conventional energy deplete day by day, resorting to alternative sources
of energy like solar and wind energy has become need of the hour.
Solar powered lighting systems are already available in rural as well as urban areas.
These include solar lanterns, solar home lightning system, solar street lights, solar garden lights
and solar power packs. All of them consist of four components; solar photovoltaic module,
rechargeable battery, solar charge controller and load.
In the solar powered lightning systems, the solar charge controller plays an important role
as the system’s overall success depends mainly on it. It is considered as an indispensible link
between the solar panel, battery and load.
11 | P a g e
CHAPTER 2
OVERVIEW
2.1 OBJECTIVE:
The main aim of this embedded application is to design a data acquisition using Solar Panel and AT89c51 Micro controller.
2.2 BLOCK DIAGRAM:
Figure2.1:Block diagram
2.2 BLOCK DIAGRAM EXPLINATION
In the above block diagram we can see the block of LDR, MICRO CONTROLLER, relay
and POWER SUPPLY.
Let us discuses about each block in detail.
12 | P a g e
DC
MOTOR
LCD UNIT
LDR
POWER SUPPLY
L293D
AT89C51/s52
SOLAR PANEL
2.3 MICRO CONTROLLER
In this project work the micro-controller is plays major role. Micro-
controllers were originally used as components in complicated process-control systems.
However, because of their small size and low price, Micro-controllers are now also being
used in regulators for individual control loops. In several areas Micro-controllers are
now outperforming their analog counterparts and are cheaper as well.
2.4 POWER SUPPLY
A variable regulated power supply, also called a variable bench power supply, is one
where you can continuously adjust the output voltage to your requirements. Varying the output of
the power supply is the recommended way to test a project after having double checked parts
placement against circuit drawings and the parts placement guide. This type of regulation is ideal
for having a simple variable bench power supply. Actually this is quite important because one of
the first projects a hobbyist should undertake is the construction of a variable regulated power
supply.
While a dedicated supply is quite handy e.g. 5V or 12V, it's much handier to have a
variable supply on hand, especially for testing. Most digital logic circuits and processors need a 5
volt power supply. To use these parts we need to build a regulated 5 volt source. Usually you
start with an unregulated power supply ranging from 9 volts to 24 volts DC (A 12 volt power
supply is included with the Beginner Kit and the Microcontroller Beginner Kit). To make a 5 volt
power supply, we use a LM7805 voltage regulator IC.
The LM7805 is simple to use. You simply connect the positive lead of your unregulated
DC power supply (anything from 9VDC to 24VDC) to the Input pin, connect the negative lead to
the Common pin and then when you turn on the power, you get a 5 volt supply from the Output
pin.
2.5 RELAY
A relay is an electrically operated switch. Many relays use an electromagnet to operate a switching mechanism, but other operating principles are also used. Relays find applications
13 | P a g e
where it is necessary to control a circuit by a low-power signal, or where several circuits must be controlled by one signal. The first relays were used in long distance telegraph circuits, repeating the signal coming in from one circuit and re-transmitting it to another
2.6 SENSOR:
LDRs or Light Dependent Resistors are very useful especially in light/dark sensor circuits. Normally the resistance of an LDR is very high, sometimes as high as 1000 000 ohms, but when they are illuminated with light resistance drops dramatically.
14 | P a g e
CHAPTER 3
HARDWARE COMPONETS
3.1 POWER SUPPLY
The power supplies are designed to convert high voltage AC mains electricity to a
suitable low voltage supply for electronics circuits and other devices. A power supply can by
broken down into a series of blocks, each of which performs a particular function. A d.c power
supply which maintains the output voltage constant irrespective of a.c mains fluctuations or load
variations is known as “Regulated D.C Power Supply”
3.2 TRANSFORMER:
A transformer is an electrical device which is used to convert electrical power from one
electrical circuit to another without change in frequency.
Transformers convert AC electricity from one voltage to another with little loss of power.
Transformers work only with AC and this is one of the reasons why mains electricity is AC.
Step-up transformers increase in output voltage, step-down transformers decrease in output
voltage. Most power supplies use a step-down transformer to reduce the dangerously high mains
voltage to a safer low voltage. The input coil is called the primary and the output coil is called
the secondary. There is no electrical connection between the two coils; instead they are linked by
an alternating magnetic field created in the soft-iron core of the transformer. The two lines in the
middle of the circuit symbol represent the core. Transformers waste very little power so the
power out is (almost) equal to the power in. Note that as voltage is stepped down current is
stepped up. The ratio of the number of turns on each coil, called the turn’s ratio, determines the
ratio of the voltages. A step-down transformer has a large number of turns on its primary (input)
coil which is connected to the high voltage mains supply, and a small number of turns on its
secondary (output) coil to give a low output voltage.
15 | P a g e
3.3 RECTIFIER:
A circuit which is used to convert a.c to dc is known as RECTIFIER. The process of
conversion a.c to d.c is called “rectification”
3.3.1 TYPES OF RECTIFIERS:
Half wave Rectifier
Full wave rectifier
1. Centre tap full wave rectifier.
2. Bridge type full bridge rectifier.
3.3.2 Full-wave Rectifier:
From the above comparison we came to know that full wave bridge rectifier as more
advantages than the other two rectifiers. So, in our project we are using full wave bridge rectifier
circuit.
3.3 Bridge Rectifier:
A bridge rectifier makes use of four diodes in a bridge arrangement to achieve full-wave rectification. This is a widely used configuration, both with individual diodes wired as shown and with single component bridges where the diode bridge is wiredinternally.
16 | P a g e
Figure 3.1 Bridge Rectifier
3.4 Filter:
A Filter is a device which removes the a.c component of rectifier output
but allows the d.c component to reach the load
3.4.1 Capacitor Filter:
We have seen that the ripple content in the rectified output of half wave rectifier is 121%
or that of full-wave or bridge rectifier or bridge rectifier is 48% such high percentages of ripples
is not acceptable for most of the applications. Ripples can be removed by one of the following
methods of filtering.
(a) A capacitor, in parallel to the load, provides an easier by –pass for the ripples voltage though
it due to low impedance. At ripple frequency and leave the d.c.to appears the load.
17 | P a g e
(b) An inductor, in series with the load, prevents the passage of the ripple current (due to high
impedance at ripple frequency) while allowing the d.c (due to low resistance to d.c)
(c) various combinations of capacitor and inductor, such as L-section filter section filter,
multiple section filter etc. which make use of both the properties mentioned in (a) and (b) above.
Two cases of capacitor filter, one applied on half wave rectifier and another with full wave
rectifier.
Filtering is performed by a large value electrolytic capacitor connected across the DC
supply to act as a reservoir, supplying current to the output when the varying DC voltage from
the rectifier is falling. The capacitor charges quickly near the peak of the varying DC, and then
discharges as it supplies current to the output. Filtering significantly increases the average DC
voltage to almost the peak value (1.4 × RMS value).
3.5 Regulator:
Voltage regulator ICs is available with fixed (typically 5, 12 and 15V) or variable output
voltages. The maximum current they can pass also rates them. Negative voltage regulators are
available, mainly for use in dual supplies. Most regulators include some automatic protection
from excessive current ('overload protection') and overheating ('thermal protection'). Many of
the fixed voltage regulator ICs have 3 leads and look like power transistors, such as the 7805
+5V 1A regulator shown on the right. The LM7805 is simple to use. You simply connect the
positive lead of your unregulated DC power supply (anything from 9VDC to 24VDC) to the
Input pin, connect the negative lead to the Common pin and then when you turn on the power,
you get a 5 volt supply from the output pin.
18 | P a g e
3.5.1 78XX:
The Bay Linear LM78XX is integrated linear positive regulator with three terminals. The
LM78XX offer several fixed output voltages making them useful in wide range of applications.
When used as a zener diode/resistor combination replacement, the LM78XX usually results in an
effective output impedance improvement of two orders of magnitude, lower quiescent current.
The LM78XX is available in the TO-252, TO-220 & TO-263packages,
3.5.2 Features:
• Output Current of 1.5A
• Output Voltage Tolerance of 5%
• Internal thermal overload protection
• Internal Short-Circuit Limited
• No External Component
• Output Voltage 5.0V, 6V, 8V, 9V, 10V,12V, 15V, 18V, 24V
• Offer in plastic TO-252, TO-220 & TO-263
• Direct Replacement for LM78XX
19 | P a g e
3.6 LDR:
LDRs or Light Dependent Resistors are very useful especially in light/dark sensor circuits. Normally the resistance of an LDR is very high, sometimes as high as 1000 000 ohms, but when they are illuminated with light resistance drops dramatically.
The animation opposite shows that when the torch is turned on, the resistance of the LDR falls, allowing current to pass through it. An LDR (Light dependent resistor), as its name suggests, offers resistance in response to the ambient light. The resistance decreases as the intensity of incident light increases, and vice versa. In the absence of light, LDR exhibits a resistance of the order of mega-ohms which decreases to few hundred ohms in the presence of light. It can act as a sensor, since a varying voltage drop can be obtained in accordance with the varying light. It is made up of cadmium sulphide (CdS).
An LDR has a zigzag cadmium sulphide track. It is a bilateral device, i.e., conducts in both directions in same fashion.
When a light level of 1000 lux (bright light) is directed towards it, the resistance is 400R (ohms).When a light level of 10 lux (very low light level) is directed towards it, the resistance has risen dramatically to 10.43M (10430000 ohms).
This is an example of a light sensor circuit :
When the light level is low the resistance of the LDR is high. This prevents current from flowing to the base of the transistors. Consequently the LED does not light.
However, when light shines onto the LDR its resistance falls and current flows into the base of the first transistor and then the second transistor. The LED lights.
The preset resistor can be turned up or down to increase or decrease resistance, in this way it can make the circuit more or less sensitive.
20 | P a g e
CHAPTER 4
MICROCONTROLLER
4.1 INTRODUCTION:
A Micro controller consists of a powerful CPU tightly coupled with memory RAM,
ROM or EPROM), various I / O features such as Serial ports, Parallel Ports, Timer/Counters,
Interrupt Controller, Data Acquisition interfaces-Analog to Digital Converter (ADC), Digital
to Analog Converter (ADC), everything integrated onto a single Silicon Chip.
It does not mean that any micro controller should have all the above said features on
chip, Depending on the need and area of application for which it is designed, The ON-CHIP
features present in it may or may not include all the individual section said above.
Any microcomputer system requires memory to store a sequence of instructions
making up a program, parallel port or serial port for communicating with an external system,
timer / counter for control purposes like generating time delays, Baud rate for the serial port,
apart from the controlling unit called the Central Processing Unit.
4.2 INTRODUCTION TO 8051MICROCONTROLLER
In 1981,Intel corporation introduced an 8 bit microcontroller called the 8051.This
microcontroller had 128 bytes of RAM,4K bytes of on-chip ROM, two timers, one serial port
and 4 ports(each 8-bits wide)all on single chip. At that time it was also referred to as a
“system on a chip”.
21 | P a g e
4.3 INTRODUCTION TO ATMEL MICROCONTROLLER
The major Features of 8-bit Micro controller ATMEL 89C51:
8 Bit CPU optimized for control applications
Extensive Boolean processing (Single - bit Logic) Capabilities.
On - Chip Flash Program Memory
On - Chip Data RAM
Bi-directional and Individually Addressable I/O Lines
Multiple 16-Bit Timer/Counters
Full Duplex UART
Multiple Source / Vector / Priority Interrupt Structure
On - Chip Oscillator and Clock circuitry.
On - Chip EEPROM
One Serial communication port
Block Diagram
Figure 4.1 8051block Diagram
22 | P a g e
The P89C51 provides the following standard features: 4K bytes of Flash, 128 bytes of
RAM, 32 I/O lines, two 16-bit timer/counters, five vector two-level interrupt architecture, a
full duplex serial port, and on-chip oscillator and clock circuitry. In addition, the P89C51 is
designed with static logic for operation down to zero frequency and supports two software
selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM,
timer/counters, serial port and interrupt system to continue functioning. The Power-down
Mode saves the RAM contents but freezes the oscillator disabling all other chip functions
until the next hardware reset.
4.4 Memory Organization
Below Fig shows a map of the lower part of the program memory. After reset, the
CPU begins execution from location 0000H. As shown in fig.4, each interrupt is assigned a
fixed location in program memory. The interrupt causes the CPU to jump to that location,
where it executes the service routine. External Interrupt 0, for example, is assigned to
location 0003H. If External Interrupt 0 is used, its service routine must begin at location
0003H. If the interrupt is not used, its service location is available as general purpose.
4.4.1 Program Memory
Program memory addresses are always 16 bits wide, even though the actual amount o
program memory used may be less than 64Kbytes. External program execution sacrifices two
of the 8-bit ports, P0 and P2, to the function of addressing the program memory.
4.4.2 Data Memory
The right half of Figure 3 shows the internal and external data memory spaces
available on Philips Flash microcontrollers. Fig.6 shows a hardware configuration for
accessing up to 2K bytes of external RAM. In this case, the CPU executes from internal flash.
Port0 serves as a multiplexed address/data bus to the RAM, and 3 lines of Port 2 are used to
page the RAM. The CPU generates RD and WR signals as needed during external RAM
accesses. You can assign up to 64K bytes of external data memory. External data memory
addresses can be either 1 or 2bytes wide.
23 | P a g e
Internal data memory addresses are always 1 byte wide, which implies an address
space of only 256bytes. However, the addressing modes for internal RAM can infact
accommodate 384 bytes. Direct addresses higher than 7FH access one memory space and
indirect addresses higher than 7FH access a different memory space. Thus, Figure.7 shows
the Upper 128 and SFR space occupying the same block of addresses, 80H through FFH,
although they are physically separate entities. The lowest 32 bytes are grouped into 4 banks
of 8 registers. Program instructions call out these registers as R0 through R7.
The next 16 bytes above the register banks form a block of bit-addressable memory
space. The microcontroller instruction set includes a wide selection of single-bit instructions,
and these instructions can directly address the 128 bits in this area. These bit addresses are
00H through 7FH. All of the bytes in the Lower 128 can be accessed by either direct or
indirect addressing.
4.5 REGISTERS:
In the CPU, registers are used to store information temporarily. That information
could be a byte of data to be processed, or an address pointing to the data to be fetched. The
vast majority of 8051 registers are 8–bit registers. In the 8051 there is only one data type:
8bits. The 8bits of a register are should in the diagram from the MSB (most significant bit)
D7 to the LSB (least significant bit) D0. With an 8-bit data type, any data larger than 8bits
must be broken into 8-bit chunks before it is processed.
The most widely used registers of the 8051 are A(accumulator), B, R0, R1, R2, R3,
R4, R5, R6, R7, DPTR(data pointer), and PC(program counter). All of the above registers
are 8-bits, except DPTR and the program counter. The accumulator, register A, is used for all
arithmetic and logic instructions.
24 | P a g e
D7 D6 D5 D4 D3 D2 D1 D0
4.5.1 SFRs (Special Function Registers)
Among the registers R0-R7 are part of the 128 bytes of RAM memory . what about
registers A,B, PSW, and DPTR? Do they also have addresses? The answer is yes. In the
8051, registers A, B, PSW and DPTR are part of the group of registers commonly referred to
as SFR (special function registers). There are many special function registers and they are
widely used. The SFR can be accessed by the names (which is much easier) or by their
addresses. For example, register A has address E0h, and register B has been ignited the
address F0H.
4.5.2 SBUF register
SBUF is an 8-bit register used solely for serial communication in the 8051. for a byte
of data to be transferred via the TXD line, it must be placed in the SBUF register. Similarly,
SBUF holds the byte of data when it is received by the 8051’s RXD line. SBUF can be
accessed like any other register in the 8051. Look at the following the examples of how this
register is accessed.
MOV SBUF, #’D’ ; load SBUF=44h, ASCII for ‘D’
MOV SBUF, A ; copy accumulator into SBUF
MOV A, SBUF ; copy SBUF into accumulator
The moment a byte is written into SBUF, it is framed with the start and stop bits and
transferred serially via the TXD pin. Similarly, when the bits are received serially via RXD,
the 8051 defames it by eliminating the stop and start bits, making a byte out of the data
received, and then placing it in the SBUF.
4.5.3 SCON (serial control) register
25 | P a g e
The SCON register is an 8-bit register used to program the start bit, stop bit, and data
bits of data framing, among other things.
The following describes various bits of the SCON register.
SM
0
SM1 SM
2
REN TB8 RB8 TI RI
SM0 SCON.7 Serial port mode specifier
SM1 SCON.6 Serial port mode specifier
SM2 SCON.5 Used for multiprocessor communication. (make it 0.)
REN SCON.4 Set/cleared by software to enable/disable reception
TB8 SCON.3 Not widely used
RB8 SCON.2 Not widely used
TI SCON.1 Transmit interrupt flag. Set by hardware at the beginning
Of the stop bit in mode 1. Must be cleared by software.
RI SCON.0 Receive interrupt flag. Set by hardware halfway through
the stop bit time mode 1. Must be cleared by software.
Note: Make SM2, TB8, and RB8=0.
SM0, SM1
SM0 and SM1 are D7 and D6 of the SCON register, respectively. These two bits
determine the framing of data by specifying the number of bits per character and the start and
stop bits. They take the following combinations.
26 | P a g e
SM0 SM1 FUNCTION
0
0
1
1
0
1
0
1
Serial Mode 0
Serial Mode 1, 8-bit data, 1 stop bit, 1 start bit
Serial Mode 2
Serial Mode 3
Table 4.1: Serial Port Mode bits
In the 4 serial modes, only mode 1 is of interest to us. In the SCON register, when serial mode 1 is chosen, the data framing is 8 bits, 1 stop bit, and 1 start bit, which makes it compatible with the COM port of IBM/compatible PCs. More importantly, serial mode 1 allows the baud rate to be variable and is set by Timer 1 of the 8051. In serial mode 1, for each character a total of 10 bits are transferred, where the first bit is the start bit, followed by 8 bits of data, and finally 1 stop bit.
27 | P a g e
PIN CONFIGURATION:
Figure 4.2: Pin Configuration Of 8051
Pin Diagram of AT89C51
4.6 Pin Description
VCC: Pin 40 provides supply voltage to the chip. The voltage source is +5v.
GND: Pin 20 is the ground.
Ports 0, 1, 2 and 3
As shown in pin diagram, the four ports P0, P1, P2, and P3 each use of 8 pins, making
the 8-bit ports. All the ports upon Reset are configured as input, since P0-P3 have FFH on
them.
28 | P a g e
Port 0
Port 0 occupies a total of 8 pins (pins 32-33). It can be used for input or output. Port0
is also designated as AD0-AD7, allowing it to be used for both address and data. When
connecting an 8051/31 to an external memory, port 0 provides both address and data. The
8051 multiplexes address and data through port 0 to save pins. ALE=0, it provides data D0-
D7, but when ALE=1, it has address A0-A7. Therefore, ALE is used for demultiplexing
address address and data with the help of a 74LS373 latch. In the 8051-based systems where
there is no external memory connection, the pins of P0 must be connected externally to a 10k
–ohm pull-up resistor.
This is due to the fact that P0 is an Open drain, Unlike P1, P2, P3. Open drain is a
term used for Mos chips in the same way that open collector is used for TTL chips. In many
systems usig the 8751, 89C51, or DS89C4x0 chips, we normally connect P0 to pull-up
resistors. With external pull-up resistors connected to P0, it can be used as a simple I/O port,
just like P1 and P2. In contrast to Port 0, ports p1, p2, and p3 do not need any pull-up
resistors since they already have pull-up resistors internally. Upon reset, ports p1, p2, ad p3
are configured as input ports.
Port 1
Port 1 occupies a total of 8-pins (pins1-8). It can be used as input or output. In
contrast to port 0, this port does not need any pull-up resistors since it already has pull-up
resistors internally. Upon reset, port1 is configured as an input port.
Port 2
Port 2 occupies a total 8 pins (pins 21-28). It can be used as input or output.
However, in 8031-based systems, port2 is also designated as A8-A15, indicating its dual
function. Since an 8051/31 is capable of accessing 64K bytes of external memory, it needs a
path for the 16 bits of the address. While P0 provides the lower 8 bits via A0-A7, it is the job
of p2 is used for the upper 8 bits of the 16-bit address, and it cannot be used for I/O. Just like
P1, port 2 does not need any pull-up resistors since it already has pull-up resistors internally.
Upon reset, port2 is configured as an input port.
29 | P a g e
Port 3
Port 3 occupies a total of 8 pins (pins 10-17). It can be used as input or output. P3
does not need any pull-up resistors, just as P1 and P2 did not. Although Port 3 is configured
as an input port upon reset, this is not the way it is most commonly used. Port 3 has the
additional function of providing some extremely important signals such as interrupts. The
below table provides these alternate functions of P3. This is information applies to both 8051
and 8031 chips.
Alternate Functions of PORT3
Port 3 also receives some control signals for Flash programming and verification.
RST
Reset input. A high on this pin for two machine cycles while the oscillator is running
resets the device.
ALE/PROG
Prior to each reading from external memory, the microcontroller will set the lower
address byte (A0-A7) on P0 and immediately after that activates the output ALE. Upon
receiving signal from the ALE pin, the external register (74HCT373 or 74HCT375 circuit is
usually embedded ) memorizes the state of P0 and uses it as an address for memory chip. In
the second part of the microcontroller’s machine cycle, a signal on this pin stops being
emitted and P0 is used now for data transmission (Data Bus). In this way, by means of only
one additional (and cheap) integrated circuit, data multiplexing from the port is performed.
This port at the same time used for data and address transmission.
PSEN
Program Store Enable is the read strobe to external program memory. When the
AT89C51 is executing code from external program memory, PSEN is activated twice each
machine cycle, except that two PSEN activations are skipped during each access to external
data memory.
30 | P a g e
EA/VPP
External Access Enable. EA must be strapped to GND in order to enable the device
to fetch code from external program memory locations starting at 0000H up to FFFFH. Note,
however, that if lock bit 1 is programmed, EA will be internally latched on reset. EA should
be strapped to VCC for internal program executions. This pin also receives the 12-volt
programming enable voltage (VPP) during Flash programming, for parts that require 12-volt
VPP.
XTAL1 and XTAL2
The 8051 has an on-chip oscillator but requires an external clock to run it. Most often
a quartz crystal oscillator is connected to inputs XTAL1 (pin19) and XTAL2 (pin18). The
quartz crystal oscillator connected to XTAL1 and XTAL2 also needs two capacitors of 30pf
value. One side of each capacitor is connected to the ground as shown in fig1.
It must be noted that there are various speeds of the 8051 family. Speed refers to the
maximum oscillator frequency connected to XTAL. For example, a 12-MHz chip must be
connected to a crystal with 12 MHz frequency of no more than 20 MHz. When the 8051 is
connected to a crystal oscillator and is powered up, we can observe the frequency on the
XTAL2 pin using the oscilloscope.
4.5 TIMERS
On-chip timing/counting facility has proved the capabilities of the
microcontroller for implementing the real time application. These includes pulse counting,
frequency measurement, pulse width measurement, baud rate generation, etc,. Having
sufficient number of timer/counters may be a need in a certain design application. The 8051
has two timers/counters. They can be used either as timers to generate a time delay or as
counters to count events happening outside the microcontroller. Let discuss how these timers
are used to generate time delays and we will also discuss how they are been used as event
counters.
31 | P a g e
4.5.1 BASIC RIGISTERS OF THE TIMER
Both Timer 0 and Timer 1 are 16 bits wide. Since the 8051 has an 8-bit architecture,
each 16-bit timer is accessed as two separate registers of low byte and high byte.
4.5.2 TIMER 0 REGISTERS
The 16-bit register of Timer 0 is accessed as low byte and high byte. the low byte
register is called TL0(Timer 0 low byte)and the high byte register is referred to as TH0(Timer
0 high byte).These register can be accessed like any other register, such as
A,B,R0,R1,R2,etc.for example, the instruction ”MOV TL0, #4F”moves the value 4FH into
TL0,the low byte of Timer 0.These registers can also be read like any other register.
4.5.3 TIMER 1 REGISTERS
Timer 1 is also 16-bit register is split into two bytes, referred to as TL1 (Timer 1
low byte) and TH1(Timer 1 high byte).these registers are accessible n the same way as the
register of Timer 0.
4.5.4 TMOD (timer mode) REGISTER
Both timers 0 and 1 use the same register, called TMOD, to set the various timer
operation modes. TMOD is an 8-bit register in which the lower 4 bits are set aside for Timer
0 and the upper 4 bits for Timer 1.in each case; the lower 2 bits are used to set the timer mode
and the upper 2 bits to specify the operation.
32 | P a g e
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
4.5.5 TCON Register:
TCON controls the timer/counter operations. The lower four bits of TCON cater to
interrupt functions, but the upper four bits are for timer operations. The details of the TCON
register are shown below.
MSB LSB
4.7 INTERRUPTS:
In the interrupts method, whenever any device needs its service, the device notifies
the microcontroller by sending it an interrupts signal. Upon receiving an interrupt signal, the
microcontroller interrupts whatever it is doing and serves the device. The program associated
with the interrupts is called the interrupt service routine (ISR).or interrupt handler.
33 | P a g e
4.7.1 Six Interrupts in the 8051:
In reality, only five interrupts are available to the user in the 8051, but many
manufacturers’ data sheets state that there are six interrupts since they include reset .the six
interrupts in the 8051 are allocated as above.
1. Reset. When the reset pin is activated, the 8051 jumps to address location 0000.this is
the power-up reset.
2. Two interrupts are set aside for the timers: one for Timer 0 and one for Timer
1.Memory location 000BH and 001BH in the interrupt vector table belong to Timer 0
and Timer 1, respectively.
3. Two interrupts are set aside for hardware external harder interrupts. Pin number
12(P3.2) and 13(P3.3) in port 3 are for the external hardware interrupts INT0 and
INT1,respectively.These external interrupts are also referred to as EX1 and
EX2.Memory location 0003H and 0013H in the interrupt vector table are assigned to
INT0 and INT1, respectively.
4. Serial communication has a single interrupt that belongs to both receive and transmit.
The interrupt vector table location 0023H belongs to this interrupt.
4.8 8051/52 Interrupt Priority upon Reset
Highest to Lowest Priority
External Interrupt 0 (INT0)
Timer Interrupt 0 (TF0)
External Interrupt 1 (INT1)
Timer Interrupt 1 (TF1)
Serial Communication (RI+TI)
Timer 2(8052 only) TF2
34 | P a g e
35 | P a g e
36 | P a g e
37 | P a g e
CHAPTER 5 .
SERIAL COMMUNICATION
Computers can transfer data in two ways: parallel and serial. In parallel data
transfers, often 8 or more lines (wire conductors) are used to transfer data to a device that is
only a few feet away. An example of parallel transfers a printers and hard disks; each uses
cables with many wire strips. Although in such cases a lot of data can be transferred in a
short amount of time by using many wires in parallel, the distance cannot be great.
To transfer to a device located many meters away, the serial method is used. In serial
communication, the data is sent one bit at a time, in contrast to parallel communication, in
which the data is sent a byte or more at a time. Serial communication of the 8051 is the topic
of this chapter. The 8051 has serial communication capability built into it, there by making
possible fast data transfer using only a few wires.
If data is to be transferred on the telephone line, it must be converted from 0s and 1s
to audio tones, which are sinusoidal-shaped signals. This conversion is performed by a
peripheral device called a modem, which stands for “modulator/demodulator.”
Serial data communication uses two methods, asynchronous and synchronous. The
synchronous method transfers a block of data at a time, while the asynchronous method
transfers a single byte at a time.
In data transmission if the data can be transmitted and received, it is a duplex
transmission. This is in contrast to simplex transmissions such as with printers, in which the
computer only sends data. Duplex transmissions can be half or full duplex, depending on
whether or not the data transfer can be simultaneous.
38 | P a g e
5.1 Asynchronous serial communication and data framing
The data coming in at the receiving end of the data line in a serial data transfer is all
0s and 1s; it is difficult to make sense of the data unless the sender and receiver agree on a set
of rules, a protocol, on how the data is packed, how many bits constitute a character, and
when the data begins and ends.
5.2 Start and stop bits
Asynchronous serial data communication is widely used for character-oriented
transmissions, while block-oriented data transfers use the synchronous method. In the
asynchronous method, each character is placed between start and stop bits. This is called
framing. In the data framing for asynchronous communications, the data, such as ASCII
characters, are packed between a start bit and a stop bit. The start bit is always one bit, but the
stop bit can be one or two bits. The start bit is always a 0 (low) and the stop bit (s) is 1
(high).
5.3 Data transfer rate
The rate of data transfer in serial data communication is stated in bps (bits per
second). Another widely used terminology for bps is baud rate. The data transfer rate of
given computer system depends on communication ports incorporated into that system. For
example, the early IBMPC/XT could transfer data at the rate of 100 to 9600 bps. In recent
years, however, Pentium based PCS transfer data at rates as high as 56K bps. It must be
noted that in asynchronous serial data communication, the baud rate is generally limited to
100,000bps.
39 | P a g e
Baud rate in the 8051
The 8051 transfers and receives data serially at many different baud rates. The baud
rate in the 8051 is programmable. The is done with the help of Timer1. The 8051 divides the
crystal frequency by 12 to get the machine cycle frequency. In the case of
XTAL=11.0592MHZ, the machine cycle frequency is 921.6 KHz
(11.0592MHz/12=921.6KHz). the 8051’s serial communication UART circuitry divides the
machine cycle frequency of 921.6khz divided by 32 once more before it is used by Timer 1 to
set the Baud rate. Therefore, 921.6 kHz divided by 32 gives 28,800 Hz. This is the number
well use to find the Timer 1 value to set baud rate.
Baud
rate
TH1(Decimal) TH1(Hex)
9600 -3 FD
4800 -6 FA
2400 -12 F4
1200 -24 E8
NOTE: XTAL=11...592MHz
5.4 MAX-232:
The MAX232 from Maxim was the first IC which in one package contains the
necessary drivers (two) and receivers (also two), to adapt the RS-232 signal voltage levels to
TTL logic. It became popular, because it just needs one voltage (+5V) and generates the
necessary RS-232 voltage levels (approx. -10V and +10V) internally. This greatly simplified
the design of circuitry. Circuitry designers no longer need to design and build a power supply
40 | P a g e
with three voltages (e.g. -12V, +5V, and +12V), but could just provide one +5V power
supply, e.g. with the help of a simple 78x05 voltage converter.
The MAX232 has a successor, the MAX232A. The ICs are almost identical, however,
the MAX232A is much more often used (and easier to get) than the original MAX232, and
the MAX232A only needs external capacitors 1/10th the capacity of what the original
MAX232 needs.
The MAX232 and MAX232A were once rather expensive ICs, but today they are
cheap. It has also helped that many companies now produce clones (ie. Sipex). The original
manufacturer (and now some clone manufacturers, too) offers a large series of similar ICs,
with different numbers of receivers and drivers, voltages, built-in or external capacitors, etc.
E.g. The MAX232 and MAX232A need external capacitors for the internal voltage pump,
while the MAX233 has these capacitors built-in. The MAX233 is also between three and ten
times more expensive in electronic shops than the MAX232A because of its internal
capacitors. It is also more difficult to get the MAX233 than the garden variety MAX232A.
5.4.1 A Typical Application
The MAX 232(A) has two receivers (converts from RS-232 to TTL voltage levels)
and two drivers (converts from TTL logic to RS-232 voltage levels). This means only two of
the RS-232 signals can be converted in each direction. The old MC1488/1498 combo
provided four drivers and receivers.
Typically a pair of a driver/receiver of the MAX232 is used for
TX and RX
And the second one for
CTS and RTS.
There are not enough drivers/receivers in the MAX232 to also connect the DTR, DSR,
and DCD signals. Usually these signals can be omitted when e.g. communicating with a PC's
serial interface. If the DTE really requires these signals either a second MAX232 is needed,
41 | P a g e
or some other IC from the MAX232 family can be used (if it can be found in consumer
electronic shops at all).
An alternative for DTR/DSR is also given below.Maxim's data sheet explains the
MAX232 family in great detail, including the pin configuration and how to connect such an
IC to external circuitry. This information can be used as-is in own design to get a working
RS-232 interface. Maxim's data just misses one critical piece of information: How exactly to
connect the RS-232 signals to the IC. So here is one possible example
In addition one can directly wire DTR (DB9 pin 4) to DSR (DB9 pin 6) without going
through any circuitry. This gives automatic (brain dead) DSR acknowledgment of an
incoming DTR signal.
Sometimes pin 6 of the MAX232 is hard wired to DCD (DB9 pin 1). This is not
recommended. Pin 6 is the raw output of the voltage pump and inverter for the -10V voltage.
Drawing currents from the pin leads to a rapid breakdown of the voltage, and as a
consequence to a breakdown of the output voltage of the two RS-232 drivers. It is better to
use software which doesn't care about DCD, but does hardware-handshaking via CTS/RTS
only.
The circuitry is completed by connecting five capacitors to the IC as it follows. The
MAX232 needs 1.0µF capacitors, the MAX232A needs 0.1µF capacitors. MAX232 clones
show similar differences. It is recommended to consult the corresponding data sheet. At least
16V capacitor types should be used. If electrolytic or tantalic capacitors are used, the polarity
has to be observed. The first pin as listed in the following table is always where the plus pole
of the capacitor should be connected to.
The 5V power supply is connected to
+5V: Pin 16
GND: Pin 15
42 | P a g e
5.4.2Description/ordering information:
The MAX232 is a dual driver/receiver that includes a capacitive voltage generator to supply
EIA-232 voltage levels from a single 5-V supply. Each receiver converts EIA-232 inputs to 5-V
TTL/CMOS levels. These receivers have a typical threshold of 1.3 V and a typical hysteresis of 0.5 V,
and can accept 30-V inputs. Each driver converts TTL/CMOS input levels into EIA-232 levels. The
driver, receiver, and voltage-generator functions are available as cells in the Texas Instruments Lin
ASIClibrary.
43 | P a g e
CHAPTER 6.
Solar panel
"Photovoltaic module" redirects here. For the heat collectors, see Solar thermal collector.
An installation of solar panels in rural Mongolia
A solar panel or photovoltaic module, is composed of individual PV cells. This crystalline-silicon panel has an aluminium frame and glass on the front.
Solar panels on the International Space Station
A solar panel (also solar module, photovoltaic module or photovoltaic panel) is a packaged, connected assembly of photovoltaic cells. The solar panel can be used as a
44 | P a g e
component of a larger photovoltaic system to generate and supply electricity in commercial and residential applications.
Because a single solar panel can produce only a limited amount of power, many installations contain several panels. A photovoltaic system typically includes an array of solar panels, an inverter, and sometimes a battery and interconnection wiring.
6.1 Theory and construction
Polycrystalline PV cells connected in a solar panel.
Solar panels use light energy (photons) from the sun to generate electricity through the photovoltaic effect. The structural (load carrying) member of a module can either be the top layer or the back layer. The majority of modules use wafer-based crystalline silicon cells or thin-film cells based on cadmium telluride or silicon. The conducting wires that take the current off the panels may contain silver, copper or other non-magnetic conductive transition metals.
The cells must be connected electrically to one another and to the rest of the system. Cells must also be protected from mechanical damage and moisture. Most solar panels are rigid, but semi-flexible ones are available, based on thin-film cells.
Electrical connections are made in series to achieve a desired output voltage and/or in parallel to provide a desired current capability.
Separate diodes may be needed to avoid reverse currents, in case of partial or total shading, and at night. The p-n junctions of mono-crystalline silicon cells may have adequate reverse current characteristics that these are not necessary. Reverse currents waste power and can also lead to overheating of shaded cells. Solar cells become less efficient at higher temperatures and installers try to provide good ventilation behind solar panels.
45 | P a g e
Some recent solar panel designs include concentrators in which light is focused by lenses or mirrors onto an array of smaller cells. This enables the use of cells with a high cost per unit area (such as gallium arsenide) in a cost-effective way.[citation needed]
Depending on construction, photovoltaic panels can produce electricity from a range of frequencies of light, but usually cannot cover the entire solar range (specifically, ultraviolet, infrared and low or diffused light). Hence much of the incident sunlight energy is wasted by solar panels, and they can give far higher efficiencies if illuminated with monochromatic light. Therefore, another design concept is to split the light into different wavelength ranges and direct the beams onto different cells tuned to those ranges. This has been projected to be capable of raising efficiency by 50%.
Currently the best achieved sunlight conversion rate (solar panel efficiency) is around 21% in commercial products, typically lower than the efficiencies of their cells in isolation. The energy density of a solar panel is the efficiency described in terms of peak power output per unit of surface area, commonly expressed in units of watts per square foot (W/ft 2). The most efficient mass-produced solar panels have energy density values of greater than 13 W/ft2 (140 W/m2).
6.1.1 Crystalline silicon modules
Most solar modules are currently produced from silicon photovoltaic cells. These are typically categorized as monocrystalline or polycrystalline modules.
6.1.2Thin-film modules
Third generation solar cells are advanced thin-film cells. They produce high-efficiency conversion at low cost.
6.1.3 Rigid thin-film modules
In rigid thin film modules, the cell and the module are manufactured in the same production line.
The cell is created on a glass substrate or superstrate, and the electrical connections are created in situ, a so called "monolithic integration". The substrate or superstrate is laminated with an encapsulant to a front or back sheet, usually another sheet of glass.
The main cell technologies in this category are CdTe, or a-Si, or a-Si+uc-Si tandem, or CIGS (or variant). Amorphous silicon has a sunlight conversion rate of 6-12%.
6.1.4 Flexible thin-film modules
Flexible thin film cells and modules are created on the same production line by depositing the photoactive layer and other necessary layers on a flexible substrate.
46 | P a g e
If the substrate is an insulator (e.g. polyester or polyimide film) then monolithic integration can be used.
If it is a conductor then another technique for electrical connection must be used.
The cells are assembled into modules by laminating them to a transparent colourless fluoropolymer on the front side (typically ETFE or FEP) and a polymer suitable for bonding to the final substrate on the other side. The only commercially available (in MW quantities) flexible module uses amorphous silicon triple junction (from Unisolar).
So-called inverted metamorphic (IMM) multijunction solar cells made on compound-semiconductor technology are just becoming commercialized in July 2008. The University of Michigan's solar car that won the North American Solar Challenge in July 2008 used IMM thin-film flexible solar cells.
The requirements for residential and commercial are different in that the residential needs are simple and can be packaged so that as solar cell technology progresses, the other base line equipment such as the battery, inverter and voltage sensing transfer switch still need to be compacted and unitized for residential use. Commercial use, depending on the size of the service will be limited in the photovoltaic cell arena, and more complex parabolic reflectors and solar concentrators are becoming the dominant technology.
The global flexible and thin-film photovoltaic (PV) market, despite caution in the overall PV industry, is expected to experience a CAGR of over 35% to 2019, surpassing 32 GW according to a major new study by IntertechPira
6.1.5 Module embedded electronics
Several companies have begun embedding electronics into PV modules. This enables performing maximum power point tracking (MPPT) for each module individually, and the measurement of performance data for monitoring and fault detection at module level. Some of these solutions make use of power optimizers, a DC-to-DC converter technology developed to maximize the power harvest from solar photovoltaic systems. As of about 2010, such electronics can also compensate for shading effects, wherein a shadow falling across a section of a panel causes the electrical output of one or more strings of cells in the panel to fall to zero, but not having the output of the entire panel fall to zero.
6.1.6 Module performance and lifetime
Module performance is generally rated under standard test conditions (STC): irradiance of 1,000 W/m², solar spectrum of AM 1.5 and module temperature at 25°C.
Electrical characteristics include nominal power (PMAX, measured in W), open circuit voltage (VOC), short circuit current (ISC, measured in amperes), maximum power voltage (VMPP), maximum power current (IMPP), peak power, kWp, and module efficiency (%).
47 | P a g e
Nominal voltage refers to the voltage of the battery that the module is best suited to charge; this is a leftover term from the days when solar panels were used only to charge batteries. The actual voltage output of the panel changes as lighting, temperature and load conditions change, so there is never one specific voltage at which the panel operates. Nominal voltage allows users, at a glance, to make sure the panel is compatible with a given system.
Open circuit voltage or VOC is the maximum voltage that the panel can produce when not connected to an electrical circuit or system. VOC can be measured with a meter directly on an illuminated panel's terminals or on its disconnected cable.
The peak power rating, kWp, is the maximum output according under standard test conditions (not the maximum possible output).
Solar panels must withstand heat, cold, rain and hail for many years. Many crystalline silicon module manufacturers offer a warranty that guarantees electrical production for 10 years at 90% of rated power output and 25 years at 80%.
6.2 Turn Over
The "solar tree", a symbol of Gleisdorf, Austria
In 2010, 15.9 GW of solar PV system installations were completed, with solar PV pricing survey and market research company PVinsights reporting growth of 117.8% in solar PV installation on a year-on-year basis. With over 100% year-on-year growth in PV system installation, PV module makers dramatically increased their shipments of solar panels in 2010. They actively expanded their capacity and turned themselves into gigawatt GW players. According to PVinsights, five of the top ten PV module companies in 2010 are GW players. Suntech, First Solar, Sharp, Yingli and Trina Solar are GW producers now, and most of them doubled their shipments in 2010.[7]
48 | P a g e
6.2.1 Top ten producers
The top ten solar panel producers (by MW shipments) in 2010 were:
1. Suntech2. First Solar3. Sharp Solar4. Yingli5. Trina Solar6. Canadian Solar7. Hanwha Solarone8. Sunpower9. Renewable Energy Corporation10. Solarworld
6.2.2 Price
Average pricing information divides in three pricing categories: those buying small quantities (modules of all sizes in the kilowatt range annually), mid-range buyers (typically up to 10 MWp annually), and large quantity buyers (self explanatory—and with access to the lowest prices). Over the long term—and only in the long-term—there is clearly a systematic reduction in the price of cells and modules. For example in 1998 it was estimated that the quantity cost per watt was about $4.50, which was 33 times lower than the cost in 1970 of $150
Following to RMI, Balance-of-System (BoS) elements, this is, non-module cost of non-microinverter solar panels (as wiring, converters, racking systems and various components) make up about half of the total costs of installations. Also, standardizing technologies could encourage greater adoption of solar panels and, in turn, economies of scale
49 | P a g e
CHAPTER 7.
Mounting systems
7.1 Trackers
Solar trackers increase the amount of energy produced per panel at a cost of mechanical complexity and need for maintenance. They sense the direction of the Sun and tilt the panels as needed for maximum exposure to the light.
7.2 Fixed racks
Fixed racks hold panels stationary as the sun moves across the sky. The fixed rack sets the angle at which the panel is held. Tilt angles equivalent to an installation's latitude are common.
7.3 Ground mounted
Ground mounted solar power systems consist of solar panels held in place by racks or frames that are attached to ground based mounting supports.
Ground based mounting supports include:
Pole mounts, which are driven directly into the ground or embedded in concrete. Foundation mounts, such as concrete slabs or poured footings Ballasted footing mounts, such as concrete or steel bases that use weight to secure the
solar panel system in position and do not require ground penetration. This type of mounting system allows for decommissioning or relocation of solar panel systems with no ground excavation.
7.4 Roof mounted
Roof mounted solar power systems consist of solar panels held in place by racks or frames attached to roof based mounting supports.
Roof based mounting supports include:
Pole mounts, which are attached directly to the roof structure and may use additional rails for attaching the panel racking or frames.
Ballasted footing mounts, such as concrete or steel bases that use weight to secure the panel system in position and do not require through penetration. This mounting method allows for decommissioning or relocation of solar panel systems with no adverse effect on the roof structure.
50 | P a g e
A ground mounted solar panel system installation using precast concrete ballasted footings.
A roof mounted solar panel system installed using flat roof precast concrete ballasted footings.
Technicians installing photovoltaic panels on a roof mounted rack.
A roof mounted solar panel system installed on a sloped roof using pole mounts and rails.
51 | P a g e
CHAPTER 8.
Standards
Standards generally used in photovoltaic panels:
IEC 61215 (crystalline silicon performance), 61646 (thin film performance) and 61730 (all modules, safety)
ISO 9488 Solar energy—Vocabulary. UL 1703 UL 1741 CE mark Electrical Safety Tester (EST) Series (EST-460, EST-22V, EST-22H, EST-110).
8.1 Devices with photovoltaic modules
Electric devices that includes solar panels:
Solar cell phone : Sharp announced that its first solar-powered cell phone would be released in summer, 2009
Solar lamp Solar notebook: IUNIKA makes the first Solar Powered Netbook, the Gyy. Solar-pumped laser Solar vehicle Solar plane
Space stations and various spacecraft employ, or have employed photovoltaic panels to generate power.
Soyuz spacecraft International Space Station Skylab space laboratory Mir space station
52 | P a g e
Appendix (a)
KEIL SOFTWARE
KEIL SOFTWARE TOOL (STEPS)
1. Click on the Keil uVision Icon on DeskTop
2. The following fig will appear
3. Click on the Project menu from the title bar
4. Then Click on New Project
53 | P a g e
5. Save the Project by typing suitable project name with no extension in u r own folder sited in either C:\ or D:\
6. Then Click on Save button above.
7. Select the component for u r project. i.e. Atmel……
8. Click on the + Symbol beside of Atmel
54 | P a g e
9. Select AT89C52 as shown below
10. Then Click on “OK”
11. The Following fig will appear
55 | P a g e
12. Then Click either YES or NO………mostly “NO”
13. Now your project is ready to USE
14. Now double click on the Target1, you would get another option
“Source group 1” as shown in next page.
15. Click on the file option from menu bar and select “new”
56 | P a g e
16. The next screen will be as shown in next page, and just maximize it by
double clicking on its blue boarder.
17. Now start writing program in either in “C” or “ASM”
18. For a program written in Assembly, then save it with extension “.
asm” and for “C” based program save it with extension “ .C”
57 | P a g e
19. Now right click on Source group 1 and click on “Add files to Group
Source”
20. Now you will get another window, on which by default “C” files will
appear.
58 | P a g e
21. Now select as per your file extension given while saving the file
22. Click only one time on option “ADD”
23. Now Press function key F7 to compile. Any error will appear if so
happen.
24. If the file contains no error, then press Control+F5 simultaneously.
59 | P a g e
25. The new window is as follows
26. Then Click “OK”
27. Now Click on the Peripherals from menu bar, and check your required
port as shown in fig below
28. Drag the port a side and click in the program file.
60 | P a g e
29. Now keep Pressing function key “F11” slowly and observe.
30. You are running your program successfully
61 | P a g e
Software componentsAbout Keil
31. Click on the Keil u Vision Icon on Desktop
32. Click on the Project menu from the title bar
33. Then Click on New Project
34. Save the Project by typing suitable project name with no extension in u
r own folder sited in either C:\ or D:\
35. Then Click on Save button above.
36. Select the component for u r project. i.e. Atmel……
37. Click on the + Symbol beside of Atmel
38. Select AT89C51
39. Then Click on “OK”
40. Then Click either YES or NO………mostly “NO”
41. Now your project is ready to USE
42. Now double click on the Target1, you would get another option
“Source group 1”
43. Click on the file option from menu bar and select “new”
44. The next screen will be as shown in next page, and just maximize it by
double clicking on its blue boarder.
45. Now start writing program in either in “C” or “ASM”
46. For a program written in Assembly, then save it with extension “.
asm” and for “C” based program save it with extension “ .C”
47. Now right click on Source group 1 and click on “Add files to Group
Source”
48. Now you will get another window, on which by default “C” files will
appear.
49. Now select as per your file extension given while saving the file
50. Click only one time on option “ADD”
51. Now Press function key F7 to compile. Any error will appear if so
happen.If the file contains no error, then press Control+F5 simultaneously.
52. The new window is as follows
53. Then Click “OK”
62 | P a g e
54. Now Click on the Peripherals from menu bar, and check your required
port
55. Drag the port a side and click in the program file.
56. Now keep Pressing function key “F11” slowly and observe.
57. You are running your program successfully
Embedded C:
Data Types:
U people have already come across the word “Data types” in C- Language. Here also
the functionality and the meaning of the word is same except a small change in the prefix of
their labels. Now we will discuss some of the widely used data types for embedded C-
programming.
Data Types
Size in Bits
Data Range/Usage
unsigned char 8-bit 0-255
signed char 8-bit -128 to +127
unsigned int 16-bit 0 to 65535
signed int 16-bit -32,768 to +32,767
sbit 1-bit SFR bit addressable only
Bit 1-bit RAM bit addressable only
Sfr 8-bit RAM addresses 80-FFH
only
Sbit (single bit):
The sbit data type is widely used and designed specifically to access single bit
addressable registers. It allows access to the single bits of the SFR registers.
63 | P a g e
Flash magic :
Flash Magic is Windows software from that microcontroller is easyly programmed using In-System Programming technology to all the ISP feature empowered devices.
After installing the software when we click on the icon of the software the window will open on the screen as shown in figure. We need to change the device and have to select the device 89V51RD2 , and then we set to ‘erase all flash’ option on the flash magic window.
If we need to verify the proper dumping of the program in the microcontroller then we need to set the ‘verify after program’ option.
64 | P a g e
Loading of hex file : after selecting device we load the hex file in the given block by using the ‘browse’ option on the ‘FLASH MAGIC’ window..
Programming of device : after loading the file next step is dumping of code in microcontroller. For that we first connect the computer’s serial port to your controller board through serial cable. Then after give the power supply to the controller board..
Now its time to dump the code in controller.. Press the start option on your flash magic window.. then your microcontroller will be programmed in few seconds..
PROGRAM CODE:
#include<reg52.h>#include<intrins.h>#include "lcd.h"void _nop_(void);
#define delay_us _nop_(); //generates 1 microsecond
sbit buzzer=P0^7; sbit PULSE =P3^2; sbit sw=P0^1;
sbit sck = P3^4;sbit dout = P3^5;sbit din = P3^6;sbit cs = P3^7;
void integer_lcd(int);void timer(unsigned int);void init_lcd(void);void cmd_lcd(unsigned char);void write_lcd(unsigned char);void delay_ms(unsigned int);
unsigned char txrxbyte(unsigned char);
unsigned char byte1,byte2,byte3; float dcode1,dcode2,dcode3; float vref=4.096,output,output1,output2,output3; unsigned int i,j,k;
unsigned int num=0;
65 | P a g e
unsigned int num1=0;unsigned int test1=0,test2=0,test;
unsigned int cnt,max_cnt;int counter=0,n;bit flag=0;void transmit(unsigned char *);void integer_lcd1(int);
void delay_micro(unsigned int);
sbit WIRE=P0^0;
void integer_lcd(int);
unsigned int str[],a;
void main(void){unsigned int p=0,t=0; init_lcd(); display_lcd("ICU "); cmd_lcd(0xc0); display_lcd("MONITORING"); delay_ms(1000); cmd_lcd(0x01);
while(1) { cs=0; byte1=txrxbyte(0x06); byte2=txrxbyte(0x00); byte3=txrxbyte(0x00); i=(byte2&0x0f); i=(i<<8|byte3); output1=(((vref*i)/4096)); output1=(output1*1000); cs=1; delay_ms(10); cs=0; byte1=txrxbyte(0x06); byte2=txrxbyte(0x40); byte3=txrxbyte(0x00); i=(byte2&0x0f); i=(i<<8|byte3); output2=(((vref*i)/4096)); output2=output2*1000; cs=1; delay_ms(10); cs=0; byte1=txrxbyte(0x06); byte2=txrxbyte(0x80);
66 | P a g e
byte3=txrxbyte(0x00); i=(byte2&0x0f); i=(i<<8|byte3); output3=(((vref*i)/4096)); output3=(output3*1000); cs=1;
cmd_lcd(0x80); integer_lcd(output1); delay_ms(1000); cmd_lcd(0xc0); integer_lcd(output2); display_lcd(" "); integer_lcd(output3); delay_ms(1000); }}
void transmit(unsigned char *t_data){
while(*t_data!='\0'){SBUF = *t_data;while(!TI);TI=0;t_data++;delay_ms(30);}
}
void integer_lcd1(int n){unsigned char c[6];unsigned int i=0; if(n<0) { SBUF='-'; n=-n; while(!TI);TI=0;
} if(n==0) { SBUF='0'; while(!TI);TI=0;
} while(n>0) {
67 | P a g e
c[i++]=(n%10)+48; n/=10; } while(i-->=1) { SBUF=c[i]; while(!TI);TI=0;
} }
unsigned char txrxbyte( unsigned char d) { char mask=0x80; unsigned char i,c=0x00; for(i=0;i<8;i++) { sck=1; if(d&mask) {din=1;} else {din=0;} sck=0; if(dout==1) {c=c|mask;} mask=mask>>1; } return c; }
#include<reg52.h>#include<intrins.h>#include "lcd.h"void _nop_(void);
#define delay_us _nop_(); //generates 1 microsecond
//#define motor P0
sbit sck = P3^4;sbit dout = P3^5;sbit din = P3^6;sbit cs = P3^7;
void integer_lcd(int);
void init_lcd(void);void cmd_lcd(unsigned char);
68 | P a g e
void write_lcd(unsigned char);void delay_ms(unsigned int);
unsigned char txrxbyte(unsigned char);
unsigned char byte1,byte2,byte3; float vref=4.096,output,output1,output2,output3;
void integer_lcd(int);
//unsigned char mor=0,noon=0,eve=0;
void main(void){unsigned char i; init_lcd();display_lcd("SOLAR ");cmd_lcd(0xc0);display_lcd("TRACKING SYSTEM");delay_ms(1000);
cmd_lcd(0x01);
while(1) { cs=0; byte1=txrxbyte(0x06); byte2=txrxbyte(0x00); byte3=txrxbyte(0x00); i=(byte2&0x0f); i=(i<<8|byte3); output1=(((vref*i)/4096)); output1=(output1*1000); cs=1; delay_ms(10); cs=0; byte1=txrxbyte(0x06); byte2=txrxbyte(0x40); byte3=txrxbyte(0x00); i=(byte2&0x0f); i=(i<<8|byte3); output2=(((vref*i)/4096)); output2=output2*1000; output2=output2; cs=1; delay_ms(10);
/* cs=0; byte1=txrxbyte(0x06); byte2=txrxbyte(0x80); byte3=txrxbyte(0x00);
69 | P a g e
i=(byte2&0x0f); i=(i<<8|byte3); output3=(((vref*i)/4096)); output3=output3*1000; cs=1; delay_ms(10); */ cmd_lcd(0x01); integer_lcd(output1); cmd_lcd(0x89); integer_lcd(output2); cmd_lcd(0xc0); integer_lcd(output3);
delay_ms(1000); /* if(output1<300&&mor==0) { mor=1; for(i=0;i<4;i++) { motor=0x01; //for CCW direction "C639"
delay_ms(12); motor=0x02;
delay_ms(12); motor=0x04;delay_ms(12);
motor=0x08;delay_ms(20);
} } if(output2<300&&mor==1&&noon==0) { noon=1; for(i=0;i<4;i++) { motor=0x01; //for CCW direction "C639"
delay_ms(12); motor=0x02;
delay_ms(12); motor=0x04;delay_ms(12);
motor=0x08;delay_ms(20);
} } if(output3<400&&noon==1&&eve==0) { eve=1; for(i=0;i<4;i++) { motor=0x01; //for CCW direction "C639"
delay_ms(12); motor=0x02;
delay_ms(12); motor=0x04;
70 | P a g e
delay_ms(12); motor=0x08;
delay_ms(20);}
} if(output3>400&&output2>400&&output1>400&&eve==1) { eve=0;
for(i=0;i<12;i++) { motor=0x08; //for CW direction "C639"
delay_ms(12); motor=0x04;
delay_ms(12); motor=0x02;delay_ms(12);
motor=0x01;delay_ms(12);
} } /*for(i=0;i<12;i++) { motor=0x01; //for CCW direction "C639"
delay_ms(12); motor=0x02;
delay_ms(12); motor=0x04;delay_ms(12);
motor=0x08;delay_ms(20);
}delay_ms(1000);
for(i=0;i<12;i++) { motor=0x08; //for CW direction "C639"
delay_ms(12); motor=0x04;
delay_ms(12); motor=0x02;delay_ms(12);
motor=0x01;delay_ms(12);
} delay_ms(1000);*/
/*for(i=0;i<12;i++) { motor=0x01; //for CCW direction "C639"
delay_ms(12); motor=0x02;
delay_ms(12); motor=0x04;delay_ms(12);
71 | P a g e
motor=0x08;delay_ms(20);
}delay_ms(1000);
for(i=0;i<12;i++) { motor=0x08; //for CW direction "C639"
delay_ms(12); motor=0x04;
delay_ms(12); motor=0x02;delay_ms(12);
motor=0x01;delay_ms(12);
} delay_ms(1000);*/
}}
unsigned char txrxbyte( unsigned char d) { char mask=0x80; unsigned char i,c=0x00; for(i=0;i<8;i++) { sck=1; if(d&mask) {din=1;} else {din=0;} sck=0; if(dout==1) {c=c|mask;} mask=mask>>1; } return c; }
#include<reg52.h>#include<intrins.h>#include "lcd.h"void _nop_(void);
sbit motor = P0^0;sbit rev = P0^1;#define delay_us _nop_(); //generates 1 microsecond
72 | P a g e
sbit sck = P3^7;sbit dout = P3^6;sbit din = P3^5;sbit cs = P3^4;
void integer_lcd(int);void timer(unsigned int);void init_lcd(void);void cmd_lcd(unsigned char);void write_lcd(unsigned char);void delay_ms(unsigned int);
unsigned char txrxbyte(unsigned char);
unsigned char byte1,byte2,byte3; float dcode1,dcode2,dcode3; float vref=4.096,output,output1,output2,output3; unsigned int i,j,k;
unsigned char mor=0,noon=0,eve=0;
void delay_micro(unsigned int);
void integer_lcd(int);
void main(void){unsigned int p=0,t=0; init_lcd();display_lcd("SOLAR ENERGY ");cmd_lcd(0xc0);display_lcd("TRACKING SYSTEM");delay_ms(1000);
while(1) { cs=0; byte1=txrxbyte(0x06); byte2=txrxbyte(0x00); byte3=txrxbyte(0x00); i=(byte2&0x0f); i=(i<<8|byte3); output1=(((vref*i)/4096)); output1=(output1*1000); cs=1; delay_ms(10); cs=0; byte1=txrxbyte(0x06); byte2=txrxbyte(0x40);
73 | P a g e
byte3=txrxbyte(0x00); i=(byte2&0x0f); i=(i<<8|byte3); output2=(((vref*i)/4096)); output2=output2*1000; cs=1; delay_ms(10); cs=0; byte1=txrxbyte(0x06); byte2=txrxbyte(0x80); byte3=txrxbyte(0x00); i=(byte2&0x0f); i=(i<<8|byte3); output3=(((vref*i)/4096)); output3=(output3*1000); cs=1; /* cmd_lcd(0x01); integer_lcd(output1); delay_ms(1000); cmd_lcd(0xc0); integer_lcd(output2); display_lcd(" "); integer_lcd(output3); delay_ms(1000); */if(output1>4000&&mor==0) { mor=1; noon=0; motor=1; rev=0; cmd_lcd(0x01);display_lcd("MORNING");delay_ms(1000);motor=1; rev=1;init_lcd();display_lcd("SOLAR ENERGY ");cmd_lcd(0xc0);display_lcd("TRACKING SYSTEM");delay_ms(1000); } if(output2>4000&&mor==1&&noon==0) { noon=1; motor=1; rev=0; cmd_lcd(0x01);display_lcd("NOON");delay_ms(1000);motor=1; rev=1; init_lcd();display_lcd("SOLAR ENERGY ");cmd_lcd(0xc0);
74 | P a g e
display_lcd("TRACKING SYSTEM");delay_ms(1000); } if(output3>4000&&noon==1&&eve==0) { eve=1; motor=1; rev=0; cmd_lcd(0x01);display_lcd("EVENING");delay_ms(1000); motor=1; rev=1; init_lcd();display_lcd("SOLAR ENERGY ");cmd_lcd(0xc0);display_lcd("TRACKING SYSTEM");delay_ms(1000); } if(output3<4000&&output2<4000&&output1<4000&&eve==1) { eve=0; mor=0;motor=0; rev=1;init_lcd();display_lcd("SOLAR ENERGY ");cmd_lcd(0xc0);display_lcd("TRACKING SYSTEM");delay_ms(3000); motor=1; rev=1; }
}}
void transmit(unsigned char *t_data){
while(*t_data!='\0'){SBUF = *t_data;while(!TI);TI=0;t_data++;delay_ms(30);}
}
void integer_lcd1(int n){unsigned char c[6];
75 | P a g e
unsigned int i=0; if(n<0) { SBUF='-'; n=-n; while(!TI);TI=0;
} if(n==0) { SBUF='0'; while(!TI);TI=0;
} while(n>0) { c[i++]=(n%10)+48; n/=10; } while(i-->=1) { SBUF=c[i]; while(!TI);TI=0;
} }
unsigned char txrxbyte( unsigned char d) { char mask=0x80; unsigned char i,c=0x00; for(i=0;i<8;i++) { sck=1; if(d&mask) {din=1;} else {din=0;} sck=0; if(dout==1) {c=c|mask;} mask=mask>>1; } return c; }
76 | P a g e
CHAPTER 10
Bibliography
The 8051 Micro controller and Embedded Systems
-Muhammad Ali Mazidi
Janice Gillispie Mazidi
The 8051 Micro controller Architecture, Programming & Applications
-Kenneth J.Ayala
Fundamentals of Micro processors and Micro computers
-B.Ram
Micro processor Architecture, Programming & Applications
-Ramesh S. Gaonkar
Wireless Communications
- Theodore S. Rappaport
Mobile Tele Communications
- William C.Y. Lee
77 | P a g e
References on the Web:
www.howstuffworks.com
www.national.com
www.atmel.com
www.microsoftsearch.com
www.geocities.com
78 | P a g e