Tuesday, January 31, 2012

New Chassis Setup and Power Source for Tankbot

One thing I didn't like about the last chassis was how tall it was.  There really wasn't much reason for that and I wanted to see if I could lower the Ping sensor.  I also didn't like how far back the Ping sensor was, so I also wanted to move it forward.  Lastly, I wanted most of the weight of the bot in the center of the tank instead of forward.  This was because I wanted to switch power to NiMH battery and I wanted it to be in the center of the bot.

So, I present to you, Chassis #2:

Monday, January 30, 2012

Tankbot Stage 4

Tankie now has a servo on top that rotates the head around.  That way I don't have to move the entire thing whenever I want to detect objects.  If the bot decides that there isn't ample space to turn where it is, it'll back up ~1 foot and try again.  It'll do this indefinitely until it can turn.  I should probably add a reverse ping sensor, but that's a bit overkill for this little dude.

Next on the list is to move the reset button to the top of the bot instead of buried between all the wires.  I also want to figure out a better power setup.  Right now the Arduino and Ping run on a 9v while the motors and servo  are a 4 AAs.  This works fine, but whenever the 9v drops below 7v the Arduino's 5v out drops voltage and throws the ping off.  I'd like to see if I can fit some kind of battery from an RC car on here and powering them both from it.

I'm really happy with how this bot performs.  These tracks are awesome and the platform is real easy to work with (although a bit tight).  In my normal trend, the next "learning" step is transitioning from the Arduino Mega to a smaller Arduino Pro.  That'll cut back on a lot of weight and it's something that I'll need to know how to do for future creations.

Sunday, January 29, 2012

Tankbot Stage 3 (with video)

I continued work on the tankbot this week.  I wasn't happy with the chassis at all and was thinking of ways I could redo it.  I started looking online for examples when I found a premade chassis from the same company that makes the treads.  It was only 8 bucks, so I ordered it.  I was also having lots of electrical issues.  The motors draw lots of power at stall (2A) and this was stressing the Arduino and wasting battery >:[  I found a replacement set that were a real easy replacement (plug and play pretty much), so I ordered them as well.

Once it all came in, I reluctantly took the old bot apart and got to work.  It took me until 5am to get it done, but here she is:

Hey :]

Side shot.

Ok, so lots to talk about.  Let's start with the last picture (the one with the two circular looking things).  The bot needs to be able to avoid running into things and what you're seeing there is what I use to detect objects.  That is the Parallax Ping))) Ultrasonic Distance Sensor.  I got it a long time ago when I was playing with the Parallax Propellor.  It was very easy to get running with the Arduino (even easier than with the Propellor), so I've been using it.  A couple of weeks ago, I noticed that it would only detect up to 5 1/2 inches away.  This thing should have a range of ~9ft, so that didn't make sense.  I assumed that I'd just broke it somehow and since I've had it for so long, I'll just make sure that it's always at the very front of the bot.  The other night while I was toying with making a plastic front cover, I realized that when there was foam in between the Tx and Rx, it worked like it should.  I think that I'm getting some kind of interference between the two.  This was a nice and simple fix and it is now back to detecting its normal range.

My eventual plan is to mount it on a servo, so I can rotate the servo around instead of the whole bot.

Now let's go to the picture above it.  This is the closeup of the side view.  You can see my Tamiya Tank Treads, dual gearbox and universal plate set (all from Tamiya).  I did replace the motors that came with the gearbox with the Solarbotics RM3.  These motors use less power at stall and don't put nearly as much of a strain on the system.  This means longer run times :]

I also added a spring on the middle of the bot.  It can get bumpy, so hopefully the spring can take some of the bumps instead of the whole top.  You also can't see it in that shot, but I made some plastic spacers for the front of the bot out of hand moldable plastic.  They provide a full stop and also give the front somewhere to rest.  The rear rests directly on top of the gearbox.  The base has lots of holes in it, so the motors can still breath through it all.

That's it for the major parts lists.  The Arduino does all of the grunt work.  When the robot first gets power, it won't start moving until you press the start button.  You then have 3 seconds to get out of the way before it goes.  Since it just avoids obstacles and nothing else, there's nothing real fancy to it right now.  I did order a GPS chip last week (for a separate project) that I'm going to toy around with using this bot before I put it in it's own project.  It'd be neat if I sent the bot waypoints and it went there without hitting anything.

Anyway, it's 0620 and I need to sleep.  Last but not least, here's a video of the bot in action.  My dogs are not a big fan of it, so you'll have to excuse their barking.

Until next time ~