Dual Motor Controllers

Jonah Peskin

New Features

  • Two independant motor controllers per board!
  • Now 8K of EEPROM.
  • Programmable RC filters on all on-board analog inputs.
  • Pull-up resistors on all external digital inputs.
  • One on-board temperature sensor mounted on each motor driver chip.
  • One analog input per 6811 is reserved for external temperature measurement. Each input has an on-board op-amp that is tuned for temperature sensing applications.
  • New motor power connectors that do not short and do not allow anyone to plug a motor supply into a motor driver output connector.
  • Test clip loops allowing easy access to GND, +5v and MotorGND.
  • One "heartbeat" LED indicator for each 6811.
  • New and improved power supply monitoring chip.
  • Smooth PWM generation via a programmable PIC microprocessor.
  • Silkscreen labels for all connectors.

Things You Should Know

New XICOR Chips

These boards use the 68HC11A1 processor (as opposed to the E2's used on the older motor boards). Also, there is a new EEPROM expansion chip (X68C75). Both of these features required that new downloading software be written. To download a program to these boards use (dload-xicor progname). Many primitive operations on the 6811 changed with the addition of the Xicor chips. Because of this, you should evaluate an additional file in the Humanoid Slaves directory called dual-motor.6811 so that you can assemble and download to the Dual Motor Boards.

The only change that must be made to your software is that it must use def6811-xicor in place of def6811.

Navigating the Board

The board was designed so that it is easy to disinguish between the separate motor controllers. If you are holding the board in normal position (you can easily read the labels on the 6811 chips), then "Motor Controller A" components are on the lower half of the board, and "Motor Controller B" components on the upper half. A similar notation is used to discern which connector on a dual-header belongs to which motor controller. Each dual-header is labeled on the silkscreen, and within each dual-header there are two connectors. The lower connector (the one closer to the PCB) belongs to Motor Controller A. The upper connector belongs to Motor Controller B.

There are now heartbeat LED's for each controller. You can guess which LED belongs to which motor controller. They are controlled by PB0.

Note that there is only one hex switch for address selection. Use this switch to set the address for Motor Controller A. The address for Motor Controller B will be the next sequential address after Motor Controller A. The one restriction is that Motor Board B will be the next sequential address after Motor Controller A. The one restriction is that Motor Board A must have an even address. If it does not, the next lowest even address will be assigned to Motor Board A.

	Hex Switch		Motor A ID	Motor B ID
	4			4		5
	7			6		7

Conditioned Inputs

The board uses 4.7K resitor packs for digital input pull-ups for Port A input. There are four pins on Port A which can only be used for outputs (PA3, PA4, PA5, PA6). The pull-ups are disabled on these pins by removing the corresponding pins of the pull-up resistor packs.

The same 4.7K resistor packs are used in conjunction with 0.01uF capacitors to filter any analog input that is greater that approximately 3kHz. You may disable or alter the breakpoint frequency of these filters by removing the capacitor or changing it to a different value.


All connectors except for motor power input and output are backwards compatible with old motor boards. There are, however, a few things to note. Since there are more components on these boards, the previously unused power lines are used as additional, redundant power inputs (primarily for +5vdc). While the old power connectors will work with the new boards, I highly recommend adding the new power lines.

The new motor power connectors have different diameters. This prevents blowing up a driver chip by plugging a motor power input into a driver output. Power inputs are 2mm and motor outputs are 2.5mm. It would be nice to establish the convention of using Black wires for Ring and Red wires for Tip on all of these connectors.

The other slight change is that the xternal analog input PE1 is now amplified by 3.2 before being filtered and sent to the 6811. This means that this input should be reserved for external temperature sensing.

There are now temperature sensors mounted on each motor driver. These sensors are amplified, filtered, and sent to PE0. The current sensors are now filtered and still input via PE4.

Concerning the RJ-11 download connector: While there are +5vdc and GND available at this connection, I REALLY REALLY REALLY do not suggest using them. This connector cannot handle any current load and will melt very easily. (Translation: Always use external power for your downloader boxes).

General Operation

I have noticed that the motor drivers do not like certain things: Changing directions repeatedly and with high frequency will cause the drivers to become very hot. Also, holding a motor still while driving it at high speed will produce the same effect.

Further Documentation

The schematic for these motor boards can be found in the lab PC disk box on the "MOTOR BOARD DATA" disk in the Protel file A:\SCHEMES\PMOTOR4E.SCH. There should also be paper copies somewhere in the lab. The PADS PCB file for this board can also be foundd on this disk in A:\ROUTES\MOTOR1.PCB. The entire job as sent to PCB Engineering is on the disk labeled "MOTOR BOARD 1 JOB."

Dual Motor Board Assembly

Program the two PIC's and the PAL16V8.

  1. Software for both of these can be found in the Lab's PC floppy disk box on the disk labeled "MOTOR BOARD DATA."
  2. The Intel Hex code for the PIC is an A:\PIC\PWM1.HEX
    The PIC can be programmed with the EMP-20 using the proper "family module."
  3. The JEDEC code for the PAL is in A:\PAL16V8\MOTOR1.JED The PAL can be programmed with the Unisite programmer.

It is a good idea to use the following instructions as a checlist as you put on each part. Following the order of parts in this list will make assembly much easier. After each part, there is a quantity in parentheses, and following that are any important notes regarding assembly for that part. This list attempts to complete the component side suface mounting furst, so if there is any confusion regarding the side on which a part belongs, assume initially that it goes on the component side if there is a place for it.

Mostly Compontent-Side Surface Mount Devices

  1. 68HC11A1 (2)
    I recommend checking the solder connections now with an iron because once other components are on the board, it can be very difficult to fix any 6811 connections.
  2. X68C75 (2)
    Be extremely careful with the xicor chips (they are very misleading). Hold a Xicor chip in your hand such that the corner with the SMALL dot AND a 45 degree corner is in the upper left. The chip is now oriented such that the TOP edge should match up with the silkscreen notch on the boards. Ignore all lettering on the chip and silkscreen as cues for chip alignment.
    It is often difficult to get good surace mount contact and thses chips may later require touch ups with an iron.
  3. 34072 (2)
    The silkscreen for these IC's is incorrect; it reads "34064 Op-Amps."
  4. MAX811 (1)
    Pin one is slightly larger on both the device and on the PCB pad.
  5. LED's (3)
    The Panasonic LED's inicate their Cathode with a wider pin. These LED's also tend to dismount while heating other surface mount components. If the hearbeat lights don't seem to work, it may very well be the solder connection.
    Usually Power ON=RED and Heartbeats=GREEN
  6. Filter Resistor Packs (2)
    These are usually 4.7K packs.
  7. ISO122 (2)
    The silkscreen correctly shows Pin 1 with a "dot." Trust only this for mounting cues.
  8. HCTL-2016 (2)
    The label on the solder side that says 16V8 is wrong. It should read HCTL-2016.
  9. 4.7K Pull-up Resistor Packs (2)
    Before mounting the pull-ups, remove pins 10, 11, 12, and 13 on both packs. (Treat the package as an IC for pin numbering purposes with the dot marking Pin 1.
  10. PS2801-1 (4)
    These go where the silkscreen says PS2701.
    These IC's will not fit on their pads. You must bend their pins inwards to make them fit.
    These are oriented such that when the board is held in normal position, you can read the markings on the PS2801-1.
  11. PIC16C73 (2)
  12. 470ohm (2)
  13. 2.7K (2)
  14. 4.7K (1)
  15. PAL16V8 (1)
    I would only suggest using a socket for this if some day the lab obtains very heat resistant sockets. All sockets that I tried melted and would not provide a firm connection to the board. Also, check solder connections to this chip now. It is extremely difficult to access after construction is complete.

At this point, all of the surface mount components that need to be on the component side should be on the board. There are spaces for three 1uF capacitors near the power connector that should NOT be mounted at any time. Join us now as we venture on to the solder side of the board.

Solder Side Surface Mount Devices

  1. T-OSCILLATOR/8MHz (1)
    The T-OSC does not have a Pin 1 marking on the silkscreen. Of the four pads for the T-OSC, Pin 1 is the pad that is closest to the HCTL-2016.
  2. DIODES (2)
    These are common cathode SOT-23.
  3. Filter Caps 1 & 2 (16)
    Usually these are all 0.01uF non-polarized, ceramic capacitors.
    Regarding ALL capacitors: If a capacitor has a silkscreen polarity mark (the positive pad is surrounded by a "rounded" outline), then a polarized tantalum capacitor should be used. All other capacitors must be non-polarized, ceramic capacitors.
  4. 100K (2) 22K (4) 10K (4)
  5. SN75176 (2)
  6. 4.7K (11)
  7. 3K (2)
  8. 0.01uF (5)
  9. 470ohm (7)
  10. 10uF 16V (1)
  11. 1uF 35V (5)
    The only other component that should NOT be mounted is the 1uF capacitor located on the solder side right next to the ISO122.
    The silkscreen polarity marking is BACKWARDS for the 1uF cap on the solder side and nearest the power on LED.
    the 1uF capacitors that bypass motor power are usually in 35V tolerances. If this motor controller will drive a higher voltage motor, you might want to get a higher rated cap or simply not install these two caps.

Through Hole Parts

  1. Reset Switch (1)
    The switch used on these boards can be mounted either of the two ways that it fits.
  2. Hex Switch (1)
  3. RJ-11 Downloader Connectors (2)
    Clip the leads.
  4. DIP 16 for the DS96173 (2)
    This same chip is made by different manufacturers (e.g. SN75173).
  5. DIP 8 for the HCPL-2630 (1)
  6. LMD18200 (2)
    When mounting these motor drivers, mount them such that there are a few millimeters of space between the "horizontal pins" and the circuit board. There are traces that run under these pins and shorts may occur if the drivers are too low.
    Also, do not use too much solder to mount these. They have huge heat sinks and can be impossible to desolder if they have too much solder.
  7. LM35 (2)
    Clip the leads.
  8. Motor Power Connectors (4)
    The Motor IN connectors should have a 2.1mm (0.08") diameter. The Motor OUT connectors should have a 2.5mm (0.10") diameter.
  9. Dual Headers (3), 20-pin Header (1), and DB15 FEMALE.

Finishing Touches

Glue the temp sensors to the motor drivers. It would probably be good to use heat-conductive adhesives.

Install loops of single-stranded wire in test points for GND, +5, and MGND. The largest gauge that will fit is #24.

Optional: Install screws to hold connectors to board.

Dual Motor Board Connector Map

To see a picture of connector pinouts, click here.

Parts & Sources

DescriptionPart NumberManufacturerDistributer
SMD TL34072D Op-AmpTL34072DNationalNewark
1uF 35v SMD Cap PCS6105 CT-NDPanasonic Digikey
10uF 20V SMD Cap PCS4106 CT-NDPanasonic Digikey
SMD Diodes (SOT-23) common Cath ? ? Digikey
Diff Receiver DS96F173 National Newark
Diff Driver DS75176BM National Newark
PortExpander with 8K EEPROM X68C75L SLIC Xicor Xicor
Power Monitor/Reset MAX811LCUS Maxim Maxim
GAL16V8 PLCC GAL16V8B-15LJ Lattice Arrow
2.1mm PC Mount Socket 16PJ031 ? Mouser
2.5mm PC Mount Socket 16PJ032 ? Mouser
8MHz Oscillator T1280-8M MF Electronics MF Electronics
SMD Isolation Amps ISO122JU Burr-Brown Sager
4-bit Hex Switches(rt. angle) SW219-ND Omron Digikey
RJ-11 H9065-ND Hirose Digikey
SMD Red LED P490CT-ND Panasonic Digikey
SMD Green LED P494CT-ND Panasonic Digikey
PIC PIC16C73-10/SO-ND Microchip Digikey
4.7K SMD Resistors P4.7KECT-ND ? Digikey
470 SMD Resistors P470ECT-ND ? Digikey
100K SMD Resistors P100KECT-ND ? Digikey
22K SMD Resistors P22KECT-ND ? Digikey
10K SMD Resistors P10KECT-ND ? Digikey
2.7K SMD Resistors P2.7KECT-ND ? Digikey
3K SMD Resistors P3.0KECT-ND ? Digikey
Motor Drivers LMD18200T National Digikey
Temp Sensors LM35DZ-ND National Digikey
4.7K Resistor Packs 4816P-1-472-ND ? Digikey
SMD Opto-Isolators PS2801-1 NEC/CalEastern Reptron
Dual High-Speed Opto-Isolators HCPL-2630 HP Digikey
Reset Switch ? ? Ron's Office

MIT AI Lab, Rm. 920
545 Tech. Sqr.
Cambridge, MA 02139
(617) 253-0997 (617) 253-5060 FAX