-
Notifications
You must be signed in to change notification settings - Fork 282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add sensorless homing configurations #181
base: main
Are you sure you want to change the base?
Conversation
Updated to pull backoff distance variables from existing definition in `klicky_variables.cfg`
Hello Where can we download "klicky-sensorless-homing.cfg"? This should be added to main folder bcs stock Klicky probe bad code can destroy printers. |
Bad code in general can destroy printers. I've had this PR sitting for a long time. I don't think jlas wants to integrate it the way I have it, so it's kind of just sat. I've got a sensorless homing suite of macros that works okay, but I am still working on finishing it. |
Need to take another look at this |
I've been using these macros on my salad fork for a while now, and I've only just discovered that there are some confilcts that happen somewhere within the klicky macros. Sometimes the bed will z_hop for homing twice and I've got no clue why lol. Over all, it works, but there's some quirks that I just can't figure out due to the complexity of Klicky's config. |
I should say, I'm actually working on the whole sensorless thing right now since it came up, and I'm getting close to something I'm happy with. |
So this might not need to be merged anyway, since you were more interested in it being standalone and not a part of klicky. |
@jlas1 if you're at all curious, here's the (mostly) finished macro. Not a lot left to polish. But maybe you'll find something here that would help you out. |
To centralize the variables on the same location
Something like this might work: {% if printer.configfile.settings['tmc2209 stepper_x'] is defined %}
{% set default_x_run = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %}
{% endif %}
{% if printer.configfile.settings['tmc2209 stepper_y'] is defined %}
{% set default_y_run = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %}
{% endif %}
{% if printer.configfile.settings['tmc5160 stepper_x'] is defined %}
{% set default_x_run = printer.configfile.settings['tmc5160 stepper_x'].run_current|float %}
{% endif %}
{% if printer.configfile.settings['tmc5160 stepper_y'] is defined %}
{% set default_y_run = printer.configfile.settings['tmc5160 stepper_y'].run_current|float %}
{% endif %} There might be an easier way to check the driver types defined and go from there, but this is what I came up with for now. :) |
Klicky destroyed 2 printheads on my printer. Because I used Home X after printing ends. Klicky moves Z before homing X and destroys printheads through collisions with printed objects. |
That's very strange, klicky should not move the toolhead down?
Any specific on your setup?
…On Thu, 28 Sept 2023, 07:26 Pavel, ***@***.***> wrote:
Bad code in general can destroy printers. I've had this PR sitting for a
long time. I don't think jlas wants to integrate it the way I have it, so
it's kind of just sat. I've got a sensorless homing suite of macros that
works okay, but I am still working on finishing it.
Klicky destroyed 2 printheads on my printer. Because I used Home X after
printing ends.
Klicky moves Z before homing X and destroys printheads through collisions
with printed objects.
—
Reply to this email directly, view it on GitHub
<#181 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AD7HHCUEEFAISCAGQS52CF3X4UKCTANCNFSM6AAAAAAUK2PS34>
.
You are receiving this because you were assigned.Message ID:
***@***.***>
|
Klicky macroses always move Z to safe Z distnace when you make homing X or Y. If you have printed details with height more then safe Z under nozzle and call G28 X in after print gcode Klicky macroses will break printhead. As I said 2 printheads were broken after Klicky installation before we found reason. |
I've got the configuration totally mint for sensorless homing and klicky probe now. 😄 I only have one concern though. The homing_current stuff right now assumes the printer is CoreXY. A check can be added using |
@jlas1 have you gotten a chance to try this yet? Works really well on my machine. |
I think a G400 needs to be added to the top of the x_home, and y_home sections of homing_override in klicky_macros.cfg. This is in service of sensorless homing. X homes fine, Y homes fine, but if they run back-to-back in a single home-all macro, the opposing axis will always already be triggered from the previous virtual end-stop trigger (i.e. The same AB motors for both endstops). This was essential (for me) to make it work. Using TMC2209 steppers, and a BTT Octopus 1.1 board
|
Pretty sure I’ve tried this before but I could be mistaken. What did you have |
I'm sorry, but I'm not familiar with the clear_time parameter. Poking around, I don't see any reference to it grepping in /printer_data/config or /klipper. FWIW, both the host and the MCU are running Klipper v0.12.0-54-g6f686dde. Poking around online, I don't see reference to it in the context of stallguard, klipper, klicky, or gcode. Whatever the optimal fix turns out to be, I'm happy to also test it against some new TMC2240 drivers I've got here to play with for A/B. :-) |
With regard to time, I had tried various wait states in the same place in the code, i.e. a good old-fasioned |
I've made some really nice sensorless homing configurations, as well as some minor grammar fixes in klicky-probe.cfg.
What's new?
homing_current
when the opposite axis is not homed. This helps to minimize tmc current messages in the console. If XY is not homed, and you home X or Y,homing_current
will be used until both X and Y axes are homed, and then the current will return to default before attaching/docking the probe or homing Z._HOME_X
or_HOME_Y
macros defined, so changes are not necessary, as we are using this existing framework for these macros.printer.cfg
for consistency