280 likes | 527 Views
Micromouse. Ryan Bidlack Jason Wells. In this presentation…. Background Workload Breakup Overall Design Mechanical Design Electrical Design Software Considerations Schedule Budget Questions. Problem Statement.
E N D
Micromouse Ryan Bidlack Jason Wells
In this presentation… Background Workload Breakup Overall Design Mechanical Design Electrical Design Software Considerations Schedule Budget Questions
Problem Statement Design and Build an autonomous “mouse” that will navigate its own way through a maze
Background Micromouse is an autonomous self contained machine designed to get to the center of a maze in the shortest possible time. A Micromouse comprises of drive motors, sensors and control logic to keep the vehicle 'on track.
Event Techfest 2009 Student and Professional categories This event is held every year in different locations around the world Held in Bombay, India this year INR 45,000 in prizes (approx $1000 USD)
Mouse Requirements A Micromouse shall be self contained. Micromouse must follow size constraints of 9.85 in wide by 9.85 in long. No height limit. Micromouse must not be powered by a combustion or nuclear process A Micromouse shall not leave anything behind while negotiating the maze. A Micromouse shall not jump over, climb, scratch, damage, or destroy the walls of the maze.
Workload Breakup Ryan Bidlack Mechanical Design, Sensor control software, sensor interfacing. Jason Wells Mechanical Design, Motor control software, Circuit board design.
Maze characteristics Black Painted Plywood floor White painted plywood walls 7 inches between walls
Final Design Drive train Wheels in center DC motors 2.375” rubber wheels Sensors and Control HC08 Ping sensors LM298 motor driver Navigation Look for First opening Left side has priority
Navigation Software right_distance = read_right_sensor(); delay_100ms(); front_distance = read_front_sensor(); delay_100ms(); left_distance = read_left_sensor(); delay_1ms(); if((front_distance >0) && (front_distance <= 5)) { ninety_degree_left(); } else if((left_distance >0) && (left_distance <25)) { slight_right();} else if((right_distance >0) && (right_distance <25)){ slight_left(); } else if(left_distance >70){ ninety_degree_left();} else if(right_distance >70){ ninety_degree_right(); }
System Diagram Wall Wall Ping Ping Motor Control HCS 08 Ping Wall
Main P.C. Board Piece of the mouse frame Same size as motor plate Holds three ping sensors
Electrical Concepts Left Motor Battery 9V Ping Mouse Main Board Motor Control 5V reg. Ping HCS 08 3.3V reg. Right Motor Ping
Motor Drivers L298 Motor Driver Board 6-24Vin 5V at 4amps output
Motor Control Software Sample Code PTBDD= 0x1f; Sets PTBD 0-3 to outputs both_motors_forward lda #%00010101 ;sets enable pin, and sets L2 and L4 high sta PTBD rts
Time needed for a 90 deg. turn 7.46” circumference wheel = C 130 rpm motor = rpm Robot speed = C * rpm = 969 in/min Robot speed = 16.16 in/s
Time needed for a 90 deg. turn Robot turns 17.27” circumference 90 deg. = ¼ arc = 4.3” circumference 90 deg. time = 4.3” / robot speed (in/s) 90 deg. Time = 266 mS
90 deg. left software ninety_degree_left lda #%00001101 ; motors turning opposite ways sta PTBD ldhx #266 ; this is where the 90 deg. time gets put in jsr delay_xhms lda #%000000001 ;motors stop sta PTBD rts
Sensors Parallax Ping Sensor Published working range of 2cm-3m Tested Working range of 1cm-3m When distance is under 1cm a longer pulse is returned Pings are set back on mouse to prevent false readings Sensor returns a value into a variable
Sensor Calibration Sensor resolution is adjusted by changing a time delay With a 20us delay there is no chance of overflowing the counter
Sensor Programming read_left_sensor: bclr 5,PTBD ;making port an output bset 5,PTBDD nop bset 5,PTBD jsr delay_10us ; min 2us, max 750us (Tout) bclr 5,PTBD bclr 5,PTBDD ;making port an input clrx echo_start1: incx beqecho_timedone jsr delay_20us ; looks for start of pulse adjusting this delay adjusts the resolution lda PTBD bit #%00100000 beq echo_start1 clrx echo_time1: incx beqecho_timedone jsr delay_20us ; looks for end of pulse lda PTBD bit #%00100000 bne echo_time1 pshx pula rts 1ms-20ms
Budget Total Allocated funds $400 Maze materials -$54.00 Motor Drivers(1) - $18 Motors (2) - $43.90 Ping Sensors(3) - $89.97 Remaining Funds $194.13