Friday 3 October 2008

Spurred into action

Forrest's success at milling spur gears with Tommelise 2.0 got me wondering how well RepRap can make them with Fused Filament Fabrication. An obvious test case are the two gears on Ian Adkins' alternative extruder design. These are laser cut, but look just about achievable with FFF. I couldn't find a picture of Ian's, these are a similar design by Vik Olliver.



Here is how they came out :-



The infill does not meet the toothed edge very well but they seem very strong never the less. They mesh well even though the involute profile seems a bit rounded off.

In an attempt to get the infill to work better I tried running my machine with 0.3mm filament, 0.24mm layers. I didn't make the nozzle hole smaller, I just changed one number in my software so the filament is being stretched finer. The result was interesting :-



The infill fills the teeth and is also very flat. The hole for the motor shaft has come out smaller and the teeth are a bit asymmetrical. They lean clockwise, the direction the outline is laid down in. I think this is because I am extruding 0.3mm filament through a 0.5mm hole so the point it exits from can move about but 0.2mm. I expect using a 0.3mm hole will solve that.

I also had a go at making a smaller version of my screw top pot with 0.3mm filament. I used the same g-code, I just scaled all the coordinates by 0.3/0.5.



It came out well and the thread still works.

With the finer filament it takes about 3 times longer to make anything so I upped the speed from 16mm/s to 32mm/s. That had an unfortunate side effect: The wall of the pot is quite thin so after the outline and inner wall have been extruded, the infill is a very narrow zig-zag. That makes it a high frequency movement. Speeding it up made it more like an audio vibration which seems to resonate the frame of my machine, shaking anything loose off the desk.


HydraRaptor growling from Nop Head on Vimeo.

Monday 22 September 2008

Going green

Getting a bit bored of natural ABS, which is cream coloured, I ordered some black and some green from New Image Plastics in the USA. Despite the high cost of shipping it still worked out cheaper than buying it in the UK. I chose green because it should be easier to photograph than black or white and it the RepRap logo colour.

I was surprised to find that it does not behave the same as the natural that I got from the RRRF. It does not seem to stick to itself, or to the base material, as well as the RRRF ABS did at the same temperature. I have raised all the temperatures by 15°C and, although it is better, I think it still needs bit more. It's appearance is more glossy, so that might account for it being less sticky, or it may just have a slightly higher melting point. I have no idea if the green dye has an effect or whether the base ABS is different. It will be interesting to try the black.

I made a new version of my screw top pot in order to perfect the thread before posting the STL files on the RepRap Objects wiki. It turned out to be nightmare to get it to print. Besides the problem of it not sticking to the bed, my extruder kept breaking GM3 gearmotors, but that's another story.



The ABS version came out about 1mm bigger in diameter than the HDPE version due to lower shrinkage.

I modified the thread to make it easier to start. The original thread started abruptly at the top of the pot and the bottom of the lid. I modified it in CoCreate by continuing the helix past the top of the pot and then milling it back to 2mm below the rim. I did the same to the lid's thread. That allows the lid to overlap 4mm before the threads engage, making it easier to line up. The thread now tapers out to a thin sliver to make it easy to engage. The result works a lot better than the previous attempt.

Monday 1 September 2008

Screw Top Pot

A day before going on holiday I decided I needed a container to store the lens adapter for my camera. The lenses have caps on each end, but they require and adaptor which is a bit delicate: -



I knocked up an HDPE pot with a screw top lid that just the right size to hold it: -



The outside diameter of the adapter is about 48.5mm so I made the pot I.D. 50mm to allow some clearance. It actually shrank to 48.5mm, so it is a snug fit. Lucky it didn't shrink any more!



I made the thread using the helix tool in CoCreate. You draw a 2D profile and then use the helix tool to spin that round an axis, specifying the pitch. The dimensions were just a stab in the dark: I made the crest of the thread 0.8mm as that is two layers (Nyquist sampling theorem) and made the sides 1mm long 45° slopes, so that made the crest height 0.7mm. The minimum pitch with this profile would be about 3mm so I made it 3.5mm to give some clearance. I also made the the lid 1mm bigger radius so there is 0.3mm clearance from peak to corresponding valley.



A couple of things I missed which would make it easier to engage: -
  1. The thread starts abruptly, but it should have a tapered lead in.
  2. Both the pot and the lid should have a few millimetres with no thread to aid lining them up before the thread engages.
Despite this it works surprisingly well for a first attempt with an arbitrary profile and dimensions.



I am slowly homing in on getting rafts peel-able for HDPE. I made this with the first layer outline hotter than its infill :-
HDPE.raft_temp = 215
HDPE.first_outline_temp = 230
HDPE.first_layer_temp = 205
HDPE.layer_temp = 240
Most of it peeled with a little encouragement from a chisel at one side.

Tuesday 26 August 2008

Bearing fruit

My wife has been asking me to make something to prop up the overladen branches of our dwarf apple tree for a few weeks now. I put it off while I was set up for ABS because I knew I did not have enough to finish my Darwin. Now that I have switched the machine to HDPE it is no problem, but it is now a few days late as one large branch has already snapped off!

We have lots of plastic covered metal poles so all I needed to do was make some Y-shaped end pieces. My first attempt went a bit chaotic while making the arms: -



I wasn't watching it but I figured it got too hot when doing the small pieces so I made the arms thicker.



Better but still very rough, it should look like this :-



I cleaned it up with a penknife and it was functional but it felt more whittled than extruded.



I made a couple more with even thicker arms but I was around to observe what was going wrong this time: -



When building the curved arms Enrique's software switches to 100% fill because it decides part of the layer is two layers from an outer horizontal surface, which a thin sliver down each side is. That would not be a problem in itself but because I have the infill overlap option set it ends up with slightly too much plastic on the 100% layers. As the height increases this excess builds up until the nozzle is actually submerged in the object while it is building it. Amazing that it manages to make anything resembling the correct shape!

What really needs to happen is that if the infill overlap parameter is set then the head needs to lay down the infill slightly faster so that the amount of plastic is still correct. I ran into the same problem with ABS when making an object with 100% fill.

I made a fourth version with the infill overlap set to zero and it was a lot better: -



Still very blobby but all the blobs are down to extruder overrun and easier to carve off. Overrun is worse with HDPE because it seems to be a more non Newtonian liquid than ABS. I.e. it compresses and expands more than ABS does, so when the extruder stops it oozes for longer.

I haven't tried anything to stop ooze yet. Simply stopping the extruder before the end of the line like the RepRap host does should improve it and is easy to do. Reversing the motor drive should also help. Simply stopping causes the extruder flow rate to fall exponentially but backing up a little should stop it completely in a finite time. The shaft encoder can then be used to go back at full speed to where it was before it backed up. There will still be some ooze without a valve but I think it could be a lot better.

Here is the final version cleaned up: -



And here is the tree with four crutches installed although only three are visible from this view though: -

Monday 25 August 2008

Back to black

I have used up all of the 5lbs of ABS that I bought from the RRRF with just a couple of plastic parts left to make to complete my Darwin. I bought 2Kg of ABS from Tempatron but it is too oval to fit my current extruder, so it will have to wait until I build the new extruder for my Darwin. In order to complete that extruder I have had to go back to using HDPE. I always intended to make the filament guide for it out of HDPE anyway, because it is a lot more slippery than ABS, PCL and PLA.

It is quite a while since I did any work with HDPE and I didn't print many modeled objects with it before I switched to ABS, just lots of test blocks. In the meantime I have rebuilt and tweaked my extruder quite a lot and changed the way I do rafts. It took me a few attempts to dial in the parameters to get reasonable print quality.





In the end the result is not bad. The object on the far right is an ABS version, the one next to it is the best HDPE version.

The test piece is an alternative solution to the problem Vik mentions here: new-x-carriage-hot-off-reprap.



It replaces the y-belt clamp that holds a piece of filament (which carries the cables to the extruder) and also provides the bearing surface missing from the "no support" version of the Darwin x-carriage. You can see the gap above the bar created by the teardrop shaped hole below: -



Here is the new HDPE piece installed: -



It also fixes the fact that the screw hole pitch of the belt clamp does not match the holes in the carriage. HDPE is very good for making bearings so I intend to remake all the bearing inserts in it when the ABS ones wear out.

The first thing to do is get the raft temperature correct to make it stick, but still be peelable from the chopping board. I start with the temperature at a value I know will be too low and go up in steps of 10°C until it sticks enough, but not too much.

The next thing I do is get the first layer temperature right so that the object can be separated from the raft. I found that quite hard to control with ABS and much more so with HDPE. I increased the temperature until the outline started sticking properly and found a small test object was still peelable. When I made larger objects they were stuck fast. I normally use a small penknife to separate stubborn objects but after stabbing my fingers three times I resorted to a chisel! I think some of the variability is down to changes in ambient temperature and bed temperature. The XY table of HydraRaptor is made of several Kg of aluminium, which acts as a heatsink for the motors. They run a lot cooler than my Darwin's motors despite having more power through them. The table slowly warms up to about 30°C, about 10°C above ambient. 10°C is enough to make all the difference between sticking and not. I probably need to measure raft surface temperature and adjust the first layer accordingly. Another thing to try would be to do the first layer outline hotter than the infill.

I dropped the build speed from 16mm/s to 8mm/s for three reasons: -
  • HDPE puts maximum strain on the extruder because it is the most viscous at extrusion temperature so it is both the hottest and the highest pressure.
  • Heat builds up in the object limiting the minimum size that can be made without inter-layer pauses, something I have not implemented yet.
  • HDPE likes to cut corners and not go where it should and I think going slower helps the accuracy.
I also had to set the infill overlay parameter to 0.5 in Enrique's software to make the infill join to the outlines correctly.

A few things that are different about HDPE:
  • Extruder ooze creates blobs rather than strings with my current nozzle. They are harder to remove because they are a lot thicker. Faster head movement on my Darwin should drastically reduce this effect.
  • The brush I use to wipe the nozzle works perfectly with HDPE but not very well with other plastics. This is because HDPE extrudes in a straight line and is not very sticky. In contrast ABS tends to curl upwards and sticks well to the nozzle.
  • HDPE spans gaps a lot tighter than ABS does because when it is stretched it remains under tension whereas ABS doesn't.
  • Holes always come out smaller than they should be, but with HDPE this effect is worse. Dr Bowyer published a correction formula based on there being too much material on the inside of circles but I get contractions an order of magnitude greater. I think it is related to how much I stretch the filament but I need to do some more work on it.
I then made the extruder clamp in HDPE. It is a bit warped of course but it doesn't really matter. The raft was strained upwards at the bottom left corner, not surprising as this is one of the longest pieces I have made.



Here it is cleaned up :-



The large hole for the PTFE barrel is undersized and my PTFE stock is oversized so I think I will have to turn it down to get it to fit. I drilled out the other holes.

Similarly the filament guide is warped on the underside but it is only the top side that needs to be flat.







As predicted it is slippery and my oval ABS glides through it very well.

I just have to make the metal extruder parts now and that completes the mechanical build of my Darwin.

Sunday 24 August 2008

Alternative Z-endstop

I prefer my machine to home the z-axis away from the workpiece so that homing is always a safe operation, regardless of what state the machine is in. The standard endstop bracket allows the opto to be mounted on the horizontal rails but for a bottom endstop it needs to be mounted off one of the vertical posts. I designed a new bracket and tab for this: -



The tab enters the opto from the side which gives the best resolution. Here it is installed :-



It can be mounted anywhere on the vertical post so could be used as a top endstop as well but I don't see the point of stops at both ends.

The way I calibrate HydraRaptor's z-axis for FFF is that I get the head somewhere near the table and measure how far away it is with a rule to get rough calibration. I then instruct it to go to 3mm above the table. I roll a 3mm bright steel rod under the nozzle and jog the axis up and down in s/w until it just touches. This has to be done with the nozzle fully warmed up to the working temperature because the PTFE expands about 0.5mm.

The calibration drifts on HydraRaptor because the frame is made from wood so the weather affects it, something that Darwin should not suffer from.

The files are here: www.thingiverse.com/thing:124.

Friday 22 August 2008

Shaft encoder, second attempt

I made a right mess of the first design, not only did I get the angle wrong but the second opto is also at the wrong radial distance, which is why its amplitude was less. So I had to redesign the bracket, here is my second attempt: -



The correct angle for quadrature needs to be (K + 0.5)(180 / n) where n is the number of slots in the wheel and K is an arbitrary integer. The first convenient angle which straddles the bolt through the motor is 45°.



A single coat of BBQ paint seems adequate to block the IR beam.



A bit of a pain to wire up! If it proves to be a useful encoder I will design a pair of PCBs.

The waveforms are now both full amplitude and in quadrature: -



The edges are slow because I am using 4 pin optos, Zach seems to have bought up the world's supply of the five pin ones for the RRRF! The five pin versions have a built in Schmitt trigger to square up the waveform before it goes down the cable. Most micros have Schmitt trigger inputs these days but the disadvantage is that any noise in the cable will advance or delay the edge slightly, giving a timing error. Given the imprecise nature of this encoder I don't think it will make much difference.

Monday 11 August 2008

RepRapped Shaft Encoder

I have started making an extruder for my Darwin but I am running out of ABS. I bought some more from Tempatron but it is very oval, up to 3.5mm, so it wont fit through HydraRaptor's extruder. So it is a race against plastic to make a new one with a bigger bore! I will try making the filament guide out of HDPE as that is the most slippery of the four plastics I have.

One thing I definitely wanted to try in ABS before it ran out was to make a shaft encoder. The latest RepRap V1.1 design has one with a single opto but it needs support material and gears. I am happy with the older design now that I have got it to run reliably, so I needed an encoder that mounts directly on the motor. I also prefer two optos in quadrature to avoid errors from backlash and stopping exactly on the edge of a slot. I want to experiment with backing up the filament as well, so I will make this version reversible.

I knocked up a design which uses a pair of slotted optos in CoCreate : -



The wheel is the same as Ed's design except that I have added a boss which mates with the top shaft of the GM3 gearmotor. It has 18 teeth which gives 72 steps per rev with quadrature encoding. One turn of the extruder feeds 0.8mm of plastic with an M5 drive screw. That will extrude about 0.4mm of filament per step, so not great resolution.

When making the opto flags for my Darwin I realised that quite thin walled objects come out OK and are still reasonably strong. I think the bracket is the thinnest thing I have designed so far, its walls are only 2.4mm thick. Its shape really requires support material for the slots and holes but it came out fine without any. It was particularly hairy though when it came off the machine: -



A bit of whittling with a penknife soon cleaned it up :-





Here it is installed on the motor :-





I wired up to an oscilloscope to test it: -



As you can it is very noisy because I have not made a new suppressor for the GM3 yet. Also the top trace does not go high properly. This is because quite a lot of IR light gets through the ABS when it is so thin. Not surprising as you can see visible light through it. I painted the top surface black with BBQ paint and that improved it a lot.



I think a second coat on the underside will improve it further. The waves are not in quadrature because somehow I managed to get the angle wrong, so I will have to make another bracket. It will function fine at half the resolution so I might press on with the extruder first.

So a cheap and cheerful shaft encoder, but not very high resolution. Since slotted optos are just LEDs and photo transistors in a bit of plastic, I think I will make another one with the raw components that will be even cheaper. I could put some more teeth on but that would make it harder for people to make and I want people to be able to upgrade their machine with their machine. Another way to do it is by printing onto film with a laser printer. There is a good site about that here.

Tuesday 5 August 2008

X & Y

I have finished building my Darwin Cartesian bot. It went together fairly easily although I did cheat when it came to making the pulleys. The idea is to cast toothed pulleys in PolyMorph using a mould made from RP components and lined with a piece of belt. I had one go at this and decided it was not going to produce an accurate result: -



The RP mould, when made on my machine, is not round enough and for some reason the diameter of the mould is too small, making the resulting pulley very thin walled and flimsy. It produced a 13 tooth pulley but 16 teeth is the correct number for 0.1mm per motor half step and makes a chunkier pulley. I bought three aluminium ones from Farnell for £5.90 each: -



These are ridiculously expensive for what they are but I think it is worth spending a bit of money in an area that increases accuracy. It is also one of the few places where the accuracy of the parent machine affects the accuracy of the child.

The big problem is that they only have a 4mm hole in them so you have to bore out the x-axis one to 1/4" and the two y-axis ones to 8mm. To do that accurately really requires a lathe. As mine is only a tiny watchmaker's lathe I had to use every drill from 4.5mm to 8mm in 0.5mm steps. I found that dipping the drill bits in Trefolex cutting compound made it much easier to drill. This was recommended to me for tapping but it great for drilling as well. It is a sort of jelly, so not too messy.

When you use a twist drill to make a hole it comes out a little small and not perfectly round. It needs to be finished off with a reamer to get a nice fit onto the motor shaft and the 8mm rod. I happened to have a 1/4" reamer but I had to improvise for the 8mm ones with a piece of emery paper wrapped around a 7mm drill shank. Not ideal, so I ordered an 8mm reamer as I expect I will be making lots of 8mm bearing holes in the future.

I also had to drill and tap M3 set screw holes in the pulleys. Easily done with a drill press and it means I don't have to file a long flat on the y-axis drive shaft.

I tested the axes with a signal generator connected to the step input of my stepper motor drivers to find the pull in step rate, i.e. the maximum rate at which the motor will start with no acceleration. Here is the x-axis running at 150mm/s: -


RepRap Darwin x-axis from Nop Head on Vimeo.

Any jerkiness seen is the video, not the axis, which runs very smoothly. The axis does not have the mass of the extruder on it yet but I have run it at the same speed with a reel of solder on top. I expect with a bit of an acceleration ramp, like I use on HydraRaptor, I will be able to get it to go two or three times faster. This is not too surprising because it is a similar design to a 2D printer carriage but with a much more powerful motor. It will be interesting to see what effect it has on stringing if I speed up the head moves from 32mm/s to 150mm/s or more.

I have the motors wired bi-polar parallel, which is the fastest configuration. The inductance is four times less and the voltage halved so I think that is 8 times faster than bi-polar serial. Added to that I am using a 36V supply instead of 12V and FETs rather than Darlingtons. The voltage on the motor will have gone from about 9V to about 36V, so all in all about 32 times faster current rise rate I think. I am using expensive drives but the only aspect I don't know how to do cheaply is anti-resonance, so unless I am stepping through the resonant frequency I should be able to recreate this performance cheaply.

The rated current in this mode is 3.4A per phase but I am only using 1A per phase at the moment so that they don't get too hot. Given that the average supply current from the 36V rail will be correspondingly less than this, it should be fairly easy to generate the 36V supply from 12V to keep to the original goal of using PC power supplies or car batteries.
It would be good to use electronics that can boost the current while accelerating and decelerating.

Here is the y-axis running at 100mm/s: -


RepRap Darwin y-axis from Nop Head on Vimeo.


A few things I have noticed about the design that I would do differently: -

There is a bit of runout on the y-axis motor coupler leading to the shaft wobbling a bit and the motor bracket flexing to accommodate that. I think it would be better to have another bearing at this end of the shaft and a flexible coupling to the motor.

Several of the bearings are made with an RP insert, in my case ABS. I don't know how long these will last. I will have a go at making them from HDPE some time as that should make a better bearing and possibly replace the y-axis ones with 0608 skate bearings.

The rod that carries the Y-axis idler pulleys is held in place by tight fitting "jam" bearing inserts. I can't see the point of these, other than making all the y bearing housings the same. I would replace two of the bearing housings with a smaller part with an 8mm hole through it to carry the rod and possibly a set screw to lock it in place.

The X and Y axis opto tabs enter from the top. The opto has a 0.8mm vertical slit which is the optical aperture. A tab coming in from the side blocks all the slit at once making its resolution several times better than when the tab enters from the top. This graph, taken from the datasheet illustrates the difference: -


The z-axis opto endstop is at the top whereas I prefer to home away from the workpiece so that homing is always a safe operation when z is homed before x and y.
I will leave these tweaks until I have the machine up and running. All I have to do now is make a new extruder, hook my stepper drives to a micro and port my firmware. I will then have a Darwin that I can directly compare with HydraRaptor and see how it differs in performance. I will then look at replacing the electronics with something much cheaper.

Saturday 26 July 2008

Every little helps

The RepRap Darwin design has 10 diagonal tie bars across the corners of all but the top face of the cube, making it very rigid. These are attached by 20 diagonal tie brackets.



The brackets are held onto the protruding 8mm stubs by M5 set screws through a captive nut. The diagonal bars are then held in place by M8 nuts either side of the bracket.

When fitting them I noticed that the set screws and nuts are not necessary. All the holes I make come out a little undersized and stringy so I clean these out with an 8mm drill. This makes them an interference fit onto the M8 rods. The force exerted by the M8 nuts is enough to squeeze the bracket to make it a tight fit. This is the case when they are made from ABS with 25% fill. Other plastics may be too strong or brittle.

This shortcut saves 20 grub screws and nuts and the time to fit them (inserting the nut can be quite fiddly). Not only that, the bracket can be simplified and made smaller because it does not need space for the nut and grub screw. This optimisation is well worth doing because, although these brackets are quite small, there are 20 of them so they are a significant part of the time taken to replicate.

Here is my smaller design which uses 21% less plastic and reduces the time to make 20 from 11.5 hours to 9 hours on my machine :-



I also used a truncated teardrop for the lateral hole. This relies on the fact that filament can span gaps as well as being able to build out at 45°. The drawing below illustrates that, even for an 8mm hole, the difference between a proper circle, which would require support material, and this truncated shape is very little. It also shows where the full teardrop would extend to.



Here is a picture of it installed alongside the old design: -



I think this is a beneficial mutation that will slightly increase the rate at which Darwins reproduce in the wild. The new DNA can be found here.

Thursday 24 July 2008

A bit of a contraption

As I was adding the diagonal tie bars my wife said "it's becoming a bit of a contraption". I am not sure if that is a good thing or a bad thing!

My alternative z-axis using four tin can stepper motors works reasonable well. I am running them from 36V with a constant current chopper drive. They are all wired in parallel and the total current is set to 1.25A. They have 22Ω coils so that corresponds to about 7V. I am guessing they are rated for 12V, but if you run steppers at their maximum rating they get very hot, especially when mounted on plastic rather than a metal chassis. Under running them, as I am, they only get to about 40°C, which should be fine even for PCL and PLA brackets. Total power used by the axis is about 9W.

The standard Darwin z-axis can carry a small child: reprap-prints-child. Not having any small children, I tested it with a vice that weighs 3.3Kg. As it would take 300 hours to print anything that size so I think it is a reasonable worst case test.

The pull-in step rate (i.e. the maximum rate that the motor will start at with no acceleration) is about 400 steps/second. It runs reliably at 320 steps/s, which is 8.33 mm/s. If I understand the settings page on the wiki then this is more than 10 times faster than people are running the belt drive version. Still much slower than HydraRaptor's z-axis though.

Here is a video of it in action: -


Alternative RepRap Darwin Z-axis from Nop Head on Vimeo

As you can hear, it doesn't make a lot of noise, something that is a big improvement on HydraRaptor, which has a very noisy z-axis.

The total travel is 230mm, which is also a bit better than the standard Darwin I think, but you have to subtract the length of the extruder barrel to get the maximum work height.