CNC - Bed Leveling

Hi, I'm having problems trying to get my autoleveling to work on my cartesian built CNC machine, using firmware 0.92.9.  I am homing to the Z-max limit and using a contact switch for the Z-probe which is mounted in my spindle. 

The Z-probing works correctly using G32 command with a 5x5 grid, and I do get a new rotation matrix.   Here is a print from the host console:

11:04:34.107 : Transformation matrix: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
11:04:34.107 : SelectExtruder:0
11:05:03.697 : G32
11:05:13.639 : Z-probe:44.64 X:40.00 Y:60.00
11:05:26.137 : Z-probe:44.58 X:40.00 Y:70.00
11:05:38.149 : Z-probe:44.54 X:40.00 Y:80.00
11:05:50.157 : Z-probe:44.51 X:40.00 Y:90.00
11:06:02.179 : Z-probe:44.47 X:40.00 Y:100.00
11:06:15.187 : Z-probe:43.67 X:65.00 Y:60.00
11:06:26.187 : Z-probe:43.66 X:65.00 Y:70.00
11:06:38.197 : Z-probe:43.63 X:65.00 Y:80.00
11:06:48.714 : Z-probe:43.53 X:65.00 Y:90.00
11:07:00.230 : Z-probe:43.58 X:65.00 Y:100.00
11:07:12.245 : Z-probe:42.67 X:90.00 Y:60.00
11:07:22.245 : Z-probe:42.61 X:90.00 Y:70.00
11:07:32.257 : Z-probe:42.63 X:90.00 Y:80.00
11:07:42.266 : Z-probe:42.61 X:90.00 Y:90.00
11:07:52.938 : Z-probe:42.54 X:90.00 Y:100.00
11:08:03.287 : Z-probe:41.70 X:115.00 Y:60.00
11:08:12.297 : Z-probe:41.72 X:115.00 Y:70.00
11:08:22.306 : Z-probe:41.68 X:115.00 Y:80.00
11:08:31.307 : Z-probe:41.69 X:115.00 Y:90.00
11:08:40.317 : Z-probe:41.70 X:115.00 Y:100.00
11:08:50.328 : Z-probe:40.73 X:140.00 Y:60.00
11:08:58.331 : Z-probe:40.69 X:140.00 Y:70.00
11:09:06.337 : Z-probe:40.67 X:140.00 Y:80.00
11:09:14.563 : Z-probe:40.69 X:140.00 Y:90.00
11:09:23.357 : Z-probe:40.70 X:140.00 Y:100.00
11:09:27.397 : plane: a = -0.0384 b = -0.0021 c = 46.2667
11:09:27.397 : Transformation matrix: 0.999262 0.000000 0.038420 -0.000082 0.999998 0.002144 -0.038420 -0.002146 0.999259
11:09:27.397 : CurrentZ:40.67 atZ:43.10
11:09:27.397 : Z after rotation:43.10
11:09:27.397 : Printer height:137.57
11:09:27.397 : Info:Autoleveling enabled
11:09:27.398 : X:141.46 Y:100.08 Z:35.045 E:0.0000

After the probing I home all axes again, homing order Z, X, then Y, resend M320 to ensure auto leveling is active.  But when I move down to my bed with a Z distance of 10mm above, then run a g-code which moves in X and Y directions, the Z axis does not move up or down to compensate for the bed level.  Here is my Z-probing settings in my configuration.h file:

// #################### Z-Probing #####################

#define Z_PROBE_Z_OFFSET 0
#define Z_PROBE_Z_OFFSET_MODE 0
#define UI_BED_COATING 1
#define FEATURE_Z_PROBE 1
#define Z_PROBE_BED_DISTANCE 10
#define Z_PROBE_PIN 11
#define Z_PROBE_PULLUP 0
#define Z_PROBE_ON_HIGH 1
#define Z_PROBE_X_OFFSET 0
#define Z_PROBE_Y_OFFSET 0
#define Z_PROBE_WAIT_BEFORE_TEST 0
#define Z_PROBE_SPEED 2
#define Z_PROBE_XY_SPEED 150
#define Z_PROBE_SWITCHING_DISTANCE 3
#define Z_PROBE_REPETITIONS 1
#define Z_PROBE_HEIGHT 33
#define Z_PROBE_START_SCRIPT ""
#define Z_PROBE_FINISHED_SCRIPT ""
#define Z_PROBE_REQUIRES_HEATING 0
#define Z_PROBE_MIN_TEMPERATURE 150
#define FEATURE_AUTOLEVEL 1
#define Z_PROBE_X1 40
#define Z_PROBE_Y1 60
#define Z_PROBE_X2 140
#define Z_PROBE_Y2 60
#define Z_PROBE_X3 40
#define Z_PROBE_Y3 100
#define BED_LEVELING_METHOD 1
#define BED_CORRECTION_METHOD 0
#define BED_LEVELING_GRID_SIZE 5
#define BED_LEVELING_REPETITIONS 5
#define BED_MOTOR_1_X 0
#define BED_MOTOR_1_Y 0
#define BED_MOTOR_2_X 200
#define BED_MOTOR_2_Y 0
#define BED_MOTOR_3_X 100
#define BED_MOTOR_3_Y 200
#define BENDING_CORRECTION_A 0
#define BENDING_CORRECTION_B 0
#define BENDING_CORRECTION_C 0
#define FEATURE_AXISCOMP 1
#define AXISCOMP_TANXY 0
#define AXISCOMP_TANYZ 0
#define AXISCOMP_TANXZ 0


Greatly appreciate any help can offer, thanks.


Comments

  • G32 assumes a flat bed and computes only a rotation to compensate.

    If you need a bump map you need the distortion correction function (G33, needs configuration before use). That would make a map to follow but requires version 1.0 (0.92.9 is buggy). You also want full correction over full z height in your settings while 3d printers reduce correction to 0 after 1-2mm!

  • Great, thank you for your help.  May I ask then what is a rotation correction (G32)?
  • Assume you move x from left to right and z distance simply changes. That is because bed is mounted not perpendicular to xy so has a rotation against this moves. Very common problem for 3d printers which have simple screws to set distances.
Sign In or Register to comment.