# Using 555 to generate square signal with fixed duty cycle / variable frequency

I am attempting to design a circuit whose output is a square wave with the following properties:

• Fixed duty cycle, as high as possible (let's say 99%)

I imagined (naively?) that such a thing would be possible using a 555 timer, wired up in astable configuration. I began exploring the problem space using an online tool that calculates duty cycle / frequency for given values of R1, R2, and C (see diagram).

It would appear that, at least in theory, I could achieve the desired effect with the following setup:

• Some fixed, reasonably high ratio of values for R1:R2 (e.g., R1 = 1 megohm / R2 = 1 kilohm); this sets the duty cycle high
• Varying the capacitor between 0.1 and 10 microfarads; this varies the frequency within my desired range without affecting duty cycle

The big problem would be in realizing this circuit with actual components. At least to my knowledge, there is no such thing as a variable capacitor with that sort of range.

I am left wondering if there is some other way to configure a 555 (besides the typical layout given above), which would provide a more realistic way to tweak frequency while holding duty cycle constant.

Alternatively, I'd be open to any suggestions on how to achieve variable capacitance from 0.1 to 10 microfarads.

Finally, I'm open to any non-555 implementations that achieve my desired result. The simpler, the better.

• Do you really care about the duty cycle per se, or would just a fixed-length pulse (say low for 1usec) triggered at a variable frequency (0.2 ~ 20Hz) work as well? Mar 10, 2014 at 21:04
• Does the duty cycle actually matter, or would pulses of, say, 0.5ms be good enough? If that is the case then you could send the output of your circuit to a monostable 555 circuit. Dual-555 chips are available: the 556. (I see Spehro is faster at typing than me :) Mar 10, 2014 at 21:07
• How about a pot controlling a capacitance multiplier?? bottom of homepages.internet.lu/absolute3/tronic/opcirc3.htm -- I've never tried to use one of these, so I can't even say YMMV Mar 10, 2014 at 22:28
• You could use an 8-pin MCU like a PIC12675. Sample an analog voltage (e.g. from a pot) to determine the required frequency, and use timer interrupts to produce a PWM signal with the required frequency and 50% duty. Mar 11, 2014 at 8:29
• Depending on your accuracy requirements, you could make R2 very very low (10 Ohm??) and vary R1. For a realy extreme duty cycle you can put a diode over R2. Mar 11, 2014 at 16:32

If the duty cycle itself does not matter and the requirement is for pulses of, say, 0.5ms, then you could send the output of your circuit to a monostable 555 circuit. Dual-555 chips are available: the 556.

• This is a good way to go about it/ Mar 13, 2014 at 16:22

You can try varying the voltage on pin 5 - this sets the upper and lower thresholds inside the comparator and if you lower these (by setting pin 5 to a lower voltage) the frequency will increase. I can't remember how much control there is using pin 5 but I suspect a 10:1 frequency range should be feasible.

Unconnected, pin 5 is at two-thirds the supply voltage and if Vs is 9V then Vc will be at about 6V. Lowering Vc to about 2V should be OK and this will get you about 3 times the frequency. Lifting pin 5 to 9V (maybe you can go above) will lower the frequency by about 30%.

Here's what the charge-discharge looks like: -

Pin 5 has access to the point where the voltage is $\frac{2}{3} V_S$ - in effect lowering this will also lower the one-third threshold and reduce the "gap" in volts between the two.

I think if you did a bit of googling on pin 5 control you'll get a more accurate answer than mine.

I prefer to use a ring oscillator built out of 3 Schmitt inverters, 2 resistors, 2 diodes and a capacitor to have independent control over duty cycle. This answer only complements Andy's as the way to vary the frequency independently is by controlling Vs. The ring oscillator, if built well, can reach higher frequencies and use less power than the 555.