Problem with negative Z-offset

Hi all,
I have an ender 3 V1 since a long time ago. It was working nice, and after a long time without using it, I’m trying to restart it.
The printer is equiped with a bigtreetech SKR 1.1 DIP mother board with marlin 2.0.x. I had no issues with all of this.
I had problems with the extruder, so I decided to remove extruder and nozzle and I installed the Creality sprite pro the last week. No problem with it. But I can’t apply the Z-offset.
I followed a lot of tutorials to do this, like this one for example :

01 - Chauffer bed et buse
02 - Sortir filament
03 - G28 Mise à l’origine des axes
04 - M851 Z0 Initialisation du décalage en Z (mise à 0)
05 - M500 Stockage du réglage en EEPROM
06 - G28 Z Mettre à l’origine l’axe Z
07 - G1 F60 Z0 Déplacer la buse au 0 du Z
08 - M211 S0 Désactiver sécurité pour pourvoir aller en négatif si besoin
09 - Déplacer l’axe Z (move axis) pour réglage avec le feuille
10 - Relever le résultat du décalage en Z
11 - M851 Z -1.02 Enregistrement de a valeur relevée (ici -1.02mm)
12 - M211 S1 Réactiver la sécurité
13 - M500 Stockage du réglage en EEPROM
14 - M503 Vérification de la prise en compte des modifications
15 - G28 Origine auto
16 - Faire le niveau du lit automatique

It’s not the only one I tried, but each time I tried I had the same problem. I have an offset of -2.30mm. I memorize it with M851 Z-2.30 command and I save parameters with M500 . I verify with M503 and it’s OK. This is the right value on the LCD screen.
But when I start a print, the nozzle is always about 2.3mm too high.

To verify if the offset value is applied, I tried to not indicate the minus and I save the value 2.3mm instead of -2.3mm with M851 Z2.30. This time the value is taken and the nozzle is higher (4,6mm). I don’t understand why it doesn’t work with minus value. Of course I tried to disable security, but it had no effect (command M211 S0).

Another weird thing, when I apply the negative offset (for me, the right offset !!), the bed leveling doesn’t work. At the first point, the Z axis is going down, but the BL Touch doesn’t go down enough, the process stops with an error and I have to restart the printer. With the positive value, the bed leveling is working, but as I said the nozzle is too high (about 4,60mm too high).

I hope I’m clear. Sorry for my english if I write mistakes, I’m not anglosaxon. And finally, thanks for your help !

Hi @Makokoy and welcome to the forums.

I am not familiar with the BigTreeTech boards so cant really offer much insight in to that side of things other than to suggest a firmware update.

In regards to the commands you are issuing to the printer…
M851 is not for Z offset of the nozzle, it is instead designed for specifying the offset between the nozzle and the probe, not the nozzle and the bed.

Generally you would set the printers configuration to factory ensuring all values are zeroed out, then you would specify the offset between the nozzle and the probe, after that you would run through the bed leveling/homing process and once you begin your first print you would then adjust the Z offset on the printer to bring the nozzle to the correct distance from the bed.

I also believe that usually when using a touch probe you would disconnect the z endstop limit switch as the probe takes over the role of the limit switch.

Hopefully someone with a little more insight into this printer setup may be able to offer some suggestions when they see this.

Thanks Nikoli for you answer.
Maybe I didn’t use the right words, but the M851 is used in all the tutorials I found to tune the Z-offset. So I think it is the right command. What I don’t understand is that all was working with my old extruder and heater.
Maybe I wil try to reset completly the eeprom…

M851 is not for the z offset, I can assure you that it is for specifying the offset from the probe to the nozzle. Not for specifying the Z height of the nozzle to the bed.

Here is a link to the official marlin M851 gcode information to clarify the use of that command…

M851 - XYZ Probe Offset