Upload
maylin
View
29
Download
0
Embed Size (px)
DESCRIPTION
BY: Liz Ork , Dara Novini , and Morgan Oxenrider. ECE 001 FINAL REPORT. TEAM PICTURE. Pictured from left to right: Liz Ork , Robert Proie , Jordan Newcome , Dara Novini , Morgan Oxenrider , Professor Ahmadi. Group #10. Robot Name: The Miracle Runner. PROJECT OBJECTIVES. - PowerPoint PPT Presentation
Citation preview
ECE 001 FINAL REPORT
BY: Liz Ork, Dara Novini, and Morgan Oxenrider
TEAM PICTURE
Pictured from left to right: Liz Ork, Robert Proie, Jordan Newcome, Dara Novini, Morgan Oxenrider, Professor Ahmadi
Group #10
Robot Name: The Miracle Runner
PROJECT OBJECTIVES1. Construct a robot with Lego pieces.2. Program the robot using Interactive C
so that the robot can move along a curved path from start to finish.
3. Once the robot as moved from start to finish, program the robot to make a U-turn and continue back along the curved path to the start line.
PROJECT RESOURCESParts List: Handyboard 2 Motors 2 Analog Light Sensors Lego Pieces Tread Wheels
PROGRAM LISTINGvoid main(){ while(start_button()==0); /*begins program when start button is pressed*/ {
} while(1) /*repeats code indefinitely*/ { if(analog(5)>200&&analog(6)>200) /*if both sensors read above 200, U-turn at
end of course*/ { ao(); sleep(.5); motor(3,-100); motor(1,100); sleep(1.75); /*180 degree turn*/
PROGRAM LISTING (CONT.) } if(analog(5)>200) /*if sensor in port 5 reads above 200*/ { motor(3,-100); motor(1,90); } else if(analog(6)>200) /*if sensor in port 6 reads above 200*/ { motor(3,90); motor(1,-100); } else /*if neither sensors read above 200*/ { motor(3,-100); motor(1,-100); } } }
ROBOT DESIGN We chose to use treads instead of
wheels to make the turning of the robot smoother. Also, by using treads, one part of the robot did not drag during turns.
We chose to program our robot at maximum power so the treads could move easily under the weight of the robot.
ROBOT DEVELOPMENT Each team member took part in both the
software (programming) and “hardware,” or building of the robot.
We started by building the robot. After that we slowly started writing the program step by step. At first we focused on getting our robot to follow the path from beginning to end, and after we accomplished that, we worked on getting the robot to make the u-turn and follow the path back.
CHALLENGES We faced difficulties when trying to
figure out how long to program our robot to spin when making the u-turn.
Another problem we faced was our gear ratio. We ended up having to redesign our gears and wheels in order to have enough power to turn the treads.
SUCCESSES We are proud that our robot was able to
complete the U-Turn successfully, and follow the course back to the start.
CENTRIFUGE A centrifuge is a piece of
equipment that puts a substance in a circular motion to separate one fluid from another by centrifugal force.
This centrifuge was used to separate oil and water. Since oil is less dense than water, oil will collect in the inner layer, while water collects in the outer layer.
CENTRIFUGE SOURCE CODEvoid main(){ int speed=0; float separation_time=1.0; /*sets sleep time for motor spinning at 100%*/ float ramp_time=.1; printf("\nPress start button to begin"); while (start_button()==0) { } /*press start button to begin program*/ while(stop_button()==0) /*print reading when stop button is pressed*/ { printf("\nMixed up Value=%d", analog(20)); sleep(2.0); }while (speed<100) /*ramp speed up*/ {
CENTRIFUGE SOURCE CODE (CONT.)
motor(1,speed); speed=speed+3; sleep(0.5); } sleep (separation_time); /*motor spinning at 100% for set time*/ while(speed>=100) /*ramp speed down*/ { motor(1,speed); speed=speed-3; sleep(0.5); } ao(); /*all motors off*/ while(stop_button()==0) /*print reading from sensor when stop button is
pressed*/ { printf("\nMixed up Value=%d", analog(20)); sleep(2.0); } }
RESULTS Trial # Sensor
Reading (before separation)
Sensor Reading (after separation)
Ramp UP Time
Time to Separate
Ramp DOWN Time
Motor Speed
Oil Water (s) (s) (s) (%)
1 75 50 100 9 2 9 100
2 75 50 100 9 2.5 9 90
3 75 50 100 9 3 9 80
4 75 50 100 9 3.5 9 70
5 75 50 100 9 4 9 60***Estimated Values Average=3
RESULTS (CONT.)
1.5 2 2.5 3 3.5 4 4.50
20
40
60
80
100
120
Time to Separate vs Motor Speed
Motor Speed (%)
CONCLUSIONS As a group, we have learned many things
throughout the process of building and successfully completing both our robot and centrifuge. We learned that software (the code we wrote) is taken
very literally. For example, when you tell something “on,” it will turn on immediately and all at once.
We also learned you often had to experiment with the programming and the building materials to ensure that the robot ran as smoothly as possible.
We were also forced to account for the stability of both projects because if they were not sturdy, it would be difficult for the robot to run and support the handyboard, and for the centrifuge to stay together when spinning.
CONCLUSIONS Overall, we all expected both tasks to be
much more challenging than they turned out to be. This by no means is saying that either task was easy, as we often received the “error” statement when writing our programs. While still being quite a task, once we gained a greater understanding of Interactive C and the language that goes along with it, the task was doable.