Cleveland Institute of Electronics

• Electronics & Computer Training Programs

• Nationally Accredited

• Affordable Tuition / Military Tuition Assistance

Cleveland Institute of Electronics offers distance learning programs that will prepare you for rewarding careers in Electronics Engineering or Computer Technology - even if you have no experience!

CIE's courses allow you to learn new technology at your own pace, in your own home, without disrupting your present job or lifestyle.

No prior experience is needed and you can do all your training at home with full instructor support, extensive learning labs and on-line exams.

They're fast, convenient, affordable and quickly becoming the new way to earn an accredited degree.

Send for your FREE CIE course catalog and take the first step toward building a successful career in electronics and computer technology. You'll find it has many rewards!

CIE's Distance Learning Programs

Electronics Associate Degree

Computer Associate Degree

Basic Electronics with Lab

Advanced Electronics Troubleshooting with Lab

Electronics Technology with FCC Preparation

PC Troubleshooting

Computer Networking

Wireless Technology


Industrial Electronics with PLC Technology

Cleveland Institute of Electronics 1776 E. 17th St, Cleveland, OH 44114

Cleveland Institute of Electronics 1776 E. 17th St, Cleveland, OH 44114

Call (800) 243-6446 or visit for a FREE Career Catalog!

CD ROM & Certificate Training - CIE Bookstore

Introduction to Multimeters

2 meters • 4 lessons • 13 experiments 02-069 (Pictured) cert $195

FCC License Prep Course

19 FCC prep lessons on CD ROM. 01-FCC01 (cert) $49.95

Fiber Optics Course with Lab

2 lessons • Lab • Video • Certificate 01-FB02 $175

Circle #82 on the Reader Service Card.

Introduction to Multimeters

2 meters • 4 lessons • 13 experiments 02-069 (Pictured) cert $195

FCC License Prep Course

19 FCC prep lessons on CD ROM. 01-FCC01 (cert) $49.95

Fiber Optics Course with Lab

2 lessons • Lab • Video • Certificate 01-FB02 $175

Introduction to Computers

9 lessons • certificate 01-IN01 $195

Basic Electronics Course

39 lessons • 2 labs • 53 exercises 03-Introb (cert) $225

Oscilloscope Course

7 learning topics • video 01-SCP01 (cert)

Soldering Course with Lab

PC Board Design with Lab

Intro to Information Systems

9 lessons • certificate 01-CET111 $195


Circle #82 on the Reader Service Card.

If you have been around the hobby robotics world, you probably noticed that almost every robot that you see uses hobby servos for just about every sort of movement. Whether it is to drive a wheel on a mobile robot, change the angle of something, or position a grabber arm, it will likely use a hobby servo. Hobby servos are useful devices, but they are not the only way to get things done in robotics. Along with hobby servos come a list of drawbacks, such as slow speed, little variability in speed, and the need to constantly send pulses to them so that they maintain speed or position. Last month's column talked about using Pulse Width Modulation (PWM) for audio purposes. This month, we'll go over how to use PWM to control DC motors.

Before discussing PWM, let's look at another way to control the speed of a DC motor. This would be to vary the current that is passing through the motor. While this is a valid way of controlling the speed of a motor, it is fairly inefficient and not very robust. Take a look at Figure 1; the current going through the motor can be adjusted by varying the position of the potentiometer. Let's pretend that the motor is just a resistor with a value of 30 Q. In reality, the effective resistance of a motor will be lowest when the motor is stalled and highest when it is running at its top speed with no load placed on it. If you are dealing with a low enough voltage, then you can get away with this strategy.

For example, if you are running your motor at

Figure 1. Controlling a motor's speed by using a potentiometer.

Figure 2. Controlling a motor's speed using PWM.

Figure 1. Controlling a motor's speed by using a potentiometer.

Figure 2. Controlling a motor's speed using PWM.

5 volts and you have the potentiometer adjusted to 20 Q, you will be dissipating 0.2 watts through the potentiometer. As the voltage goes up, the wattage through the potentiometer goes up with the square of voltage increase. This means that, if you increase the voltage to 10 volts, the wattage dissipated through the potentiometer jumps to 0.8 watts. If you happen to be using an inexpensive potentiometer from RadioShack, then you are just 0.2 watts shy of its rated limit. The potentiometer that you are using will start to become warm with this much wattage. Limiting the current through a motor is a quick and dirty method to vary the speed of a motor. It will work for small motors at low voltages.

In a similar vein, you can vary the speed of a motor by varying the voltage that you drive it with. One way to do this would be to use a variable voltage regulator. This method also suffers from overheating issues if your current draw is sufficiently high. This can be a slightly better method of varying the motor's speed because — to some extent — the overheating issue can be dealt with by using heatsinks on the voltage regulators.

While both of the previously mentioned methods of varying a motor's speed work, they have big problems with overheating and, because of that, they are also inefficient. This is where PWM comes in. With PWM, you are rapidly giving the motor power and then shutting off the power over and

over again. The amount of time that you have the motor on verses off determines the average speed of the motor.

Figure 2 shows a simple circuit that you can use to vary the speed of a motor using a transistor to switch the motor on and off. Notice that the transistor has a diode across its emitter and collector. When you are running a motor, you are giving power to its coils in sequence. As you give power to a coil, a magnetic field appears around that coil. When you remove power from the coil, the magnetic field collapses and this sends a pulse of power in the opposite direction that it originally came into the coil. The diode is there to route that pulse of power back to the battery, where it won't damage anything. The relay also has a diode for the same reason.

One thing to pay attention to here is that you need a "fast" diode. The pulses of power coming out of the relay or motor are incredibly short in duration, but can be pretty destructive. Schottky diodes are usually the type used to prevent these pulses from damaging the transistor or FET in speed control circuits.

Varying the speed of a motor in one direction is useful for some applications, such as driving a fan or a water pump. For most robotic applications, you will want to be able to reverse the direction of the motor, as well as vary the speed. One way to accomplish that is to use a transistor and relay, as shown in Figure 3. In this circuit, the relay switches the motor's direction.

Switching direction with a relay is a fairly robust method of controlling a motor's speed and direction. It is easy to build and is inexpensive. The down side of using this method is that it is not solid-state, so the relay will have to be replaced from time to time if it switches often enough. Relays do not switch instantaneously. They can take anywhere from 0.5 to 30 ms to switch. If you need your motor to be able to switch direction rapidly, you will have to choose a relay that can switch quickly.

One further drawback to using relays is that they have different specifications for how much current they can carry as opposed to how much current they can switch. Often, you will find that a relay can only switch 10% of the current that it can handle continuously. This is due to arcing between the contacts, which can slowly erode them or destroy them in one big flash if you try to switch them while they are carrying a decent amount of current!

A solid-state circuit able to switch a motor on and off — as well as reverse its speed — is what is known as an H-bridge. An H-bridge is four transistors or FETs arranged as

Was this article helpful?

0 0

Post a comment