Category Archives: DIY

DIY Robotics

MiniSumo Ring

Before I continue on you might have noted a little bit of an absence in my blogging. My wife delivered my first son two weeks ago; a beautiful little man, 8lbs 9 oz, 21.25in. Missing a little sleep isn’t helping but I think we have finally gotten into a schedule that is nearly do-able!

So what have I been working on?! I’ve been dedicating what free time I do to the Snohomish County Makers Group. It’s been a blast but it’s surprising how much work it is to start one up; that’s no bother though because it’s really exciting to see where this will go.

A good friend of mine, also a member of the group, mentioned he was interested in a Sumo Robot competition; or maybe it was me? Well it doesn’t matter, it’s on!

I spend a couple of hours this weekend putting together the ring. There are a couple different standards but the SRS seems to have a pretty good set. I took their rules and modified the ring size and platform specifications based on our desire to use a low-cost platform so it was affordable for anyone to enter.

I used the old nail and pencil trick to draw the circle and a steady hand to saw it out out of a 4′ square piece ofย  3/4″ plywood..

Ring getting patched

There were some minor imperfections that I used some Elmer’s wood filler on and then sanded flat.

I threw on a 10cm border and painted it glossy white for a nice reflection for edge sensors..

MiniSumo Ring

Next step is pulling the old platform off my little robot and starting over…

Stay tuned!

DIY Electronics Microcontrollers PIC Robotics

The Sumo Roomba is back on the bench

I had to tear my Variac apart today because the wiper was missing on bits..ย  I gave it a solid cleaning got rid of some rust on the case. I used alcohol to do the cleaning.. worked out great. I don’t use my Variac as much as I used to.. in fact I nearly got out of the hobby over my very first. When I was 14 I understood what transformers were and I had been playing with very high voltage (neon transformers)…ย  I wanted more voltage so I thought I might test the insulation a bit. Seeing as I didn’t have any good way to get more voltage I thought I’d just flip my primary and secondary around running my secondary in the 80~110 volt range. Well.. that doesn’t work out so well. My variac was on it’s side and at about the 2 o’clock position.; it blew out every winding from 2 o’clock down to 6.. I had issues plugging things in for a while after that ๐Ÿ˜€

I eventually got over that out of necessity. I used/use variacs for powering up old electronics… it kind of works the old caps in before you hit them hard… filaments as well. Today I was using mine to lower the input to a linear power supply to find the approximate drop out voltage of a piece of equipment; that was in interruption of what I was really doing in my shop.

I pulled my Roomba off the wall. It’s an older 400 series I got for dirt cheap on eBay. A friend of mine at work challenged me to a Roomba Sumo contest; no winner… I think he is still working on his ๐Ÿ™‚ย  My first, current, version is based on two PICs, a 16F628A and a 18F2331; both written in assembly. Well it’s okay.. but I think I can do better. I did the PCB in deadbug… ASM was okay but it takes much longer to develop and making any code remotely tricky is a chore. So this time I think I’ll develop a custom PCB and write it all in C. This new makerspace I’m co-founding looks promising so maybe I’ll sucker a couple of people into joining in the fun.

 

Roomba On the Bench

 

 

I’m re-accomplishing all my sensors; ditching my hardware-happy comparators and going with all A/D. I also never added in switches for my bumpers.. they were pushbutton microswitches on the only mainboard if I’m not mistaken… I’ll figure something out.

 

Roomba Back?

 

 

 

C DIY Electronics Microcontrollers PIC Robotics

Project Update: Spunk The Annoying Robot

The last robot I built was a Roomba Sumo Robot (Talos) for a small competition with co-workers. While collecting parts for this little eBay robot platform I got for somewhere in the neighborhood of 15$USD, I grabbed my Pololu motor controller and remember that I wrote that whole Sumo robot in ASM; that was a lot of code between two PICs.

The little robot I’m building now has very few specifications. It’s goal in life is to follow you around, but not too close. It should back away when needed and basically run around, pausing for a while in its search for someone to follow around. My wife named it Spunk because she’s certain to be the one it annoys most.

I’ve built the project as seen in the photo and written all primary code.. ordered a lot of battery management parts to see what I like the best. Determined I can’t get the robot to “find” people with the sensors I have, so I ordered more… so this little guy is half-done. I’ll shelve him until more parts arrive. I really only grabbed it down as it was 4 projects deep in the to-do list because I haven’t kept up with pre-ordering parts, or worse.. ordered the wrong things. I’m still on the hunt for a better display for the WX radio, ordered items for my RS-485 project, etc. etc..

The heart of Spunk is a PIC 18F14K22 on a TAUTIC 20 pin development board. Maybe Jayson ( @TAUTIC ) needs to pay me for all this advertising? ๐Ÿ˜‰ jk.. I just bought a couple of the boards because they fit my type of prototyping perfectly. This was my last one… time to make an order over at @tindie for some more.

Spunk getting probed.
Spunk getting probed.

For now, no code. I’ll post the old ASM code for the Pololu motor controller and the C code as well once it get it properly commented and make sure it at least mostly works. Once I do some real roving tests I’ll throw it on YouTube (and maybe the first tests of Talos as well)… TBC for now.

DIY Electronics Robotics

..workbench chatter

Melissa and I have been out of town for a little while. I was hoping to blog on the road but it just didn’t happen. That midwest weather is in a nasty way; I don’t miss winter weather at all. So I have a little more work on two posts I’m working on but I wanted to update the blog for if no one else myself. I need a little brain purge… I have a lot of stuff to work on.

When I got home I had a dozen and a half packages or so from China. A ton of fun stuff.. most of it was for the little robot I’m working on. I also brought back a ton of stuff from my house (in a storage room) that I have left behind.

On our travel across county we stopped by our house in South Dakota and picked up a bunch of our items in storage. I brought back a few boxes of miscellaneous electronics including a lot of older projects I built years ago.
On our travel across county we stopped by our house in South Dakota and picked up a bunch of our items in storage. I brought back a few boxes of miscellaneous electronics including a lot of older projects I built years ago.

 

Look at that pile of stuff! A part of one box of old projects I built. Only a few more boxes to go! I got excited about a bunch of copper clad board that turned out to be really cheap; lame!

While out of town a mailbox and a half of sensors arrived from China (eBay)! Time to get building.
While out of town a mailbox and a half of sensors arrived from China (eBay)! Time to get building.

 

Sensors! I guess it’s time to get building. I’m not sure what I’ll use.. I’ll just tinker around until I find what I like.

So I've etched PCBs by sharpie.. I've used the tape and stencils... even photo etching which provided decent results. With all the talk in the IRC chat room I finally decided I needed to try out this professionally built business.
So I’ve etched PCBs by sharpie.. I’ve used the tape and stencils… even photo etching which provided decent results. With all the talk in the IRC chat room I finally decided I needed to try out this professionally built business.

 

“My first PCB”… that I didn’t etch myself. The white stencil isn’t right but I knew it would be that way and I was in a hurry to get it on the way. It looks great. I haven’t checked out all the circuit paths but everything looks good. I decided on OSH Park because he is local-ish and seems like a decent guy. The preview feature is nice on his site.. and the price was reasonable. (yeah, I know.. it’s just a proto-board.. I didn’t build it for any specific reason).

Check out the motor controller heatsink!
Check out the motor controller heatsink!

 

Finally I got these tiny heat sinks I ordered .. (look at the motor controller on the robot platform). The motor controller is the same one I used for my Roomba Sumobot… it got very hot a few times I’m hoping to avoid those issues this time around with this heatsink that comes with some sticky stuff that hopefully conducts heat well. It was a 10 pack.. pretty cheap.

That’s it! I need to get along with my other posts…next week I’m out-of-town for training; maybe I’ll get something done then? ๐Ÿ™‚

C DIY Electronics Microcontrollers Programming Robotics

Quickstart guide to a basic PIC based robots – Part 1

While browsing for “goodies” on eBay I ran across a $9 robot chassis. How can you go wrong for $9? I haven’t built a robot since Talus my sumo Roomba, so I thought why not.

If you’re looking for something like the model I purchased, check out eBay and do a search for “Robot Chassis”.ย  Adam Fabio of TheRegnineer.com mentioned he has almost completed working on a product that is similar. I’m guessing you can look for Adam’s product at his Tindie Store once he has finished it.

.. Fast forward three weeks for shipping from China.

None of my sensors have arrived but you’ll end up wanting to customize you robot for whatever sensor pack you are interested in anyhow. With that said I haven’t written any code for handling any sensors and at the end of the day this robot is just going to drive straight forward all day long. You can follow the code at the repository I set up for it on github to get the latest updates at…

The software:

https://github.com/chasxmd/16F1509_Rover_Robot

The hardware:

I’m using the TAUTIC 20 pin PIC development board as it’s only $10 and takes care of the reset switch capacitor and comes on a nice plug-in board if you solder the connectors the same way I did. Use whatever you like but notice I’m using an internal oscillator so you don’t have to worry about getting a specific development board or having a crystal.

I’m also using the Pololu Quick 2s9v1 Dual Serial Motor Controller which is cost me $25, a little on the high side, but I had one from another project so I’m just re-using it and it makes life a lot easier for development.

Check out the photo at the bottom of the post for the basic schematic.

Beginners:

If you don’t already have MPLABX you’re looking at an upwards battle. However if you don’t mind watching a few YouTube videos it’s not up a creek.

1. Download and install MPLABX and the HI-TECH C compiler.

2. Start a project within MPLABX; selecting PIC 16F1509 and choosing the HI-TECH compiler, and create a main file.

3. Copy my code off the github site and drop it into your main file and compile.

You can download the free version of HI-TECH C and MPLABX which is also free. They are both obtained from http://www.microchip.com. MPLABX is an IDE (integrated development environment) which means it’s a program for programming, compiling and loading your software. HI-TECH is a C compiler which works with MPLABX. There are other programming language options such as BASIC and even assembly (I use assembly most of the time). I don’t know of any free BASIC compilers but I’m guessing someone has one. Google might be your best friend ifย  you’re looking to go that route.

If you don’t have MPLABX you probably don’t have a PICKit 3 (or other hardware programming tool). I like the PICKit 3 because it will program all the newer Microchip PICs and it’s just about the most affordable tool for PICs. PICKit3 comes from Microchip or Digi-key. There are alternatives.

The Build:

It took me about 30 minutes to put the chassis kit together last night. It was pretty obvious how it went together which was good because there were no directions. The encoder wheels don’t really attach other than compression, I see issues with that if I end up using them… that’s what you get for $9?

The code I put together this morning in about an hour or two after reviewing the manual for the motor driver online; you should also review this document. The idea with the code was just to test the motors and motor driver. I also selected a high/half/normal speed which you can adjust for your motor’s needs. I believe the highest speed setting you can select is 0x7F, I chose 0x4F for my high speed based on my anticipated desire. Adjust as needed.. but keep in mind your low speed should be set so it doesn’t stall on carpet or whatever you want your robot to be driving around on.

That’s about it for now. Once I get some sensors in I’ll add them and then write the code. I’m still new to C programming but I felt it was a better choice since it seems most popular; I usually write everything in assembler. Check out the photo I posted as it has a basic layout of the circuit and how I set mine up on a breadboard until I receive some prototyping PCBs I ordered.

First step of my cheap chassis robot build... getting the motors turning.
First step of my cheap chassis robot build… getting the motors turning.

 

…. to be continued