Sunday, December 31, 2006


First low thermal inertia extruder barrel fabricated for Tommelise...

I'm just going to make a few comments and show you the pics on this little adventure. I'll write it up in considerably more detail over at the Tommelise website a bit later. Since I decided to go for HDPE and HPP polypropylene I decided that the extruder barrels were going to have to handle a lot more pressure than a crimped end was likely to handle since those two plastics have rather low melt flow indices.

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

I suspect my previous post was overlooked due to being backdated.

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...

I'm now getting consistent calibration readings out of the xyz axes on Tommelise well within acceptable limits (<0.1 mm). There is a little bit of superficial tidying up to do with the firmware but that's it.

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!

The sample of 3 mm homopolypropylene (HPP) filament arrived today sans the also promised HDPE sample. I guess that Jim was short on HDPE stock in white 3 mm. I'll call Monday and check. It came in 4 foot lengths which is what plastic welders ordinarily eat. That will be more than adequate for experimentation. :-D

Thursday, December 28, 2006


PIC Programming for Biollante

Finally! I have a PIC C Compiler, PIC protoboard, PIC programmer, some PICs; and, carefully accumulated from various sources, a bunch of working examples of using the PIC16F628A with SDCC. Some were taken from various sources(linked on the pages and in the source), some I made myself, most are inbetween. These six SDCC examples are more than I've seen together on one page, which tells me that this sorta thing is sorely needed. Hope this helps somebody!


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

It's been a while, so I thought I'd give an update on my incantation of this project, and sum up all that has been done to date.

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

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)

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.

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.

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.


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...

Some weeks ago I reached the conclusion that Tommelise was headed in some interesting directions not shared by the mainstream RepRap technology and that the bootstrapping concept and more specific technology specifications of Tommelise might find a wider open source user community in its own right, at least in the United States.

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...

Vladimir sent along the USB upgrade for the PIC 18F IDE this morning. It looks really slick. About 8 lines of code gets Windows to recognise your PIC as a USB peripheral so you don't need to get into the drama of writing drivers. I may shift over to USB communications sooner than I thought. It will be nice not needing a comms card. :-)

Tuesday, December 26, 2006


USB for Tommelise

Vladimir at Oshonsoft offered a discount on the purchase of the USB support module for his IDE for the PIC 18F family of chips and I went ahead and gave myself a late Christmas present. :-)

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...

I tried installing a second 754410 dual darlington chip to power the z-axis gearmotor. What a mess!

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

Well, I've got about +/-2 mm play in my pencil holder.

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've got the x and y axis gearmotors working as an ensemble controlled from the same 18F4610 microcontroller. The bigger, faster PIC chip let me program in some monitoring of performance and statistics generation.

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.
For 10 msec pulses
I think a big chunk of imponderables, to use Adrian's word, about using gearmotors with shaft encoders are no longer imponderable.

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...

I was going blind working on the xy positioning stage firmware so I decided to take a few hours off and take a shot at documenting the actual structure of 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...

The serial commands that I programmed into the PIC 16F877A are finally beginning to firm up. Sending from the PC:

{RX} - reset the axis


{MX} - measure the axis in pulses


{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...

As you know I've been trying to use a single 16F877A microcontroller to run the whole of Tommelise. The work so far seems to say that it is going to be possible to do that. Sadly, in getting to that point I've had the PIC's in and out of the prototyping board so many times that the pins on the three PICs that I am currently using are getting a little unreliable.

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)

I was tidying up the house a bit the other day and realized that a huge amount of the mass contained within the house was essentially unwanted material. Here's a list of the various waste materials I noticed:
- 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

I just saw this item on Instructables. Step-by-step instructions on how to etch a PCB with salt water and electrolysis.


Pencil holder assembly...

Thanks to a timely pointer from Adrian about weighting instead of spring mounting my mechanical pencil I now have an operational pencil tracing device.

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...

After a number of mishaps and shorts with the encoder chips I finally stopped being pigheaded and prepared the AS5035 chip in the way Adrian did.

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. :-)

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]