5.1 Motor Controllers
The motor controllers that are to be used in this design are to control the main drive and steering systems. Since similar motor types are to used for the steering and drive systems, a single controller can be used for both functions. In this design motor controllers for permanent magnet DC and brushless 3-phase AC motors where considered.
5.1.1 Control Methods
Two control methods were considered the this design. The first was an ON/OFF design and the second was Pulse Width Modulation(PWM). The ON/OFF design is the simplest to implement, but this method does not have the ability to vary the speed of the rover. This restriction would mean that a low speed would have to be used so that the rover could be maneuvered in confined places. With the PWM method it is possible to control speed of the motor. This would decrease the travel time needed to go to distant locations but at the same time give the rover the ability to safely maneuver through rough areas. For this reason the PWM method was chosen to be implemented in this design.
The PWM control method uses the widths of pulses in a pulse train to control the speed of the motor. The pulses are arranged such that only one pulse occurs for every period of the system clock. The duty cycle of the pulses determines the speed of the motor. Therefore, the higher the duty cycle the higher the speed.
A microcontroller can produce the PWM signal. There are microcontrollers designed to produce PWM output and others that can be programmed to do so. Programming the main controller to produce the output could eliminate the need for additional hardware, saving on the overall mass of the rover. However, it would cause the microcontroller to have to spend most of its time running the motors, thus increasing its work load. The mass of an additional processor, that is designed to produce PWM outputs, is relatively small and it would remove this work load from the main controller.
The LM628/LM629 (Figure 5.1) are precision motor controllers designed for use with many types of motors. These devices perform real-time computations for digital motion control. Control of these devices is done through a high-level command software interface. The LM628 has an eight-bit output which can drive an eight or twelve-bit Digital-Analog Converter(DAC) and the LM629 provides an eight-bit PWM and direction control outputs for directly driving H-bridge switches. For this design the LM629 will be used to produce the PWM signal needed to control the motors (the appendix contains circuit diagrams). (Power IC)

Figure 5.1 - LM628/LM629 Block Diagram
5.1.2 Switching Circuits
Once the PWM signal is produced a logic circuit must decode the signal for the type of motor that is being controlled. For this design controllers for both permanent magnet DC and brushless 3-phase AC motors where considered.
For permanent magnet DC motors the speed is controlled by varying the voltage to the input terminals of the motor. Raising the voltage will increase the speed and lowering the voltage will decrease it. This operation can be performed by an H-bridge switching circuit(Figure 5.2). An H-bridge has the ability to control the forward and reverse speeds of a DC motor. From figure 5.2, it can be seen that only transistors T1 and T2 are to cause to motor to turn. Turning off T1 and T2 and turning on T3 and T4 will cause the motor to rotate in the opposite direction. This network is controlled by an external logic circuit that receives the PWM signal and causes the bias network to change the voltage that is available to the motor.

Figure 5.2 - H-Bridge Switching Circuit

Figure 5.3 - LMD18200 Block Diagram
The time at which each coil is charged is critical; for this reason the controller must know the position of the rotor. This is achieved through the use of a shaft encoder. The encoder enables the controller to determine the position of the rotor and know which coil to charge next. The encoders that are used in this design are hall effect sensors that detect the changes in the magnet fields of the motor as it operates.

Figure 5.4 - Timing Diagram for Brushless AC Motor

Figure 5.5 - LM621 Motor Controller
5.2 Microcontroller Requirements
The microcontroller is the heart of the system. It must be able to send, receive and follow instructions via remote control as well as monitor the well being of the rover both internally and externally. Software will be developed so that the microcontroller can make decisions based upon the inputs it receives. Memory storage will need to be available to store information that can not be sent immediately and to remember previous movements so a backtrack can be performed if contact is lost. This portion of the design depends heavily on the development of software that will give the rover the ability to complete it mission. With this in mind the major focus will be in the development of software. Information on several types of microcontrollers has been obtained for the design and is located in the appendix.
5.2.1 Software
In order for the microcontroller to control the rover efficiently it must be prepared for any situation. These situations range from coming across an object that is to large to go over or loosing communications with the lander. Software must be written to handle each and every situation that the rover many encounter. Figures 5.6 and 5.7 are the preliminary flow charts for two situations that the rover will encounter.

Figure 5.6 - Object Detection Flowchart

Figure 5.7 - Signal Recovery Flowchart
5.2.2 Memory
Memory is a very important part of the microcontroller. It can be used to store past movements, images and instructions that can not be sent because communications with lander is not possible. The amount of memory needed to store this data is dictated by the amount of information that is needed to be stored. Instructions and a history of previous actions requires little memory. A single frame from one camera will require approximately 825k bytes of memory storage. If image compression software is not used a large amount of memory would be needed to store only few images. It will be necessary to take a detailed look at this area of the microcontroller since it will affect the rover¹s ability to function without human control.
Last Modified: Fri Dec 18, 1998
CSR/TSGC Team Web