Thursday 16 February 2012

Mendel90 finishing touches

I have tweaked a lot of things since building the prototype. The design is fully parametric meaning each part works out how big it should be from basic parameters like the desired build volume, rod diameter, the motor sizes and the layer height used to print it. That means any little modification can change everything slightly, which is why I won't release the files until it is finished. For example, if I increase a screw hole clearance then the brackets might get a bit bigger and that will knock on to moving the holes in the sheets and may increase the sheet size slightly. I also want the drill templates to be accurate so every part that needs a mounting hole had to be modelled, even the cable clips and wire holes.


The cable clips are designed to keep the limit switch wires away from the motor wires to prevent crosstalk. The hole sizes are calculated from the wire size and the number of wires using circle packing rules and so are the holes through the frame for the wires.

The printed holes that need to be accurate sizes are polyholes if they are vertical, truncated teardrops if they are horizontal. I added on half the layer height to all the horizontal teardrops and nut traps to allow for the staircase effect of the layer sampling.

Another change that had a lot of little knock on effects was to allow thin sheets to be used for the vertical parts of the frame, requiring nuts on the back. That necessitated moving the buttresses and fixing blocks to avoid clashes. The net result is that you can specify the thicknesses of the sheets and whether to use nuts. If using nuts it will calculate the the screw length just long enough to work with a Nyloc nut and generates a clearance hole in the sheet. When not using nuts it calculates a screw short enough to not go right through, generates a pilot hole and adds a star washer under the screw. If the sheet is hard it generates machine screws and a hole to be tapped, otherwise it generates a wood screw.

In order to standardise the screw lengths I made all the parts of the brackets that take a screw the same thickness.

I want the BOM to be accurate and remain that way, so the model includes everything apart from the hot end and the electronics. I haven't used any libraries so there are no dependencies apart from OpenScad itself.


I modelled the belt twists and the tension loop to get an accurate assembly diagram and length on the BOM (hopefully I haven't tested that yet). I also modelled the cable strips to get their lengths. The one to the extruder was tricky as it is completely free-form and the ends differ in X, Y and Z. I modelled it as half an ellipse with a shear transform to gets the ends in the right place. It is probably not mathematically accurate but looks about right. Interestingly there isn't a simple formula for the circumference of an ellipse as there is for a circle, only numerical approximations.

I redesigned my fixing blocks to have slotted holes to allow a bit of adjustment. I also changed the hole depth to allow the same screws to be used as elsewhere and cut away some plastic that wasn't adding much to the strength.



RepRap firmware uses a bottom limit switch that needs a fine adjustment. It also needs a coarse adjustment to allow for different nozzle lengths. I found this difficult to accommodate because of limited space at the bottom of the z-axis. This is the design I arrived at after much deliberation: -



The switch is mounted on a lever that is hinged at the bottom by a thin section of plastic and sprung against a screw adjustment by two rubber washers. An extra type of vitamin but I am not impressed by printed springs.


I developed exploded diagrams to make the build instructions. A picture like this with its bill of materials should be self explanatory.

The z-couplings don't need as much clamping strength as the ones I designed for the Prusa (they only need to rotate the screw and not hold the weight of the x-axis) so I was able the make them slimmer, which was necessary to avoid a clash with the z-motor bracket when using NEMA14 motors on the Huxley sized machine.


As you can see two pictures above I also added some pointers on the lead screws. These can be set to face the rods when Z is homed and can then be used to observe if the two motors have got out of step and whether the z-limit switch is repeatable.

This is what the Mendel size machine with 8mm rods looks like with a 6mm acrylic frame and a 10mm base (without the bed).


Note that to make transparency work in OpenScad you have to draw the transparent objects after all the things you might be able see through them.

The hole cut through the gantry is just big enough to make the Y-carriage. I prefer to make my Y carriages from DiBond as I think they are a bit lighter and handle heat better, but acrylic should be OK and it seems a shame to waste such a big bit. I wouldn't recommend it on the MDF version as that is thicker and so even heavier. I have seen people mount PCB beds directly on MDF but I found that even when spaced off and insulated it warps enough to keep throwing the bed out of level.

I offset the Y-axis to allow the ribbon cable for the bed power to be central. That makes it easier to attach the wires to the PCB. I don't think there is any problem with the belt being nearer to the two bearing side, in fact it is probably better.


I had to slim down the back of the Y-idler bracket to prevent a clash with the bar clamp on the Huxley90. The overly long bolt is simply to reduce the number of unique fasteners. Similarly the cable clips could use smaller screws but I kept them the same as the other base screws. On the Mendel90 the base screws are M4 or No6, on Huxley90 they are M3 or No4.

I used a hacked up D connector shell on the prototype with hexagonal posts for locking. To remove those as vitamins and I designed a printed version that uses normal M3 nuts and screws for the locking. It also has a cable clamp optimised for the ribbon cable and its supporting plastic strip.


Again an exploded view makes it clear how the captive parts fit.


I also crudely modelled the tie-wraps because the 10mm bearings require longer ones to be on the BOM.


Modelling the wing nuts showed that one can clash with the X-end if it is oriented in some directions. Fortunately the bolts are captive hex heads so you can rotate the head and try again if the nut happens to stop where you don't want it. I am currently using M4 extruder mounting screws but I see the Prusa2 has moved to M3. I think that would solve the clash with smaller wing nuts but there are a lot of extruders and hot end designs using M4 I think, so I am not sure if I will follow. In any case it is simply a configuration parameter if you are printing your own.

You can see that I added a small part to the belt tensioner. It works a lot better than the Nyloc I had in the design before.

I also added some more nut traps to make assembly easier. Even a pair of "flying" ones inside the X-motor bracket. You can just see one here:


I have done a lot of changes the make things scale correctly for a Huxley sized version. This uses 6mm rods and NEMA14 motors.




I need to make a smaller extruder though as a Wade's is way too big. I plan to do a mini Wade's with a NEMA11 motor for 1.75mm filament. That will make the carriage smaller and reduce the width of the machine.

I also want to make a parametric PCB heater design to allow arbitrary machine sizes.

So as you can see I have put a lot of work into this since Christmas. In fact nearly all my spare time, until 2am a lot of evenings. I get really ticked off when people demand that I release the files before it is finished. Unlike a lot of people I don't put half baked things on Thingiverse, only tried and tested designs.

As all the parts have changed a little bit I am in the process of printing all the Mendel sized 8mm ones to check them. I will then release the design on GitHub. I had wanted to release it with make files to generate all the STLs automatically but it seems the command line option of OpenScad is currently broken so people will have to make their own if they change any of the parameters.





Saturday 7 January 2012

Bearings, Bushings and Bars

My last post started a discussion about why I got only a few hundred hours of use from PLA bushings and in particular commercial IGUS bushings. I think I mounted the IGUS bushings well enough. I printed PLA holders and reamed them to a 10mm bore, which gave a nice press fit.


I had intended to use a small self tapping screw to retain the flange but found I didn't need them. That is what the two holes are for. They are triangular because they are polyholes.

The holders have slotted screw holes and were screwed to the underside of my Prusa's Dibond Y carriage. I started with them loose and then tightened the screws as I ran the axis up and down to ensure they were aligned well. I then applied lithium grease.

When first fitted they had no slop and very low friction. After a few days of continuous use the holes in the bushings had elongated and there was noticeable slop. At that point I replaced them with LM8UU bearings in prototype bearing holders I designed for the Mendel90.


These have run for thousands of hours with no noticeable wear. They do have more friction than bushings though. It seems higher to start with but they seem to "wear in" quite quickly and it drops.

My suspicion was that the surface quality of the stainless steel rods that I used was to blame, so I have just had a look with a microscope.  I used a cheap USB "Traveller" microscope from Aldi and a times 4 objective lens. The magnification is much greater than that though when photographed and blown up to screen size. 

Here are a couple of pictures of an off-cut from the stainless steel rods I used on my Mendel: -



Obviously you can only have a small strip in focus due to the curvature of the rod but you can see it looks far from smooth. The difference between the pictures is mainly the lighting angle.

Here is a mild steel rod bought on eBay, sold for Reprap use, so probably typical of what most people use: -



Quite a lot smoother, so hopefully most people get better life from PLA bushings than I did.

Here is a bright steel rod from a 2D printer, or maybe a flat bed scanner, I can't remember which, but it will have used bushings: -



It seems to have a finer grain structure but doesn't look particularly smooth.

And here is a "precision round rail (Induction Hardened)" sold for use with linear bearings that I got from Zapp Automation.



It looks the best out the four, so I guess you get what you pay for.

I think for soft bushings to last you need high quality rods. LMUU bearings seem to be more tolerant.

Friday 30 December 2011

Mendel90 axes

Bearings
With the stainless steel bars that I use I found that PLA bushings only last a few hundred hours before they wear out. I tried Igus plastic bushings and they only lasted about the same length of time. I think you need ground rods rather than rolled to get a smooth enough surface for bushings. Possibly the lithium grease that I used was not suitable for plastic as I am sure other people must have got better life out of bushings.

The ball bearings on my Mendel have proved very durable but they do wear flats on the rods after about a year of continuous use. This wouldn't be a problem except that the rods wear more in the middle, which leads to inconsistent Z height eventually. You can turn the rods to put the flats underneath and get many more years life.

I have run some LM10UU bearings for over a year non-stop and they have not worn the rods noticeably. I did have an LM8UU bearing suddenly decide it only wanted to go one way on my Prusa's X-axis. It just needed some oil to make it work again. I think the X-axis tends to dry out because it runs over the heated bed.

I made the Mendel90 prototype with 10mm rods because I had noticed the 8mm rods sag a little on my Mendel, that has a heavier bed and extruder though. 10mm rods cost quite a lot more than 8mm and the plastic parts get bigger so I intend to make an 8mm version and see how it compares.

X-Axis
The X axis is similar to the Prusa but I have changed a few things: -

Note the axis is shortened in this picture, the belt has a twist not shown and a loop round the tensioning screw.

I lowered the idler and the motor to be in line with the bars because I noticed on my Prusa that the belt tension tended to bow the bars upwards slightly at the ends. It does mean the belt is a bit closer to the heated bed but I haven't noticed any ill effects.

I swapped the positions of the Z bars and Z leadscrews so that the bearing holders face inwards. That means the belt tension tends to push the bearings into their holders rather than pulling them out. That allowed me to get rid of the cable ties.

There are clamps for the X-bars so they don't have to be exactly the right length. They can be adjusted a few mm lengthwise and then locked in place. The holes are open ended at the idler end to allow the bars to be removed without removing the Z-bars first.

The motor housing is a box shape to keep it rigid while still having only relatively thin walls. The hole in the top is for the wires and lets any heat out.

I didn't use a 608 skate bearing for the idler. They might be cheap and available world wide but I found they didn't work on my Prusa, whereas the 624 bearings used on the Sell's Mendel do work. Ball bearings have a chamfered edge, the bigger the bearing the bigger the chamfer and M8 washers are thicker than M4 washers. With 8mm bearings that leaves a gap big enough for the belt to ride down and bind, whereas with 4mm bearings the gap is much smaller so the belt simply brushes against the penny washer, rather than jamming.

I prefer a bearing to a printed pulley with flanges or a crown pulley because if I am using a metal drive pulley for accuracy it does not make sense to have a printed idler.

I haven't added it to the model yet, but there is a half twist in the long return path of the belt so that the smooth side goes over the idler, not the teeth, to avoid any cogging. The twist in the belt doesn't seem to cause any problems, if it did I could revert to the technique here: hydraraptor.blogspot.com/2011/06/half-belt-hack

The belt tensioning is as Greg Frost's design: The ends of the belt are locked in place by clamps with mating teeth. A screw tightens a Nyloc nut against a loop of the belt.

The carriage is the full size of the extruder with the bearings optimally placed in a triangle and the belt attached at the ends. It does mean the carriage is a bit bigger than most but it makes best use of the space to achieve stability. I.e. the travel is limited by the extruder, so there is no point making the carriage smaller, other than reducing print time.

The carriage follows the rod on the two bearing side and only needs to be prevented from rotating around it by the third bearing. In order not to be over constrained the third bearing is suspended by thin but tall struts. That allows it to float horizontally but it is constrained vertically. This prevents binding in the event of the rods being slightly miss-aligned.

The underside of the carriage is shelled and ribbed to save print time but keep it rigid. That has been my philosophy on the design, strength through complexity of shape rather than chunkiness. Whereas other people have tried to reduce the printed parts to a minimum I have tried to put functionally first.


I found that I could not make bearing clamps in the horizontal direction with enough grip so I use cable ties as well on these. The bearings rest at each, end so a single tie in the middle is sufficient to keep them stable.

Y-Axis
The Y axis sits on a flat sheet ensuring the bars lie in the same plane. Only three bearings are needed so the rod on one side can be shorter as it no longer needs to attach at the very front and back. The X-axis also uses three bearings and Z four, making the total ten, which is convenient as they tend to be sold in packs of ten. The belt is also shorter because the motor and idler can be brought inside the axis travel.


The Y motor bracket is a lot more rigid than the Prusa version due to its boxy shape and being screwed to the base instead of hung from bars. The bar clamps are also hollow boxes.

The bearing holders are the same as the ones on the carriage using tie wraps .

Alignment is easy, all the bar clamps and bearing clamps have slotted screw holes allowing a little side to side movement. Initially all the screws are left loose. The long bar is set at right angles to the gantry using a set square and then the bar clamp screws are tightened. The bearing clamps on that side are then tightened. The y-carriage can then be moved backwards and forwards to pull the second bar into alignment before those are tightened. On my todo list is to float the third bearing like I have done on the carriage.

Again the belt has a half twist in the lower return path, not shown on the model. Belt tensioning is easy because the idler has a slot to allow it to be adjusted. The single mounting hole also allows the angle to be adjusted to centre the belt. I plan to move it to the front and put the motor at the back as it makes the wiring shorter and the idler adjustment more accessible. I used two 624 bearings side by side to allow the belt to wander a bit without binding. I seemed to need that on Y but not X. I may move to two on the X-axis as well to give a completely frictionless arrangement.

If you are wondering what the two large holes in the base are, they are there so that dual shaft motors can be used.

Z-Axis
I moved the motors to the bottom to eliminate the possibility of the couplers slipping off. I made the couplers as skinny as possible to get the bar close to the lead screw. That makes the X ends smaller and allows the Z bar to rest on top of the motor giving a metal connection from the base to the top limit switch minimising the effect of the wood shrinking and expanding. For normal Reprap software it probably needs an adjustable bottom limit switch instead.

Note the axis is shortened in this picture.

The Z bars are automatically parallel to the gantry because the distance at the top and the bottom is set by printed parts. The bar clamps at each end of the rods are identical allowing the axis to be made vertical with a set square. This is done at the left hand side and the other side is made parallel by moving the axis up and down before tightening the screws.

I kept the facility for anti-backlash nuts and springs but the only machine I needed to fit them on was my Prusa. I am not sure why, but even the weight of an extra motor was not enough to overcome the backlash with gravity. I think it must have either been due to binding or perhaps the grease I used was thick enough to need some force to squeeze it out of the way. I needed stiff springs and I had to turn up the z-motor current after fitting them. The advantage of not fitting them is it gives some protection against a head crash as the maximum force you can apply downwards is the weight of the X-axis and extruder.

I considered using a single motor and linking the screws with bevel gears and a drive shaft. That would be cheaper than a second motor or a belt but I stuck with two motors for simplicity at the moment.

Bed
I have previously used 6mm aluminium tooling plate with  aluminium clad power resistors for my heated beds. These work well but they are heavy. The Prusa PCB heater with a 2mm glass sheet on the top makes a much lighter solution. The picture above shows it clamped down with penny washers but bulldog paper clips work better.

I use 3mm Dibond for the Y-carriage because it is light, stiff and stable. I tried 6mm MDF on my Prusa but it warped due to the heat and the bed never stayed level for long. I don't know how other people manage to use it.

The best bed mounting solution I have tried so far is 20mm brass hex pillars. I tap the carriage holes M3 and screw the pillars into it. I can then level the bed by adjusting them and use the screw in the top to lock the position. I don't like to use springs because they let the bed wobble.


To level the bed I put M3 washers under the back two pillars and screw them tight and lock them. I then twist the Z motors by hand to make both sides level at the back relative to the nozzle. I then adjust the front two pillars to get the bed level front to back.

The process is easy but tedious because all the adjustments interact to some extent, so you have to keep going round them. It would be better if the bed had a single mounting hole at the front in the middle, as you only need one adjustment to get the bed level from front to back. I need to make a smaller version of my Z-probe so I can auto level the bed.

I like to use an air gap under the bed for insulation so that I can cool it rapidly with a fan at the end of the build to make the parts release easier. The air gap provides enough insulation but the Dibond below still gets to around 50°C. I added a heat shield made from corrugated cardboard covered in aluminium foil tape and the Dibond no longer gets warm at all.


The slots are to clear the screw heads. I stuck it down with double sided tape but that did not hold so I added bulldog clips. If I was making another I would bolt it down.


I haven't made any measurements yet but I think the difference in temperature between the middle and the edges is bigger than my aluminium beds. I Intend to try adding printed baffles at the front and the back to stop the movement of the bed pushing cold air under it.

I think I can improve the temperature distribution by changing the PCB pattern. The problem at the moment is that if the middle runs a bit hotter then the tracks local to it will have a higher resistance than those at the edges, which are connected in series with it. That means the middle will get more voltage and become even hotter relative to the edges, positive feedback. A better arrangement would be to have concentric rings of tracks running through areas that are likely to be the same temperature, wired in parallel. That way if the middle got hotter it would only have tracks near the middle in its circuit, so the increase in resistance would lower the current and give some negative feedback.

Another thing I would change would be to remove the silk screen from the top layer as it has some thickness that will reduce the thermal contact with the glass.

Cables
Larger CNC machines use cable chains to enforce a minimum bend radius on moving cables to stop them breaking. There have been several printable versions on Thingiverse but I feel they would give more friction than desirable for a small machine like this. Ribbon cables are very flexible in one direction and are surprisingly rated for 300V, 1.4A and 105°C.

For the heated bed I use ten wires in each direction plus 2 for the thermistor. I clamp it at both ends with a thin strip of polypropylene about 0.5mm thick. That forms the equivalent of a miniature cable chain but with very low friction. Here is the one under the bed: -


This one feeds the X motor and the extruder: -


The rest of the wiring is done on the back of the gantry with printed cable clips : -


The fan on the left is a powerful 80 CFM fan that I use to cool the bed from 110°C to 30°C in about 6 minutes.

The only down side of ribbon cable is that you get some inductive cross talk from the motor signals to the endstops. That doesn't affect my firmware as I only read the endstops during homing and a simple retry loop sorts that out. For firmwares that constantly monitor the endstops a simple RC filter on the inputs should fix it.

This version of the machine I call the Sturdy model. It uses 10mm rods, M4 fasteners and has a build area slightly bigger than a Mendel: 214 x 214 x 150mm. The next version I try will use 8mm rods, M3 fasteners and have an acrylic frame. I will reduce the build area to 200 x 200 x 140mm, same as Mendel so it will be more of an equivalent. I will also make a Huxley equivalent with NEMA14 motors and 6mm rods. The Mendel sized variant will cost a bit less but I doubt the Huxley will be any cheaper.




Thursday 29 December 2011

Mendel90 extruder


The Mendel90 parametric design starts from the extruder dimensions and works outwards. I used a Wade's extruder for the Mendel sized version of the machine (I will need to sort out a smaller extruder for the Huxley sized version). My starting point was the Prusa version of Wade's. I tidied it up a bit aesthetically and made a few tweaks to the design and that had the side effect of making it easier for Skeinforge to slice correctly. The old version caused it to think layers were bridges erroneously. It now looks like this: -

The functional things I tweaked were: -
  • I added nut traps for captive hex head bolts. That allows me to fasten it under the carriage with a couple of wing nuts, so I can swap extruders very easily.
  • I brought the front of the bearing holder forwards 2mm. That stops the idler closing fully, which  makes it easier to feed in new filament and allows the hobbed bolt to be removed without having to remove the idler. The downside is it would be less tolerant of smaller diameter hobbed bolts.
  • I made the idler bolt holes slightly further apart so that I could make them larger without intruding into the bearing holders.
  • I added a slot around the top of the hole for the insulator. When it was simply a blind hole it had radiused corners at the end due to the fact that the filament has a minimum bend radius. That meant that, unless the insulator was chamfered, it did not go all the way to the end of the hole.

I use hobbed bolts and 10mm hot ends from  reprap-fab.org. Wolfgang makes the bolts so that the big gear can be spaced off from the bearing with 5 washers. That allows the small gear to be placed the right way round, allowing the big gear to be removed easily. M8 washers can vary in thickness so I made a printed spacer 7.5mm long to replace them.

I don't use Greg's accessible version of the extruder because I never remove the idler. Once I have got the spring tension correct I don't like to change it. If I need to clean the hobbed bolt I simply reverse out the filament, remove the nut and then remove the big gear and hobbed bolt. It only needs cleaning if there has been a malfunction due to a filament tangle or a nozzle blockage. 

To make the nut easy to remove, rather than use lock nuts or a Nyloc, I use a single nut and a weak spring. The spring stops the nut vibrating loose and gives enough pressure to keep the bolt in the correct position but it can be removed without using a spanner.

The extruder is the only part of the machine that wears out, so I have made it easy to swap out by adding a 9 way D type connector. D connectors screw together and have good strain relief for the cable, so they are reliable when subjected to constant movement. They are also rated for 5A per pin and 125°C, which is a good margin for this application.

I attach the connector with a bracket that is screwed to the motor by removing two of the motor's screws and replacing them with screws that are 5mm longer.


I have several extruders with difference nozzle sizes that I can change very quickly.

Sunday 25 December 2011

Mendel90

I never understood why Mendel has a triangular prism frame. The way I see it, the frame only has two functions: - To hold the Y bars in a flat plane and to support the tops of the Z bars. It isn't good at doing either:

  • The main forces on the Z bars are in the direction of the X-axis and the frame has no strength in that direction. It wobbles when the X-carriage changes direction. 
  • It also doesn't ensure the Y bars are in a flat plane because there is nothing to ensure one end triangle is not rotated slightly relative to the other. 

After a trip down a cobbled street in Sheffield my Mendel behaves as if one corner of the bed is lower than the other three. This is impossible because it has a flat sheet of glass on it, but it isn't obvious what needs to be adjusted to fix it but it must be the ends of the Y -bars. The bed needs to be level to within about 0.05mm for good results printing 0.3mm layers without a raft. That is difficult to achieve when the Y axis is strung from bars at opposite sides of the machine.

Other problems are: -

  • It gets smaller at the top, so the maximum Z travel is limited by the extruder colliding with the bars. 
  • The sizes of the Z axis and the Y axis are tied together, so you can't change one without the other. 
  • It is difficult to adjust the axes so that they are orthogonal to each other and keep them that way if the machine is moved.

This machine is my attempt answer to these problems. I am calling it Mendel90 as I can't think of a better name at the moment. The 90 is to emphasise that the frame is based on right angles rather than 60 degree triangles.


Two flat sheets are mounted at right angles to form the XY and XZ planes. Two buttresses maintain them at right angles to each other. This relies on the sheets being cut at perfect right angles but in the UK you can buy sheet materials such as MDF or acrylic cut to size and they have good right angles. The only cutting I had to do was to cut the arch out with a jig saw. It doesn't need to be accurate and it could be done with a hand saw. The piece removed could be used to make the Y carriage, depending on the material.

The buttresses are bigger than they need to be. I took them all the way back to give me plenty of room  to mount my non-standard electronics, but it also has the advantage that the machine will sit on five of the six faces, making it easy to work on.


If the anti-backlash springs are fitted to the Z-axis it should print in all those orientations as well, which would be interesting to try. When printing directly on glass, parts come loose when the bed cools. If the machine was on its back they would fall out the bottom. Who needs an ABP? It might also solve the PLA ooze during warm up problem.


The gantry could be unscrewed and laid on its back over the top of the Y axis to make the machine more compact for travelling. In this case the buttresses could be slimmer to allow it to become even more compact.

I used B&Q style fixing blocks to fasten the sheets together.


I bought some of these and I printed some. They are a lot faster to print than Mendel frame vertexes! The economics are interesting: they are cheaper to print than buy, but while my machines are fully occupied making parts to sell, it is more economical for me to buy them. The printed ones are actually more accurate than the injection moulded ones! The holes are all over the place. I think they must be formed by removable cores and the tool must be worn allowing them to move.

I drilled pilot holes using a paper template. I did this by exporting DXF files of the sheets from OpenScad. I then hacked together a Python DXF reader and an SVG writer to make a program that generated drill centres. I printed them on a large plotter but it could be done with A4 sheets tiled together like the Darwin bed template.

The design is modelled in Openscad, down to the nut and bolt level, and is fully parametric so you can make any size machine and scale the rod diameters and motor sizes if necessary. The only limits are that eventually belts would need to be replaced by rack and pinion above a certain length. It also automatically generates a complete bill of materials for anything in the model.



See also: mendel90-extrudermendel90-axes and mendel90-finishing-touches.


Merry Christmas!



Sunday 26 June 2011

Half belt hack

I found that I didn't have enough belt to complete the x-axis of my Prusa, but I did have a couple of offcuts about half the required length. Since less than half the belt actually passes over the motor pulley I simply joined them in the middle. My first idea was to print a two part clamp. Another idea was to use heat shrink sleeving, but in the end I simply tied them with some wire.


I joined them back to back so that the teeth mesh, keying them together. This has the beneficial side effect that the smooth part of the belt goes round the smooth idler pulley.


It might actually be worth doing this to get smoother running, even if you do have a belt long enough. Also if you are on a tight budget the second half does not need to be toothed belt at all. It could be packaging strapping or steel wire, etc.

Saturday 25 June 2011

Yet another Prusa Z-coupling

I finally got around to building the Holiday Prusa Mendel I printed over Christmas. I had a few problems with some of the comedy parts and had to revert to using some of the more up to date ones that I sell.

I didn't find the Z couplings worked very well. The requirements are to couple the M8 threaded rod to the 5mm motor shaft exactly coaxially and with no vertical play, but with some angular flexibility to cater for slightly bent threaded rods or any slight angular misalignment.



The rods are not held very coaxially because the clamp is not symmetrical. The alignment depends on how much the two independent clamps are squeezed, which depends on the exact diameter of the shafts relative to the printed diameter of the part.

They are not very flexible either because they have to be strong enough to support half the weight of the X-axis and the extruder. The direction of pull is in the weak direction of the part that tends to de-laminate it, consequently I print them 100% fill to make them strong enough. I would imagine that if there is any wobble in them the constant flexing would eventually fatigue the part and cause it to break.

I looked around at the various attempts to improve these, but I wasn't happy that any satisfied all the requirements above. I did find two sources of inspiration though:

This one by keegi uses a piece of tubing to provide the angular flexibility and it also helps to grip the smooth motor shaft.

This one by Griffin_Nicoll has the strong direction of the part in the right direction, but suffers the same problem as the original because it has two independent clamps. That is easily solved by removing the split in the top section, but then it would be difficult to grip the smooth motor shaft without the clamp halves being exactly parallel, which would depend on the exact shaft and part sizes. It also has no obvious flexibility. Putting the tubing on the motor shaft solves both these problems.

I hacked Griffin's script to make this version: -


I removed the split, changed the holes and the nut traps to fit M3 and changed the motor shaft diameter to 7mm, which is for a 5mm shaft with tubing on it.



Here it is mounted: -


Both halves are identical inside so not matter what the shaft size is they will always centre and align the shafts automatically. The sleeving allows the shaft to flex angularly and also makes a very firm grip on the motor shaft. The part bears weight along its strong direction and is not required to flex at all, so should last forever. Another possible benefit is if the part is made from PLA it is somewhat insulated from the motor shaft by the tubing, so there is less chance it will melt.

I haven't run the axis yet, but it turns very easily manually and there is no wobble at all. I will include these in my kits from now on and I will include the short piece of tubing as it would be annoying to have to buy just 30mm. Note it does require four extra M3x20 bolts, nuts and associated washers.

The files are here on Thingiverse.



Tuesday 14 June 2011

FR4 fail

Well it seems that FR4 only lasts for about a week. The grip slowly fades making the parts very easy to remove. In fact they all pop off as the bed cools below 60°C and slide about due to the fan and the bed's final movement to the front. The odd small part falls down inside the machine.

If I mounted my machine so it was inclined at 45° they would all fall out the front and could be directed by a chute into a hopper and the machine could then build continuously unattended. Who needs a conveyor belt! The only problem is the grip is now not enough to hold the bigger parts during the build.

I have tried cleaning with acetone but it doesn't seem to help. I suspect the high temperature is making the epoxy more brittle and less sticky. I will be able to prove that when the FR4 without copper on HydraRaptor fails. If I then turn it upside down and it still works on the under side then it is not a temperature ageing effect. If the other side is still working then it must be a reaction to the ABS or the acetone that is the problem.

It is shame because I much prefer a solid substrate to tape. Something like polyimide and fibreglass laminate would probably be ideal but it is hundreds of dollars for a piece big enough.

Wolfgang has posted a mystery material to me that sounds promising, so back to PET tape until it arrives. My friend Tony found that Farnell sells it in wider rolls. It seems to be a bit thicker as well, so is easier to apply, but a lot more expensive than the stuff from BestOfferBuy.com.



Friday 10 June 2011

ABS on FR4

I have been printing both ABS and PLA on PET tape for more than a year now. It works well and lasts for many months, but eventually the silicone adhesive fails and it blisters. Applying it is fiddly to avoid any overlap but also not leave gaps between the adjacent runs of tape. I have been on the lookout for a solid material to avoid these pitfalls.

Stoffel15 (Wolfgang) told me that FR4 fibreglass PCB material works well. FR4 is the most common PCB material and is a glass fibre and epoxy resin laminate. It will handle solder re-flow temperatures (~ 240°C) for short durations and can be used continuously at 140°C. As I haven't worked on single sided PCBs for many years, I had forgotten what the surface of the raw material looks like. It is actually smooth and glassy, so ideal as a bed material.

I ordered some single sided PCB material from Farnell. It works fantastically well. It seems to have a bit more grip than PET and has the advantage that there are no lines on the part from the joins in the tape. It also has no give in it, so I don't get any blistering at sharp corners like I did with tape, sometimes leaving shallow dimples.


Another advantage is that when the object cools it tends to break free because it contracts more than the bed does. With tape there is some compliance, so it usually stays stuck when the object cools and it is often hard to remove parts. With FR4, if you get the layer height spot on, the parts break free of their own accord, and if not, are very easy to snap off. This vertex bracket was loose after the bed cooled to 50°C.

Yet another advantage is that I stick the tape to a steel plate 0.9mm thick that weighs 280g. The FR4 is 1.6mm thick but it only weighs 134g, so less than half the mass.

I also tried some plain FR4 without copper and that seems to work just as well. It is 0.9mm thick and weights only 75g. The disadvantage is it is bright yellow, which makes it hard to see the white plastic on it.


I have printed a full set of Mendel parts so far on FR4 and every part has come out perfectly flat, and was easy to remove.

I don't know if it will degrade over time, but there is no sign of surface damage so far. The dark features on the picture above are marks on the aluminium plate underneath.

The nice thing about the z - probe I have on HydraRaptor is that I can change the bed without any calibration.


This is what the underside of an object looks like.


I used the same temperature I used for PET tape, which is 140°C for the first layer and 110°C after that.

I haven't tried PLA yet, but my guess is it will stick because it seems to stick to a superset of things ABS sticks to.

Great tip Wolfgang!

In the past I tried FR2 (SRBP, Paxolin) but that did not work, probably because it had a matt surface. I also tried some CAT7FR, which is another type fibreglass PCB material, but again it had a matt surface and did not work very well. I was able to build a flat object on it, but the first layer outline did not stick properly, so some holes were a bit scrappy.

The copper on the bottom of the single sided material could be used as a heater like the Prusajr heated bed design.