Home offset with panelolu2
January 29, 2016 03:27AM

I have a Mendel90 running Marlin on a Melzi board and a panelolu2.

In the panelolu2 I have a meny entry that says "Set home offset".
What does this do and how are you supposed to use it?
I thougt it could be used to set Z-home so that I do not need to update firmware everytime that needs to change. But I cannot figure out how to use it.

Re: Home offset with panelolu2
January 29, 2016 08:06AM
I would guess that it sets the home offset

But this only survives till next controller reboot.

It would need to be saved with a m500 to survive a reboot.

It badly documented [github.com]

"The __Set Home Offsets__ menu option subtracts `current_position` from `home_offset`. So, first you do an __Auto Home__ command (which sets `current_position` to the home position minus the `home_offset`.) Then, move the axes with the LCD options or host, and then use __Set Home Offsets__ from the LCD to subtract the `current_position` from the `home_offset` and set `current_position` to the home position. To clear `home_offset` you just __Auto Home__ then __Set Home Offsets__ right away. "
How "Set Home Offsets" works...
February 09, 2016 05:20PM
Sorry about the documentation for this feature. It needs work! Please feel free to fix any errors or missing parts that you notice in the Marlin documentation. We can always use more contributors who care.

To clarify this feature, let's look at a simple example of using the "Set Home Offsets" (M428) command:

Let's say your current home_offset is [0, 0, 0]. Assuming a cartesian machine with only min endstops: If you do a G28 command to go to the home position the current_position will be [0, 0, 0].

But, you don't like the Z position. It's too low and scraping the bed. You could adjust the endstop and do G28 again. But this might not be convenient. So, you can move Z up instead, then use "Set Home Offsets" (M428). The current Z position will become Z=0.

Let's say you moved Z up by 1.2mm. The home_offset in that case will be [0, 0, -1.2].

Now if you home with G28 your current_position will be [0, 0, -1.2]. If you then start a print, Z will first move up by 1.2mm to reach Z=0, compensating for that too-low Z endstop.

Let's say that 1.2mm wasn't enough. You've homed to [0, 0, -1.2] and you've moved Z up until Z=0, but it's still too low! So, you move it up by 0.2mm more, where Z equals 0.2mm. Now when you use "Set Home Offsets" (M428) that 0.2mm is subtracted from home_offset[Z_AXIS], giving you [0, 0, -1.4].

Edited 1 time(s). Last edit at 02/09/2016 05:21PM by Thinkyhead.

| Lead Developer of Marlin Firmware
| Help support my work at Patreon and Elsewhere.
Sorry, only registered users may post in this forum.

Click here to login