klippy.zip (2.7 MB)
printer.cfg (23.4 KB)
canFly.cfg (3.7 KB)
Well, two steps forwards and one back - Iām hoping that you can help me get homing perfected.
I went through TMC drivers - Klipper documentation and went through everything step by step:
- Commenting out āhold_currentā in the [tmc2209 stepper_#] statements
- Put in āhoming_retract_dist: 0ā Statement in [stepper_x|y|z]
- Made sure tmc2209s are in StealthChop mode (stealthchop_threshold: 999999)
- Set homing_speed: 20 for both X and Y Axis (was 25 before)
- Found appropriate driver_SGTHRS value for X & Y running at 20
Things started to look good BUT doing homing was a bit iffy and before going on, I did a SHAPER_CALIBRATE
with SAVE_CONFIG
to see if that would work (as thatās what started off this whole thing) and it seemed to run properly, printer.cfg was updated and rebooting was fine.
I also did an ACCELEROMETER_QUERY
and no issues. For now, Iām going to assume that the problem before was an artifact of the homing problems.
Going back to homing, as I said above, things were a bit iffy and I could not do a āHome Allā so I tried to do a [homing_override]
on the X axis with the sample macro provided in the documentation. This worked well, but it didnāt resolve the issues with the Y and Z axis (they basically wouldnāt work together and demanded that the āpreviousā axis be homed).
I tried copying the [homing_override]
for the Y axis and, no surprise, it took precedence over the X axis [homing_override]
. As I have a non-functional printer, I decided to use the homing override for all three axes by modifying the original example code.
The [homing_override]
code I cobbled together seems to work okay and I can run QUAD_GANTRY_LEVEL
without any issues. You can see some experiments that I did in it to try different things that are commented out:
# XYZ Homing Override
[homing_override]
gcode:
### Lift Z Axis (just in case)
### G1 Z10 F100 <== Won't work except if everything is homed
SET_KINEMATIC_POSITION Z=0
G0 Z10 F600
# G0 Y10 F600
# G0 X10 F600
{% set HOME_CUR = 0.700 %}
{% set driver_config = printer.configfile.settings['tmc2209 stepper_x'] %}
{% set RUN_CUR = driver_config.run_current %}
# Set current for sensorless homing
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CUR}
# Pause to ensure driver stall flag is clear
### G4 P2000 <== Too long, especially with moving the Z Axis Up
G4 P500
# Home
G28 X0
# Move away
G90
G1 X200 F1200
# Set current during print
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CUR}
### Repeat the previous for the Y Axis
{% set HOME_CUR = 0.700 %}
{% set driver_config = printer.configfile.settings['tmc2209 stepper_y'] %}
{% set RUN_CUR = driver_config.run_current %}
# Set current for sensorless homing
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CUR}
# Pause to ensure driver stall flag is clear
### G4 P2000 <== Too long, especially with moving the Z Axis Up and doing X Calibration
G4 P500
# Home
G28 Y0
# Move away
G90
# G1 Y5 F1200
### Leave the carriage over the middle of the bed
G1 X110 Y110 F1200
# Set current during print
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CUR}
### Home the Z Axis
G28 Z0
G0 Z10 F600
# A list of G-Code commands to execute in place of G28 commands
# found in the normal g-code input. See docs/Command_Templates.md
# for G-Code format. If a G28 is contained in this list of commands
# then it will invoke the normal homing procedure for the printer.
# The commands listed here must home all axes. This parameter must
# be provided.
axes: xyz
Now, I have two things I need to figure out:
- I said that home all
[homing_override]
works okay but there is one problem, the Z axis probing only takes place once, not twice (with the second time running slower). How can I add this to my home all [homing_override]
code?
- Homing individual axes no longer seems to work (or at least X does, but Y and Z donāt because theyāre not getting confirmation that the previous axes are homed). How do I get these three buttons on Mainsail working properly again?
Thank you for your help - sorry I was somewhat obstinate before.