The 200mm Noctua NF-P20 PWM running at full speed is the best fan I have found to add quiet cooling.
I managed to print a single piece fan shroud from polycarbonate (PC) - which means that I can most likely also print it from fire retardant PC once I get some.
The fan shroud is tied to the Apollo fan grill and the 200mm Noctua fan is powered using the fan connector on the Apollo.
By using the Y-adapter that comes with the Noctua 200mm fan (and cutting the third cable on the Y-connector arm with 3 cables), the stock fan can continue to run with variable speed, while the Noctua 200mm fan runs at full speed all the time.
Once I get some of the 6-pin power connectors, I will splice the power cables so that the auxiliary 200mm fan gets powered by the main 12V power of the PSU (for extra redundancy).
Inserting and tightening the cable ties is tricky, but doable.
The Noctua 200mm fan keeps the ASIC temp at 58degC in 27C air temperature, with the stock fan running at 3030rpm.
Here is the OpenScad code if someone wants to play with it (it's probably full of non-manifolds and other esoteric critters, but PrusaSlicer renders the resulting STL file without problems) :
$fn=200;
_min = 0.01; // translate([-_min,0,0])
difference(){// sectioning 200mm standalone fan shroud
union(){// 200mm Noctua stand-alone Fan Shroud
difference(){// Power Supply Fan Shroud Hull to be hollowed by 2nd hull
hull(){// Outer hull
// total height is supposed to be 50mm
translate([0,0,0])
difference(){// shape of Polli top opening inner dimensions; differencing a ring from a cube
cube([88, 88, 1], center=true);// square hole
translate([0,0,-50])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=52.25, h=200);
}
// End difference to make ring
}
// End difference
translate([0,0,-50])
cylinder(r=98.5, h=1);
}
// End outer hull
hull(){// Inner hull
// total height is supposed to be 50mm
translate([0,0,-0.5])
difference(){// shape of Polli top opening inner dimensions; differencing a ring from a cube
cube([86.4, 86.4, 1], center=true);// square hole
translate([0,0,-50])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=51.25, h=200);
}
// End difference to make ring
}
// End difference
translate([0,0,-50])
cylinder(r=97.5, h=1);// opening for 200mm Noctua fan
}
// End inner hull
difference(){// opening the bottom hole again: shape of Polli top opening inner dimensions; differencing a ring from a cube
cube([86.4, 86.4, 10.5], center=true);// square hole
translate([0,0,-50])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=51.25, h=200);
}
// End difference to make ring
}
// End difference
}
// End difference of hull to be hollowed
translate([0,0,3.5])
difference(){// part that enters Polli opening
difference(){// shape of Polli top opening dimensions; differencing a ring from a cube
cube([88, 88, 6.5], center=true);// square hole
translate([0,0,-55])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=52.25, h=200);
}
// End difference to make ring
}
// End difference
difference(){// shape of Polli top opening inner dimensions; differencing a ring from a cube
cube([86.4, 86.4, 6.5], center=true);// square hole
translate([0,0,-50])
difference(){// making ring to be differenced
cylinder(r=120,h=200);
cylinder(r=51.25, h=200);
}
// End difference to make ring
}
// End difference
}
// End of part that enters Polli opening for 1.5mm
translate([0,0,0.5])
difference(){// Fan attachment level top plate
// holes distance: 170mm ; 4.5mm diameter
translate([0,0,-50])
cube([200,200,1.0], center=true);// top plate
union(){// 4 x Quarter rings for corner rounding of the top late
// rounding corners by differencing 1/4th rings in each corner
translate([89,89,-100])// moving the quarter ring where it needs to be
difference(){// a quarter ring
cylinder (r=25, h=200);
cylinder (r=11, h=200);
rotate([0,0,45])
cube([15,1500,400],center=true);
translate([-18,0,0])
rotate([0,0,45])
cube([25,1500,400],center=true);
}
// End difference of a quarter ring
rotate([0,0,90])
translate([89,89,-100])// moving the quarter ring where it needs to be
difference(){// a quarter ring
cylinder (r=25, h=200);
cylinder (r=11, h=200);
rotate([0,0,45])
cube([15,1500,400],center=true);
translate([-18,0,0])
rotate([0,0,45])
cube([25,1500,400],center=true);
}
// End difference of a quarter ring
rotate([0,0,180])
translate([89,89,-100])// moving the quarter ring where it needs to be
difference(){// a quarter ring
cylinder (r=25, h=200);
cylinder (r=11, h=200);
rotate([0,0,45])
cube([15,1500,400],center=true);
translate([-18,0,0])
rotate([0,0,45])
cube([25,1500,400],center=true);
}
// End difference of a quarter ring
rotate([0,0,270])
translate([89,89,-100])// moving the quarter ring where it needs to be
difference(){// a quarter ring
cylinder (r=25, h=200);
cylinder (r=11, h=200);
rotate([0,0,45])
cube([15,1500,400],center=true);
translate([-18,0,0])
rotate([0,0,45])
cube([25,1500,400],center=true);
}
// End difference of a quarter ring
}
// End union 4 x quarter rings for corner rounding
translate([0,0,-55])
cylinder(h=100.02, r=97.5);// Auxiliary fan sized hole 192.5mm diameter
translate([-85,-85,-55])
union(){// Fan screw holes group of 4
translate([0,0,0])
cylinder(h=1000, r=2.35);// increased from r=2.25 in v20221030c
translate([170,0,0])
cylinder(h=1000, r=2.35);
translate([0,170,0])
cylinder(h=1000, r=2.35);
translate([170,170,0])
cylinder(h=1000, r=2.35);
}
// End union fan screw holes group of 4
}
// End difference fan attachment level top
rotate([0,0,0])
union(){// Cable tie loops set of 2 A
translate([-40.25,-32.25,3.0])
rotate([90,0,-142])
difference(){// hollowing cable tie loop 1
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
translate([-31.25,-41.0,3.0])
rotate([90,0,-127.5])
difference(){// hollowing cable tie loop 2
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
}
// End union cable tie loops
rotate([0,0,90])
union(){// Cable tie loops set of 2 B
translate([-40.25,-32.25,3.0])
rotate([90,0,-142])
difference(){// hollowing cable tie loop 1
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
translate([-31.25,-41.0,3.0])
rotate([90,0,-127.5])
difference(){// hollowing cable tie loop 2
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
}
// End union cable tie loops
rotate([0,0,180])
union(){// Cable tie loops set of 2 C
translate([-40.25,-32.25,3.0])
rotate([90,0,-142])
difference(){// hollowing cable tie loop 1
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
translate([-31.25,-41.0,3.0])
rotate([90,0,-127.5])
difference(){// hollowing cable tie loop 2
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
}
// End union cable tie loops
rotate([0,0,270])
union(){// Cable tie loops set of 2 D
translate([-40.25,-32.25,3.0])
rotate([90,0,-142])
difference(){// hollowing cable tie loop 1
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
translate([-31.25,-41.0,3.0])
rotate([90,0,-127.5])
difference(){// hollowing cable tie loop 2
cylinder(h=3.5,r=3);
cube([3,3,10], center=true);
translate([0,-5,0])
cube([13,13,10], center=false);
}
// End difference hollowing cable tie loop
}
// End union cable tie loops
}
// End 200mm Noctua stand-alone Fan Shroud union
*union(){// sectioning
translate([0,0,-55])
cube([200,200,100],center=true);// sectioning for partial print test
*rotate([0,0,45])
translate([50,50,-50])
cube([100,100,200],center=true);// to section the whole thing
*translate([50,50,-50])
cube([100,100,200],center=true);// to section the whole thing
}
// End union for sectioning
}
// End difference of entire fan shroud assembly for sectioning
Recommended printing material is PolyMax PC-FR (not yet tested, but it prints well with Polymaker PC-Max, which is supposedly similar)