Design Articles

Simple Techniques to Improve Solar Panel Efficiency using a Microcontroller or SoC

PV panels are an attractive energy source, but they're not terribly efficient. MCU design techniques can go a long way toward addressing that problem.

By Udayan Umapathi and Gautam Das G, Cypress Semiconductor

Today, people are more concerned about fossil fuel exhaustion and environmental problems caused by conventional power generation and renewable energy sources than ever before. Among the renewable resources, photovoltaic panels and wind-generators are primary contenders. They have the advantage of being maintenance and pollution-free, but their installation cost is high and, in most applications, they require a power conditioner (dc/dc or dc/ac converter) for load interface. Photo Voltaic modules (PV Modules) also have relatively low conversion efficiency.

Overall system cost can be reduced using high efficiency power conditioners which are designed to extract the maximum possible power from the PV module using maximum power point tracking (MPPT) techniques. Existing panel systems also have the disadvantage of being oriented in one single direction throughout the day resulting in less direct exposure to actual sunlight.

In this article, we will discuss techniques to improve the efficiency of a solar panel at the system level, including orienting the solar panel in the direction of maximum light, extracting maximum available power from the solar panel, and intelligent battery health management.

Figure 1
Figure 1: PV Solar System Block Diagram

As we can see from Figure 1, the main component of the system is a microcontroller or an SoC. The complete intelligence of the system lies in this single chip and it is reconfigurable and upgradable. On the solar panel, two photodiodes are kept perpendicular to the plane of the panel and the photodiode output is fed to the microcontroller (MCU). These diodes and a DC motor determine the orientation of the panel. Based on the photodiode inputs, the MCU controls the DC motor and orients the solar panel to receive maximum illumination. The two photo-diodes used for sun tracking are reverse-biased, meaning the reverse current through these diodes varies with the light incident on them. Under nominal daylight, the reverse current varies between 10uA and 75uA. The Reverse Dark Current (when no light is incident on the photodiodes) is only a few nA.

A Trans-Impedance Amplifier (TIA) is used to convert the reverse current to an equivalent voltage. The gain of the amplifier is set using a feedback resistor. Photodiodes often have substantial output capacitance. This requires shunt feedback capacitance in the TIA in order to guarantee stability and to provide bandwidth limiting to reduce broadband noise. The output voltage of TIA, Vout, is determined by the following equation:

Vout = Vref - Iin * Rfb

where Rfb is resistive feedback, Iin is the current from the photodiode and Vref is the reference voltage connected to the positive terminal of the op-amp.

The output voltages are digitized using an on-chip ADC. Since the reverse current is very small (few tens of uA), the ADC must be able to resolve smaller voltages which requires a precision reference voltage. The output of each sensor is filtered using an IIR filter equation implemented in firmware which removes any abrupt jump in the light intensity variation. There is more than one voltage being measured using a single ADC in this system. The digitized values corresponding to the two diodes are compared continuously. If the difference between the two values is within a predetermined threshold band, the panel position is held stationary. If the difference exceeds the threshold, the panel is tilted in the direction of higher intensity until the difference comes into the threshold band. In this way we can orient the panel in the direction of maximum light intensity.

The DC motors are driven by a PWM signal generated by the MCU. The PWM duty-cycle determines the speed at which the motors rotate. The duty-cycle is kept small in order to have slow and precise movement. As the panel orients itself in the direction of maximum light, the PWM duty-cycle is gradually reduced. A possible use case could be a 16-bit PWM with 65535 steps. With such small steps, it is possible to track the sun precisely from dawn to dusk.

The motor current is on the order of tens of mA for movement. The GPIOs of the MCU can’t source sufficient current to drive the motors. This is augmented by having a motor driver chip. The driver has an H-Bridge structure which allows for digital control of the direction of motor current and hence the direction of the motor. The driver is capable of sourcing a current of 1A. Also note that the tracking mechanism is such that the motor is being pulsed intermittently and at regular intervals (once every few minutes). Hence, the average current spent driving the motors is significantly small.

There are two switches connected to the MCU. These switches are triggered by the panel rotation when the panel reaches extreme positions (East and West) and they determine the maximum possible rotation. There is a supplementary real time clock running on the MCU which keeps track of the timing so that, once the sun sets and light intensity has died down significantly, the panel is brought back to the initial position that makes the panel face East. The panel tracks the sun the next day and continues process.

Maximum Power Point Tracking
Figure 2
Figure 2: Equivalent circuit of a PV module

Figure 2 shows an equivalent circuit of a Photo Voltaic module. The PV cell is modeled as a current source in parallel with a diode. In the absence of light, no current is generated and it behaves as a diode. When light is incident of the PV cell, current is generated.

Under normal operation, the efficiency of a PV cell is reduced because of the dissipation of power across its internal resistance. The parasitic resistance is modeled as a parallel shunt resistance (Rsh) and a series resistance (Rs). Ideally Rsh should be infinite, thereby providing no alternate path for the current to flow and Rs should be zero, resulting in no further voltage drop before the load.

It is found that the value of the series resistance Rs increases with an increase in temperature. It is desirable to have a lower series resistance Rs for better efficiency. Hence, the efficiency of the panel is reduced at higher temperatures in environments such as a desert whereas in colder countries, the value of the series resistance is smaller and efficiency is higher.

Figure 3
Figure 3: V-I Characteristics of PV Cell

In this system, the battery used for charging is the load RL. It is possible to fool the solar panel by making the battery appear to have a suitable impedance and thus transfer maximum charge into the battery. This is possible by varying the operating point of the solar panel, as explained in the section below.

The typical V-I output characteristic of a PV module is shown in Figure 3. It is observed that the temperature changes mainly affect the PV output voltage whereas irradiation changes mainly affect the PV output current. With increased illumination, the current increases and the characteristic moves up. The intersection of the load-Line with the PV module V-I curve for a given temperature and irradiation determines the operating point. The maximum power production is based on the load-line adjustment under the varying atmospheric conditions.

Figure 4 illustrates the Power Versus Voltage plot for a PV cell. It can be seen that for a short circuit current (Isc, left most point on the power plot) and open circuit voltage (Voc, right most point on the power plot), the output power from the panel is zero. At one point, known as the Maximum Power Point, the power delivered to the panel is its maximum. The goal of a MPPT algorithm is to make the solar panel operate at this point and trap maximum power.

Figure 4
Figure 4: Power versus Voltage Plot

The panel output is fed to a DC-DC converter unit that steps down the panel voltage to a usable voltage appropriate for battery charging. The DC-DC unit consists of a MOSFET, inductor, and filters. The Switching pulse (PWM) necessary to operate the DC-DC converter is generated by MCU. Following the DC-DC unit is a MOSFET switch that is used to vary the load seen by the panel. As explained before, for a given temperature and insolation the panel output power varies with the variation in load connected and for a particular load the power transferred is maximum. The variable load can also be termed as a variable operating point. Our goal is to track this varying maximum power point.

A flowchart of the mechanism used to track the maximum power point is shown in Figure 5. This MPPT design method is based on the regulation of the PV array output voltage or current according to a reference voltage or current signal, which is either constant or derived from the PV array output characteristics (e.g., power or power change). A variation on this method is to directly use the dc/dc converter duty cycle as a control parameter and force the derivative dP / dD to zero, where P is the PV array output power and D is the duty cycle.  Thus only one control loop is required.

Figure 5
Figure 5: Flowchart of MPPT Algorithm

The perturb and observe method is the most commonly used MPPT algorithm. In this method, the duty cycle of the PWM to the MOSFET that separates the panel and battery is varied by a small amount dW.  Consider if this small amount has increased. The panel voltage and current are measured and the corresponding change in Power dP is observed. If the change is positive, then the direction of perturb is correct, and we continue to perturb in the same direction (i.e., increase the duty cycle).  If the change in power is negative, the direction of perturb is reversed (i.e., decrease the duty cycle) and the process continues. The main aim of such an algorithm is to always ascend the power curve in order to achieve the maximum power output from the PV cell. In this way, we always make the solar panel operate at a point that delivers maximum power.

If an MPPT system is not implemented, the load connected to the panel is always constant, and it may not operate at maximum power point.  Hence, it will not be trapping the maximum power available from the panel.

Battery Health Management

Since a solar panel is exposed to sun for approximately half of a day, it can be used to charge a battery for that duration. For most commercially available lead-acid batteries, the charging has to be carried out for 10-12 hours which is approximately same as the duration for which the sun-light is available. However, to increase the life of the battery used, the following technique can be adopted. Typically, the charging of the battery is carried out in 3 stages, also illustrated in Figure 6:

  • Constant Current Charge or the Bulk Charge Stage
  • Topping Charge Stage
  • Float Charge Stage
Figure 6
Figure 6: Battery Charging Stages

Let us consider charging of a 12-volt lead acid battery. The voltage level of the battery is monitored continuously with the help of a built-in ADC module in the MCU. If the battery voltage is less than its nominal value, then a suitable charging voltage called “Accept Voltage” is applied to the battery which varies with temperature. The Accept Voltage which is applied to the battery is switched using a power transistor driven by a PWM, from the DC-DC converter output. During this period, the charge current is constant. In the case of a lead acid battery, we can call this the Bulk charge phase. Once the battery voltage reaches its nominal value, the battery is then 70% full. It now has to be charged further until the charge current drops to about 3% of the rated current of the battery. This is achieved by continuing the PWM charge method as before. This phase of charging is called the Topping Charge stage. When the charge current drops to 3% of the rated current, then the battery is completely charged. The Topping Charge stage is essential to keeping the battery healthy. If the topping charge is not applied, the battery will gradually lose its ability to hold a full charge.

After charging is complete, to maintain the charge level, the battery is applied with a suitable voltage known as the Float voltage in the form of a PWM waveform. The Float Voltage is generally applied to compensate for self-discharge through the leads and other parasitic effects. Both the Float Voltage and Accept Voltage of a battery vary with temperature. The MCU continuously reads the output of the temperature sensor and determines the Accept Voltage and Float Voltage. Their value is controlled by a PWM waveform generated using a MCU.

It is also necessary to make sure that the battery is not applied with Topping charge for too long. The batteries have to be provided with Float Charge instead, since the battery may not be able to tolerate overcharging. With the help of an on-chip RTC, this can be easily implemented. The advantage of charging the battery by pulsing the charge is that we avoid chemical effects such as sulfation, gassing, and so on. It is also necessary to avoid battery charging when the temperature increases to above 50 degree Celsius. A temperature sensor is used for this purpose.

It is possible to implement the entire system that we talked about using a single System-on-Chip (SoC), such as the PSoC mixed-signal chip with programmable analog and programmable digital logic manufactured by Cypress Semiconductor (see Figure 7). The only external components required would be a diode and inductor for the DC-DC converter, and resistors to scale down the battery and the PV module voltage.

Figure 7
Figure 7: Schematic Implemenation on PSoC

The Trans-Impedance Amplifier (TIA) component available on PSoC provides an opamp-based current-to-voltage conversion amplifier with resistive gain and user-selected bandwidth. The gain of the amplifier is set using the feedback resistor which can be selected in firmware to have values of 20 KΩ, 30 KΩ, 40 KΩ, 80 KΩ, 150 KΩ, 250 KΩ, 500 KΩ and 1 MΩ. Photodiodes often have a substantial output capacitance, and a shunt feedback capacitance in order to guarantee stability. The TIA has a programmable feedback capacitor to meet this requirement. The characteristic of the photodiode might vary based on environmental condition. It is possible to program PSoC appropriately to adapt to these varying conditions.

The output voltages are digitized using a 20-bit Delta Sigma ADC. With a suitable on-chip reference chosen for the ADC, it is possible to measure voltages as small as 2 uV. The reference for the ADC is a precision source with less than 1% error. There is more than one voltage being measured using a single ADC in this system. These voltages are sampled and digitized sequentially using an Analog Multiplexer available in PSoC. The Mux can be switched between the input channels using firmware. PWM modules are required to drive the DC motors and to pulse the MOSFET that charges the battery. It is possible to generate these PWMs using the PWM hardware component with very little programming verhead. An integrated Real Time Clock (RTC) keeps track of the timing so that once the sun sets and the light intensity has died down significantly, the panel is brought back to the initial position which makes the panel face East. The panel tracks the sun next day again. The RTC is also used to prevent overcharging.

It is possible to improve the efficiency of a photovoltaic system by implementing the three subsystems that we have seen in this article. The exorbitantly high installation charges and low conversion efficiency of PV modules prevent people from adopting solar power generation units. With intelligent methods that can improve efficiency, it is possible to encourage people to use PV modules. Any existing solar panel unit can be upgraded to have these three implementations with minimal effort. The cost of upgrading is significantly less when compared to the cost of the PV module itself. Let us start using solar power, reduce environmental pollution, and make this planet greener.

About the Author

Udayan Umapathi is an Applications Engineer with Cypress. He completed his Bachelor of Engineering in Electronics and Communication from RV College of Engineering, Bangalore. His expertise includes circuit design, embedded system design, and microcontrollers.

Bookmark and Share

Insert your comment

Author Name(required):

Author Web Site:

Author email address(required):


Please Introduce Secure Code: