adkmechetech
Posts: 2
Joined: Mon Dec 28, 2020 4:09 pm

Auto-leveling and global Z offset

So I am just getting back to my Folgertech FT5 that has been heavily modified to print some parts. This go around I decided to really dig into getting the machine calibrated correctly and to the absolute best of my ability.

Bed leveling should be the easiet to accomplish right? Right. My method is to use the S3D wizard and a 1" gauge block (actually measures 0.997" or 25.3283mm) . I set the wizard to stay 25.4mm (1") above the bed at each point. No issues here. The bed is perfectly level.

I have a new spool of 3d Solutech PETG that I want to use, so I am starting with settings I had already sortof gotten working. First layer has always been an issue. Either there is too much material and it globbs up all over the place, or I have to set the multiplier so low, that all other layers are underextruded.

Now comes to my discovery. As you would expect, a global z offset of zero means your first layer starts at 0.3mm (if that is your actual layer height). It seems that in S3D, this is not the case. When starting the print, the first layer is TOUCHING the bed, despite the machine control panel showing it should be at 0.3mm. I re-checked my bed leveling and bumped the offset up to 0.3mm and behold, it's "close" to being correct and the machine control panel is showing 0.6mm (as expected). There are no offsets in the EEPROM of my control board (running Marlin 2.0).

Now that I have that figured out, I can finally dial in my multiplier and first layer height since it is not over extruding like crazy anymore. I ended up with a z offset of +0.37mm. This number, if you look above corresponds to exactly 1 layer, plus the difference in my gauge block vs the value I set in the bed leveling wizard.


Can someone answer me this:

WHY THE HELL IS ZERO NOT ACTUALLY ZERO? Every other machine tool I have used zero is zero, period. If I wanted it to be somewhere else, I would put it there. Does this now mean that every profile I create for every layer height needs this offset? (Layer height + 0.07mm) Is this documented somewhere that I missed? It seems that a deviation from the obvious (and customary) standard practice should be noted as to not confuse the crap out of people.
User avatar
dkightley
Posts: 2405
Joined: Tue Mar 10, 2015 4:09 pm

Re: Auto-leveling and global Z offset

An explanation you won't like!

The bed levelling procedure is designed to primarily adjust the level of the bed so that every point on the bed is the same relative distance away from the tip of the nozzle....

Lets go back to earlier printers that didn't have the super-duper "automatic probe". The procedure was to centre the bed and measure the nozzle to bed distance with a piece of thin card or thick paper ( of unspecified thickness, I should add!) by "sliding" it under the nozzle and feeling the resistance. You then moved the bed or print head around to a number of "fixed" positions and checked the gap by sliding the paper or card between the nozzle and bed...and "gauged" if the resistance was the same or not. The end result was that the nozzle was now "a piece of card or paper thickness" above the bed.....and this was your starting point for printing. Some suppliers helpfully also said to save the paper or card and use it every time you checked your bed level and/or nozzle height.

So....the first layer thickness is derived from a piece of paper or card. Not a problem, use the Global-Z setting to "fine tune" the gap so the first layer is just right for your printer and its slicer settings.

Now move forward to the newer printers. They do EXACTLY what I have described above....that is to adjust the bed relative to the nozzle....but do so using a separate measuring device (the probe) and a few bits of electronics!. Not having owned a printer with one of these probes, I'm not too sure how the relationship between the probe and the nozzle is determined…..but there must be a nozzle to probe measurement/calibration done first before the bed is levelled.

Anyway, irrespective of the technology used, I do hope that you can see that the bed levelling exercise is purely to get the bed level and to a consistent starting point from which the slicer settings can take over the fine tuning. There's nothing "magic" about the process.....and it certainly is not a "set zero" for the nozzle to bed height. but rather the consistent setting of a "starting point" that is determined by a set of relatively "manual checks".

And another thought to bear in mind......early printers were not expected to be able to print through a range of nozzle diameters and print with differing layer thicknesses....simply a 0.4mm nozzle and a layer thickness of 0.2mm. This determined how the designers told users how to set the starting nozzle height.....i.e. The thickness of a piece of thin card!. And the procedure has stayed the same ever since...with the starting point being "one layer" thickness above the bed. And not 0.00mm layer height!
Doug Kightley
Volunteer at the National Tramway Museum http://www.tramway.co.uk
Railway modeller and webmaster at http://www.talkingtgauge.net
adkmechetech
Posts: 2
Joined: Mon Dec 28, 2020 4:09 pm

Re: Auto-leveling and global Z offset

I get what you're saying, but zero should be zero. Period.

If I run the bed leveling routine, and tell it to stay 1" above the bed, I should be able to set my bed level using a 1" gauge block. When I home the machine after completing bed leveling, the nozzle should be "touching" the bed (it is).

My issue is that printing layer 1 at 100% layer height (say 0.3mm), the digital readout in the machine control panel displays 0.3mm correctly. Yet, clearly, the nozzle is most definitely not 0.3mm away from the bed. As I said, it starts TOUCHING the bed even though I have most definitely set my zero at that point.

It has nothing to do with actual layer height, material, or method of bed leveling. Zero is not zero and that is not great. Granted, now that I know this I can mitigate, but I shouldnt have to do that in the first place. Keep in mind, I was a machinist in a past life. Having a zero that's ~0.3mm lower than what you thought it was going to be means you just scrapped a part.

Return to “Troubleshooting and Bug Reports”