I’ve created a module to support SmartEffector in Klipper (PR 4688). It adds a few things:
SmartEffector sensitivity can be programmed in its EEPROM via e.g. SET_SMART_EFFECTOR SENSITIVITY=20
Probing acceleration as well as delay between horizontal move and probing can be configured to prevent spurious triggering of the SmartEffector piezo probe (in configuration and at runtime for tuning).
The latter, admittedly, could be configured via standard [probe] custom GCode feature, but it is just more nice to configure it as
The code works well for me. But I would like to see more testing of it prior to merging. If you are interested in SmartEffector support in Klipper, please give that PR a try.
I don’t use the smart effector, but I see similarities with the piezo probe that I use Orion from precision piezo.
the one I got have a analogue output as well as the digital where you have to fiddle with a trimpot …
As I understand the [smart_effector] do not need the smart effector to use the settings
Do you still need testers? I’m currently converting my modified predator (Duet Wifi + Smart Effector) to Klipper and absolutely would love this feature.
@bberger Unfortunately, I do not own a Duet board. You could check the smart effector doc page. It suggests to connect Control input to
Duet 2: Z-probe connector MOD pin
Duet 3: IOx connector OUT pin
Thanks for testing it! Are you sure you didn’t restart Klipper between SET_SMART_EFFECTOR RECOVERY_TIME=0.800 and SET_SMART_EFFECTOR SENSITIVITY=40 commands? Note that the sensitivity setting is set in Smart Effector EEPROM, and therefore persisted between any printer restarts or powerdowns (this is also why it cannot be configured in printer.cfg). However, recovery_time and acceleration are not persisted between the restarts. They are configurable via that command for the ease of tuning smart effector probing parameters, but ultimately must be stored in printer.cfg by the user. I’m not sure if the documentation is clear enough about that.
sensitivity: 25
probing acceleration control disabled
probe recovery time: 0.400
probing acceleration control disabled
probe recovery time: 0.800
sensitivity: 40
probing acceleration control disabled
probe recovery time: 0.800
If you really get the different output within the same run, can you please try again (with the latest commit 0f85c45438cb3bd5632d5da9e87d81a2cea4c7ad) and post the klippy.log from that attempt?
Unfortunately, no other command does that. E.g. you can change PA parameters with SET_PRESSURE_ADVANCE or velocity/acceleration limits with SET_VELOCITY_LIMIT, but you cannot save the changes to printer.cfg. Only the calibration tools like PID tune, bed mesh, etc. offer that possibility. I don’t think we should change it for just one command. But fortunately, one could execute SET_SMART_EFFECTOR without any parameters to dump the currently active settings, and transfer them to the config manually. And it is usually a one-time job.
OK, so the testing showed that the [smart_effector] code works well, and now it is integrated into the Klipper mainline. So, thanks everyone for testing it!