USB Motor Controller Board

(click photo for full-size image)
This board is a redesign of the current
motor control board,
designed to control the steering and drive motors on Brak's
base. The drive system uses two identical Matsushita GMX-6MP013A
24VDC motors; each requires a minimum current of 200mA and have a rated
stall current (when there's so much load the motors won't turn) of 4.5A.
The motors also have integrated
quadrature encoders which can be used to determine the direction and speed
of the motor's shaft.
The main changes and/or improvements designed into this board are
- Replace the I2C interface with a USB interface
- Shrink the printed circuit board size
- Use a newer microcontroller
- Add dedicated connectors for Hall effect sensors
- Add a reset switch and diagnostic LEDs
The current board has functioned fairly well, and other than one or two
minor wiring errors was designed well. As such, there aren't any real
flaws to correct. The main motivation for the new design was to use a
USB interface. This allows the board to be used on any PC with a USB
port; we no longer need a special interface board to connect between
the PC and the external boards.
Design details
The design is still in the "design stage". A prototype was built
during Summer 2001 and Summer 2002 and as of October 2002 a
printed circuit board has been fabricated and is being assembled and
tested. These are the major new components we're using:
- A National
Semi USBN9603 full speed USB function controller will interface
the microcontroller to the USB bus. We've opted to go with an external
USB controller since the few 8051-compatible microcontrollers with
integrated USB controllers don't seem to have the PWM and input capture
capabilities needed for this board.
- A Cygnal
C8051F015 8051-compatible 32KB FLASH microcontroller will replace
the current Philips Semi 80C552. This microcontroller is easier to
obtain (thru DigiKey) than the Philips part and has 32K of FLASH ROM,
programmable through a JTAG interface. We're using a Cygnal development
board in some of our labs and they have a pretty nice development
environment as well, so this choice is driven somewhat by that as well.
However, the chip's core also support the SPI (serial peripheral interface)
which is used by the USBN9603 (actually, the USBN9603 uses National's
MicroWire interface, but it's basically the same as SPI) so that and the
ability to alleviate the external ROM and address latch means we should
be able to decrease the board size. Its only drawback is the chip is
a 3.3V device, and we'll need to add a voltage regulator to accommodate that
(this is also true for the new ultrasonic controller board). We're using a
STMicroelectronics LF33CDT
very low drop voltage regulator.
- A Texas
Instruments SN65220
USB transient noise suppressor for circuit protection.
The "analog" portion of the current board has also changed as of Summer 2002.
The
Allegro Microsystems UDN-2998W
dual full-bridge motor driver has worked well but is being phased out of
production.
It has been replace with an
Allegro A3971
dual DMOS full-bridge PWM motor driver. We removed the
4N32 optoisolators but had to add some 74157 multiplexers to augment the
control logic.
The
Panasonic
DN8897 Hall-effect magnetic sensor from the previous design has also been
kept.
The main software for the new board has required little change
except for some slight differences between the two controllers. The biggest
change is the use of the USB controller. National provides a developer's
kit with example code (unfortunately, none for the 8051 -- kind of a
surprise) but with some effort we have been able to get it working.
Partial Parts List
| Part number | Description | Qty | Price |
| Newark Electronics |
| UDN-2998W | Dual full-bridge motor driver |
2 |
$5.45 |
| Digikey |
| C8051F010 | Mixed signal IC controller |
1 |
$23.81 |
| DN8897 |
IC Sensor, Hall Effect, Bi-Pullup |
1 |
$1.69 |
| 897-30-004-90-000000 |
USB Connector, Type B, PCB mount |
1 |
$1.23 |
| Mouser Electronics |
| 73-XT49S1200-20 | Crystal, 12MHz, HC-49/US |
1 |
$0.64 |
| 511-LF33CDT | LDO voltage regulator, 3.3V, 0.5A |
1 |
$0.88 |
| 512-4N32 | Optocouplers, Darlington output |
4 |
$0.42 |
| 571-3902611 | IC Socket, DIP-6 0.300" thru-hole |
4 |
$0.08 |
| 517-6121TG | Header, 0.100" double row, 80 contacts |
1 |
$1.65 |
| 163-5008 | DC power jack, 1.3mm |
1 |
$0.73 |
| 571-3502091 | PCB connector housing, 2 circuit |
1 |
$0.30 |
| 571-3502111 | PCB connector housing, 4 circuit |
1 |
$0.45 |
| 652-4608X-102-1K | Resistor pack, 1.0K, isolated, 8 pins |
2 |
$0.23 |
| 571-6404567 | Header, 7 pins, 0.100" friction lock |
2 |
$0.16 |
Board designs
The board was designed using
CadSoft's Eagle layout editor.
It has the advantages of (a) being pretty powerful, (b) allowing PCB
layout, (c) being cheap, and (d) supporting Linux. The designs are provided
below as CadSoft schematic/board/library files, as well as PostScript and PDF
copies of the schematics.
|