Saturday, June 30, 2007


Printing the night away

After demonstrating that I could print 20+ layers with infill in HDPE I decided to take a crack at printing a polymer pump again, this time starting from Art of Illusion rather than building an XML transfer file from scratch.

Heretofore, Slice and Dice has been a once-through routine that simply takes a STL file of an object that you want to print and slices it at a given thickness and creates a STL print file that can be used in the Tommelise Control Panel. While it gives a graphical display of what is going on while it is processing I typically haven't got the patience to sit down while it grinds through 30-40 slices.

Since I haven't been trying to do anything too complicated printing out a layer or two to check to see if anything is amiss has been no big deal. With more complicated object, however, you are talking about 15-20 minutes/layer. That's slow. What I needed is a simple graphical method of displaying a print layer-by-layer. I'm not trying for anything as grad as what Adrian is doing in Java, just a 2D display of a slice or several slices so that I can see how the infill is fitting together.
Here are two overlain slices of zone two of a polymer pump that I designed in Art of Illusion. This cheap little bit of code is letting me spot problems in a layer without having to spend half an hour watching Tommelise print. Once I can see where they are it is a relatively simple matter to edit them out of the XML transfer file.

Can you see the problems in this view?

Friday, June 29, 2007


Breaking Programmer's Block

Last time I'd posted, I'd managed to build myself a minimal comm protocol for my control modules, text-based, so that I could communicate with them using a keyboard and a terminal program. This solves the chicken-or-egg problem of which comes first -- the protocol, or the program to communicate with the protocol; but crafting lists of raw packets like
4111007 control the device clearly left much to be desired. It's easy to script a simple program to translate "MOVE 5 37" into raw packets, but more is needed of a control program than that; it has to parse replies from the nodes, and know when it has to wait for them to finish. This is the problem I spent the last few months banging my head against.

The breakthrough happened when I realized I could make the translator program and the control program seperate. The control program doesn't need to figure out when to wait, the translator program can tell it to wait.

418 sets the final motor position, 419 and 41a set the numerator and denominator of the movement speed. 14c is an acknowledge, 14e is "Operation Complete". @SLAVE tells the control program to expect "operation complete" in addition to the ack packets the control program always expects. 4111007 actually starts the motor moving. Finally, @SYNC waits until all expected replies have been recieved.

It works. I discovered a few obnoxious firmware bugs in making this -- deadlocking after 127 commands is a bug you're unlikely to discover when typing in commands by hand -- but now that they've been dealt with, communication with the motor control nodes is finally easy and reliable.

(There, I've replaced the obnoxious table with an image. Blogger should really fix the table problem someday...)


A very, very small shotglass

After some modifications and some really good advice from Eric M, the MDF/plywood extruder is actually functioning. Another milestone in the process of repstrapping, I guess.

Initially, I had problems with the force needed to pump the CAPA through the barrel and nozzle. The reason was that the guiding hole in the polymer guide was too deep, so the drive screw could not provide enough friction. Adjusted that with some CAPA on the inside of the polymer guide, which solved that issue.

Now there was sufficient force - too much actually, the whole lower part of the assembly got pressed out of the clamp :-). The reason was that the thread in the PFTE part was too deep, and some CAPA melted just above the barrel, and thus more or less blocked the barrel. A new PTFE part solved that and presto: extrusion...

Next step is mounting it on "Richard" and to see if the whole system works together. Also, I will put together a guide on how to make the extruder parts without RP'ing.

Right the image of what starts to resemble a very, very small shot glass ... signs of things to come??


Wednesday, June 27, 2007


Making a hole in it

Now that I know that I can print thick objects I can start addressing other challenges in 3D printing using Fused Deposition Modelling with HDPE. Dealing with a 0.8 mm HDPE extrusion and a positioning system which can position at about 0.1 mm but which needs a running start to get rolling makes the printing of small features a bit more of a challenge than it might otherwise be.

I knew from previous work that I'd eventually confront these issues, so I'm not particularly upset or despondent. They are, however, hard work. Mercifully, I have the XML formatted transfer file between the Slice and Dice software and Tommelise's Control Panel. That lets me tweak objects without having to rewrite the Slice and Dice code every time I want to try something. That has been a godsend.

Ultimately, I want to design and print a better polymer pump for my Mk 1 extruder. One of the things that it would be nice to have in the pump is aligned 3 mm holes for the built-up bolts that are spring-loaded to keep the pump firmly connected to the HDPE feed filament. I decided to see if I could set a 3 mm hole in my test square prism.

Here are two printed layers of the prism with a centred 3 mm hole and no infill.

The hole models as an octagon. You can see that the beginning of the hole's boundary suffers from the lag time between when you turn on the polymer pump and start tracking the perimeter and when you get HDPE coming out of the extruder orifice. Obviously, I need to make my extrusion startup firmware code a bit more sophisticated.

(Read the full story)

Monday, June 25, 2007


Twenty layers

As I expected, there were no problems in printing 20 layers of the 40x40 mm square prism.

Brief statistics; 40x40x11 mm prism, 50% infill, 3.25 hours print time including 70x70 mm raft, 11.5 cm^3 of HDPE printed with an average extruder head transition speed of 2.2 mm/sec.

I think that I can go on to printing useful things now.

Sunday, June 24, 2007


Ten layers with no curling

What a lovely present for my 60th birthday! Tommelise just printed 10 layers of HDPE on an HDPE raft with no curling or warping. From the looks of it there is nothing to stop me from printing another 10 layers.

Just a few statistics. The object printed was a 40x40 mm square on a 70x70 mm raft. Each layer consumed about 800 mm^3 of HDPE and took just at 12 minutes to print. The average translation speed of the extruder head was 2.2 mm/sec. The infill density was set to 50%.

(Read the full story)

Friday, June 22, 2007


Printing HDPE at room temperature

I've printed several pounds of HDPE know and feel that I can share a few things about my experiences with printing this plastic out of a modified Mk II.

Cutting to the chase, it seems to be a lot like CAPA only more so. It's an engineering plastic and melts at a lot higher temperature than CAPA. It also has a thermal expansion coefficient that is significantly higher than CAPA. All the curling problems that you've seen Vik have with CAPA I've experienced with HDPE except that I can modestly say that HDPE curls with considerably more élan.

This picture gives you an idea of what I'm talking about.

When you create differential cooling by printing hot plastic on top of cold you encounter some awesome internal stresses. I've printed objects in the high dozens now and this behaviour was causing me considerable distress. I came close several times to deciding that you just couldn't print anything meaningful with HDPE at room temperatures.

(Read the full story)

Wednesday, June 20, 2007


Back at it

Up to about a month ago I was hell-bent on printing something useful. I got in the habit of taking short cuts instead of making sure that everything was working right as a complete system. In some ways that XML format transfer file between the Slice and Dice software and Tommelise's Control Panel was just about too clever by half. The temptation, which I succumbed to, was to build object descriptions by simply writing an XML file directly rather than using Art of Illusion to generate an object and then slicing it into a set of layers.

(Read the full story)

Sunday, June 17, 2007


Richard's moving

Today I finished most of the assembly of Rambling Richard. The boards are done, cartesian is nearly done and most of the extruder parts are done, except for some RRRF components currently somewhere between the US and Holland. See the image for the contraption.

In front the extruder parts (repstrapped from MDF and plywood) and the Z belt that needs to be attached - after some aligment. One of the Z studs is not parallel to the Z rod, so I want to have that set before cutting and fixing the belt. Also, the Y belt on the motor side (left) needs some adjustment. Hopefully, next week I get the remaining parts and can try the first extrusion. I did try some X movement and the carriage moved - though shaky. No champagne yet, but getting close!

Monday, June 11, 2007


Stepper Board Videos!

So, I finally got real live footage of the boards and stepper motors working. Bonus stepper tester video. Check it!

Stepper Motor Action from Zach 'Iowa' Hoeken on Vimeo

Sunday, June 10, 2007


Suntanning blotches... in an Amsterdam summer day??

I have received my UV fluorescent, a Cleo Compact of 15W. It cost me 6€ and is very easy to get in any illumination ware store. The tube allows for a fairly compact mount, as it is only 30cm long (about a foot). They didn't have the mount there for it so i bought the parts and made it myself out of this simple diagram i got from the Wikipedia.

I used a reflectant non conductive mylar plastic strip from a candy bar (Twix, to name it), to use as a reflector. The end result looks like this (left).

The bad news is that the spectrum of this lamp is adjusted to mimic the natural solar spectrum of an Amsterdam July day at noon! I'm not kidding!! I was hoping for an ozone-depleted, antarctic, January at noon spectrum! :)
The result is that after my first test-run i had not enough UV-power at the desired wavelengths to get a quick polymerization. It took 2-3 hours to get the resin to set and probably another hour or two to get it to harden... far to long! I will be ordering a black light tube (Philips TLK 40W/10R or F40BL 40W) which have an emission peak at 365nm, exactly what i need for Mechlers Ketone. They deliver 7.4 and 9W of UV radiation each, which is a lot better than the Cleo tube and the price is very similar, although the tubes are twice as big. If the results keep being to poor, I will be aiming for the 100W bulb range, which will certainly do the job, but at a higher price. I will also buy a germicidal UV fluo (philips TUV25T8), which works at the wavelength of Benzophenone.

One last thing slowing down the setting is an effect called Oxygen scavenging. It results through the effect of air Oxygen on the surface, which destroys the radicals formed by the UV radiation inside the resin mix and that are responsible for its polymerization. This causes the surface of the resin deposit to remain liquid while the interior continues curing. There are two ways to solve this problem:
1) Augmenting the photoinitiator of the mix (from 2-3 weight % to 6-10 w%)
this solution is simple but on the expensive side.
2) Adding 2-3 w% of an Amine such as N-Methyldiethanolamine, wich costs around 25€ per kilogram and is a cheap additive and which will react with the solved oxygen in the resin, preventing the radicals scavenging.

One thing i thought of too is to let some resin blotches lie in the Sun (Barcelona Sun, not Amsterdam!). And it did work! I got some slow polymerization on, and i suppose that in 12h exposure the resin would set as well.

One last important effect and that will have great implications for the deposition process. The resin remains tacky and sticky right until the end of the curing process. By timing the UV-exposure and the Amine content correctly, we could achieve seamless interlayer adhesion, almost as if the object had been cast in one piece!

Labels: , , ,


It's ALIVE! (sorta)

Well, I finally completed all of the soldering and building for Lamarck... Now I just gotta do the calibration and troubleshooting, and I'll be extruding! So far I have been successful in getting all three axes to work (though the X axis is reversed - anyone know how to get it to go the other way?), but the extruder controller is giving me problems. I seem to have basic communications with the board, but when I try to run the extruder exerciser for testing, it gives me errors. My main task for tomorrow will be trying to figure out what's wrong there.

Pictures of Lamarck as he stands now:
Lamarckian overview

For testing, I have attached all of the PCBs to an old cutting board I had lying around. Once I have everything working perfectly I'll think of a little nicer way to arrange them and their 200 billion (or so it seems) wire connections.

Since I ordered the wrong optical sensors for the endstops, I decided to go with limit-switches for the endstops for now. I was able to pick up some nice lever switches from Radio Shack which seem to do the trick (Radio Shack part #275-017A if you are interested). You can see one of the switches in the picture below, attached to one of the simple brackets I made by bending and drilling some flat steel bar:
lever switch

For those of you that are planning on converting a Sherline mill to a RepStrap, here's some info on how to connect the official Sherline motors (data sheet at
The motor connector has 6 wires: Red, Black, Yellow, Blue, White, Orange. Snip the Black and White wires - they won't be needed. Connect Red to pin 1 on the stepper controller board, Yellow to pin 2, Blue to pin 3, and Orange to pin 4. You will also need a pair of large 1.8ohm resistors, one in line with the Red wire, one with the Blue (or one with Yellow and one with Orange - you need one for each coil, but it doesn't matter which lead of the coil you connect them to). This is to compensate for the electrical differences between the RepRap motors and the Sherline ones.

Well, that's it for now. Hopefully tomorrow will bring some insight on my extruder issues and I'll actually be able to extrude something!

*UPDATE* - Thanks to help from Jonathan Marsden, I was able to fix my extruder controller issue - apparently it was an issue related to Sun's java communications library, and switching to the rxtx library and Jonathan's 0.8 RepRap release on Sourceforge, I was able to get my extruder talking! Today I've been fiddling with it, calibrating, and making CAPA filament. I was actually able to get it to start extruding a minimug, but I ran into a few issues - mostly communications errors after one of the axes' motors had been running a while. I suspect it is heat related, so I will concentrate on making the heat sinks more efficient tomorrow. I'll post pics and video as soon as I have anything remotely interesting to show. :)

Tuesday, June 05, 2007


Mixmaster is ready to get mixin'

Today I finally got the delivery from Acros.
They deliver at home and have really good prices, but the initial registration process took a month for me. They seem to act through a local branch, but their products are delivered from central warehouses and deliver for free if you order over 100$/€.
These people are reliable but if you have a local chemical products shop, use them, as they will speed up the whole process. That's worthwhile even at a little more expensive prices.

So what did I get?
1) 1kg of Methyl-methacrylate (the stuff Plexiglas is made of). It's a clear sweet smelling, flammable liquid, with quite a low viscosity (something like water)
I'll use this as the first of my three resin bases. 1kg cost me around 18€

2) Benzophenone. My first photoinitiator. It's a solid, pretty harmless. It will work with pretty energetic UV, the kind used to kill germs. 500gr cost me 25€ (between 1 and 3% in weight will be used in the final mixed resins)

3) Mechelers Ketone. The second photoinitiator. It's a gray-greenish solid, not to be inhaled or spread over your sandwich. This one works with the UV used for tanning. 100gr cost me 19€ (same proportion as for Benzophenone needed).
I have allready ordered the UV tube wich should arrive this week too, it cost me 6€. I'll write more closely on that when it gets here.

4) I bought 1kg of regular Polyester resin (comes mixed with styrene as a solvent monomer). It's the one you can get at paint shops for car repair, fiberglass molding and resin casting. It cost me 20€, but you could probably get it a lot cheaper than that. I will look for a shop that has better prices. This will be the base for my second types of resins.

I will also try to find a standard epoxy resin that will be the third of my initial batches for tests.
I have some good ideas about the tests i will do. They involve cure depth, cure speed, cure and setting times, filler properties, viscosity check (tricky one).

If you have other ideas on trials i could make, please drop me a line.

Labels: , ,

Sunday, June 03, 2007


Wiring up

I have spent quite a bit of time on getting the stripboards done, and now things seem to move in the right direction. 2 out of 3 motors are running (i.e. the boards work) but there are still some small issues to iron out. See the image for the colorfull arrangement of stripboards and lots of wires :-)



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

Subscribe to
Posts [Atom]