How to design a simple constant current/constant voltage buck converter

Other Parts Discussed in Post: LM5117, LMV431


A DC-to-DC converter is typically implemented as a constant voltage (CV) regulator. The control loop will adjust the duty cycle in order to maintain a constant output voltage regardless of changes to the input voltage and load current.

A constant current (CC) converter regulates current the same way: the control loop adjusts the duty cycle to maintain a constant output current regardless of changes to the input voltage and output resistance. A change in output resistance will cause the output voltage to adjust as the load resistance varies; the higher the output resistance, the greater the output voltage.

A CC/CV converter will regulate both current and voltage depending on the output resistance level.

Application examples

Many applications limit the maximum output resistance and resulting output voltage so that components connected to the output won’t be damaged, which is where constant voltage regulation engages. Some examples of CC/CV converter uses are applications driving a light-emitting diode (LED) or charging batteries or supercapacitors. The current is regulated for a range of output resistances; should the resistance increase beyond a certain level, the voltage is regulated, or “clamped.”

Output-voltage accuracy may be crucial, particularly in battery applications and supercapacitor chargers. Precise voltage regulation enables more energy storage because you can set the voltage regulation point as close as possible to the maximum safe operating voltage rating of the storage device.

Traditional methods of implementing CC/CV

Figure 1 outlines a typical discrete implementation of a CC/CV converter. The converter requires a sense resistor (Rsense), an amplifier and a voltage regulation circuit (Vz). The current flowing through Rsense sets the voltage across RFB, which is the feedback voltage of a controller. In this way, the current is regulated. As Rout increases, the voltage on the output rises to a point where the Zener diode conducts, and the device transitions from a CC converter to a CV converter.

Figure 1: CC/CV implementation with a buck topology

As I mentioned, the current through Rsense sets the feedback voltage, which regulates the output current. Equation 1 expresses the relationship between the output current and VFB:

Assuming a resistive load, Equation 2 governs the voltage at the output:

Equation 3 sets the voltage regulation level:

As you can see in Figure 1, a Zener diode regulates the voltage in CV mode. Using a Zener as a voltage clamp will yield relatively poor voltage-accuracy performance because of the variation in Zener voltages from device to device. Two Zener diodes are sometimes used in series to prevent leakage current flowing from cathode to anode, which if present will cause errors in the current regulation loop.

Drawbacks of the traditional method

The traditional method requires the use of a sense resistor in series with the output in order to sense current. As a result, resistive losses will impact efficiency; Equation 4 shows the losses in the sense resistor:

Higher losses will increase the operating temperature and reduce system efficiency because the resistor will have all of the output current flowing through it. Cost also increases because low milliohm current-sense resistors are relatively expensive compared to a small signal resistor.

The common-mode voltage range of the amplifier needs to be rated to the maximum output voltage. A high output voltage might increase the cost of the amplifier. To help save costs, you could use a floating bias supply to reduce the common-mode voltage range requirement, but that will increase the component count.

The solution presented in Figure 1 has many disadvantages, including added design complexity, board real estate required, cost and impact on system efficiency.

A simple CC/CV method using the LM5117

The LM5117 is an emulated peak current-mode synchronous buck controller suitable for high-current, wide stepdown conversions. The major benefit of using the LM5117 in a CC/CV application is that it has a current monitor (CM) feature. The CM pin provides an accurate voltage that is proportional to the output current of the buck power stage. You can use the CM pin as your current loop feedback, saving the additional current-sense circuitry that the traditional method requires. The voltage present on the CM pin is accurate to ±2%, provided that the converter is set to forced pulsed width modulation (FPWM) or is in continuous conduction mode. Figure 2 shows a basic CC/CV regulator implementation using the LM5117.

Figure 2: LM5117 CC/CV basic implementation

CC programming

Equation 5 describes the relationship between the CM voltage and Iout:

Equation 6 simplifies Equation 5:

As you can see, the CM pin enables you to omit the series power dissipative current-sense resistor at the output. Rs is the current-sense resistor of the power stage used to generate a ramp for the current-mode pulse-width modulation (PWM) loop. As is the current-sense amplifier gain of the LM5117, which has a typical value of As = 10.

For example, assume that Iout = 10A and Rs = 10mΩ. Using Equation 6:

Setting the resistor divider network from the CM pin to ground and connecting the divider node to the feedback pin sets the current regulation point. With 2V at the CM pin, selecting the proper resistor-divider ratio will set the current regulation level. To set the resistor-divider values for 10A current regulation, select RFBb = 10kΩ and calculate RFBt using Equation 7:

Which yields an RFBt value of 15kΩ.

Remember to account for the reduction in As caused by placing a resistor from Rs and ground to Cs and Csg, respectively. Refer to the LM5117 data sheet for more details on how resistors in series with the current-sense pins affect the gain of the internal current-sense amplifier.

CV programming

CV programing is achieved by using an LMV431 as a voltage clamp.  Assume a voltage clamp level of 12V. The forward voltage drop Vfwd across BAT54 is 0.5V and the FB voltage of the LM5117 is 0.8V. The voltage clamp engages when the voltage across R1 is equal to the voltage calculated using Equation 8:

Therefore, VR1 = 1.3V.

The voltage at the reference pin of the LMV431 will need to be a reference voltage above VR1. The LMV431 has a reference voltage of 1.24V, so the voltage at the reference pin of the LMV431 is equal to the voltage calculated using Equation 9:

Therefore, a Vref = 2.54V is required for the LMV431 to conduct current from its cathode to anode.

Select RBotVC = 10kΩ and calculate RTopVC using Equation 10:

Power design of the LM5117

The design approach for the power section of a CC/CV converter using the LM5117 is the same as it is for a basic buck converter. I suggest carrying out the design at the highest output power level (which is the highest output resistance) using either WEBENCH® Designer or the LM5117 Quick Start Calculator. You can also refer to the LM5117 data sheet for guidance on the design of the buck power stage.

Example schematic

Figure 3 shows a 30V-to-54V input, 27V-at-6A output CC/CV implementation using the LM5117.

 Figure 3: A 30V-to-54V input, 27V-at-6A output CC/CV converter using the LM5117


Figure 4 shows the efficiency results with increasing output resistance.

Figure 4: Efficiency at 30Vin

Figure 5 shows load regulation and the voltage set point with increasing output resistance.

Figure 5: Load regulation at 30Vin with increasing Rload (Vout/Iout)

Figure 6 shows the switch node (CH3), Vout ripple (CH1) and output current (CH4) at 30Vin, 25Vout at 6A.

Figure 6: Steady-state waveforms

Figure 7 shows the load-transient performance Vout (CH1) and output current (CH4) when stepping a constant resistive load from 60Ω to 120Ω.

Figure 7: Load-transient performance


The LM5117 configured as a CC/CV converter provides accurate current regulation, while offering many advantages over the traditional implementation. The design approach is relatively simple, and enables significant reductions in size, cost and power losses. Start a power supply design now with the LM5117 using WEBENCH® Designer.

  • Hello, David! 

    I plan to use the chip to design a lithium ion battery charger. But I am concerned that the voltage regulation point depends on the forward voltage drop across the diode. It depends very much on the temperature. Please advise how to improve the voltage feedback circuit to enhance the output voltage temperature stability.

  • I want make a constant current source  55A/2V output, input is 12V, work at QCW, will LM5117 be suitable for it?

  • Hello sir, how do I choose the inductor and capacitor at the initial stage of the circuit that implements traditional method? 

  • Hello,

    It assumes the voltage at the input of the op amp [+ve/-ve]  this means the voltage across the Rin resistor is the same voltage across Rsense.  Also we assume the current in the collector of the pnp is the same as the emitter current in the pnp.

    We can calculate the emitter current as V(Rin)/Rin = Iemitter and V(Rin) = Iout*Rsense

    in order to be in current regulation the feedback voltage is set at the reference voltage of the controller being used (assume 0.8V).

    We can therefore say

    Iout*Rsense/Rin = Iemitter = Icollector

    And Icollector *Rfb= Vfb


    (Iout*Rsense/(Rin))*Rfb =Vfb

    Transposing for Iout will yield Equation 1.  Hope this helps?

  • Could you please explain step by step how to workout Equation 1 ? and what is the mathematical relationship between the current through the sense resistor and the current through RFB, how does the OPAMP controlles the transistor base current ?