


Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Material Type: Project; Class: Advanced Digital Projects Lab; Subject: Electrical and Computer Engr; University: University of Illinois - Urbana-Champaign; Term: Fall 2007;
Typology: Study Guides, Projects, Research
1 / 4
This page cannot be seen from the preview
Don't miss anything!
Our goal this semester was to design a robot capable of competing in the 2008 Defconbot competition that is held every summer in Las Vegas as part of Defcon. Visit www.defconbots.org for more information. Essentially, the goal is to shoot down some number of round, white targets, ranging in diameter from 1” to 3” in a 5’x5’ arena from 10’ away in under 2 minutes. Other than that, there are only a few other stipulations: your design must be completely autonomous, it must shoot something safe (like airsoft bbs), and it must have a physical “kill switch” to stop it in case it malfunctions.
Basic Design We came up with a design that consisted of a gun mount to move the gun around, control circuitry to control the movement and firing of the gun, and a PC with a camera to do image processing on the target arena. The following diagram illustrates the dataflow: Target Arena CPU (Image Processing) Robotic Gun Assembly Trigger Servo Tilt Stepper Motor Pan Stepper Motor Control Circuit Camera
Gun Mount and Control Circuitry We took the gun mount from a group from the previous semester. They were trying to do something similar to us, but entirely on an FPGA. The gun mount also included two bipolar stepper motors which have 260 oz-in of torque and draw about 1.25A at 24 Volts. There are a few other projects that use the same kind, like Foosbot and Paintzilla (formerly Chalkbot). We decided to go with this mount instead of machining something new as we knew it would take the machine shop a while to get something to us. Although the group before us already had a gun, they deconstructed it and in the process, broke it, so we had to buy a new one. Thus, Matt and his dad machined a piece to hold our new gun. We did not deconstruct this gun as we were afraid we might break it in the process. Instead, we just put standard AA batteries in it and used a servo to do the triggering. The control circuitry itself consists of the following ICs: PIC16F877 (x1, a microcontroller) MAX232 (x1, converts serial port signal to proper voltages for the PIC) 7404 (x1, 6 invertors) 7408 (x1, 4 AND gates) L298 (x2, H-bridges for controlling the stepper motors) Some assorted capacitors, resistors, and LEDs, the really important bits are included in the included circuit schematic. The PC communicates with the PIC via serial port. The MAX232 chip converts the signal into something that won’t confuse/fry the PIC. There is a communication protocol we designed that won’t be mentioned here, but can be found in the PIC code and in the C++ code (specifically the RoboControl class). The PIC receives a command to either tilt up or down, pan left or right, or pull the trigger. Since there are only two PWMs on the PIC and it requires two PWMs to drive a single H-bridge (one per stepper motor winding), we can only drive one motor at a time. We found this wasn’t really an issue, we could just enable whichever H-bridge we wanted to drive and disable the other, and no real multiplexing was needed. The stepper motors are microstepped (Google it if you don’t know what it is) in order to gain a better angular resolution. If you do the math, having only 1.8 degrees per step translates to a relatively large distance on a surface 10 feet away. Originally, we wanted to put some gearing in to achieve a better granularity, but time constraints prevented us from doing so, which is why we resorted to microstepping. Triggering is done by a hobby servo, specifically a Hitec Hs-805BB, which has 343 oz.-in of torque when running at 6V. We ran it at 5V and found the amount of torque it produced to be quite sufficient. The PIC uses a timer and an interrupt handler to output a PWM signal to the servo. When the PC asks the PIC to trigger, it modifies the duty cycle of this signal and the servo moves to the new position. More info on how to control servos can be found on the web. Power We wanted our setup to be portable as we knew we probably wouldn’t have room in the ADSL lab to demo it, and we’d also need to get it to Las Vegas at some point, so we decided to use a standard PC power supply. We really only needed 5V and 12V, and pretty much any PC PSU has those, plus we needed to run the servo on a 5V line separate from the logic 5V line because the servo can potentially pull more current than the logic can handle. We ended up buying a Rosewill RV350, which has a max power output of 350W, far more than we would ever need, but it was cheap and it works.
We have really learned a lot from this experience, and we plan on continuing this project next semester. We have a good idea of what should and should not be done, and we feel that by the end of semester, we can get a really slick, non-crippled, target shooting robot put together. Here’s what we want to do to improve our design: