Warning – this will be a long post (but hopefully worth reading)
I guess the time has now arrived for me to share what I have been working on for the past 8 months or so. As the title of this post indicates, I’m attempting to design a new hot end. Although I have only taken the first few steps on what I am sure will be a long and bumpy road, at least I do finally have a prototype made from metal. Where this journey will end is still unclear but I’ll share it here for anyone who wants to read this blog.
So why would I want to design a hot end when there are so many great designs out there already? There are a number of reasons, mostly because my interest lies in multi-colour and multi material printing, and to date, none of the offerings for sale will do what I want.
There are a couple of hot ends that claim to be “mixing” hot ends. But none of them actually mix the filaments, so “Combining Hot Ends” would probably be a better description because that is what they do. The “stripey toothpaste” effect is well documented, both on this blog and elsewhere.
Readers will know that I use the Diamond hot ends a lot but I’m not entirely happy with them. As well as the fact that they combine but don’t actually mix, the nozzle is an integral part of the great big lump of brass that all the heat sinks screw into. So changing nozzles isn’t a quick or convenient option. To get around that, I actually have 3 complete assemblies. By that I mean each assembly has the brass part, the heat sinks, the heater and temperature sensor, all fitted to a mount that I can drop in. That’s an expensive option for changing the nozzle and still takes longer than it would if I could simply unscrew one nozzle and insert another. Also, as the nozzles are brass, I am reluctant to try some of the more exotic filaments which may be abrasive, because replacing that brass part is both expensive and very time consuming. The Diamond also needs a lot of air flow over the heat sinks – the 5 colour version even more so. Which means a powerful fan which is noisy. It’s also big because of the way the heat sinks stick out at an angle of about 20 degrees or so to the vertical, and it’s heavy (not that I worry about the weight much). Finally, you have to load filament into every input otherwise molten filament would simply get pushed out of unused inputs, rather than the nozzle tip. The trouble with that is that unused filaments are all kept at print temperature which can cause other problems such as Hydrolysing with PLA.
Which leads to the question “What do a really want from a hot end?”. Well these are my design goals which may, or may not, be achievable (but I’m giving them my best shot).
- Multiple filament inputs feeding into a single nozzle.
- Those inputs to be mixed to negate the “stripey toothpaste effect”
- A nozzle that can easily be changed.
- The ability to print parts of an object with other types of filament which may need different temperatures.
- Modular concept to allow different configurations.
- Negate the need to have a reel of filament feeding every input when those inputs may not be required for a particular print.
- Heaters and temperature sensors that cannot fall out, yet can be easily changed if they fail.
- Quiet operation.
- Ability to print high temperature filaments such as Polycarbonate.
- Finally, it would be nice at the end of all this to have a marketable product that may serve to recoup my investment and provide a small income to supplement my pension (that’s more a wish than goal).
As I mentioned above, and as can be seen from the featured image, I now have a metal prototype that I can start testing but it’s taken a lot of design iterations top get this far – 14 in fact. I think I have designed out all the problems that I could foresee happening but only “live” testing will tell. So here is the rationale for arriving at where I am now.
Firstly, how many inputs? I decided that for full colour printing, it would be necessary to use 5 filaments. Desktop printers that print on paper use Cyan, Yellow, Magenta and Black but as they print on White paper which we don’t have in 3D printing, then we also need White. In addition to this, it might be nice to have a “spot colour” which cannot easily be replicated, or more importantly, to be able to use a separate filament such as support material. So I decided that 6 inputs would be needed for full colour plus one more possibly different, material.
This would allow me to buy only those 5 colours of filament plus a support material instead of endless reels of all the different hues that are available. But then of course that would need 6 extruders and thinking about the last design goal (to end up with a marketable product), I realised that many people would be put off buying a 6 input hot end when they realised that they would also have to buy 6 extruders. Hence the decision to use a modular approach so that 2, 3 4 or 5 input variants could be produced without too much effort. There may also be a desire to print multiple filaments with different mechanical properties but which don’t need to be mixed. In which case, non- mixing versions would also be possible by simply omitting the (modular) mixing chamber.
Having decided how many inputs to use, the next decision was how to melt the filaments. Or more importantly, the whole subject of thermal management. I decided that, however the filaments were to be mixed, the first thing to do was to melt them. That might seem obvious but I have seen one or two discussions and some tests whereby people were trying to both melt at mix the filaments at the same time which doesn’t seem like a good idea to me. Having a common melt chamber like the Diamond, means that all the filaments have to be heated to the same temperature at all times – even when some of those filaments aren’t actually in use in any particular point in time. So it seems to me that using separate melt chambers for each filament and then passing those molten filaments into a common mixing chamber would be the best approach. Of course, the mixing chamber itself would need to be heated so there would be an element of commonality but much reduced. This brings several advantages. Firstly, only those filaments which will be used for a particular print need to be heated. Unheated filaments could effectively form a cold plug which would prevent molten filament from back feeding into unused inputs. So as long as some filament had initially been loaded into every input, it would not be necessary to keep entire reels of filament loaded into those inputs at all times. Secondly, it would make it possible to use a different melt temperature to that of the ultimate nozzle temperature. For example, it might be advantageous to melt the filament at a higher temperature than the ultimate nozzle temperature in order to lower the viscosity and aid mixing. Thirdly, filaments could be “held” at a moderate standby temperature pending their use later in a print which would help to prevent issue such as hydrolysing. Fourthly the total volume of molten plastic would be reduced which might reduce the amount of retraction needed (more on this later).
The next decision was how to mix the (now molten) filaments. I considered some sort of stirrer inside the mixing chamber connected by a shaft to an external motor. But sealing that shaft so that it is free to rotate while at the same time preventing hot molten plastic from leaking out is quite a big challenge. An alternative that I have considered might be to use a ferrous disc or permanent magnet inside the melt chamber and drive this from outside using a rotating magnet but I had concerns about whether enough torque could be generated without using a large disc, which in turn would mean a large melt chamber. Another possibility would be to use rare earth magnets inside the melt chamber and have them excited by an oscillating external magnetic field. But then I remembered that magnets lose their magnetism at high temperatures so it would need magnets with a high Curie temperature. Then how do you stop the magnet from falling into, or otherwise blocking, the chamber outlet? Another consideration with mixing chambers is the need to keep the volume as low as possible to minimise the amount of purging required when changing from one colour to another. So anything that is added to the inside of the melt chamber, is likely to increase the volume or least the surface area that the molten plastic can attach to. No doubt these things could be overcome but I couldn’t think of any easy solutions.
In the end, I decided to try another technique. It might not work, but then again it might just work. At this moment in time, I don’t want to go into too many details except to say that it involves firstly melting the individual filaments (as mentioned above), then combining those molten filaments, and then bending and folding that combined filament back and forth by passing it through a complex three dimensional matrix. If I’m right, then all that twisting and turning should mix the filaments together. I’m under no illusion that it might not be a completely homogeneous mix, but hope it will “good enough” such that printed parts have visually acceptable colour mixing. Anything has to be better that what we have now.
As I mentioned above, one thing that I kept coming back to was the need to keep the size of the melt chamber as small as possible. Or more specifically, the volume of molten plastic. This is because when switching from one colour to another, it is necessary to somehow purge out the old filament. This is sometimes possible without resorting to a separate purge mechanism but simply printing infill where the “old” filament won’t be noticed. But where the colour change occurs on the same layer (for example of the “flags print” that I have demonstrated), then a separate purge is the only way. So the less filament that has to be purged, the better because it reduces print time as well as the amount of wasted filament. For these reasons, initially the 3 dimensional matrix is fairly short. If it works but needs more mixing, I can fairly easily add extra stages but of course, this will increase the volume of molten filament.
The next thing that crossed my mind was how to deal with ooze prevention during non-print moves. The established way of dealing with that is to retract some of the incoming filament in order to reduce the pressure at the nozzle tip. However, it occurred to me that if I pass the filament through a complex 3 dimensional maze with all it’s twists and turns, then reducing the pressure (or causing a negative pressure) on the inlet side of the mixing chamber, might not translate to a reduction in pressure at the nozzle tip. Having thought long and hard, the idea I came up with is to have 5 filaments going through the mixing chamber but the 6th one, has a straight path to the nozzle. The five mixed plus the one “non-mixed” get combined just before the nozzle. So using firmware retraction where all filaments are retracted together would mean that the separate non-mixed filament also gets retracted and so would in effect act like a plunger. All that is required is for the non-mixed filament to be included in every tool definition, even if the mixing ratio for that filament is set to zero (it works in RepRap firmware – I have tried it).
This is why I didn’t want to call this a 6 colour mixing hot end because actually it would be 5+1 (five mixed plus one that isn’t). Other variants could be 4+1, 3+1, 2+1 and non-mixing variants could all have a more or less straight path to the nozzle tip so these would be 5, 4, 3, or 2 input variants.
Finally, I had to think about using “standard”, readily available components wherever possible, mostly to keep the cost down. Because the design uses a total of 7 small heaters and 1 larger one (for this 5+1 version) I could have reduced the overall size significantly by using 3 or 4 mm diameter heater cartridges, rather than the more readily available 6mm diameter ones. But when I looked into sourcing these parts, they were multiple times more expensive than using the more common 6mm diameter cartridges. This was the case for small volume orders. So for now, at least until I have a design that is proven to work, I decided to stick with the larger but cheaper 6mm diameter heater cartridges.
On a similar vein, I decided to make the hole for the temperature sensors 3mm in diameter. A cheap thermistor can be fitted into a 2mm diameter or slightly smaller hole. But a 3mm diameter hole would allow the potential to use any of the standard cartridge thermistors, PT100s, PT1000S or thermocouples as sensors.
Also on the subject of components, the block that accepts the nozzle is threaded M6 x1mm which seems to be the standard thread size used by most nozzle manufacturers. But of course, with the modular concept, it would be simplicity itself to produce a nozzle block using some other thread size.
Finally, I had to consider how this could all be put together and assembled. More importantly I had to consider that things like heater cartridges and temperature sensors are not infallible and may need to be replaced. So all but one of the heater cartridges and temperature sensors fit vertically into blind holes. They simply slide in from above so cannot fall out but at the same time, need no retaining screw or clamp. But to facilitate their fitting and removal, those holes had to be at an angle of 10 degrees from the vertical.
One good thing about having a 3D printer is that I can make parts in plastic to ensure that they all fit together. That’s the “Rap” part of “RepRap” – Rapid Prototyping.
Here is picture of the 6 printed input design version 13 assembly, next to a Diamond 5 colour assembly.
As you can see, it’s a bit taller but a lot narrower. The wide flat white part is the carriage mount which is the same width as the black carriage mount of the Diamond. The White box on the top is the water cooling tank which replaces the fan on top of the Diamond.
It was at this point that development stalled a bit. I needed to get those parts made in metal, and that proved to be far more difficult and expensive than I imagined. I had great difficulty in even getting prices. I contacted many machine shops but most failed to even respond. Of those that did, I was quoted between £120 and 300 Euros just to make one of the heater blocks (and I needed 6). In total there were 12 aluminium blocks (later changed to 13) plus some other stainless steel parts. Of course there is a real prospect that some of these parts would need to be re-designed and made again.
So I made the decision to buy a small milling machine and lathe so that I could make the parts myself. But before that could happen, I had to make room in my garage. And as I intended to spend a fair amount of time in there, I had the old draughty “up and over” garage door replaced with an insulated panel door (which has made a huge difference I have to say). That process took quite a while to do, which is why I haven’t posted much on my blog for some time. It also cost a fair amount of money which is why I would like to end up with a marketable product to recoup at least some of that expense.
The first metal prototype.
This is where the first design change occurred and how I ended up with version 14 from version 13. I bought a nozzle from E3D and my original design had this screwing into a blind, flat bottom hole, 6mm deep in a 10mm thick block but with a 2mm diameter hole for the filament to pass through. The block had to accommodate a heater mounted horizontally so it had to be taller than 6mm. When I received the nozzle, I realised that it was threaded all the way to the end. I also realised that I couldn’t tap a thread all the way to the end of a 6mm deep blind hole because there is always some “lead in” on a tap – even a final cut plug tap. This would have meant that the nozzle would reach the end of the thread before it was fully inside the block and so it wouldn’t seat properly on the flat part at the bottom of the hole. The only way I could think of doing this was to use two blocks. One 6mm thick threaded all the way through and a second block with a 2mm hole through which the filament could pass and which would form the seat for the base of the nozzle. But then this meant that I could not make the hole in the side for the heater unless I bolted the two blocks together first, which wouldn’t have been ideal. So I decided to extend the blocks forwards so that I could accommodate a heater cartridge mounted vertically, similar to the other heater blocks. This is actually a better way to mount the cartridge as it is impossible for it to fall out (unless I turn the entire printer upside down which is most unlikely). But it meant re-designing all the blocks that make up the mixing chamber as well as the nozzle block. I’m just glad that I hadn’t paid £120 each to have those block made.
Probably the easiest way of explaining how it is intended to work is to show a step by step assembly process. Here are most of the parts that I machined using my new toys.
I have strategically placed pieces of tape over some of those blocks because there are some aspects that I don’t want to disclose at this time.
The next picture shows the 2 blocks that take 5 of the inputs and combine them into 1. The 6th input has a straight path to the nozzle tip.
This is a side view. The two upper holes are for a long heater and it’s associated temperature sensor. The two lower ones are threaded to take fixing screws.
The next picture shows the 4 blocks that make up the mixing stage. Again, this is for the 5 combined filaments plus a straight path for the 6th one. Both of which share a common path just before entering the nozzle. These blocks were all lapped flat. What I don’t know is whether that will be good enough to prevent any leakage. If not, I could try using some high temperature RTV gasket material but I’ll need to be careful not to block any holes or slots. Alternatively. I might need to make some copper gaskets. We’ll see what happens…..
Sorry but you don’t get to see what’s inside those blocks..
Next is how they fit together
The plates on the sides are made from 0.9mm thick stainless steel sheet which proved to be quite a challenge to mill. I already feel version 15 approaching….
These are the heater blocks……
…..and here is one block showing how the heater cartridge and sensor will be fitted at an angle.
Here is a top view of the 6 heater blocks fitted
The filament path is via the 6 aluminium tubes that fit down the centre centre of each block and which end in the combining stage below. The heater blocks are a slide fit onto those tubes. Hence the necessity for the stainless steel plates at the sides. Stainless steel was chosen because it is a relatively poor conductor of heat and so will prevent the unused heater blocks from getting hot due to conduction from the combining and mixing stages below. The studding, nuts and spacers hold the bottom of the heater blocks are also stainless steel for the same reason. I am torn whether to use stainless steel for those tubes as well but on the other hand, those filaments which are heated will need to be kept molten. So in that respect, aluminium is a better choice. This is one of the things I’ll have to evaluate and for that reason, the tubes have not been permanently fixed into the combining stage below. I think that ultimately I may end up fixing the heater blocks to the tubes so that I can do away with those side plates and studs.
Next comes the heat breaks. This was my first attempt but it wasn’t successful.
Essentially they consist of a short section of low conducting stainless steel tube fitted into two sections of larger diameter high conducting aluminium tube. One piece of aluminium will be heated by conduction from the heaters below, and the other will be cooled by the water jacket above. I stuck them together using a high temperature silicate paste (claimed to be good for 1100 deg C) and baked them in the oven for an hour or so. My intention was to machine off the excess adhesive in the lathe. Unfortunately that didn’t go well and all the joints failed so I had to think again.
Here is the next attempt at assembling the heat breaks
The stainless heat break tube butts up against the lower aluminium tube. The short larger aluminium tubes are sleeves to join the two together. This time, I used a high temperature (good for 350degC I’m told) silicone RTV type adhesive. I joined one of the outer sleeves to the heat break, let them set, then turned them over and did the other sleeve. Again, because I’ll likely have to take take this all apart to try different material types, I didn’t glue the sleeves to the lower tubes.
The top plate is to take the water cooling tank. Again this is held in place by thin stainless steel straps to minimise heat conduction from the heater blocks below.
This next picture shows the heat breaks fitted with sleeves and then the aluminium upper inner tubes which butt up against the stainless steel heat break tubes.
Next comes the water tank/cooling block with integrated carriage mount.
The aluminium tubes are pressed in and sealed. The outer diameter is 4mm to take Bowden fittings at the top. The inner diameter is 3mm which is a slide fit for the upper tubes of the hot end. The lid is fixed and sealed to the tubes with silicone sealant. The water enters on the far side of the tank and goes down through a (printed) tube which has outlets either side at the bottom. The water will then circulate around the aluminium tubes before exiting at the top through the other fitting on the lid. When the whole assembly is fitted to the hot end, the top of the upper inner tubes are flush with the top of these outer tubes, which effectively makes a tube 4mm OD and 2mm ID – just the right size to take a pneumatic fitting to accept PTFE Bowden tube and 1.75mm filament.
The square hole in the centre is to accommodate the thermistor wires. The 6 large holes take the heater wires. The 3 bosses have steel dowel pins pressed in which sit in bronze bushes in the carriage mount. The other odd shaped boss is for my Metrol precision switch that I use for Z homing (documented elsewhere in this blog).
This plastic tank/mount simply slides over the upper tubes and gets bolted onto the aluminium plate below.
The next pictures show the complete assembly with heaters and cartridge style thermistors fitted.
Unfortunately, E3D in their wisdom made the thermistor cartridges with short conductors and then a plug to take an extension lead. Those plugs and sockets just happen to be in the centre of the cut out I allowed in the middle of the cooler to take the wires. But unfortunately, those 6 plugs and sockets won’t all fit in the space, so I had to route 3 of the leads around the outside. I’ll likely just cut those plugs and sockets off and join the wires. Then I’ll be able to route them up the middle where I intended them to go.
It’s not shown in any of the pictures but there is a 3mm diameter hole in the side of the water tank to take another thermistor. The intention is that I will use this to control the radiator fan(s) thermostatically.
This is a picture of the assembled prototype, with all the heaters and thermistors fitted on the right, next to a Diamond 5 colour assembly on the left.
As you can see, it’s taller in Z (which doesn’t matter much) but a lot narrower in X and Y which will give me a greater print area. Not bad considering it has 6 filament inputs compared to the Diamond which has 5. It’ll definitely be quieter without that huge fan running. In fairness, I have seen pictures of an experimental water cooled Diamond which is smaller.
I haven’t compared the weight. For sure the bare aluminium parts are mostly hollow and weigh very little, but then many are filled with heater and thermistor cartridges. The weight of all the cables is also significant. On the other hand, the Diamond has a great big lump of mostly solid brass and 5 heat sinks.
I’m already thinking that I might end up using short stainless steel tubes between the heater blocks and the mixer, instead of those longer aluminium ones. It depends what happens when I start doing thermal tests. The length of the upper tubes is mostly to accommodate removal and replacement of heater cartridges but there might be scope to shave 5mm or so off. That would all reduce the height a bit.
So that’s about it for now. I have also bought these.
That’s the water pump and radiator for cooling.
So now I have to partly disassemble my printer or at least some of the wiring. Then I have to install the pump and radiator, make a temporary mounting arrangement for the hot end, and wire in most of the heaters and thermistors.
Then I can start running some tests. As I said before, much of this is about thermal management. There are many questions that I need to answer.
- How well will those heater blocks be isolated from each other and from the mixing chamber.
- Should those lower tubes be good conductors or insulators?
- How much heating power is required for each stage?
- How well will the heat break and cooling system work?
- It sounds counter intuitive but I might yet need to blow cold air over the heater blocks to cool the ones that aren’t in use faster at tool (colour) change.
- Is aluminium the best choice for both the blocks and the tubes? I have considered copper but I’m concerned about it oxidising and contaminating the filament. It would likely need to be plated. Would brass be a better choice?
- How well will PID control work with heaters that might interfere with each other?
- Do I tune the PID control with adjacent heaters on or off?
- Do those cooling tubes have enough surface area?
- etc, etc….
So there is still a lot to do before I even think about shoving some plastic through it. Then I’ll need to get another extruder because I only have 5 at the moment. Which means I’ll have to design and make another extruder carriage. Oh and I’ll be limited to just using 4 or 5 of the inputs at any one time initially because the Duet/Duex5 combination gives me 10 stepper drivers (12 if I used two external ones) but I’ll need 13. Also I only have 7 heater channels available but I’ll need 8. So ultimately, I’ll need to upgrade to the generation 3 Duet controllers which aren’t yet available.
That’s all for now but I hope to be able to post more updates more frequently than I have been doing.
As ever, I hope readers find something in all the above which is of interest to them. I guess if you have got as far as reading this, then that must be the case.