9

I need to set a Z offset for the Flying bear P902. I calculated the offset (-2.98). But, every time when I try to input this using the LCD screen of my 3D printer, the value jumps to either -2.99 or -2.97. As -2.97 is just a little bit too far from the bed and -2.99 is just a little bit too close to the bed (and -2.98 is perfect), I really want to input this specific value. I have tried many times on the LCD screen and also in the firmware itself.

But, even after uploading the firmware, it still displays -2.97.

This is the line of code I was changing:

#define Z_PROBE_OFFSET_FROM_EXTRUDER -2.98 // Z offset: -below +above  [the nozzle]

Is there a way I can input -2.98?

0scar
  • 37,708
  • 12
  • 68
  • 156
Rosalie W
  • 453
  • 1
  • 5
  • 14

2 Answers2

16

Z-offset persitently stored in memory?

Maybe the value of -2.97 for the Z_PROBE_OFFSET_FROM_EXTRUDER is retained in the EEPROM memory when you upload new firmware.

You could try to send the G-code M502 to the machine to re-load the values from the firmware overwriting currently stored values.

Alternative Z-offset using G-code commands

Note that there is a different (and more common) solution to set the Z-offset using G-code M851, you can do this after you uploaded the firmware to the printer. Sending G-code commands can be done using printer software and a USB connection to the printer through a so-called terminal interface. This can be done in OctoPrint, Repetier-Host, Pronterface (Printrun software suite), and probably many more. Alternatively, you could make seperate G-code (basically text files with extension .g) files with each step in a single file and "print" the files through the SD interface of the printer menu.

The following strategy must be followed to specify the Z offset:

  • Heat your printer up to your printing temperature and allow a few minutes for it to expand and settle
  • Reset the existing Z-offset to zero M851 Z0
  • Home all axes G28
  • Move the nozzle to the middle of the bed G1 X110 Y110 (if your bed is 220 x 220)
  • Turn off the software endstops with M211 S0
  • Move the nozzle down so it is just gripping a piece of standard printer paper
  • Set the Z-offset to the displayed value. E.g. if the printer displays a Z-Value of -1.23 enter M851 Z-1.23
  • Store it to the EEPROM M500
  • Important notice! Enable the endstops again with M211 S1 or the printer head will collide with the bed on the next G28 command
0scar
  • 37,708
  • 12
  • 68
  • 156
2

There is an automated procedure available. In the Marlin configuration files, you enable PROBE_OFFSET_WIZARD, LCD_BED_TRAMMING; also measure the offset from the nozzle to the probe with a caliper and put numbers here

#define NOZZLE_TO_PROBE_OFFSET { -46, -8, -2.9 }

(the meaning of the numbers is explained in the config file); then compile and upload the new firmware.

Then, from the menu, preheat the bed and nozzle; then activate the tramming wizard, and make sure that all four corners of the bed are ~ 0.1 mm from the nozzle.

Then, activate the probe wizard. The probe wizard will move the probe at the center of the bed, probe it, then move by the X and Y offset, so that the nozzle is at the center of the bed: then you can lower the nozzle and check the correct Z-offset (I recommend again leaving ~ 0.1 mm between the nozzle and the bed). (Move by small offsets, since Z can go negative, and the nozzle would crash on the bed if you move too low!) When the height is correct, hit Done and the Z-offset will be set to the correct value.

Repeat a few times until you are satisfied, then store the settings.

Just in case, copy the refined numbers in NOZZLE_TO_PROBE_OFFSET so they will be preset in the future.

The above procedure will disable automatic bed levelling; if you have a valid mesh, you can reenable ABL at the end; otherwise, build the mesh.

PS: the tramming wizard does not preheat the bed; the probe wizard does, and will wait until it is hot, but not tell you... so do not panic if it stops for a long time.

Note: ASSISTED_TRAMMING and ASSISTED_TRAMMING_WIZARD are to use the probe to do bed tramming, but this is not a good idea since we want to calibrate the probe against the nozzle; do not activate it

agarza
  • 1,734
  • 2
  • 16
  • 33
am70
  • 121
  • 2