I have a machine project, which is going to work with a Lithium-ion battery. As you know, as a battery is used, its voltage drops with time, and I’m looking for a way to maintain constant power to the machine, and I'm asking for a method that will really work.

This machine uses a fan having a minimum required air flow speed of 3,000 RPM for cooling. But the dropping battery-voltage presents a big problem in maintaining the fan's minimum RPM. Do you think the method which I am going to describe now will meet this requirement?

To begin with, I found a DC motor having a wide working voltage range. For example, I found a DC motor having a 40 V maximum working voltage, which produces 3,000 RPM at 24 V, so I built an 8S Lithium-ion battery. When the battery is fully charged, it produces 8 * 4.2 V = 33.6 V, and the motor will be driven using 72 % duty-cycle PWM, which will produce an average voltage of 24 V, which will achieve the necessary 3,000 RPM. After a while, the battery voltage will drop, which will be sensed using a voltage divider circuit, yet we're going to produce the PWM modulation that will maintain the required 3,000 RPM (meaning that, with each voltage drop, the PWM will be slightly increased). Finally, when the battery voltage drops to 3 V, the microcontroller will produce a 100 % duty cycle PWM modulation. Using this method, a constant motor RPM will be maintained in spite of changing battery voltage.

Do you think this method will work? What is your recommendation?

  • \$\begingroup\$ What you describe is a buck regulator without output filtering. Big standard and should do the job fine for you. \$\endgroup\$
    – winny
    Aug 7, 2021 at 9:57

2 Answers 2


Choose a motor working voltage either above the entire range of your battery voltage, or below the entire battery voltage range.

In the first case, use a boost DC-DC converter to supply the motor, in the second case use a buck DC-DC converter.

It's probably easier to source a suitable ready made buck or boost DC-DC converter module with an adjustable voltage output from one of the popular online retailers, than to build your own PWM solution.

What you have described, using PWM to achieve voltage stepdown into a motor load will also work, but you'll need to use a brushed PM motor.

Note that if you use a brushless motor, the ESC used to drive it will often accept a wide input voltage range directly from your batteries, effectively working as a buck converter, and can control the speed.

  • \$\begingroup\$ I have already used dc-dc buck convertor and I set the output voltage 13,6 volt but after a while when battery voltage began drop, buck convertor output voltage begin drop to. For this reason I asked. Note: I used ready made circuit sold in china(aliexpress). Also I'm using brushed pm dc motor. \$\endgroup\$ Aug 8, 2021 at 15:27
  • \$\begingroup\$ @oğuzkaançomoğlu at what battery voltage did the DC-DC output begin to drop? Was the DC-DC specified for that voltage? A suitable DC-DC would would work. You seem to have chosen an unsuitable one. \$\endgroup\$
    – Neil_UK
    Aug 8, 2021 at 15:47
  • \$\begingroup\$ For expample when my battery fully charged its 29,2 volt and when I connect buck converter I'm setting output voltage 13,6. After a while battery voltage drops 26 volts and output voltage drops 12 volts around. DC-DC convertor is specified for my working voltage maybe it's not quality good. Is DC-Dc converters give the same voltage at the output without being affected by the input voltage? \$\endgroup\$ Aug 8, 2021 at 16:19
  • \$\begingroup\$ @oğuzkaançomoğlu It sounds like you have a very rubbish DC-DC converter then, or a broken one. \$\endgroup\$
    – Neil_UK
    Aug 8, 2021 at 19:17

Do you think the method is correct, what would your recommendations be?

That pretty much describes a buck converter. A buck converter takes a higher input voltage and maintains a lower output voltage close to a regulated value until such time that the input voltage drops too low whereupon the buck converter can only supply 100% duty cycle (at best).

Or, you can use a boost converter to produce a higher regulated output voltage from a lower input voltage (again using PWM techniques) until such time that the input voltage drops below a lower working threshold for the circuit and battery recommendations.

Or, you can combine buck and boost into (wait for it...) a buck-boost converter that although more complex and slightly less efficient than either buck or boost individually, is used in many applications.

  • \$\begingroup\$ Isn't it better to switch (pwm) with a mosfet instead of using a dc dc converter? Because there is less material you can use and mosfets are more resistant to high current also a bit cheaper than dc dc converter ? (en azından ben öyle biliyorum :) ) \$\endgroup\$ Aug 8, 2021 at 15:57
  • \$\begingroup\$ @oğuzkaançomoğlu yes of course it is - I was drawing your attention to the fact that buck and boost converters have slightly different aims to what your circuit is but, in terms of switching and efficiency, they are exactly the same so, when you say "Do you think the method is correct" the answer is a clear yes (and please note that this method is used in buck and boost converters). \$\endgroup\$
    – Andy aka
    Aug 8, 2021 at 16:02
  • \$\begingroup\$ Also take note that I never used the term DC or DC-to-DC conversion or converters so, maybe your comment is under the wrong answer? Having said that, a DC-to-DC converter will use a MOSFET in a very similar way as a motor controller. \$\endgroup\$
    – Andy aka
    Aug 8, 2021 at 16:03
  • \$\begingroup\$ @oğuzkaançomoğlu you should also take the 2 minute tour to understand the motivation for people giving free help. \$\endgroup\$
    – Andy aka
    Aug 8, 2021 at 16:08
  • \$\begingroup\$ Thank you. I really appreciate your answers, but I don't want to mislead people as I think my knowledge isn't enough to answer question. \$\endgroup\$ Aug 8, 2021 at 16:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.