Sensorless homing and musings on Z-offset
In a perfect example of irony, I have just decided to try sensorless homing - just a few days after finally having got around to releasing my designs for smoothed endstops.
The process turned out to be quite simple. I had some spare 2209 stepper drivers as the originals had had their diag pins removed in order to use the endstops. In fact, I had desoldered these rather than cutting them and even retained the pins, so I could also have simply resoldered the pins back into place. But, as I had the spare drivers, it seemed unnecessary.
Once the new drivers were installed, there were just a couple of changes to the Marlin firmware which I needed to make.
First was a change to enable the sensorless homing and to set default stall sensitivities.M914 X151 Y150M500 ; to save
Z offset value - how do you do it?
M851 Z0 ;Reset the offsetG28; Go HomeG1 Z0; Move the nozzle to Z=0M211 S0 ; Turn off software endstops
M851 Z<new value> ; Set new offsetM211 S1 ; Switch software endstops back onM500 ; Save to EEPROMM501 ; Read EEPROM to check the new value is set
Now, this is where advice I've read elsewhere diverges. There seem to be two distinct pieces of advice on how to record the offset. Most seem to say use the recorded Z value and enter that. Others say to add the thickness of the feeler gauge (or other measurement item - piece of paper perhaps).
The difference, in essence, is whether to record the point at which the nozzle touches the bed (I would argue this is the true Z=0) or whether to record the point at which the nozzle is likely to be at the start of a print.
I can see the logic behind both options, but I feel that setting Z=0 at the actual bed is a more meaningful value. It does mean that each print will need to have an offset applied before starting, but this may well be needed for different filament types anyway. Better, in my opinion, to have a true baseline than an arbitrary one.
Please comment if you disagree (or if you agree, to be egalitarian).
Comments
Post a Comment