Saturday, September 10, 2011

Robo-Roundup #26

Today on Robo-Roundup, we feature some very interesting robots! As always, Enjoy!


1. Check out this robot built by Disney: http://spectrum.ieee.org/automaton/robotics/industrial-robots/disney-builds-wall-climbing-base-jumping-tornado-powered-robot-

2. This smart robot can find your lost computer keyboard: http://spectrum.ieee.org/automaton/robotics/artificial-intelligence/clever-cornell-robot-finds

3. Take a look at the Handroid, the newest robotic hand: http://robots.net/article/3228.html

4. This little robot helps to save lives: http://robots.net/article/3224.html

5. Meet Kismet, a little robot with a big personality: http://www.plasticpals.com/?p=30191

Thanks for reading and be sure to follow us on facebook and +1 us if you can.  

Stepper motor control 2-phase 4-phase

Critical to getting our CNC-based pick-and-place machine working is driving the stepper motors.
We've already managed to get some 4-phase, six-wire motors spinning using a ULN2803A darlington array. But the problem was the current was too great and they started to smell really quickly. Not much longer after that, the magic smoke get let out.

We stripped a Lexmark Z73 printer scanner and salvaged some motors, and even stripped the steppers from old floppy disk drives. So we've no end of stepper motors to play with, but not much luck in getting them turning. The main problem has been that the motors we took from the old hardware and donated stuff off Freecycle are all 4-wire 2-phase/bipolar motors.

We upgraded the original stepper circuit, replacing the ULN2803A with 4 x IRF640 mosfets. The IRF640 chips have built-in fly-back diodes (they're designed for driving inductive loads) so we don't have to worry about any extra external components. The "gate" is isolated and can use logic-level (5V) voltages to switch them on.


This allows beefier stepper motors to be controlled (up to about 16A) but they are set up to drive 6-wire/4 phase/unipolar steppers. We still didn't have a way of driving 4-wire/2 phase bipolar motors correctly.



Until today.
Thanks to Jason at BuildBrighton, we've got a few L293D half-H-bridge chips to play with. And they work perfectly for driving scavenged stepper motors. Here's how we connected each IC to the coils on a bipolar stepper motor.



So now we've got a way of driving both 4-wire, 5-wire and 6-wire stepper motors.
We've got a nice beefy PC power supply to provide the power without having to worry about running more than two motors together (the earlier 500mA phone-charger just wasn't up to the job!) and the stepper driver chips can handle up to 1A per channel (4-wire/biopolar) and a massive 16A or more for six-wire (unipolar) motors.

The trick is to make our driver board(s) compatible with any combination of steppers so that anyone else who wants to make one of these machines can source parts for it cheaply and easily.

At the minute we're trying out a number of different ideas and don't have enough time to devote to developing each idea, AND write it up on the blog with photos/diagrams/full descriptions. So over the next few days, we're going to play about with a few ideas then write up the most successful ones here......

LR Mate 200ic, Chemistry's favorite robot


Most robots that have big arms work on the industrial line, however this robot works in the lab. LR Mate 200ic is a laboratory robot that is collects data such as weight, , first it starts off by picking up samples from a lab tray, shaking and swirling them, and then putting them on an integrated scale. After that the data is then analyzed by scientists on a computer. Its capable of doing all this with its custom EAOT gripper, strong servos, built in computer, and 6 axis for better range of motion. Overall it sounds like the perfect lab partner for scientists. Thanks for reading and check out the video above to see this bot in action!

Friday, September 9, 2011

CNC pick and place machine update

After an evening at BuildBrighton, exchanging ideas and motor control circuits, we've had a re-think about our CNC-based pick-and-place machine. In fact, we've had several re-thinks, returned to abandoned ideas, discarded previously agreed ideas and gone around in circles enough times to make everyone very, very dizzy!

At first, we concentrated on making a machine that would be simple to understand during it's construction.
We concentrated on theoretical accuracy - using a small angle stepper motor, relatively few teeth on the cog, sticking to numbers that were easily divisible and so on. The problem with this approach is that actually obtaining parts is quite difficult - 1.8deg steppers are quite expensive (�20/unit) wereas cheaper, salvageable motors (from printers, cd drives etc) are more difficult to drive, and have peculiar voltage requirements.

Our compromise is this -

Where possible, use parts that can be salvaged from easily obtained hardware.
An old, obsolete PC could be a major source of parts - the power supply gives us multiple 5V and 12V supplies, the CD and floppy drives provide 4-wire (2 phase) stepper motors, specifically designed to run on 5V/12V. The IDE cables are perfect for connecting homemade PCBs to other parts on the machine (old hard drive cables use 0.1" pitch, the same as breadboard prototyping and lots of through-hole components, pin-headers etc).

Rather than concentrating on using motors and belts that make the maths for calculating steps per mm easier, we're going to build a machine that works with mostly salvaged parts. The final device will be a "puppet and playback" machine - the user will manually position the picking head either using buttons on the machine, or using a PC/software interface, then record the co-ordinates (in terms of steps rather than mm from a known origin) back to the PC/eeprom memory. Once one complete "animation" has been recorded, the script can be played back over and over again.

This way, the actual accuracy of the device becomes less important - it just has to be "accurate enough" to pick up a component and place it on the board. We're not going to be loading g-code type files into the device, or have to do tricky conversions from one format to another. The machine will simply use a record-the-steps-and-play-them-back approach for placing the components. So the actual distances travelled and units used won't matter; if you're using 1.8 deg steppers and half-stepping to give 400 steps/rev, with a 5mm belt, it doesn't matter how far between components the head moves: the machine will simply remember x number of steps on the x-axis and y number of steps along the y-axis. Someone using a machine with 7.5 deg steppers will simply have fewer steps in each axis to travel the same physical distance.

Talking of belts, we've decided to ditch them and go with a rack-and-pinion system.
This means we're removing another potentially costly part from the bill of materials - a 1.25mm belt can be had from a printer or a scanner, but it may be 1.2mm, or 1.25mm, or the imperial equivalent, a 0.05" pitch belt. All these belts need to have the right pulley or cog, with the teeth exactly spaced to match the belt.

By using a rack and pinion approach, everyone can use the same set of laser-cutting templates, and matching the right pulley/cog to your (possibly unknown) belt is no longer an issue.


Thursday, September 8, 2011

A 12 Foot Flying Saucer?

Over the past couple of days I've been working on my Makebot flying saucer.  This is a 10 inch diameter 50's style flying saucer that all started because of a discussion I had with a close friend of mine.  He wanted to know if I could design and build a 12 foot flying saucer for his front yard for Halloween.  His wife and I both shouted "A 12 foot flying saucer?".  

It has yet to be built but the idea stuck in my head so I decided to see if I could build a model of the saucer on the Makerbot.  
 The completed saucer pictured here turned out very well on the Makerbot.  The sign next to it is displayed on my IPad so it give you a good idea how large this model is.  Over the following weeks I smoothed out the body of the saucer using fiberglass resin, painted it and found a clear bubble for the top instead of the solid one and even created a complete cockpit with an instrument panel, gauges, control stick and seat.
 
 The photo above will give you a good idea as to how small the cockpit instrument panel is.  The dot on my finger tip is the decal for one of the gauges in the panel.  I had to use a very large magnifying glass in order to cut out the decal from the sheet it was printed on.  All in all it was worth the effort and will be a nice model to display. 
  The saucer is just the first one that has been made and may lead to other variations other than just being a model.  One idea is to use the design as a desk lamp. Other ideas have come up to improve the model by possibly having working light and actual retractable landing gear.  Stay tuned it could happen here in the coming months along with a longer list of improvements.

By the way this is what a 12 foot flying saucer would look like if you were standing next to it.

CNC pick-and-place update

We've spent a few days scavenging stepper motors from a variety of sources, and looking at what's available on eBay and other online sources. It's proved a bit tricky to decide exactly what to use for our pick-and-place machine; there are just too many options available!

It's a fine balance between scavenging and ease-of-use.
Typically, the easily accessible stuff (stepper motors from floppy drives, old printers and so on) is not so easy to drive - mostly they're high voltage (24V, 36V etc) and bipolar (2-phase, 4-wire) motors. While these are not impossible to use, they're more difficult to drive than our preferred uni-polar (5 or 6 wire) motors, which we've discovered can be run at lower voltages, using less current.

Current draw is proving to be an important consideration.
We've spent ages getting multiple motors working - albeit one at a time. When we introduced more than one motor at a time, our power supply (a 500mA phone charger providing 5V) wasn't up to the job. So we've upgraded the power supply and salvaged a PC power unit (PSU) which is good up to 400W, and gives us plenty of 12V and 5V power connectors.

The idea now is to use a PC supply (which should be easy to get hold of) and concentrate on 5V or 12V motors.

Unfortunately, we soon discovered that our original circuit was no good for higher voltage motors.
After beefing up the actual power supply, we managed to get more than one motor turning, but at a cost - a funny smell and a lot of smoke! It turns out that the ULN2803A chips we were using to drive the motors can only handle up to 500mA. And the motors were drawing 1A at 12V. Hence the darlington arrays blew after only a few seconds of usage.

This chip didn't just smell and smoke, it actually scorched the breadboard and blew the bottom off the chip when we tried to force it to drive two 1A motors at full belt!

All this means we've had to upgrade our stepper motor circuit.
We've replaced the ULN2380A chip with a series of IRF640 mosfets.
We need a single mosfet on each phase of the stepper motor coil(s) - i.e. four per motor (for a 4-phase unipolar motor). They include internal fly-back diodes and accept 5V logic level inputs, so are quite easy to use and require no extra components.

Here's a photo of the breadboard with the darlington arrays replaced with mosfets.
The benefit of this approach is that the mosfets can be used with low-power motors as well as the bigger ones, so the stepper motor driver will be compatible with a wider range of motors once complete.


The schematic is here - showing how to connect 4 pins from a PIC to 4 mosfets, for driving a single 6-wire/4-phase stepper motor.

[schematic pdf goes here]

Once we got the motor turning again, it was time to build the pulley for the belt-drive system.
We're using one of the belts we got out of the Lexmark Z73 - it's got a really fine tooth-pitch, about 1.2mm. So our cog/pulley needs to have a similar pitch to make the belt teeth fit snugly without slipping. We wanted as large a cog as possible, so that one single rotation moves the belt as far as possible. The larger to cog, the lower the precision, so like everything else, it's a fine balancing act to get the right combination.

Here's how we decided what to use:
The stepper motor is a 1.8 degree motor. This means 200 steps per revolution.
We're using half-stepping, so 400 steps/rev. The tooth-pitch is 1.2mm, or maybe 1.25 if the belt is imperial rather than metric (we can't be sure at this stage, so we're going to make the system, try it out and if there's any slippage, replace the cog/pulley for one with more/fewer teeth).
If we say our pitch is 1.25mm, then a cog with 40 teeth would move 40*1.25 = 50mm per revolution. At 400 steps per revolution, this means each step moves 50/400 = 0.125mm per step. This seems quite quite a nice level of accuracy.

The photo above shows a 40-tooth cog with a pitch of 1.25mm. It's pretty small.
So we thought, if we used an 80-tooth cog, we'd double the speed of the movement (80*1.25 = 100mm per revolution, or 100/400 = 0.25mm per step). Although not as precise, moving a head to within a quarter of a millimetre seems precise enough for a pick-and-place machine, so we decided to make a cog with 80 teeth.

Why pink? Just using up scraps of left over acrylic from a previous job! It wasn't a conscious decision to use pink over any other colour!

We added the disks above and below the cog to stop the belt slipping off the pulley during use. In fact, we found that our belt was every so slightly wider than 3mm (the thickness of the acrylic) so we created little spacer disks from cardboard, and used these between the disks and the cogs, to space them apart slightly.


With all the centre holes lined up, we stuck the multiple layers together and fitted to the stepper motor shaft (although the datasheet said the shaft was 6.25mm, we had to cut our holes 6.35mm to get them to fit and even then, it took some effort to get them onto the shaft!)

We made our cogs using InkScape.
It has a built-in gear maker. On a new document, go to the Extensions menu, Render, Gears:


By default, Inkscape uses 90 pixels per inch resolution. We decided that our belt is probably 0.05" pitch, so the circular pitch in pixels is 0.05*90 = 4.5


I found this diagram when looking for definitions such as circular pitch and pressure angle (I didn't know what they meant either!)


With the parameters in InkScape set, it was just a case of letting it create our gear by hitting apply:


With the gear created, we just needed to add the hole for the shaft. After much trial and error, we discovered that the ideal sized hole for the shaft was 6.35mm. We drew a circle with no fill colour and set the height and width to 6.35, then placed it inside the cog:



With both items selected, go to Object, Align and Distribute. Set "relative to" the biggest object. Then centre along both the x and y axis:


The end result is a cog with a perfectly centred hole for the shaft:


Which fits perfectly with our tiny-toothed timing belt. Or so it seems. We'll know for sure, once we've got the CNC machine up and running!



Wednesday, September 7, 2011

Videos on bots #6

This week's videos on bots features some very interesting robots.



This robot is, of course, the android robot. However, it is a real life version of the robot.

 This robot is called Fembot, and if you can see its not a human, and it does fall into the category of the uncanny valley.

This videos shows a very cool homemade robot. I don't know if you can tell, but its made out of cardboard too.

 This is a robot lizard that was created using a Bioloid robot kit.

Soda anyone? This robot is perfect for anybody that is comfortable on the couch and want's a refreshing soda, but doesn't want to get up and get it.


Thanks for reading and watching, and check us out tomorrow for a new robo roundup and a new robot post!