1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

Automatic bed leveling: want 9 points instead of three.

Discussion in 'Software' started by Island Bill, Oct 9, 2014.

  1. Island Bill

    Island Bill Active Member

    Joined:
    Aug 1, 2014
    Messages:
    132
    Likes Received:
    76
    More adventures.... one day a couple of weeks ago, for reasons I cannot even guess, the printer began sampling 9 points on the print bed for auto leveling and this of course made me very happy. Then suddenly tonight, it's back to the old '3-banger' routine. Honestly, with the number of different softwares I've tried for slicing and so forth, and the change to Marlin firmware and then BACK AGAIN to the robo3d version of the firmware, anything is possible.

    So I tried changing:
    #define AUTO_BED_LEVELING_GRID_POINTS 3
    to:
    #define AUTO_BED_LEVELING_GRID_POINTS 9

    Recompiled, uploaded, watched the board reset on the lcd controller. Nothing, still probes 3 points when I send it a "G29" command.

    So I added some points in the section below, and still nothing. Here is my current bed leveling section from Configuration.h:
    =========================================================
    //============================= Bed Auto Leveling ===========================

    #define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)

    #ifdef ENABLE_AUTO_BED_LEVELING

    // There are 2 different ways to pick the X and Y locations to probe:

    // - "grid" mode
    // Probe every point in a rectangular grid
    // You must specify the rectangle, and the density of sample points
    // This mode is preferred because there are more measurements.
    // It used to be called ACCURATE_BED_LEVELING but "grid" is more descriptive

    // - "3-point" mode
    // Probe 3 arbitrary points on the bed (that aren't colinear)
    // You must specify the X & Y coordinates of all 3 points

    #define AUTO_BED_LEVELING_GRID
    // with AUTO_BED_LEVELING_GRID, the bed is sampled in a
    // AUTO_BED_LEVELING_GRID_POINTSxAUTO_BED_LEVELING_GRID_POINTS grid
    // and least squares solution is calculated
    // Note: this feature occupies 10'206 byte
    #ifdef AUTO_BED_LEVELING_GRID

    // set the rectangle in which to probe
    #define LEFT_PROBE_BED_POSITION 15
    #define RIGHT_PROBE_BED_POSITION 220
    #define BACK_PROBE_BED_POSITION 245
    #define FRONT_PROBE_BED_POSITION 15

    // set the number of grid points per dimension
    // I wouldn't see a reason to go above 3 (=9 probing points on the bed)
    #define AUTO_BED_LEVELING_GRID_POINTS 9


    // #else // not AUTO_BED_LEVELING_GRID
    // with no grid, just probe 3 arbitrary points. A simple cross-product
    // is used to esimate the plane of the print bed

    #define ABL_PROBE_PT_1_X 15
    #define ABL_PROBE_PT_1_Y 15

    #define ABL_PROBE_PT_2_X 110
    #define ABL_PROBE_PT_2_Y 15

    #define ABL_PROBE_PT_3_X 220
    #define ABL_PROBE_PT_3_Y 15

    #define ABL_PROBE_PT_4_X 15
    #define ABL_PROBE_PT_4_Y 128

    #define ABL_PROBE_PT_5_X 110
    #define ABL_PROBE_PT_5_Y 128

    #define ABL_PROBE_PT_6_X 110
    #define ABL_PROBE_PT_6_Y 220

    #define ABL_PROBE_PT_7_X 15
    #define ABL_PROBE_PT_7_Y 245

    #define ABL_PROBE_PT_8_X 110
    #define ABL_PROBE_PT_8_Y 245

    #define ABL_PROBE_PT_9_X 220
    #define ABL_PROBE_PT_9_Y 245

    #endif // AUTO_BED_LEVELING_GRID


    // these are the offsets to the probe relative to the extruder tip (Hotend - Probe)
    #define X_PROBE_OFFSET_FROM_EXTRUDER 0
    #define Y_PROBE_OFFSET_FROM_EXTRUDER 0
    #define Z_PROBE_OFFSET_FROM_EXTRUDER 0

    #define Z_RAISE_BEFORE_HOMING 4 // (in mm) Raise Z before homing (G28) for Probe Clearance.
    // Be sure you have this distance over your Z_MAX_POS in case

    #define XY_TRAVEL_SPEED 8000 // X and Y axis travel speed between probes, in mm/min

    #define Z_RAISE_BEFORE_PROBING 15 //How much the extruder will be raised before traveling to the first probing point.
    #define Z_RAISE_BETWEEN_PROBINGS 5 //How much the extruder will be raised when traveling from between next probing points


    //If defined, the Probe servo will be turned on only during movement and then turned off to avoid jerk
    //The value is the delay to turn the servo off after powered on - depends on the servo speed; 300ms is good value, but you can try lower it.
    // You MUST HAVE the SERVO_ENDSTOPS defined to use here a value higher than zero otherwise your code will not compile.

    // #define PROBE_SERVO_DEACTIVATION_DELAY 300


    //If you have enabled the Bed Auto Leveling and are using the same Z Probe for Z Homing,
    //it is highly recommended you let this Z_SAFE_HOMING enabled!!!

    #define Z_SAFE_HOMING // This feature is meant to avoid Z homing with probe outside the bed area.
    // When defined, it will:
    // - Allow Z homing only after X and Y homing AND stepper drivers still enabled
    // - If stepper drivers timeout, it will need X and Y homing again before Z homing
    // - Position the probe in a defined XY point before Z Homing when homing all axis (G28)
    // - Block Z homing only when the probe is outside bed area.

    #ifdef Z_SAFE_HOMING

    #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2) // X point for Z homing when homing all axis (G28)
    #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2) // Y point for Z homing when homing all axis (G28)

    #endif

    #endif // ENABLE_AUTO_BED_LEVELING
    ============================================================

    Varum?
     
  2. Mike Kelly

    Mike Kelly Volunteer

    Joined:
    Mar 11, 2013
    Messages:
    6,967
    Likes Received:
    2,276
    3 points is 9 (3x3 grid)

    You can't use mattercontrol and get Marlin's auto-leveling procedure. They overwrite it.

    You'd need to use a different slicer, cura, repetier host, simplify3d, etc
     
  3. Island Bill

    Island Bill Active Member

    Joined:
    Aug 1, 2014
    Messages:
    132
    Likes Received:
    76
    Thanks for the reply, Mike. I'm finally free of MatterControl. Thanks to your help and the knowledge base on this forum, I have finally located the proper combination of software and firmware to allow me to run full time in the linux environment.

    MatterControl was not, in my opinion, a bad software. I did like the all in one interface and the ability to choose different slicers. However, the overwriting of the automatic bed levelling that you pointed out was the straw that broke the camel's back for me. I have settled on, for the time being, slic3r and pronterface as my tools. If used with the native Robo3dR1V2 firmware, this seems to do the trick.
     
    2 people like this.

Share This Page