Thursday, September 28, 2006

Microcontroller

I have ordered a microcontroller kit from www.bdmicro.com to use for my robot. I have used HC11’s HC12’s, Basics Stamps II’s, and OOPics on former robots. In my engineering life I have played with PICs , AVRs, and Rabbit2000s. My favorite, the AVR. Thus when I found the ATMega128 kit I felt at home. I prefer C to ASM and Basic and the AVR is optimized for C. I also wanted the built in features the AVR offers (A2D, PWM, I2C, etc…). So my kit will be here today and I will have either a long night or a short weekend of SMD soldering and testing.


I also order the ICE from www.ecrostech.com as I only have a STK400 and don’t need want the STK500. I will be using WinAVR and it’s associated tools (though not PN, I use Ultredit32 and love it) and AVRStudio from Atmel for the actual flashing.

I know for certain that I will have a serial LCD (as I have a bunch of them I bought when a local business went out), will do line tracking, will use a sonar (I have one so why not), will try to incorporate a CMUcam (I have one and have always wanted to use it so…). I would like to implement speech/sounds but this is “bells and whistles” stuff so it’s on the back burner.




Onward,
Jay

Projectile motion

Well, I can't seem to get my mind off this thing. I mean it's really simple and yet I find myself considering and reconsidering materials, configurations, issues ... it's a flaw I have. I actually get more done when I don't have much time and I'm shooting from the hip. I can make things work versus engineering them to (that's my take anyway). So yesterday I spent my lunch rediscovering the formulas for projectile motion.

When a ball is launched at an angle (theta) the only force acting in the x direction (horizontal) is the initial force that propels the ball in the x direction. But the y direction has gravity that works against it. My thinking was that I know the height and range from the hoop. At what angle and what linear speed would the ball have to be shot to hit this point at it’s apex (upward velocity = 0)?

I created a spreadsheet to play with different angles to determine the velocity of the ball. Then using the calculated values, I plugged these back in and plotted the flight path with respect to time. I added a vertical line to show the hoop. In this way I can actually change the angle, initial velocity and launcher height to see the trajectory and time to target. Have a look below.



In addition, I calculated the RPM of the motor for the specified velocity and then reversed it to specify the motor speed to calculate the linear velocity so I could play with the angle. It’s quite useful, but we’ll see how reality plays out.

Onward,
Jay
Base

For this bot I plan to use PVC that my brother gave me. It's 1/4" thick and most likely the same stuff sold here http://www.budgetrobotics.com/shop/?shop=1&cat=103 I am able to cut it with a razor knife, but I have cut myself a few times in my excitement to get a base mocked up. I'll try my Dremmel to see how it goes.

I went to Radio Shack and picked up some discontinued VEX motors. In reality they are nothing more than Futaba S148 servos modified for continuous rotation. That and they use the VEX square drive shafts and clutchs. At $9.97 ea I thought I ws getting a good deal ... though I'm not so sure of this. Servos are slow and 4' x 6' is a rather big field ... I am seriously considering using my old tank base with DC motors and encoders already mounted.
In an effort to play with prototyping a new wheel layout though I mounted 1.5" strips of Velcro on my cutout base so I could play with motor/wheel spacings. This is on hold as I'm brainstorming my ball launcher too much.


Tank base

Prototype Base. 8"x8"



Onward,
Jay

Ball Launcher

I actually started the process back in August. The first thing I did was mock up a ball launcher. It is/was a simple affair. I used a surplus DC motor (I dismantle and keep any electronic and mechanical bits from old PC's, VCRS, and thinks to my dad photocopiers ... my wife calls it junk so it's my junk box 'o stuff) a scrap of PVC two sheets of paper, tape, a foam wheel (from my RC landing gear), a rubber band, and an old AT power supply (+12V and +5V). Using a 40mm ping pong ball as my guide I rolled the first sheep of paper into a tube and taped it. Then to stiffent the tube I added another sheet of paper. I mounted the wheel on the motor shaft using a piece of the rubber band to take of the slack ... it works well actually and if a trick from RC. Then I cut a notch out of the PVC a bit smaller (always cut smaller as you can shave off material easier than starting over ;) than the diameter of the motor case and wedged the motor in. I used an exacto knife to cut a slot in my tube long enough to accomodate the foam wheel. Then using the 5V I ran some tests. Conclusion: it works fine, and so I will continue to refine my design.

[Add photo here]

Onwards,
Jay
This is my first post to this blog. I'd thought I'd explain what my intentions are and what the content will contain.

Background: I have been playing with autonomous robotics since my sophomore year at college. The Southeast IEEE student chapter hosts an annual Hardware competition. It involves a team of student constructing an autonomous vehicle to navigate a "game" board to complete assigned tasks and compete head to head against other student teams in the same region. While a EE has the electronics understanding, practical knowledge (and I only speak for my school) was nil. Worse, mechanical and machining knowledge were not included in the EE curriculum (although helpful subjects like art appreciation and philosophy were :rolleyes:) So a lot of it is OJT (on the job training). I have attended 4 of the competitions and helped with a fifth. This year I am advising my alma mater's team while building my own bot to compete with the same rules but not to be entered. It's good to have a set of goals when you start something like this so you know where you're going and how far you've gotten.

Intent: My purpose for this blog is to keep anyone interested up to date on my progress as I construct and code this bot. Hopefully you can learn from my experiences and I can be “kept honest” by feeling the need to make frequent updates and progress.

Content: I will try to make this a media rich blog with progress pictures, maybe video, charts/graphs and links to interesting sites I’ve uncovered.

Rules: The rules to the competition are http://www.southeastcon.org/2007/doc/SoutheastCon_2007_Hardware_Rules.pdf Broken down the robot will need to navigate to a code box, received/decode the IR transmission, then navigate to the ball box and present the code to get 3 more shots. To me the most fun part of this is the shooting of the balls through the hoop. This is what I’ve been working on the past week or so.

Onward.

Jay