|
User's Guide Appendix Datasheets PDXBot Robothon Buy Robots! View Cart Shipping Privacy About Contact |
Mark III Robot
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Designator | Marking | Description | ||||||
|---|---|---|---|---|---|---|---|---|
| C1 | 104 | 0.1uF axial capacitor 50V Z5U | ||||||
| C2 | 104 | 0.1uF axial capacitor 50V Z5U | ||||||
| C3 | 104 | 0.1uF axial capacitor 50V Z5U | ||||||
| C4 | 104 | 0.1uF axial capacitor 50V Z5U | ||||||
| C5 | 104 | 0.1uF axial capacitor 50V Z5U | ||||||
| C6 | 104 | 0.1uF axial capacitor 50V Z5U | ||||||
| C7 | 104 | 0.1uF axial capacitor 50V Z5U | ||||||
| C8 | 100uF | 100uF radial aluminum electrolytic capacitor 16V | ||||||
| C9 | 100uF | 100uF radial aluminum electrolytic capacitor 16V | ||||||
| C10 | 104 | 0.1uF axial capacitor 50V Z5U | ||||||
| C11 | 104 | 0.1uF axial capacitor 50V Z5U | ||||||
| C12 | 104 | 0.1uF axial capacitor 50V Z5U | ||||||
| C13 | 33uF | 33uF radial aluminum electrolytic capacitor 6.3V | ||||||
| C14 | 33uF | 33uF radial aluminum electrolytic capacitor 6.3V | ||||||
| D1 | 1N4148 | 1N4148 Fast Switching Diode | ||||||
| D2 | Red T-100 LED | |||||||
| D3 | Green T-100 LED | |||||||
| J1 | 40 pin 100mil pitch dual-row header | |||||||
| J2 | 100 mil pitch 5-pin header | |||||||
| J3 | 100 mil pitch 3-pin header | |||||||
| J4 | 100 mil pitch 3-pin header | |||||||
| J5 | 2.0mm pitch 3-pin shrouded header | |||||||
| J6 | 2.0mm pitch 3-pin shrouded header | |||||||
| J7 | DB9 Female PCB vertical mount | |||||||
| JP1 | 6-pin 100 mil pitch dual-row header | |||||||
| R1 |
| 1K Ohm 1/8W 5% resistor | ||||||
| R2 |
| 1M Ohm 1/8W 5% resistor | ||||||
| R3 |
| 4.7K Ohm 1/8W 5% resistor | ||||||
| R4 |
| 4.7K Ohm 1/8W 5% resistor | ||||||
| R5 |
| 7.5M Ohm 1/8W 5% resistor | ||||||
| R6 |
| 2.4M Ohm 1/8W 5% resistor | ||||||
| R7 |
| 56 Ohm 1/8W 5% resistor | ||||||
| Spare 56 Ohm 1/8W 5% resistor | |||||||
| R8 |
| 22 KOhm 1/8W 5% resistor | ||||||
| R9 |
| 22 KOhm 1/8W 5% resistor | ||||||
| R10 |
| 22 KOhm 1/8W 5% resistor | ||||||
| R11 |
| 1K Ohm 1/8W 5% resistor | ||||||
| R12 |
| 1K Ohm 1/8W 5% resistor | ||||||
| R13 |
| 1K Ohm 1/8W 5% resistor | ||||||
| S1 | 600 mil 40 pin DIP socket | |||||||
| SW1 | DPDT Slide Switch | |||||||
| SW2 | 6.0mm Tact Switch | |||||||
| T1 | Terminal Block 3 positions 3.5mm pitch | |||||||
| U1 | PIC 16F877 - 20/P | PIC16F877 DIP 40 | ||||||
| U2 | MAX667 | 250mA LDO Regulator | ||||||
| U3 | DS232A | Dual RS-232 Transmitter/Receiver | ||||||
| U4 | Unused | |||||||
| Y1 | ZTT 20.0MX | 20.00MHz Resonator w/caps |
The picture on the left shows the top side of the bare printed circuit
board (PCB) for the Mark III Controller. This is the side on which the
components are placed. Soldering is done on the reverse side of the board.
The assembly of the Controller starts with the smallest pieces
first, and moves up by size. Working with the smallest components
makes the soldering job easier because you can rest the PCB on your
workbench to hold the parts in place while you solder. If you did
the taller components first, the smaller ones would tend to fall out
while you had your PCB inverted for soldering.
The first items to mount are the ten 0.1uF axial capacitors.
Capacitors are not very static or heat sensitive, so they are
a good place to get used to soldering if you're not completely
comfortable. These capacitors are all the same and
come attached together in your bag of parts, so they should be
easy to identify. In order to mount them, you must first bend the
leads (wires) to a ninety-degree angle so that the leads will
fit into the holes in the PCB.
Once the leads are bent, you can insert the capacitors into their
locations on the PCB. Do one then test. It may take a few to get the
spacing right - but this is the spacing used throughout the board so
once you get it everything else will turn out right. It doesn't have
to be exact. After inserting each capacitor, spread the leads a bit
on the back side of the board to hold the capacitor in place. It
makes it easier if you rest the board on something like a roll of box
tape - this elevates it off your workbench and lets the leads hang
down without obstruction.
After soldering, you should make it a practice to visually inspect each completed joint. Take a good look to make sure the solder fills the hole in the PCB and to make sure that all the leads have been soldered. Once you've looked it over and corrected any problems, clip off the excess leads on the back side of the board so they don't stick out too far.
Now for the resistors. See Appendix for resistor identification - there are a lot of different values included in this kit. First step is to lay out all the resistors and identify them. Compare against list of materials (insert resistor component list here). Note that you are given one extra 56 Ohm resistor - save this for later. If you have any doubts proceed by the process of elimination. Colors aren't always easy to distinguish on resistor bodies. Again, resistors aren't very sensitive to static or heat so they are a good way to get used to soldering.
Bend the resistors leads exactly the same way you did the
capacitor leads. The component bodies are about the same size,
and the hole separation on the PCB is the same. Once again, insert
all the resistors at once, turn over and tack down one lead,
turn over and inspect, make and necessary corrections,
then finish soldering.
Now you've had plenty of practice - 23 components soldered! Time to move on to the harder parts. Next, we're going to put in the Diode at D1. This is the first polarized component on the board. Meaning, unlike the capacitors and resistors we have encountered so far, diodes must be inserted in a particular way - there is a difference between pin 1 and pin 2, and if you insert it the wrong way your board won't work. The appendix discusses polarized components and how to recognize which orientation is the proper one.
Diodes are also static sensitive - electrostatic discharges from touching these components can generate thousands of volts at the lead - enough to damage the component. It is good practice to keep yourself grounded while soldering these. Wrist strap, touching ground, etc. They are also heat sensitive - if you allow the soldering iron to remain on the part for too long, the temperature will damage the part. You have a few seconds - solder the part then move on. If you make a mistake, give it time to cool down before trying to correct it.
Bend the diode leads just like you did for the capacitors and resistors, then insert the diode into the board. The silkscreen on the board shows an outline of the diode, with a triangle and a stripe. The point of the triangle is towards the stripe. The end of the diode with the band around it matches up with the stripe on the silkscreen. See the Appendix for an illustration.
Integrated circuit chips. There are two we are going to solder in this step, the MAX667 Power regulator (U2) and the DS232A serial transmitter/receiver (U3).
Location U4 is reserved for the optional EEPROM. It should be left unstuffed in the default configuration - don't accidentally put the MAX667 in this location! U4 is used to add a serial EEPROM to the Mark III. This EEPROM adds up to 256Kbits of memory to the PIC, for general use. If you choose to use an OOPic instead of a PIC, this EEPROM is mandatory. If you use just a regular PIC, the EEPROM can be useful because the PIC only provides about 300 some odd bytes of RAM storage.
DIPs are polarized and static sensitive. Find pin 1 and make sure that the DIP is oriented properly. Insert into board. The legs of the DIP may be spread too far apart to insert - if so you will need to squeeze them together before you can insert the chip. The easiest way to do this is to insert the legs on one side of the chip halfway, then while holding the chip by the ends apply gentle pressure to simultaneously bend the all legs that are already in the board. Turn board over. Fasten opposite corners with a quick dab of solder then turn back over and check to make sure chips are properly seated.
A 40-pin socket is provided for the PIC chip; this allows the PIC to be easily removed or replaced and also raises the PIC off the surface of the printed circuit board, making room for some resistors to sit underneath the PIC. The socket has a semi-circular notch cut into one end - align this with the corresponding notch shown on the silkscreen. Just like you did with the integrated circuits in the previous step, use a tiny bit of solder to fasten two opposite corners of the socket, then turn the board over and examine it closely to make sure the socket is properly seated. When you are convinced it is, you can solder the remaining pins. Don't forget to go back and make sure the two original corners you soldered get properly fastened.
Tact switch. This push-button switch is used to reset the PIC. The reset switch only fits in two ways, rotated 180 degrees from each other. Either way will work.
Next we will solder in the two small 3-pin shrouded headers (J5 and J6). Notch facing toward the center of the board. Asymmetric - check to make sure that the outline on the PCB matches up with the header. If the PCB outline sticks out a lot, you probably have it backwards.
Electrolytic capacitors. Check for the "-" pin (called the cathode), labeled on the capacitor body with a broad white stripe. The cathode is also the shorter lead. Make sure it goes in the correct hole. The silkscreen has a "+" next to the square pad, the round pad is where the "-" pin goes. This is very important - if power is applied to an electrolytic capacitor in the wrong orientation it may explode! See the Appendix for an illustration.
Resonator Y1. Resonator is not polarized, insert it either way.
LEDs. Light Emitting Diodes - everything we discussed re polarization, heat, static applies here as well. The LEDs are inserted so that the short lead goes into the square pad. The square pad is shaded white on the silkscreen.
Headers, 40-pin and 6-pin at the same time, then the two 3-pin. Again, tack corners (or just one pin, in the case of the 3-pin headers) then turn over to make sure that it is seated properly before doing the final soldering.
Power jack (the black, three-position terminal block) should be inserted so that the wire receptacles face the outside of the printed circuit board.
I²C header (5-pin white header) oriented so that the back (tension relief) is against the DB9 connector.
Power Switch can be inserted either way.
DB9 Serial connector only fits one way. Be sure to solder the locking standoffs to the PCB - this provides strain relief as well as a good ground.
The "Rev2" chassis design has shipped with all Mark III Kits sold since September 2002. The photographs in this section still show the "Rev1" design. However, the PDF drawings of the chassis and scoop are accurate and should be consulted if there is any confusion as to how the pieces fit together.
| Quantity | Description |
|---|---|
| 1 | 9V Battery Snap |
| 1 | 4 AA Battery Holder |
| 1 | Chassis Body |
| 1 | Chassis Scoop |
| 8 | 4-40 .375" phillips pan head sheet metal screw |
| 4 | Standoff 1.375 inch |
| 5 | 4-40 .375" phillips pan head machine screw |
| 5 | 4-40 Hex Nut |
| 2 | #4 Internal Tooth Lock Washer |
| 4 | #4 Nylon Washer |
| 4 | 6-32 .500" phillips pan head machine screw |
| 4 | 6-32 Hex Nut |
| 2 | 2" Velcro Hook Strip |
| 2 | 2" Velcro Loop Strip |
Note that the 6-32 screws are larger than the 4-40 screws, and the sheet metal screws have pointed tips while the machine screws have square tips.
Full-scale drawings of the Chassis and Scoop are available to show the dimensions and relative positioning of these parts in the Mark III robot:
The first step in assembling the chassis is to find the base plate. It is a powder-coated aluminum rectangle, with a large tab bent up in the rear and a small tab bent down in front. Four holes provide the attachment points for the standoffs/servo mounts. A slot on the front end is used to pass the wires from the underside of the chassis to the electronics.
The standoffs serve double duty: first, as mounting posts for the
servo motors, second, as attachment points for the controller board.
The standoffs are not symmetric - the hole through the side of the
standoffs is closer to one end than the other. Be sure to orient
each standoff so that this hole is closer to the base plate end
of the standoff.
Standoffs should be oriented so the hole is facing the
side edge of chassis.
Hole should be nearer to the bottom than the top.
Fasten the standoffs to the chassis with the four #4-40 3/8" sheet
metal screws. The screws go into the holes in the end of the
standoffs, and create their own threads as they are screwed in.
Defer final tightening until all components are in place.
Use the four #6-32 machine screws and four #6 hex nuts
to attach the servos to the standoffs. Make sure the
head of the screw is facing the outside edge of the base plate
so you have access to it if it needs tightening.
The servos should be positioned
so that the axle is closer to the rear standoff than the front.
This puts most of the weight of the servo in front of the axle.
If you want to use the rubber grommets that come with the servos
to provide cushioning, mount the grommets on the outside of the standoffs
between the standoff and the servo flange. Grommets
push the servos toward the outside of the robot, making
your robot wider. Be sure to stay within size limits!
Attach the sensors
loosely at first, don't tighten until after you have everything
together. You will need to adjust the sensor height at a later
time - slide the sensor up or down along the mounting slot
in order to raise or lower the sensor. Optimal sensing distance
is about 0.2" from the floor.
The screw head should be facing the front of the robot, with the
excess screw underneath the robot.
Thread the wire from the center sensor through the slot before you
attach the screws.
You will also need the two #4 lock washers here - the lock washers
keep the screws from rotating when the proximity detectors are mounted.
Put the washers on the ends of the screws then fasten the screws in
place with the remaning two #4 hex nuts. Again, don't do
your final tightening - we will have to remove these screws in
a little while to mount our infrared proximity detectors.
You may stick two strips of either the "hooks" or the "loops" to the
back of the battery pack. Whichever you choose, make sure you don't mix
them; you should have either two hook strips or two loop strips - not one of
each.
After you have attached the Velcro to the battery pack,
fasten the unused strips to the strips you have just mounted,
remove the adhesive, and carefully press the battery pack to the
underside of the chassis.
You should make sure that the batteries are oriented
side-to-side, so that the full width of the chassis is taken up by
the battery pack. Also try to position the battery pack as far
forward as possible, without interfering with the line sensor wires
running through the slot in the chassis. Positioning the pack forwards
improves the weight distribution of the Mark III.
Now you can finally tighten down all the screws that fasten to the standoffs.
It is a good idea to put a piece of electrical tape or masking
tape along the top edge of the 9V battery so the metal case of the
battery doesn't short
out the electronics if the battery accidentally comes into contact
with the bottom of the Controller board while the power is on.
If the battery doesn't fit snugly, you can wrap several turns
of tape about the body of the battery to increase its width.
A length of 1/8" diameter heat shrink tubing is included in the kit.
This may be used to keep the line sensor wires together in a neat bundle.
At this point in the assembly you will have a good idea of how long
the wires for the line sensors have to be and how they will
be routed to the circuit board. Cut the heat shrink tubing to
length and slip over the wires, shape the bundle
to fit, and use a hair dryer on "high" setting to shrink the tubing.
This may take a while, as many hair dryers are barely hot enough
to cause shrinkage.
GP2D12 cable assembly
The Sharp GP2D12 sensors have an unusual small white header mounted
directly on the sensor. Your Mark III kit has been supplied with the
mating connector. This is an Insulation Displacement connector designed
for use with 26 AWG stranded hook-up wire. Use the excess wire from
your QRB1133 sensors to make small cables for your GP2D12 sensors.
These cables only need be a few inches long - they will have one
connector at each end. To fasten the wire to the IDC connector...
These are Insulation Displacement Connectors - you're supposed
to leave the insulation on. Pushing the 26 AWG stranded wire
into the connector will pierce the insulation at the contact and provide
good mechanical support. The insulation is a large part of the
stress relief/mechanical connection and needs to stay on.
One way to do this is to use a small
blunt-tipped screwdriver and a paper clip end.
If you use a tool that is too sharp it will cut
the insulation, which is bad.
Add heat shrink if desired. fasten wire to other connector, making
sure pin 1 to pin 1 (connectors will be flipped).
On the back of the board the terminal block pins are silkscreened "Vin", "V+", and "GND":
When the 9V battery is connected, move the power switch to the on position. The green LED should light; if it doesn't, check to make sure your 9V battery is good, check to make sure that the 1N4148 diode is inserted in the proper direction, check to make sure the MAX667 is inserted in the proper direction, check to make sure the LED is inserted in the proper direction.
If the red LED is on, your 9V battery is low and isn't providing enough voltage for the Mark III to run. Replace your battery. Note that the LEDs indicate the state of the 9V battery only - they tell you nothing about the 4AA batteries mounted underneath the robot.
Connect with HyperTerminal (Windows) or MacTerminal (Macintosh) or xxx (Linux/Unix). (Note: Newer Macs don't have a serial port so they need a USB to serial adapter.) HyperTerminal comes pre-installed on most versions of Windows - it can be found in the "Start" Menu under "Programs/Accessories/Communications". If you don't have HyperTerminal installed for some reason, you can download it from http://www.hilgraeve.com/htpe/index.html.
Terminal settings are 38400 baud, 8 bits, no parity, 1 stop bit. Be sure that you have flow control turned OFF. You cannot communicate with the Mark III board if hardware or software flow control is in use.
When you have HyperTerminal running and the serial cable connected, press the white reset button on the Mark III. This will restart the Mark III and should print the following information in your HyperTerminal window:
8K PICLOADER v1.1
Copyright Rick Farmer 1999
No user code loaded
Press ? for help
PIC>
If you fail to see this message, possible causes are
8K PICLOADER v1.1
Copyright Rick Farmer 1999
No user code loaded
Press ? for help
PIC>
Then, select the "U" option to upload a program.
PICLoader will ask:
Are you sure (Y/N)?
Select "Y". At this point,
PICLoader will respond
Erasing
and will clear out the memory, displaying a hash mark ("#") for
every 256 bytes it clears. The PIC16F877 used by the Mark III has
6KB of memory available for user programs, so you should see 24 hash
marks. While this is happening, you should open up the
.hex file using any text editor (e.g. Notepad) and select the entire
contents. (Make sure you select all the contents, including
the trailing line terminators.) When PICLoader responds with:
Ready
paste the contents
of the .hex file into the PICLoader window. PICLoader will again
display a hash mark, this time one for each line of the .hex file it loads
(except for the last line, which is the end-of-file record).
Finally, you will be prompted:
Enter a rev string>
This is your opportunity to store a short, descriptive text
string to indicate the nature of the program you have just downloaded.
You'll find this useful when you need to figure out what program
is loaded into your robot!
When finished, you will be back to the PICLoader prompt. Typing "Q" at this point will quit the PICLoader and start running the self-test program. Results of the self-test will be displayed in your terminal window.
If your GP2D12 proximity sensors are not emitting infrared, the
most likely cause is a mis-wired cable. See the Assembly Instructions
and check to make sure you have made your cable correctly. You can
use a DMM to check that power and ground is connected to these sensors.
(explain).
Loopback Test
If you continue to have trouble connecting to your
Mark III even after following the above steps, you can
perform a loopback test. You do not normally need to
perform this test, it is only for when you have exhausted
all other means:
Note the pins on the 40-pin and 6-pin header are numbered in a zig-zag manner:
1 2 3 4 5 6 7 8 9 10 11 12 : : 35 36 37 38 39 40So, pins 39 and 37 are only .1" apart and you can use a shorting jumper to connect them.
You can check that the reset button works by getting an LED and holding it so that the long lead is in pin 1 of the PIC socket and the short lead is connected to ground. The LED should light up. When you press the reset button, the LED should turn off (this doesn't require any soldering, just bend the leads of the LED so that you can touch them to the right places.)
Visually inspect the soldering on the board to make sure that everything that should be soldered is, and nothing that shouldn't be soldered is soldered. Spend a lot of time looking.
The power regulator, RS232 circuit, the oscillator circuit,
and reset circuit are the only things on the board that can
cause the PIC to be silent. If all these can be verified to
be working, you might have damaged your PIC itself with static
electricity, but that is the least common cause of trouble.
Troubleshooting
There are a variety of languages that can be used to program the Mark III. It is suggested that you pick the one most suited to your level of expertise and experience. Sample code for self-test, servo calibration, MiniSumo and Line Following is available for each of the supported languages.
Your choice of a programming language depends on your experience, interest level, and budget. There are other languages and programming tools for the PIC16F877 than these; we just aren't currently supporting them.
The supported languages and their advantages are:
The MarkIII kit comes with a license for CH Basic, a nice BASIC language compiler specially designed for the PIC. This compiler normally costs $99, but is included in the price of your kit. The maker of the compiler has donated licenses to the project for $10 each, which is a great bargain.
For nonprogrammers, this is the best way to go.
CH Basic examples are here: http://thegnar.org/mIII/markIIICode.htm.
CC5X examples are here: http://groups.yahoo.com/group/MiniSumoMarkIII/files/C-Samples/.
OOPIC examples are here: http://groups.yahoo.com/group/MiniSumoMarkIII/files/OOPIC%20Samples/.
CCS C examples are not ready yet. Sorry.
Neither are JAL examples.
Rick Farmer's PICLoader, a boot loader or ROM Monitor program that comes preprogrammed into the PIC chip included with the Mark III kit. This small program gives the PIC chip enough smarts to talk to a computer and enables it to reprogram the Flash memory in the PIC with new robot programs using only an RS232 serial cable. Without the PICLoader, you would also need to buy a PIC programmer board, such as the Warp-13a from Newfound Electronics (available from the Mark III Store).
Mark Gross's miii_tools (http://thegnar.org/mIII/mIII_tools.zip) include CHPre.exe and mbuild.bat, which help convert the output of CH Basic so that it can be loaded into the PIC using Rick's PICLoader and either HyperTerminal or BotLoader (see below). These are required for all CH Basic users. Power users can hand-edit the CH Basic assembly code and run MPLAB themselves to do this, but even they can benefit by having it done automatically using Mark's tools. Mark's instructions for using them can be found at http://thegnar.org/mIII/mIII_tool_chain.htm.
Pete Skeggs's companion BotLoader and BotLdrCmd are Windows programs that make it easy to send your robot programs to the MarkIII's PICLoader. You can upload programs to the MarkIII using only a simple terminal program such as HyperTerminal (that comes with Windows), but it can be difficult to get all the settings right. BotLoader automatically finds the serial port in use, configures it correctly, and talks to Rick's PICLoader for you. Just browse your PC's hard disk to select your .hex file or type it in to the filename box, then click Go!. BotLdrCmd does the same thing except runs as a command line program for power users to integrate with their make environment. Instructions are here.
Pete Skeggs's CLst2Asm program for enabling the use of CCS C with the version of the PICLoader (1.1) burned into the standard MarkIII PICs. This is useful if you plan to use a variety of languages with the MarkIII. Alternatively, you can reprogram the PICLoader with version 1.3, which automatically works with the hex files output by CCS C, but which makes it hard to use other languages.
Pete Skeggs's Reloader, which (seemingly) does the impossible -- it can reprogram the PICLoader with another version of PICLoader. You can use this program to switch between versions 1.1 and 1.3 of the PICLoader. Instructions are available here.
Mark's miii_tools performs steps 3 and 4 for CH Basic users. Steps 3 and 4 are not necessary if you are using CCS C and have switched bootloaders to version 1.3.
| Designator | Description |
|---|---|
| J1 | 40 pin 100mil pitch dual-row stacking header .435 board separation |
| J2 | 6 pin 100 mil pitch dual-row stacking header .435 board separation |
The Prototype Board is meant to stack on top of the Controller Board. Because of this, the two stacking headers that come with the Prototype Board need to have their female ends facing down, so as to mate with the male pins on the Controller Board. Identify the top of the Prototype Board by looking at the silkscreen - the top is labeled "TOP". Insert the male ends of the two header through the bottom of the Prototype Board, so that the male pins point up through the board.
When soldering the headers in place, first tack one pin on each end down with a little bit of solder. Then check to see that the header is seated firmly and flush with the board. Don't complete the soldering until you have it positioned correctly.
Since another mezzanine board may be stacked on top of the Prototype Board, you need to be sure that the solder fillets on the header pins are small. Solder has a tendancy to wick up on the pins - if too much solder is used, then it will make the pins thicker and prevent another board from being mounted on top. If you get too much solder on the pins, you can easily remove it with some soder wick, but it's easier to avoid that problem to begin with.
| Designator | Marking | Description |
|---|---|---|
| J1 | 40 pin 100mil pitch dual-row stacking header .435 board separation | |
| J2 | 6 pin 100 mil pitch dual-row stacking header .435 board separation | |
| J3 | 100 mil header | |
| J4 | 100 mil header | |
| J9 | 8 Pin Header | |
| J10 | 8x2 Pin Header | |
| J11 | White | 5-pin 100 mil I²C Connector |
| RP1 | 10X1473 | 9-element common-terminal 47K Ohm resistor network |
| RP2 | 8X1223 | 7-element common-terminal 22K Ohm resistor network |
| SW1 | Red | DIP Switch 6-position |
| U4 | Piezo Buzzer | |
| U6 | PCF8574 | Remote 8-bit I/O Expander for I²C Bus |
Start the assembly by soldering the PCF8574 into the position marked U6 on the silkscreen. Then solder in the 6-position DIP switch. Although the switch is not polarized, it is convenient to solder it so that pin 1 (marked oc) lines up with pin 1 on the board (the square pad). The writing on the switch should then have the same orientation as the writing on the silkscreen.
The next components to add are the resistor packs. There are two of these, an 8-pin package which mounts next to the DIP swith in the location marked RP2, and a 10-pin package which mounds near the front of the board in the location marked RP1. The resistor packs are polarized - they need to be mounted in a specific orientation. Identify pin 1 on the resistor pack and pin 1 on the silkscreen by consulting the Appendix.
Piezo buzzer, U4. Mount in either orientation.
Connectors J9 and J10 (Handyboard Port).
Three-pin servo connectors, J3 and J4. These are mounted at the ends of the 40-pin connector, and provide two additional PWM servo connections.
The Sensor Board is meant to stack on top of the Controller Board or Prototype Board. The order of stacking, i.e. which one is on top, is irrelevant. Because of this, the 6-pin and 40-pin stacking headers that come with the Sensor Board need to have their female ends facing down, so as to mate with the male pins on the Controller Board. Identify the top of the Sensor Board by looking at the silkscreen - the top has outlines of all the chips and other components, and had most of the part designators. The bottom has very little on the silkscreen. Insert the male ends of the two header through the bottom of the Sensor Board, so that the male pins point up through the board.
When soldering the headers in place, first tack one pin on each end down with a little bit of solder. Then check to see that the header is seated firmly and flush with the board. Don't complete the soldering until you have it positioned correctly.
Since another mezzanine board may be stacked on top of the Sensor Board, you need to be sure that the solder fillets on the header pins are small. Solder has a tendancy to wick up on the pins - if too much solder is used, then it will make the pins thicker and prevent another board from being mounted on top. If you get too much solder on the pins, you can easily remove it with some soder wick, but it's easier to avoid that problem to begin with.
The last component to add is the white, 5-pin I²C connector. This is orented so that the tall white back faces the middle of the board. In this orientation the bottom of the connector should match up perfectly with the silkscreen outline and the connector should be entirely on the PCB board. If the connector is hanging off the end, you probably have it backward.
If you purchased the optional Analog Input Expander Kit, there are four additional components to add.
If you purchased the optional Accelerometer Kit, there are seven additional components to add. The Accelerometer solders directly to the 8 surface mount pads on the top side of the board. Pin 1 on the accelerometer chip is marked with a little triangle with a square around it (the Analog Devices logo) Looking at the top of the chip, orient the chip so that the text is right-side up - pin 1 will be in the lower left on bottom edge. On the PCB, the silkscreen mark for pin 1 doesn't show up. Pin 1 is the surface-mount pad on the top of the board that is connected to the through-hole with the square pad.
It's not hard to solder the Accelerometer directly to the board, but it is a pain working with that small package. Put some solder on the pads, and some solder in the connection points of the chip (the gold-colored grooves on the bottom. Put some liquid or paste flux on the pads. Position the chip over the pads and heat up the excess solder you just put on. Do one pin first and make sure you position the chip properly, then it will stay in place when you do the other pins.
The trimpot is mounted in location R7 - it only fits in in one directions. This variable resistor is used to modify the pulse frequency of the accelerometer output.
If you purchased the optional H-Bridge Kit, there are seventeen additional components to add. The four green LEDs are mounted along the front edge of the board, the four red LEDs are mounted behind them. The four 1K current limiting resistors are vertically mounted - bend one lead of each resistor so that it doubles back and lies parallel and next to the other lead. Then insert the resistor into its pads making sure the resistor body is vertical.
The H-Bridge Kit allows you to drive four DC motors, each of which interfaces to the Sensor Board via a 3-pin header. Two 6-pin headers are provided in the H-Bridge Kit in place of four 3-pin headers - this provides a more rugged connection point. Solder one 6-pin header into the spaces marked J7 and J8 on the board, solder the other into the spaces marked J5 and J6 on the board.