Resumen
ADVERTENCIA: EL CÓDIGO GENERA UN VENTILADOR EN LA ORIENTACIÓN INCORRECTA. DEBES REFLEJAR ESTO EN EL SLICER.
Usé el código básico generado por Rennat, pero lo cargué en OpenSCAD para modificar la parte del ventilador donde va el imán.
Aumenté las aspas de 9 a 11, y no estoy completamente seguro de que el ángulo de las aspas sea el mismo, pero cumple con su función de enfriamiento. También es mucho más silencioso. Podía oír el viejo ventilador abajo, ahora puedo notar el ventilador cuando estoy en la habitación.
Se me rompió una cuchilla del ventilador principal y no tenía ganas de gastar más de 7 dólares en conseguir un ventilador nuevo. Esto en realidad pudo haber sido mejor debido a la reducción del ruido.
¡Creado con Customizer!
https://www.thingiverse.com/apps/customizer/run?thing_id=2536887
Ajustes de impresión.
Marca de la impresora:
Anycubic.
Imprimadora:
Fotón.
Balsas:
No.
Apoya:
Sí.
Resolución:
.3mm de altura
Relleno:
100
Notas:
Asegúrate de que las cuchillas se vean correctas y coincidan con el ventilador que tienes antes de imprimir. El ventilador se reflejó según lo que necesitaba.
Este ventilador es un poco demasiado detallado para una FDM, pero eres libre de intentarlo. Yo opté por mi impresora AnyCubic Photon, y además, mi Ender3 tenía un ventilador roto en el extremo caliente, por lo que no estaba disponible.
Podrías imprimir esto directamente en la cama, pero estaba teniendo problemas con los pies de elefante, los soportes le dan un aspecto con hoyuelos, pero creo que eso tendrá menos efecto en el flujo de aire. Si imprimes esto directamente en la cama, tendrás que hundirlo unos 0,06 mm en la cama porque las cuchillas sobresalen un poco.
~ // El diámetro de la hélice en milímetros propDiameter=36.75; propHeight=6.75; // cambia el ángulo de las palas. Pitch es la distancia que la hélice movería hacia adelante con una rotación completa. propPitch=105; // el espesor objetivo para el punto más grueso del perfil aerodinámico. No se sigue exactamente. propThickness=.7; // la cantidad de curvatura en las palas (introducido
Cómo diseñé esto.
El código genera una cuchilla que necesita ser reflejada antes de imprimirse.
El diseño básico se generó aquí:
¡Creado con Customizer!
https://www.thingiverse.com/apps/customizer/run?thing_id=2536887
Hice algunos cambios en OpenSCAD, he adjuntado el código. Descubrí que el pequeño anillo elevado en el centro, cerca del eje, es necesario para estabilizar las cuchillas en el eje. También descubrí que las cuchillas son demasiado frágiles si se va por debajo del espesor de la cuchilla de 0,6 mm.
Código para OpenSCAD.
// Generador de hélice basado en el perfil aerodinámico NACA4 para uso con conductos.
/*
Tamaños de accesorios y valores de paso comunes en mm:
*/
// Parámetros
// El diámetro de la hélice en milímetros.
propDiameter=36.75;
propHeight=6.8;
// Cambia el ángulo de las cuchillas. El paso es la distancia que la hélice movería hacia adelante con una rotación completa.
propPitch=105;
propThickness=.75;
// La cantidad de curvatura en las cuchillas (introducida en el algoritmo NACA4).
propNacaCamber=0.1;
// La posición de la curva máxima en las palas (pasada al algoritmo NACA4).
propNacaMaxCamberPosition=0.44;
// número de cuchillas
propBladeCount=11;
// el diámetro del agujero en el centro del accesorio.
Diámetro del eje de transmisión = 2,15;
// El diámetro del cubo, donde una tuerca podría unir esto a un motor.
propHubDiameter=21.25;
// utilizado para crear la curva en el exterior del concentrador.
propHubMinRadius=0;
// parámetros de calidad
// Número de segmentos para renderizar las cuchillas, menor es más suave pero más lento.
propSegmentSize=1;
// El número de muestras en los perfiles de aletas, cuanto mayor sea, más suave será, pero más lento.
propNacaSampleCount=80;
// Ajustes recomendados para una vista previa rápida:
//propSegmentSize=4;
//propNacaSampleCount=21;
// Ajustes recomendados para renderizado de alta resolución:
//propSegmentSize=0.5;
//propNacaSampleCount=161;
//
// incluye
//
// El Customizador de Thingiverse solo permite un uso o inclusión limitados.
// Este archivo contiene todo el código necesario con atribución.
//https://www.thingiverse.com/thing:898554
/-------------- naca4.scad -----------------/
/------------------------------------------/
//
/----------- naca4_airfoil.scad -----------/
/------------------------------------------/
//
// el final incluye
//
Pi = 3.14159265359;
La función pitchAngleAtRadius(radius) devuelve el arco tangente de propPitch dividido por 2, donde propPitch es el ángulo de inclinación de la hélice y radius es el radio del rotor.πradio));
función chordLengthForAngleAndHeight(ángulo, altura) = altura/sen(ángulo);
Módulo prop_blade() {
propRadius=propDiameter/2 + propSegmentSize;
segmentCount=round(propRadius/propSegmentSize);
segmentos = [para(i = [0:1:count de segmentos - 1])
Deja que...
posición=i/(conteo de segmentos-1),
radio=transformación afín (0, 1, 0, radio de la propiedad, posición),
ángulo=ángulo de inclinación en el radio (radio),
chord=chordLengthForAngleAndHeight(ángulo, altura de la propiedad),
naca=[propNacaCamber, propNacaMaxCamberPosition, propThickness/chord]
)
airfoilLoftSegment(posición=posición, naca=naca, cordón=cordón, ángulo=-ángulo)
[];
rotate([0,90,0])
rotar([0,0,90])
AirfoilLoft(
segmentos=segmentos,
span=propRadius,
paso=tamaño del segmento de apoyo,
nacaSampleCount=propNacaSampleCount
);
}
Módulo prop_hub() {
translate([0,0,-propHeight/2])
rotate_extrude($fn=180)
union() {
translate([0,-propHeight/2])
cuadrado([diámetro del eje del propulsor/2-radio mínima del eje del propulsor, altura del propulsor]);
translate([propHubDiameter/2-propHubMinRadius,0])
escala([propHubMinRadius/propHeight,1])
círculo(d=propHeight, $fn=180);
}
}
Módulo prop_hub_center() {
translate([0,0,-propHeight])
// rotate_extrude($fn=180)
difference() {
Cilindro (d=20, h=propHeight +5.7, centro=true, $fn=360);
diferencia(){
Cilindro (d=diámetro del eje de la hélice + 1,6, h=altura de la hélice + 6,5, centro=verdadero, $fn=360);
Cilindro (d=diámetro del eje de la hélice + 1,65, h=altura de la hélice + 4,25, centro=verdadero, $fn=360);
}
}
// union() {
// cilindro(d=20,h=propHeight*2.5-5,center=true,$fn=360);
//
}
Módulo prop() {
intersección() {
union() {
prop_hub();
bladeAngleOffset = 360/propBladeCount;
para (i=[1:1:propBladeCount]) {
Rotar([0,0,i])[bladeAngleOffset])
prop_blade();
}
}
difference() {
Cilindro (d=diámetro de la hélice, h=altura de la hélice)4,centro=verdad, $fn=360);
prop_hub_center();
Cilindro (d=diámetro del eje de la hélice, h=altura de la hélice)5, centro=verdad, $fn=80);
Cilindro (d=diámetro del eje de la hélice - radio mínimo del eje de la hélice)2,h=propHeight2,$fn=80);
Traducir([0,0,-propHeight3])
Cilindro (d=diámetro del eje de la hélice - radio mínimo del eje de la hélice)2,h=propHeight2,$fn=80);
}
}
}
color("verde claro")
prop();
モデルソース
