# How to add duty cycle on a PWM signal

Here the situation. I have 2 fans controlled by 1 PWM signal. Works perfectly like that.

Now, I want to trick one to be always 40% ahead of the other (and mechanically, have a minimum speed of 40%).

so for instance :

• PWM signal is 20% : Fan 1 goes at 20% of the speed, Fan 2 goes at 60% of the speed
• PWM signal is 40% : Fan 1 goes at 40% of the speed, Fan 2 goes at 80% of the speed
• PWM signal is 60% : Fan 1 goes at 60% of the speed, Fan 2 goes at full speed
• PWM signal is 80% : Fan 1 goes at 80% of the speed, Fan 2 goes at full speed

Any idea of a circuitry that could modify the PWM signal for my fan 2?

I do not need it to be perfectly accurate on the percentage,even if the added value fluctuates between beginning of the scale and end of the scale, that would be OK.

• I have no final solution here, but some random trails that popped into my mind: fan 1 could receive the initial PWM signal and fan 2 needs either to keep a stable output a fixed amount after the falling edge is detected or finding a way to add a properly time delayed signal. My guess would be that the former proposition might work better. Maybe adding a 555 monostable that will trigger on falling edge of your PWM for a fixed duration. Then you add up your initial PWM and your monostable together for the 2nd PWM signal. Quite similar to user's approach, but using different parts! May 8, 2018 at 1:56
• What is the frequency of the PWM? May 8, 2018 at 2:00
• No space left: if you have all parts available, would you mind doing both approaches? I'm quite curious to see if they could both work in a similar way. May 8, 2018 at 2:00
• @NickAlexeev : 25kHz May 8, 2018 at 9:41
• @SimonMarcoux : will try to do so May 8, 2018 at 9:42

I think this circuit should be able to do the task

Vi should be the fan 1 signal and Vo the fan 2 signal. The low going edge of Vo is always that of Vi delayed by a constant time value which depends on R, C and the threshold voltages of the Schmitt trigger not gates (e.g. CD40106).

If my math is not failing the delayed time ("d" in the picture) should be d=RC*ln(Vh/(Vh-Vlth)) where Vh is the high output voltage value and Vlth is the low-to-high voltage threshold.

• Note that if fan 1 is totally off, so will be fan 2. May 8, 2018 at 2:01
• Could a off state for fan 1 be a ridiculously small PWM value that looks like a dirac? I assume that the PWM is programmable in some kind of way. May 8, 2018 at 2:36
• Thanks, I'll test that and mark as answer if it is good. May 8, 2018 at 4:30

Perhaps you need 2 PWM signals：one for Fan 1,the other for Fan 2.

• Unfortunately, this is clearly not a proper solution if you take a look at how his question was constructed. May 8, 2018 at 1:46
• Yes, that somewhat what I am trying to do... create a second signal out of the first one... May 8, 2018 at 1:46