84 lines
3.0 KiB
Markdown
84 lines
3.0 KiB
Markdown
本教程旨在针对性优化温补参数,降低温飘,进行本优化耗时较长(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_TMEP=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的图片,并判断拟合效果,图片示例如下:
|
||

|
||
第一行为原始数据,第二行为温补后的数据。可以看到这是一个拟合效果比较好的,偏移都被控制在3位数内。
|
||
|
||
#### 之后请将生成的参数复制到配置文件中的[IDM]块下,示例如下:
|
||

|