[comp.robotics] DC Motor Controllers

wampner@acme.ucf.edu (Eric Wampner) (06/04/91)

Hello, I am a member of the UCF Robotics Society (IEEE Student
chapter) and we do lots of work on robots designed with DC brush
motors. To put it bluntly, we need an H bridge controller able to
handle more power. Ideally a 24V at 8 Amp with spikes of
20-25 Amps would suit us. We have been using Unitrode
L298's, which max out at about 2 Amps, if I remember correctly.
I have looked at Motorola's MP3002 Mosfet H bridge, coupled with
another controller chip, (100V,8Amp cont, 25 spike), but have
been having trouble getting them. Have any of you been using
chips with similar specs, or know of them?

Or, if you have a good schematic for a TTL controllable 
transistor H-Bridge, I would appreciate it. (I am just a Computer
Science major)

Email or Post, thanks in advance.
Eric Wampner
eww@engr.ucf.edu
wampner@next1.acme.ucf.edu

smith@sndpit.enet.dec.com (Willie Smith) (06/06/91)

In article <1991Jun3.220425.12281@osceola.cs.ucf.edu>, 
	wampner@acme.ucf.edu (Eric Wampner) writes...
>To put it bluntly, we need an H bridge controller able to
>handle more power. Ideally a 24V at 8 Amp with spikes of
>20-25 Amps would suit us.

I didn't use an H bridge due to excessive cost of transistors and voltage 
drop, but the the IRFZ series of FETs works really well.  We use two 
IRFZ50s(?) in parallel (with a relay for reversing) for driving motors at 8 
volts, 30 to 50 amps, and they don't even get warm...

Willie Smith
smith@sndpit.enet.dec.com
smith%sndpit.enet.dec.com@decwrl.dec.com
{Usenet!Backbone}!decwrl!sndpit.enet.dec.com!smith

thomas@teecs.UUCP (Randall Thomas) (06/13/91)

To make an 'H' bridge driver with MOSFETS at 24v DC is really simple.

Since you didn't say what is the incoming signal(s) I will try and
second guess.


                               B+ (24vdc)
Typical 'H' bridge             |
using MOSFETS                  |
                  ----------------------------     
 D=drain          |                          |
 S=source         |                          |
Gx=gate           D                          D
             --aG                              Gb--
FETS:             S                          S
  IRFZ20          |                          |
  IRFZ30          -----------(M)--------------
  IRFZ50          |                          |
                  D                          D
             --cG                              Gd--
                  S                          S
                  |                          |
                  |                          |
                  ----------------------------
                               |
                              GND

To controll the gates of the fets

  24vDC-----10K-------------------------------------------
                 |                |                      |
               Zener              |                      |
              17-19v              |-10K-G(ad)            |-10K-G(bc)
                 |                C                      C
               GND          I1--B                  I2--B
                                  E                      E
   Transistors:2N3904 OR          |                      |  
               2N3906             ------------------------
                                           GND
transistor selection depends on which way your logic works but
BOTH trnasistors should be the same in most cases.

A typical "simple" control cct.

Direction -----------(DIR)--Inverter(7404)------(*DIR)

Enable---------------------NAND--------4.7K---------->I1
        |            DIR--/
        |
        |------------------NAND--------4.7K---------->I2
                    *DIR--/

logic:           Enable   Direction   Motor
                   L         X          stoped
                   H         L          CW
                   H         H         CCW
note:in this config when motor runs it runs at max power and max speed.
     To change this requires a "chopper" freq. on the Enable line.

It is also a nice idea to add 2 caps on the gate of the Fets to ground
This will a give a 'ramp' up to speed depending on values.
 
Have fun and good luck.

_______________________________________________________________________________
:                  uucp:  {censor|lsuc|tmsoft}!teecs!thomas                   :
:             All I ask is a tall ship and a star to steer her by.            :
:Randall Thomas        May the winds be at our back.    Toronto,Ontario,Canada:
:_____________________________________________________________________________:

mwtilden@watmath.waterloo.edu (Mark W. Tilden) (06/14/91)

Speaking of motor controllers, the following is a simplification
of the classic transistor H-switch which does allow for left-right
speed control.  It's topology is pretty elegant and can be put onto
a single-sided pcb in a 1" x 3/4" area.  The transistors can be 
any complementary pairs (although uncomplementary pairs will work).
Because of the excessive gain factor, R1 must be greater than 27k or
the transistors over-bias and efficiency drops.  The gain factor means that
this circuit can be easily driven by a CMOS anything.

The 74139 is an addition which guarentees that the H switch never smokes
itself.  It also features an active-low engage for the circuit and
an output which your controller can read back to interpret as an
'error' condition.  The nice thing about the 139 is that as it contains
two 1-of-4 decoders, mounting a symettric driver on the other side is 
no prob.

Also, if you need drivers whiich are active high, rather than active
low as in this case, just replace the outside drive PNP transistors 
with NPNs of any type.  Be sure the collector of the outside NPN goes
to the base of the PNP, as the collector of the PNPs in this case go 
to the base of the drive NPNs.  If you mount them backwards, no problem,
just your efficiency suffers.




                  Vcc |---------------------*----|                      
                      |                     |    |                 
                      |                     |    |                 
                      p                     |    p                 
        R1      p---n                       |      n---p     R1         
     |-\/\/\--n       P                     |    P       n--\/\/\-|
     |          P     |                     |    |     P          |
     |          |     *-----------(M)-------|----*     |          |
     |    |-----|     |                     |    |     |          |
     |    |           N                     |    N     |          |
     |    |   |-----p                       |      p---|-----|    | 
     |    |   |       n                     |    n     |     |    |
     |    |   |       |                     |    |     |     |    |
     |    |   |       |                     |    |     |     |    |
     |    |   |   Gnd |------*--------------|----|     |     |    |
     |    |   |              |              |          |     |    |
     |    |   |--------------| -------------|----------|     |    |
     |    |                  |              |                |    |
     |    |------------------| -------------|----------------|    |
     |                       |              |                     |
     |-----------------------|---| |--------|---------------------|
                             |   | |        |---|                  
                             |   | |   ---------|-----< Reverse  
                             |   | |   | -------|-----< Forward    
       Error Return <--------|-| | |   | | -----|-----< engage (-ve)
                             | | | | | | | |    |                    
                           | 8             1 |  |                  
                           |    74LS139      <  |                  
                           | 9            16 |  |                  
                             | | | | | | | |    |                  
                                           |---r|                  
                                                               
Legend:
               |                      |
collector-     P                      N                      |
base-       -n     PNP trans.      -p      NPN trans.    ----*----  wire join.
emitter-       p                      n 
               |                      |
                                                              

Mods for making a high-voltage version is as simple as using OC drivers
and a pull up resistor on each outside transistor.

Has served me well on many an occasion, not the least my micromouse.

Is all.


-- 
Mark Tilden: _-_-_-__--__--_      /(glitch!)  M.F.C.F Hardware Design Lab.
-_-___       |              \  /\/            U of Waterloo. Ont. Can, N2L-3G1
     |__-_-_-|               \/               (519) - 885 - 1211 ext.2454,
"MY OPINIONS, YOU HEAR!? MINE! MINE! MINE! MINE! MINE! AH HAHAHAHAHAHAHAHAHA!!"

alan@km4ba.uucp (Alan Barrow) (06/19/91)

I like the H bridge discussion, but do not see how that will help
on a brushless motor.

I read the problem as being with the PWM part of the picture.
How about:
     changing the PWM base frequency

     filtering the PWM'd output. (May not work well with brushless
     motor, but would be ok for regular motors.)

I play with HP HCTL-1000's for motor control. They may be worth a
look.

Good Luck!

 Alan Barrow  km4ba | I've seen things you people wouldn't believe. Attack
 jab@hpuerca.hp.com | ships on fire off the shoulder of Orion. I watched
                    | C-beams glitter in the dark near the Tannhauser gate.
 ..!gatech!kd4nc!   | All those moments will be lost in time -
         km4ba!alan | like tears in rain. Time to die.          Roy Batty