RoverSat Electronics Colorado SpaceGrant Jesse Wilson Summer, 2003 1. Design The rover's controller board is a small custom-designed PC board. Its two purposes are to support the CPU and connect the CPU to the rover's devices. While many teams that used a microcontroller used an OEM development board, we chose to construct our own. This resulted in a board that is smaller, weighs less, and is more suited to our purposes. While most OEM development boards are designed to survive a garage workbench at worst, we could also ensure that all the components we used would be rated for the expected operating environment, reaching temperatures as low as -40 C. We used the software package CadSoft EAGLE to design the controller board. When it came time to build the PC board, the same program was used to generate CAM files that were sent to a prototyping house. About a week later, we received our board in the mail, ready to solder all the components onto. 2. Components a. Core Components At the core of the controller board is an Atmel MegaAVR processor. It is an 8-bit RISC processor with 32 KB of flash RAM on the chip. Running at 8 MHz, it is capable of providing more than adequate performance for controlling the rover. We selected a low-power, industrial-rated version of the ATMEGA-32L, capable of operating at temperatures as low as -50 C. Two Energizer lithium photo batteries supply power for the rover. Running in parallel, they can provide power to the rover for about 5 hours-- plenty to fill the camera's memory with pictures after landing. According to Energizer, these batteries will supply power even at -40 C. Thus we can avoid the extra weight of heating elements and still be sure the rover will function the entire flight. Power from the batteries is fed through a +5V regulator before feeding into the processor. Another +5V regulator sits on the camera, supplying the sensor array. A +3V regulator supplies power to the camera. All servos are fed the raw +6V from the batteries, routed through a Toshiba Darlington pair driver IC first. The only two components not rated to function in the low temperature environment are the +3V camera regulator and the driver IC, since we do not wish to operate the camera or the servos until the rover has landed and warmed up. b. Electromechanical Components The rover uses four servos: two to drive around, one to move the camera, and fourth to operate the release mechanism. The camera servo is a lightweight servo manufactured by Grand Wing Servo (GWS). Its typical application is for moving control surfaces on model RC airplanes. The other three servos are stronger and heavier, with metal gears instead of plastic. Since servos are designed for a limited range of motion, the drive servos had to be modified. The procedure involved removing a metal tab in the gears and calibrating a position-sensing potentiometer inside. The release servo also needed to be modified for continuous rotation. But the release servo only needs to be turned on for a second or so, whereas the drive servos require more precise operation. Thus the drive servo was also modified so that the control electronics were bypassed, providing simpler control for the CPU. c. Sensors The rover has several sensors to provide it with information about its environment. A small thermistor on the controller board provides information on temperature. On the camera is mounted an array of photo-resistors that can be used as a makeshift compass on the ground, figuring direction from the sun's position in the sky. An infrared emitter and detector on the top of the camera facing forward allows for detection of obstacles in front of the rover. The most important sensor is the camera. We selected an Aiptek PenCam, available in consumer electronics stores for about $80. While it is not that great of a digital camera for consumer use, it is small, lightweight, inexpensive, and easy to modify for control. The camera was disassembled, leaving only the circuit board and lens assembly. Power is fed through a +3V regulator, controlled by the driver IC. This driver allows us to turn the camera on only when it is being used, saving batteries. This was most useful, given that the camera turned out to be one of the largest consumers of power, in addition to having a bad habit of spontaneously developing a short from time to time. Our power control technique prevented this from consuming the rover's batteries. The camera also had to be modified so the shutter could be controlled with an electrical signal instead of a mechanical switch. So the switch was removed, and a wire leading to the controller board was soldered in its place. 3. Controller Board Figure 1 shows the board schematic, while figure 2 shows the layout. The most difficult design challenge was to figure out how to lay out so many connections to peripheral components in such a small space. The connection headers are described in figure 3. Figure 1 Figure 2 Camera/Sensors 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Sensor array ground Sensor array +6V Forward light sensor Infrared emitter Rear-left light sensor Infrared detector Rear-right light sensor Camera/USB ground Camera/USB –Data Camera/USB +Data Camera/USB +5V Camera shutter control Camera power Unused 1 2 3 4 5 6 7 8 9 10 11 12 Release servo +6V Release servo ground Unused Left drive servo +6V Left drive servo ground Left drive servo signal Right drive servo +6V Right drive servo ground Right drive servo signal Camera servo +6V Camera servo ground Camera servo signal 1 2 3 4 5 6 Status light ground Status light signal Status light 2 ground Status light 2 signal Launch switch ground Launch switch signal Servos Misc. Devices USB Connector 1 2 3 4 Figure 3 Ground -Data +Data +5V In-System Programmer 1 2 3 4 5 6 MISO +5V SCK MOSI ~RESET Ground Parallel Port 1 ACK 2 Data 0 3 Data 1 4 Data 2 5 Data 3 6 Data 4 7 Data 5 8 Data 6 9 Data 7 10 STRB 11 Ground Figure 3 (continued)