Newsgroups: comp.robotics Path: utzoo!utgpu!watserv1!watmath!mwtilden From: mwtilden@watmath.waterloo.edu (Mark W. Tilden) Subject: Re: DC Motor Controllers Message-ID: <1991Jun14.162825.17716@watmath.waterloo.edu> Organization: University of Waterloo References: <1991Jun3.220425.12281@osceola.cs.ucf.edu> <28960001@teecs.UUCP> Date: Fri, 14 Jun 1991 16:28:25 GMT Lines: 80 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!!"