Welcome! Log In Create A New Profile

Advanced

Auto Bed Leveling Problem

Posted by sarf2k4 
Auto Bed Leveling Problem
August 26, 2015 02:12PM
Hi, it's time for my problem sad smiley

I installed aluminum bed, inductive sensor and followed Tom Sanladerer's video and how to install it, I tried redoing his method, that is having the nozzle touching the bed, put the sensor 1mm above it, homed all axis, auto bed level the g29, heat up the nozzle, g92 z10 to lower the nozzle for axis probe z offset, reuploaded the firmware.

The above steps I followed should be okay and let me print right away with correct layer, however, no matter what I did, adjusting the z probe offset in config.h, and z home offset, does nothing as well, when started printing the nozzle stayed about 1mm above the bed regardless of the offset that I set. Below is part of the config.h in the auto bed leveling part

//============================= 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 145
    #define BACK_PROBE_BED_POSITION 180
    #define FRONT_PROBE_BED_POSITION 20

     // 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 2


  #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 180
      #define ABL_PROBE_PT_2_X 15
      #define ABL_PROBE_PT_2_Y 20
      #define ABL_PROBE_PT_3_X 170
      #define ABL_PROBE_PT_3_Y 20

  #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 -53.3
  #define Y_PROBE_OFFSET_FROM_EXTRUDER -5
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -0.80

  #define Z_RAISE_BEFORE_HOMING 5       // (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

and below is the auto bed leveling results in pronterface after probing them

This one with 3 multipliers
SENDING:G29
Bed x: 15.00 y: 20.00 z: -0.09
Bed x: 80.00 y: 20.00 z: 0.13
Bed x: 145.00 y: 20.00 z: 0.15
Bed x: 145.00 y: 100.00 z: 0.16
Bed x: 80.00 y: 100.00 z: -0.05
Bed x: 15.00 y: 100.00 z: -0.42
Bed x: 15.00 y: 180.00 z: -0.54
Bed x: 80.00 y: 180.00 z: -0.27
Bed x: 145.00 y: 180.00 z: -0.19
Eqn coefficients: a: 0.00 b: -0.00 d: -0.12
planeNormal x: -0.00 y: 0.00 z: 1.00
echo:endstops hit:  Z:-0.19

This one with 2 multipliers
SENDING:G29
Bed x: 15.00 y: 20.00 z: -0.11
Bed x: 145.00 y: 20.00 z: 0.14
Bed x: 145.00 y: 180.00 z: -0.20
Bed x: 15.00 y: 180.00 z: -0.55
Eqn coefficients: a: 0.00 b: -0.00 d: -0.12
planeNormal x: -0.00 y: 0.00 z: 1.00
echo:endstops hit:  Z:-0.55

What I noticed in common is the planeNormal of z is 1.00, across all the auto bed leveling results when I see the log when posting these, also I provide the eeprom settings too, might be useful

echo: Free Memory: 13091  PlannerBufferBytes: 1488
echoconfused smileytored settings retrieved
echoconfused smileyteps per unit:
echo:  M92 X78.74 Y78.74 Z2560.00 E95.00
echo:Maximum feedrates (mm/s):
echo:  M203 X400.00 Y400.00 Z5.00 E45.00
echo:Maximum Acceleration (mm/s2):
echo:  M201 X5000 Y5000 Z50 E5000
echo:Acceleration: S=acceleration, T=retract acceleration
echo:  M204 S1000.00 T2000.00
echo:Advanced variables: S=Min feedrate (mm/s), T=Min travel feedrate (mm/s), B=minimum segment time (ms), X=maximum XY jerk (mm/s),  Z=maximum Z jerk (mm/s),  E=maximum E jerk (mm/s)
echo:  M205 S0.00 T0.00 B20000 X15.00 Z0.40 E5.00
echo:Home offset (mm):
echo:  M206 X-1.00 Y-22.00 Z0.00
echotongue sticking out smileyID settings:
echo:   M301 P50.85 I7.76 D83.31

Please ignore the smileys inside the codes

Edited 1 time(s). Last edit at 08/26/2015 02:17PM by sarf2k4.
Re: Auto Bed Leveling Problem
August 26, 2015 06:24PM
If you have an lcd chances are that some firmware settings are ignored because the settings are stored in the eeprom. You'll need to change them using gcode or the lcd menu. Go to control/motion/z height. Don't forget to store the settings to make it survive a power cycle.
Re: Auto Bed Leveling Problem
August 26, 2015 10:12PM
I disabled the lcd panel because enabling the lcd would throw me some kind of overflow, so far i am using cura and not tested on slic3r yet, but this is troubling because it kept staying about 1mm above the bed during printing

By having these setting, could you tell me about it?
Re: Auto Bed Leveling Problem
August 27, 2015 03:48AM
You can use gcode. See command M206:
gcode

Make sure to use M500 command to write the settings to the eeprom.
Re: Auto Bed Leveling Problem
August 27, 2015 03:53AM
Ahh, you mean rhe z home offset, i am quite confused on how to set the offset was it negative or positive value. I try with positive value firse because i never tried with positive yet
Re: Auto Bed Leveling Problem
August 27, 2015 04:14AM
It seems to depend on the version of marlin firmware if you've read the m206 command entry in the link above. If you start by a small amount you can minimize the risk of crashing the nozzle into the bed.
Re: Auto Bed Leveling Problem
August 27, 2015 04:22AM
I rely heavily on m206 before i adding this auto bed leveling probe, probably hoping for it to auto adjust the nozzle height based on the probe offset calibration. I mainly wanted not to rely on m206 for z axis actully
Re: Auto Bed Leveling Problem
August 27, 2015 08:25AM
I can't see why? M206 z-1 will drop the nozzle to the spot you wanted right? It will not touch the x or y setting. You can also use, as the documentation suggests, use G92 z-1 in the slicer of choice, in the start gcode, right after g29.
Re: Auto Bed Leveling Problem
August 27, 2015 11:08PM
I did thought about the g92, however, i am troubled by the fact that the z home offset were ignored when i set it to negative. I tried with z home offset = -0.80, ibused the g0 zz0 command then it shows z =0.0x. However, moving down the z axis from pronterface is possible and m114 returned z=-0.8

This is possible if i use g92 z0.8 included in the start of gcode right?
Sorry, only registered users may post in this forum.

Click here to login