Advertisement

DC Motors

DC Motors

DC Motors are electromechanical devices which use the interaction of magnetic fields and conductors to convert the electrical energy into rotary mechanical energy

Electrical DC Motors are continuous actuators that convert electrical energy into mechanical energy. The DC motor achieves this by producing a continuous angular rotation that can be used to rotate pumps, fans, compressors, wheels, etc.

As well as conventional rotary DC motors, linear motors are also available which are capable of producing a continuous liner movement. There are basically three types of conventional electrical motor available: AC type Motors, DC type Motors and Stepper Motors.

small dc motor

A Typical Small DC Motor

AC Motors are generally used in high power single or multi-phase industrial applications were a constant rotational torque and speed is required to control large loads such as fans or pumps.

In this tutorial on electrical motors we will look only at simple light duty DC Motors and Stepper Motors which are used in many different types of electronic, positional control, microprocessor, PIC and robotic type circuits.

The Basics of DC Motors

The DC Motor or Direct Current Motor to give it its full title, is the most commonly used actuator for producing continuous movement and whose speed of rotation can easily be controlled, making them ideal for use in applications were speed control, servo type control, and/or positioning is required. A DC motor consists of two parts, a “Stator” which is the stationary part and a “Rotor” which is the rotating part. The result is that there are basically three types of DC Motor available.

  • Brushed Motor – This type of motor produces a magnetic field in a wound rotor (the part that rotates) by passing an electrical current through a commutator and carbon brush assembly, hence the term “Brushed”. The stators (the stationary part) magnetic field is produced by using either a wound stator field winding or by permanent magnets. Generally brushed DC motors are cheap, small and easily controlled.
  • Brushless Motor – This type of motor produce a magnetic field in the rotor by using permanent magnets attached to it and commutation is achieved electronically. They are generally smaller but more expensive than conventional brushed type DC motors because they use “Hall effect” switches in the stator to produce the required stator field rotational sequence but they have better torque/speed characteristics, are more efficient and have a longer operating life than equivalent brushed types.
  • Servo Motor – This type of motor is basically a brushed DC motor with some form of positional feedback control connected to the rotor shaft. They are connected to and controlled by a PWM type controller and are mainly used in positional control systems and radio controlled models.

Normal DC motors have almost linear characteristics with their speed of rotation being determined by the applied DC voltage and their output torque being determined by the current flowing through the motor windings. The speed of rotation of any DC motor can be varied from a few revolutions per minute (rpm) to many thousands of revolutions per minute making them suitable for electronic, automotive or robotic applications. By connecting them to gearboxes or gear-trains their output speed can be decreased while at the same time increasing the torque output of the motor at a high speed.

“Brushed” DC Motors

A conventional brushed DC Motor consist basically of two parts, the stationary body of the motor called the Stator and the inner part which rotates producing the movement called the Rotor or “Armature” for DC machines.

The motors wound stator is an electromagnet circuit which consists of electrical coils connected together in a circular configuration to produce the required North-pole then a South-pole then a North-pole etc, type stationary magnetic field system for rotation, unlike AC machines whose stator field continually rotates with the applied frequency. The current which flows within these field coils is known as the motor field current.

These electromagnetic coils which form the stator field can be electrically connected in series, parallel or both together (compound) with the motors armature. A series wound DC motor has its stator field windings connected in series with the armature. Likewise, a shunt wound DC motor has its stator field windings connected in parallel with the armature as shown.

Series and Shunt Connected DC Motor

series and shunt dc motor

 

The rotor or armature of a DC machine consists of current carrying conductors connected together at one end to electrically isolated copper segments called the commutator. The commutator allows an electrical connection to be made via carbon brushes (hence the name “Brushed” motor) to an external power supply as the armature rotates.

The magnetic field setup by the rotor tries to align itself with the stationary stator field causing the rotor to rotate on its axis, but can not align itself due to commutation delays. The rotational speed of the motor is dependent on the strength of the rotors magnetic field and the more voltage that is applied to the motor the faster the rotor will rotate. By varying this applied DC voltage the rotational speed of the motor can also be varied.

Conventional (Brushed) DC Motor

brushed dc motor

 

The Permanent magnet (PMDC) brushed DC motor is generally much smaller and cheaper than its equivalent wound stator type DC motor cousins as they have no field winding. In permanent magnet DC (PMDC) motors these field coils are replaced with strong rare earth (i.e. Samarium Cobolt, or Neodymium Iron Boron) type magnets which have very high magnetic energy fields.

The use of permanent magnets gives the DC motor a much better linear speed/torque characteristic than the equivalent wound motors because of the permanent and sometimes very strong magnetic field, making them more suitable for use in models, robotics and servos.

Although DC brushed motors are very efficient and cheap, problems associated with the brushed DC motor is that sparking occurs under heavy load conditions between the two surfaces of the commutator and carbon brushes resulting in self generating heat, short life span and electrical noise due to sparking, which can damage any semiconductor switching device such as a MOSFET or transistor. To overcome these disadvantages, Brushless DC Motors were developed.

The “Brushless” DC Motor

The brushless DC motor (BDCM) is very similar to a permanent magnet DC motor, but does not have any brushes to replace or wear out due to commutator sparking. Therefore, little heat is generated in the rotor increasing the motors life. The design of the brushless motor eliminates the need for brushes by using a more complex drive circuit were the rotor magnetic field is a permanent magnet which is always in synchronisation with the stator field allows for a more precise speed and torque control.

Then the construction of a brushless DC motor is very similar to the AC motor making it a true synchronous motor but one disadvantage is that it is more expensive than an equivalent “brushed” motor design.

The control of the brushless DC motors is very different from the normal brushed DC motor, in that it this type of motor incorporates some means to detect the rotors angular position (or magnetic poles) required to produce the feedback signals required to control the semiconductor switching devices. The most common position/pole sensor is the “Hall Effect Sensor”, but some motors also use optical sensors.

Using Hall effect sensors, the polarity of the electromagnets is switched by the motor control drive circuitry. Then the motor can be easily synchronized to a digital clock signal, providing precise speed control. Brushless DC motors can be constructed to have, an external permanent magnet rotor and an internal electromagnet stator or an internal permanent magnet rotor and an external electromagnet stator.

Advantages of the Brushless DC Motor compared to its “brushed” cousin is higher efficiencies, high reliability, low electrical noise, good speed control and more importantly, no brushes or commutator to wear out producing a much higher speed. However their disadvantage is that they are more expensive and more complicated to control.

The DC Servo Motor

DC Servo motors are used in closed loop type applications were the position of the output motor shaft is fed back to the motor control circuit. Typical positional “Feedback” devices include Resolvers, Encoders and Potentiometers as used in radio control models such as aeroplanes and boats etc.

A servo motor generally includes a built-in gearbox for speed reduction and is capable of delivering high torques directly. The output shaft of a servo motor does not rotate freely as do the shafts of DC motors because of the gearbox and feedback devices attached.

DC Servo Motor Block Diagram

dc servo motor

 

A servo motor consists of a DC motor, reduction gearbox, positional feedback device and some form of error correction. The speed or position is controlled in relation to a positional input signal or reference signal applied to the device.

rc servo motor

RC Servo Motor

The error detection amplifier looks at this input signal and compares it with the feedback signal from the motors output shaft and determines if the motor output shaft is in an error condition and, if so, the controller makes appropriate corrections either speeding up the motor or slowing it down. This response to the positional feedback device means that the servo motor operates within a “Closed Loop System”.

As well as large industrial applications, servo motors are also used in small remote control models and robotics, with most servo motors being able to rotate up to about 180 degrees in both directions making them ideal for accurate angular positioning. However, these RC type servos are unable to continually rotate at high speed like conventional DC motors unless specially modified.

A servo motor consist of several devices in one package, the motor, gearbox, feedback device and error correction for controlling position, direction or speed. They are widely used in robotics and small models as they are easily controlled using just three wires, Power, Ground and Signal Control.

DC Motor Switching and Control

Small DC motors can be switched “On” or “Off” by means of switches, relays, transistors or MOSFET circuits with the simplest form of motor control being “Linear” control. This type of circuit uses a bipolar Transistor as a Switch (A Darlington transistor may also be used were a higher current rating is required) to control the motor from a single power supply.

By varying the amount of base current flowing into the transistor the speed of the motor can be controlled for example, if the transistor is turned on “half way”, then only half of the supply voltage goes to the motor. If the transistor is turned “fully ON” (saturated), then all of the supply voltage goes to the motor and it rotates faster. Then for this linear type of control, power is delivered constantly to the motor as shown below.

Motor Speed Control

motor speed control circuit

 

The simple switching circuit above shows the circuit for a Uni-directional (one direction only) motor speed control circuit. As the rotational speed of a DC motor is proportional to the voltage across its terminals, we can regulate this terminal voltage using a transistor.

The two transistors are connected as a darlington pair to control the main armature current of the motor. A 5kΩ potentiometer is used to control the amount of base drive to the first pilot transistor TR1, which in turn controls the main switching transistor, TR2 allowing the motor’s DC voltage to be varied from zero to Vcc, in this example 9 to 12 volts.

Optional flywheel diodes are connected across the switching transistor, TR2 and the motor terminals for protection from any back emf generated by the motor as it rotates. The adjustable potentiometer could be replaced with continuous logic “1” or logic “0” signal applied directly to the input of the circuit to switch the motor “fully-ON” (saturation) or “fully-OFF” (cut-off) respectively from the port of a micro-controller or PIC.

As well as this basic speed control, the same circuit can also be used to control the motors rotational speed. By repeatedly switching the motor current “ON” and “OFF” at a high enough frequency, the speed of the motor can be varied between stand still (0 rpm) and full speed (100%) by varying the mark-space ratio of its supply. This is achieved by varying the proportion of “ON” time (tON) to the “OFF” time (tOFF) and this can be achieved using a process known as Pulse Width Modulation.

Pulse Width DC Motors Speed Control

We said previously that the rotational speed of a DC motor is directly proportional to the mean (average) voltage value on its terminals, and the higher this value, up to maximum allowed motor volts, the faster the motor will rotate. In other words more voltage more speed. By varying the ratio between the “ON” (tON) time and the “OFF” (tOFF) time durations, called the “Duty Ratio”, “Mark/Space Ratio” or “Duty Cycle”, the average value of the motor voltage and hence its rotational speed can be varied. For simple unipolar drives the duty ratio β is given as:

dc motor duty cycle

 

and the mean DC output voltage fed to the motor is given as: Vmean = β x Vsupply. Then by varying the width of pulse a, the motor voltage and hence the power applied to the motor can be controlled and this type of control is called Pulse Width Modulation or PWM.

Another way of controlling the rotational speed of the motor is to vary the frequency (and hence the time period of the controlling voltage) while the “ON” and “OFF” duty ratio times are kept constant. This type of control is called Pulse Frequency Modulation or PFM.

With pulse frequency modulation, the motor voltage is controlled by applying pulses of variable frequency for example, at a low frequency or with very few pulses the average voltage applied to the motor is low, and therefore the motor speed is slow. At a higher frequency or with many pulses, the average motor terminal voltage is increased and the motor speed will also increase.

Then, Transistors can be used to control the amount of power applied to a DC motor with the mode of operation being either “Linear” (varying motor voltage), “Pulse Width Modulation” (varying the width of the pulse) or “Pulse Frequency Modulation” (varying the frequency of the pulse).

Reversing the Direction of a DC Motor

While controlling the speed of a DC motor with a single transistor has many advantages it also has one main disadvantage, the direction of rotation is always the same, its a “Uni-directional” circuit. In many applications we need to operate the motor in both directions forward and back.

To control the direction of a DC motor, the polarity of the DC power applied to the motor’s connections must be reversed allowing its shaft to rotate in the opposite direction. One very simple and cheap way to control the rotational direction of a DC motor is to use different switches arranged in the following manner:

DC Motors Directional Control

dc motor directional control

 

The first circuit uses a single double-pole, double-throw (DPDT) switch to control the polarity of the motors connections. By changing over the contacts the supply to the motors terminals is reversed and the motor reverses direction. The second circuit is slightly more complicated and uses four single-pole, single-throw (SPST) switches arranged in an “H” configuration.

The mechanical switches are arranged in switching pairs and must be operated in a specific combination to operate or stop the DC motor. For example, switch combination A + D controls the forward rotation while switches B + C control the reverse rotation as shown. Switch combinations A + B or C + D shorts out the motor terminals causing it to brake quickly. However, using switches in this manner has its dangers as operating switches A + C or B + D together would short out the power supply.

While the two circuits above would work very well for most small DC motor applications, do we really want to operate different combinations of mechanical switches just to reverse the direction of the motor, NO!. We could change the manual switches for set of Electromechanical Relays and have a single forward-reverse button or switch or even use a solid state CMOS 4066B quad bilateral switch.

But another very good way of achieving bi-directional control of a motor (as well as its speed) is to connect the motor into a Transistor H-bridge type circuit arrangement as shown below.

Basic Bi-directional H-bridge DC Motors Circuit

dc motor h-bridge circuit

 

The H-bridge circuit above, is so named because the basic configuration of the four switches, either electro-mechanical relays or transistors resembles that of the letter “H” with the motor positioned on the centre bar. The Transistor or MOSFET H-bridge is probably one of the most commonly used type of bi-directional DC motor control circuits. It uses “complementary transistor pairs” both NPN and PNP in each branch with the transistors being switched together in pairs to control the motor.

Control input A operates the motor in one direction ie, Forward rotation while input B operates the motor in the other direction ie, Reverse rotation. Then by switching the transistors “ON” or “OFF” in their “diagonal pairs” results in directional control of the motor.

For example, when transistor TR1 is “ON” and transistor TR2 is “OFF”, point A is connected to the supply voltage (+Vcc) and if transistor TR3 is “OFF” and transistor TR4 is “ON” point B is connected to 0 volts (GND). Then the motor will rotate in one direction corresponding to motor terminal A being positive and motor terminal B being negative.

If the switching states are reversed so that TR1 is “OFF”, TR2 is “ON”, TR3 is “ON” and TR4 is “OFF”, the motor current will now flow in the opposite direction causing the motor to rotate in the opposite direction.

Then, by applying opposite logic levels “1” or “0” to the inputs A and B the motors rotational direction can be controlled as follows.

DC Motor H-bridge Truth Table

Input A Input B Motor Function
TR1 and TR4 TR2 and TR3  
0 0 Motor Stopped (OFF)
1 0 Motor Rotates Forward
0 1 Motor Rotates Reverse
1 1 NOT ALLOWED

It is important that no other combination of inputs are allowed as this may cause the power supply to be shorted out, ie both transistors, TR1 and TR2 switched “ON” at the same time, (fuse = bang!).

As with uni-directional DC motor control as seen above, the rotational speed of the motor can also be controlled using Pulse Width Modulation or PWM. Then by combining H-bridge switching with PWM control, both the direction and the speed of the motor can be accurately controlled.

Commercial off the shelf decoder IC’s such as the SN754410 Quad Half H-Bridge IC or the L298N which has 2 H-Bridges are available with all the necessary control and safety logic built in are specially designed for H-bridge bi-directional motor control circuits.

DC Motors As Stepper Motor

Like the DC motor above, Stepper Motors are also electromechanical actuators that convert a pulsed digital input signal into a discrete (incremental) mechanical movement are used widely in industrial control applications. A stepper motor is a type of synchronous brushless motor in that it does not have an armature with a commutator and carbon brushes but has a rotor made up of many, some types have hundreds of permanent magnetic teeth and a stator with individual windings.

dc stepper motor

Stepper Motor

As it name implies, the stepper motor does not rotate in a continuous fashion like a conventional DC motor but moves in discrete “Steps” or “Increments”, with the angle of each rotational movement or step dependant upon the number of stator poles and rotor teeth the stepper motor has.

Because of their discrete step operation, stepper motors can easily be rotated a finite fraction of a rotation at a time, such as 1.8, 3.6, 7.5 degrees etc. So for example, lets assume that a stepper motor completes one full revolution (360o in exactly 100 steps.

Then the step angle for the motor is given as 360 degrees/100 steps = 3.6 degrees per step. This value is commonly known as the stepper motors Step Angle.

There are three basic types of stepper motor, Variable Reluctance, Permanent Magnet and Hybrid (a sort of combination of both). A Stepper Motor is particularly well suited to applications that require accurate positioning and repeatability with a fast response to starting, stopping, reversing and speed control and another key feature of the stepper motor, is its ability to hold the load steady once the require position is achieved.

Generally, stepper motors have an internal rotor with a large number of permanent magnet “teeth” with a number of electromagnet “teeth” mounted on to the stator. The stators electromagnets are polarized and depolarized sequentially, causing the rotor to rotate one “step” at a time.

Modern multi-pole, multi-teeth stepper motors are capable of accuracies of less than 0.9 degs per step (400 Pulses per Revolution) and are mainly used for highly accurate positioning systems like those used for magnetic-heads in floppy/hard disc drives, printers/plotters or robotic applications. The most commonly used stepper motor being the 200 step per revolution stepper motor. It has a 50 teeth rotor, 4-phase stator and a step angle of 1.8 degrees (360 degs/(50×4)).

Stepper Motor Construction and Control

variable reluctance stepper motor

 

In our simple example of a variable reluctance stepper motor above, the motor consists of a central rotor surrounded by four electromagnetic field coils labelled A, B, C and D. All the coils with the same letter are connected together so that energising, say coils marked A will cause the magnetic rotor to align itself with that set of coils.

By applying power to each set of coils in turn the rotor can be made to rotate or “step” from one position to the next by an angle determined by its step angle construction, and by energising the coils in sequence the rotor will produce a rotary motion.

The stepper motor driver controls both the step angle and speed of the motor by energising the field coils in a set sequence for example, “ADCB, ADCB, ADCB, A…” etc, the rotor will rotate in one direction (forward) and by reversing the pulse sequence to “ABCD, ABCD, ABCD, A…” etc, the rotor will rotate in the opposite direction (reverse).

So in our simple example above, the stepper motor has four coils, making it a 4-phase motor, with the number of poles on the stator being eight (2 x 4) which are spaced at 45 degree intervals. The number of teeth on the rotor is six which are spaced 60 degrees apart.

Then there are 24 (6 teeth x 4 coils) possible positions or “steps” for the rotor to complete one full revolution. Therefore, the step angle above is given as:   360o/24 = 15o.

Obviously, the more rotor teeth and or stator coils would result in more control and a finer step angle. Also by connecting the electrical coils of the motor in different configurations, Full, Half and micro-step angles are possible. However, to achieve micro-stepping, the stepper motor must be driven by a (quasi) sinusoidal current that is expensive to implement.

It is also possible to control the speed of rotation of a stepper motor by altering the time delay between the digital pulses applied to the coils (the frequency), the longer the delay the slower the speed for one complete revolution. By applying a fixed number of pulses to the motor, the motor shaft will rotate through a given angle.

The advantage of using time delayed pulse is that there would be no need for any form of additional feedback because by counting the number of pulses given to the motor the final position of the rotor will be exactly known. This response to a set number of digital input pulses allows the stepper motor to operate in an “Open Loop System” making it both easier and cheaper to control.

For example, lets assume that our stepper motor above has a step angle of 3.6 degs per step. To rotate the motor through an angle of say 216 degrees and then stop again at the require position would only need a total of: 216 degrees/(3.6 degs/step) = 80 pulses applied to the stator coils.

There are many stepper motor controller IC’s available which can control the step speed, speed of rotation and motors direction. One such controller IC is the SAA1027 which has all the necessary counter and code conversion built-in, and can automatically drive the 4 fully controlled bridge outputs to the motor in the correct sequence.

The direction of rotation can also be selected along with single step mode or continuous (stepless) rotation in the selected direction, but this puts some burden on the controller. When using an 8-bit digital controller, 256 microsteps per step are also possible

SAA1027 Stepper Motor Control Chip

saa1027 stepper motor chip

 

In this tutorial about Rotational Actuators, we have looked at the brushed and brushless DC Motor, the DC Servo Motor and the Stepper Motor as an electromechanical actuator that can be used as an output device for positional or speed control.

In the next tutorial about Input/Output devices we will continue our look at output devices called Actuators, and one in particular that converts a electrical signal into sound waves again using electromagnetism. The type of output device we will look at in the next tutorial is the Loudspeaker.

64 Comments

Join the conversation

Error! Please fill all fields.

  • Riasat Ali Khan

    I want this in a 5Vdc motor
    Make such a circuit. From which the stopped motor goes 5 seconds forward then stops for 3 seconds and then goes 5 seconds reverse. Then hold for 3 seconds. In this way the circuit continued to work.
    Pls help.

  • Igono Joseph Okeme

    Pretty a cool article about DC motors.

  • O.H.

    What device is used across the terminals of a DC PM motor that is used to power a gate opener. Reversing is accomplished by reversing the voltage from the control board!

    • Wayne Storr

      Transient surpressors are generally used across the terminals of a DC PM motor to prevent damage to the motor control board.

  • Jenny r

    we are leading DC Motor a high-tech enterprise, specializing in the development and manufacture of different series of miniature DC and gear motors Manufacturer in china

  • Shumon

    Like!! Thank you for publishing this awesome article.

  • mb

    why 1+1 in hbridge is not allowed? This connects a breake conddition where 12v is connected to 12v. Am i thinking wrong…Thank you for wonderfull base info and oldschool perfect saa1027 chip from 1974.

  • Deepak Buddhadev

    Which type of DC motors are most suitable in making of free energy generator

  • Jonathon Landell

    I was looking for more detailed information about Rotary Solenoid construction but didn’t see much about that here. Do you have more information, or do you know where I can find it?
    I am a flute maker, and hope to design and build an electronic flute mechanism using an Arduino on board to control the pad movement very precisely. The conventional solenoid has a very loud “Click” that would be distracting to the musician. Other motors such as the stepper motor don’t really fit the application. I would like to build the solenoid in my shop, so I need to know about the design issues before getting involved with other things.
    THANKS!
    Jon Landell, Landell Flutes, Richmond, VT http://www.landellflutes.com

  • ZUBIN KEKI BHUMGARA

    Very interesting tutorial on DC Motors, Servos and Steppers.
    Found it very informative

  • Shumon

    Like!! Really appreciate you sharing this blog post. Really thank you! Keep writing.

  • MR. Indrejeet Sharma

    DC Motor
    Type DME44S50G-145 D.C.24V 100RPM

  • Rahul kumar das

    Dc motor ke non drive end me ek small motor kyon lagate hai

  • Mac

    Hi Wayne,
    Firstly, thanks for the excellent tutorials – the way you explain the theory behind various circuits is an invaluable resource to someone like trying to understand how a circuit actually works.
    For the uni-directional motor speed control circuit, can you please explain the reason behind the two transistors (pilot and the switching) as opposed to just using a single transistor?
    If it’s explained in another tutorial on your site, perhaps you could add a link (like the one for the PWM control) so that it’s easier to find without having to read through all of them.
    Thanks and regards,
    Mac

  • GMPatil

    Help me in wiring diagram of four electro magnetic field stepper motor

  • David Hall

    No comment

  • Anand sai

    Hi sir I am trying to interface the motor with the help of l293d to interfaced 8051 microcontroller, now I used Texas-msp430 module can I connect the same L293d in this project to run motor please reply me.

  • Elly

    Good

  • Ravikumar

    In 60 kg whight. In. used dc. Motor. What is the capacity. Of. Motor

  • guessab habib

    i am habib from algeria .i need why conrol deux motor dc by arduino

  • Ologun

    Hello