Create project Need help?

Programmable SMPS Power Supply and Solar Charger

Status: Proposal
June 4, 2014

This is a flexible and programmable device that provides both a charger and two power rails. The charger includes MPPT tracking to support solar panel input, or standard DC input. The charger is designed to be used with 11.1V LiPo batteries and supports a maximum charge rate of 2A, but multiple battery options are possible. The maximum charger input is 40W, the maximum regulated power output is 40W and the unregulated output can be programmed depending on the battery limitations.

The outputs consist of one step up and one step down regulator that are designed at 12V and 5V but other voltages can be programmed. In addition, a raw voltage output is provided.

The system is controlled using an Atmel xmega32E5 processor and provides 150kHz PWM control to the charger and step down PSU. The step up regulator is controlled by a LT1935 chip operating at 1.8Mhz. The processor provides charge control, over current protection, under voltage battery protection, battery chemistry selection and auto-shutdown, and all these parameters can be programmed via the UART command interface. In addition the UART interface provide charge and power information and shutdown status.

The design parameters are:


    - Solar panel input or DC input from 13.5 to 21V, up to 2A.

    - Targeted battery is 11.1V 3S LiPo Battery at 5AH.

    - Additional Support for 7.2V 2S LiPo, and NiMH between 5- 8 cells.

    - MMPT specification:

        o Input OC = 21V, VPmax = 17.6V, Vmin = 15V

        o Battery full charge voltage 12.6V, minimum 10V (low voltage cutoff programmable but set to 10.5V), Imax = 2A, Iripple = 10%, Vripple = 40mV at maximum charge rate

        o Freq = 150 kHz. Counter at 150KHz = 853, providing 0.12% step control

Output 1:

    - 2A Step down 5V (or 3.3V, or 9V), Iripple = 10%, Vripple = 20mV

    - Overcurrent protection programmable to 2A

    - Freq = 150Khz with 0.12% step control

    - Input voltage variation:

        o Maximum input voltage is Vsolar panel – Vdiode = 20.55V

        o Nominal input is solar panel VPmax – Vdiode = 17.05V

        o Voltage on Batteries = 12.6V, Min = 10V

Output 2 with LT1935:

    - 2A step up 12V (but other voltages are programmable)

    - Overcurrent protection programmable to 2A

    - Input voltage 12.6 – 10V (this is run from battery only)

    - 1.2Mhz, I ripple = 20%, Vripple 55mV


     - Battery low-voltage protection set at 10.5V (programmable)

    - Charge capacity control, and battery voltage monitoring

    - Current monitoring on battery, step up and step-down regulators.

    - 19200 baud TTL serial interface for parameter configuration and data monitoring.

This devices sits on a board of 72mm x 56mm. The design has tight parameters for Iripple and Vripple, so many substitution of parts can be performed to lower the cost if the same level of performance is not required. The PWM frequency for the charger and step down regulator is 150 KHz, which is driven from a 128MHz source with a full cycle count of giving the counter is 853. This results in each bit step of the controller being 0.12% of the target value. A separate step-up controller is used to prevent software errors from creating over-voltage situations. If the uP is to be used for step-up controller, then a larger processor with more ADC’s will be required (e.g. xMega32A4)

The two buck stages are synchronous controllers that use high and low side FETS for efficiency, and FET drivers to maximize driving and control switching synchronization .

Circuit description

- Q4/Q6 is the reverse polarity protection with bypass once the correct polarity has been established.

- C16/C17/U1/Q1/L1/C19 is the Buck Charger.

- U3 is the bipolar current sense for the battery. Q3B/Q7 is the low voltage cutout under processor control.

- D3 allows excess input power to be fed to the raw power outlet and 5V buck regulator.

- Q3/Q8 prevent the raw voltage from being fed back into the battery and this is bypassed under processor control once the input voltage is below the battery voltage.

- C18/U2/Q2/L2/C20 is the 5V buck regulator with U5 as the current monitor

- Q5/Q11 is the 5V cutout for overcurrent or undervoltage

- C14/U9/L3/C15 is the 12V boost regulator with U4 as the current monitor

- Q12/Q13 is the 12V cutout for overcurrent and under/over voltage

- U7/U6 provides the processor U8 with power and a suitable stable reference.

- T1 is the battery thermistor for over temperature monitoring


I have added a picture of the PCB Board. It is a bit busy but I am trying to keep it small.


Read the full post
Show less

Loading comments...