Difference between revisions of "Motor driver"

From OpenCircuits
Jump to navigation Jump to search
(Added ePanorama link)
(+robotics)
Line 1: Line 1:
What are you looking for here?
+
There are many kinds of motor drivers:
 
 
 
 
 
* servo motor controller
 
* servo motor controller
 
* stepper motor controller
 
* stepper motor controller
 
* DC motor controller ("brushed")
 
* DC motor controller ("brushed")
 
* AC motor controller ("brushless")
 
* AC motor controller ("brushless")
...  
+
* ... (todo: fill in the other kinds) ...
or what?
 
  
 
A DC motor controller that is 'reversable' generally uses an 'H bridge'.  This 'H-bridge' uses four output drivers in a configuration that resembles an H where the load is the cross bar in the middle.  The lines on either side of the load (the downward strokes in the H) represent a series connection of a pull-up driver and a pull-down driver.  This allows each terminal of the load to be connected to either the positive supply rail, or the negative supply rail.  This allows a positive, negative or zero voltage difference across the load.  This load voltage is then utilised to provide the desired control required of the motor.  The various combinations can give a 'forwards' torque on a DC motor, a 'backwards' torque on the same motor, can allow the motor to free-wheel (without any applied torque) or can provide a locking of the motor such that it resists any attempt to rotate it.
 
A DC motor controller that is 'reversable' generally uses an 'H bridge'.  This 'H-bridge' uses four output drivers in a configuration that resembles an H where the load is the cross bar in the middle.  The lines on either side of the load (the downward strokes in the H) represent a series connection of a pull-up driver and a pull-down driver.  This allows each terminal of the load to be connected to either the positive supply rail, or the negative supply rail.  This allows a positive, negative or zero voltage difference across the load.  This load voltage is then utilised to provide the desired control required of the motor.  The various combinations can give a 'forwards' torque on a DC motor, a 'backwards' torque on the same motor, can allow the motor to free-wheel (without any applied torque) or can provide a locking of the motor such that it resists any attempt to rotate it.
Line 19: Line 16:
 
-----
 
-----
  
Some motor controller circuits are such that, if the software accidentally sets the "wrong" pins hi or lo, you get a short circuit through the output drivers.  This will generally cause a high current to flow, due to the low on state resistance of the output drivers, which may damage other electronic components before finally blowing the supply fuse.
+
Some motor controller circuits are such that, if the software accidentally sets the "wrong" pins hi or lo, you get a short circuit through the output drivers.  This will generally cause a high current to flow, due to the low on state resistance of the output drivers, which may destroy other electronic components before finally blowing the supply fuse.
  
Other motor controller circuits are such that, if the software accidentally sets the "wrong" pins hi or lo, the worst that could happen is the motor spins the wrong way. These circuits ensure that both branch drivers aren't on at the same time, preventing a short circuit through the drivers. This is done through the use of a blanking time.  This blanking time is the time taken to switch from one driver on to the other driver on, which is accomplished by turning off the previously on driver, before waiting a set time before turning the other driver on. This ensures that both drivers aren't simultaneously on causing the short circuit condition.
+
Other motor controller circuits are such that, if the software accidentally sets the "wrong" pins hi or lo, the worst that could happen is the motor spins the wrong way.
 +
These circuits are designed so that, no matter what the inputs, it is impossible to get a short circuit through the output drivers.
 +
Between "one branch on" and "the other branch on", there is a minimum "blanking time" which has "both branches off". This guarantees that we never have "both branches on" (short circuit).
  
 
Guess which type of design I prefer?
 
Guess which type of design I prefer?
Line 31: Line 30:
 
* [http://www.bobblick.com/techref/projects/hbridge/hbridge.html H-Bridge by Bob Blick]
 
* [http://www.bobblick.com/techref/projects/hbridge/hbridge.html H-Bridge by Bob Blick]
 
* [http://groups.yahoo.com/group/osmc/ the Open Source Motor Controller Project]
 
* [http://groups.yahoo.com/group/osmc/ the Open Source Motor Controller Project]
* [http://www.robotroom.com/HBridge.html "H bridges" by David Cook at the ROBOT ROOM(TM)]
 
 
* [http://massmind.org/techref/io/stepper/linistep/ LiniStepper] $30 each; Open Source! Circuit Diagram, PCB (Board) Layout, and PIC Software all available
 
* [http://massmind.org/techref/io/stepper/linistep/ LiniStepper] $30 each; Open Source! Circuit Diagram, PCB (Board) Layout, and PIC Software all available
 
* [http://roko.ca/articles/hbridge.php H-Bridge Fundamentals] An in-depth article on the design of Mosfet H-Bridges
 
* [http://roko.ca/articles/hbridge.php H-Bridge Fundamentals] An in-depth article on the design of Mosfet H-Bridges
 
* [http://PMinMO.com PMinMO.com] Open Source circuits and information on stepper motor controllers]
 
* [http://PMinMO.com PMinMO.com] Open Source circuits and information on stepper motor controllers]
 
* [http://www.epanorama.net/links/motorcontrol.html ePanorama] ePanorama Motor Control page
 
* [http://www.epanorama.net/links/motorcontrol.html ePanorama] ePanorama Motor Control page
 +
 +
Robots use motor drivers.
 +
* [http://glendale.edu/robotics_club/ Glendale robotics club] (Glendale CA)
 +
* [http://www.robotroom.com/HBridge.html "H bridges" by David Cook at the ROBOT ROOM(TM)]

Revision as of 13:08, 21 February 2007

There are many kinds of motor drivers:

  • servo motor controller
  • stepper motor controller
  • DC motor controller ("brushed")
  • AC motor controller ("brushless")
  • ... (todo: fill in the other kinds) ...

A DC motor controller that is 'reversable' generally uses an 'H bridge'. This 'H-bridge' uses four output drivers in a configuration that resembles an H where the load is the cross bar in the middle. The lines on either side of the load (the downward strokes in the H) represent a series connection of a pull-up driver and a pull-down driver. This allows each terminal of the load to be connected to either the positive supply rail, or the negative supply rail. This allows a positive, negative or zero voltage difference across the load. This load voltage is then utilised to provide the desired control required of the motor. The various combinations can give a 'forwards' torque on a DC motor, a 'backwards' torque on the same motor, can allow the motor to free-wheel (without any applied torque) or can provide a locking of the motor such that it resists any attempt to rotate it.

A single phase AC motor is generally driven in the same way as a DC motor, however instead of operating the motor drive as a constant DC voltage (in either the 'forward' or 'reverse' direction) the AC motor is driven by an approximation to a sinewave. This approximation is created using the H bridge and driving it with a PWM input such that both the positive and negative voltage periods are the same. This is normally acheived either using a sawtooth waveform compared against a sine wave reference, or is done using a lookup table in a microcontroller.

A similar method is used to drive multiphase (3-phase) AC motors, however instead of just using an H bridge, only a half H bridge is used per phase. Each phases half bridge is then driven in the same manner as for the single phase motor, with a phase difference between the phases as appropriate.

((fill in more details here...))


Some motor controller circuits are such that, if the software accidentally sets the "wrong" pins hi or lo, you get a short circuit through the output drivers. This will generally cause a high current to flow, due to the low on state resistance of the output drivers, which may destroy other electronic components before finally blowing the supply fuse.

Other motor controller circuits are such that, if the software accidentally sets the "wrong" pins hi or lo, the worst that could happen is the motor spins the wrong way. These circuits are designed so that, no matter what the inputs, it is impossible to get a short circuit through the output drivers. Between "one branch on" and "the other branch on", there is a minimum "blanking time" which has "both branches off". This guarantees that we never have "both branches on" (short circuit).

Guess which type of design I prefer?


A random collection of semi-related links (please prune out the irrelevant ones):

Robots use motor drivers.