Multiplying a PWM signal frequency?

Thread Starter


Joined Sep 4, 2010
This may well be a silly question but here go's

I know that a frequency can be multiplied or divided relatively simply, as in there are chips to do the job. I assume not too expensive.

That said I currently have no idea how difficult this is and I do appreciate that the actual frequency in question will affect that.

I am in the process of building a control system for my PV's and genny and have decided to do that with an Arduino.

The Arduino has PWM outputs but I seriously doubt that they will be fast enough to directly drive a buck converter if I decided to implement one.

I am not entirely sure what can be achieved but it looks as though the base frequency can be set between 250Hz and 30kHz depending on the output in question and its internal timer settings.

There are two questions really:-
If I was planning to build a buck converter to drop 18v to 14v @ circa 7A how fast would it need to to be in order to be practical and efficient?

Can I directly multiply a PWM frequency, maintaining the duty cycle or would I be better using the 'slow' PWM to generate a reference voltage for an external oscillator generating a faster PWM signal?

Thanks in advance folks


Joined Oct 2, 2009
My impression is that you misunderstand a few concepts.

You do not need to multiply a frequency in order to control a buck converter. Instead you should control the duty cycle.

How quickly a typical MCU can respond depends on the clock frequency and capabilities of the specific MCU. Response times of 20μs are not unusual and hence 50kHz signals are possible.

You have to understand that you are attempting to build a servo controlled loop and this would require a PID control algorithm.


Joined Sep 30, 2009
And while I'm a dinosaur, an Ardino or other micro is not always the best choice. There are many converter ICs that will do what you want easier and are faster to implement. :)

Thread Starter


Joined Sep 4, 2010
Gents ...
Which concepts do I misunderstand.

My premises was that I don't know much about buck converters but that a general purpose uP probably isn't going to be a practical way to implement one.

"The Arduino has PWM outputs but I seriously doubt that they will be fast enough to directly drive a buck converter ..."

The Arduino happens to be one of the better choices for my control and HMI requirements and one of the things it needs to control is the output of a buck converter, actually several converters probably.

If the answers to my specific questions demonstrate that this basic uP cant directly control the buck switches then so be it, that is why I asked.

So I will ask again ...

What would my target frequency be if I wanted to build a 18v to 14v @ circa 7A.

Can I directly multiply a PWM frequency, maintaining the duty cycle.
EG. 500Hz@25% X100 giving 50kHz@25%

I appreciate that the PID loop drives the duty cycle not the base frequency ...
If what you are telling me is that Q2 is moot because the duty cycle within a buck circuit needs to adapt faster than a basic uP could control it than that again is fine, and is sort of why I asked.

What I need to end up with is a buck converter that I can set the output of from my uP.
Unless I am missing something fundamental there are only 3 options.

uP drives everything
(Note likely to work as the switching frequency would be limited.)

uP drives faster external PWN signal. Signal modified with software, the PID loop.
(Might work but will depend on how fast the PID loop needs to update in order to keep the converter output stable.)

uP provides set-point for totally separate external converter circuit, a dedicated chip, loopp and all, would be the sensible choice.
(Will work but requires more complex circuitry and will probably cost more.)

'many converter ICs'. Your not kidding, probably hundreds. Since I don't know what I am doing RE buck converters, hence the questions, could you give me a pointer or two even if it is only to suggest how I might go about picking one.

The only criteria I have now are current, voltage range and the requirement to modify the output voltage via the uP.
I am unlikely to make an informed choice with so little info ... Any chance of a leg up.

Please don't bother answering if you still think I said:-
"Can I build a buck converter with an Arduino"

Thread Starter


Joined Sep 4, 2010
Your right that looks like a great place to start thanks.

I expect that I will build from a dedicated chip or possibly even buy a module for my actual project but I would still like to learn how this type of circuit works if possible.

The learning requirement is why I want to play with it, buying one isn't going to educate me but I appreciate that it will probably outperform anything I can build.

I am still interested in comments re PWM and buck converter control loops.

Thanks again


Joined May 11, 2009
I think Microchip has some application notes on this topic. But the controllers that are used are quite powerful 16 or 32 bits. And also made special for this purpose if I remember correct