Welcome! Log In Create A New Profile

Advanced

Configurating an Y-endstop that sits too far out?

Posted by Ohmarinus 
Configurating an Y-endstop that sits too far out?
May 19, 2019 04:05AM
Hi, I'm having a situation that I managed to fix a little bit, but not in an elegant way and I want to know if there is a better solution possible firmware-wise instead of having to move the endstop physically.

Situation:

The endstop sits all the way in the back now, allowing the printbed to move as far as technically possible. I wanted this freedom so that I could add a 'nozzle wipe' code before each print so the wipe could occur in front of the machine where I can see it and easily clean away the wiped material.

Problem:

The Auto Bed Leveling feature now probes out of the bed, despite having set the M206 command to Y-30 to compensate for the endstop that is moved back.

Solution:

The machine now homes perfectly on XYZ (Z_SAFE_HOMING) but I had to set the print bed size to 220 even though the printable surface is only 190mm's tall. The entire bed is 220mm's long so even if it would move 220mm's this would mean the nozzle would have to be on the exact edge of the bed and not exactly lined out on the printable surface. This together with #define MIN_PROBE_EDGE 0 and #define FRONT_PROBE_BED_POSITION 30 make it so that the probing happens exactly on the outer limits of the printable area resulting in a correctly measured Z-height.

I do not feel it is an elegant solution to set the dimensions in Marlin to some 'bogus' dimensions just so that it works. Beside this point, when homing to the center of the bed it actually homes the Y-axis a little more to the front and not in the middle.

It is conflicting to say the least to use the M206 command to compensate for the Y-endstop being 30mm's further to the back. So Z_SAFE_HOMING also doesn't take into account the M206 settings.

Now what would be a more elegant and a better solution to tackle this situation? I hope I have explained it clearly as I couldn't really find out more than just the M206 command to aid in this situation.

Below some related snippets of code from my config:

// The size of the print bed
#define X_BED_SIZE 210
#define Y_BED_SIZE 220
// real size of Y is 190 but find min_probe_edge it has -30 in it and I set the M206 Y-30 to compensate for the endstop distance

#define X_PROBE_OFFSET_FROM_EXTRUDER -31  // X offset: -left  +right  [of the nozzle]
#define Y_PROBE_OFFSET_FROM_EXTRUDER -27  // Y offset: -front +behind [the nozzle]
#define Z_PROBE_OFFSET_FROM_EXTRUDER -0.80   // Z offset: -below +above  [the nozzle] was -0.47

// Certain types of probes need to stay away from edges
#define MIN_PROBE_EDGE 0

// Set the boundaries for probing (where the probe can reach).
  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE)
  #define FRONT_PROBE_BED_POSITION 30
  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE)

#define Z_SAFE_HOMING

#if ENABLED(Z_SAFE_HOMING)
  #define Z_SAFE_HOMING_X_POINT ((X_BED_SIZE) / 2)    // X point for Z homing when homing all axes (G28).
  #define Z_SAFE_HOMING_Y_POINT ((Y_BED_SIZE) / 2)    // Y point for Z homing when homing all axes (G28).
#endif

Edited 2 time(s). Last edit at 05/19/2019 04:09AM by Ohmarinus.


http://www.marinusdebeer.nl/
Re: Configurating an Y-endstop that sits too far out?
May 22, 2019 02:48PM
So let me get this right - when the bed is hitting the endstop, the front edge of the bed is behind the nozzle, correct? That's an easy configuration to set up. All you need to do is set Y_MIN_POS to a negative value such that 0, 0 is the front left corner of the bed. I have this configuration on my AM8 - both my X_MIN_POS and Y_MIN_POS are negative. Then you don't need to play around with any of the other settings other than X_BED_SIZE and Y_BED_SIZE. In your case it looks like you want Y_MIN_POS to be -30

Since you have an inductive probe I would recommend leaving MIN_PROBE_EDGE at at least 10mm to ensure you don't get incorrect readings near the edge of the bed. If you use Unified Bed Leveling you can always use a G29 P3 to fill in the spots the probe doesn't reach.

So:
  • Start with the default configuration file
  • Set X_MIN_POS and Y_MIN_POS
  • Set X_BED_SIZE and Y_BED_SIZE
  • Enable Z_SAFE_HOMING
  • Enjoy!
Re: Configurating an Y-endstop that sits too far out?
May 23, 2019 04:41PM
Quote
MMcLure
So let me get this right - when the bed is hitting the endstop, the front edge of the bed is behind the nozzle, correct? That's an easy configuration to set up. All you need to do is set Y_MIN_POS to a negative value such that 0, 0 is the front left corner of the bed. I have this configuration on my AM8 - both my X_MIN_POS and Y_MIN_POS are negative. Then you don't need to play around with any of the other settings other than X_BED_SIZE and Y_BED_SIZE. In your case it looks like you want Y_MIN_POS to be -30

Since you have an inductive probe I would recommend leaving MIN_PROBE_EDGE at at least 10mm to ensure you don't get incorrect readings near the edge of the bed. If you use Unified Bed Leveling you can always use a G29 P3 to fill in the spots the probe doesn't reach.

So:
  • Start with the default configuration file
  • Set X_MIN_POS and Y_MIN_POS
  • Set X_BED_SIZE and Y_BED_SIZE
  • Enable Z_SAFE_HOMING
  • Enjoy!

Awesome, I overlooked Y_MIN_POS! Thanks a lot. This should solve it. Of course I already had Z_SAFE_HOMING enabled winking smiley (but it's always good to repeat info for others reading into this).

So much stuff to do. Yesterday I finally got the TMC2208 drivers to work in UART mode, so this was about the last thing to 'fix' in my selfbuilt printer and now it's basically a great working printer smiling smiley (with proximity bed leveling etc).


Edit;
It works wonderfully now! Going to try out the DRV8825 this evening with a TL Smoother (8 diodes) to improve that Z-axis feedrate smiling smiley

Edited 1 time(s). Last edit at 05/24/2019 12:38PM by Ohmarinus.


http://www.marinusdebeer.nl/
Re: Configurating an Y-endstop that sits too far out?
May 28, 2019 11:14AM
There is only one last weird thing. When homing and sending the machine to certain coordinates, it works as intended, I now have full coverage of the 210x190mm build area.

But, when I make a print, it suddenly centers the print too far up. As in this schema:

top
__________
|        |
|    X   |
|        |
|_________|

bottom

It's kinda strange as in the slicer it shows up perfectly centered and when I manually home and send the hotend to different coordinates, it goes to the exact spot I tell it to go.

Edited 6 time(s). Last edit at 05/28/2019 11:16AM by Ohmarinus.


http://www.marinusdebeer.nl/
Re: Configurating an Y-endstop that sits too far out?
May 28, 2019 02:29PM
Maybe you still have an M206 in your slicer's start gcode?
Re: Configurating an Y-endstop that sits too far out?
May 28, 2019 05:05PM
Quote
MMcLure
Maybe you still have an M206 in your slicer's start gcode?

I'll check the EEPROM, thanks for being so sharp, that might be the problem!


http://www.marinusdebeer.nl/
Sorry, only registered users may post in this forum.

Click here to login