+ All Categories
Home > Documents > Overkill Inc - Mechanical Engineering at the University of ... · Web viewThe card-placing project...

Overkill Inc - Mechanical Engineering at the University of ... · Web viewThe card-placing project...

Date post: 23-May-2018
Category:
Upload: trinhanh
View: 214 times
Download: 1 times
Share this document with a friend
78
Overkill Inc. Creative Card Placing Machine Exerting Maximum Effort For Minimal Results Project 99.13 Design Team: Name Email Phone Address Evan Kress [email protected] 369-4093 52 East Cleveland Ave. Rob Roche [email protected] 894-0210 74 Amstel Ave. Dave Conway [email protected] 454-1984 176 East Main Apt. 10 Jeremy Garey [email protected] 455-9151 55 Ritter dr. Sponsor:
Transcript

Overkill Inc.Creative Card Placing Machine

Exerting Maximum Effort For Minimal Results

Project 99.13

Design Team:

Name Email Phone AddressEvan Kress [email protected] 369-4093 52 East Cleveland Ave.Rob Roche [email protected] 894-0210 74 Amstel Ave.Dave Conway [email protected] 454-1984 176 East Main Apt. 10Jeremy Garey [email protected] 455-9151 55 Ritter dr.

Sponsor:

Mr. Lee MiklesGDA Digital Media

523 N. Tatnall St.

Wilmington, DE 19808

(302) [email protected]

Table of Contents

Executive Summary........................................................................................................ 3

Background..................................................................................................................... 4

Problem Description....................................................................................................... 4

Mission........................................................................................................................... 5

Customers....................................................................................................................... 5

Wants.............................................................................................................................. 6

Constraints...................................................................................................................... 6

Benchmarking................................................................................................................. 7

Metrics............................................................................................................................ 9

Target Values.................................................................................................................. 10

Concept Generation........................................................................................................ 11

Critical Function/Modeling............................................................................................ 19

Fabrication and Assembly............................................................................................... 20

Testing............................................................................................................................. 24

Re-design........................................................................................................................ 25

Recommendations........................................................................................................... 26

Budget Summary............................................................................................................ 27

Conclusion...................................................................................................................... 27

Appendices

A. Operating/Resetting Instructions....................................................................... 28

B. Detailed Budget................................................................................................. 29

C. Machine Pictures............................................................................................... 30

D. Drawing Package............................................................................................... 33

E. Robotic Arm BASIC Program .......................................................................... 48

F. SSD Analysis of Customers/Wants................................................................... 59

2

Executive Summary

GDA Digital Media presented team 13 with a unique opportunity to implement real world design practices. A complete solution required the application of mechanical engineering, electrical engineering, computer science, and the engineering design process. In an effort to establish enhanced customer interaction, GDA asked us to design, build, and evaluate an innovative, multi-step machine that accepts a business card and places it randomly on the wall. Through research and several discussions with our sponsor, a complete list of customers was developed. Wants were developed for each customer and ranked according to the respective importance of each customer as well as their wants.

Our top want for the design is to display the functional creativity of GDA. It should be noted that the definition of creativity allows us to consider only what GDA employees deem creative. This definition eliminates the need to consider the inherent differences among various industries perceptions of creativity.

The top metrics for our project are those for creativity. Because of the lack of actual engineering specifications that directly measure creativity, it was a long, repetitive process to determine these metrics. Initial metrics were created as a starting point to evaluate our preliminary concepts. These ranked concepts were then presented to GDA’s marketing director and the director of creative development in an attempt to validate and refine the preliminary metrics for creativity. Through an evaluation of their feedback, we were able to determine the specifics of what made one concept more creative than another. These specifics led to the refinement of our existing metrics and to the development of new metrics.

Concept development also was a long and repetitive process due to the continuously developing metrics. Every time the metrics were refined, the concepts had to be redeveloped in order to incorporate our new understanding of creative. After several iterations, the remaining concepts were rated and the best solution was chosen.

The top concept used a twelve step Rube Goldberg device including placing the card in a car and using a pinball plunger to push the car down a ramp. An elevator and conveyor belt were also used to place the card in front of a robotic arm that would pick the card up via vacuum suction and place it upon the wall. Design and fabrication of the robotic arm was mainly determined by the limited torque capabilities of the stepper motors that were donated to Overkill Inc. by Dade Behring. The robotic arm was designed to be light and counter weights were used to balance the moments around the base pivot point so that the motors could properly move the robotic arm. Fabrication of the Rube Goldberg steps was a slow, tedious process as each step was tested and altered upon completion to maximize their reliability.

There were several aspects of our design that required modifications after preliminary testing. It was determined that the stepper motors did not have the required torque to move the initial arm design. Therefore, modifications were made to lower the

3

arm inertia and the torque required to move it. Initial Rube Goldberg testing revealed that there were major reliability concerns. Testing values were significantly lower than the target values for percent complete cycles, therefore numerous modifications were implemented to increase machine reliability. However, the reliability of the machine is still a concern.

Background :

In today’s market, new and innovative methods must be implemented to gain a competitive edge. Because most efforts are put into ways of differentiating a company’s actual product, ways to improve interaction with the customer are usually overlooked. One action that always occurs during customer interaction is the exchange of business cards. The exchange has become common place in industry, as it is an excellent marketing tool and networking aid. It is not surprising then, that a company would seek a creative method of accepting business cards from their visitors.

The card-placing project was brought to Overkill Inc. by GDA Digital Media based in Wilmington, DE. GDA Digital Media is a small division of GDA, which is known for healthcare marketing. GDA Digital Media is an award-winning, dynamic, creative digital marketing agency that specializes in communicating ideas and information through outstanding design integration with leading-edge technologies. They focus on creating Impact Technologies, which are digital solutions that measurably impact a buying decision. Their three main focal points are multimedia applications, Internet/Intranet applications, and custom applications. They are most widely known for their promotional internet work with the hit TV show South Park. In this ever-changing market, creativity and innovation are what keep GDA competitive.

Description of Problem:

Several discussions with our lead contact at GDA (Marketing Manager Lee Mikles) led to the development of the problem description. Our underlying objective is to design and build a creative and innovative device to place a visitor’s business card on a bulletin board in the lobby of GDA Digital Media. Project Needs: This device will highlight GDA Digital Media’s functional creativity. The device will portray GDA’s “personality and uniqueness” through the

incorporation of items/actions representative of the company and their clients.

Project Benefits: This device will entertain and celebrate a client’s visit while promoting awareness of

GDA Digital Media’s ability to provide creative and innovative products. The project demonstrates GDA’s commitment to enhanced customer interaction.

4

Mission:

To design, build, and evaluate an innovative, multi-step machine that accepts a business card and places it randomly in a defined area on the wall.

Customers

Several discussions with our sponsor and preliminary research led to the development of a complete list of customers. Wants were developed after each customer was thoroughly interviewed. Below is a list of ranked customers along with their prioritized wants.

CUSTOMER WANTS

Lee MiklesMarketing Manager for GDA

Display functional creativity of GDA- Display company’s personality and uniqueness

Machine must perform reliably Limited machine run time No card defacement Limited machine size

GDA Visitors(Users of the Device)

Examples: Pharmaceutical Reps

Entertainment Industry Reps

Limited run time Particular industry represented in machine

Mike RussellDirector of Creative

DevelopmentRepresenting GDA

EmployeeBody

Display functional creativity of GDA Machine must perform reliably

Kinko’sBusiness Card Manufacturers

Compatible with range of business cards

Kristen RaughleSecretary for GDA who will be reloading device

Simple to reload

Table I. List of Customers

5

Note: The definition of creativity allows us to consider only what GDA employees deem creative. This definition eliminates the need to consider the inherent differences among various industries perceptions of creativity.

After all customer wants were determined, SSD was used to determine the respective importance of each customer as well as their wants. This led to the creation of the top customer wants.

Top Customer WantsNote: SSD analysis of customer wants is provided in Appendix F

1. Machine should display GDA’s functional creativity 2. Machine performs reliably3. Customers of GDA Digital Media should be represented in steps of the machine4. Limited machine size 5. Limited machine run time6. Business cards must be compatible7. Machine should be simple to reload after each run

Customer Constraints

Along with all physical constraints, GDA has given us a list of constraints/limitations that must be met. Machine must place the card randomly in defined area. Machine must have minimum of five steps. One step must include a South Park character. Machine must not imply profane, indecent, of lewd expressions. No human intervention can be required after starting the machine. Design must include GDA Digital Media logo and ‘Spike’ image Cost of parts not to exceed $250 Card must be placed on wall face out

6

Benchmarking:

For system benchmarking, machines including ATM’s, photocopiers, vending machines and coin operated arcade games were researched. These devices are examples of machines that carry out a sequence of events after accepting an object. The multi-step, “Rube Goldberg” machine operates in the same fashion.

From system benchmarking, it is clear that there is a multitude of ways to accomplish this sort of task. The solution can range from strictly mechanical devices such as gumball machines to complete robotic systems with electronics and microprocessors. However, the creative impact of the device will have to be optimized with the limited budget we have been given.

Functional benchmarking was done regarding specific functions and qualities that the machine is expected to maintain. The

Placement and Positioning Robotic arms / booms Printer heads / positioning tables Solenoid linear actuators

In the area of placement and positioning, numerous methods were found that would move an object from one place to another. The feasible, inexpensive methods involved simple arms and positioning tables controlled by computer hardware / software and run by stepper/servo motors. A critical lesson learned about robotic arms was that we would not be able to afford an existing solution. This led us to research the feasibility of building a robot from scratch. Several conversations with professors and graduate students ensured us that this was an appropriate approach even with our limited budget. (assuming GDA could supply a PC) Our design would however, be limited to the use of stepper motors instead of servo motors in order to keep within the budget.

Through our research, we determined that the robotic arm capabilities that we could afford would only allow for x-y motion. Because z-axis motion is required for the attachment of the business card to the wall, solenoids and linear actuators were researched as possible solutions.

Random Position Generation Computer generated Mechanically generated

Plinko “The Price is Right”

7

Roulette Air hockey table Dice

The random final position of the card was an important want of the customer. Two areas of randomness were explored: mechanically generated and computer generated. With simple software, a computer could generate random values and send them to a positioning device. Random values generated mechanically would prove to be a bit more difficult to manage but much more interesting to a visitor of GDA. Plinko, as seen on “The Price is Right,” generates a random position by having a disc cascade through a two dimensional pattern of pegs. Roulette, the casino game, obviously generates random numbers. It was also discovered that placing a business card on a turbulent air hockey table would randomize the position of the card directly.

Human Interaction Bill / card acceptors Push button controls Pin ball plunger

Human interaction will occur when the user gives the machine his/her business card. The machine must reliably accept the card from the visitor and prepare it to be cycled. People use machines that receive cards or paper everyday. They include change machines, automatic tellers, and soda machines. These devices proved to be too expensive, so devices with less automation were researched. Simple placement directly into the machine requiring the push of a button was a main area of research. Buttons proved to be a very straightforward and cheap solution.

“Rube Goldberg” Machines Contest winners and ideas

The card placer is to be a novelty device to appeal to an audience. User satisfaction is the most important thing in a “Rube Goldberg” design. Contest winners from the Theta Tau Rube Goldberg Machine Contest were explored for possible ideas. Various “How To” sites on the internet gave best practice information on Rube Goldberg design. Some of these guidelines include that the machine should be easy to follow, highly visible and should run to completion every time. Incorporating some of these, as well as original steps, would decorate the card placer design and appeal to the visitors of GDA.

8

Metrics

Physical engineering specifications were developed as a means of measuring the extent to which a design satisfies the given wants. SSD was then used to determine the cross correlation’s between the top wants and the metrics. This allowed for the determination of our top metrics, which we used as a means of ranking our concepts.

As can be seen in Table III, the top metrics for our project are those for creativity. Because of the lack of actual engineering specifications that would directly measure creativity, it was a long, repetitive process to determine these metrics. Initial metrics were created as a starting point to evaluate our preliminary concepts. However, SSD results did not accurately assess the top want of creativity. This problem was tackled by presenting concepts to GDA’s marketing director and the director of creative development. Through an evaluation of their feedback, we were able to determine the specifics of what made one concept more creative than another. These specifics led to the refinement of our existing metrics and to the development of new metrics.

Want Metrics

Display Functional Creativity

# of Steps # of Simultaneous Steps # of Hidden Steps # of Dissimilar Actions/Steps # of Steps That Involve the Card # of Actions/Steps to Start the Machine # of Moving Parts # of Employee Representations % of Card Visible After Attachment to Wall % of Card Defaced

Machine Operate Reliably % Complete CyclesCustomers Represented # of Customer RepresentationsLimited Machine Size Machine Length/Width/Height

Bulletin Board Length/WidthLimited Run Time Time to Completion

Business Card Compatibility Card Size Weight Thickness

Simple Reloading Reload TimeTable II. Metrics

9

Target Values

Target values were determined through direct feedback from the customers and through comparison to other designs that perform the same function. Through consultation with Kinko’s, reasonable card sizes were determined. After reviewing winning Rube Goldberg contest designs, target values for percent complete cylces, hidden steps, and dissimilar actions were determined.

Metrics Target Values# of Steps 7# of Simultaneous Steps 2# of Hidden Steps 0# of Dissimilar Actions/Steps 7# of Steps That Involve the Card 5# of Actions/Steps to Start the Machine 1% of Card Visible After Attachment to Wall 100%% of Card Defaced 0%% Complete Cycles 95%Time to Completion 35 Seconds# of Employee Representations 4Machine Length/Width/Height 3ft/2ft/3ftBulletin Board Length/Width 2.5’ x 2.5’Acceptable Card Sizes 2.5” x 3” to 3” x 3.5”Acceptable Card Weights 1 gramAcceptable Card Thickness’ .012 inReload Time 15 Seconds# of Customer Representations 2

Table III. Target Values

10

Concept Generation

After reviewing all benchmarks, concept generation started with numerous brainstorming sessions. The main functions the machine must perform were determined and entire sessions were held for the exploration of each individual function. The four functions the machine must perform are machine initiation, random generation, placement, and attachment.

Critical Function BrainstormsPlacement Random

GenerationAttachment Machine Initiation

Robotic Arm Linear Actuator Hinged Bulletin

Board Dart Gun Free Fall X – Y Plotter

Mechanical Devices Plinko Roulette

Free Fall Air Table Computer

Double Sided Tape

Glue Velcro Staples Push Pin Darts Magnets Pin Board

Pinball Plunger Carrousel/Trapdoor

- Returns GDA Card Placement in Car Foosball Player Placement in Robot

Grippers Push Buttons / Switches

Table IV. Critical Function Brainstorms

This list of functional concepts was then narrowed based on customer constraints. For example, the dart gun concept was eliminated due to safety concerns and the free fall concepts were eliminated due to the customer constraint that the card must always end up face out on the bulletin board. Velcro and magnets were also eliminated because of the physical limitations that arise when trying to attach a card on top of another one already on the board. The remaining functional concepts were then further developed and ranked based on our preliminary metrics.

Ranked Critical Function ConceptsPlacement Random

GenerationAttachment Machine Initiation

Robotic Arm Linear Actuator X – Y Plotter Hinged Bulletin

Board

Mechanical Devices Plinko Roulette

Air Table Computer

Double Sided Tape

Push Pin Staples Pin Board Glue

Carrousel/Trapdoor- Returns GDA Card

Pinball Plunger Foosball Player Placement in Car Placement in Robot

Grippers Push Buttons / Switches

Table V. Ranked Critical Function Concepts

The top functional concepts were then combined into complete solutions and further developed. These complete solutions were then presented to GDA’s marketing manager and director of creative development in an attempt to validate and refine the preliminary metrics for our top want, creativity. This meeting led to an analysis of the

11

individual functions, in an effort to determine the specifics within each function that make one concept more creative than another. These specifics led to the refinement of our existing metrics and to the development of new metrics. For example, response to push pin attachment was less favorable than double sided tape or glue because the pin defaces the card and hides it from view. This led to the metrics % card defaced and % of card visible after attachment. A metric for the number of actions/steps to start the machine evolved from favorable feedback to the concepts with minimal actions required to initiate the machine. Feedback on the Rube Goldberg function of the machine was most favorable for the concepts that incorporated multiple moving objects and as many dissimilar actions as possible. This led to the metrics # of moving parts and # of dissimilar actions/steps.

This analysis also gave us an understanding of the strong cross correlation between the creativity want and the want to represent GDA’s customers in the design. A design was determined to be more creative if it incorporated symbols or objects that are representative of the industries GDA does business with.

Our initial metrics were also validated by their feedback. For example, feedback for the robotic arm was more favorable than for the hinged bulletin board because the actual placement of the card on the wall is visible with the robotic arm and is hidden with the hinged bulletin board. The updated metrics for creativity are as follows:

Updated Creativity Metrics # of Steps # of Actions/Steps to Start the Machine # of Simultaneous Steps # of Moving Parts # of Hidden Steps % of Card Visible After Attachment to Wall # of Dissimilar Actions/Steps % of Card Defaced # of Steps That Involve the Card

Table VI. Updated Creativity Metrics

The refinement of metrics caused the team to begin an iterative process. The individual functions were redeveloped in order to incorporate our new understanding of creative.

A CLOSER LOOK AT THE FUNCTIONS

PlacementRobotic Arm Concepts

A robotic arm driven by stepper motors will position the business card in a random location and a linear actuator will place the card on the wall. The robotic arm is restricted to planar motion along the front of the wall and has two degrees of freedom. Multiple arm geometry’s can be implemented for the required motions. One of the many challenges that the robotic arm presents is returning the arm to its initial position in order to pick up the next business card. Various concepts were pursued including both open and closed loop systems. The open loop systems will require adequate testing to verify if the error associated with the

12

motors will be insignificant enough for our applications. Closed loop systems have been developed with the use of encoders and microswitches.

X - Y Plotter ConceptsAn x – y plotter driven by stepper motors will position the business card in

a random location and a linear actuator will place the card on the wall. Open and closed loop concepts were explored, but the challenge of returning the device to its initial position eliminated the open loop designs. Feasible closed loop systems have been developed with the use of microswitches. The required budget for these designs has become a concern due to the extreme costs of the lengthy lead screws that they would require.

Hinged Bulletin Board Concepts

A business card, face down on a flat surface with adhesive on the top surface, is attached to a bulletin board as it is lowered from a vertical position to a horizontal position on top of the card. Drawbridge designs as well as four bar designs have been explored. Concerns have issued over the required space for the bulletin board in the horizontal position as well as the hidden step of attaching the card.

Random Generation

ComputerA computer could be used to control the motion of the robotic arm. The

computer has the capability to generate the random digital voltage signals that operate the stepper motors. The computer can also be used to process the feedback provided by encoders and microswitches.

Mechanical DevicesMechanical devices implementing electronics have been pursued to

develop random voltages to drive the stepper motors. It was found that the use of mechanical devices for random generation in concepts that use a robotic arm for placement is not feasible because of the costs involved with converting an analog signal to a digital signal. However, because of the creativity requirements, mechanical devices remained in many of the concepts to offer the illusion that they are generating the random placement.

Air TableThe air table concepts perform in the same manner as the air hockey tables

that are found in game rooms. A business card would be placed on the table and randomly positioned through the use of additional air jets disturbing the cards trajectory. Various concepts were explored with this function, including the randomization of only the new business card as well as the randomization of all business cards that have been previously collected. Concerns surfaced regarding the true randomization of the card. For instance, the effects of a slight

13

misalignment that would cause the air table to not be level were explored. This resulted in a tendency for the card to position itself in the low point of the table.

AttachmentDouble Sided Tape

Double-sided tape is the number one attachment method for several reasons. Tape ranks highly against such metrics as % card defaced and % of card visible after attachment. Tape is also being pursued as the number one attachment concept because of the ease of use and reliability.

Push Pins, Pin Boards, and StaplesThese attachment methods have been pursued because of the holding

power they offer. However, concerns arose over the difficulties associated with holding and proper positioning of pushpins and staplers. Also, the refined creativity metric measuring the amount of card defacement led us away from the use of push pins and staples and eliminated the use of pin boards because of the damage they would cause the card. Pushpins were also less favorable because of its ranking against the metric % of card visible after attachment.

GlueAttachment to the wall with the use of glue has ranked less favorably

because it is harder to work with for several reasons. There were many limitations due to materials handling issues as well as the issues that surfaced due to the various drying times of glues. Quick drying glue turned out to be as inappropriate for our design applications as slow drying glue. The obvious concerns were that the glue might prematurely harden and that the glue might not completely cure in the limited time the linear actuators would be applying pressure to the card against the wall.

Machine Initiation

Pinball PlungerConcepts were developed with a pinball plunger initiating the machine.

Several variations were developed involving the plunger starting the Rube Goldberg steps by hitting a ball. Through feedback from our customer, it was determined that a more creative solution would involve hitting an object, such as a car, that is not normally part of a pinball machine. After the latest iteration, this design ranked most favorably in the eyes of our customer.

Carrousel / TrapdoorConcepts were developed involving a carrousel device that would accept

the business card and return a GDA business card when the device was spun around. The visitor’s business card would drop through a trap door when the device is spun around, initiating the ensuing Rube Goldberg steps. This device was perceived as extremely creative in the initial meetings with GDA because of the feature of returning a GDA business card. However, with subsequent feedback, it was determined that the feature would be even more creative if it was

14

a final action of the machine, rather than an initiating action. The project was a very labor intensive one and Team 13 did not have the time necessary to build and test such a device. However, this would make a good modification in the future.

Placement in CarDirect placement of the business card into a car has been pursued in

several concepts. Concepts ranged from the car starting down a ramp after a button was pushed to the car’s motion being initiated by a pinball plunger.

Foosball PlayerA foosball player could be used to initiate the machine. This concept is

also a favorable one because it strongly represents the interests and personality of GDA. A foosball player could also be easily implemented in a later Rube Goldberg step.

Placement in Robot GrippersThe business card could also be directly given to the robotic arm as an

initiation step. This initial design has been considered for its simplicity. It eliminates the difficulties that arise in getting the card to the robot but will not be implemented because of the lack of creativity associated with this action, which would stem from not including the business card in any of the Rube Goldberg steps.

Note: Brainstorms and concepts for the Rube Goldberg function have not been listed due to the length and complexity of the list. It was determined that ranking the individual steps within the Rube Goldberg function (ex. foosball player vs. golf club) would not be an accurate assessment, so complete Rube Goldberg systems were developed and ranked. The Rube Goldberg system that best met our metrics was then incorporated into various combinations of all other functions.

With the use of SSD, we then re-ranked the concepts against the metrics, and the best solution was chosen. The highlights of the ranking procedure for the top three concepts are presented below.

Concept A Functions:

Initiation: Card placed in car and shot with pinball Placement: Robotic arm Random Generation: ComputerAttachment: Solenoid / Double Sided Tape

Concept B Functions:

Initiation: Card placed in car and shot with pinballPlacement: X – Y plotterRandom Generation: ComputerAttachment: Solenoid / Double Sided Tape

Concept C

15

Functions:Initiation: Card placed in car and shot with pinballPlacement: Hinged bulletin boardRandom Generation: Air tableAttachment: Double sided Tape

Metric Target Values

Concept A Concept B Concept C

# of Steps 7 10 10 10# of Simultaneous Steps 2 2 2 2# of Hidden Steps 0 0 0 1# of Dissimilar Actions/Steps 7 11 10 9# of Steps That Involve the Card 7 8 8 7# of Actions/Steps to Start the Machine 1 2 2 2% of Card Visible After Attachment to Wall 100% 100% 100% 100%% of Card Defaced 0% 0 0 0% Complete Cycles 95% >95% 95% 95%Time to Completion 35 Seconds 50 seconds 50 seconds 1 minute# of Employee Representations 4 5 5 5Machine Length/Width/Height 3ft x 2ft x

3ft3 ft x 3 ft x 4

ft3 ft x 3 ft x 4

ft3 ft x 5ft x

4ftAcceptable Card Size 2.5” x 3” to

3” x 3.5”Acceptable Acceptable Acceptable

Acceptable Card Weight 1 gram Acceptable Acceptable AcceptableAcceptable Card Thickness .012 in Acceptable Acceptable AcceptableReload Time 15 Seconds 20 seconds 20 seconds 20 seconds# of Customer Representations 2 2 2 2

Table VII. Concept Ranking

Note: Bold text signifies where target values were not met or where Concept A exceeds all other values.

Concept A was selected based on this analysis.

DETAILED DESCRIPTION OF CONCEPT A

The concept will be explained through a detailed look at each of the four major functions. The four functions are the positioning and placement on the wall, the acceptance of the card into the machine, the attachment on the wall, and the Rube Goldberg steps that transport the card to the placement device.

Visitors entering the lobby of GDA, will see a two and half-foot by two and half-foot bulletin board in front of them painted in purple and white with the GDA Spike image. The remainder of the machine will sit below the board. Note: Pictures of the machine are located in Appendix C

16

Acceptance of the card

The machine is initiated when two steps are completed. The visitor must first place their business card with a piece of double sided tape on it, into a slot on the top of a car that is at rest in a chute. The second step is to pull a pinball plunger that is located directly behind the car. When pulled and released, the plunger will strike the car. This starts the car down the chute and initiates the Rube Goldberg steps.

Rube Goldberg StepsNote: The machine pictures in Appendix C have been numbered to designate the corresponding Rube Goldberg steps.

Step 1 - The car is shot down a chute that traverses the entire machine. Step 2 - At the bottom of the chute, a bumper stops the car. Step 3 - The momentum of the unit causes the card to be thrown into an elevator that

is at the end of the shoot. - The card will sit idle in the elevator until a later step will start the elevator

motor.Step 4 - During the car’s traverse down the shoot, it strikes a paddle wheel causing it

to spin. - The paddle wheel is connected to an axle that has a foosball player

connected to it. Step 5 - The spinning paddle wheel causes the foosball player to kick a ball into a

goal. The spinning axle also turns on a conveyer belt that is at the top of the elevator shaft.

Step 6 - The kicked ball drops through a shoot into a Plinko machine. - At the bottom of the Plinko machine, the ball completes a contact switch that

turns on the elevator. - During the elevator ascent, two things happen. A ball is knocked into a tube

and a latch is thrown. Step 7 - The ball rolls down the tube and lands on a computer mouse – starting the

computer program.Step 8 - The thrown latch causes Kenny to hang.Step 9 - When the elevator reaches the top of its fifty-one inch climb, a pivot causes

the elevator to tilt. - The card slides out of the elevator onto the already running conveyer belt.Step 10

17

- The conveyer belt drops the card in a shoot that positions the card in front of the attachment device of the robot arm.

Random Generation/Positioning of Card and Attachment

The positioning and control of the robot is done with the use of a computer and a stepper motor control card. The programming language that is used to output signals to the card is QBASIC. A serial port is needed to input data for program initiation and a parallel port is needed to output a signal to the stepper motors. GDA has provided the necessary computer equipment: a computer with a 486 processor, a parallel port, and a serial port.

A Rube Goldberg step is used to initiate the program. The step is completed when a ball lands on a mouse, which sends the initiation signal through the serial port. The mouse was used for program initiation because it was the easiest input device.

The first phase of the program generates the random numbers that correspond to

two positioning angles for the arm. This random generation is determined through the RAN function in BASIC. The RAN function generates two random angles based on a series of conditions that determine if the pair of angles will place the card within the limits of the board. If the pair of angles do not satisfy the programmed conditions, the program loops to select two new angles to be tested. A continuous loop will run until the angles satisfy the conditions.

Once two acceptable angles are determined, the next phase of the program places the card on the board. The X-axis and Y-axis are used to control the stepper motors, which leaves the Z-axis open to output a signal. A signal is sent out the parallel port to the Z-axis of the controller card to activate the solenoid. The program outputs one pulse out of the parallel port to the Z-axis. The pulse, a five-volt digital signal, closes a normally open relay that allows a 120-volt AC source to activate the solenoid. When the solenoid acts, two toggle switches are tripped and a bike cable is pulled. One toggle switch turns the conveyer belt off and the other activates the vacuum cleaner. The bike cable causes the second part of the arm to swing forward until it makes contact with the board, picking up the business card. A second five-volt signal is then sent to re-open the relay, causing the solenoid to deactivate. The toggle switch for the vacuum cleaner is tripped again with the deactivation of the solenoid, however, the vacuum remains on because the toggle switch is a memory switch; meaning it will take two toggles to turn the vacuum off.

After the deactivation of the solenoid, the first segment of the arm moves to the previously determined angle followed by the second part of the arm. The number of steps for each motor is determined by dividing the angle by .9 degrees (half step setting on the stepper motor controller). Due to the moments caused by the length and weight of our arm, gearboxes were connected to our motors, 100:1 and 75:1 for the first and second segments of the arm respectfully. The gear ratios were multiplied by the number of steps

18

to determine the total number of steps the motors must turn to position the card. Once the steps are determined, the program outputs the number of pulses to the stepper motor controller to turn the motors.

When the arm has reached the correct position, another one pulse signal is outputted to the Z-axis to activate the solenoid. This causes the arm to slap against the board, attaching the card. The activation of the solenoid also trips the memory toggle switch for the second time, which turns the vacuum cleaner off and releases the card from the arm.

The final step in the program is to return the arm to the start position. Reversing the motor direction and sending the same number of pulses accomplishes this task. With our limited budget, we could not purchase a feedback system to determine the exact position of the arm. However, our testing revealed that the arm moves back to the original position with relatively little error. Slight adjustments may be required after ten or more uses.

Resetting steps

Note: A detailed description of the operating and resetting instructions is included in Appendix A.

The resetting steps are: Place the car at the top of the chute. Reset the elevator back to the bottom of the tower. Take foosball out of Plinko Machine and place back in front of the foosball

player. Take marble out of mouse container and place back in lever on the elevator. Reset the elevator switch and the two conveyor switches. Reset Kenny to be hung!

Critical Function / Modeling

It became apparent that there were two areas of concern in our design, the placement function and the attachment function. This led to a thorough exploration of these functions. Professors and graduate students in the systems laboratory, including Nadeem Faiz, provided essential consulting regarding placement with a robotic arm. The planar motion required by the arm is not a difficult application of robotics. There are working models in the systems laboratory and in the engineering science laboratory. The motion out of the x –y plane that attaches the business card to the wall is the most difficult motion. However, we were able to develop a working model of this function to prove its feasibility.

19

Fabrication and AssemblyOnce we knew the design for our critical function would work, fabrication of the

machine commenced. Tasks were divided among team members to optimize the limited time available. Jeremy was responsible for the fabrication of the robotic arm, Dave and Evan were responsible for the fabrication of the Rube Goldberg steps, and Rob was responsible for the fabrication of the BASIC program that controls the arm.

Robotic Arm FabricationThe keys behind the design of the robotic arm were keeping it light because of the

limited capabilities of the stepper motors and keeping it inexpensive because of our severe budget limitations.

1/16” thin aluminum angle was chosen as the structural material for the upper arm to keep it light weight. For stability, two lengths of the aluminum were used side by side with a 3” spacing. The pivot of the upper arm was attached rigidly to the shaft of the 100:1 gearbox to make the whole arm rotate as the shaft spins. The 100:1 gearbox provides a sufficient torque ratio for the motors to run the arm. This was determined preliminarily assuming that the second motor could be mounted in such a way that it would provide sufficient counter weight.

By weighing the aluminum, gear boxes, motors etc, the arm (before tubing and cable were added) was determined to weigh approximately 2700 grams (6 lbs.) with a center of gravity approximately 19 inches from the shoulder. The second motor and gear box were used as a counter weight 4 inches off the back of the arm weighing about 1700 grams (3.75 lbs.).

This resulted in a 99 in lb (1580 in oz) torque required to lift the arm. Since the motors had a 44 in oz running capability, a gear ratio of 36:1 was needed. However this was before vacuum tubing and a cable was added. Later it was determined these items would double the moment on the arm.

Therefore, using the gearbox of 100:1 would sufficient to give the torque necessary with a safety factor of 1.25. More unexpected items were added to the arm later such as springs and cable clamps that would make the motor run very rough. Again, a weight balance was preformed at the shoulder and weights added until the arm was balanced. A 900 g counter weight was then added so the arm would run properly.

To keep the price down simple bike chain was used as the method of transferring torque from the second motor to the upper arm. The gearbox for the second motor was 35:1 but a chain cog ratio of 2.1:1 gave a final ratio of 73:1.

20

The upper arm had a lever arm attached to it 8 inches from the elbow of the lower arm. A total arm length of 36 inches was needed to reach the majority of the board, with each arm being 18 inches. Therefore, the lever arm needed to reach 10 inches to attain a combined upper arm length of 18 inches for the second arm. The solenoid pulls with a maximum force of 8 lbs. with approximately a pound of force being lost due to friction in the cable. Therefore, to reduce the force of the arm hitting the wall, the cable pulled 5 inches behind the pivot point while the arm was 10 inches long on the other side. This reduced the force by half. The force was further reduced by a spring attached to the lever arm that pulls it back off of the wall. A plate was welded to the end of the lever arm to distribute the force evenly over the card and tape when striking the wall. For the details of the arm and further understanding in the lay out, refer to appendix D.

Rube Goldberg FabricationCar RampThe materials used in the construction of the ramp were wood and aluminum

flashing. First, matching thin strips of wood were cut to length. Next, the aluminum flashing was cut to size and finally, the flashing was placed between the matching pieces of wood and bolted together. Legs were then added to support the structure. The ramp length, height, and angle of inclination were determined to accelerate the car to a velocity high enough to spin the paddle wheel and throw the card.

ElevatorThe elevator shaft was constructed out of wood, with wood screws used as the

attachment method. The shaft was designed to prevent the elevator from rotating during its ascent, thus it has both a front and side beam running the length of the shaft. The elevator itself is a tin cookie container. This was used for a creative touch. A DC motor that was taken from a remote control car drives the elevator. The motor has been geared down 2.5 times in an effort to get more torque out of the motor. The motor is powered by a 9V 550mA DC source. The motor is used to spin a bike hub, which wraps the elevator cord around it and thus raises the elevator.

Conveyor BeltThe conveyor belt consists of two bike hubs, a DC motor, and a rubber belt.

The two bike hubs were mounted into a piece of wood 15” apart. Great effort was put into the alignment of the hubs in order to prevent the belt from walking. A DC motor that was taken from a remote control car drives the conveyor belt. The motor has been geared down 3 times in an effort to get more torque out of the motor. The motor is powered by a 3V 700mA DC source. The height of the conveyor belt was determined by analyzing the clearance height the arm would require to avoid contact with the chute that is at the end on the conveyor belt.

GallowsThe gallows were constructed with wood, nails, and wood glue. Paint stirrers

were used as the floorboard for a good finish. The trap door was hinged and weight was

21

added to ensure that the door falls when the lever is pulled. Weight was also added to Kenny to enable him to hang headfirst.

Foosball TableThe foosball table and paddle wheels were constructed with wood, screws, and

bolts. A trim was added to the outer edge to ensure that the ball remains on the table. The foosball player, shaft, and goal were taken from an old table. The shaft was then mounted in wooden blocks with Teflon sleeves to eliminate friction. CD’s were then epoxied to the outer edge of the wooden paddle wheels.

Plinko BoardThe Plinko board was constructed of 3/8” plywood, screws, and Plexiglas.

Proper spacing was determined to give the ball a random trajectory. Screws were then inserted to act as the pegs in a Plinko board. Plexiglas was then applied to ensure that the ball remains in the board.

Computer Program Fabrication Note: A copy of the program can be found in Appendix E

The computer program for random generation, solenoid activation, and initiation of motor movement was written in QBASIC for DOS. Based on our constraint of $250, the only stepper motor control card we could afford requires a DOS interface. This limited our choice of computer programming languages to FORTRAN, C, or QBASIC. QBASIC was chosen because it is the default language editor in DOS. Because our programming background is limited to FORTRAN, extensive research was performed to learn the proper syntax. Any problems that we could not answer were referred to computer science majors.

The program was written in four different phases: initiation, random generation, solenoid activation, and motor movement. This was done to facilitate the debugging of the program. Once debugged, tests were run to verify that the output of the program was consistent with the expected results.

The first phase of the program generates the random numbers that correspond to two positioning angles for the arm. This random generation is determined through the RAN function in BASIC. The RAN function generates two random angles based on a series of conditions that determine if the pair of angles will place the card within the limits of the board. If the pair of angles do not satisfy the programmed conditions, the program loops to select two new angles to be tested. A continuous loop will run until the angles satisfy the conditions. The program was tested by running five trials of 100 cycles each. The x and y coordinates were recorded and plotted in Microsoft EXCEL to verify that the points lie within the borders and that they are random. The test results showed that the program was in fact working, however, the limits of the border were moved in several inches to avoid any cards being attached on the edge of the board.

The movement of the motors was performed by outputting pulses through the parallel port to the stepper motor control card. The program calls the address of the

22

parallel port and sends pulses through specific pins in the port to control the stepping and direction of the x-axis and y-axis motors. Testing was done to ensure that the pulses resulted in the proper movement of the arms. The speed of the motors was controlled by time delay loops in the program. Testing was performed to determine the time delay loops needed to optimize the speed and torque of the motors. This optimal level of torque and speed resulted by sending 500 pulses per second.

The solenoid is activated by sending one pulse out the parallel port to the Z-axis of the controller card. The pulse, a five-volt digital signal, closes a normally open relay to allow a 120-volt AC source to activate the solenoid. Testing was performed to ensure the proper performance of the solenoid.

The initiation of the program occurs in the Rube Goldberg steps when a ball clicks the left mouse button. The code required for this initiation was based on research found on the web of controlling a mouse in the BASIC language. The implementation of this feature required hours of debugging and testing.

Testing

23

Prototype testing was performed to determine how our machine matched up against our target values. Numerous tests were run on the machine as a whole, as well as on individual robotics and Rube Goldberg steps. Below is a list of the completed tests and results.

Robotics Actual Value Target ValueHolding Torque Acceptable AcceptableRun Time 25 - 70 sec. ~30 sec.Solenoid Activation 100% 100%Vacuum 75% 97.5%

Rube GoldbergCompletion - Initiation/Termination 80% 97.5%Defacement of Card 0% 0%Acceptable Card Sizes width to 3” 2.5” x 3” to

length to 3.5” 3” x 3.5”

Entire System % Complete Cycles 30% 95%Time to Completion 45 - 90 sec. 45 sec.Reload Time 15 - 20 sec. 15 sec.

From this analysis, it can be seen that we were not able to meet the run time and reliability target values. In regards to the run time, we are happy with the present results. The range of values is well within the given constraint of 90 seconds and the lower bound is actually right at our target value. The high-end values are a consequence of our budget. The budget limited us to drive the arm with stepper motors, which require high gear ratios as a result of their low torque handling ability. The high gear ratio consequently slows down the motion of the arm so little can be done to improve the speed of the machine.

The reliability of the machine is still a concern. We are presently working on modifications to improve upon the percent complete cycles. We have made recent advancements in the reliability of the vacuum by switching the control mechanism to a memory toggle switch. However, increasing Rube Goldberg reliability has proved to be a much more involved process due to the fact that a business card is unpredictable and unreliable. Getting the card from the car into the elevator and from the elevator to the conveyor belt are the areas of greatest concern.

24

Re-DesignThere were several aspects of our design that required modifications after

preliminary testing.

Robotic ArmFrom our preliminary tests, we found that the stepper motors did not have

the required torque to move the initial arm design. Therefore, modifications were made to lower the arm inertia and the torque required to move it.

Added ~900g counterweight Moved Solenoid off arm Moved vacuum power switch off arm

Rube Goldberg’sInitial Rube Goldberg testing revealed that the steps were very unreliable.

Numerous modifications were implemented to increase machine reliability. Added weight to front of car

- Facilitated the spinning of the paddle wheel and helped get the card into the elevator.

Changed bearing sleeve material in paddle wheel- Facilitated the spinning of the paddle wheel

Added guardrail to conveyor belt- Kept card from falling off the side of the belt.

Added ratchet style brake to elevator- Kept elevator from crashing down after motor is turned off.

Moved tape attachment step prior to machine initiation- Bypasses troubles encountered in putting tape on in one of the Rube Goldberg steps. Also helps card get into the elevator by adding mass to the card.

Increased power to elevator (6V 700mA to 9V 500mA)- Allowed for elevator to climb higher and angle more for the dumping of the business card.

25

RecommendationsAfter numerous tests, we have come up with a list of suggestions to enhance

machine reliability.

Pull pinball plunger back to full extension Place card lightly but fully in car Ensure proper arm alignment Replace batteries every 6 months Always keep dustbuster on charger Replace unused tape weekly

Budget Summary

GDA gave us a rigid budget of $250. This limited our options and ended up presenting us with design issues in electrical engineering and computer science, as well as mechanical engineering. However, thanks to numerous donations and hours of consulting, we were able to successfully build a card placing machine within the given budget. We would like to give a special thanks to the following: UD EE Dept., BikeLine, GDA, Dade Behring, Brian Feathers, Matt Brey, and Nadeem Faiz.

Robotics $165.73 Rube Goldberg Supplies $27.36 Electrical $15.22 General Materials $40.40

Total: $248.71

Table VIII. Budget

Note: A detailed budget can be found in Appendix B

26

ConclusionIn conclusion, Lee Mikles and team 13 are very happy with the card placing

machine. We have satisfactorily met the majority of the top metrics for creative. The machine performance in test runs has been greatly praised and will only get better as we increase our machine reliability. In the next few weeks, we anticipate working on modifications to improve upon the percent complete cycles. We have made recent advancements in the reliability of the vacuum by switching the control mechanism to a memory toggle switch. However, increasing Rube Goldberg reliability has proved to be a much more involved process due to the fact that a business card is unpredictable and unreliable. Getting the card from the car into the elevator and from the elevator to the conveyor belt are the areas of greatest concern.

27

APPENDIX A: Operation Manual

Operating Instructions 1. Take precut piece of tape from bin and place on the back center of the business card.

2. Place business card face down in the slot on top of the car.

3. Pull pinball plunger back and release.

4. Enjoy the action!

Resetting Instructions

Note: Numbers, corresponding to the resetting steps, have been placed on the machine to designate the location of the required actions.

1. Reset the foosball player/paddle wheels to the proper angle.

2. Flip the toggle switch under the far paddle wheel to the up position.

3. Flip the toggle switch on the electronics board. It should now point towards the bulletin board.

4. Remove the foosball from the Plinko machine and place it on the cue ball dot in the middle of the soccer field.

5. Lower the elevator. To release the brake, lift the ratchet off of the gear, while applying light pressure to the bike hub to prevent the elevator from crashing down. In order to lower the elevator all of the way to the floor, the lever arm that releases Kenny must be raised. Control the descent of the elevator with the right hand and raise the lever arm with the left hand until the elevator is completely clear of the arm.

6. Flip the toggle switch at the top of the elevator shaft to the down position.

7. Reset Kenny by raising the trap door and sliding the pin through the latch until it contacts the metal weights.

8. Remove the ball from the mouse container and place it in the lever on the elevator shaft. Ensure that the lever is returned to its initial position against the stop nail.

9. Make sure the arm is properly aligned so that when the swing arm rotates in to the board it does hit either the card rest (made from cog belts) or the plexiglass.

28

APPENDIX B: Budget

29

APPENDIX C: Machine Photos

30

Fig. C1

7 6

7

Fig. C2

2

8

14

31

Fig. C3

7

2

6

3

4

Fig. C4

10

9

32

Fig. C4

APPENDIX D: Drawings and Specifications

33

34

35

36

37

38

39

40

41

42

43

44

45

APPENDIX E: Robot Controller Code

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''This program generates a random position, stepper motor control, and ' ''solinoid control for placement of a business card on the wall through the use of a robot arm. '' ''PROGRAMER: Robert M. Roche ''April 5, 1999 ''Qbasic programming ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''45 DIM test(1 TO N + 1)DIM xcor(1 TO N + 1)DIM ycor(1 TO N + 1)DIM xtime(1 TO N + 1)DIM ytime(1 TO N + 1)DIM prot(1 TO N + 1)DIM omega1(1 TO N + 1)DIM omega2(1 TO N + 1)DIM RPM1(1 TO N + 1)DIM RPM2(1 TO N + 1)DIM thet(1 TO N + 1)DIM ph(1 TO N + 1)

CONST test1 = "TEST"CONST xcor1 = "XCORD"CONST ycor1 = "ycord"CONST xtime1 = "xtime"CONST ytime1 = "ytime"CONST omega11 = "omega1"CONST omega22 = "omega2"CONST RPM11 = "RPM1"CONST RPM22 = "RPM2"CONST thet1 = "theta"CONST ph1 = "phi"CONST pro = "program time"

CONST xpo1 = "xpos1"CONST ypo1 = "ypos1"CONST xpo2 = "xpos2"CONST ypo2 = "ypos2"

DIM xpos1(1 TO 200)DIM ypos1(1 TO 200)

DIM SHARED mouser$, MouseLeftButton, AX%, bx%, cx%, dx%SCREEN 12

46

40 CLS

'Data for the mouse input cycleDATA 55,89,E5,8B,5E,0C,8B,07,50,8B,5E,0A,8B,07,50,8BDATA 5E,08,8B,0F,8B,5E,06,8B,17,5B,58,1E,07,CD,33,53DATA 8B,5E,0C,89,07,58,8B,5E,0A,89,07,8B,5E,08,89,0FDATA 8B,5E,06,89,17,5D,CA,08,00

mouser$ = SPACE$(57)FOR I% = 1 TO 57 READ A$ H$ = CHR$(VAL("&H" + A$)) MID$(mouser$, I%, 1) = H$NEXT I%AX% = 0bx% = 0cx% = 0dx% = 0MouseInit% = AX%

DO WHILE MouseLeftButton <> -1

'Mouse RoutinesAX% = 3DEF SEG = VARSEG(mouser$)mouser% = SADD(mouser$)CALL Absolute(AX%, bx%, cx%, dx%, mouser%)MouseLeftButton = ((bx% AND 1) <> 0)

LOCATE 2, 1PRINT " Click the left mouse button to begin"

LOOPMouseLeftButton = 0

'INPUT "Enter number of test cycles:"; N

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''create files for later use''''''''''''''''''''''''''''''''''''''''''''''''''''''''''PRINT "hit it"OPEN "test" FOR OUTPUT AS #1CLOSE 1

OPEN "ARM" FOR OUTPUT AS #2CLOSE 2'END

SLEEP 7'''''''''''''''''''''''''''''''''''''''''''''''''''''Varible Definitions''''''''''''''''''''''''''''''''''''''''''''''''''''

w = 20 'width of the boardL = 20 'Length of the board

47

L1 = 18.5625 'Length of first part of the arm in inchesL2 = 18 'Length of second part of the arm in inchesG1 = 100 'Gear ratio of motor attached to first part of the armG2 = 73.5 'Gear ratio of motor attached to first part of the armsize = .9 'size of each step of motors in degrees

''''''''''''''''''''setting array for test data'''''''''''''''''''A = 1 'variable for array counting

'''''''''''''''''''''''''''''''''''''''''''''''''''''''print out headings for test output file''''''''''''''''''''''''''''''''''''''''''''''''''''''OPEN "test" FOR APPEND AS #1

WRITE #1, test1, thet1, ph1, xcor1, ycor1, xtime1, ytime1, pro, omega11, omega22, RPM11, RPM22

CLOSE 1

OPEN "arm" FOR APPEND AS #2

WRITE #2, xpo1, ypo1, xpo2, ypo2

CLOSE 2

'FOR k = 1 TO N

OPEN "test" FOR APPEND AS #1OPEN "arm" FOR APPEND AS #2

test(A) = kWRITE #2, test(A)

times = TIMER'''''''''''''''''''''''''''''''''''''''''''''''''''''''random angle theta for first part''''''''''''''''''''''''''''''''''''''''''''''''''''''

RANDOMIZE TIMER10 theta = INT(RND * 71)'PRINT "Theta equals:"; theta

'''''''''''''''''''''''''''''''''''''''''''''''''''''''random angle phi for second part of arm 16 in''''''''''''''''''''''''''''''''''''''''''''''''''''''

RANDOMIZE TIMER20 phi = INT(RND * 361)'PRINT "Phi equals"; phi

48

'''''''''''''''''''''''''''''''''''''''''''''''''''''''Conversion to Radians''''''''''''''''''''''''''''''''''''''''''''''''''''''

pi = (22 / 7)theta = theta * (pi / 180)'PRINT "Theta in radians equals:"; thetaphi = phi * (pi / 180)'PRINT "Phi in radians equals:"; phi

'''''''''''''''''''''''''''''''''''''''''''''''''''''''Condition statements to test whether'the angles put the card in the defined area of the board''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Eleminate phi ranges of 135 degrees to 225 degrees''''''''''''''''''''''''IF phi >= ((5 * pi) / 6) AND phi <= ((4 * pi) / 3) THEN GOTO 20END IF

x1 = L1 * COS(theta)y1 = L1 * SIN(theta)

'''''''''''''''''''''''''''''''''''''''''''''''''''''''check x''''''''''''''''''''''''''''''''''''''''''''''''''''''

IF phi <= (pi / 2) THEN x2 = L2 * COS(phi) IF (ABS(x1) + ABS(x2)) > L THEN GOTO 10END IF

IF phi > (pi / 2) AND phi <= pi THEN x2 = L2 * COS(phi - (pi / 2)) IF (ABS(x2) > ABS(x1)) THEN GOTO 10END IF

IF phi > pi AND phi <= ((3 * pi) / 2) THEN x2 = L2 * COS(phi - pi) IF (ABS(x2) > ABS(x1)) THEN GOTO 10END IF

IF phi > ((3 * pi) / 2) AND phi <= (2 * pi) THEN x2 = L2 * COS(phi - ((3 * pi) / 2)) IF (ABS(x2) + ABS(x1)) > L THEN GOTO 10END IF

'''''''''''''''''''''''''''''''''''''''''''''''''''check y''''''''''''''''''''''''''''''''''''''''''''''''''

IF phi <= (pi / 2) THEN y2 = L2 * SIN(phi) IF (ABS(y1) + ABS(y2)) > w THEN GOTO 10

49

END IF

IF phi > (pi / 2) AND phi <= pi THEN y2 = L2 * SIN(phi - (pi / 2)) IF ((ABS(y2) + ABS(y1)) > w) THEN GOTO 10END IF

IF phi > pi AND phi <= ((3 * pi) / 2) THEN y2 = L2 * SIN(phi - pi) IF (ABS(y2) > y1) THEN GOTO 10END IF

IF phi > ((3 * pi) / 2) AND phi <= 360 THEN y2 = L2 * SIN(phi - ((3 * pi) / 2)) IF (ABS(y2) > ABS(y1)) THEN GOTO 10END IF

x1 = ABS(x1)x2 = ABS(x2)y1 = ABS(y1)y2 = ABS(y2)

''''''''''''''''''''''''''''''''''''''''''''''''XY Coordinate of random point on board with orgin at bottom left corner'''''''''''''''''''''''''''''''''''''''''''''''

IF phi <= (pi / 2) THEN xcord = x1 + x2 ycord = y1 + y2END IF

IF phi > (pi / 2) AND phi <= pi THEN xcord = x1 - x2 ycord = y1 + y2END IF

IF phi > pi AND phi <= ((3 * pi) / 2) THEN xcord = x1 - x2 ycord = y1 - y2END IF

IF phi > ((3 * pi) / 2) AND phi <= (2 * pi) THEN xcord = x1 + x2 ycord = y1 - y2END IF

xcor(A) = xcordycor(A) = ycord

'PRINT "The Random X coordinate is:"; xcord'PRINT "The Random Y coordinate is:"; ycord

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Converting angles into steps to move for stepper motors''''''''''''''''''''''''''''''''''''''''''''''''''''''''''theta = (90 * pi) / 180

50

'phi = (135 * pi) / 180

theta = theta * (180 / pi) 'convert to degrees step1 = theta / size 'number of steps for stepper motor onestep1 = G1 * step1 'convert number of steps with gearboxPRINT "step1 is:"; step1thet(A) = theta

phi = phi * (180 / pi) 'convert to degreesstep2 = phi / size 'number of steps for stepper motor twostep2 = G2 * step2 'convert number of steps with gearbox

PRINT "step2 is:"; step2ph(A) = phi

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Activation of solinoid for card pick up'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'solinoid control

SLEEP 1

PORT = &H378data1 = 90FOR I = 1 TO 6OUT PORT, 90FOR j = 0 TO 15: NEXT jOUT PORT, 90FOR j = 0 TO 1: NEXT jOUT PORT, 0NEXT I

SLEEP 3

PORT = &H378data1 = 90FOR I = 1 TO 6OUT PORT, 90FOR j = 0 TO 15: NEXT jOUT PORT, 90FOR j = 0 TO 1: NEXT jOUT PORT, 0NEXT I

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Turn motors to random position''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

SLEEP 1 'Control of x axis

51

time = 0time1 = TIMER

c = 1m = 0

PORT = &H378data1 = 0REM direction 2 clockwise, 0 anticlockwisedirection = 2FOR I = 0 TO step1OUT PORT, data1data1 = 1 OR directionFOR j = 0 TO 2: NEXT jOUT PORT, data1data1 = 0 OR directionFOR j = 0 TO 1: NEXT jOUT PORT, data1DO WHILE m = I angle = I * size angle = angle / G1 angle = (angle * pi) / 180 xpos1(c) = L1 * COS(angle) ypos1(c) = (L1 * SIN(angle) - 15) c = c + 1 m = m + 100LOOPNEXT I

time2 = TIMERtime = time2 - time1xtime(A) = time

'''''''''''''''''''''''''''''''''''''''Calculate average angular velocity and RPM of motor without gearhead'''''''''''''''''''''''''''''''''''''''omega1(A) = theta / timeangle = step1 * size / G1time = time / 60rev = angle / 360'RPM1(A) = rev / time

''''''''''''''''''''''''''''''''''Control of Y axis'test whether motor should step clockwise or counterclockwise depending on'the angle phi''''''''''''''''''''''''''''''''''

time = 0time1 = TIMER

52

IF phi >= 0 AND phi <= 165 THEN m = 1 d = 1 DIM xpos2(1 TO 200) DIM ypos2(1 TO 200)

PORT = &H378data1 = 6FOR I = 1 TO step2OUT PORT, 6FOR j = 0 TO 2: NEXT jOUT PORT, 6FOR j = 0 TO 1: NEXT jOUT PORT, 0

DO WHILE m = I angle = I * size angle = angle / 100 angle = (angle * pi) / 180 xpos2(d) = x1 + L2 * COS(angle) ypos2(d) = L2 * SIN(angle) 'WRITE #1, xpos2(d), ypos2(d) d = d + 1 m = m + 100LOOPNEXT I

time2 = TIMER time = time2 - time1 ytime(A) = time

'''''''''''''''''''''''''''''''''''''''Calculate average angular velocity and RPM of motor without gearhead'''''''''''''''''''''''''''''''''''''' ' omega2(A) = phi / time angle = step2 * size / G2 time = time / 60 rev = angle / 360' RPM2(A) = rev / time

END IF

IF phi >= 210 AND phi <= 360 THEN d = 1 m = 1 phi2 = 360 - phi step3 = phi2 / size step3 = G2 * step3

PORT = &H378data1 = 110FOR I = 1 TO step3OUT PORT, 110FOR j = 0 TO 2: NEXT jOUT PORT, 110

53

FOR j = 0 TO 1: NEXT jOUT PORT, 0

DO WHILE m = I angle = I * size angle = angle / 100 angle = (angle * pi) / 180 xpos2(d) = x1 + L2 * COS(angle) ypos2(d) = -(L2 * SIN(angle)) d = d + 1 m = m + 100LOOPNEXT I

time2 = TIMER time = time2 - time1 ytime(A) = time

'''''''''''''''''''''''''''''''''''''''Calculate average angular velocity and RPM of motor without gearhead'''''''''''''''''''''''''''''''''''''' omega2(A) = phi2 / time angle = step3 * size / G1 time = time / 60 rev = angle / 360 RPM2(A) = rev / time

END IF

''''''''''''''''''''''''''''''''''''''''''''''''Writing x and y positions to file''''''''''''''''''''''''''''''''''''''''''''''''

FOR w = 1 TO 200 WRITE #2, xpos1(w), ypos1(w), xpos2(w), ypos2(w)NEXT w

CLOSE #2

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Activation of solinoid for placement''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''SLEEP 1

PORT = &H378data1 = 90FOR I = 1 TO 6OUT PORT, 90FOR j = 0 TO 15: NEXT jOUT PORT, 90FOR j = 0 TO 1: NEXT jOUT PORT, 0NEXT I

54

SLEEP 2

PORT = &H378data1 = 90FOR I = 1 TO 6OUT PORT, 90FOR j = 0 TO 15: NEXT jOUT PORT, 90FOR j = 0 TO 1: NEXT jOUT PORT, 0NEXT I

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Turn motors from random position to start''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

SLEEP 1

'''''''''''''''''''''''''''''''''''''''''''''''''control y'test which direction for motors to turn to return the second part' of the arm to the start position depending on the angle''''''''''''''''''''''''''''''''''''''''''''''''''IF phi >= 0 AND phi <= 165 THEN

PORT = &H378data1 = 110FOR I = 1 TO step2OUT PORT, 110FOR j = 0 TO 2: NEXT jOUT PORT, 110FOR j = 0 TO 1: NEXT jOUT PORT, 0NEXT I

END IF

IF phi >= 210 AND phi <= 360 THEN phi2 = 360 - phi step3 = phi2 / size step3 = G2 * step3

PORT = &H378data1 = 6FOR I = 1 TO step3OUT PORT, 6FOR j = 0 TO 2: NEXT jOUT PORT, 6FOR j = 0 TO 1: NEXT jOUT PORT, 0NEXT I

END IF

55

'Control of x axis

PORT = &H378data1 = 0REM direction 2 clockwise, 0 anticlockwisedirection = 0FOR I = 0 TO step1OUT PORT, data1data1 = 1 OR directionFOR j = 0 TO 5: NEXT jOUT PORT, data1data1 = 0 OR directionFOR j = 0 TO 1: NEXT jOUT PORT, data1NEXT I

timef = TIMERprot(A) = timef - times

test(A) = kWRITE #1, test(A), thet(A), ph(A), xcor(A), ycor(A), xtime(A), ytime(A), prot(A), omega1(A), omega2(A), RPM1(A), RPM2(A)

PRINT test1, thet1, ph1, xcor1, ycor1, xtime1, ytime1, proPRINT test(A), thet(A), ph(A), xcor(A), ycor(A), xtime(A), ytime(A), prot(A)', omega1(a), omega2(a), RPM1(a), RPM2(a)

CLOSE 1

A = A + 1PRINT "TEST COMPLETED:"; k'NEXT kRESTOREGOTO 40

56

APPENDIX F: Spread Sheet Design

APPENDIX G1: Electrical Schematics

APPENDIX G2: Electrical Parts List

1. Input from parallel port of computer2. AC Power Strip 3. 12 Volt AC Adapter to power stepper motor control card4. 24 Volt AC Adapter to power stepper motors5. Stepper motor control card6. Electrical bread board7. 5 volt DC controlled AC output Relay8. Third motor 9. Solenoid10. Shoulder stepper motor output11. Elbow stepper motor output12. Resistors for the power to the arm 13. Output power for stepper motors14. AC Input to Relay15. AC Output to Solenoid 16. 5 volt DC input to control relay from third output of stepper motor control Card17. Ground of 5 volt DC control of relay18. AC ground from solenoid19. Toggle to turn off conveyer belt20. Memory toggle to on/off vacuum when solenoid acts21. Output to third motor


Recommended