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.


  1. Congratulations, Nophead! :) Another RepRap is born.

  2. Really wonderful that you can do these comparisons to find out what makes your results so nice. I wonder what difference your electronics will make compared to the Generation 2 RepRap electronics. Hopefully it is not that which makes your print quality so good, but something that's replaced easier (would become my seconds electronics change before having any real results to speak of).

    About the Z axis:
    I've made a practical Z-axis end-stop which works with the ordinary printable PCB holder bracket. This is of course a perfect Z-home if you invert the home position (which I think is a good idea).

    See the first two pictures in my blog here: 3D printed parts

    You need to superglue a BLACK tie rib to it, or use a marker to make it black (I see you're already doing that). Ordinary white (vinyl?) tie ribs are way to translucent to infrared.

    B.t.w. what's the farnell id for the pulley. In the dutch shop I could only find this.

    -- Erik My RepRap Blog

  3. I got my ones from RS - look the same (in real life - the RS catalogue photo isnt quite what I got)
    part 744-508
    Slightly cheaper in quantity >6
    I also had to drill them out & drill the grubscrew holes. I did them in one two hits, using my pillar drill & vice. the vice has V notches in its faces to help keep everything aligned. THere is a slight runout on some, but I am happy with the result.
    I used M4 grubscrews cos eeny weeny taps are easy broken.

    My pillar drill cost 36 quid (or thereabouts) from machine mart. The table isnt flat and much of its cheapness shows, but it works and is remarkably useful.

  4. Hi Erik,
    The only thing I can think of electronics wise that would reduce quality is if the CPU is not powerful enough to avoid pauses. The tiny MSP430 I use for my extruder controller is more powerful than an arduino.

    Yes I will do something similar on the z-axis but I want the tab to enter the side of the opto. I might add a second opto, wired in parallel, looking at a radial tab on the shaft.

    I dipped the tabs in black BBQ paint. I assume it is opaque to IR, but I have not tested it yet.

    The pulley you found is the same part number, it is just that the picture does not match the object. It is good job as it would have been harder to mount the pictured one in the lathe.

  5. Though you were using microchip dsPIC's (PIC24 series?)? I'd like the fact that I can sample the first couple of those for free.

    Okay. Be sure to post the STLs somewhere.

    Oh, and I want to remind you that you're doing awsome work! :)

  6. No I haven't used PIC24, must be someone else. HydraRaptor uses a Freescale MC9S12NE64 and a Texas MSP430F2012.