To provide adequate control of the six different motors
located in the arm, the selected motor controller is required to meet several
requirements. These requirements include
cost, ease of programming, number of I/O lines, Analog-to-Digital (A2D)
converter, and processing speed.
most important of these considerations is cost.
Since the project has a limited budget and power constraints, a
commercially available motor control system would be out of the question. These products would utilize a
disproportionate amount of the available budget. The goal of the project is to keep the costs
low, making the device available to a greater percentage of the populous.
cost was an important consideration, ease of programming was also a
priority. The team members were eager to
learn new programming languages and techniques, but the limited time frame
required the use of familiar languages.
Most controllers on the market utilize assembly language, which was
unfamiliar to all of the team members.
This limitation narrowed the list of viable options to two
microcontrollers, the BASIC Stamp and the OOPic.
comparing these two options, some obvious advantages developed. The first major advantage of the OOPic over
the Stamp is the multitasking capability of the
OOPic. This advantage is important for
simultaneous kinematic calculation, while changing multiple motor speeds. The OOPic also allows for more operations per
second thru the use of virtual circuits, and twice the I/O line capacity of the
Basic Stamp. The OOPic has an internal
Analog-to-Digital converter, providing potentiometer input for closed loop
feedback control. This A2D converter
operates at 8-bits providing 256 divisions over the range of measurement. Additionally, the OOPic provides networking
capability between multiple controllers.
Furthermore, the OOPic was among the microcontrollers proposed as a
future suggestion by previous Gateway teams.
Finally, the OOPic compiler supports Basic, C, and Java languages, while
the Stamp has a proprietary PBASIC command set.
C and Basic programming were among the skill sets possessed by several
group members. Figure 9.1 shows the
past years, Gateway groups had designed and built special motor controllers to
fit their needs. This specialization was
necessary due to the large variety of motors used in previous designs. For 2001, one of the goals was to use one
type of electric motor for the arm tasks. Previous years designs utilized
brushless DC motors, stepper motors, and DC servomotors. Each of these motors required different
programming and hardware schemes. This
assortment of motors added complexity to the design without much benefit to the
customer. In this year’s design, the
team was able to locate a source of surplus motor controllers with favorable
characteristics to the surplus gear motors selected for this project. These model MC6 motor controllers provide 30
amps continuous control by a Pulse Width Modulation signal supplied by the
OOPic microcontroller. The motor
controller has a built in ramp function for a smooth startup in both forward
and reverse directions. The inputs
required from the OOPic are +5V enable signal, to engage the motor control
board, two direction signals, and a PWM signal for speed control. As an added benefit, these boards are
available in both 12 VDC and 24 VDC configurations.
Problems surfaced when using these boards
to control the screwdriver motors, located in the gripper and elbow, and the
window motor used in the shoulder rotate. Electro Magnetic Interference (EMI)
was caused by the “noisier” motors. This
EMI feedback caused the OOPic to randomly turn on and off I/O lines. We made an attempt to filter this noise using
0.1-μF capacitors mounted between the motor power leads and each lead to
the motor casing. This solution fixed
the noise originating from the window motor.
To reduce the noise to a level that would allow the OOPic to control the
screwdriver motors a separate power source was required. The battery used was a 6 V lantern battery
with a common ground to the wheelchair.
This eliminated power supply line noise.
To eliminate this extra power source, reduction of noise in the power
lines would be required. An inexpensive
fix would be to use ferrite cores around the power lines leading to the OOPic.
types of measurement devices were investigated for determining the joint
angles. Both encoders and potentiometers
were considered. Absolute encoders were
considered more favorably over incremental encoders, since they did not require
an initial home position for angle measurement.
The cost of the absolute encoders, at around $1000 for each of the
encoder assemblies, made them an unacceptable option. Incremental encoders are
a much cheaper option, about $100 per encoder, but require the arm to return to
a home position prior to any angle measurement.
This characteristic, as well as, the increased processing requirement
made incremental encoders an unacceptable option. The next type of measurement device explored
was the use of potentiometers. Initial
analysis of the potentiometer precision needed for the feedback control
required more processing than the 8-bit A2D available from the OOPic. Upon further investigation, all angle
measurements were limited to less than 360o, thus spreading the 256
divisions over a smaller angle range.