Files
idm-documents/中文教程/温补参数测算教程.md
Sgr A* VMT 6f5796a02f up
Signed-off-by: Sgr A* VMT <1611902585@qq.com>
2024-04-02 02:52:02 +00:00

84 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
本教程旨在针对性优化温补参数,降低温飘,进行本优化耗时较长(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的校准步骤