Sunday, May 6, 2012

Sumo Bot Fully Assembled (with issues)

After a lot of frustrating hours, I have my first Sumo Bot somewhat up and running... unfortunately, he is currently running in circles  I have not found my error yet, but I must have an short somewhere....

Here is the functionality which I do have. (The following four digits control the drive direction, for example, to drive forward, the command is 1010.  To 'turn on a dime' the command is 1001 for counter clockwise or 0110 for the clockwise direction.)
1000 = Right side drives forward (which is what should happen)
0100 = Nothing happens, but both pins on the right side are high (should drive right side in reverse)
0010 = Both sides drive forward (should only drive left side forward)
0001 = Both sides drive in reverse (should only drive left side in reverse)

Although he isn't working, he sure looks pretty.

Completed Sumo Bot Isometric View

Side View

Front View

Saturday, May 5, 2012

Updates


Its been a little while since my last post. Let's go over what I've been doing

The Sumo Bot (Name TBD)
I have slowly been populating the PCB and testing everything as I go along. I have had a series of issues which have been simple mistakes but time consuming to realize.

First, I was having issues with the driver chip not pulling down the low side of the H-bridge, even when I was telling it too. That was easily corrected when I realized the current sense pin MUST be connected to ground.  I am planning to hook the current sense to an ADC pin, but I was holding off just in case the driver sent a lot of current through that pin into the PIC.  So far, I have not let any of that magic smoke out... yet.

Next, the edge sensors were not changing voltage when the line was supposed to be sensed. That again was easily fixed when I realized that the program I was using had the pins set as outputs.
"Why does that matter?" You ask...
Well, when the PIC pin is set as an output (rather than input) there are pull down resistors (resistors which are connected to ground) that are enabled.  These resistors ensure the pin in not 'floating' (when you change states on to off, the pin remains high).  In my case, when I powered the board, they were pulling the output side of the IR sensor down, such that it appeared nothing was happening when the input changed.  I realized that while falling asleep one night.

Here is what the sumo bot is looking like these days.

Current Status of Sumo Bot

Learning C# (C Sharp)
One of my more favorite bloggers is Shane Colton (scolton.blogspot.com).  In general, he does a lot of seemingly advanced things with motor drivers, quad-copters, and robots in general.  He also does a lot of data logging and plotting with a program he created in Visual Basic (or so I have gathered).  I am hoping I can do the same with C# (pronounced C Sharp).  Through the robot club I am part of, a member has given me the code to log incoming serial data... now I am attempting to use the "Chart" tool to also plot the incoming data.  Once I have something worthy of posting... I will include the downloadable program.  The below image is the current layout.

C# Form Layout

Bench-Top Milling Machine

I realized the other day that I have not shared my new bench-top milling machine from MicroMart.  It is the "MicroLux High Precision Heavy Duty R8 Miniature Milling Machine", pictured below

MicroLux High Precision Heavy Duty R8 Miniature Milling Machine
Since December, when my wife surprised me with it, I have only used it a handful of times, but so far, I am impressed.  After adjusting the ways so they are a little tighter than the factory setting, I am happy with the results.  It's definitely no Bridgeport... but I'll be able to make all the same parts... only taking off less material with each pass.

That's actually a point I would like talk more about.  Typically, internet reviews of smaller metal working tools (e.g. mill and lathe) complain about how 'bad' they are when compared with full sized machines.  To those reviewers I say, Blah!  The main difference between a big machine and the bench-tops is the amount of material you can take off with each pass.  Larger machines are very stiff and can handle removing a lot of material while leaving a nice surface finish.  Small machines are significantly less stiff and require less material removal to get the same surface finish.  In reality, a hobbyist, like me, can do everything with a small machine that someone with a large machine could do (in general)... but only slower.  I'm not making parts to earn money, I don't need to make parts quickly.

But I digress....