Sensorless dual axis solar tracker using improved sun position algorithm

Received Dec 4, 2019 Revised Mar 17, 2020 Accepted Apr 8, 2020 This paper presents development of a prototype sensorless dual axis solar tracker for maximum extraction of solar energy. To prove the concept and evaluate the proposed algorithm, a low cost widely availabe materials were used which was programmed based on Arduino microcontroller. The porposed algorithm works based on two search methods namely the global search that approximates the best point location in a region, and local search that further determines the actual sun’s position. Experimental results showed that the proposed algorithm gives better performance compared to the existing sun position algorithm (SPA) based method as well as the fixed panel system. In terms of total output power, the proposed algorithm gives 17.96% more efficient than the fixed system and 6.38% better than the SPA-based system. Furthermore, the percentage error of the experimental measured angle to the actual sun azimuth angle was relatively minimal (less than 3%) during clear day operation. The system was proven to be effective in tracking the sun for improved energy production of solar PV panels and the proposed algorithm also can be used for designing the tracker with larger size of solar PV systems.


INTRODUCTION
Solar photovoltaic (PV) system is highly potential in Malaysia due to the abundant of sunshine with average irradiance per year of 1643 kWh/m 2 [1,2]. However, most solar PV installation in this country now are of the fixed type system. For such installations, though it still gives a relatively good output, however having it fixed at an angle will affect the yearly output due to the movement of sun. In general, effective sun tracker can maximize the energy extraction in which the output and performance can be improved up to 40% as compared to the fixed panel [3]. Although many researchers reported that solar tracker can improve the efficiency, however few other factors such as cost, space and mechanical aspects need to be considered when applying such technology [4]. Solar tracker can be categorized into few types namely the active tracking, passive tracking, semi passive tracking, manual tracking and chronological tracking. The solar trackr either can work in closed loop tracking or open loop tracking [5][6][7]. The most common type of solar tracker is either a single axis or double axes. Generally, the tracker can be moved horizontally, vertically or both [8]. In previous researches, there are various types of solar tracker developed by different researchers to prove the efficiency of solar tracker either in closed loop or open loop. Many of them used light dependent resistor (LDR) as sensing device for the motor to rotate the solar panel to the respective axis [9]. The tracker rotates to any direction based on the data feedback from the LDRs. Basically, the system compares LDR values in which the error is fed to the motor controller. The motor rotates to the desired direction accordingly, then stop if the reading of LDRs show the same value [10][11][12]. To further improve the data taken from the LDRs, some authors implement the fuzzy logic controller to better control the movement of the solar panel [8]. In such approach, the control law is described by a knowledge-base and a fuzzy logic inference mechanism [13,14]. Recent researches also introduce the sensorless approach. It is simple as no sensors are needed for feedback control of motors.
The sensorless system completely depends on calculation of sun position coordinates, such as the sun position algorithm (SPA) [15,16]. SPA is used to calculate the solar azimuth and zenith angle for which most of this system works on dual axis tracker. One motor moving horizontal axis which is depend on zenith angle and another is vertical axis which is based on the azimuth angle [15][16][17]. The problem with existing SPA based method is the occurance of misalignment. For example, the calculation of the sun location is done using SPA, however solar tracker direction should be known first to prevent misalignment. In other words, if the solar tracker is misaligned from 0° North, it will affect the performance of the solar tracker due to that misalignment. To overcome such misalignment issue, an improved algorithm is proposed namely the global and local search to track the misalignment of the solar tracker. The experimental sun position based on the proposed algorithm is used to identify the misalignment from the SPA and fix the error so that panel can be re-aligned to 0° North.

RESEARCH METHOD
This research introduces an improved method for the existing SPA-based system [18][19][20]. The proposed tracker control scheme has been implemented in a developed prototype of sensorless dual axis solar tracker.

System hardware design of proposed prototype
The control circuit of the prototype is based on Arduino microcontroller and its compatible components. Figure 1 The Arduino board is equipped with ATmega328P microcontroller with 14 digital pins, 6 analog pins and other function pins. The microcontroller can be programmed using Arduino IDE available from Arduino.cc website [21]. The stepper motor chosen to operate the solar panel is of 28BYJ-48 type with the corresponding driver shown in Figure 1(b). The proposed prototype system has two motors that are used to control the zenith axis and azimuth axis, respectively. The stepper motor move in discrete steps, thus accurate and suitable for the proposed system. For the motor driver, it is based on ULN2003A stepper motor driver which is commonly used to drive the 28VYJ-48 type stepper motor. ULN2003A is an array of seven NPN Darlington transistors capable of 500mA and 50V output, it can achieve a very high current and voltage output. To make sure the proposed prototype is cost effective, this driver usually comes in package with 28VYJ-48 motor as shown in Figure 1(b) and they are easily be obtained. The measurement of output is based on INA219 current sensor as shown in Figure 1(c). This sensor is capable of measuring both the DC voltage and current measured via I 2 C serial protocol with 1% precision [22]. It only needs an input range between 3 -5 V to power up and can measure up to 3.2 A current and 26 V targeted voltage. A precision amplifier measures the voltage across the 0.1 Ω, 1% resistor. Since the amplifier maximum input difference is ±320 mV, this means it can measure up to ±3.2A. INA219 has internal programmable gain set at the minimum division of 8 and the maximum current of ±400 mA and the resolution is 0.1 mA. This sensor is cheap and easy to program since the library can be downloaded from the Arduino library. The final design structure of proposed prototype solar tracker is presented in Figure 2.

Improved sun position algorithm for motor control
The proposed system is based on the solar panel itself that works as a sensor together with the INA219 current sensor. Two algorithms are proposed that is firstly, the algorithm which utilizes global search and secondly the algorithm that employs descrete steps search. The concept of global search comes from the compass, there are four regions from the compass which is East, South, West and North. The best spot for solar energy capture must be laid in one of these regions and the global search algorithm is used to search for the best spot approximately. Here, the coordinate points of angles are converted to steps for easier search by the stepper motor.
As shown in Figure 3, global search algoritm firstly set the startValue and nextValue variables. The startValue is initially assigned as zero, whereas nextValue is set as 100 steps. The program will generate random number from these range and the number will be sent to the motor to move to that position. Then, current measurement algorithm will run. The measured current from INA219 sensor will be saved to a variable called currAmp. Here, if currAmp is bigger than highAmp, the highAmp will be replaced by currAmp and the value of the previous highAmp will be stored inside a variable called refAmp. On the other hand, if currAmp is less than highAmp, the highAmp and refAmp will remain unchaged. The position is stored to positionBest according to the position where highAmp is stored. If the highAmp is replaced by the currAmp, the position will be overwritten, then the previous positionBest will be stored to the positionLast. After the current measurement is completed, the next startValue and nextValue will be increased based on the previous nextValue. For example, the first startValue is 0 and nextValue is 100, after the current measurement is done, the new startValue will be start from 101 and nextValue will be end at 200. Simply in this case, the startValue increases by 1 from the previous nextValue and the present nextValue is increased by 100 from the previous nextValue. Another two variables, i.e finalValue and endPoint is depending on the user input. If the user wanted to do search in only 90 degrees which is 1024 steps, the endPoint for the search will be 1024 steps and the finalValue will stop at 1000. If the nextValue reached 1000, the nextValue will be replaced to 1024 instead of 1000 because it will be easier for the stepper motor to operate.
After, the global search algorithm completed the run process, the discrete step search algorithm will be executed to find the real sun position. Here, the solar tracker system turns back to the positionLast then started the discrete step search algorithm. In this procedure, the bright spot is assumed to be laid between the positionLast and positionBest, meaning that the spot between the highest and the second highest. Even though, the bright spot is not really laid in positionBest, the algorithm will keep searching until it reached the bright spot which is the real sun position. In this discrete step algorithm, the stepper motor is moved with only 2 steps which is 0.17578 degree per time until the threshold is met.

Evalutation of the proposed improved sun position algorithm
The system starts with global search to estimate the best spot in the predetermined area. It is based on the concept of compass to randomly determine the best spot for which the maximum current can be converted by the solar panel from the sun radiation. For example, if the spot or direction is divided into four regions of East, South, West and North, there exists the best point within the regions that can produce highest current from the solar panel. The global search runs based on this concept to approximate the best coordinate point first. Once the best spot is roughly estimated, the program continues with the local search. In the local search, the real best point in the region is determined so that the azimuth axis motor can operate and locate the solar panel exactly to the sun's direction. The movement of solar tracker axes are based on zenith and azimuth angle, respectively. The prediction of zenith angle is straightforward as it changes about 15º per hour [23]. Thus, in this case, SPA is used to calculate the zenith angle. However, for azimuth angle, as it is varied throughout the year, the search for the azimuth angle was based on the new algorithm proposed. To evaluate the performance of the search algorithm proposed in this study, a percentage error of the actual solar azimuth angle and experimental measured solar azimuth angle are calculated using the formula as (1).
Where V A is the experimental measured value of the solar azimuth angle, and V E is the exact value (actual calculated) of the solar azimuth. Table 1 shows the results of calculation and measurement of azimuth angles over one day of experiment. From the table it clearly shows that the algorithm can accurately approximate the azimuth angles during the day with error of less than 3%. Except during the fourth hour of measurement (at 12:50 PM) which shows a significant deviation of about 1210%. This occurance is due to a sudden change in weather from sunny to cloudy at around 12:50 PM. The approximation of this angle depends strongly on weather condition as the algorithm uses the current measurement from the solar panel.

Performance evaluation
To evaluate the performance of the proposed improved sun position algorithm, a comparison has been done for three experimental setups of fixed type, SPA and proposed algorithm. Those three different experimental setups were carried out on 4 th July 2019 at the housing area in Menglembu Ipoh, Perak. On the day of experiment, it was a bright day, no shading on the solar panel and the solar panel was exposed to full sunlight. The results recorded during the experiment are as shown in Table 2, Table 3 and  Table 4, respectively. For fixed panel and SPA driven tracker, they were initially place at random direction during testing. Both panels were not fixed facing true North which is zero degree but aligned to the same direction which is 303 NW. However, for the proposed algorithm driven solar tracker, it was set to different direction as shown in Table 3 and the purpose of doing this is to determine the power loss of the azimuth angle misalignment. The misalignment refers to the angle of incident of sun rays over the solar panel's surface, where best position should be 0º misalingment. Comparing the total power output of Tables 2, Table 3 and Table 4, clearly the overall power output of the proposed algorithm driven solar tracker produces the best results compared to fixed panel and SPA driven algorithm solar panel, respectively. However, due to the rapid change in environment during 12.50 PM, the proposed algorithm gave lower power output which is 2422 mW as compared to fixed panel (2707 mW) and the SPA driven panel (2953 mW) results. The sudden change of weather also affecting the experiment angle which gave 27.24º compared to the actual azimuth angle which is 2.08º. Thus, turns a big change in the percentage error of 1210%. As mentioned in [24], the fluctuation in solar intensity due to the moving cloud is unpredictable and to ensure the lowest percentage error, the search algorithm should be made in shortest time possible to tackle the problem. In this experiment, some delays were included in the algorithm to allocate time for sampling the data and as a concequence affects the overall results taken. Figure 4 shows a summary of graph of the experimental measured solar azimuth angle and the real solar azimuth angle, respectively. It clearly shows that the proposed algorithm can estimate the actual azimuth angle correctly provided that no disturbance in terms of abrupt weather changes occurs during the experiement. Here, to further increase the accuracy of the measured angle, the threshold value should be set accurately due to the difference of currAmp and highAmp sometimes is relatively small. Other than that, the fluctuation of current sensor will also affect the output. One way to overcome the problem is to take the average value of currents or allowing a small delay for sensor to process the data. Figure 5 shows the overall power output between fixed panel, SPA driven solar tracker and proposed algorithm driven solar tracker.  Figure 5, clearly can be observed that the proposed algorithm driven solar tracker gave the highest power output than the other two because most of the time the solar panel is facing approximately to the sun direction. In contrast, the misalignment of the fixed panel and SPA driven solar tracker were affecting their actual performance. For the proposed method, the smaller the misalignment will give better results. The misalignment can be attributed to the direct power loss, which is according to [25], about 8º misalignment to the incidence angle, will give about less than 1% power loss.

CONCLUSION
This paper has presented the concept of dual axis sensorless sun tracker for a maximum capture of solar energy. The proposed global search and local search algorithm for the microcontroller has been found effective with the comparison of the experimental results show the efficiency of 17.96% better than the fixed type system. Comparing with the results of previously developed SPA-based system also shows improvement of about 6.38%. The misalignment of the azimuth angles search results was also minimal which is less than 3% during clear day of operation. Furthermore, the prototype system has been built based on low cost materials that can be obtained form most e-commerce sites. The proposed method is scalable to full size system and use the same algorithm for the microcontroller.