Sunday, January 28, 2018

The Mother of All Print Cooling Fans

I started trying to build a large scale chocolate 3D printer a couple years ago.  That's turned into one of those projects that gets put on a back shelf, but part of it has been making my mind itch for a while, so I decided to conduct some experiments.

The specific thing I am referring to is the idea of using a remote cooling fan for a 3D printer.  The idea is to attach a nozzle to the extruder carriage with some sort of hose transporting the air to it, instead of the more common technique of mounting fan(s) and duct(s) on the carriage.

Why would anyone want to do this?  Hmmm.  It may present less moving mass on the extruder carriage because it only moves the nozzle and the end of the hose around instead of lugging the fan(s) and ducts, it doesn't require any wiring to the extruder carriage, it may deliver more air with the right blower, it may allow a more compact extruder carriage design, and finally, it may be more reliable.  I realize that each of these is a pretty weak argument in favor of remote cooling, but taken together they may add up to a meaningful improvement.

There are several problems with print cooling that make designing print cooling systems a little difficult.  First, how much air flow is enough?  Then how do you get that air flow?  What shape and size of nozzle/duct will deliver sufficient air flow from the chosen source?  How does the shape of the print affect the air flow?  What are the relevant specs on the fan I have?

There are so many variables to juggle at once, and actually calculating or simulating the result so difficult, it ends up being a lot easier to simply experiment until you find something that works (or ask others which of the thousands of duct/nozzle designs that litter thingiverse actually work).

Here's an illustration of the difficulty in predicting how air flow from a ducted fan works.  I took a 120mm 117VAC powered fan and attached a simple duct/nozzle to it:

When I posted that on reddit, a few of people accused me of trickery, so I made another video:

Some folks are skeptical, so here's another video from Mark Rehorst on Vimeo.

Those videos and my suggestion that people test their print cooling fans to see if there's any air actually coming out of them generated so much vitriol and animosity that I decided it was time to delete my reddit account.

The point of the videos is not that I designed a bad duct.  The point is that predicting what a compressible fluid like air will do when you try to move it through a duct and out a nozzle is not intuitive.  You can design the most aesthetically pleasing duct and nozzle in the world, but ordinary mortals can't be sure that air is going to come out of it until they actually check it.  Checking it is as simple as putting your finger, a flame, a piece of string, or trying to blow a ping pong ball across a table to see if there's any air flow.  Once you've established that there is air flow, you can try printing to see if there's enough air flow and if it's going in the right direction.

In a 3D printer there are several things to consider.  The controllers and firmware are able to provide PWM outputs to control fan speed from zero to the fan's rated speed.  You have DC power supplies, typically 12 or 24V, and cost is always a factor.  The ideal print cooler will work with the existing power supply, has a PWM speed control input (or can be switched on and off with varying duty cycle for the same effect), and doesn't cost too much.

The major sources of air are axial and radial fans and pumps/compressors.  Most of the print coolers on Thingiverse and Youmagine use axial fans like the type in the video, only smaller, because they are readily available, small, light weight, cheap, and can be powered by the power supply and the control signals from the controller board in a printer.  Some are using radial (squirrel cage) blowers instead, and I "designed" one of those for UMMD, and it seems to work fine.

UMMD's print cooling fan that uses a small squirrel cage blower.  The bottom of the ring has several holes that direct the air flow down onto the print.

The other side of the blower showing the air intake.  This one has a 24V brushless DC motor and ball bearings.

A few people are using things like aquarium air pumps for remote print cooling.  Pumps can push air against pressure through a tube.  The problem with aquarium air pumps is that they tend to be noisy and somewhat limited in the amount of air they move unless you get a big one, and then the cost and noise level go up.  The most common pumps vibrate a bellows using AC power, and others have pistons, usually with DC motors.  The air flow of the AC powered units is either on or off.  The DC powered pumps can be PWM'ed to control the air flow.

There is another source of air flow through tubes- it is a highly specialized blower that is essentially a centrifugal pump that is designed to move air instead of water.  Such blowers are commonly used in CPAP machines where they raise the pressure in the user's oropharynx to prevent the soft tissues from closing up the airway.  Unlike squirrel cage blowers, the air doesn't pass through the impeller.

Back when I was working on the chocolate printer, I needed a way to deliver a lot of air to cool the chocolate as it came out of the extruder nozzle, just like we do in FDM 3D printers.  I picked up a CPAP blower from a local American Science and Surplus store for $8 and then had to figure out how to drive it.  CPAP blowers, CPU cooling fans, typically use 3 phase brushless DC (BLDC) motors for long life and high reliability.

RC hobbyists typically use 3 phase BLDC motors in electric cars, helicopters and airplanes, so you can use an electronic speed control (an ESC, which is just a 3 phase motor driver) and servo tester to drive almost any 3 phase BLDC motor.  So I got a 25A ESC and a servo tester for about $13 from Hobbyking and hooked it all up.

Blower test video from Mark Rehorst on Vimeo.

Obviously, these things can move a LOT of air, certainly more than needed to cool a print.  But there's a problem.  The ESC and servo tester don't have a PWM input, and the motor won't start turning when you apply power- that's a safety feature to prevent a helicopter blade from chopping you to pieces when you connect a battery to the electronics.

I did some searching and found a different driver on ebay for $13 shipped from Hong Kong.  This driver is rated for 5-36V operation, up to 350W.

$13 BLDC driver purchased via ebay.  This is the whole data sheet!  It came with a main cable to connect the motor and power and a pot to act as a speed control in case you don't use the PWM input.
That black blower I tested used a lot of power, so when someone left a DeVilbiss CPAP machine on the hack rack at the makerspace, I grabbed it and pulled the blower from it.

The bottom if the DeVilbiss CPAP blower.  The motor is a 33ZW3Y36-12240 made by OEM Solutions.  The closest data sheet I can find indicates it is a 12V motor rated for 25W, 22krpm, and peak current of >8A.

Top view looking down through the air intake. Notice the little "rat-bites" at the edge of the impeller disc, presumably there to balance the disc for high speed rotation.

Side view- the impeller is very thin.  Air comes in at the center (left) of the impeller and gets flung outward.  The shape of the housing steers that air down into the chamber and out the exit port, presumably cooling the motor in the process.

I hooked up the motor, driver, and 12V power supply and made a test video:

CPAP blower test from Mark Rehorst on Vimeo.

CPAP blower test with hose from Mark Rehorst on Vimeo.

In the second video the air inlet is down against the table.  It moves a lot more air when it's open, and actually runs quieter.  In actual print cooling use, it will be running at much lower average current and is almost silent.

I designed and printed a nozzle to accept the end of the hose and fit on UMMD and tested it with the 12V supply.  It moved a lot of air through the nozzle, so I hooked it all up to the printer with the speed control pot attached to the driver board so it could be used to limit the maximum speed of the blower on-the-fly and connected the driver power input to one of the MOSFETs on the SmoothieBoard controller.  It is PWMing the power input instead of connecting the fan to 12V and using the PWM input on the driver, which is exactly how it drives the squirrel cage blower.

Test setup for CPAP blower as remote print cooling fan.  The 12V power input to the blower's driver is connected to one of the MOSFETs on the SmoothieBoard controller.  The 18 mm OD CPAP hose was used to transport the air to the nozzle on the extruder carriage.  The hose is very light weight and very flexible.

This is how the air hose was routed to the extruder carriage for the tests.  It will be arranged a little differently for final installation, if I decide to keep it in the printer.

This is the nozzle and air hose attachment on the extruder carriage.  The nozzle surrounds the heater block and directs most of the air downward.  My extruder carriage design is almost perfect for this sort of thing.  Sometimes you just get lucky.

The bottom side of the poorly printed nozzle showing the 12 air holes that blow the print cooling air mostly down onto the print.

I ran a few test prints and it works well.  The blower is so quiet that the other sounds the printer makes completely drown it out.  No, it isn't running at anywhere near ping pong ball levitating speed.

First test print with CPAP blower for print cooling from Mark Rehorst on Vimeo.

First test print with CPAP blower for print cooling, continued. from Mark Rehorst on Vimeo.

Test print running.  15% rectilinear infill.  Each layer of the infill bridges over the previous layer.

Closer view of the infill.

One of the bridges on the test print- the bottom is a little saggy, but I'm still trying to tune up the volcano heater with 0.8 mm nozzle.  As you can see the rest of the print is pretty hairy.  The fix will be a combo of temperature and retraction tuning.  The volcano heater block with large diameter nozzle is a tricky thing to get working well.  Maybe I'll do a blog post on it when I get it figured out.

A very hairy test print, but you can see that the points of the cone didn't turn into blobs as they would if the print cooler wasn't working.
If you want to try something like this yourself, the hardest part to find is the CPAP blower.  Fortunately (?), a lot of people stop using their CPAP machines because they can't adjust to sleeping with the mask.  That means you probably have an obese uncle with a slightly used CPAP machine under his bed or in a box in the garage somewhere.  Start asking!

Otherwise, you can buy the blowers directly from China in single units for $25 or so.  If you spend $35 you can even get one with a driver board.

I have a few other modifications to the printer planned, including reworking the electronics layout and wiring to make it all look a lot better, redesign the extruder carriage to center the extruder nozzle,  make extruders easily swappable (between volcano and regular heater blocks with smaller nozzles) and finally come up with a good way to mount the blower and its driver with the rest of the electronics on top of the printer.

So after all of this, does the CPAP blower or remote cooling in general, really offer any improvement over simply mounting a small blower and duct/nozzle on the extruder carriage?  Hmmmmm.  Ask me again after I get the hot end settings straightened out.


  1. Awesome work. Can you post the STL file for the mount you used at the end where the hose connects?

    1. That was a "quick and dirty" design I did to make the tests, and is pretty specific to the mount on my extruder carriage, so I don't think it would do you much good.

  2. Looks great, cpap part looks like a turbo off an old Civic. I guess forced air induction is the point in both? Don't know much about sleep apnea other then it can apparently lower test levels in dudes.

    Could you 3d print that part now or are the specs too exact to 3d print? With your previous statement on fluid dynamics now I'm not so sure.

    Sucks you felt like you had to delete your reddit account, I liked reading whatever you posted over there (please don't quit the e3d forum). At least you can do more cool stuff and post it here.

    Did you get a chance to watch Sanjay of e3d's speech or interview with Thom at mrrf? I would love to read your thoughts about it.

    Just want to say your work has been really inspirirng with how you use tech from other fields and apply it to 3d printing. I greatly enjoy your work especially with ummd which makes me want to build my own. So many things to learn.


    1. Thanks!

      Regarding CPAP machines, I don't know about lower tests (tertosterone?), but I know that since I have been using one, I no longer fall asleep while I'm driving, and I no longer have to put my car in "park" at stop lights.

      That particular incident at Reddit had one guy claiming he showed the video to his dad who had designed jet engines for Boeing (or something like that) and he said that it was impossible, so I must be faking or lying. I hit the limit of my tolerance for fools with that one.

      I haven't seen the speeches from MRRF. One of these years I'll get to the MRRF- I live just a few hours drive away from it. Maybe next year.

      Thanks again, and keep building printers and making prints!

  3. Your blog is awesome. I'm definitely using this for my machine when I get everything sorted.

  4. Got here from HaD, very cool. Would smooth tubing work to reduce turbulence / improve airflow? Or is smooth tubing not flexible enough for this application?

    1. I suspect that smooth tubing would not be as flexible and would tend to collapse when bent. Aerodynamics is a strange thing. I suspect that part of the reason for the corrugations in the tube wall is to improve air flow through the tube the same way that dimples on a golf ball improve its flight through the air. The uneven surface holds a boundary layer of still air for the moving air to slide against. The friction between the moving and still air is lower than the friction between the moving air and the tube walls. Or maybe I'm completely wrong...

  5. Like the idea of the CPAP fan and mounting. I just bought a Tronxy x5s and going to order this fan. Reason I find it interesting is the ability of getting the fans off's the hotend. Will come up with something to split the air flow between the heat sink and layer.

    1. That will probably require some sort of air diverter, using either a servo or a solenoid to move a flapper that steers some of the air flow away from the hot-end and directs it toward the print.

  6. Awesome work, so few people understand fully 'static pressure' and the ability of fans to shift air when working against higher pressure air

    1. I admit I have little understanding of it, too. It's a difficult subject. After my initial disaster with the nozzle for the 5" fan I started questioning all those designs on thingiverse. I still wonder how many of them actually work.

  7. Awesome blog, always good information. Just to follow up are you still using the CPAP blower on your printer or have you moved on to another design? I am considering moving to this type of a system to get some of the garbage off my carriage and lighten things up as much as I can.

    1. Thanks! I'm not using this blower right now (I rarely print PLA), but may soon use it in reverse to suction air from around the nozzle to run it through a particle capture device. I'll do a post on that when it's ready, hopefully in the next couple weeks.

  8. Love the write-ups Mark - keep up the good work! Great demo of what happens when you exceed the rated static pressure of a fan. Switching to a higher blade count model in the video to at least get poor performance might have dispelled the haters. (Maybe. Trolls will be trolls.) I too chafe at some of the aesthetically pleasing but improbable air flow designs and blower choices out there, including on some high end professional products.

  9. Hi Mark

    Great info. I am a cpap user also. It changed my life. Best thing I have ever done. To run a brush-less motor with a RC speed controller(you found a perfect why to do it but this info may help someone else) is very simple. The receiver sends a PWM to the speed controller. The same way a RC servo works. I wanted to let people know this if they have any brush-less RC vehicles that they can be used to control a brush-less cpap fan. Just make sure the speed controller can handle the amps.

    Great Work

    1. Thanks!
      I used an ESC and servo tester in the first video at the top of the post, when I first started toying with the idea of using a CPAP blower to cool prints. The problem with going that route is the hoops you have to jump through to make the printer controller board drive the ESC. It's a whole lot easier to get one of the cheapo BLDC drivers with a PWM input and just connect to one of the fan outputs on the printer's controller board. Then you just treat it like a normal fan.

      You can see some of what you have to do to drive a servo/ESC (in a Duet board) here:

  10. selam.. TÜRKİYE / ANTALYA dan selamlar
    ben Dewilbiss bpap cihazı kullanıyorum. motorundan ses geliyor. motorun değişmesi gerekiyor. yardımcı olursanız sevinirim

    1. Hortumda nem yoğunlaştığında genellikle garip sesler oluşur. Yoğunlaştırılmış su içinde hareket eden hava, lıkırdayan bir ses çıkarır. Bunu önlemek için yalıtımlı ve ısıtmalı hortumlar alabilirsiniz.


Leave comments or a questions here and I'll try to post a response as soon as I can.