A circuit which enables a user to linearly control the speed of a connected motor by rotating an attached potentiometer is called a motor speed controller circuit.
3 easy to build speed controller circuits for DC motors are presented here, one using MOSFET IRF540, second using IC 555 and the third concept with IC 556 featuring torque processing.
Design#1: Mosfet based DC Motor Speed Controller
A very cool and easy DC motor speed controller circuit could be build using a just a single mosfet, a resistor, and a pot, as shown below:
Using a BJT Emitter Follower
As can be seen the mosfet is rigged as a source follower or a common drain mode, to learn more about this configuration you may refer to this post, which discusses a BJT version, nevertheless the working principle remains the same.
In the above DC motor controller design, the pot adjustment creates a varying potential difference across the gate of the mosfet, and the source pin of the mosfet simply follows the value of this potential difference and adjusts the voltage across the motor accordingly.
It implies that the source will be always 4 or 5V lagging behind the gate voltage and vary up/down with this difference, presenting a varying voltage between 2V and 7V across the motor.
When the gate voltage is around 7V, the source pin will supply the minimum 2V to the motor causing a very slow spin on the motor, and 7V will be available across the source pin when the pot adjustment generates the full 12V across the gate of the mosfet.
Here we can clearly see that the mosfet source pin seems to be "following" the gate and hence the name source follower.
This happens because the difference between the gate and the source pin of the mosfet must be always around 5V, in order to enable the mosfet to conduct optimally.
Anyway, the above configuration helps to enforce a smooth speed control on the motor, and the design could be built quite cheaply.
A BJT could be also used in place of the mosfet, and in fact a BJT would produce a higher control range of about 1V to 12V across the motor.
When it comes to controlling motor speed uniformly and efficiently, a PWM based controller becomes the ideal option, here we will learn more, regarding a simple circuit to implement this operation.
Design#2: PWM DC Motor Control with IC 555
The design of a simple motor speed controller using PWM may be understood as follows:
Initially when the circuit is powered, the trigger pin is in a logic low position since the capacitor C1 is not charged.
The above conditions initiates the oscillation cycle, making the output change to a logic high.
A high output now forces the capacitor to charge via D2.
On reaching a voltage level that's 2/3 of the supply, pin #6 which is the threshold of the IC triggers.
The moment pin #6 triggers, pin #3 and pin #7 reverts to logic low.
With pin #3 at low, C1 yet again begins discharging via D1, and when the voltage across C1 falls below the level that's 1/3 of the supply voltage, pin #3 and pin #7 again become high, causing the cycle to follow and go on repeating.
It is interesting to note that, C1 has two discretely set paths for the process of charging and discharging via the diodes D1, D2 and through the resistance arms set by the pot respectively.
It means the sum of the resistances encountered by C1 while charging and discharging remains the same no matter how the pot is set, therefore the wavelength of the out put pulse always remains the same.
However, since the charging or the discharging time periods depends upon the resistance value encountered in their paths, the pot discretely sets the these time periods as per the its adjustments.
Since the charge and discharge time periods is directly connected with the output duty cycle, it varies according to the adjustment of the pot, giving form to the intended varying PWM pulses at the output.
The average result of the mark/space ratio gives rise to the PWM output which in turn controls the DC speed of the motor.
The PWM pulses are fed to the gate of a mosfet which reacts and controls the connected motor current in response to the setting of the pot.
The current level through the motor decides it speed and thus implements the controlling effect via the pot.
The frequency of the output from the IC may be calculated with the formula:
F = 1.44(VR1*C1)
The mosfet can be selected as per the requirement or the load current.
The circuit diagram of the proposed DC motor speed controller can be seen below:
Video Testing Proof:
In the above video clip we can see how the IC 555 based design is used for controlling speed of a DC motor. As you may witness, although the bulb works perfectly in response to the PWMs and varies its intensity from minimum glow to maximum low, the motor does not.
The motor initially does not respond to the narrow PWMs, rather starts with a jerk after the PWMs are adjusted to significantly higher pulse widths.
This does not mean the circuit has problems, it is because the DC motor armature is held between a pair of magnets tightly. To initiate a start the armature has to jump its rotation across the two poles of the magnet which cannot happen with a slow and gentle movement. It has to initiate with a thrust.
That's exactly why the motor initially requires a higher adjustments for the PWM and once the rotation is initiated the armature gains some kinetic energy and now achieving slower speed becomes feasible through narrower PWMs.
However still, getting the rotation to a barely moving slow status can be impossible because of the same reason as explained above.
I tried my best to improve the response and achieve a slowest possible PWM control by making a few modifications in the first diagram as shown below:
Having said this, the motor could show a better control at the slower levels if the motor is attached or strapped with a load through gears or pulley system.
This may happen because the load will act as a damper and help to provide a controlled movement during the slower speed adjustments.
Design#3: Using IC 556 for Enhanced Speed Control
Varying a DC motor velocity may appear to be not so difficult and you may find plenty of circuits for it.
However these circuits do not guarantee consistent torque levels at lower motor speeds, making the functioning quite inefficient.
Moreover at very low speeds due to insufficient torque, the motor tends to stall.
Another serious drawback is that, there’s no motor reversal feature included with these circuits.
The proposed circuit is completely free from the above shortcomings and is able to generate and sustain high torque levels even at lowest possible speeds.
Before we discuss the proposed PWM motor controller circuit, we would also want to learn the simpler alternative which is not so efficient. Nonetheless, it may be considered reasonably good as long as the load over the motor is not high, and as long as the speed is not reduced to minimum levels.
The figure shows how a single 556 IC can be employed for controlling speed of a connected motor, we won’t go into the details, the only notable drawback of this configuration is that the torque is directly proportional to the speed of the motor.
Coming back to the proposed high torque speed controller circuit design, here we have used two 555 ICs instead of one or rather a single IC 556 that contains two 555 ICs in one package.
Briefly the proposed DC motor controller includes the following interesting features:
Speed can be varied continuously right from zero to maximum, without stalling.
The torque is never affected by the speed levels and remains constant even at minimum speed levels.
The motor rotation can be flipped or reversed within a fraction of second.
The speed is variable in both the directions of the motor rotation.
The two 555 ICs are assigned with two separate functions. One sections is configures as an astable multivibrator generating 100 Hz square wave clocks which is fed to the preceding 555 section inside the package.
The above frequency is responsible for determining the frequency of the PWM.
The transistor BC 557 is used as a constant current source which keeps the adjoining capacitor at its collector arm charged.
This develops a saw-tooth voltage across the above capacitor, which is compared inside the 556 IC with the sample voltage applied externally over over the shown pin-out.
The sample voltage applies externally can be derived from a simple 0-12V variable voltage power supply circuit.
This varying voltage applied to the 556 IC is used to vary the PWM of the pulses at the output and which eventually is used for the speed regulation of the connected motor.
The switch S1 is used to instantly reverse the motor direction whenever required.
- R1, R2, R6 = 1K,
- R3 = 150K,
- R4, R5 = 150 Ohms,
- R7, R8, R9, R10 = 470 Ohms,
- C1 = 0.1uF,
- C2, C3 = 0.01uF,
- C4 = 1uF/25VT1,
- T2 = TIP122,
- T3, T4 = TIP127
- T5 = BC557,
- T6, T7 = BC547,
- D1---D4 = 1N5408,
- Z1 = 4V7 400mW
- IC1 = 556,
- S1 = SPDT toggle switch
The above circuit was inspired from the following motor driver circuit which was published long back in elecktor electronic India magazine.
Controlling Motor Torque using IC 555
The first motor control diagram can be much simplified by using a DPDT switch for the motor reversal operation, and by using an emitter follower transistor for the speed control implementation, as shown below: