本教程旨在针对性优化温补参数,降低温飘,进行本优化耗时较长(1h以上),如果不温补已经能满足需求则不需要进行本操作。 首先将下方宏粘贴到配置文件中 ``` [gcode_macro DATA_SAMPLE] gcode: {% set bed_temp = params.BED_TEMP|default(90)|int %} {% set nozzle_temp = params.NOZZLE_TEMP|default(250)|int %} {% set min_temp = params.MIN_TEMP|default(40)|int %} {% set max_temp = params.MAX_TEMP|default(70)|int %} M106 S255 TEMPERATURE_WAIT SENSOR='temperature_sensor IDM_coil' MAXIMUM={min_temp} M106 S0 G28 G0 Z1 M104 S{nozzle_temp} M140 S{bed_temp} TEMPERATURE_WAIT SENSOR='temperature_sensor IDM_coil' MINIMUM={min_temp} IDM_STREAM FILENAME=data1 TEMPERATURE_WAIT SENSOR='temperature_sensor IDM_coil' MINIMUM={max_temp} IDM_STREAM FILENAME=data1 M104 S0 M140 S0 M106 S255 G0 Z80 TEMPERATURE_WAIT SENSOR='temperature_sensor IDM_coil' MAXIMUM={min_temp} M106 S0 G28 Z0 G0 Z2 M104 S{nozzle_temp} M140 S{bed_temp} G4 P1000 IDM_STREAM FILENAME=data2 TEMPERATURE_WAIT SENSOR='temperature_sensor IDM_coil' MINIMUM={max_temp} IDM_STREAM FILENAME=data2 M104 S0 M140 S0 M106 S255 G0 Z80 TEMPERATURE_WAIT SENSOR='temperature_sensor IDM_coil' MAXIMUM={min_temp} M106 S0 G28 Z0 G0 Z3 M104 S{nozzle_temp} M140 S{bed_temp} G4 P1000 IDM_STREAM FILENAME=data3 TEMPERATURE_WAIT SENSOR='temperature_sensor IDM_coil' MINIMUM={max_temp} IDM_STREAM FILENAME=data3 M104 S0 M140 S0 M106 S255 G0 Z80 TEMPERATURE_WAIT SENSOR='temperature_sensor IDM_coil' MAXIMUM={min_temp} M106 S0 G28 Z0 G0 Z5 M104 S{nozzle_temp} M140 S{bed_temp} G4 P1000 IDM_STREAM FILENAME=data4 TEMPERATURE_WAIT SENSOR='temperature_sensor IDM_coil' MINIMUM={max_temp} IDM_STREAM FILENAME=data4 M104 S0 M140 S0 ``` 使用`DATA_SAMPLE BED_TEMP=指定热床温度 NOZZLE=指定喷嘴温度 MIN_TEMP=采集温度范围最小值 MAX_TEMP=采集温度范围最大值` (若不输入自定义参数,宏将按默认值运行(BED_TEMP=90 NOZZLE_TEMP=250 MIN_TEMP=40 MAX_TEMP=70)) 即可开始采集数据,之后会在klipper文件夹中生成data1,data2,data3,data4 四个文件,耗时较长。 完成后将4个文件移动到用户目录下的IDM文件夹中。 然后执行 ``` cd ~/IDM ~/klippy-env/bin/python arg_fit.py ``` (请在执行前确认当前使用的是最新的脚本包,如果不是 请重新git clone) 运行后会生成出三个参数,并在IDM文件夹中生成一张图片。(这个过程运算量很大,需要一段时间) 请检查该文件名为fit_result.png的图片,并判断拟合效果,图片示例如下: ![fit_result](/imgs/fit_result.png) 第一行为原始数据,第二行为温补后的数据。可以看到这是一个拟合效果比较好的,偏移都被控制在3位数内。 #### 之后请将生成的参数复制到配置文件中的[IDM]块下,示例如下: ![fit_result](/imgs/example.jpg) 最后建议重新按主教程执行一次idm_calibrate的校准步骤