Mini-Kossel Delta Printer

posted 22 Sep 2015, 12:47 by Colin Bell   [ updated 22 Sep 2015, 12:48 ]
 I've been building and using variations of Cartesian machines for almost four years now, and have been through several generations of these fascinating and practical machines, from Huxley's, Mendel's and Printrbots. One variant I had yet to try is a delta printer, and after seeing a few in action I had to get one in to see how they ticked. For me, once the build, the calibration and fine tuning are done, my machines tend to become trusty tools rather than passion items, so I'm always on the lookout for the next one which will teach me a bit more engineering in one way or another. 
Delta robots are strange beasts to the uninitiated - the idea is that the tool head (a hot-end in the case of a 3D printer) is held flat in relation to the print bed at all times, suspended from three pairs of parallel rods, which move up and down on carriages connected to the three vertical sections of the frame. By moving the carriages independently to each other, the robot is able to move the tool head extremely quickly to any point in space within its defined boundaries, and be able to do this very accurately and with an extremely high degree of repetition. 

When compared to the X/Y/Z co-ordinate system employed by Cartesian robots, I can see why the Cartesian design was dominant for so long - the maths involved in Delta robots might seem like a good practical high school trigonometry lesson at first glance, but when you're calibrating to sub-millimetre accuracy, its enough to put a lot of hobbyists off early on. Additionally, the computational power required to keep these things pumping out translated g-code means that the standard Arduino based systems struggle to keep up, although optimised firmware code can enable this to work out these days. To get the best from a Delta robot though, a beefy CPU is recommended, especially if you intend to use a display - something like the 32 bit, ARM core SAM3X8E used on Duet electronics for example. More on that later.

Saying all that, if you find yourself gazing for long minutes at your pride and joy Cartesian printer doing its thing, you're going to love watching a Delta - its fascinating to watch as the carriages move up and down completely independently of their cousins on the other axis' with an accuracy which completely puts a lot of legacy machines to shame. Combine that with the sheer speed these are capable of printing at (think 320mm/s at full chat compared with 50-100mm/s on an average Cartesian) make them a joy to behold.

So, obviously I must have I went to speak with my friends at Think3dPrint3d (T3P3) knowing that they would have a good solution for me to consider. I already knew from their blog posts that they'd been working on a derivative of Johann Rocholl's Mini Kossel Delta 3D printer, and already knowing their high quality R&D and enthusiasm for 3D printing in general, choosing them to supply the parts was a no-brainer.

I could have gone the route of purchasing all the various parts independently of course - the design is open source and plenty of people have build logs available to refer to, 
but buying a kit takes a lot of the headache out of sourcing and matching up components - yes, you can get very high quality components and put them all together from different sources, and you might even save some money in the process, but honestly, not a lot, and these guys seem to use very good quality parts, rigorous in-house testing and customer feedback to good effect. The kit they supply consists of less than 200 parts (not as much as it sounds when you consider every nut, bolt and washer is counted), and they have very good illustrated build guides available, along with excellent customer technical support by email.

The supplied kit includes fittings, fixtures, Nema 17 motors, belts, guides, bearings, fans, carbon fibre rods, rollers, cable ties, e3d v6 hot-end, Mitsumi 1515 aluminium frame extrusions, bowden tube....everything required. 
The standard kit comes with a RAMPS 1.4 shield and Arduino 2560 Mega board, however after reading some reviews about Arduino's struggling with Delta's, I decided to upgrade to a 32 bit, ARM core SAM3X8E Duet board, and a touch screen display. Well why not?

Also included are all of the various plastic parts that are required - again, these can be printed on your own existing machine, but it's upwards of 25 hours printing on a reasonably fast printer, which might be a consideration. The parts supplied by T3P3 are supplied in your choice of colour, printed in ABS. All parts are pretty solid and well up to the task at hand. They are supplied 'unfinished', meaning you need to clean them up a bit, however you are also supplied with some handy tools for assembly, including a craft knife, hex keys and a 3mm hand drill, so even if you have no tools of your own, you will have the basics with the kit. The finish on the parts is not the best I've ever seen to be honest - they are supplied to be solid and functional, in which they excel. I suspect that the parts are printed at around a 0.4mm layer height. 

On a couple of the larger frame parts, I found some cracking and de-lamination which is not uncommon on larger ABS models - a quick blast with a hot air gun followed by the part being clamped until cool sorted this out in all cases, and I've had no issues with either strength or further de-lamination.

Assembly is very straightforward following the supplied documentation which I'm pleased to say is updated very quickly when minor items need clarification. 

In fact, I'd like to highlight the excellent customer support I always get from Roland and Tony at T3P3 - I guess I'm one of 'those' customers with way too many questions, but I never seem to phase them - they always welcome my comments, respond to my questions, and are very flexible in terms of sorting out quality or component issues quickly - I'll cover a couple of these in later paragraphs, but I want to be clear that Think3dPrint3d are first rate in customer support - it's rare, and here are some role models!

Physical assembly of the Mini-Kossel took me around four evenings, including clean-up of the ABS parts, which I took some time over to get a good finished look. I followed the supplied documentation throughout the hardware assembly, right up to the wiring section, which is where my build differed as I'd decided on Duet electronics instead of the stock RAMPS 1.4 set-up.

T3P3 are also on the design team who created the Duet incidentally, a fact which I hadn't realised until I found this out on the RepRapWiki. The board has all of the stuff that a RAMPS shield is normally used for, such as stepper controllers, MOSFET power drivers for the heaters, fan/power outputs, Ethernet and an SD card reader etc. It's also expandable with an additional board to run a total of 9 axes controls (3 axis + 5 extruders for example). Plenty of room for future upgrades then :)

Additionally, and most importantly for me, it will also support a colour touch-screen interface, which I decided early on was a must for my application, as I wanted to be able to use the printer completely PC independent if necessary, and...well hell, this is 2015 - give me a touch-screen for goodness sake! The touch-screen I used with the Duet is the PanelDue, and was also supplied by T3P3.

The firmware for the PanelDue is created and maintained by David Crocker (DC42 on the forums) and the Duet's firmware is based on Adrian Bowyer's RepRapfirmware that is already familiar to many users. 
David has provided very detailed instructions on his blog which help the adventurous to upgrade a Mini Kossel to use the Duet electronics.  Also of course, he supplies instruction on how to update and install the PanelDue touchscreen interface which he produces.

I used the supplied wiring loom for my build, and simply extended all of the wiring to the correct length. I'd decided early on, that because the Duet board wouldn't physically fit into the base underneath the bed, that I'd mount the electronics onto the back of the Z axis tower, so all my wiring was extended to facilitate that.

Once fully assembled, and the Duet firmware upgraded to the DC42 fork, it was time to do some motor testing, check heaters and thermistors etc - all checked out good, so I sat back to admire the build so far, before moving on to actually trying to print anything. So, in with the traditional virginal white filament and set heaters to max!

No extrusion. Lots of clicking and filament grinding in the extruder, but not a sausage coming out of the e3d v6 hot end.

Must be too cool, maybe I made a mistake with the thermistor calibration? Checking with a thermocouple and showed it was within .2c of the 235c this filament usually likes on other printers. Hmm, crank it up a bit then - <starting to sweat a bit>...oh! I see a bit coming out! There is goes at 255c! Lets get a print going! I must have made a mistake with those thermistors!

Skirt printed, looking good! First layer half done extrusion. Darn!

OK, must be the e3d v6 blocking - lets check it - no...I see daylight all the way through. Check retraction - all within the recommended 3mm maximum. Well, its got to be the extruder right? Nothing else left! 

At this point I noticed that the bolt driving the large gear on the extruder was occasionally just spinning without turning the gear, and looking through the extruder end to end I could see the path wasn't clear. After some advice from T3P3, I ran a 3mm drill through the extruder body and used some epoxy to secure the bolt into the large gear. I then reassembled the extruder and paid particular attention to the build instructions, ensuring that it could push and pull filament through at high and low speeds without issue. 

Once installed, I tried just extruding for a while without actually printing anything and observed that the extruder was frequently binding and producing a clicking sound, normally associated with not enough current going to the extruder. Fortunately, the Duet firmware allows you to change this in code, rather than messing about with a fiddly adjustment pot on the board, so I increased this to the maximum it would allow, and it was a little better, but still skipped occasionally - enough for me to know that I'd never get a clean print from it. I have to admit I was quite stumped at this point, and even T3P3 were struggling to give any advice. At this time I was also travelling for work, so progress was spotty for a couple of weeks, which doesn't help when you're trying to troubleshoot effectively. To cut a long story short though, I ended up changing the e3d v6 for an old one used on my Mendel - this worked fine, and it was only when I had the e3d v6 nozzle inspected under a microscope I found scoring inside, where on my old one it was smooth. I'm not sure if this is a manufacturing defect but it was the root of the issue - I put my old nozzle on the new v6 and, hey presto everything started working as expected. T3P3 sent me a replacement e3d v6 which when installed, worked flawlessly, and has done ever since. The upshot of this though, is I lost around three weeks messing around with the hot end, bowden tube, extruder and thermistor settings when I could have been printing...but then again, I bought this to learn from as much as use so I don't consider it a fail at all, especially with the speedy replacement hot end.

Now that the printer is finally capable of producing prints, it's time to add the touch-screen display and do some final calibration. A note on the final calibration - if you build one of these T3P3 kits, do take the extra time and do some additional calibration - I found that the Delta produced prints which were an equal in quality for my Printrbot and Mendel in medium quality modes without any final calibration. In fact I was very impressed - for a casual user or somebody who doesn't want high detail this machine will produce functional good quality parts (not ugly either!) right off the bat. 

Due to the e3d v6 being a very capable hot end, the printer is also able to use a wide variety of materials to print with - PLA, ABS, Nylon and composite metal or wood materials up to 300c should be supported. The heated bed is able to heat quickly up to around 130c and hold it there without issues. One of the last assembly items I installed, was a sheet of PEI adhered with 3M transfer tape - see my other posts on PEI for details on the advantages and methods.

In order to fine tune calibration on a Delta machine, you need to kind of rethink what you know about Cartesian calibration. Sure, some thing are going to be the same - E-Steps per mm, ensuring that the bed is level and extrusion rates calibration are all the same, and are covered in the T3P3 documentation, and also in David Crockers blog, along with a lot of others out there. However that is about the limit of what you can compare with Cartesean machines. I'll jump through the main steps I went through briefly here, and leave out a lot of the stuff that made me scratch my head - I won't do a great deal of detail though, so if the resources I list are not enough for you, feel free to mail me for more details on any particular point. In particular, endstop calibration as per David's instructions may be a little confusing, especially his explanation on setting up the Delta Radius - I will do a separate article about this one.

As you can see from the picture on the left, my bed appeared to not be level, as the plastic isn't being distributed equally over the bed. Looking at it with the Z-axis at the back, X-axis to the left and Y-axis to the right, you can clearly see that it's producing a nice bead of plastic from Y > Z > X, but from X > Y is smashed flat on the bed. This creates a couple of issues, firstly, tall prints will be noticeably not straight the taller they get, and secondly, removing parts from the bed will be difficult and potentially you can cause your parts to de laminate as you pry it off the bed - this is illustrated in the picture of the yellow parts, were you can see how the bottom layers broke off the parts and remained on the bed.

Checking with a digital level showed me that the bed was actually perfectly flat in relation to the frame, and my PEI sheet was also very well stuck down and not bowing up - I checked this with the bed both cold and hot. What I found in the end, was that my X and Y towers are leaning very slightly in the outward X direction as a result of a barely perceptible bend in X frame extrusion. The only way I could actually gauge this, was by holding a flat ruler along its length, and checking for any gaps between them. This showed that the bend is causing the X tower to lean, and is throwing out the frame geometry by around 0.23mm. I know this doesn't sound like a lot, but as can be seen it's made a difference. The way I got my fine measurement of how big the bend was, was by following the endstop calibration' routine in part 3 of David Crocker's blog. No matter how many times I tried to get the endstops perfectly calibrated, my calibration print (the round one above) showed the same results, even though the maths showed the endstops adjustments were spot on. Once I'd figured out the issue though, I had two choices - either dismantle the printer and try bending the extrusion to make it perfectly straight, or try to sort out the issue in software. I opted for the latter, and in the end this turned out to be a simple solution - just do the normal endstop calibration, and then raise the X and Y settings by 0.23mm. Following that, adjust the Delta Radius and print height to account for the changes, and you're good to go. Easy!

For illustration of the difference this minor change made, please see the picture to the left (the parts are sitting on a different printer, but were actually made on the Delta - I just took the picture here for lighting reasons).

The smaller part on the right is before the above calibration, and show some curling due to bad adhesion, and you can see on the extreme right of the part that the outer wall is leaning out slightly - on the print bed this wall was pointing at the X axis. The part on the left, was after calibration and shows perfect adhesion of the support material and model, and zero curling or leaning on the walls. The parts are straight off the printer in the shots below, and haven't been cleaned at all, showing the e-steps are spot on.

Now that I was sure the Delta could produce good prints, I moved onto the touch-screen display. As I mentioned 
previously, I am using the obvious choice for Duet, which is David Crocker's PanelDue. This was supplied by T3P3 along with the rest of the kit. Electronic's installation is very straightforward, and covered on the above link, so I won't go into it here.
I decided to change my implementation a little because I wanted to mount the display at the top of the printer between the X/Y frame extrusions. Although several enclosures are available, I ended up designing my own to allow this.

On the supplied electronics, the control board is designed to sit off to the side of the LCD screen, mounted on a simple 40 pin connector. This would make an enclosure too wide for where I wanted to place it, so I hacked together a straight-through 40pin connector from the LCD display to the controller so that I could mount the controller on the rear of the display. If you happen to have a retro 40pin ribbon connection from an old CD-ROM or IDE HDD, this would likely work just as well as all you need is a straight through connection for each pin.

The next point that needed addressing was the Duet's enclosure. The one advertised on David Crocker's blog is a good design,
 however it's for a version of the board which has pin headers instead of the screw terminals installed on mine. Rather than pinch the cables, I simply expanded on the design and made a few changes to suit my application, such as making the port holes a little larger, adding additional holes for the bed thermistor cables, and making a cut-out for the incoming wiring.

No enclosure is complete without a cover, so I designed one for this one too, in a transparent plastic so that the board's status LED's shine through. Rather pleasing I thought.

The last part I needed to update was the included top mounted spool holder. The supplied one works a treat, and has a nice smooth action due to the included bearing, however it didn't fit all the spools I wanted to use, for example the Taulman nylon 1lb spools, which have a very small hole in the middle. I've been using the excellent 'Universal Stand Alone Filament Spool Holder' for some time with all my printers, and wanted to keep the versatility with the delta, so I remixed the universal spool holder to fit straight onto the supplied one. This allows me to easily use some of the more awkward sized reels (like Taulman 1lb reels for example), without any issues. The modified spool holder friction fits onto the existing spool mount. If you download this model to use on your T3P3 delta, please ensure you get the newer version of the adaptor, as I found that the original one I posted was too weak on the spool support rod. This is now fixed. My adapter can be left permanently installed on top of the T3P3 version as it will accept any size of spool commonly available.

The only hardware failure I've had in the last several weeks of using the Delta, was a belt slipping off the idler roller at the top of the machine. Typically, this happened three hours into a four hour print...but it was an easy fix anyway. I'm not sure why this happened - the other two look fine and it all looks pretty straight in terms of the belt travel path, however to stop it happening again, I pushed in a penny washer on the side where it was tending to slip, which seems to help. Fortunately, you can adjust the belt tension without messing up the endstop calibration, so its not really a big deal.

Checking my logs, I can see that the Delta has clocked up around ninety hours of print time, plus around another twenty hours of calibration and me mucking around with it. I think I've likely found most of the bugs now, and it seems pretty stable.


in terms of repeatable quality, speed and a general feeling of smug satisfaction of owning this machine, it just can't be beat. The price was spot on for all the components within the kit, and the design is flexible enough that all the extras I bought are easily achievable and I know I can mod the heck out of the design. 

I have started printing it's brother, a Kossel XL and will be using T3P3 hopefully to supply all the parts again, as I'm very impressed with the quality of their stock. The Kossel XL I'm designing is will be a dual material printer and I'm looking forward to figuring it all out - for now though, this one is a reliable and welcome addition to my bot farm.