Files
idm-documents/中文教程/教程.md
Sgr A* VMT 36dc565905 up
Signed-off-by: Sgr A* VMT <1611902585@qq.com>
2024-01-29 14:20:29 +00:00

165 lines
5.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.
### 使用本模块需要对klipper使用有一定知识和经验积累请在使用前确保你具备自己进行配置修改的能力
为了保证精度,请安装时尽可能让传感器线圈板的顶面低于加热块的底面。
## 教程里没有提到的不要做尤其是G28提到的请务必做
在用户目录下执行下方git命令来下载配套脚本
```
git clone https://gitee.com/NBTP/IDM.git
```
执行chmod +x IDM/install.sh
如果你不确定自己的pip源是否是国内源或者能否正常下载新的库或者你完全不知道pip是什么,建议使用以下命令将pip设置为清华源:
```
~/klippy-env/bin/pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
```
然后执行下方命令进行安装
```
IDM/install.sh
```
下方为添加到klipper的printer.cfg中的配置示范
```
[idm]
serial:
#canbus_uuid:
#   Path to the serial port for the idm device. Typically has the form
#   /dev/serial/by-id/usb-idm_idm_...
speed: 40.
#   Z probing dive speed.
lift_speed: 5.
#   Z probing lift speed.
backlash_comp: 0.5
#   Backlash compensation distance for removing Z backlash before measuring
#   the sensor response.
x_offset: 0.
#   X offset of idm from the nozzle.
y_offset: 21.1
#   Y offset of idm from the nozzle.
trigger_distance: 2.
#   idm trigger distance for homing.
trigger_dive_threshold: 1.5
#   Threshold for range vs dive mode probing. Beyond `trigger_distance +
#   trigger_dive_threshold` a dive will be used.
trigger_hysteresis: 0.006
#   Hysteresis on trigger threshold for untriggering, as a percentage of the
#   trigger threshold.
cal_nozzle_z: 0.1
#   Expected nozzle offset after completing manual Z offset calibration.
cal_floor: 0.1
#   Minimum z bound on sensor response measurement.
cal_ceil:5.
#   Maximum z bound on sensor response measurement.
cal_speed: 1.0
#   Speed while measuring response curve.
cal_move_speed: 10.
#   Speed while moving to position for response curve measurement.
default_model_name: default
#   Name of default idm model to load.
mesh_main_direction: x
#   Primary travel direction during mesh measurement.
#mesh_overscan: -1
#   Distance to use for direction changes at mesh line ends. Omit this setting
#   and a default will be calculated from line spacing and available travel.
mesh_cluster_size: 1
#   Radius of mesh grid point clusters.
mesh_runs: 2
#   Number of passes to make during mesh scan.
```
请注意调整配置中的x y方向偏移。确保校准过程中喷头会将线圈移动到原先喷嘴所在xy位置。
将这段配置放进printer.cfg并将serial修改为你查询到的idm的串口号查询指令为
```
ls /dev/serial/by-id/*
```
### 对于can版本将使用canbus_uuid代替serial
使用下方命令搜索can的uuid并填入
```
~/klippy-env/bin/python ~/klipper/lib/canboot/flash_can.py -q
```
请注意填入uuid后请删掉serial:
-------------------------------------------------
在配置里再加入(你不加有你好果子吃)
```
[force_move]
enable_force_move: true
```
### 之后把[probe]模块删除
如果你是用过klicky请记得移除它的相关脚本的引用
并将z限位(stepper_z的endstop_pin:后面)修改为probe:z_virtual_endstop
还需要设置
```
[safe_z_home]
home_xy_position: <你的x轴中心坐标>,<你的y轴中心坐标>
z_hop: 10
```
如果你已经配置过safe_z_home或者homing_override可以忽视这一步
#### 记得设置[bed_mesh]不然会报错
bed_mesh中的zero_reference_position不要配置
重启之后归零x和yg28 x y ,不要归零z
然后输入SET_KINEMATIC_POSITION z=80
之后就可以控制z方向移动将喷嘴贴到平台上也可以垫A4纸确保间隙合适
再输入SET_KINEMATIC_POSITION z=0注意这和之前那条不一样
之后执行idm_calibrate的指令
弹出的偏移控制框,请点击-0.1的偏移后确认,会自动进行校准
如果校准后重启之后无法归零报错no model那么你的配置文件的自动生成配置格式错误请修正格式。
如果你的机器是诸如VORON2.4这样的4z机器请加入以下配置到配置文件中
```
[gcode_macro QUAD_GANTRY_LEVEL]
rename_existing: _QUAD_GANTRY_LEVEL
gcode:
    SAVE_GCODE_STATE NAME=STATE_QGL
    BED_MESH_CLEAR
    {% if not printer.quad_gantry_level.applied %}
      _QUAD_GANTRY_LEVEL horizontal_move_z=10 retry_tolerance=1
    {% endif %}
    _QUAD_GANTRY_LEVEL horizontal_move_z=2
    G28 Z
    RESTORE_GCODE_STATE NAME=STATE_QGL
```
如果你的机器是诸如VORON三叉戟这样的3z机器请加入以下配置到配置文件中
```
[gcode_macro Z_TILT_ADJUST]
rename_existing: _Z_TILT_ADJUST
gcode:
    SAVE_GCODE_STATE NAME=STATE_Z_TILT
    BED_MESH_CLEAR
    {% if not printer.z_tilt.applied %}
      _Z_TILT_ADJUST horizontal_move_z=10 retry_tolerance=1
    {% endif %}
    _Z_TILT_ADJUST horizontal_move_z=2
    G28 Z
    RESTORE_GCODE_STATE NAME=STATE_Z_TILT
```
建议在moonraker.conf配置文件中加入下方配置,便于后续自动更新IDM的脚本
```
[update_manager idm]
type: git_repo
channel: dev
path: ~/IDM
origin: https://gitee.com/NBTP/IDM.git
env: ~/klippy-env/bin/python
requirements: requirements.txt
install_script: install.sh
is_system_service: False
managed_services: klipper
info_tags:
  desc=idm
```
含加速计(lis2dw)的版本可以在配置中添加以下内容启用加速计:
请注意,加速计的配置务必放置到IDM配置的后面。
```
[lis2dw]
cs_pin: idm:PA3
spi_bus: spi1
[resonance_tester]
accel_chip: lis2dw
probe_points:
    125, 125, 20  #此处设置为你进行共振测量时喷头所处坐标
```
配置好之后使用shaper_calibrate进行共振测量
准备工作结束后调一下z偏移再打印z偏移保存在model_offset变量中
### 调整z偏移前请务必关闭网床完成机械调平调平后要再归零一次