|
Controlling DC Motors
The H Bridge way
High current DC motor speed controls, controlled with low power electronics can be quite difficult at first, but it's not really that hard to make an efficient controller at all.
Let me first show you what a H Bridge is, and then you'll see what a useful topology it is.
Switches are connected on either side, above and below the motor. When you switch on A1 and A2, the motor spins clockwise, when you switch on B1 and B2, can you guess? The motor spins counter-clockwise. When using transistors with diodes across the Source and Drain, when both switches are closed and we attempt to spin the motor, back emf generated by the motor flows through the diodes and back round to the opposite terminal of the motor, thus causing it to "short" itself and hence making the motor more difficult to turn. This is known as "Regeneritive braking" and is proportional to the back emf, eg the harder you attempt to spin the motor, the more it resists. Some Hybrid cars are now using this system to generate power when driving down hills.
Now, if we put MOSFET transistors in place of the switches, we can control a motors direction quite simply by applying voltages to the Gates of each pair of transistors. We can also vary the speed in either direction, by using a PWM signal with variable duty cycle. It only needs to be few to either one of the 2 lower mosfets, while the upper 2 remain high.
The accepted way to use Mosfets in a H bridge, is to use 4 N channel Mosfets with high current/voltage ratings and Low Rds values (on resistance, the lower it is, the more current can flow with less heat dissipations).
There lies the problem. N channel Mosfets are supposed to conduct to a ground reference. ie, the Gate voltage must be at least 10V higher than the Source (normally 0V). If we raise the S-D voltage, we have to apply 10V higher than the Drain voltage to turn the mosfet on.
The answer, is to let a H Bridge controller IC do all the work for you. A H Bridge controller IC has an inbuilt buck-boost convertor (a method of transforming a voltage to higher potential than the input) to generate the 10V (normally 15V to turn the Mosfet fully on) higher than the D-S voltage you intend to switch.
The most useful, and most known H Bridge controller IC used in motor control and robotics is the HIP4081 Dual Controller made by Intersil. I have used this chip and it seems well behaved and easy to integrate into your designs. The only down side is the chip is reasonably expensive at £7 each, but it does what it says.
Diagram of H Bridge Motor Controller:
Here is a working diagram of a motor controller, that I have designed, built and used. It was designed for a 24V 300W-1000W DC motor load, I use 2 of these motors with seperate HIP chips controlling them in one of my projects, and the controller has proven to be bulletproof.
The schematic is fairly self explanitory in the way of parts and values. If you need higher current abilites, simply parrallel 2 or 3 Mosfets together on each leg of the H bridge. Just don't add too many as you increase the Gate Charge and hence power required to turn the Mosfets on. You may also need to up-rate the Transient Voltage Suppressors (TVS) to more than 68V.
Usage:
Simply connect the A, B and Disable lines to your chosen microcontroller, or even switches if you don't want variable speed control. The HIP will accept 5v Logic.
By using a microcontroller, you can send a PWM signal to either the A or B inputs to make the motor spin forward or back at any speed desired. Make both inputs low to enter brake mode. The dissable pin is an active low and makes all outputs enabled.
2 things to note:
- You must make sure that A and B are never on at the same time. For a fail safe, you can use a relay inbetween your micro and the HIP to switch the PWM signal to either A or B. This has some big advantages in that you only need 1 PWM output from your micro and only 1 input can be on at any one time. Simply toggle the relay with your micro and a transistor. This is the method I use.
- Do not attempt to use "Reverse braking" or back emf braking with the HIP, as it is highly sensitive to high voltage spikes. Typical back emf spikes from a motor can be 300V!!
HIP Datasheets:
A word of warning about the HIP chip:
Dispite what the datasheet says, you must never exceed 75V on the HV rail, as it doesn't account for voltage spikes or overcurrents. Intersil got this one wrong and in the past, I have destroyed 2 of these chips by running the controller at 80V. If you want to control higher voltage motors, use a different controller IC and integrate it into the above schematic.
Some help for this project was from the OSMC project, although I have made improvements to their design and can only comment on what I have used and know to work.
Discuss more on this topic on the Forum
|
Please do not reproduce anything contained within my website, as it maybe hazardous to your health unless you fully understand what you are doing. I cannot be held responsible. This website is copyright. © Oliver Hunt 2006-2008
|