# How to increase the duty cycle of a square wave signal.

#### teliocide

Joined Sep 26, 2013
71
I need to increase the duty cycle of a square wave signal.
The signal is 40 Hz the duty cycle is 20%.
I need to push the duty cycle closer to 50%.
Any suggestions for a simple means to do this?

#### ScottWang

Joined Aug 23, 2012
6,956
The following methods maybe could reach the purpose.
1. Pulse → D Flip-Flop Qo → RC delay circuit → The output also connecting to the Reset pin → Output
2. Pulse → RC delay circuit → Schmitt Inverter → Schmitt Inverter → Output
3. Pulse → Retriggerable monostable circuit → Output

#### SLK001

Joined Nov 29, 2011
1,548
Yes, increase the on time of the 20% part to 50%. Naturally, the off time will decrease to 50% also.

#### MrChips

Joined Oct 2, 2009
22,069
There are different ways of doing this.

1) If you are generating your own signal, generate a signal at twice the frequency and clock a T-type flip-flop, i.e. a divide by 2 circuit.

2) Double the incoming frequency and then divide by 2.

3) You can use a voltage controlled oscillator that is phase-locked on to your incoming 40Hz signal.

4) Use a monostable multivibrator circuit that is set to give an output pulse of 12.5ms.

#### teliocide

Joined Sep 26, 2013
71
2. Pulse → RC delay circuit → Schmitt Inverter → Schmitt Inverter → Output

Would you not have to split the pulse? Put the RC delay on one pulse then add them together?

#### ScottWang

Joined Aug 23, 2012
6,956
2. Pulse → RC delay circuit → Schmitt Inverter → Schmitt Inverter → Output

Would you not have to split the pulse? Put the RC delay on one pulse then add them together?
This method just use the RC delay circuit to delay the pulse width and then use Schmitt Inverter to do the Wave shaping.

#### ScottWang

Joined Aug 23, 2012
6,956
1) If you are generating your own signal, generate a signal at twice the frequency and clock a T-type flip-flop, i.e. a divide by 2 circuit.
I have been used the similar method, this method has Synchronize issue if the new circuit have to follow the original signal.

2) Double the incoming frequency and then divide by 2.
I have thought about this method, it just needs more parts, otherwise this method is quit good.

#### crutschow

Joined Mar 14, 2008
25,634
2) Double the incoming frequency and then divide by 2.
Don't see how can do that for a 20% high square-wave and end up with a 50% high square-wave.

#### teliocide

Joined Sep 26, 2013
71
This method just use the RC delay circuit to delay the pulse width and then use Schmitt Inverter to do the Wave shaping.
So something like a CD40106B might be suitable?

#### ScottWang

Joined Aug 23, 2012
6,956
Don't see how can do that for a 20% high square-wave and end up with a 50% high square-wave.
Double the incoming frequency from 40Hz to 80 Hz, and divided by 2 then it can get a 50% duty cycle ouput, I did that before and there are two methods to double the incoming frequency, my method is more traditional and were to used hex Schmitt-Trigger Inverters from an inverter ic and plus some more RC components, another one is get from Internet and it was used two ic, but the circuit is more simple, maybe you can search it.

#### teliocide

Joined Sep 26, 2013
71
Yes, CD40106B or 74HC14, MC14584, they are all have hex Schmitt-Trigger Inverters.
I had a go with this with LTspice and got no where.
I was guessing the RC values but obviously guessed very wrong.

#### MrChips

Joined Oct 2, 2009
22,069
MC14538 or CD4538 dual monostable multivibrator set for 12.5ms pulse-width is the simple solution.

Alternatives are MC14528, CD4528 or TTL chips such as 74LS123 or any 74??123.

#### crutschow

Joined Mar 14, 2008
25,634
Here's an LTspice simulation of a CD40106 circuit to increase the duty-cycle.
The RC value determines the amount of delay on the trailing edge of the input.
R1 can be a pot if you want to make it adjustable.

Last edited:

#### teliocide

Joined Sep 26, 2013
71
Thanks,

I was missing the diode......once added worked perfectly.

#### teliocide

Joined Sep 26, 2013
71
Now I discover this only works over a very small frequency range.
I have a varying input frequency.
After much much hunting I found a circuit that claims operate over a broad frequency range
Whether it will be broad enough only testing will tell.
As my LTSpice does not have a 74AHC74 model I will substitute a HEF4013B as I have this model.
Is this excessively optimistic ???
What I do not have and have failed to find is the LTspice model for ADCMP601 .
Can someone please share there model?

This is the circuit - Only the yellow section to be used

Thanks

Greg

#### crutschow

Joined Mar 14, 2008
25,634
I have a varying input frequency.
It would have saved us a bunch of effort if you had said that right away.
What I do not have and have failed to find is the LTspice model for ADCMP601 .
Can someone please share there model?
I don't have it.
But if you maximum frequency isn't too high, you could probably use a lower frequency comparator such as an LM339/LM393.
his is the circuit - Only the yellow section to be used
I believe the whole circuit has to be used.
Why do you think you only need the yellow section?

#### teliocide

Joined Sep 26, 2013
71
It was the manner in which the entire article was written .... the inference was vague but easily interpreted or miss-interpreted
that their yellow high-lighted section was all that was required.

I will give it a try with the HEF4013B and LM339/LM393 combination.

Its a bit like changing the recipe without having ever tried it.
Ltspice is good for old brains

#### Kjeldgaard

Joined Apr 7, 2016
424
As @crutschow writes, it's an important information, that it's a variable input frequency - but what is the desired range?

Because if it's a relatively narrow band, then a standard CMOS Phase Lock Loop" might be the solution. A circuit could be a 4046 and a 4013 plus less than ten passive components.

#### MrChips

Joined Oct 2, 2009
22,069
Where was the "varying input frequency" specification in your initial post?

In that case, that eliminates most of the options except a phase-locked loop solution.

Now you need to specify the range of input frequencies.