Marlin: G29 Issue Probing working but not compensating.

Created on 25 Jun 2016  路  16Comments  路  Source: MarlinFirmware/Marlin

Probing is working and printing compensation but Z height during print isn't changing and first layer is uneven.

Documentation Calibration

All 16 comments

What kind of bed leveling?
What branch?
From when?
Configuration?
System?
Kinematics?

Ok lets see if I can answer most of these questions.

Using an inductive sensor with 4point grid ABL.
Newest version of marlin, think thats 1.1.0 or so

Start G code;

G21 ; set units to millimeters
M104 S0 ; set temperature
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion

G28
G29 ; Tramming

G28 X ; Heat over park
G28 Y

M190 S110 ; wait for bed temp
M109 S245 ; wait for temperature to be reached

G92 E0

Get read outs of
22:48:47.305 : Bed x: 15.00 y: 20.00 z: -0.25
22:48:51.459 : Bed x: 170.00 y: 20.00 z: 0.18
22:48:55.780 : Bed x: 170.00 y: 180.00 z: 0.11
22:49:00.139 : Bed x: 15.00 y: 180.00 z: -0.26
22:49:00.143 : Eqn coefficients: a: 0.00 b: -0.00 d: -0.27
22:49:00.147 : planeNormal x: -0.00 y: 0.00 z: 1.00
22:49:00.150 : echo:endstops hit: Y:-0.07 Z:-0.25

But once print starts no compensation actually happens.

G28
G29 ; Tramming
G28 X ; Heat over park
G28 Y

Don't use G28 after the G29. That does reset the levelling.
Use G0 X0 Y0 instead.

Thank you, Ill give this a try.

Changed the G28 to A G0 after my G29, Still doesnt seem to be helping much. Also added another grid point. What it looks like is the center of my aluminum bed may be bowed up so a planar shift isn't going to help me too much.

13:45:49.707 : Bed Level Correction Matrix:
13:45:49.707 : +0.999995 +0.000000 +0.003309
13:45:49.710 : +0.000003 +1.000000 -0.000801
13:45:49.710 : -0.003309 +0.000801 +0.999994

The Bed Level Correction matrix doesn't tell you about the topology of the bed. It only tells you about the tilt. If you do a G29 V4 P5 T You will get much more information about how flat (or not flat) your bed is.

I was using my eyes, after printing a giant X shape on my printer. The center does seem raised.

I think I am experiencing the same issue, I also probe on 9 points. My bed is 200x200 and the center is a bit raised. See example below:
N-normal/R-raised/@-probe.

N@NN@NN@N
NNNRRRRNNN
N@RR@RR@N
NNNRRRRNNN
N@NN@NN@N

I see compensation (e.g. Z moving up and down slightly) but it is widely off. E.g. the filament height is 0.3mm on the normal section and ~0.05, on the middle "raised" part, as the head is pressing against the bed.

This is only apparent when printing large objects e.g. >150mm

If you have more than +/- 1/2 a layer thickness from the mean, you are going to have problems in those parts of the bed. (You really want to be within +/- 1/4 of a layer thickness) Mesh leveling is going to work better for you if your bed is warped or not flat.

more than +/- 1/2 a layer thickness from the mean

@Roxy-3D Can you elaborate on the above?

Lay a book on a ball. Till the book. Is there any possibility to minimize the average distance between book and ball?
If your ball is big the average distance is smaller then if the ball is small. If the ball is big enough you can print everywhere because the maximum distance is small. With tilling the book you can't improve the average distance.

The ball is your bed - the book is the plane the nozzle is moving on.

1/2 a layer is a rule of thumb.

If you press the plastic through the nozzle in free air the cross section is a circle. If you are at nozzle diameter above the bed the cross section is still a circle - the contact area to the bed is zero. If you are at level zero the nozzle is clogged - no material can leave the nozzle. For that the layer height is supposed to be about 1/2 the nozzle diameter in the normal case. If the error is bigger than about 1/2 layer height = 1/4 nozzle diameter you likely see the one or the other effect in a disturbing magnitude.

This is the same thing as Blue-Marlin is saying, but in different words. The first layer needs the plastic to get squeezed a little bit as it comes out of the nozzle. If the nozzle is more than an extra 1/2 layer above the glass, it probably won't get squeezed very much and it may not adhere to the glass. Conversely, if the nozzle is too close to the glass you may damage the bed or the nozzle.

So... a 1/2 layer error is about the most you want to have. You will do much better if you can keep it down to a 1/4 layer.

@Skyalchemist0
Given the warp in the middle of your bed, Auto Bed Levelling isn't going to help you much.
Auto bed levelling is used for a surface with a single plane and tilt.

In your case, you have multiple planes that need to be compensated.

You need Mesh Bed Levelling. Check the config file on how to enable it.
Mesh leveling is somewhat manual now, but will be automated in a future release...
@Roxy-3D can confirm..

Sorry for the late reply.
Yes it does make sense to use mesh.

However I would still ask, what is the point of allowing for taking 9 samples.

I would have thought that the below scenario should be handled with the non-mash approach, as my bed is more like a roof top and not warped. E.g. linear deformity

(0.0)(0.1)           (0.2)(0.2)              (0.1)(0.0)
(0.0)(0.1)           (0.2)(0.2)              (0.1)(0.0)

(0.0)(0.1)           (0.2)(0.2)              (0.1)(0.0)
(0.0)(0.1)           (0.2)(0.2)              (0.1)(0.0)

(0.0)(0.1)           (0.2)(0.2)              (0.1)(0.0)
(0.0)(0.1)           (0.2)(0.2)              (0.1)(0.0)

The original concept of levelling with a turn-matrix was measuring 3 points. That is theoretically sufficient to calculate the matrix. But some probes do not measure very exactly. So in grid bed levelling more points are taken and (kind of) averaged. Even with grid levelling the correction mechanism is still a turn-matrix so it relies on a theoretically flat (not warped) bed and a (theoretically) perfect printer geometry (except the tilt bed).
Delta and mesh levelling are different. They interpolate between the measured points.

(Mesh be levelling currently woks so good, because the probe offset is zero (the nozzle is the probe). If that is not the case the printer/probe geometry errors will play a much bigger role again.)

@Blue-Marlin Thank you - that totally makes sense.

@psavva - Yes - I am looking forward to the automated version - cheers for the comment.

Was this page helpful?
0 / 5 - 0 ratings