### 使用本模块需要对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和y(g28 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偏移前请务必关闭网床,完成机械调平,调平后要再归零一次