230 likes | 467 Views
(BC)² ECE FINAL REPORT. The Batmobile and Centrifuge November 11, 2011. MEET (BC)² (GROUP #3). Members ( from left to right ): Rachel Bevill , Brae Bower, Samantha Cherbonneau , Professor Ahmadi , Anthony Contreras. MORE ABOUT (BC)². Rachel Bevill Biomedical Engineering
E N D
(BC)² ECE FINAL REPORT The Batmobile and Centrifuge November 11, 2011
MEET (BC)² (GROUP #3) Members (from left to right): Rachel Bevill, Brae Bower, Samantha Cherbonneau, Professor Ahmadi, Anthony Contreras
MORE ABOUT (BC)² Rachel Bevill Biomedical Engineering Merrimack, NH Samantha Cherbonneau Biomedical Engineering Brunswick, ME Anthony Contreras Biomedical Engineering Chaparral, NM Brae Bower Biomedical Engineering Baltimore, MD
PROJECT OBJECTIVE 2m 2m 2m 2m • Design a robot that will move along a specific path, guided by rear wheels and front sensors • Implement a program that codes for the forward movement of the robot along a black curved line, the execution of a U-turn at the end of the line, following the path back to the start Finish 2m 2m Start 2m 2m
THE BATMOBILE http://www.entertainmentearth.com/hitlist.asp?theme=batman
RESOURCES FOR THE BATMOBILE DESIGN • ECE class webpage (design and sample coding) • Marjan (GTA) and Professor Ahmadi • Parts -2 front wheel rims without rubber - 4 back wheels with rubber - 1 front axel, 1 back axel - handyboard - 2 analog light sensors - 2 motors - Lego body
CHOOSING THE BATMOBILE DESIGN • Original • Avoid extra weight • Minimal LEGOs used • Small holes in the body of the robot
CHOOSING THE BATMOBILE DESIGN CONTINUED • Rear-wheel driven • Handyboard directly over rear axel • Body built around the handyboard • Robot not perfectly parallel to the ground
PROGRAM CODE FOR THE BATMOBILE void main() { int sensor3 = analog(3); int sensor4 = analog(4); int I=0; while (start_button()==0); while (I<2) //repeat until I is less than two { sensor3 = analog(3); sensor4 = analog(4); printf("\n L: %d, R: %d", sensor3, sensor4); if (sensor3<200 && sensor4<200) //both sensors are on white { printf ("\n F"); motor(1,20); motor(3,20);} else if (sensor3<200 && sensor4>200) //if sensor 3 on white and sensor 4 on black then turn right {printf ("\n right"); ao(); motor (1,60); motor(3,-30);} else if (sensor3>200 && sensor4<200) //if sensor 4 on white and sensor 3 on black then turn left {printf ("\n left"); ao(); motor (1,-30); motor (3,60);} else if (sensor3>200 && sensor4>200) //if both on black do a u-turn {ao(); motor(1,60); motor(3,-60); sleep(.68); I++;} //add to I count once completed } ao(); //once count has reached 2 turn all motors off }
THE BATMOBILE IN ACTION https://mail-attachment.googleusercontent.com/attachment?ui=2&ik=b8b8cc5616&view=att&th=13393290b8f78130&attid=0.1&disp=safe&zw&saduie=AG9B_P9LYep2Zv6WwI0V2KiBZcdD&sadet=1321023940285&sads=clssNCwYI-3qbwj6sytgJTrmTn8
MEMBER RESPONSIBILITIES Brae B., Samantha C. Rachael B., Samantha C., Anthony C. http://www.botball.org/ic http://www.granthamilton.biz/construction_programmes.htm
ORDER OF THE BATMOBILE’S DEVELOPMENT • Build the robot - General body - Axels and wheels (adjustments) • Program Coding (adjustments)
CHALLENGES WITH THE BATMOBILE • Handyboard (ports, sensors, motors) • Program Coding • Miscommunication • Teamwork
SUCCESSES WITH THE BATMOBILE • Batmobile’s design • Batmobile’s speed
BACKGROUND ON CENTRIFUGE • Machine • Uses centrifugal force (forces moving outward from a central origin) in accelerated form • Separate substances (densities, removing moisture, gravitational effects) • Uses -Remove elements from blood for cell-free plasma or serum analysis -Separating liquid components, protein-bound or antibody bound molecules
BACKGROUND ON CENTRIFUGE CONTINUED • Components - rotor -drive shaft and motor -centrifuge chamber -power switch -time, speed control, brake -protective shield RELATIVE CENTRIFUGAL FORCE (RCF)= (1.118 x 10^-5) x (r) x (n²)
EXPERIMENTAL SETUP • Based upon previous centrifuge design • Several gears • Simple swing design • Stability
CENTRIFUGE PROGRAM CODING void main() { int speed = 0; float separation_time=1.0; float ramp_time=0.5; while (start_button()== 0) {printf("\nPress start to begin");} while (start_button() == 1) { while(1) {sleep(3.0); printf("\n mixed value=%d", analog(6)); {motor(3,40);//ramping up sleep(2.0); motor(3,60); sleep(2.0); motor(3,80); //ramped up sleep(2.0); motor(3,100); //full speed sleep(12.0); motor(3,80); //ramping down sleep(2.0); motor(3,60); sleep(2.0); motor(3,40); sleep(2.0); motor(3,0); sleep(9.0);} //ramped down ao(); while (1) { sleep(3.0); printf(“\n water value=%d”, analog (6)); } while (1) { sleep(3.0); printf(“\n oil value=%d, analog(6)); } } } }
CENTRIFUGE PROGRAM CODING Base Reading Values: Water-127 ; Oil-180; Mix-157
CONCLUSIONS • Compose a code program through Interactive C • Trial and error • Check program coding • Communication • Teamwork Improvement • Speed Adjustment • More accurate timing of the U-turn
ACKNOWLEDGEMENTS • MarjanNabili • Professor Ahmadi