| Driving Loads with High Current Last Modified: 2006-11-16 | | |
| Acroname Robotics | PDF webpage version | ||
| Introduction One of the most common tasks in designing and building robots is the interfacing of logic circuitry to high current loads such as motors, solenoids, or Nitinol wire. These loads can have peak current requirements greater than 10 amps. Most logic circuitry can sink and source loads in the range of 1 to 20 mA. This article attempts to outline some common approaches to interfacing logic to these high-current loads. The end of the article contains a summary of the benefits and drawbacks to using the various outlined approaches. Switch Basics The interface for high-current loads can be though of as a switch. When you enter a dark room and flip the light switch, you are closing contacts that complete a circuit. That circuit draws current which in-turn heats the light bulb's filament and the room is lit. For the action of your flipping the switch, the circuit is completed. A similar approach is used when interfacing logic components to high-current loads. The flip of the switch by your finger is replaced by the small current in the logic changing. The affect is to switch a high current load. Relays One of the simplest ways to accomplish high-current is with the use of relays. A relay acts much like the light switch but instead of using a finger to change the state of the contacts, a small magnet is used. The magnet is actually an electrical coil that has a magnetic pull when energized. The pull of this magnet closes or opens the contacts of the switch which completes the high-current circuit. ![]() Two common relays. The relay on the right can plug into a DIP socket. Some relays are designed to have the high-current contacts normally closed. In these relays, the energizing of the coil and the associated magnetic pull actually separates the contacts thus disabling the high-current circuit. Relays also have varying numbers of poles. This means that different numbers of separate high-current circuits can be activated/deactivated with the right relay. ![]() Basic diagram of a relay. Relays have several benefits. The current needed to energize the magnet and close the contacts is often orders of magnitude smaller than the current that can pass through the contacts of the relay. Relays are also self contained so if something fails, they can be easily replaced. They are also reasonably priced and available almost everywhere. Relays also have some drawbacks for robotics. Since there are physical contacts in relays, the contacts will tend to arc when they are opened or closed. This can create electrical noise that can irritate other circuits nearby. It also tends to degrade the contacts over time so the contacts will eventually wear out. Also, relays are fairly slow in comparison to the speed of logic circuits so there are delays and limitations on the speed at which a relay can operate. Relays also have a magnetic coil to activate the contacts. If the contacts need to stay closed for a period of time, the coil must stay energized which takes some current. In robotics, the life of the batteries is always important so this inefficiency can rob the robot of battery time. The energy the coil takes to close the contacts of a relay is part of the specifications for that relay. This current must be within the range of the logic circuit driving the relay. Many small relays are available that can be driven directly from logic currents of ~20 mA. If the relay being used has a higher current rating than the logic can provide, a transistor can be used to amplify the current from the logic circuit to drive the relay. ![]() Basic transistor interface for a relay. One other consideration when using relays is the current spike created by the coil. When a coil of wire has current running through it, a magnetic field is created. This closes the contacts of the relay. When the current is removed from the coil, the magnetic field collapses and this causes current to flow through the wire until the magnetic field is completely collapsed or gone. This can cause a damaging voltage spike back towards the logic circuit. This is called fly back and is avoided in the above circuit with a fly back diode. Transistors Another basic type of switch is a transistor. The basics of a transistor are beyond this article but suffice it to say, a transistor can be thought of as an semiconductor version of a relay. Typically a transistor has three leads. Two of the leads, called the emitter and collector are put in line with the high-current load and one lead, called the base, is the activator of the circuit. In this way, a higher current load can be driven by a smaller current at the base of the transistor. This is how we overcame the higher current ratings of the relay in the transistor relay interface. Transistors offer several advantages. They have no mechanical parts to wear out. They make no noise, and they can switch the high-current loads at incredibly fast speeds. Transistors can also be very small. Because of the nature of semi-conductors, the voltage of the input (at the base) must be higher than that of the high-current load placed across the emitter and collector. This voltage difference is typically between 1 and 2 volts. Transistors also are limited in the amount of current they can amplify. Many transistors can be used in parallel to overcome this disadvantage. H-Bridges Most loads such as motors need to be operated in both forward and reverse. This requirement often leads to a circuit layout known as an H-Bridge. ![]() The basic H-Bridge layout. An H-Bridge has 4 switches, relays, transistors, or other means of completing a circuit. In the above diagram, the switches all have letters. Since each of four switches can be either open or closed, there are 2^4 = 16 combinations of switch settings. Many are not useful and in fact, several should be avoided at all costs since they short out the supply current (consider A and C both closed at the same time). There are four variants of combinations that are useful: element type not assignedH-Bridges are so common and useful that there are several chips that combine all the discrete components into a single package. An example of such a chip is the SN754410NE made by Texas Instruments . These chips overcome many of the difficulties in designing an H-Bridge out of discrete components such as flyback diodes, voltage drop, and thermal runaway. They also combine all of the discrete components into a single package that is often much smaller than could be accomplished otherwise. To overcome the voltage drop problem, H-Bridges can use something called a charge pump. A charge pump uses arrays of capacitors to increase voltage in a circuit. This higher voltage can then be used to trigger the bases of the transistor arrays in an H-Bridge. In this way, the voltage of the initiating signal from the logic circuit need not be higher than that of the high-current load being driven. Often this is used in robotics to drive higher voltage loads (often 9, 12, or 24 volts) that run at high current from logic voltages which are typically 5 volts. Since a single transistor may not provide enough current capacity in an H-Bridge design, several transistors can be used in parallel to achieve the desired voltage capacity. This can become complicated, though, as the least efficient transistor in the parallel array will heat up and in doing so, become even more inefficient. This can lead to a destructive condition called thermal run-away. This is avoided in some designs by using FET transistors which operate on voltage input and not current input. An H-bridge implemented with transistors allows the high-current load to not only be reversed (using inverted voltage) but also allows very fast switching of the motor current. This rapid switching can be used to control the speed of the motor and is called Pulse Width Modulation or PWM. Interfacing Issues There are several issues that pertain to all interfaces to high current loads. These should all be considered in designing a circuit or interface. Fuses One ounce of prevention that can really pay off is putting fuses inline from your driver to the high-current loads. This can be very inexpensive and can save a bunch of hassles when designing, debugging and using the loads. The fuses should be fast-blow types with amperage ratings at or below the capacity of the high-current driver. Once the circuit is debugged and in use, you could consider switching to a slow-blow type fuse. You may also want to consider a fuse block or panel for your robot. In this way, they are always easily accessible from outside the robot when the wheel gets stuck or you accidentally short out the high-current load while working on the robot. A new fuse can be much cheaper than a new relay, driver chip, or speed control. Flyback One thing to watch out for when designing high current drive circuits is flyback. Flyback is created when a motor is stopped. Any piece of wire and especially the windings of a motor develop a magnetic field around them when current is passed through them. This field is left standing when the current is removed from the wire. As the field collapses, it maintains a current through the wire in the same direction that the initial current was flowing. Flyback can breakdown, damage or even ruin your circuitry. Flyback is often avoided using flyback diodes. These diodes are meant to prohibit this large spike from destroying your circuitry. H-Bridge chips such as the SN754410NE have flyback diodes integrated into the chip. Electronic Speed Controls also have the necessary protections built in. If you need to add you own flyback diodes to a circuit, make sure to use high speed diodes which can handle the demands of flyback protection. Also keep in mind that the voltage dissipated by the diodes can be higher than that of the drive circuit if the motor is turned faster as would happen when "coasting" a robot down a slope. The diode must be able to handle the same amount of current drawn when the motor is running. Typically a 1N4004 or 1N4003 will usually work. Heat One of the unfortunate side-affects of all the approaches to driving high-current loads is that they tend to generate heat. In general, more current means more heat. This heat can reduce the efficiency of the driver and can even ruin it if it gets too hot. Some devices like the SN754410NE can be put in parallel or stacked to handle more current and dissipate more heat. ![]() Example of heatsink on stacked H-Bridge chips. Heatsinks and venting are often useful and sometimes necessary. In extreme cases, small fans can even be employed to keep things cool. In general, the design choice should be efficient enough to avoid extra inefficiency of cooling fans. Consider the simple law of physics; warm air rises because it is less dense. This law can often be used to your advantage when trying to cool drive circuitry. Orient the heatsinks such that the air can travel up as it heats up as it passes across the heatsink. Similarly, put venting holes above and below a hot drive circuit before you put holes on the sides. Additional Options There are many other options for driving high-current loads from logic. Motor Controllers from the radio control industry offer one option that is designed specifically for handling large high-current loads efficiently. ![]() A Radio Controlled Car Speed Control Many Radio controlled cars, planes, boats, and even helicopters rely on motor controllers to accomplish the task of driving high-current loads. These motor controllers can handle very large currents of more than 10 amps. Also, since running time is important in the radio controlled hobby, these controllers have been designed to be very efficient. These controllers are typically designed around a specialized power transistor with the acronym MOSFET. The circuit is something like a large H-bridge that uses parallel MOSFETs to achieve high currents with high efficiency. Some controllers allow the load to be driven in reverse (voltages are inverted at the outputs). Even others allow breaking of motors by driving both the outputs at the same voltage to "lock up" the motor. To interface to RC motor controllers, you need to emulate the logic pulses that the radio controlled receiver typically generates. This interface is identical to that which drives a radio controlled servo. A motor controller acts just like a specialized servo. Many sources of motor controllers can be found on the web. Here are a few:
Summary Here is a table of some of the cost/benefits of the various types of high-current load interfaces available. element type not assignedAdditional Reading There are many other web sources of information on driving high current loads. Here is one: Below are some printed resources you may want to check out: Mobile Robots: Inspiration to Implementation - This book has a fantastic general overview of power electronics. The Art of Electronics - This book is a comprehensive electronics book that covers everything you would need to build your own power electronics. Revision History:
| ||
Related Links: Ideas: Stacking H-Bridge Drivers for Higher Current Output Related Examples: Example code and schematic for dual relay interface to BrainStem GP 1.0 | ||
| voice: 720-564-0373, email: sales@acroname.com, address: 4822 Sterling Dr., Boulder CO, 80301-2350, privacy © Copyright 1994-2008 Acroname, Inc., Boulder, Colorado. All rights reserved. |