Generate pwm using ic 555
Introduction

IC 555 is an astable multivibrator (oscillator).
Frequency: The ON time is defined by the time taken to its capacitor to charge to 2/3 (1/e??) level through pin7 resistor, and the OFF time is the discharging time of the capacitor through pin7, 1/3. See the precise numbers from [1].
Monostable state. Bistable state. [2]
Theory
The resistance is much smaller than the resistance of the potentiometer, for example, 1K compared to 100K of the potentiometer. In that way we have 99% control over the charging and discharging resistance in the circuit. See https://electronics.stackexchange.com/questions/175967/how-do-i-use-pin5-to-control-duty-cycle-of-a-555-based-pwm
The output of the 555 timer can source a current of 200mA to the load.
- Use MOSFET (eg TIP122 Darlington transistor; 5A) for driving the motor.
To obtain a zero percent (0%) duty cycle, the oscillator need to stop oscillating. One option is to use a parallel resistor to use some of the current.
Method 1; the simple
-
The simple 555 circuit.
-
The differences in and output. Note that more than 50% pwm is not obtained
The capacitor is charging through and but discharges only through using IC 555. Thus should be a potentiometer.
The F capacitor is to ensure that the CTRL and GND stays on the same voltage level. The CTRL pin of the 555 is to level out any fluctuations in the power supply voltage that might affect the operation.
File:555 simple 300 300.circuitjs.txt is a falstad file.
pwm% | ||||||
---|---|---|---|---|---|---|
300 | 300 | 300 nF | 0.000125 | 0.0000624 | 0.67 | 5333 |
300 | 300 | 30 nF | 0.0000125 | 0.00000624 | 0.67 | 53333 |
300 | 300 | 3 uF | 0.00125 | 0.000624 | 0.67 | 533 |
3000 | 300 | 300 nF | 0.000686 | 0.0000624 | 0.92 | 1333 |
300 | 3000 | 300 nF | 0.000686 | 0.000624 | 0.52 | 762 |
300 | 30000 | 300 nF | 0.00630 | 0.00624 | 0.50 | 80 |
See the file File:555 simple calculations.ods for interactive Libre Office file.
It might be difficult to obtain less than 50% duty cycle with this system; no full range (0%-100%) can be achieved, also then it is not a bistable oscillator.
Parts
- 555 times
- 2x capacitor
- Potentiometer
- Resistor
- Resistor
Method 2; Longer low time: Diodes

Note that there exists multiple different placements for diodes! I do not follow all of these, yet.
If needed a shorter high time and longer low time, a diode can be connected across with cathode on the capacitor side. It is called the PWM mode. The charge and discharge timing of the capacitor is bifurcated through separate channels using diodes. Aso, is replaced with a potentiometer.
See [4] for more text. This might be a good: [5].
Method 3: Transistor

The 555 can source or sink (supply or pass to ground) around 200mA, thus to drive larger currents we need an output circuit. The 555 will work from 5 to 15 volts, thus a same voltage source can be used. FOr controlling the motor we use TIP31 NPN transistor (max 3A).
Parts
- TIP31 NPN Transistor
- 12V Motor or a dimmable load
https://diyodemag.com/education/fundamentals_versatile_555_timer_pwm_control
- But more diodes
Method 3: MOSFET
Mosfet allows more current (they operate on a totally different electrical principle).
- BJT operation is based on current control. Less efficient (higher power dissipation). Lower input impedance. Superior linearity.
- Mosfet operation is based on voltage control. More efficient. Higher switching speed. Better thermal stability. High input impedance.
Method 2: More Diodes
The diodes are used for direction control and protection of the circuit.
555 internal design and theory
See https://www.electronicshub.org/555-timer-pwm/
and the internal circuit looks like below:
Simulation
Simulation is done using https://www.falstad.com/circuit/circuitjs.html simulation software. The corresponding editable circuit file is downloadable.
References
https://www.homemade-circuits.com/how-to-use-ic-555-for-generating-pwm/
https://www.electronicshub.org/555-timer-pwm/
- ↑ https://electronics.stackexchange.com/questions/454406/what-do-0-693-and-1-1-and-1-44-mean-in-ic-555-calculations/454443#454443
- ↑ https://www.build-electronic-circuits.com/555-timer/
- ↑ https://electronics.stackexchange.com/questions/175967/how-do-i-use-pin5-to-control-duty-cycle-of-a-555-based-pwm
- ↑ https://www.homemade-circuits.com/timer-ic-555-explained/
- ↑ https://www.electronics-tutorials.ws/waveforms/555-circuits-part-1.html
- ↑ https://diyodemag.com/education/fundamentals_versatile_555_timer_pwm_control
- ↑ https://how2electronics.com/pwm-based-dc-motor-speed-control-using-555-timer/