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.

Friday 18 July 2008

Deviant Z axis

The RepRap Darwin Z-axis has four screw thread drives linked by a timing belt and toothed pulleys, driven by a large stepper motor.



There are a few things about the design that I am not keen on: -
  • The beefy motor and timing belt make it expensive.
  • The belt tension puts lateral force on the threaded rod, which causes a lot of friction and looks like it will cause the plastic bearings to wear.
  • Making the pulleys and splicing the belt seem like tricky things to get right.
When Forrest Higgs came across a small fast stepper motor I decided try an alternative scheme using four motors wired in parallel, eliminating the pulleys, belt and lateral forces. The four small motors are about the same price as the big one, so the cost of the timing belt is saved.



When the motors arrived I got a bit of shock at how small they were. Although I had seen photos from Forrest's blog they were about half the size I had imagined. They are lowish inductance and large step angle (15°) so they can go very fast.

I designed a bracket to hold the motor and mate up with the Darwin corner bracket: -



As you can see there is vast discrepancy between the shaft sizes and one quarter of the weight of the table is born by each of the tiny motor bearings. I was staring to get a bad feeling about the idea.

I had several unsuccessful attempts at making a flexible shaft coupling from ABS: -



None of these were flexible enough or concentric enough. My final design used a piece of plastic piping to get the flexibility.



It has a captive nut for the M3 set screw. The piping is just a friction fit and the rod screws into it.

Even with this design I had a problem with the eccentricity of the hole for the motor shaft.
When you make a hole with fused filament fabrication, the outline of the hole has a start and an end. This causes a bump in the perimeter. Possibly, the outline should end one filament diameter short of where it started, rather than being a full circle. Also each layer should start and end in a different place. When I get chance I will try this.

To remove the bump I ran a drill though the hole. When the hole is as small as this (2mm) the bump displaces the drill leaving the resulting hole off centre. I ended up having to drill them on the lathe, which is cheating.

I mounted the four motors and wired them up in parallel to a micro-stepping chopper drive and a 36V power supply.



I don't like the RepRap scheme of distributing the electronics around the machine so I mounted mine all together at the bottom of the machine on a sheet of perspex. The perspex rests on one of the base diagonals and is held in place by four brackets which clamp around the lower frame.



As soon as I powered it up I realised that the motors had nowhere near enough torque to turn the M8 threaded rods. It wasn't a big surprise, two things that were though:

The motors got ridiculously hot, well over 100°C before I switched them off. The coil resistance is 27Ω which is smaller than some much larger 12V motors, giving a dissipation of about 10W. These look more like 5V motors to me, either that or they are not continuously rated.

I found that my micro-stepping drives don't work well with tin can motors. The micro-steps are very uneven in size. Micro-stepping assumes that the torque displacement curve of the motor is sinusoidal, which doesn't seem to be the case for large step angle tin can motors. Not a big problem in this case as I don't need the extra resolution. I will replace the drive with something simpler when I have got the machine working.

So all in all a big failed experiment! I should have wired up one of the motors before I wasted the plastic making all the mounts.

My fall back plan was to use some larger tin can motors I rescued from a skip recently.



The one on the left is bipolar and the one on the right is unipolar. I decided to try the bipolar ones first, I may switch to the unipolar to simplify the electronics, if they have enough torque.

The shaft coupling was much easier to make because the shaft is bigger (4mm) and has a pin through it. I didn't need to resort to the lathe this time.




I designed and made a new set of motor brackets, they took about 8 hours to print in total.



Here is one motor installed: -



It seems to have plenty of torque for the job. I am waiting for more bolts to arrive to mount the others.

These are not low inductance motors so they won't be as fast as the original single motor design. The large step angle (7.5°) and my 36V supply will help to mitigate this. I originally thought the z-axis speed was unimportant because it moves so rarely, but actually on HydraRaptor I use the z-axis to lift the head 0.4mm when moving between filament runs so it does need to be reasonably quick.

This scheme certainly simplifies the mechanical construction but may not make economic sense. The motors are cheap in large volume (£2-3) but I haven't found a retail price.

Sunday 29 June 2008

Bespoke bracketry

A friend of mine makes underwater cameras from plumbing accessories so that he can observe the fish in his pond. He needed a bracket to hold a piece of pipe with an adjustable tilt angle so he asked me to make one. Here it is: -









I don't know how long ABS will last in a pond, but as long as it is years rather than months it is no trouble to print it again.

Saturday 28 June 2008

From illusion to creation

A few days ago I spent a frustrating evening trying to create this test shape in ArtOfIllusion: -

No matter what I did, I could not get a manifold object that could be exported as an STL file. Eventually I reduced the problem to the fact that AOI cannot do a simple boolean subtraction of two rectangular cubes correctly.



The result looks OK but it is non manifold, I think some of the triangles are the wrong way round.



Fixing
it with the Solid Editor produces this: -

So AOI is not really usable for engineering. It is open source, so theoretically I could fix it myself, but life is too short to fix my own bugs, let alone other peoples. I posted a bug report and moved on.

Speaking to one of my colleagues who does mechanical design for a living, it would seem that professional tools are much easier to use and you don't have to worry about operations on coincident faces, etc. He recommended CoCreate Modeling Personal Edition, which is free for non professional use. It is limited to 60 parts in one design and can only save designs in its own proprietary format, but it can export STL and VRML. It is Windows only and needs an internet connection every three days. It is however, very easy to use. I had a quick look at Google Sketchup and Blender but they did not seem as easy.

The way you model in CoCreate is that you start by drawing in 2D on Workplanes. Workplanes can be arbitrary, but generally are created on a face of the part you are building. The 2D drawing tool is called CoPilot. It shows lots of hints when lines are parallel or line up with things already drawn, and shows dimensions to nearby features. This makes it very easy to create 2D geometry with precise dimensions, or geometrical alignments. You can also draw construction lines to help you line things up.

When you have a 2D profile on a Workplane you can then Extrude it or Turn it to make a solid. This is similar to AOI, except that the 2D drawing in AOI is very primitive and it is hard to get exact dimensions. As well as adding material you can remove it with familiar machine operations like Mill, Bore, Punch, Stamp, Section and Shell. These would all take multiple steps in AOI. CoCreate also has the boolean operations: Unite, Intersect and Subtract, but whereas you have to do almost everything in AOI with booleans, I have not needed to use them so far in CoCreate.

Once you have your basic 3D form it is very easy to add chamfers, fillets, blends, etc, and surprisingly it is also easy to remove them again.

Nothing I have done so far, (including filling a hole with a cylinder of the same dimensions), has managed to create a non manifold shape. It is very quick and easy to make practical objects. Here are a couple of parts I modeled for my experimental z-axis as they appear on screen: -



I have no idea how I could have created these in AOI.