Abstract

Solar Charge Controller (SCC) with Maximum Power Point Tracking (MPPT) is needed to extract maximum energy from photovoltaic. However, a SCC device with MPPT technology feature is expensive on the market due to the requirements for a high-power system. On the other hand, in lower power applications such as IoT sensors, solar street lights, and wireless communication nodes, these types of controllers can be produced at a lower cost. In this study, the design of a low-cost SCC was conducted using the MPPT technology for low-power solar applications. The SCC is designed based on the Arduino microcontroller, which has the role of controlling the circuit and producing PWM signals to regulate the DC-DC converter. Several tests were conducted to validate the efficiency of the MPPT algorithm. The SCC device succeeded in increasing efficiency up to 52% on the low irradiance level.

1. Introduction

Nowadays, renewable energy is very popular, and it is growing very rapidly in various applications, such as microgrids [1], nanogrids, smart converter [2], and Internet of Things (IoT) devices [3]. This growth of solar module use is due to the reduction of module cost, because of the manufacturing process advancing and the increased demand for green energy [4]. Although the solar module is starting to be widely used, in its utilization, there are a number of challenges and limitations. One of them is the power properties of the solar module relating to the load that follows the characteristics of the module [5]. As a solution to this problem, a Solar Charge Controller (SCC) with Maximum Power Point Tracking (MPPT) is needed to extract maximum energy from the solar module [6]. The MPPT not only increase the system’s output power but also give the system a longer lifespan [7].

MPPT algorithms are designed so that the system can adapt to weather changes and achieve optimal power. Therefore, several algorithms can be utilized, such as open-circuit voltage, short-circuit current, incremental conductance, and P&O (Perturb and Observation) [8]. These algorithms are integrated into the power electronic components, where their duty cycle is controlled to deliver the maximum available power to the load [9, 10]. The MPPT applied a buck converter and Pulse Width Modulation (PWM) signal to keep the load from the module and the load balanced, so the module’s output power reaches the maximum [11].

Currently, SCC device with MPPT on the market is expensive due to the requirements for a high-power system. However, in lower power applications such as IoT sensors, solar street lights, and wireless communication nodes, these types of controllers can be produced at a lower cost. In this study, low-cost SCC with MPPT technology for low-power solar application was developed. The controller used a microcontroller board from Arduino Nano to monitor the module and battery and generate the PWM signal [12]. Arduino Nanos use an ATmega328p chip with simple components, so the price is relatively cheap [13]. The SCC was implemented in a lower power solar module with the lithium-ion batteries as a load.

2. Photovoltaic Characteristics

The photovoltaic is a semiconductor that produces electricity by converting energy from sun irradiance to electricity [5]. Photovoltaic performance is dependent on the current weather, insolation, temperature, and other surroundings. The common basic external influences of photovoltaic power performance are insolation or irradiance and temperature of the device [14]. Figures 1(a) and 1(b) show the illustration of the power-voltage characteristic curve and current-voltage characteristic curve generated by the photovoltaic, along with the changes in irradiance and temperature.

Figure 1(a) shows that the power-voltage curve generated will be shifted to the right with decreasing temperature, causing the module to generate a higher voltage, while the increase of irradiance affects both the power generated and voltage generated, causing these values to increase [14]. Figure 1(b) shows that the current-voltage curve generated will shift to the right with decreasing temperature, the same as in Figure 1(a). The increase of irradiance affects both the current generated and the maximum voltage generated, causing that these values will also increase [14]. These ambient parameters, such as temperature and insolation, are affected by the surrounding conditions, such as the geographical aspect, weather, and altitude.

Following these characteristics, the photovoltaic needs to operate at its maximum voltage value to avoid power loss. The maximum voltage value is the voltage when the photovoltaic produces its maximum power point and is marked by the red dot in Figure 1. Because of this condition, using a load with an impedance that does not match the impedance of photovoltaic will cause power loss. Therefore, to optimize the photovoltaic power, the system can harness MPPT technology.

3. MPPT Technology

Maximum Power Point Tracking or MPPT is a technology that can control a power source from photovoltaic, such as a solar module, to generate its maximum power [11]. MPPT uses a DC-DC converter to control the solar module for charging the lithium-ion battery, as shown in Figure 2. This DC-DC converter then needs to operate using a certain algorithm, so the power of the solar module reaches the maximum point. Control of the DC-DC converter can be undertaken by controlling the PWM signal that drives the DC-DC converter, following various tracking algorithms, such as Perturb and Observation (P&O). For MPPT to conduct the tracking algorithm, MPPT needs a controller device or circuit that can monitor the solar module conditions, such as the voltage, current, and temperature. The controller for MPPT should have the capability to sense at least one data measurement of the solar module conditions, then control or produce the duty cycle needed by the PWM signal to drive the DC-DC converter.

3.1. DC-DC Converter

A DC-DC converter consists of several types of circuit, such as buck converter, boost converter, and cuk converter. A buck converter is a circuit that is used to reduce the input voltage of the buck converter circuit so that it is lower than the input at the output side [15]. Figure 3 shows a basic asynchronous buck converter circuit. A buck converter used an inductor connected series between the input and the output; a switching element connected series between the input and inductor, an output capacitor; and a diode connected parallel to the circuit ground between the switch and the inductor, an input capacitor.

For the buck converter to operate, the input has to be connected and opened periodically [6]. Thus, the buck converter has two steps of operation. The first step is the closed circuit, and the next is the opened circuit step. Figure 4(a) shows the short-circuit step when the switch element is closed; this condition causes the input to power the load and charge the inductor and output capacitor [15]. After the inductor and the output capacitor are charged, the second step will occur. Figure 4(b) shows the second step, when the switch is opened. In the second step, the charged inductor powers the load in this step [15]. These two steps will be repeated as long as the buck converter is operating. To implement this process, the circuit uses a transistor component as a switching element controlled by a PWM signal. By changing the duty cycle of the PWM signal, the duration time of the closed circuit step in the period will change, and thus, the solar module voltage will change correspondingly to the duty cycle value of the PWM signal.

3.2. Perturb and Observation Algorithm

The Perturb and Observation (P&O) algorithm is a tracking technique algorithm used in MPPT to achieve maximum power by perturbing the power source and observing the impact [11]. There are various MPPT algorithms, such as fuzzy logic [16] and particle swarm optimization [17]. However, P&O is the most used technique in an MPPT system because it has a simple algorithm and does not require a high capability controller device [11]. The first step of the P&O algorithm is measuring the voltage and current of the solar module, then calculating the current value and the difference between the current voltage and power against voltage and power measured from the previous loop. The controller then decides, from the difference value, whether to increase or decrease the voltage of the solar module by changing the duty cycle of the PWM signal so that the power of the solar module will increase.

3.3. Lithium-Ion Battery Charging Technique

The lithium-ion battery (LIB) is the most commonly used battery in electrical products and devices [18]. They have been used in almost all portable devices in the fields of communication, power, and data processing. Even though LIB is known for their durability, they have a procedure for charging and discharging. LIB are known to explode if the usage does not correspond to their profile [18]. Constant-current and constant-voltage (CC-CV) is one of the charging techniques that can be implemented on an LIB. The purpose of CC-CV is to maximize the charging and the lifetime of the battery [19].

Figure 5 shows the charging procedure of CC-CV of a single LIB. CC-CV consists of four stages of charging [19]. The first stage is trickle and happens when the battery voltage is below 3 V; in this condition, the charging current must be below 0.1 C. C is the labeled capacity of the battery used. When the battery voltage is above 3 V and below 4.2 V, the battery enters the second stage of charging, the constant current. The constant current stage is charging the battery from 0.2 C to 1 C in a constant or semiconstant charging current. The third stage is the constant voltage stage, where the battery voltage is above 4.2 V; then, the current must slowly reduce so that the battery voltage is below or equal to 4.2 V. The last stage, end of charge, occurs when the charging current falls below 0.02 C, indicating that the charging is finished and the current can be cut.

4. Design of SCC

Figure 6 shows the block diagram of the designed SCC. The designed SCC utilized a buck converter circuit to control the solar module power. The SCC controller used a microcontroller Arduino Nano to monitor the solar module power and Li-ion battery, using two INA219 sensors. An INA219 is a power sensor IC manufactured by Texas Instrument [20]. The battery used was two cells connected in parallel; therefore, the battery was treated as a single cell with 4200 mAh of total capacity. The display OLED was used by the Arduino Nano to display the power measured on both the solar module and the battery. The Arduino Nano was powered from the battery using a step-up 5 V circuit due to the single-cell Li-ion battery voltage being lower than the Arduino Nano operating voltage.

Figure 7 shows the electric schematic of the designed SCC device. S1 and S2 are sensor INA219 for the solar module and single-cell Li-ion battery power sensor, respectively. J1 is the connector to the solar module. The step-up circuit used MT3608 IC to produce 5 V [21]. The feedback resistor of R2 and R3 had to have a certain value of resistance to give the appropriate voltage drop value. R2 and R3 resistance values should be high enough that the current is small enough; then, the power loss will be reduced. The buck converter followed the basic buck converter circuit, but the switching element used a series of resistor, NPN transistor, and an MOSFET, instead of just using a single MOSFET. The switching element components are marked by Q1, Q2, and R1.

4.1. Buck Converter and Solar Module

The buck converter circuit was designed so that the circuit operated on Continuous Current Mode (CCM) on every tested PWM frequency. CCM is an operating condition under which the current in the inductor (L1) never reaches zero while operating. The tested frequencies were 23 kHz, 62.5 kHz, 92 kHz, and 186 kHz. The inductor value needs to correspond to the circuit parameter so that the CCM can be achieved. and , respectively, from Equations (1) and (2), were used to determine the minimal value of the inductance needed; the value must exceed both and [15, 22, 23]. To find the values of and , we need to know the circuit parameters, such as the maximum and minimum voltage of the input and output of the circuit, minimum frequency of the PWM signal, maximum ripple current, and minimum current. The maximum current can be obtained by dividing the maximum power of the solar module used () by the minimum output voltage () following the solar module specification shown in Table 1 and the load voltage, respectively. The solar module used in this experiment was SUNLITE, with a maximum peak power () of 10 W. Thus, the maximum current was obtained by a value of 3.3 A. The minimum frequency of the PWM signal () was 23 kHz. Following the Texas instrument guide, the maximum ripple should be 20% of the maximum current; thus, the maximum ripple () was obtained by a value of 660 mA [22]. The minimum current of the buck converter follows the single-cell Li-ion battery minimum charging current or 2% of the battery capacity [19]. The capacity of the battery used was 4200 mA. By replacing the variables in the circuit parameters, we obtained the largest value of both inductance values by 836 μH. Thus, the inductance chosen for L1 was 1000 μH. This L1 value was chosen because it exceeds and and to anticipate additional ripple current caused by Equivalent Resistant Series (ESR) by the inductor:

C2 is the output capacitor that used to reduce the voltage ripple on the output side [22]. The ripple occurred because of the fundamental operation of the buck converter that opened and closed the circuit periodically, causing the voltage to ripple. The maximum ripple () was 5 mV on the load or output side; to achieve this ripple, a capacitor was applied on the load side, labelled as C2. Equation (3) was used to obtain the minimum value of the capacitor needed [22, 23]. By replacing the maximum current (), minimum frequency (Fsmin), and maximum voltage (), we obtained the minimum capacitance () value of 273 μF. The value of C2 capacitance was 470 μF. The C2 value was chosen because the value exceeds the minimum and to anticipate the ESR. A lower capacitance value was used as long as the value is exceeded and additional ripple caused by the ESR is still below the circuit standard or design. The capacitor specifications must be considered, such as the maximum operating voltage, so that the solar module voltage never exceeds the capability of the capacitor operation voltage:

The switching element component utilized a series of resistors (R1), NPN transistor (Q2), and power MOSFET (Q1). R1 and Q2 were used to amplify the PWM signal voltage. The amplified PWM was generated as a voltage drop between R1 and Q1. The voltage drop was applied to drive the gate of the MOSFET; therefore, the MOSFET’s capability to conduct current was maximized [24, 25]. 10 kΩ was applied for R1, so the current flow through R1 was minimized and the power loss reduced; R1 may be applied using a lower or higher value as long as the transistor off state condition can still produce a high enough voltage to drive the MOSFET; thus, the MOSFET effective gate voltage should be below the amplified PWM signal highest voltage. The NPN transistor used was 2 N because of its ability to process 250 kHz signal, matched with the circuit operation [26]. The power MOSFET for Q1 was AOD444 because its switching time is faster than a common power MOSFET, such as the IRF series, and it has the same capability for power as the IRF series.

4.2. MPPT Algorithm

The designed MPPT algorithm was developed from basic P&O value tracking with adaptations and limitations for Arduino implementation. Figure 8 shows the flowchart of the designed MPPT algorithm. To find the maximum power point, first, the Arduino of the device must measure the solar module current voltage and current, then calculate the difference between the present power against the previous power () and the present voltage against the previous voltage (). The Arduino then decides from the difference calculation whether the present power generated is on the left side or the right side of the present condition of the maximum power point (MPP). If both the and values are below zero, the current power is on the left side of the MPP; therefore, the voltage of the solar module must be increased and vice versa. Generating a higher solar module voltage can be achieved by increasing the duty cycle value. Because the Arduino cannot limit its own duty cycle value by itself, a duty cycle tracking limit is implemented. When the device decides to increase the duty cycle value, the Arduino has to decide whether the current value is already 100%. If the condition is met, the duty cycle needs to be reduced instead of increasing the value and vice versa if the current duty cycle value is already 0%.

4.3. Charging Controller Algorithm

The charging controller algorithm utilized basic constant-current (CC) and constant-voltage (CV) for Li-ion battery charging. Figure 9 shows the designed algorithm of the implemented CC-CV, with the inclusion of the MPPT algorithm and the utilized Li-ion battery specification. Before initiating any charging current, the device must cut off the current by setting the duty cycle value () by 100%. Then, the Arduino measures the battery characteristic and decides the battery charging step. For increasing in Arduino, 1.16% was applied rather than 1% due to limitation on high-frequency PWM in Arduino [27].

The first charging step that must be evaluated is trickle charging; if the battery is below 3 V and the current is, respectively, below 0.1 C or 420 mA, corresponding to the design, the charging must be maintained at a maximum of 420 mA. If the battery then rises above 3 V while the current is still below 420 mA, the battery is ready to enter the second step. The second step is CC that charges when the battery is above 3 V and below 4.2 V. The charging current can be maximized to 1 C or 4200 mA, corresponding to the design, and the suggested current should be constant or semiconstant. When the battery reaches 4.2 V, the battery has entered the third stage, CV. The CV stage functions to maintain the battery voltage at 4.2 V by reducing the current progressively. The last step is the end of charge; when the charging current reaches 0.02 C or 84 mA, cutting off the charging current will be performed, and thus, the battery will finish charging.

5. Results and Discussion

5.1. Solar Module Power Test

To vary the irradiance of the solar module, a Phillip 500 W Halogen Lamp and variable transformer were used. The test was conducted by connecting 5 kΩ and changing the value by turning the knob of the potentiometer, while the lighting was applied to the solar module using the halogen lamp. Figure 10 shows the curve and curve generated by using three different irradiance values: 400 W/m2, 200 W/m2, and 80 W/m2. These results were used to validate the device performance by referring to the solar module power test result.

5.2. Buck Converter MULTISIM Simulation Results

To ascertain the ability of the designed buck converter to control the power of the solar module, circuit simulation was performed on MULTISIM. MULTISIM is an electric circuit simulation program using SPICE [28]. The simulation applied the same buck converter circuit as shown in Figure 7, using corresponding components such as C1, C2, R1, Q1, Q2, D1, L1, and BAT1. Because the AOD444 MOSFET model is not available in MULTISIM, IRF540 was used as a substitution for MOSFET AOD444, as it has the same N-channel type and the fastest switching of the IRF series, with suitable operation specifications available in MULTISIM. To simulate the solar module in the simulation, the current limited source with the voltage of maximum power voltage from the module was applied. The frequencies applied were 23 kHz, 62.5 kHz, 92 kHz, and 186 kHz, corresponding to Arduino’s ability to produce a PWM signal with 1.16% as the largest duty cycle step [27].

Figure 11(a) depicts the changes of the solar module voltage or input voltage along with the duty cycle value. It shows that the higher the duty cycle value, the greater the increase of the solar module voltage. These changes show that the buck converter can manipulate the solar module voltage and show that the voltage and duty cycle are positively correlated, indicating that the circuit configuration and especially the switching elements are working properly. Figure 11(b) shows the changes of the solar module current or input current against the duty cycle value; the current will rise, then at some point will start reducing and reach cut-off. This behavior is the same for the solar module current-voltage characteristics; thus, the buck converter can be used on an MPPT device. Although there is a match between the behavior of the data and the design, the plots in Figures 11(a) and 11(b) experienced shifting with the increase of frequency. In Figures 11(a) and 11(b), a higher frequency makes the plots shift more to the left. This behavior occurred due to the delay of the switching capability of the MOSFET [23].

Figure 12(a) shows the Vds and PWM voltage signals on 23 kHz operation; the Vds signal shows a delay against the PWM signal changes, but this is not significant. Figure 12(b) shows the Vds and PWM signals on 186 kHz operation, demonstrating a significant delay between the Vds and PWM voltage signal. This indicates that the MOSFET is operating on a constant or semiconstant delay; thus, the increase of the frequency makes the difference more significant.

5.3. Buck Converter Circuit Test

The designed buck converter circuit was tested using 400 W/m2 irradiance. Figure 13 shows the results of the buck converter test. Figure 13(a) depicts the changes of the solar module voltage or input voltage along with the duty cycle value, and Figure 13(b) depicts the changes of the solar module current or input current along with the duty cycle value. Overall, the behavior matched the MULTISIM simulation results, but the plot experienced more shifting along with the increase of frequency. This was assumed to be because of the MOSFET delay, inductive load, and perfect calculated conditions on the MULTISIM causing more shifting instead of the same shifting or less. Aside from this phenomenon, these results show that the buck converter circuit can be used for an SCC device. The most efficient frequency was 23 kHz from among the other tested frequencies, due to the 23 kHz duty cycle range of operation being the widest and having the most insignificant switching delay against the operating PWM frequency; thus, the device used a 23 kHz PWM signal.

5.4. MPPT Tracking Test

To validate the MPPT algorithm in the SCC device, two tests were conducted on the prototype of SCC device. The first test was conducted by applying three levels of irradiances, 400 W/m2, 200 W/m2, and 80 W/m2, continuously to vary the curve that would be tracked by the device. Figure 14 shows the MPPT tracking results, with the curve shown in Figure 10 as the tracking reference. The test was conducted by applying the irradiance gradually from 80 W/m2, 200 W/m2, and 400 W/m2 as the device managed to achieve the maximum power. The results show that the MPPT was correct for tracking from the open voltage condition to the maximum power point. As the irradiance value increased, tracking moved to the new maximum power point. Because of these behaviors, it can be concluded that the designed MPPT is appropriate to the characteristic curve and MPPT purpose.

The second MPPT test was to observe the tracking speed, as shown in Table 2. Different irradiance and duty cycle tracking starting points were varied separately instead of continuously, as in the first test. Table 2 shows the time as the device started to track, until the maximum power point was achieved. The fastest tracking time was achieved with 60% duty cycle starting point in the three different irradiance values. Therefore, we utilized 60% as the duty cycle starting point in this MPPT.

5.5. Charging Controller Test

To test the charging controller capability of the SCC device, charging a battery using the device was conducted. The battery charging finishes in six hours, and the results are shown in Figure 15. As the simulation of the solar module, ADITEG APS-3005 was used to generate the identical power specification of maximum power that can be generated by the solar module.

Figure 15 shows that all four stages of CC-CV were implemented by the device. The trickle charge was completed and is shown in Figure 15(a). For the first charging period, the current was below 420 mA and the voltage was below 3 V, as in Figure 15(b). Then, the current rose and varied from 1400 to 1600 mA, and the battery voltage was below 4.2 V and above 3 V, indicating that the CC charging was successfully performed. When the battery voltage rose to 4.2 V, the current started to reduce gradually, as shown on the CV charge. The last stage is end of charge or cut-off, indicated by the charging current reaching zero and the current, before reaching zero, already being low, indicating that the battery finished its charging. Although on the last stage the battery voltage was 4.18 V, meaning that charging could actually still be performed, it was assumed that the device was charging the battery with a low current again; thus, the battery would be expected to rise again to 4.2 V. Therefore, the cut-off was performed; then, the battery voltage decreased a little but was higher than before, and the cycle continued until the battery reached 4.2 V and did not decrease again.

5.6. Efficiency Test

The efficiency test was conducted using a solar module powered by a halogen lamp. The three irradiance values of 80 W/m2, 200 W/m2, and 400 W/m2 were applied. The tested device was with the MPPT and without the MPPT technology. Table 3 shows the efficiency with the MPPT and without the MPPT under different irradiance values. The highest increase in efficiency was 52% at 80 W/m2, while the lowest increase in efficiency was 39% at 400 W/m2. This behavior occurred because in the SCC device without the MPPT, the solar module voltage was dropped to the load voltage, while the current flow had the same value as in the MPPT, while with the MPPT, the voltage of the solar module stayed at its maximum value. Therefore, the efficiency of the device without MPPT was much lower due to significant power loss relative to the solar module’s maximum power.

6. Conclusions

Overall, the designed SCC with MPPT technology was able to manage maximum power tracking and control battery charging. The designed MPPT managed to utilize the solar module more efficiently than a system that did not use MPPT. The designed buck converter was able to sweep along the curve of the solar module. The use of the frequency of the buck converter PWM driving signal must be considered, as the MOSFET used has performance issues, such as delay of the switching, which could cause additional power loss and narrowing of the operating range of the buck converter. Arduino Nano can be used as the PWM generator and as a charging controller using CC-CV. The frequency of the PWM produced by Arduino and the duty cycle step are correlated; thus, the value must be considered to correspond to the design and needs. The MPPT managed to achieve the highest efficiency of 78% while without MPPT, only 26% was achieved.

Data Availability

All data used to support the findings of this study are included within the article.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

This research was supported by the QQ Research Grant 2019 (No. NKB-0327/UN2.R3.1/HKP.05.00/2019) from Universitas Indonesia.