Glass bed levelling compensation

  • Hi All, apologies to DC42 for creating another thread on this but having spent considerable time, it may be worth me putting this down on paper (so to speak).

    I have a cartesian printer 200mm x 200mm with a 4mm high precision glass bed over black backing and a DC42 IR probe. I now believe I have come close to achieving nirvana with auto bed compensation. Since I think this is a fairly common setup I felt the need to relay the findings. My probe is 48mm closer to X0 than the nozzle and 28mm closer to Y0 than the nozzle.

    Some advise suggested that the probing points should be as near to the edge as possible, this I found to be wrong, I dont know the particular reasons, but it may be to do with internal refraction of the infra-red in the glass, but I found that I was getting inconsistent results when probing at the edges, therefor I adjusted my probe points to be a 100mm square around the centre of the bed. Also remember this is a glass bed so you should expect a flat plane.

    Further advise suggested that the Home Z point should be at the centre of the bed, again not right. I adjusted my Home Z and Home All (Z section) to Home to the first probe point and I ensured that the probing sequence is CLOCKWISE from the first point.

    So instructions:

    Set up your Home Z and home all with
    ; Go to first bed probe point and home Z
    G1 X2 Y22 F5000

    Why, because my probe is 48mm close to X 0 then the nozzle and 28mm close to Y0 then the nozzle and I want my probe point to be 50,50 50,150 150,150 150,50. and G30 parameters are based on probe position not nozzle position.

    I then did the paper test. i.e.
    bring the nozzle down until it just catches the top of a sheet of paper set Z height to 0 using G92 Z0, then lift the nozzle by 5mm with G1 Z5 and run G30 S-1. I ran the lift and probe sequence 5 times to allow for any variation and then took the mean value which in my case is 0.17 I set this in the G31 instruction in config.g as:
    G31 P500 X48 Y28 Z0.17

    My bed.g looks like:
    ; bed.g
    ; called to perform automatic bed compensation via G32
    ; generated by RepRapFirmware Configuration Tool on Sun Feb 26 2017 13:25:00 GMT+0000 (GMT Standard Time)
    ; Clear any bed transform

    ; Probe the bed at 4 points CLOCKWISE!
    G30 P0 X50 Y50 H0 Z-99999
    G30 P1 X50 Y150 H0 Z-99999
    G30 P2 X150 Y150 H0 Z-99999
    G30 P3 X150 Y50 H0 Z-99999 S
    G1 Z5
    G1 X0 Y0

    Click on the Auto Bed Compensation button and I get a beautiful flat plane, this is ofcourse what you would expect for a glass bed, that is why this advise is just for that and not what you would use for a metal bed.

  • Sorry but I just don't get this. It seems to me that you are playing around with the numbers in order to get a nice looking software generated plane but not necessarily using bed plane compensation for it's intended purpose.

    You say you have a cartesian with a bed that is 200 x 200 yet you've restricted the area that you probe to 100 x 100. That's only a quarter of the surface of the bed and it's in the centre. So what happens if your glass is saddle shaped? That is to say, it has a hollow (or bulge) in the centre and you happen to be probing 4 points around the rim of this hollow. You'll get what looks like a very pretty flat plane but it's not representative of the true shape of the bed, nor will it therefore compensate for the errors (which is the intended purpose). What happens when you print outside this area. If you have dips or bulges in the build plate, they won't get compensated for (because you haven't probed anywhere near them) so your first layer is going to give you problems.

    In fact, I'd go so far as to say that the reason why you get better results if you home at a probe point rather than the centre of the bed is because your bed is in fact domed or saddle shaped. Rather then restrict the probe area, you should be looking at getting the bed flatter to start with, or probe the entire print area and accept the compensation numbers (unless your bed is so far out that you've saturated the sensor).

    Oh, and don't expect that just because its glass, the bed will be flat. In fact, I can pretty well guarantee (through my own experiences) that if the glass has been toughened, it won't be flat.

    Of course, if you are certain that the bed is flat and level within 0.1mm over it's entire area, then you don't need to bother with any form of bed compensation.

  • Hi Deckingman, this is just my experience over recent days and having taken micrometer readings of the resultant prints they are excellent. Re the plane size I definitely found that probing near the extremeties of the bed had less consistent results than probing further in, that was during 100 or so repetition tests. I agree that if you are not confident in the glass flatness then this is not the way to go and you should look to mesh levelling. I merely represent the results of many hours of testing and frustration to hopefully help others.

  • Fair enough, I accept that you are trying to help others but help others with what? I don't see what your are achieving (unless I've missed something). It seems you get inconsistent results at certain probe points but instead of looking for the reason for the inconsistencies and remedying them, you choose to just ignore them and restrict the probe area. Taking that logic to it's natural conclusion, one could argue that the inconsistencies get better using smaller area so the best thing to do is simple probe a single point. It would probably cure any inconsistencies but it's hardly going to provide any compensation for lack of flatness.

    Or put another way, the bed level compensation that you are using is only for one quarter of the print area, in the centre of the build plate and makes the assumption that that small area is flat, so IMO you may as well not bother with it at all.

  • administrators

    Ian I actually agree with you that this approach is not the best, but I think you are overly harsh here, pcsenital is reporting observations in good faith,
    ā€“---rant over -----

    Pcsenital another possibility is that the hardware of the printer is less accurate at the extremities, or a cable/ bowden is providing a slight bit of force at the extremities. if you are probing right on the edge (like within a few mm) of a plane of glass it is possible that some reflections are giving odd results, although i have not seen his myself, to discount this try probing say 10mm in from the edges.

    The issue with simply going for a flat plane by probing 4 points, is that you are reducing the chance that those 4 points are representative of the actual way the axis/bed is interacting. In Delta printers there is a know issue of effector tilt which is where the slight tilt of the effector, combined with the offset of the probe means an actually flat bed can look not flat to the sensor. In effect the movement of the effector is not in a plane totally parallel to the bed.

  • Apologies for sounding overly harsh. I admit that I could have been more tactful. It was at the end of one of those days where if anything could go wrong, it did go wrong - feeble excuse on my part I know.



  • Notwithstanding the interesting observations and good points above, in the Mesh Bed Compensation Screwy thread:


    If you are using mesh bed compensation and also using the Z probe to do Z homing, then you should Z home with the probe over a point that is on the grid. Otherwise the interpolated bed height at that point may not be exactly the same as the probed bed height, leading to a difference in the Z=0 position.

    So, does dc42's stated recommendation to home on a grid point of a G29 bed mesh compensation apply equally to automatic bed compensation using G32?

  • administrators


Log in to reply