Welcome! Log In Create A New Profile

Advanced

Auto bed levelling... I think i am doing it wrong

Posted by Kafledelius 
Auto bed levelling... I think i am doing it wrong
June 11, 2015 04:15PM
Hello Guys!

I just added auto bed levelling to my printer, and i am experiencing 2 issues...

- The first one is, that when the auto bed levelling procedue (G29) is complete, the X and Y Values are all wrong. The values are the same as the probed square values. How come?
- The second one, is that one of the sides on the bed, is corrected wrong. The hotend is about 0.1-0.2mm lower in that corner. This is not random, and every auto bed levelling has the same outcome.

Can someone help me? What am i doing wrong?

Below os my bed auto levelling section of configuration.h

Please help me... This is haunting me!!

//============================= Bed Auto Leveling ===========================

#define ENABLE_AUTO_BED_LEVELING // Delete the comment to enable (remove // at the start of the line)
#define Z_PROBE_REPEATABILITY_TEST  // If not commented out, Z-Probe Repeatability test will be included if Auto Bed Leveling is Enabled.

#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 -65
    #define RIGHT_PROBE_BED_POSITION 66
    #define BACK_PROBE_BED_POSITION 230
    #define FRONT_PROBE_BED_POSITION 60

     // 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)
  // X and Y offsets must be integers
  #define X_PROBE_OFFSET_FROM_EXTRUDER 65
  #define Y_PROBE_OFFSET_FROM_EXTRUDER 3
  #define Z_PROBE_OFFSET_FROM_EXTRUDER -3.0

  #define Z_RAISE_BEFORE_HOMING 10       // (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 4000         // X and Y axis travel speed between probes, in mm/min

  #define Z_RAISE_BEFORE_PROBING 20    //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

  //#define Z_PROBE_SLED // turn on if you have a z-probe mounted on a sled like those designed by Charles Bell
  //#define SLED_DOCKING_OFFSET 5 // the extra distance the X axis must travel to pickup the sled. 0 should be fine but you can push it further if you'd like.

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

  #ifdef AUTO_BED_LEVELING_GRID	// Check if Probe_Offset * Grid Points is greater than Probing Range
    #if X_PROBE_OFFSET_FROM_EXTRUDER < 0
      #if (-(X_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS1"
	  #endif
	#else
      #if ((X_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
	     #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS2"
	  #endif
	#endif
    #if Y_PROBE_OFFSET_FROM_EXTRUDER < 0
      #if (-(Y_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS3"
	  #endif
	#else
      #if ((Y_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
	     #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS4"
	  #endif
	#endif

	
  #endif
  
#endif // ENABLE_AUTO_BED_LEVELING
Re: Auto bed levelling... I think i am doing it wrong
June 12, 2015 02:14AM
So.. I tried to recalibrate it, and it turned out that the z-steps were off by 1.4%... This seems to have solved the first issue.

How ever, why is it setting the wrong x and y values after the auto bed levelling process?
Re: Auto bed levelling... I think i am doing it wrong
June 15, 2015 01:17AM
Scratch the above message.
One side is still higher than the other.
And, i tried to test the auto bed calibration today, by making one side significantly lower. This made the auto bed levelling even more off on its correction.

Can someone please help me?
Should i install the enhanced G29 command? And add more probe points?
Can these issues be triggered by my bed not being stiff enough?

It's as if the auto bed correction is being triggered too soon on one side.
Re: Auto bed levelling... I think i am doing it wrong
June 15, 2015 01:32AM
sort of confused by your info.. what kind of printer?

edited...

you should actually post the output of G29

also, you should at least try to manually level it using your probe and the G30 command to get all four corners to read the same then use ABL to test curvature.

Some more tips...

Doing the G29 when the bed is warm is good because it measures the shape of the heated bed nit a cold one.
Dont home any axis after the G29 is done. This clears the correction matrix.
Make sure your startup gcode doesnt home

Edited 1 time(s). Last edit at 06/15/2015 01:44AM by thetazzbot.
Re: Auto bed levelling... I think i am doing it wrong
June 15, 2015 01:44AM
Thank you for your feedback thetazzbot.

I will post my G29 output when i get home from work.

The x and y values are being messed up after i run the G29 command. Before that it is perfect.
As you see my x and y offsets are 65 and 3, and theese seem to be the offset the axis's are experiencing.

I did try to manually level the bed, not using the g30 though, but with the old fashion piece of paper between nozzle and bed. However, one side is still higher (0.1mm ish) than the other side.

Would it be an advantage to implement 3-point measuring?
Re: Auto bed levelling... I think i am doing it wrong
June 15, 2015 03:09PM
So i just levelled my bed using G30, and i tried adjusting to a 3 point measuring, since my y-carriage plate only has 3 bearings. Heres the results:
Bed x: 70.00 y: 180.00 z: 3.24
Bed x: 70.00 y: 20.00 z: 3.32
Bed x: 170.00 y: 100.00 z: 3.30

- And one side is still aprox. 0.1mm higher than the other.

I then did a 9 point measurement, which came out with:
Bed x: 70.00 y: 20.00 z: 3.30
Bed x: 125.00 y: 20.00 z: 3.33
Bed x: 180.00 y: 20.00 z: 3.37
Bed x: 180.00 y: 95.00 z: 3.32
Bed x: 125.00 y: 95.00 z: 3.39
Bed x: 70.00 y: 95.00 z: 3.35
Bed x: 70.00 y: 170.00 z: 3.31
Bed x: 125.00 y: 170.00 z: 3.29
Bed x: 180.00 y: 170.00 z: 3.21

Which actually came out ok. Just the front left corner was about 0.1mm off.
- I'm starting to come to the conclusion that my y carriage isn't stiff enough...
Re: Auto bed levelling... I think i am doing it wrong
June 15, 2015 05:19PM
Does Repetier's bed height map tool work with Cartesian printers or is it for Deltas only? It looks like an interesting way to visualize bed flatness (or lack of).
Re: Auto bed levelling... I think i am doing it wrong
June 15, 2015 10:16PM
If you can push the corner of your bed to the left or right, it is not tight enough. This is most likey due to zip ties flexing or bearing play/slop.

I have my bearings held in with two zip ties each in an X fashion. Did I mention that no self respecting printer should have zip ties listed in its bill of materials winking smiley winking smiley
Re: Auto bed levelling... I think i am doing it wrong
June 16, 2015 01:00AM
There is no play on my y-carriage in a horizontal direction, however, when i push 1 corner, its the frame thats bending, more than the springs taking the pressure...
- Could this be the issue?
Re: Auto bed levelling... I think i am doing it wrong
June 17, 2015 12:41AM
Anyone knows?
Re: Auto bed levelling... I think i am doing it wrong
June 17, 2015 02:59AM
Cant say for sure. It took me many hours to firm up my machine. I wrote a guide on it called hardening the prusa i3 its in the reprapper forum
Re: Auto bed levelling... I think i am doing it wrong
June 17, 2015 07:45AM
I doubt if bed flexing is your biggest problem unless you are printing really big heavy objects. More likely it is simple lack of flatness or lack of reproducibility in the Z probe. You could check flatness with a straight edge and a flashlight, the the behaviour of the Z probe by experiment.
Re: Auto bed levelling... I think i am doing it wrong
June 17, 2015 10:27AM
The z probe reproducibility seems to be good.
How ever, the z probe retracts between each probing.

This seems to me like a big error margin. How do i get it to stay down?
Re: Auto bed levelling... I think i am doing it wrong
June 18, 2015 01:23AM
Is this even possible in the new version of marlin?
Sorry, only registered users may post in this forum.

Click here to login