13

I'm having a Prusa i3 derivative printer with a capacitive sensor for the z-axis. It switches a tiny bit before the nozzle hits the print bed and hence needs a z-offset to be configured.

In Slic3r I have configured the z-offset to -0.1 on the General page of the Printer Settings, but currently I'm evaluating Cura and can't find such a setting. Slic3r seems to apply this setting directly to the generated z-values in the g-code, so it does not use a short version at the beginning of the g-code. My current (except of the auto-bed-leveling part default) g-code:

G28 ;Home
G29 ; auto-bed-leveling
G1 Z15.0 F6000 ;Move the platform down 15mm
G92 E0
G1 F200 E3
G92 E0

Is there a way to configure Cura, e.g. using the Start Gcode options, to apply the z-offset?

Thomas S.
  • 903
  • 4
  • 9
  • 21

3 Answers3

12

You can trick the printer into applying an offset using the G92 command:

G0 Z0

G92 Z0.1

First, we move the nozzle to Z=0. Next, through the G92 command, we tell the printer to, from now on, treat the current position as Z=0.1. This effectively applies an offset of -0.1 to the Z-axis, since if we now executed G0 Z0 again, the nozzle would move down 0.1mm.

Note that this needs to be done after homing and leveling to be effective.

Of course, you don't necessarily need to move the nozzle to Z=0 for this to work. You could also just insert G92 Z15.1 after G0 Z15 to get the same effect.

Tom van der Zanden
  • 14,588
  • 2
  • 33
  • 60
  • Should I add the line `G92 Z15.1` after the `G1 Z15.0 F6000` line (you write about G0 while G1 is there)? – Thomas S. Oct 16 '17 at 17:48
  • Yes. `G0` and `G1` are the same thing. Formally, `G0` denotes a rapid move and `G1` a coordinated move, but Marlin doesn't make this distinction. It's just "move". – Tom van der Zanden Oct 16 '17 at 18:41
7

For Cura 3.1(?)+:

  1. Install the plugin: Menu / Plugins / Browse Plugins... / scroll to "Z Offset plugin" <-- Install

  2. Configure the setting: Printer Profile / Print Setup / Build Plate Adhesion / Z Offset

    • set positive value for nozzle liftup
    • set negative value to bring nozzle lower for first layer (like -0.1 for your wanted scenario)
Saran
  • 171
  • 1
  • 3
-1

I built my printer five years ago with a similar issue and I strongly suggest that the physical 0 will be the actual 0 instead of tweeking it into the system. Especially if you are exploring and testing new methods, i.e. Cura vs Slic3r settings. In Marlin, you can insert a z adjustment for the endstops but it can create future complications if you decide to upgrade the machine.

Keep it as simple as possible, if a sensor is misplaced don't try to reverse calculate it, the pressure of the motors will nudge it and after a while you'll have the same problem...

Greenonline
  • 5,831
  • 7
  • 30
  • 60
  • 1
    @ZoharKarabelnik technically you just said to set offset to match physical zero. Agreed, but now you need to suggest an alternative on how to provide the correct offset for nozzle distance to bed. That part you did not say. I would suggest those looking for an answer to set z-offset to match zero, and then look at Gcode G92 Z-xxx where -xxx is your preferred nozzle gap as a negative to create the gap. – redfox05 Feb 22 '20 at 15:08