Introduction Mechanical System Electrical System Strategies
The final system used to control the motors in Brannigan was Intel 8051 microprocessor running four mechanical relays. We used a 7Ah lead-acid battery to run the two motors.
From Intel's 8051 Spec sheet: "The Intel 8051 is a stand-alone, high-performance single chip computer fabricated with Intel's highly reliable +5V, depletion load, N-channel, silicon gate HMOS technology packaged in a 40 pin DIP." The 8051 circuit shown above reads instructions from an external memory source, the ROM. We used 2732 EPROM as the ROM which can be programmed, erased, and reprogrammed. The circuit diagram shows the layout and function of the 8051 coupled with an external memory source. We used the 8051 for robot controlling because it allows for a much more developed and customized system than a prefabricated system can provide. The only problem is that a ROM burner is required. Other than that, the solution is relatively inexpensive - all three chips shown above total to less than 10 dollars. In the simple configuration shown above, there are 12 available pins for I/O. We used four pins (P10-P13) to control the relays and four pins to light LED's. The role of the LED's should never be underestimated as they were extremely helpful in debugging. The code used in the competition was written in assembly, which was compiled into hex and burned to the ROM. We used the Hi-Lo Systems Quick EPROM Programmer (EPP-01CE), which was both reliable and economical.
The motors (M1 and M2) were controlled by four mechanical relays (A, B, C, and D). The relays were 5VDC SPDT relays (Radio Shack P/N 275-240A). Since these relays switched between two signals (rather than just on and off), only four were needed to give the five possibilities of motion, described below.
|
Robot Motion |
Motor 1 (Left) |
Motor 2 (Right) |
Relay A |
Relay B |
Relay C |
Relay D |
|
Forward |
Clockwise |
Clockwise |
12V |
Gnd |
12V |
Gnd |
|
Reverse |
Counter-Clockwise |
Counter-Clockwise |
Gnd |
12V |
Gnd |
12V |
|
Turn Clockwise |
Clockwise |
Counter-Clockwise |
12V |
Gnd |
Gnd |
12V |
|
Turn Counter-Clockwise |
Counter-Clockwise |
Clockwise |
Gnd |
12V |
12V |
Gnd |
|
Stop |
Stop |
Stop |
Gnd |
Gnd |
Gnd |
Gnd |
The circuit shows relays A and B controlling Motor 1. The current provided by the 8051 is only 100 micro-Amps. The relays require a switching amperage of 89.3 milli-Amps. The 74LS 573 chip shown steps up the current so that the relays can be switched. The flyback circuit (the four diodes above the motor) provides a path for the current to travel during switching. Without this, the system may produce unexpected results. Before we placed the flyback circuit on the motor, the microprocessor was reset every time the relays switched. Also, mechanical relays are necessary because they provide a complete connection while solid-state relays provide a proportional connection, which is certainly not desirable when driving motors.
The battery we used was the Tempest TR7-12 Lead Acid 12V battery. Although it was heavy (weighing in just under six pounds), it provided power we needed to run the motors. There are several advantages to lead acid batteries: 1. They're strong and provide plenty of current. 2. There is no memory effect found with NiCD batteries. 3. The current draw is very consistent throughout the life of the battery. In fact we noticed no change power from the battery even after several hours of testing. If weight became an issue, we could have gone with a smaller battery and used a spare if necessary.
Introduction Mechanical System Electrical System Strategies