Sunday, December 31, 2006
First low thermal inertia extruder barrel fabricated for Tommelise...
Because of that I decided to braize a piece of 0.635 mm copper over the end of the 5/32 inch copper barrel. Some of the advantages of American mix and match standards is that a 5/32 inch hard copper tube just about exactly seats a 3 mm plastic filament. That really cuts down the metal mass in the extruder barrel.
I'd planned to learn braising for some time. This morning after reading up on how it's done I got a propane torch, some copper/phosphorus braising rods and a bbq lighter. The braising rods were rated at 40,000 psi so I figure they ought to handle whatever I throw at them in terms of pressure. Interestingly, I'd read that I needed to use flux, but when I bought the rods the instructions said that flux wasn't necessary. It wasn't, either.

Here you can see the 0.635 mm copper end plate with braising flange lying beside the 3/16 inch hard copper tubing.

Here you can see a piece of copper/phosphorus braising rod wrapped around the join between the end plate and the tube. Note that I use larger alligator clamps to hold things together. That works rather well. As an aside note that the copper/phosphorus rod is rather brittle. You have to be careful when you bend it around tight corners.

Here the tube is set in my vise and ready to heat.

Now I begin to apply heat to the join.

I faffed around for a while with the torch running at too low a flow rate. When I cranked it up the braising rod immediately melted and connected the join with no trouble.

Another pic of the braised join.

Here I've sawed off the support flange.

Here I've cleaned off the oxide from the braised end cap and knocked off the rough edges. It now looks exactly like a hollow copper nail.

Here is the Demel set up with a #76 wire gauge drill. It's right at 0.5 mm.

Here is my extruder barrel after drilled the extrusion orifice and cleaned it up a bit more. The orifice is there, but too small to photograph well. I put a drop of coolant on the end of the extruder before I drilled. I had drilled a test hole before through that thickness of copper without incident. This time, however, the drill bit binded when it went through the copper end piece and snapped. While I was doing this by hand I don't know that it wouldn't have happened in a drill press just as easily.
Adrian, Simon and Vik, you've done this before. What am I missing in the drilling technique. I stayed extremely steady and very, very light on the pressure on the bit. Indeed, I wasn't even letting a very small fraction of the weight of the Dremel onto the bit. Suggestions?
In any case, I now have a braised, low thermal intertia extruder barrel with a 0.5 mm orifice. If I can sort out the drill bit breakage problem this could be a nice way for people without lathes to DIY this fiddly bit of the Mk II.
After welcoming in the New Year I decided to go ahead and braise the support collar onto the extrustion barrel so that it would be ready for spraying with BBQ paint as per Vik Ollivier's prescription in the morning.

Given that I flared the extrusion barrel after slipping the support collar onto it there was no need for an alligator clip to hold things together this time. I did use the alligator clip, however, as a heat sink to prevent the PTFE block in which the barrel is mounted from overheating. I monitored temperatures with my IR thermometer during the braising operation. Neither the PTFE nor the top of the extruder barrel ever got anywhere near the temperatures needed to cause problems with degradation of the PTFE. Mind, this time I knew what setting on the torch to use so the job got done in a less than a minute.

Here you see the PTFE block pushed back to its permanent position. I've cleaned the support collar as well.
Mothra Cnc repost
Here it is, if anyone needs inspiration on building their own.
BTW, I have some better motors that don't come with a decent mounting system. I plan on cnc'ing a mount for it :-)
Saturday, December 30, 2006
Tommelise Cartesian positioning system fully operational...
This is a major milestone for me.
I've got the parts laid out to make a limits detector that can map the surface of the xy working plane so that I can create a correction table for any height variations caused by less-than-perfect wood butchering on my part. I also plan to draw a bunch of grids on the xy plane to see if there are any noticeable distortions in the positioning map. I also want to tackle the question of software corrections for backlash.
On a separate track I've got to start work on assembling a Mk II with a variety of heater barrels. I've got a tentative design which should let me achieve the higher barrel pressures necessary to extrude homopolypropylene (HPP) and high density polyethelene (HDPE).
Today, however, I'll be driving up to San Francisco to spend the afternoon with Sebastien. He and his wife flew out to spend the holidays with his mother and stepfather (if I heard him correctly). I love the drive through the Santa Cruz mountains that you need to do to get to SF. :-)
Friday, December 29, 2006
HPP arrives!
Thursday, December 28, 2006
PIC Programming for Biollante
Schematic for the Controller Electronics for Tommelise (in progress)
I decided that I had better document the mare's nest of wires that are on the controller board that runs Tommelise this evening so I rolled out KiCad and got reacquainted with it. Here is the schematic as it exists at the moment.
Although it looks rather intimidating when you really look at the schematic you discover there are really only a few unique elements that are used in set configurations over and over. It is also worth noting that the encoder and limits detector modules are located on small, independent boards located quite near to where they are needed. That keeps the controller board a lot simpler, though it does load it up with connectors. :-)
Mothra CnC
The original Mothra concept was to be a simple 3 axis router that I could use for both CNC (computer numeric control) and for Reprap (polymer extrusion). I'm happy to say that it works as a router, with average play less than 1mm and enough torque to cut 1/4" chunks of wood with a router bit. As a reprap, not so much, though I am starting to look at carving parts to improve this one.Setup + Notes
Table/Hardware
The frame is roughly 24x12x18in and has a working area of 18x9x8. It is made from 1x2 to 1x6 lumber cut to length and bored with a drill press. Motors are unipolar NEMA 17's ((ELECTRONICS LINK)) with the Z axis driven through a 4to1 gear train, to lift heavy tools. The gears were taken from a thrift-shop dot matrix printer.
The router is a dremel tool purchased at a hardware store, with a variety of bits I have been experimenting with.
The X platform is screw-driven 1/4"/20 rod with 2 nuts epoxied to a wooden guide. This guide pulls the platform, which is supported on one side by a drawer slide. The other side rests on a piece of wood, but the wood-to-wood friction is minimal and there is little to no deviation.

(Note, X axis steel guide rods were removed after taking picture. Were replaced fully with drawer slide)
(Also note, mothra only has one X axis drawer slide. 2 would generate unneeded friction and the 1 has no play to speak of.)
(Also also note, CnCZone is a great source for designs if you need more inspiration)
Electronics
Controller is 2 PIC chips that drive 2 ULN2803 darlington driver chips. This lets me drive any small unipolar stepper without much trouble. I did have an early issue with power, as my workbench variable power supply was getting maxed out and causing the early versions to skip with the tiniest resistance.
I'll post schematics and the .hex program when I have some more free time.
Interface
The controller is driven by 6 paralell port bits in the following manner:
1 x step
2 x dir
3 y step
4 y dir
5 z step
6 z dir
every time the STEP bit shifts, the motor is stepped. If dir is high, it steps clockwise, if low it steps ccw.
This is a standard format used by KCam4, Turbocnc, and Mach2/3.
Software
In my practices I have been using KCam4 since I find it was the first one I actually got working. It's a steep learning curve, but once you get the concepts behind it,
For the moment, I have been producing gcode with meshcam and A9CAD. Also have been finding some code on CnCZone.
Problems encountered:
The biggest single problem that I had was alignment. It just seemed too hard to have a machine tight enough to provide .1mm accuracy yet be smooth enough to be driven by relatively small steppers. This problem was essentially fixed by converting the X and Z axes to drawer-slide bearings rather than 1/4 steel rod. When I decide to rebuild this completely, I'll do the Y axis as well.
Future plans:
I want to finish an extruder for reprap, starting with a modified hot-glue gun. Also considering making an aluminum version, for a high-torque metal cutting capability.
Designing an interface for the current serial reprap would be useful too, so it can run regular reprap software in addition to Kcam.
One day, I'll also finish my autocad diagram for mothra2.5, publish the full plans, and (re)build it.
Conclusion:


an hour or so later:

Total cost has been around 200-300$ . But much of that was extra wood and bolts and parts used to hone in on a good design. And a Melabs pic programmer. I'd guess at there being maybe 50-85$ worth of parts in the final project.
If anyone has any questions on details I may have left out, please ask. The more people we have making and completing repsraps, the faster this project will start to take off.
Wednesday, December 27, 2006
New website for Tommelise...
In order to get some elbow room to document the system I acquired a new domain which I am dedicating to the project which you can access here.
With a little luck I will also be able to offer the rest of the rep community forums superior to what we are presently using at sourceforge, viz, builders can post graphics and pics instead of just text. I had set about to do that some months ago and then got stalled by the problems of getting the phpBB 2.0 system going on my local server. I hope to have that sorted out with the new hosting service in a few days
More on USB...
Tuesday, December 26, 2006
USB for Tommelise
That's not something I plan on dealing with with Tommelise real soon, but it's definitely on my "to do" list.
He also mentioned a new product that may be of interest to the rest of you builders, viz,
I am working intensively on the new software package - integrated development environment with simulator and basic compiler for ATtiny and ATmega microcontrollers from Atmel. It will be as much as possible compatible with my PIC IDEs. If you use these chips, please let me know what models you would like to see supported in the first release, planned for the end of January 2007.
I've been using his compilers for PIC's for half a year now. It's got me into development of firmware with a minimum of frustration and time loss. Vladimir provides excellent support for his products and is meticulous about addressing bugs detected in his compilers. I have no doubt that his new compiler for Atmel chips will be as good as his PIC compilers.
Friday, December 22, 2006
Z-axis enabled on the controller board...

First, I installed a 754410 for the z-axis and the Mk II (circled in red) to the left of the one driving the x and y axes (circled in blue). Trying to be neat I managed to miswire the new chip to the point of creating a short within the chip.
I started to dig it out of the board (you can see the cut pins on the right side of the chip) and then realised that I had some spare space on the board. I put a third 754410 (circled in yellow) in and did a quick lashup of the wiring which is very easy to see. You can also see the two terminal connector that runs the z-axis (circled in yellow as well) That mare's nest worked first time out. There's a lesson in there somewhere, I expect.
I tested out the wiring with the {HZ+} and {CZ+} commands and it worked perfectly.

The limits detector went together fairly smoothly and the firmware for managing the x and y axes checks out for the z-axis as well. The {RZ} command now works.
Now I have to wire up another shaft encoder and the z-axis will be good to go.
Tuesday, December 19, 2006
First cross-hatch
The vertical dimension is just at 20 mm and the spacing of the cross-hatch lines is a bit over 8 mm. It's pretty easy to see the slewing at the corners. I definitely need a more rigid pencil holder.
Here is a slightly different cross-hatching pattern where I locked the pencil down a bit more solidly. Much less pencil slewing, though the line quality leaves something to be desired.You can access the firmware code here.
Running x and y axes as an ensemble...
I ran the ensemble in two initial modes for a 2:1 slope; the first using 100 msec motor pulses and the second using 10 msec motor pulses.
For 100 msec pulses.
- average deviation from linearity - 0.0425 mm
- maximum deviation from linearity - 0.1328 mm
- average deviation from linearity - 0.0061 mm
- maximum deviation from linearity - 0.0625 mm
I think the only real imponderable left for RepRap developers as opposed to builders is whether SDCC can be talked into creating good hex files for the 18F family of PIC chips. My own experience with 16F PIC's is that they haven't got the muscle to be used in a single board controller for a reprap. I really tried to make it happen. Perhaps some really good code god could do it, but not this lowly wallah.
Monday, December 18, 2006
Documenting Tommelise...

What you see is pretty close to what is built.

I did, however, iron out a few of the smaller and more obvious problems that I have in the bootstrap Tommelise as built so that anybody wanting to go in this direction won't have to hit the same problems I did.
You can download the .aoi file for Tommelise here. I've scaled the model in inches since it is made of US module furniture grade poplar boards. If you shop for this sort of wood please note that the width of the boards is a half-inch less wide than listed, that is, a three inch board is actually 2-1/2 inches wide and so on. Thickenesses are typically a quarter-inch thinner than listed. Thus a 3x1 inch board is actually 2.5x.75 inches.
This model is a work in progress. It's not all there right this moment, but there is enough there to get someone started. I'll be adding to it and sorting out the order of the parts listing a bit later.
Thursday, December 14, 2006
Running Tommelise from the PC...
{RX} - reset the axis
...
{RZ}
{MX} - measure the axis in pulses
...
{MZ}
{HX+} - move in the +x direction on the x-axis
{HX-} - move in the -x direction on the x-axis
...
{CX+} - stop moving on the x-axis
...
and so on...
Here is a screen grab of the test harness that feeds instructions to the 16F877A via the serial link...

As you can see when you tell it to, for example, measure the x-axis {MX}, the firmware returns the number of encoder pulses counted as the x-axis moves from the beginning limit to the end limit. After any process is finished the firmware transmits a "finished" {OK} string.
You will notice that the pulse measurements for the same axis are similar, but not identical. Right now, I carefully line up the axis at the beginning limit but only stop measuring when the gearmotor hits the other limit at full speed. It may make a revolution or two running at full speed before noticing that it has been turned off. This isn't too important in that I only need an approximate length of the axis plus a replicable starting point. I've got that.
Tuesday, December 12, 2006
Finally made the leap...
Anyhow, I've been trying to catch Randy at Glitchbuster for the past several days to reorder some more, but it appears that he is out of touch for the moment, so I decided to reorder through Mouser instead. Mouser got rid of their minimum order restrictions so they're a bit easier to deal with these days, not that I had a minimum order in any case.
While I was ordering at Mouser I decided to go ahead and try out the 18F4610 chip which is much more powerful than the 16F877A. It has some 4 Kbytes of RAM, which should allow me to at least think about putting in a data stack of instructions for the printer and cut down on the comms from the PC. As well, it will give me a chance to try out a direct USB comms connection rather than the indirect serial approach using the MAX232 that I am now.
Friday, December 08, 2006
Some Thoughts on Available Materials (and Some Blue-Sky Thinking)
- glass (bottles, jars)
- paper (newspapers, junk mail, wrappers)
- cardboard (boxes)
- steel (cans)
- aluminum (cans)
- polystyrene (styrofoam inserts, packing peanuts)
Now, these aren't exactly ideal materials for RepRap. On the other hand, there seems to be a near-endless supply of them. Some of it might be adapted for use as suppor material, or possibly filler. Maybe there's more potential than that.
Not exactly sure where I'm going with this. I suppose, ultimately, I'd like to see an Nth generation RepRap that can take this detritus of modern life, sort through it, break it down and build more interesting items.
Sure, that's well beyond the current capabilities but, then again, I remember what the first generation of Linux looked like. And that was, what, 15 years ago? It's not hard to imagine a RepRap capable of building add-ons to itself to the point where the RepRap "kernel" is almost invisible, hidden behind more user-friendly layers of hardware. Almost no one who uses Linux now interacts directly with the kernel. It's possible that, in 15 years, almost no one will spool their own filament, or even care what filament is.
Tuesday, December 05, 2006
Salt Water Etching
Pencil holder assembly...

Now to set up some formal grid tests so that I can get an idea of just how repeatable my cartesian positioning system is. I've already detected what appears to be non-isotropic behaviour of the gearboxes with respect to rotational direction. It's not a big difference with you can see it now and thanks to Adrian I know it's not some duct tape artifact. :-D
Sunday, December 03, 2006
Closed loops on the XY positioning stage...

Once I did it the wisdom of his approach in terms of strong connections was obvious. Wish I'd seen that a couple of months ago.

Anyhow, I have both x and y axis positioning stages operating in closed loop mode now. I have a buggy little firmware programme which counts pulses from each axis and turns x and y axis gearmotors accordingly. At least now I have a hardware rig which I can use to work the bugs out of the firmware with. :-)