Download PolyBot Board: a Controller Board for Robotics Applications and

Transcript
rate is 16MHz, the CPU core is RISC based and delivers
performance close to 1 MIPS per MHz. Secondly, the
fastest version of this microcontroller is available in a
DIP package. Again, the importance of the chip package
cannot be overlooked because this is a board that will be
used by students in various environments with various
sensors and replacing a damaged microcontroller should
be an easy task. Thirdly, the software tools available for
the microcontroller are open source and run on multiple platforms. The compiler is based on GCC and the
toolchain is based on GNU tools. The compiler available
is called AVR-GCC [1] and runs on Windows, Linux,
and Mac.
jumpers used to connect/disconnect the external motor
and servo power from the power applied to the power
jack. Two jumpers are used for each connection to handle higher currents. In Figure 1 and Figure 2, the board
is shown with the jumpers installed.
5. Connectors
For the download cable connection, we use an RJ-45
connector. This type of connector was chosen because
of the positive locking it provides with repeated connects
and disconnects.
Connector selection is an area that deserves careful consideration when designing equipment for student
use. Firstly, connectors need to be durable and reliable,
especially after repeated connects and disconnects that
students perform when testing their robots. Secondly,
the connectors also need to provide flexibility in the
overall design. Robot designs should not be particularly
limited or restricted because of the number or type of
available connectors. This section describes why particular connectors were selected on the PolyBot board.
Figure 3 is a diagram showing all of the connectors on
the PolyBot board.
For the main power input, we selected a standard
2.5mm inner diameter jack (5.5mm outer diameter).
This power jack allowed the design to eliminate a power
switch from the board. A user can quickly remove power
by pulling the plug from the jack. JP PWR is a 3-pin
male header which allows a user to enable the on-board
5 volt regulator. If the regulator is enabled (via a shorting jumper), the board may be powered with 7V-20V.
If a user disables the regulator, then the board must be
powered with exactly 5 volts.
The PolyBot board provides support for connecting
up to 8 hobby servos. Hobby servos typically come
with a 3-pin (5V power, ground, and signal input) female header with .1” spacing. This standard spacing was
used on the PolyBot board. For each of the RC servo
connectors on the board, we use a 3-pin male .1” spacing connector. This provides a very positive and durable
connector for the servos.
For the DC motors, we use 3.81mm spacing screw
terminal type connectors. These were selected because
of the higher current that they can carry and because
they allow for different sizes of wire to be used for the
motors. For the DC motor and servo external power inputs, we also use the same 3.81mm spacing screw terminal connectors. There are standard .1” spacing shorting
For the analog and digital inputs, we use connectors
similar to the HandyBoard [7]. The connectors are 3 pin
connectors with a +5V, ground, and an input pin. This
type of connector works well because it allows sensors
to be moved among the different input pins without having to re-wire the sensor leads. There is also an 8 pin
digital I/O header which provides access to +5V, ground,
and 6 digital I/O pins. A 4 pin header allows access to
the SPI port.
6. Downloading to the PolyBot board
Program download is performed over the parallel port
through a download board. A picture of the download
board is shown in Figure 4. The board provides an interface between the parallel port and the SPI port of the
ATMega32 (which is used in programming the chip). A
10-pin IDC connector is located on the right end of the
board (as shown in the figure) and is used to connect the
board to a computer parallel port. A standard Cat-5 Ethernet cable is used to connect the download board to the
PolyBot board. The download board contains a CMOS
buffer (74HCT541) which is used to maintain signal levels from the parallel port to the controller board. Two
LEDs indicators are provided on the download board to
indicate connectivity and data transmission status.
As an alternative to downloading through the parallel
port, we developed a bootloader that allows downloading through an RS-232 serial port. This was possible because the RX and TX serial lines of the microcontroller
are also routed to the RJ-45 jack. When this bootloader
is installed, holding a pushbutton switch and pressing
reset enables the serial download mode. With the availability of USB to serial converters, we found that this
was a very useful option for those users who do not have
access to a computer with a parallel port.
For the software to perform the downloading, we use
the open source download program, AVRDude (AVR
Downloader/Uploader) [4]. This program allows reprogramming of the fuse configurations bits and the program flash memory.