The electrical systems were a major component of the robot’s success. The systems included a CdS cell for light detection, motors, roller microswitches, a button board, and a Futaba servo motor. The importance and application of each sensor/motor is described in detail below. A general overview diagram of the electrical systems is provided below.
Cadmium Sulfide (CdS) Cell
The purpose of the CdS Cell was to detect red, blue, or no light on the course. This was implemented in a few key areas. First, this was used for the robot to know when to begin its run. Once the light turned red, the CdS cell would read a new analog voltage, which was used to signal the start. Also, the robot used this to read the fuel light to be either red or blue, so that it could fill the rocket with the necessary fuel (liquid hydrogen or liquid oxygen). A table providing the thresholds for the relevant types of light is provided below.
Roller Microswitches
The robot’s roller microswitches were used very heavily in course navigation. Eight were used in total, two on each side. The robot would drive in a direction until two of the microswitches hit the wall, at which point it would perform the next necessary action. This was very helpful in navigating the temporary access ramp because the robot would not need to turn at all. An image of the microswitches sketchily taped to the PVC base is provided below. We had eight right from the start of the build because we knew how crucial they were to our success.
Motors and Button Board
The motors used consisted of four VEX 393 motors and one Futaba servo motor. The VEX motors would used by the drivetrain to allow the robot to navigate the course. The Futaba servo motor was used in combination with the magnetic arm to allow the robot to safely pickup, carry, and deposit the air filtration supplies.
Surprisingly, the button board ended up being very instrumental in helping the robot reach its true power. In testing, breakpoints were added at key points in the code so that the team could discuss and analyze what had happened up to that point in the run. This helped us debug code easier and update our testing log.