• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Frequency multiplication of 20% duty cycle signal

Thread starter #1
I need to double the output frequency of my cars VSS so it drives an after market Cruise control correctly.
If the duty cycle of the VSS signal was 50% there are many many easy ways to get a x2 result.
A 20% duty cycle is a real problem that I hope someone has the answer.
The attachment highlights the problem



Well-Known Member
Most Helpful Member
The output looks typical of on optical (or magnetic) oncoder on a shaft. What makes you think the duty is significant?

Thread starter #4
In your picture; What you call "garbage", have you tried it?
Or it is just a assumption?
I modeled the circuits in LTSpice to get the RC values correct and then constructed them.
Them = using an exclusive OR gate and the other using Schottky inverters.
The Schottky was more frequency tolerant over the desired range
Both worked perfect at 50%DC and both gave the same garbage when the input duty cycle was reduced
Garbage = two short ON states followed by a long OFF state ....repeated.

The Cruise control did not respond to the garbage and behaved as if there was no signal input.


Well-Known Member
Most Helpful Member
Here's a 555 circuit that uses feedback to generate a 50% duty-cycle output signal, independent of the input duty-cycle, within it's operating frequency limits.
U1 integrates the 555 output and adjusts current-mirror Q1-Q2, which controls the 555 one-shot time, to give an average output voltage of 50% of the peak voltage. This occurs only at a 50% duty-cycle.

The LTspice simulation is shown for input frequencies of 25Hz (yellow traces) and 111Hz (blue traces) with 20% duty-cycle.
The output duty-cycle is 50% for both frequencies, as desired.

The values shown are designed for a frequency variation of about 25 to 111Hz.
You may have to tweak the values of C3 and R5 for the VSS frequency variation you expect.
(What are the frequency lower and upper limits?)
The circuit operating limits are when the integrator output hits either the positive rail at a low frequency or ground at a high frequency.

You would then frequency double this signal for your cruise-control.

All of this, of course, could also be done fairly easily with a microprocessor.
You could measure the period of the Vss signal and divide that by 4 (simple 2-bit right shift).
Then you output 2 pulses for each input pulse with high and low times equal to the divide by 4 value, giving an output pulse train with half the input period and a 50% duty-cycle.



Last edited:


Well-Known Member
Most Helpful Member
Here's an alternative design, which (in simulation at least!) accepts various input duty cycles and pulse shapes, gives a 50% output duty cycle and enables adjustment of the ratio of the output and input frequencies (including non-integer ratios). I set myself the challenge of using a single IC, so the design is somewhat unusual :).
U1 is a hex inverter.
U1a,U1b,R1,R2 are configured as a Schmitt trigger inverter. Q1,Q2 ,Q3 provide a controlled current for charging/discharging C1, and together with the Schmitt inverter form a VCO whose frequency is controlled by the voltage on C2.
The VCO output drives a 'pseudo-monostable' Mono1 (C3,R6,U1d) to give fixed-width brief pulses which, via D2, act to pull down the top end of the pot and hence discharge C5.
The input pulses from the VSS trigger a true monostable circuit Mono2 (U1e,U1f,C4,R7,R8,D4) which outputs brief pulses having the same fixed width as those from Mono1 and which, via D3, act to pull up the bottom end of the pot and hence charge C5.
The pot sets the relative weighting of the pull up and pull down effects and hence the integrated mean voltage on C5. When this voltage crosses the threshold of U1c the gate output flips. U1c output is smoothed by R5,C2 to give the VCO control voltage. By virtue of this feedback, the voltage on C5 stabilises at close to the switching threshold of U1c, i.e. at about Vdd/2, and VCO frequency /VSS Input frequency is set by the pot.

The width of the fixed-width pulses might need to be tweaked according to the number of teeth on the reluctor wheel of the VSS.
The time constants R(pot)C5 and R5C2 will need tweaking depending on the input and output frequencies.


Last edited:
Thread starter #9
Hi Alec,

I could not find a potentiometer model that worked (ie did not get an error flag) I tried improvise but nothing....
FM my try.png

Can you share your potentiometer model
Thread starter #10
The honorable Curmudgeon Elektroniker, your model now has a different date ????
greg try.png

I am guessing but i think the LMC6484A model I got from the Google Group may not be good - it was labeled "Test" but was the only one I can find.


Well-Known Member
Most Helpful Member
Curmudgeon Elektroniker, your model now has a different date ?
Yes, I spelled by name wrong. :oops:
Otherwise the circuit is unchanged.

There's a mistake in my sim. V2 pulse should be 5V, not 10V.

You need to run the simulation at least 1.5s to allow the various long loop time-constants to settle.
100ms is not long enough.
Look at the Ref and FDBK voltages.
Please don't arbitrarily change my simulation parameters and then wonder why it doesn't work right. :rolleyes:
Thread starter #12
Sorry about that ...
When some one has worked tirelessly to prepare you a fine meal ... and you drown it in ketchup and salt before tasting it ....... highly disrespectful.
I will do better.
Thread starter #13
All is good when your instructions are followed,

Is there anything special about the uA555? can other 555 be used?
The same with the LMC6484A is there a more common/available substitute?
Being able to run the circuit at Automotive voltages would also be useful.


Well-Known Member
Most Helpful Member
Here's my pot model and symbol.

The sim needs to run for at least 1 sec to stabilise. (You can monitor the stabilisation by plotting the C2 voltage).
This circuit could run at a higher voltage (provided the output voltage doesn't exceed what the ECU is expecting), but in an automotive environment you would need a regulated supply voltage (e.g. 9V) and additional components for spike/surge/reverse-polarity protection.


Last edited:


Well-Known Member
Most Helpful Member
Is there anything special about the uA555? can other 555 be used?
No. Any 555 should work.
The same with the LMC6484A is there a more common/available substitute?
Any general purpose op amp with sufficient voltage rating and a rail-rail output should work.
Others I know of are the OPA197 and the TLV2372 but don't know if they are more common/available where you are (which you haven't stated).
Can't you readily buy the LMC6484?
Being able to run the circuit at Automotive voltages would also be useful.
Depends upon the peak-to-peak VSS output signal voltage.
Do you know what that is?
If different from the supply voltage, the input circuit may need to be tweaked.
Last edited:


Well-Known Member
Most Helpful Member
If different from the supply voltage, the input circuit may need to be tweaked.
That goes for my circuit design too. Inductive sensors can provide signals way above the nominal automotive 12V and the signals also swing negative, whereas a Hall sensor provides a fixed amplitude uni-polar signal. Which type of VSS sensor is being used here?
Thread starter #17
Mr Crutschow,

I do live on the edge of the planet (Darwin-Australia) .... all things are getable but can take weeks.
I tried replacing the LMC6484 with a LM324 and the Circuit operates perfectly -- identically as when run with the LMC6484
Same result at both ends of the frequency range.

VSS voltages are either 5V or whatever the 12v Battery / Charging system is generating. (switching type VSS)

I need to measure it.

I am not confident where it comes from. I am taking it from a VSS connector located on the back of the instrument panel.
This could be directly from the VSS or post Vehicle Management System.

I have tried Mr Crutschow's Circuit at 14V, it works but does not produce a 50%DC.
To adequately demonstrate my ignorance I assumed that R5 (50k) controls the feed back current.
By varying R5 I can get back to DC50% but not at both 25Hz and 111Hz for the same R5 value.
Obviously other changes are also required.

I need to combine this circuit with the Frequency doubling circuit.
Is it possible in LTSpice to combine 2 files?? and how??
Thread starter #18
thanks for the potentiometer.
Its tonights challenge if too much old grape juice does not get in my way....


Well-Known Member
Most Helpful Member
Here's the simulation with an LM324 at 14V, and it works for both 25Hz and 111Hz.

To get a 50% duty-cycle I did need to change the value of R1 to compensate for the output voltage change.
(V(Ref) is set at 50% of the output pulse amplitude, which is slightly less than the supply voltage).

I originally used a Rail-Rail opamp since it would give a higher dynamic range. but the LM324 is adequate for the simulated frequency range.




Well-Known Member
Most Helpful Member
Is it possible in LTSpice to combine 2 files?? and how?
Don't think so.
I just do a Duplicate of the circuit I want to transfer from one window to the other circuit window, which is allowed.
Select Duplicate from the Edit menu.
Then press and hold the left mouse button while drawing a frame around the circuit you want to duplicate.
Releasing the button captures that portion of the schematic.
Then drag the duplicate circuit to the other window and click the button where you want the circuit to be placed.
Be careful you don't overlap the other circuit or it will create a mess.
Select Undo if that happens.

Latest threads

EE World Online Articles