I believe a couple attempts at bed probing using an accelerometer have been attempted. I am curious about using accelerometer data to perform z-offset measurement.
I know that support for the LISx accelerometers has been added to Klipper recently. Years ago I built an Arduino home automation project to determine whether or not my dryer was running based on vibration. I tested a number of sensors, including piezo sensors, ADXL345, and LIS3DH. The LIS3DH produced the best results by far when it was in its ‘click/double-click’ mode. My project would count the number of clicks in a rolling ten-second period and relay this data over MQTT to my computer. I believe the clicks were caused by garments in the dryer falling and then hitting the bottom of the rotating drum.
I think the ADXL had similar click-detection capabilities, but I couldn’t get them to work. I’m just a hobbyist, so maybe someone else can make it work better.
Back on topic. The LISx sensors have this tap detection mode. I am wondering if one of these sensors could sub in for a load cell or a Voron Tap-style setup in automatically measuring z-offset.
I believe an accelerometer-based approach would work better for this purpose than it has for previous attempts to use the ADXL as a substitute bed probe for a couple reasons:
- The existing bed probe would provide some idea of where the bed is. The printer wouldn’t be blindly pushing the nozzle toward the print bed.
- I believe the tap-detection abilities of the LISx sensors would be specifically useful for this approach. LIS sensors have only been in Klipper for the last four months or so, so I don’t think they were part of previous attempts at accelerometer-based bed probing
- Because the z-offset is performed much less often than bed probing and is a single measurement that is applied across the entire bed, it could be performed in a single targeted location. Example: in the rear-left corner of the print bed.
LIS3DH (the sensor from my dryer project) datasheet
LIS2DW datasheet (the sensor in the BTT S2DW)
The server would only let me put two links in a post.