Design and implementation of a solar tracker based on FPGA

Publisher:花海鱼Latest update time:2010-11-18 Source: 维库开发网Keywords:FPGA Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

0 Introduction

Solar energy is a clean, pollution-free energy source that is inexhaustible and has broad development prospects. However, solar energy is intermittent and has uncertain intensity and direction, which makes it difficult to collect solar energy. The use of a solar tracking device can keep the sun's rays perpendicular to the receiving surface, improve the energy receiving efficiency of solar energy equipment, and thus improve the utilization rate of solar energy.

This design adopts the traditional apparent solar motion tracking method and uses the FPGA development environment ISE provided by Xilinx to design a solar automatic tracking system based on the XC3S1500 development board to achieve all-weather, fully automatic, and real-time precise control of the sun.

1. Sun motion tracking method

The apparent solar motion tracking method uses the equatorial coordinate system or the horizontal coordinate system to describe the position of the sun relative to the earth based on the trajectory of the earth and the sun. Generally, in dual-axis tracking, the polar tracking uses the equatorial coordinate system, and the altitude-azimuth tracking uses the horizontal coordinate system.

1.1 Polar tracking

The equatorial coordinate system is the position of the sun relative to the earth observed by people in the universe outside the earth. At this time, the position of the sun is relative to the equatorial plane, and is expressed by two coordinates: declination and hour angle. The angle between the line connecting the center of the sun and the center of the earth, that is, the line connecting the direct point of sunlight on the earth's surface and the center of the earth and the projection on the equatorial plane is called the solar declination. It describes the change in the relative position of the two caused by the earth's revolution around the sun at a certain inclination. In a year, the position of the vertical illumination point of sunlight on the earth's surface reciprocates between the Tropic of Capricorn, the equator and the Tropic of Cancer, causing the angle between the direct point and the line connecting the center of the earth on the equatorial plane to change repeatedly. The change of declination angle in a year is calculated using formula (1):

Where: δ is the declination angle of the nth day in a year, unit: (°); n is the date number in a year, unit: day.

The hour angle describes the change in the relative position of the sun and the earth caused by the rotation of the earth. The earth rotates 360 degrees, which corresponds to 24 hours, so the hour angle corresponding to each hour is 15 degrees. The hour angle is the largest at sunrise and sunset, and is zero at noon. The calculation formula is as follows:

Where: ω is the hour angle, unit: (°); T is the local time, unit: h.

According to the above method, the declination and hour angle of the sun at any place and time on the earth can be calculated, and polar tracking can be established. For the solar tracking system, one axis of the lighting board is parallel to the earth's rotation axis, called the polar axis, and the other axis is perpendicular to it. When working, the lighting board rotates around the earth's rotation axis, and its speed is set to be the same as the earth's rotation speed, but in the opposite direction. In order to adapt to the changes in the solar declination angle, the lighting board pitches around the axis perpendicular to the earth's rotation axis. The principle of this tracking method is simple, but because the weight of the lighting board does not pass through the polar axis, the design of the polar axis support structure is more difficult, so this design does not use polar tracking. [page]

1.2 Horizontal Coordinate System

The horizontal coordinate system uses altitude and azimuth to describe the position of the sun. If the declination and hour angle in the solar equatorial coordinate system are known, the altitude and azimuth of the sun in the horizontal coordinate system can be obtained through the transformation relationship of the spherical triangle. As shown in Figure 1, the celestial sphere is an imaginary sphere with the observer as the center and any distance as the radius. For the distance between points on the celestial sphere, only the angular distance between them is discussed without considering their line length. M and N are the north and south celestial poles on the celestial sphere, respectively. Point P is the intersection of the observer's plumb line and the celestial sphere. The geographical latitude of point P is φ, and S is the position of the sun in the celestial sphere. The declination of S is δ. The angle between the observer's plumb line OP and the line connecting the center of the earth and the sun is called the zenith angle. The zenith angle and the altitude angle of the sun are complementary. Angle A is the azimuth of the sun.

According to the cosine formula of the side of a spherical triangle, that is, the cosine of one side is equal to the product of the cosines of the other two sides, plus the product of the sines of the two sides and the cosine of the angle between them, the radius of the celestial sphere is not a fixed value. Therefore, the arc length is usually expressed by the angle corresponding to the arc when describing the arc on the celestial sphere. In the spherical triangle NPS, the three sides are arc NP, arc NS, and arc SP, which are expressed by angles 90-φ, 90-δ, and τ respectively. Using the cosine formula of the side of a spherical triangle:

Altitude-azimuth tracking is also called the horizontal coordinate system dual-axis tracking system. The azimuth axis of the skylight is perpendicular to the ground plane, and the other axis is perpendicular to the azimuth axis, called the pitch axis. When working, the skylight rotates around the azimuth axis to change the azimuth according to the apparent motion of the sun, and pitches around the pitch axis to change the inclination angle of the skylight, so that the skylight is perpendicular to the sunlight. The characteristics of this tracking system are high tracking accuracy, and the weight of the skylight device is kept in the plane where the vertical axis is located, and the design of the supporting structure is relatively easy. In this article, the altitude-azimuth tracking is used for design. [page]

2. Design of solar tracking control system

According to the overall framework of the altitude-azimuth tracking system introduced above, this paper designs the functional modules of the FPGA-based solar tracking system based on Xilinx's FPGA development board. It mainly includes the timing module, solar altitude-azimuth calculation module, sunrise and sunset time calculation module and stepper motor pulse control module.

The flow chart of the FPGA-based sun tracking control system is shown in Figure 2 and Figure 3.

First, the system calculates the current time according to the timing module, including the date ordinal number dn (unit: day) of the day in the year and the current time T (unit: h), and then determines the sunrise and sunset times of the day according to the sunrise and sunset time calculation module, so as to determine whether the current time is after sunrise and before sunset. In the program calculation process, the solar altitude angle and azimuth angle calculation module is used to calculate the current position of the sun, and the difference is made with the position of the sun calculated last time, and the angles and rotation directions of the current tracking device altitude and azimuth that need to be adjusted are calculated respectively, and then the stepper motor pulse drive module is entered. First, the altitude angle is adjusted, the positive and negative values ​​of the altitude angle difference are judged, and the stepper motor in the altitude direction is driven to rotate. After the altitude angle stepper motor stops rotating, the azimuth angle is adjusted. The positive and negative values ​​of the azimuth angle are judged, and the azimuth angle stepper motor is driven to rotate the corresponding angle according to the deviation. After one tracking, after a certain time interval T, the system extracts the time calculation, judgment, and rotation motor again. When the sunset time arrives, the stepper motor is controlled to rotate to the position where the sun rises the next day and restores the initial state. In this way, this system realizes all-weather and real-time tracking of the sun. [page]

3 Design of modules of solar tracking system based on FPGA

The module diagram of the solar tracking system is shown in Figure 4. Here, the design and results of the timing module, sunrise and sunset time calculation module, altitude angle azimuth angle calculation module, and stepper motor pulse generation module established by the FPGA-based solar real-time tracking system are introduced in detail.

3.1 Timing module

The apparent sun motion tracking method requires time and geographic latitude information. The general sun tracking system has a fixed position and can set its own geographic latitude value. For time, a timing module is established to output the time information required by the apparent sun motion tracking algorithm by multi-level frequency division of the clock.

3.2 Sunrise and sunset time calculation module

This module calculates the sunrise and sunset time of the sun every day, thereby ensuring that the solar tracking system operates normally within the solar exposure time range, and is in a dormant state during the non-irradiation time. The sunrise and sunset time of the sun is the time when the solar altitude angle is zero. The sunrise and sunset time formula (10) of the sun is derived from the altitude angle calculation formula (8) and the hour angle calculation formula (9).

The simulation waveform of the solar sunrise and sunset time calculation module is shown in Figure 5. The output is in 10 b Q4 format. dn is the time sequence number, where richu represents the sunrise time and riluo represents the sunset time. The output results of the solar sunrise and sunset module are shown in Table 1. dn is the date randomly selected for simulation. The solar sunrise and sunset time is only related to dn. The actual representative value of the 10 b Q4 format time output by the module is calculated and compared with the theoretical calculated value. The output time error is very small after calculation. The module can accurately calculate the sunrise and sunset time.

[page]

3.3 Solar altitude angle azimuth calculation module

When the time is normal illumination time, the solar tracking system will enter the solar altitude angle azimuth for calculation every 5 minutes. The timing module outputs the time information required by the solar altitude angle azimuth module, and then calculates the declination angle and hour angle in the equatorial coordinate system, and finally calculates the altitude angle and azimuth values ​​in the altitude angle azimuth coordinate system, and outputs the altitude angle and azimuth values ​​as shown in Figure 6, and the simulation waveform is shown in Figure 7. The altitude angle and azimuth outputs are both in 10 b Q7 format.

The most important thing in the apparent solar motion tracking algorithm is to accurately calculate the current solar altitude and azimuth relative to the earth. The calculation accuracy affects the energy receiving efficiency of the solar energy device. Table 2 shows the solar altitude and azimuth values ​​output at different times when dn=100. They are all in 10 b Q7 format. The actual representative values ​​are calculated and compared with the theoretical values. The error is very small, indicating that the module can accurately calculate the solar altitude and azimuth.

3.4 Stepper Motor Pulse Control Module

The stepper motor driver chip selected is 3955SB. This design selects the 1/8 step operation mode of the stepper motor, that is, each step can reach 0.225°. The altitude and azimuth angles output by the altitude and azimuth angle calculation module of the sun and the altitude and azimuth angle values ​​output last time determine the angles of rotation required for altitude and azimuth, and then determine the number of pulses of the altitude and azimuth stepper motors. According to the step sequence of the stepper motor, a 16-bit digital signal is output to control the rotation angle and rotation direction of the two two-phase stepper motors in altitude and azimuth. From the experimental results, it can be seen that the module can output according to the number of pulses of the input motor rotation, and can maintain a stable state after the motor completes the rotation requirement. When there is a new rotation input, it can output in the original state.

4 Conclusion

The solar tracking system designed in this paper is suitable for solar water heaters, solar cookers, solar cells and other devices that need to track the sun. The tracking control system adopts the apparent sun motion tracking method, and accurately calculates the altitude and azimuth of the sun through the altitude angle and azimuth calculation module based on FPGA. Using the precise rotation stepper motor drive, the sun can be accurately tracked, effectively improving the solar energy absorption efficiency of the solar tracking device.

Keywords:FPGA Reference address:Design and implementation of a solar tracker based on FPGA

Previous article:Realization of Digital Pulse Compression System Based on FPGA
Next article:Application of TMS320C67x DSP Library in Program Development

Recommended ReadingLatest update time:2024-11-16 18:03

FPGA-based low-power automotive design based on non-volatile technology
Overview Programmable logic devices have been increasingly used in automotive electronics applications to replace ASIC and ASSP devices. Actel FPGAs are based on non-volatile technology (flash and antifuse) and are not susceptible to neutron-induced firmware errors, making them the only FPGA technology suitable
[Embedded]
FPGA-based low-power automotive design based on non-volatile technology
Realizing fixed-ratio image zooming based on FPGA
Abstract: Based on FPGA hardware, the image scaling with fixed magnification is realized. The 2D convolution operation is decomposed into 2 1D convolution operations. The input original image pixels are first convolved in the row direction and then in the column direction to obtain the output image pixels. The image
[Embedded]
Realizing fixed-ratio image zooming based on FPGA
FPGA Power System Management
Introduction   The origins of field programmable gate arrays (FPGAs) can be traced back to the 1980s, evolving from programmable logic devices (PLDs). Since then, FPGA resources, speed, and efficiency have improved rapidly, making FPGAs the solution of choice for a wide range of computing and processing applications,
[Embedded]
FPGA Power System Management
Smartly Expand Microprocessor Connectivity Using Low-Cost FPGAs
Challenges of Microprocessor Interconnection Microprocessors are an indispensable component in modern electronic system design. However, as systems become more complex, with more extensive functions and user interfaces, system architectures using mid-range microprocessors face three key challenges when connecting one
[Power Management]
Smartly Expand Microprocessor Connectivity Using Low-Cost FPGAs
Design of Partial Response CPM Signal Demodulator Based on FPGA
In many application fields of existing civil and military communication systems, in order to achieve high-speed data transmission and improve spectrum utilization, it is necessary to adopt coding and modulation technologies with higher bandwidth efficiency. Among the many modulation methods, continuous phase modulation
[Embedded]
Design of Partial Response CPM Signal Demodulator Based on FPGA
A solution to implement DSP on FPGA based on C language
Hardware designers have begun to adopt FPGA technology in high-performance DSP designs because it can provide 10-100 times faster computing than PC-based or microcontroller-based solutions. Previously, it was difficult for software developers who were not familiar with hardware design to take advantage of FPGAs, but n
[Embedded]
A solution to implement DSP on FPGA based on C language
Design of SPWM Frequency Conversion System Using FPGA
Since pulse width modulation technology achieves the effect of voltage and frequency conversion of output voltage by adjusting the frequency and duty cycle of output pulses, it has been increasingly widely used in many fields such as motor speed regulation and inverters. As an effective method of geophysical de
[Analog Electronics]
Using CPLD and Flash to implement FPGA configuration
Electronic Design Automation (EDA) refers to the process of electronic product automation design that uses computers as working platforms, EDA software as development environment, hardware description language as design language, programmable logic devices (PLD) as experimental carriers (including CPLD, FPGA, EPLD,
[Embedded]
Using CPLD and Flash to implement FPGA configuration
Latest Embedded Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号