An MPPT as we all know refers to maximum power point tracking which is typically associated with solar panels for optimizing their outputs with maximum efficiency. In this post we learn the 3 best  MPPT controller circuits for efficiently harnessing solar power and charging a battery in the most efficient manner.

Where an MPPT is Used

The optimized output from MPPT circuits is primarily used for charging batteries with maximum efficiency from the available sunshine.

New hobbyists normally find the concept to difficult and get confused with the many parameters associated with MPPT, such as the maximum power point, "knee" of the I/V graph etc.

Actually there's nothing so complex about this concept, because a solar panel is nothing but just a form of power supply.

Optimizing this power supply becomes necessary because typically solar panels lack current, but posses excess voltage, this abnormal specs of a solar panel tends to get incompatible with standard loads such as 6V, 12V batteries which carry higher AH rating and lower voltage rating compared to the panel specs, and furthermore the ever-varying sunshine makes the device extremely inconsistent with its V and I parameters.

And that's why we require an intermediate device such as an MPPT which can "understand" these variations and churn out the most desirable output from a connected solar panel.

You might have already studied this simple IC 555 based MPPT circuit which is exclusively researched and designed by me and provides an excellent example of a working MPPT circuit.


The basic idea behind all MPPTs is to drop or trim down the excess voltage from the panel according to the load specs making sure that the deducted amount of voltage is converted into an equivalent amount of current, thus balancing the I x V magnitude across the input and the output always up to the mark...we cannot expect anything more than this from this useful gadget, do we?

The above automatic tracking and appropriately converting the parameters efficiently is implemented using a PWM tracker stage and a buck converter stage, or sometimes a buck-boost converter stage, although a solitary buck converter gives better results and is simpler to implement.

Design#1: MPPT using PIC16F88 with 3-Level Charging

In this post we study an MPPT circuit which is quite similar to the IC 555 design, the only difference being the use of a microcontroller PIC16F88 and an enhanced 3-level charging circuit.

MPPT using PIC16F88 with 3-Level Charging


Step wise Working Details

The basic function of the various stages can be understood with the help of the following description:

1) The panel output is tracked by extracting a couple of information from it through the associated potential divider networks.

2) One opamp from IC2 is configured as a voltage follower and it tracks the instantaneous voltage output from the panel through a potential divider at its pin3, and feeds the info to the relevant sensing pin of the PIC.

3) The second opamp from IC2 becomes responsible for tracking and monitoring the varying current from the panel and feeds the same to another sensing input of the PIC.

4) These two inputs are processed internally by the MCU for developing a correspondingly tailored PWM for the buck converter stage associated with its pin#9.

5) The PWM out from the PIC is buffered by Q2, Q3 for triggering the switching P-mosfet safely. The associated diode protects the mosfet gate from overvolatges.

6) The mosfet switches in accordance with the switching PWMs and modulates the buck converter stage formed by the inductor L1 and D2.

7) The above procedures produce the most appropriate output from the buck converter which is lower in voltage as per the battery, but rich in current.

8) The output from the buck is constantly tweaked and appropriately adjusted by the IC with reference to the sent info from the two opamps associated with the solar panel.

9) In addition to the above MPPT regulation, the PIC is also programmed to monitor the battery charging through 3 discrete levels, which are normally specified as the bulk mode, absorption mode, an the float mode.

10) The MCU "keeps an eye" on the rising battery voltage and adjusts the buck current accordingly maintaining the correct Ampere levels during the 3 levels of charging procedure. This is done in conjunction with the MPPT control, that's like handling two situations at a time for delivering the most favorable results for the battery.

11) The PIC itself is supplied with a precision regulated voltage at its Vdd pinout through the IC TL499, any other suitable voltage regulator could be replaced here for rendering the same.

12) A thermistor can be also seen in the design this may be optional but can be effectively configured for monitoring the battery temperature and feeding the info to the PIC, which effortlessly processes this third information for tailoring the buck output making sure that the battery temperature never rises above unsafe levels.

13) The LED indicators associated with the PIC indicate the various charging states for the battery which allows the user to get an up-to-date information regarding the charging condition of the battery throughout the day.

14) The proposed MPPT Circuit using PIC16F88 with 3-Level Charging supports 12V battery charging as well as 24V battery charging without any change in the circuit, except the values shown in parenthesis and VR3 setting which needs to be adjusted to allow the output to be 14.4V at the onset for a 12V battery and 29V for a 24V battery.

Programming code can Downloaded here

Design#2: Synchronous Switch-Mode MPPT Battery Controller

The second design is based on the device bq24650 which  includes an advanced built-in MPPT Synchronous Switch-Mode Battery Charge Controller. It offers a high level of input voltage regulation, which prevents the charging current to the battery each time input voltage drops below a specified amount. Learn More:

Whenever the input is attached with a a solar panel, the supply stabilization loop pulls down the charging amp to ensure that the solar panel is enabled to produce maximum power output.

How the IC BQ24650 Functions

The bq24650 promises to provide a constant-frequency synchronous PWIVI controller with optimal level of accuracy with current and voltage stabilization, charge preconditioning, charge cut-off, and charging level checking.

The chip charges the battery in 3 discrete levels: pre-conditioning, constant current, and constant voltage.

Charging is is cut-off as soon as the amp level nears the 1/10 of the rapid charging rate. The pre-charge timer is set to be at 30 minutes.

The bq2465O without a manual intervention restarts the charging procedure in case the battery voltage reverts below an internally set limit or reaches a minimum quiescent amp sleep mode while the input voltage goes below the battery voltage.

The device is designed to charge a battery from 2.1V to 26V with VFB internally fixed to a 2.1V feedback point. The charging amp spec is preset internally by fixing a well matched sensing resistor.

The bq24650 can be procured with a 16 pin, 3.5 x 3.5 mm^2 thin QFN option.

Circuit Diagram

Synchronous Switch-Mode MPPT Battery Controller


The bq24G50 employs an extremely accurate voltage regulator for the deciding on the charging voltage. The charging voltage is preset by means of a a resistor divider from the battery to ground, with the midpoint hooked up the VFB pin.

The voltage at the VFB pin is clamped to 2.1V, in order to produce the following formula for the level of regulation voltage:

V(batt) = 2.1V x [1 + R2/R1]

where R2 is linked from VFB to the battery and R1 is connected from VFB to GND. Li-Ion, LiFePO4, as well as SMF lead acid batteries are ideally supported battery chemistries.

A majority of over the shelf Li-ion cells can now be effectively charged up to 4.2V/cell. A LiFePO4 battery supports the process of a substantially higher charge and discharge cycles, but the down side is that the the energy density is not too good. The recognized cell voltage is 3.6V.

The charge profile of the two cells Li-Ion and LiFePO4 is preconditioning, constant current, and constant voltage. For an effective charge/discharge life, the end-of-charge voltage limit may possibly be cut down to 4.1V/cell however it‘s energy density could become a lot lower compared to the Li-based chemical specification, lead acid continues to be much preferred battery because of its reduced production expenses as well as rapid discharge cycles.

The common voltage threshold is from 2.3V to 2.45V. After the battery is seen to be completely topped up, a float or trickle charge becomes mandatory in order make up for the self-discharge. The trickle charge threshold is 100mV-200mV below the constant voltage point.


A solar panel may have an exclusive level on the V-I or V-P curve, popularly known as the Maximum Power Point (MPP), wherein the complete photovoltaic (PV) system relies with optimum efficiency and generates the required maximum output power.

The constant voltage algorithm is the most easy Maximum Power Point Tracking (MPPT) option available. The bq2465O automatically shuts down the charging amp such that the maximum power point is is enabled for producing maximum efficiency.

Switch ON Condition

The chip bq2465O incorporates a "SLEEP" comparator to identify the means of supply voltage on the VCC pin, because of the fact that VCC may be terminated both from a battery or an external AC/DC adapter unit.

If the VCC voltage is more significant the SRN voltage, and the additional criteria are fulfilled for the charging procedures, the bq2465O subsequently begins making an attempt to charge a connected battery (please see the Enabling and Disabling Charging section).

lf SRN voltage is higher with respect to the VCC, symbolizing that a battery is the source from where the power is being acquired, the bq2465O is enabled for a lower quiescent current ( <15uA) SLEEP mode to prevent amperage leakage from the battery.

lf VCC is below the UVLO limit, the IC is cut-off, after which VREF LDO is switched off.


The following concerned aspects need to be ensured before the charging process of the proposed MPPT Synchronous Switch-Mode Battery Charge Controller Circuit is initialized:

• Charging process is enabled (MPPSET > 175mV)

• The unit is not in Under-Voltage-Lock-Out (UVLO) functionality and VCC is above the VCCLOWV limit

• The IC is not in SLEEP functionality (i.e. VCC > SRN)

• VCC voltage is below the AC over-voltage limit (VCC < VACOV)

• 30ms time lapse is fulfilled after the first power-up

• REGN LDO and VREF LDO voltages are fixed at the specified junctures

• Thermal Shut (TSHUT) is not initialized - TS bad is not identified Any one of the following technical issues may inhibit the proceeding charging of the battery:

• Charging is is deactivated (MPPSET < 75mV)

• Adapter input is disconnected, provoking the IC to get into a VCCLOWV or SLEEP functionality

• Adapter input voltage is below the 100mV above battery mark

• Adapter is rated at higher voltage

• REGN or VREF LDO voltage is not as per the specs

• TSHUT IC warmth limit is identified • TS voltage happens to move out of the specified range which may indicate that the battery temperature is extremely hot or alternatively much cooler


The charger by irself soft-starts the charger power regulation current each time the charger moves into the fast-charge to establish that there is absolutely no overshoot or stressful conditions on the externally connected capacitors or the power converter.

The soft-start is featured with of stepping-up the chaging stabilization amp into eight uniformly executed operational steps next to the prefixed charging current level. All the assigned steps carry on for around 1.6ms, for a specified Up period of 13ms. Not a single external parts are called for enabling the discussed operational function.


The synchronous buck PWM converter employs a predetermined frequency voltage mode with feed-forvvard control strategy.

A version III compensation configuration let's the system to incorporate ceramic capacitors at the output stage of the converter. The compensation input stage is associated internally between the feedback output (FBO) along with an error amplifier input (EAI).

The feedback compensation stage is rigged between the error amplifier input (EAI) and error amplifier output (EAO). The LC output filter stage needs to be determined to enable a resonant frequency of around 12 kHz - 17 kHz for the device, for which the resonant frequency, fo, is formulated as:

fo = 1 / 2 π √LoCo

An integrated saw-tooth ramp is allowed to compare the internal EAO error control input to alter the duty-cycle of the converter.

The ramp amplitude is 7% of the input adapter voltage enabling it to be permanently and completely proportional to the input supply of the adapter voltage.

This cancels away any sort of loop gain alterations on account of a variation in the input voltage and simplifies the loop compensation procedures. The ramp is balanced out by 300mV so that a zero percent duty-cycIe is achieved when the EAO signal is below the ramp.

The EAO signal is likewise qualified to outnumber the saw-tooth ramp signal with a purpose to achieve a 100% duty cycIe PWM demand.

Built in gate drive logic makes it possible accomplishing 99.98% duty-cycle at the same time confirming the N-channel upper device consistently carries as much as necessary voltage to always be 100 % on.

In the event the BTST pin to PH pin voltage reduces below 4.2V for longer than three intervals, in that case the high-side n-channeI power MOSFET is switched off while the low-side n-channe| power MOSFET is triggered to draw the PH node down and charge-up the BTST capacitor.

After that the high-side driver normalizes to 100% duty-cycle procedure until the (BTST-PH) voltage is observed to decline low yet again, on account of outflow current depleting the BTST capacitor below 4.2 V, as well as reset pulse is reissued.

The predetermined frequency oscillator maintains rigid command over the switching frequency under most circumstances of input voltage, battery voltage, charge current, and temperature, simplifying output filter layout and retaining it away from the audible disturbances state.

Design#3: Fast MPPT Charger Circuit

The third best MPPT design in our list explains a simple MPPT charger circuit using the IC bq2031 from TEXAS INSTRUMENTS, which is best suited for charging high Ah lead acid batteries quickly and with a relatively fast rate


This practical application article is for the individuals who may be developing an MPPT-based lead acid battery charger with the aid of bq2031 battery charger.

This article includes a structural format for charging a 12-A-hr lead acid battery employing MPPT (maximum power point tracking) for improving charging efficiency for photovoltaic applications.


The easiest procedure for charging a battery from a solar panel systems could be to hook up the battery straight to the solar panel, however this may not the most effective technique.

Presume a solar panel bears a rating of 75 W and generates a current of 4.65 A with a voltage of 16 V at normal test environment of 25 ° C temperature and 1000 W/m2 of insolation.

The lead acid battery is rated with a voltage of 12 V; directly hooking up the solar panel to this battery would decrease the panel voltage to 12 V and only 55.8 W (12 V and 4.65 A) could be produced from the panel for charging.

A DC/DC converter may be most suitably needed for economical charging here.

This practical application document explains a model, making use of the bq2031 for effective charging.

I-V Characteristics of Solar Panel

I-V Characteristics of Solar Panel

Figure 1 displays the standard aspects of a solar panel systems. Isc is a short-circuit current that streams through the panel in case the solar panel is short circuited.

It happens to be the optimum current that may be extracted from the solar panel.

Voc is the open-circuit voltage at the terminals of the solar panel.

Vmp and Imp are the voltage and current levels where maximum power can be purchased from the solar panel.

While the sunshine decreases the optimum current (Isc) which may be attained, the highest current from the solar panel also suppresses. Figure 2 indicates variation of I-V characteristics with sun light.

The blue curve links the details of the maximum power at various values of insolation

maximum power at various values of insolation

The reason for the MPPT circuit is to try to sustain the working level of the solar panel at the maximum power point in several sunshine conditions.

As observed from Figure 2, the voltage where maximum power is delivered does not alter greatly with sunshine.

The circuit constructed with the bq2031 makes use of this character to put into practice MPPT.

An additional current control loop is included with decrease the charge current as the daylight decreases as well as to sustain solar panel voltage around the maximum power point voltage.

bq2031-Based MPPT Charger

bq2031-Based MPPT Charger

Figure 3 displays the schematic of a DV2031S2 board with an added current control loop added to carry out the MPPT making use of the operational amplifier TLC27L2.

The bq2031 keeps the charging current by retaining a voltage of 250 mV at sense resistance R 20. A reference voltage of 1.565 V is created by using 5 V from U2.

The input voltage is compared with the reference voltage to produce an error voltage that could be implemented at the SNS pin of bq2031 to decrease the charge current.

The voltage (V mp) where maximum power can be acquired from the solar panel is conditioned employing resistors R26 and R27. V mp = 1.565(R 26 +R 27)/R 27.

With R 27 = 1 k Ω and R 26 = 9.2 k Ω, V mp = 16 V is achieved. TLC27L2 is internally adjusted with a bandwidth of 6 kHz at V dd = 5 V. Mainly because the bandwidth of TLC27L2 is significantly below the switching frequency of bq2031, the added current control loop continues to be constant.

The bq2031 in the earlier circuit (Figure 3) offers an optimum current of 1 A.

In case the solar power panel can furnish adequate power to charge the battery at 1 A, the outer control loop does not proceed into action.

However if the insulation reduces and the solar power panel struggles to deliver sufficient energy to charge the battery at 1 A, the outer control loop decreases the charge current to preserve input voltage at V mp.

The outcomes demonstrated in Table 1 confirm the functioning of the circuit. The voltage readings in bold type signify the issue whenever the secondary control loop is minimizing the charge current to preserve input at V mp


Texas Instruments

MPPT Synchronous Switch-Mode Battery Charge Controller Circuit

Need Help? Please send your queries through Comments for quick replies!