FlashForge Creator Pro left single extruder fan duct
by DrLex, published
- Print Settings
- How I Designed This
- Checking the height of your nozzle
- Will there be a version of this duct for the right extruder?
Liked ByView All
Give a Shout Out
If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.Print Thing Tag
This is the single-extrusion alternative to my dual duct. I only do a dual extrusion about once every 100 prints, and I figured it is a bit pointless to have the dual duct blow air at the inactive (and usually unscrewed) nozzle all the time. It makes more sense to also direct this air at the active nozzle. By blowing air from two directions, this design reduces the ‘shadow’ problem of both the stock duct and my dual duct, and cools all sides more or less equally. If you're only going to print with one extruder, this duct will give you the best quality.
Of course this does not make the dual duct obsolete: you still need it to get proper cooling on dual extrusions.
Mind that the shadow problem is not completely eliminated. Overhangs at the rear and right will still be cooled less effectively because the air cannot reach their undersides. One way to work around this, is to print extra structures behind such overhangs, to reflect the airflow back towards them. In most cases this will be unnecessary however, but keep it in mind for those prints that need to be really perfect.
This duct has not just been designed in a wet-finger guessing way. It has been run through several dozens of iterations, the last of which were validated with computer simulations. See the ‘How I Designed This’ section for more details.
This duct unfortunately is not plug-and-play. You must read the ‘Using’ section. If you don't, your prints will fail, you have been warned.
The photos show a comparison of my 55° mushroom test on a PLA print between this duct, the v6 dual duct, and the stock duct. The result from the stock duct looks more decent than what I expected while I saw it being printed: it was curling up so badly at times that I feared I would need to abort the print. Somehow the upper layers managed to push down the curls again, but it still looks ugly. Even despite the fact that I did this test with the first version of the new duct which was not anywhere as good as the latest version, the result shows almost no deformations and it has a near-flat top surface. (Note: you won't be able to get this kind of result on the 55° test with the stock nozzles, especially not if they have been worn out. This was printed with a more pointy Micro Swiss hardened steel nozzle, which allows to print steeper overhangs than a nozzle with a flat underside.)
There are two models. The ‘x1’ model has the exhausts 1 mm lower than the regular model. If you aligned your nozzles with this tool, you need the regular version. If you installed Micro Swiss all-metal hotends and followed their installation instructions to the letter, then your nozzles will be 1 mm lower and you need the ‘x1’ model. See the section ‘Checking the height of your nozzle’ below for more details. Or, you can just print both models and see which one works best for you.
See the Print Settings section for detailed instructions on printing.
Be sure to read the Post-Printing section first.
A thin strip of rubber (like a piece of bicycle tire) under the little mounting tab can help to avoid that the duct vibrates and rattles.
If you have an older printer and yet have to install the blower fan, you may need to print the fan mounting bracket first.
First of all, if you're going to do a long print with the fan disabled entirely, remove the duct to avoid that it will deform, especially if you're printing at very high temperatures, e.g. polycarbonate. Even if you applied thermal insulation, you should still remove the duct if unused during long prints.
Next, something very important: don't just print and try to use this duct, it unfortunately is not that simple. You would get very poor layer adhesion in the lower part of your print, and it will fall apart. Fast-printed parts like infill will even detach already during printing. To avoid this, you must lower fan speed in a specific manner. The only practical way to do this, is to install a PWM controller of some kind in between the printer motherboard and the cooling fan. If you cannot control fan speed, this duct is almost unusable. Unfortunately fan speed cannot be controlled on an unmodified FFCP. I find this by far the largest shortcoming of this printer, blame Flashforge.
Due to effects described below (see ‘Background info’ if you're interested), you must:
- only enable the fan after the second or third layer,
- start out with the fan running at no more than 20% speed,
- gradually increase fan speed over the course of the first 12 mm of the print until the desired maximum (in many cases, 50% is more than enough).
Your software might make it seem as if you can vary the speed of the fan, but this is a lie. The stock FFCP and clones cannot control fan speed, it can only toggle between 0 and 100%, hence ramping up the fan won't be possible unless you make modifications. You could act as a human PWM controller by manually toggling the fan on and off using the LCD menu to gradually speed it up, but this is extremely cumbersome.
There are some alternative workarounds you could try, but being able to control fan speed is by far the best solution. It is also essential to get good results with filaments like PETG, which require a tiny bit of cooling for best results. You may also be surprised to hear that I always enable the fan on ABS prints, albeit at a low speed, which does improve quality without ruining layer adhesion. Also, I have noticed I need much less cooling after installing an all-metal hot-end with hardened steel nozzle, being able to throttle the fan is essential in this case.
The best solution at the moment is therefore a hardware PWM controller. Here is an example with some instructions how to install one. It isn't that complicated, and you don't need to make holes in your printer. You can use an analog controller like the one shown there, or a microcontroller like an Arduino with PWM capable output. A microcontroller could automate some of the control, like the gradual speed-up.
It is possible to install a custom build of the Sailfish firmware that has a software PWM implementation. However, the speed cannot be changed during a print, and it does not respond to speed arguments in the G-code, making it mostly useless until someone finally implements that feature.
Possible workarounds that do not require a PWM controller
Simplest one is to just stick with the dual duct, if you find it too much hassle to get the best out of this single-extruder duct. You will of course be stuck with the shadow problem too.
Or, if you print much hotter, slowly, and in thin layers, you might get good results even if you cannot throttle the fan.
To counteract the typical extruder temperature undershoot when the fan activates at lower layers, you could boost extruder temperature by 10°C, about 10 seconds before the fan will engage. I haven't tested whether this is effective, but in theory it should ensure the extruder is in its heating regime when the blast of cold air hits it, and the undershoot should be reduced or eliminated. You may then gradually reduce extruder temperature again until the print is about 12 mm tall, but you should keep the temperature higher than when printing without fan. This is obviously cumbersome, because you will either have to manually fiddle with the LCD menu to do this, or write a post-processing script to insert extra M104 commands in your G-code at the right places.
You may also try to make a hole in the side of the duct to lower the exhaust pressure. You could use tape to vary the size of this hole, to vary airflow in a clumsy manner. Of course, this doesn't avoid the undershoot problem, and trying to vary the airflow during a print will be challenging to say the least.
Background info: why is throttling the fan necessary?
There are two things at play here. First, the PID controller implementation in the Sailfish firmware is very bad at reacting to temperature drops. The reaction is way too slow, therefore if something causes the extruder temperature to drop significantly, there will be a serious temperature undershoot, and part of the print will be printed too cold; layer adhesion will be compromised.
Second, during the first layers of the print, both the extruder and the duct are very close to the bed. This causes the air to ‘bounce’, forcing it between the bed and heater block, greatly increasing overall airflow. The air hitting the heater block causes the extruder to lose heat, which triggers the PID undershoot problem. Moreover, even if the undershoot would not occur, the material would still get cooled much harder than expected. All ducts suffer from this problem, which is why many poorly designed ducts (like the stock duct) work decently during the lower part of the print, and do nearly nothing higher up. My duct is designed to work well at all times, which unfortunately causes it to work too well during the lower layers…
Therefore, the fan must be started slowly during the lower layers to avoid the undershoot. Its speed must also be kept lower than usual during approximately the lower 12 mm of the print, because that's the region where the ‘bounce’ effect remains significant.
Isn't there an automated way to throttle the fan like this?
Unfortunately, not that I know of. Having to manually turn the PWM controller knob is indeed annoying, especially on big prints. The Cura slicer program does offer the required gradual ramp-up feature, and it could be easily added with a simple post-processing script for other slicers. As explained above however, the printer as-is has no way to vary fan speed. The fan is connected to the ‘EXTRA’ output on the MightyBoard, which is a simple toggle with no PWM capabilities.
When looking at the optional PWM emulation in Sailfish, it seems it could be extended to also respond to speed arguments in X3G files. This would be ideal, because then we could control the fan from within G-code as on many other printers. I am however not aware of a Sailfish build with this feature. If someone does, I would like to hear about it! For this to work, the GPX conversion program that turns G-code in to X3G files, would also need to be updated, because it currently removes speed arguments.
An alternative would be to use an Arduino as PWM controller, and send instructions to this microcontroller from within the G-code, through some serial connection. This would offer the best of two worlds: automatic control with possibility for manual override without interfering with the actual print. I have been looking for ways to send data to a serial port from within the G-code, I haven't found any solution however… If anyone knows one, please write it in the comments or contact me!
If you want to be notified of possible updates on this design, use the ‘Watch’ button.
Quite a bit of work went into designing this duct. If you appreciate it, remember that there is a ‘tip designer’ button :)
As with the dual duct, or any duct whatsoever, you must print this in a heat-resistant material because it is very close to the heater block, moreover this duct has even more material near the heated bed. Do not print it in PLA. I recommend ABS, although even that is not sufficiently heat-resistant on its own during ABS or PETG prints. If you are able to print in polycarbonate, it is probably the best option if you often print with the bed above 100°C or the extruders at 230°C or more. However, an ABS printed duct will do fine if you add extra insulation (see post-printing section).
Same comments as for the dual duct: do not enable supports. Supports will block the inner passages, and the model is designed such that it will print well without supports. I recommend enabling cooling while printing the top layer of the main vent and the upper tip of the left exhaust (for this purpose the stock duct should suffice).
Infill doesn't matter much if your slicer is configured to always print small areas solid. If unsure, set infill to 100% for the entire print.
Preparing the duct for mounting
You should clear the little hole next to the mounting screw hole with a 2 mm drill bit. Otherwise you'll probably have a hard time mounting the duct onto the carriage.
Protecting the duct against heat
Even if you printed the duct in ABS, it still is very close to the heater block, and the exhausts will deform if the duct is exposed to high temperatures for more than just a few minutes. If the exhausts deform, the duct will no longer work optimally. You should therefore consider applying some thermal insulation to the exhausts.
If you're only going to print PLA or other filaments that do not require extruder temperatures above 210°C, and if you're going to enable the fan all the time, you might be able to use the duct uninsulated because it will keep itself cooled. However, you still risk damaging the duct when printing something large, because the fan will only be enabled after the first few layers (at least, it should). If you're going to print ABS or PETG, you definitely must insulate the duct.
As shown in the photos, I use some NASA-style insulation that consists of a layer of self-adhesive aluminium foil, with a layer of kapton tape on top. To be really sure, I applied this twice at the tips of the exhausts. It is time-consuming to apply this, but it is well worth it because it has proven to be extremely effective. However, if you have only one of those materials, I believe a few layers of just aluminium or just kapton will also do the trick.
How I Designed This
SimScale / OpenFOAM
I considered simulating the duct in OpenFOAM, but its learning curve is a bit too steep for something I will only be using once or twice. Therefore I first tried the same trial-and-error methods as for the dual duct. These however proved ineffective: the two interacting airflows made the windmill unusable; blowing onto a water surface or a layer of dry sand, was also pointless because these methods constrain the test to a 2D surface. (By the way, be extremely careful if you would ever cover the glass bed in your printer with sand. Due to static charge build-up, the sand is likely to jump upwards at the moment you remove the glass plate. It is a very cool physics demonstration, but getting the sand out of all the nooks and crannies of your printer is not very cool.)
In the end I did simulate the duct, using SimScale which offers a web interface on top of OpenFOAM for CFD simulations, so this eliminates most of the learning curve. Moreover, it is entirely free for public community projects (with a simulation time budget of 3000 hours). You can find the public project here.
I ended up performing some 15 different simulations. I couldn't imagine printing and manually testing all those prototypes, so the simulations proved invaluable. I did have some problems getting the STL model to work, but in the end I found out how to properly do it, and I can conclude that SimScale is really great.
Checking the height of your nozzle
If you're unsure whether you need the regular or x1 model, you can verify this as follows. Bring the carriage forward so it is flush with the front edge of the print bed. Then raise the bed until it just touches the nozzle, as shown in the photo. Next, measure the distance between the bed and the bottom of the carriage. If this is close to 10 mm, you need the regular model. If it is closer to 11 mm, you need the x1 model.
Will there be a version of this duct for the right extruder?
- The left nozzle is closest to the fan, making it much easier to design a duct with two exhausts blowing at it. I don't see any practical way to make a similar configuration for the right nozzle, not even if the left heater block would be removed. The second exhaust would need to make a wide curve around the back, making it large, heavy, and very difficult to print.
- If you mostly print with one extruder and want to remove the heavy unused stepper motor to reduce ringing artifacts on single-nozzle extrusions, it is way easier to remove and reinstall the right stepper. (You do need to put something in place to trigger the X endstop.)
I noticed that the first version blew way too much air forward. I did most of my tests with the duct in free air, and neglected the fact that when mounted, the airflow would be inclined to get sucked against nearby structures. This did happen and it caused the heater and nozzle to struggle to maintain their temperature. This version improves upon this with a funky new exhaust design, and should also better aim its airflow in the horizontal plane.
Small update 2017/08/05: v2b
This is the same design but with a few minor changes that should make it slightly more robust, and also easier to mount with less risk of it cracking.
Almost a complete redesign, the result of performing CFD simulations in SimScale (OpenFOAM). The flows have been balanced and the dead zones have been eliminated. This duct is pretty much guaranteed to be very good. A nice side effect of the optimizations is that the duct is smaller and easier to mount.
Upgrade this Thing with Thingiverse AppsCustomization
Edit, personalize, or revise this ThingPrint Fulfilment
Order a print of this ThingTools and Utilities
Repair, slice, or enhance this Thing
FlashForge Creator Pro left single extruder fan duct by DrLex is licensed under the Creative Commons - Attribution license.
What does this mean?
- You must attribute (give credit) to the creator of this Thing.
- Remixing or Changing this Thing is allowed.
- Commercial use is allowed.
Show Some Love
Say thanks by giving DrLex a tip and help them continue to share amazing Things with the Thingiverse community.Tip Designer
We're sure DrLex would love to see what you've printed. Please document your print and share a Make with the community.
To post a Make simply visit this Thing again and click I Made One to start uploading your photo. It’s even easier to post a Make via the Thingiverse Mobile app (available via Google Play and Apple App Store).