3D打印机的噪音来源之一是风扇,打印头一般装有两个风扇,一个是吹料口的风扇,这个风扇由切片软件生成的切片文件里面的代码控制开启,另一个是加热头的风扇,因为主板一般只有一个可控风扇的接头。加热头的风扇一般直接接在主板的电源接口上,因此,只要打印机开机工作,这个风扇就会一直工作。事实上,加热头不工作的时候这个风扇是不需要打开的。比如我们平时调平打印机,调试机器的时候。
改造这个风扇就是给它加一个温控的功能,只有加热头到达一定温度,比如50度以上,风扇才工作,低于50度,风扇就休息。
新版本的Marlin固件和KLipper固件都提供了解决方案。
首先,打开主控板,接线做一点改动。
原来的加热头风扇接在主板的12伏/24伏电源输出端口:
需要把风扇的插头拔下来,把接线端子剪掉。把风扇的电源线用剥线钳剪掉一点,剪掉的部分最好加一点焊锡。
把风扇的电源线接在闲置的第二个加热头的位置。如下图所示:
接线部分就完成了。需要对固件的设置做一点改动。下面分别对Marllin和KLipper的改动进行说明。
首先看看Marlin固件。
打开Marlin的configuration_adv.h文件。找到E0_AUTO_FAN_PIN 定义这一行:
#define E1_AUTO_FAN_PIN -1
#define E2_AUTO_FAN_PIN -1
#define E3_AUTO_FAN_PIN -1
#define E4_AUTO_FAN_PIN -1
#define E5_AUTO_FAN_PIN -1
#define E6_AUTO_FAN_PIN -1
#define E7_AUTO_FAN_PIN -1
我们需要修改E0_AUTO_FAN_PIN。意思是加热头对应的风扇控制引脚。默认的情况下设置是-1, 也就是禁用的状态。
把主板的电路板反过来,可以看到丝印的电路引脚。
MKS SGEL V1.0的主板是P2-6
MKS GEN_L V2.0 的主板是D7:
刚开始的时候查找对应的引脚花费了不少时间,实际上,最新的代码里面有一个宏定义FAN1_PIN可用,直接改成FAN1_PIN就可以了:
#define E0_AUTO_FAN_PIN FAN1_PIN
#define E1_AUTO_FAN_PIN -1
#define E2_AUTO_FAN_PIN -1
#define E3_AUTO_FAN_PIN -1
在代码中搜索一下FAN1_PIN,可以看到,不同的主板定义了对应的引脚,如MKS SGEL V1.0
#ifndef FAN1_PIN
#define FAN1_PIN P2_06
#endif
和主板上的丝印是对应的。
MKS SGEN V2.0 的定义:
#ifndef FAN1_PIN
#define FAN1_PIN P1_04 // FAN2
#endif
对MKS GEN_L v2.0的主板,应该设置为:
define E0_AUTO_FAN_PIN 7
在Marlin的代码中的下面几行,可以看到控制风扇开启的温度:
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
#define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed
#define CHAMBER_AUTO_FAN_TEMPERATURE 30
#define CHAMBER_AUTO_FAN_SPEED 255
#define COOLER_AUTO_FAN_TEMPERATURE 18
#define COOLER_AUTO_FAN_SPEED 255
比如我们可以把EXTRUDER_AUTO_FAN_TEMPERATURE改成48.55度,看看是不是精确的进行控制了。哈哈...
改好后,编译上传固件刷新就OK了。
再开机,整个世界安静了。改造完成!
再来看看KLipper固件,需要在Klipper的配置文件中添加以下 代码:
主要需要修改的也是加热头1的管脚代码。这个需要查一下主板的官网说明书。
改成相应的代码,restart firmware.
Done!
题外话:
3D打印机的静音改造第一步当然是使用TMC2209的静音电机驱动。而另一大噪音来源就是电源。换用一个二手的服务器电源是最佳解决方案。我目前用的这个500W电源,足功率,非常的安静。
另一个用的HP服务器电源也非常不错。
经过上述改造,3D打印机就能安安静静的工作了,有时候你甚至怀疑它没有替你干活。