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. 

            The 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.

            While 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. 

            When 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 OOPic microcontroller.



            In 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.



            Two 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.




Table of Contents

Section 8: Motors Testing

Section 10: Controls