This
unit has a wide variety of external hardware to the AT MEGA128. As shown
in the diagram to the right, there are 3 accelerometers and 3 gyros, each
mounted 90 degrees to the next, giving the three components of rotation and
acceleration. The accelerometers made by Kionix
(KXM52-1050) are slightly higher in quality than the ones manufactured by
Freescale and Analog Devices (Sensitivity
is 660 mV deg/sec!). Additionally, the eval board we received had the
three accelerometers perfectly set at 90 degrees apart inside the chip, so we
did not have to calibrate the bias ourselves. The Gyros were provided by Analog
Devices. These were tied into the micro by using an external A/D, as the one in
the microcontroller was not sensitive enough to fully use our sensors. It is a
MAX197ACNI.
The LCD is a
Crystal Fontz CFAG12864B-WGH-N Graphical LCD, with a resolution of 128x64
pixels. It also comes with a built in inverter for the negative voltage in the
backlight. This makes reading the display in the dark and the direct sunlight
much easier. The LCD was implemented from scratch, detailso f which are in the
software section. We should note that we had a much
larger LCD we had found lying around in Aaron's basement, but it had some
problem with its memory (or so we think), so we reverted to the Crystal Fontz.
For the GPS Receiver, we are using a GARMIN embedded unit, the
GPS18e. This unit is a
12-parallel-channel, WAAS-enabled GPS receiver, with a CMOS output. It is also
powered off of 5V to minimize the number of external power regulators needed for
operation. It reports data back in the standard NMEA 0183 v2.00 and NMEA 0183
v3.00 formats, both of which our unit can decode. (read more in
Software).
The GPS Unit transmits
serial in an inverted format, so a 7400 high speed logic inverter was used to
rectify the signal (HIGH is logic 1 and LOW is logic 0 on the GPS, which is
backwards compared to the ATMEGA128).
The microcontroller we selected was the ATMEGA128. We chose this over a 32 or smaller chip due to its features of DUAL UART and high pin count.
We implemented a small analog passive low pass filter on the board to help filter down the accelerometers.