Difference between revisions of "Northwestern Design Competition"
From Mech
Jump to navigationJump to searchNickMarchuk (talk | contribs) (→DC2013) |
NickMarchuk (talk | contribs) (→DC2013) |
||
Line 24: | Line 24: | ||
** '''Due by Wed, 1/30/2013''' |
** '''Due by Wed, 1/30/2013''' |
||
** Code Template: [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]] |
** Code Template: [[Media:DC2013_Milestone2.c| DC2013_Milestone2.c]], [[Media:NU32.c| NU32.c]], [[Media:NU32.h | NU32.h]], [[Media:NU32bootloaded.ld | NU32bootloaded.ld]] |
||
** Complete the assignment here: [[Media:DC2013milestone2.pdf | DC2013milestone2.pdf]] |
|||
** Build a circuit with: |
|||
*** A pushbutton and pull-up resistor on E8 (call it BL) |
|||
*** A pushbutton and pull-up resistor on E9 (call it BR) |
|||
*** An LED and current limiting resistor on D0 (call it ML) |
|||
*** An LED and current limiting resistor on D1 (call it MR) |
|||
*** An LED and current limiting resistor on D10 (call it DL) |
|||
*** An LED and current limiting resistor on D11 (call it DR) |
|||
*** where L means left, R means right, B means button, M means motor, and D means direction |
|||
** Demonstrate code that simulates a robot with 2 bump sensors and 2 motors: |
|||
*** The robot drives forward as long as a bump sensor is not pushed |
|||
*** -> If no button is pushed, ML MR DL and DR are on |
|||
*** If a bump sensor is pressed, the robot drives backwards for 0.5s, turns away from that sensor for 0.25s, then continues forward |
|||
*** -> If BL is pushed, ML MR are on, DL DR are off for 0.5s, then MR is on, ML is off, DL and DR are off for 0.25s, then ML MR DL DR are on |
|||
*** -> Same thing for BR |
|||
*** If both bump sensors are pressed, the robot drives backwards for 0.5s, spins in place for 0.5s, then continues |
|||
*** -> get the idea? |
|||
* '''Workshop 3''' - Programming the PIC32 |
* '''Workshop 3''' - Programming the PIC32 |
Revision as of 15:52, 23 January 2013
DC2013
- Arena layout - to do, very simple purple/white vinyl banner
- Prey robot
- Schematic here when available
- Sample Code here when available
- NU32
- Download: MPLAB X IDE and MPLAB XC32 Compiler from http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads
- Download: FTDI Drivers from http://www.ftdichip.com/Drivers/VCP.htm
- Download: NU32_Utility from NU32:_Software_to_Install
- Workshop 1 - Prey robot deconstruction
- Tue, 1/15/2013, 6pm, Ford B100 DONE!
- Milestone 1 - Prey robot -> Demobot
- Due by Wed, 1/23/2013
- Show off your Demobot, made from a deconstructed Prey robot DONE!
- Workshop 2 - Programming the PIC32
- Begin Wed, 1/23/2013, meeting in the Mechatronics lab at 6pm
- How to program the PIC32 on the NU32
- Sample code - NU32test.hex, SimplePIC.c, NU32bootloaded.ld, talkingPIC.c, NU32.c, NU32.h
- Milestone 2 - Programming the PIC32
- Due by Wed, 1/30/2013
- Code Template: DC2013_Milestone2.c, NU32.c, NU32.h, NU32bootloaded.ld
- Complete the assignment here: DC2013milestone2.pdf
- Workshop 3 - Programming the PIC32
- Begin Wed, 1/30/2013, meeting in the Mechatronics lab at 6pm
- How to program the PIC32 on the NU32, sensors and actuators, soldering
- Sample code -
- Milestone 3 - Programming the PIC32, sensors and actuators
- Due by Wed, 2/6/2013
- Potentiometers, RC servos, phototransistors
- Workshop 4 - Bug algorithms
- Begin Wed, 2/6/2013
- How to follow a wall
- Milestone 4 - Wall following
- Due by Wed, 2/13/2013
- Program the Demobot to follow a wall
- Workshop 5 - RC servo and Laser detection
- Begin Wed, 2/13/2013
- What is an RC servo
- How to use a laser to detect retroreflective tape
- How to buffer and analyse data
- Milestone 5 - Target hunting
- Due by Wed, 2/20/2013
- Mount the laser on the servo
- Sweep the laser, find the target, and drive towards it
- Workshop 6 - Using the laser cutter
- Begin Wed, 2/20/2013
- How to design parts that can be made on the laser cutter
- Milestone 6 - Laser cutter training
- By Wed, 2/20/2013
- Sign up for laser cutter training, get trained
- Workshop 7 - Using the Makerbot Replicator 2
- Begin Wed, x/2013
- How to design parts that can be made on the Makerbot
- Milestone 7 - Makerbot training
- Due by Wed, x/2013
- Sign up for Makerbot training, get trained
- Workshop 8 - Robot sensors and actuators
- Begin Wed, x/2013
- Pick up your NU32, drive motors, battery, battery charger, sensors
- What kind of sensors are out there? Where to look for them?
- Milestone 8 - NU32 Demonstration
- Due by Wed, x/2013
- Program your NU32 to turn on your motors with an h-bridge
- Read distance with the ultrasonic sensor
DC2012
Scale arena:
Equipment
- NU32, USB cable, 6V power supply
- 2 drive motors, 2 motor mounts, 2 wheels
- large and small RC servos
- red and IR lasers
- 12"x24"x0.118" clear acrylic sheets
- AA batteries and packs
PCB
Workshop 1, Wednesday 1/18 5:30-7pm Tech L221, makeup Thursday 1/19 9-11am Mechatronics Lab
- How to program in MPLABX
- How to use the bootloader to put code on the NU32
- Digital output I/O (read a button and flash an LED)
- Analog input
- PWM output
- Sample code: Sample code for Workshop 1
Milestone 1, due by 1/27
- If a pushbutton is pressed, read the value of a potentiometer and change the brightness of an LED to the corresponding value with PWM
Workshop 2, Thursday 2/9 6-7pm Tech L221, makeup Friday 2/10 9-11am Mechatronics Lab
- Optical isolation for motors and RC servos
- Powering a motor with an h-bridge
- Writing to the 16x2 character LCD
- Laser detection of retroreflective tape / Optical line detection
- 2 1/2D design
Milestone 2, Due week of Feb 27
- Optically isolate a motor
- Read a potentiometer and write its voltage to the LCD
- Control the motor velocity based on the potentiometer reading
- Control an RC servo
- Detect a 3/4" wide black line on white paper with a phototransistor and LED
Laser cutting Workshop, Week of Apr 2
- Laser cutting
- 2.5D design
- Making a chassis, mounting motors and sensors
Chassis Milestone, Due Apr 13
- Demonstrate a robot chassis that can drive around the arena, bonus points for following a line, detecting and moving towards the moving goals, and detecting and moving towards a crate
Midterm Milestone, Due Apr 30 / May 1 / May 2
- Demonstrate some strategy - from the starting position, go get a crate and bring to back towards the goal
Pre-competition Milestone, Due May 9
- Demonstrate some advanced strategy - score several points
Competition May 19!
DC2011
Milestone 1
- On a button press, read the value of a potentiometer and change the brightness of an LED accordingly using PWM. Note: Do not use an h-bridge or motor as previously assigned.
- Due before Workshop 2 on Wed, 2/9.
- Sample code from Workshop 1
Milestone 2
- Due before Workshop 3 on Wed, 2/23.
- Goals:
- Use code from NU32v2: Nokia 5110 LCD and NU32v2: Analog Input to read a potentiometer and print the voltage to the Nokia 5110
- Optically isolate a motor and control its velocity based on the potentiometer reading
- Do 1 of the following:
- Mount a phototransistor to a laser and detect a cake OR
- Detect a line of electrical tape on white paper with an optoreflector
- Datasheets
- HBridge_L293D.pdf - H-bridge for driving a DC motor
- Optocoupler_A847.pdf - Optocoupler to optically isolate your H-bridge
- HexInverter_74HC04.pdf - Inverting chip to digitize optocoupler output
- Optoreflector_OPB740.pdf - Optoreflector to detect lines or color
- Optoreflector_QRE1113.pdf - Optoreflector to detect lines or color
- Phototransistor_SFH310.pdf - Phototransistor to detect lines, color, or laser reflections
- Notes
- DC2011_WS2_OpticalIsolation.pdf - How to optically isolate an h-bridge and servo motor using the A847 and 74HC04
- DC2011_WS2_OpticalSensors.pdf - How to use the SFH310 to detect a cake and use the OPB740 or QRE1113 for line following
- DC2011_WS2_Code.zip - Example code for the NU32v2 that will:
- Control a DC motor hooked up to an optically isolated h-bridge, and control an optically isolated RC servo motor
- Respond to serial commands to control the motors, write to the Nokia 5110, and read two analog signals
Milestone 4
- Due before Wed, 3/16
- Finish laser training, at least one person per team
- Construct a prototype chassis for your robot
- Do one of the following:
- Follow part of the line on the 36" x 96" printout of this pdf
- Detect a cake somewhere on the floor and drive to it
Breakout Boards
- Image of the breakout boards
- Circuit schematic of the breakout boards
- This board contains:
- A spot to plug in the NU32v2 with some prototyping area
- The optical isolation circuit with some prototyping area, the same size as the NU32v2 breakout board so it can be stacked on top
- 8 SFH310 with LED breakout boards
- 4 SFH310 with laser diode breakout boards
- 1 LIS352AX accelerometer breakout board
- 1 LSM303DHL tilt-compensated compass breakout board
- 1 LPY550AL gyroscope breakout board
- 1 LS7366R encoder decoder breakout board
- 1 TCS3103 color sensor breakout board
- How to use the boards:
Brochure for 2011
Previous Years
Wiki pages on sensors, actuators, programming, and microcontrollers: use pages below
- Parts in the DC2008 quick start pack
- PIC C intro slides, as presented 2008/01/24 (pdf)
- PIC interfacing slides, as presented 2008/01/28 (pdf)
- Link to all sample PIC code here.
Sensors and actuators for DC
- Solderless Breadboard & wiring that works
- Using LEDs & IREDs
- Using a laser
- Infrared reflectivity
- Using phototransistors
- Sensing optical tape
- Comparators : the analog digital interface
- Faulhaber MiniMotor SA gearmotor with encoder, as well as the local wiki page
- Adding a magnetic encoder to a GM3 Gearmotor
- Using magnetic switches (Hall Effect)
- Driving high-current devices: several options
- Driving a Stepper Motor
- Driving an RC Servo
- Accelerometers
- Strain gauges
- Basic Stamp Microcontroller Not recommended for DC2008
- NiMH rechargable batteries and chargers
Prof. Peshkin's favorite datasheets