Basic Information:
Printer Model: Voron Switchwire
MCU / Printerboard: stm32f407 / MKS Robin Nano v3.1
Host / SBC: Linux Mint
klippy.log.zip (5.3 KB)
klippy.log
Fill out above information and in all cases attach your klippy.log
file (use zip to compress it, if too big). Pasting your printer.cfg
is not needed
Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there
Describe your issue:
Hi everyone,
I’m trying my luck here to solve my problem with sensorless homing on MKS nano v3.1 under Klipper.
I’ve tried everything to get sensorless homing to work on my x-axis but without success or only halfway.
My printer is a Voron Switchwire and works perfectly with basic homing microswitches.
Let’s start with the basics, my stepper_x:
[stepper_x]
step_pin: PE3
dir_pin: PE2
enable_pin: !PE4
rotation_distance: 40
full_steps_per_rotation: 200
microsteps: 32
endstop_pin: tmc2209_stepper_x:virtual_endstop
homing_retract_dist: 2
position_endstop: 0
position_min: 0
position_max: 200
homing_speed: 40
#homing_positive_dir: false
[tmc2209 stepper_x]
uart_pin: PD5
run_current: 0.8
hold_current: 0.5
interpolate: True
stealthchop_threshold: 999999
sense_resistor: 0.11
diag_pin: !PA15
driver_sgthrs: 10
Then I activated diag_pin: in PA15 and I’m in UART mode on TMC 2209, so it should work.
DUMP_TMC STEPPER=stepper_x sends me the right information indicating that my stepper takes UART mode into account and yet, when I run an x-homing, the axis doesn’t move.
I’ve played with driver_sgthrs and homing_speed to no avail.
What’s strange is that under Mainsail, when I run homing, it seems to take place since the button turns blue and I can then move the axis positively but not negatively beyond the homing point without getting an error message indicating that the minimum limit has been exceeded, which indicates that homing has been taken into account. However, the axis didn’t move all the way to the mechanical stop.
Disabling homing_positive_dir has no effect and setting it to “true” returns an error.
I’ve tried increasing the power supply to run_current: 1.0 but to no avail.
Before homing QUERY_ENDSTOPS tells me that x is Triggered when it should be Open.
Since QUERY_ENDSTOPS always returns “Triggered”, this means that Klipper is always reading a HIGH or LOW state on PA15, no matter what. So I disabled PA15 by removing the jumper to see if I got an error but no error in Klipper, it’s like it doesn’t care about diag_pin.
Then I thought that if the PA15 didn’t seem to be taken into account, maybe it was read backwards, so I sent it back with a !PA15.
A QUERY_ENDSTOPS now tells me that the endstop_x is Open, which is a good sign.
I launch an x-homing, and miraculously the motor goes in the right direction for a homing, but takes a long time to stop, jumping violently from step to step.
Klipper tells me that x hasn’t reached its homing and QUERY_ENDSTOPS returns endstop_x: Open when it should be Triggered.
I’ve tried turning down driver_sgthrs and stealthchop_threshold: 999999 to the maximum, but nothing works, the homing is still as violent as ever, but without being taken into account.
I’ve adapted and added mykepredko’s macro to reduce the current on motor x when homing but it doesn’t seem to have any effect, the motor still retains as much power when homing.
I can’t take it anymore, and I wonder if sensorless homing is possible on this card after all.
Sorry for the length of the post, but it’ll save us all a lot of time if I don’t get suggestions I’ve already tried out.