Prusa-firmware: Mesh Leveling Bug?

Created on 26 Oct 2018  路  18Comments  路  Source: prusa3d/Prusa-Firmware

Hi guys,

I'm having trouble with mesh leveling on my MK3 running 3.4.0.

Essentially, I can see that in areas which are being "over-squished" the mesh leveling is lowering the nozzle, and areas less squished it is raising the nozzle. So, it is either overcompensating, or introducing error.

I am a mechanical engineer, so precision alignment is a very familiar task. I have used a digital indicator to mechanically level my bed. It is flat within +/- 0.0015".

I have actually shown that I get a more consistent first layer with mesh leveling disabled, but this seems to create a new issue:

If I comment out the G80 mesh leveling code, the printer seems to ignore the stored live Z adjust value. The nozzle is very high. The printer does respond to changing that value after the print has started.

If my stored live Z value is "x", I end up with about 2x to get it printing correctly. If I stop that print and start another (power remains on), the nozzle is high again and the live Z value needs to be increased to 3x.

Short story:

  • There may or may not be a bug in the mesh leveling. It is possible that the Pinda probe is just not accurate enough to fine tune a fairly flat bed. It seems precise in that the over/under squished areas seem to repeat.

  • I need a clean way to disable mesh leveling and get a consistent Z0 height

Thank you!

MK3

Most helpful comment

I don't understand why after nearly 2 months, we have yet to receive a single reply from Prusa devs.

All 18 comments

I'm not sure if this is related, but while fighting with bed mesh correction, I happened to notice that my sheet was not flat, and then verified that with it on the hot plate using a laser, BUT, then removed the sheet and lasered the bed, which was way way more flat. In other words, the sheet itself is screwing up my bed level.

That isn't related. I have checked both my platform and my print surface and find they track together very well. My stated flatness above is on the actual print surface.

Some people have suggested that the Pinda doesn't work very well when the printer is cold. It seems to be true for me. It usually takes me 5-10 test prints of my Live-Z test object to get bed mesh correction setup properly, and by that time the whole print including frame and motors, have reached stable temperatures.

I'm not experiencing that either.

If I start cold, and print multiple objects back to back, my first layer thickness isn't varying.

The individual points for each mesh calibration are wrong.

Did you happen to try adjusting the Z offset using Slic3r rather than the Live-Z option in the printer itself?

[ Printer Settings / Size and coordinates / Z offset ]

I have not. I don't use Slic3r. I prefer Cura.

?

I too have an issue with mesh bed levelling and would like to turn it off.
I have been trying for a couple of weeks now to get a consistently flat 1st layer to print on the Prusa i3 Mk3 but cannot, no matter what I try, the printer squishes the front middle the most to the point of being unusable and prints with variable quality over the rest of the bed.
I have fitted springs and used a DTI gauge to get the bed level to within 0.01mm (Lifting the steel sheet and replacing causes variance so anything finer cant really be trusted, but this is good enough for a flat bed), and have checked with the gauge fitted to the left of the extruder motor, to the front and to the right as close as I could get to the PINDA probe and always I get the same results after running a G80 G81, the printer insists the front middle is lower than the rest of the bed, yet it is not!.
If I adjust the bed so the G81 values are indicating a flat bed or adjust to make the bed lower at the front , the front middle still remains squished the same amount, so the bed correction is working, just consistently wrong!.
All I want to do is switch of the automatic mesh bed levelling and print at a fixed live-z value.
Below are two G81 outputs from two different firmwares which show the same issue, but the latest firmware is even worse, both outputs done one after another without removing the steel sheet and allowing the PINDA time to warm up beforehand.

3.1.3:
0.21667 0.19787 0.18315 0.17250 0.16593 0.16343 0.16500
0.13167 0.14619 0.15746 0.16546 0.17021 0.17169 0.16991
0.07639 0.11129 0.13848 0.15796 0.16974 0.17382 0.17019
0.05083 0.09315 0.12620 0.15000 0.16454 0.16981 0.16583
0.05500 0.09178 0.12064 0.14157 0.15459 0.15968 0.15685
0.08889 0.10718 0.12178 0.13269 0.13990 0.14342 0.14324
0.15250 0.13935 0.12963 0.12333 0.12046 0.12102 0.12500

3.5.0:
0.21167 0.19509 0.18204 0.17250 0.16648 0.16398 0.16500
0.13093 0.14735 0.16003 0.16898 0.17420 0.17568 0.17343
0.07787 0.11302 0.14052 0.16037 0.17256 0.17710 0.17398
0.05250 0.09213 0.12352 0.14667 0.16157 0.16824 0.16667
0.05481 0.08466 0.10901 0.12787 0.14123 0.14910 0.15148
0.08481 0.09062 0.09701 0.10398 0.11154 0.11969 0.12843
0.14250 0.11000 0.08750 0.07500 0.07250 0.08000 0.09750

Look at how the bottom row drops compared to the first set of results.
They are both false, since my bed has been checked with a DTI gauge and is less than 0.01 variance, yet this is saying I have over 0.1 variance, no wonder I can't get a consistent 1st layer over the whole bed.

I tried commenting out the G80 line in Slic3r setting live-z to 0 (Normally -0.5mm) and using the printer offset dialed into -1mm but this did not appear to allow the head to go near enough to the bed to be able to print, I started at 0 offset, then -0.5 finally -1 but there appeared to be no difference to the head position so I stopped for now.
If anyone has any other suggestions to try, I will gladly try them to get an even print. Is it possible to directly access the EEPROM values where the offsets are stored using an AVR ISP Mk2 and modify them as I am sure this is where the problem lies, but I don't have enough technical information yet to do this.
KR

Andy

Some people have suggested that the Pinda doesn't work very well when the printer is cold.

That's what for the PINDA Temperature Calibration is. A healthy PINDA on a MK3 should be working fine on both a hot and a cold printer, if properly calibrated.

The PINDA on my old MK2S was so temperature dependent, that mesh leveling was not working properly. By the time it would got to the 9th calibration point, the sensor would pick up enough heat to read wrong distances. Fortunately, the MK3 solves this problem, so you might want to check if your PINDA is OK.

I don't understand why after nearly 2 months, we have yet to receive a single reply from Prusa devs.

I'm having the same issues. G81 shows that I am within .015 across the print surface, but I still have to dial in -40 on the left and 25 on the right in the mesh leveling calibration correction to get an even first layer. I even tried adjusting the bed to be higher on the left and lower on the right and it made no difference. Still needed -40 and 25. I contacted Prusa support through the chat and they sent me a new PINDA which I installed yesterday....same results. It's really frustrating. This is my first printer and I've only had it since the middle of October and I've spent way more time trying to figure this out than I have actually printing things.

Happy to find this. I do have the exact same problem so I'm in with you guys. @CCS86 I tried the same thing running prints without G80. It seems to be more consistent but I have to live-Adjust Z in the beginning of the print just as you described.
I'm currently thinking about modding the Firmware in order to disable any mesh bed correction but keeping the Live-Z funcionality.

@dway100 I think we already discussed it on my Post in the prusa FB group. Patrick here :)

I have looked at the firmware and understand some of it, but my C coding knowledge is not ideal, so I am struggling with it.

I will chime in here as well and say that I've been having the same issue. I have tried manually leveling, and no matter what I do the front and right sides still indicate that they are lower than the rest of the board. If I adjust them to get consistent values with G80 and G81, the first layer gets squished in those areas. I'm going to be trying with a downgraded firmware this afternoon and see what happens.

Come on devs, a response would be great.

Come on devs, a response would be great.

I think this is interesting :) https://github.com/prusa3d/Prusa-Firmware/issues/1239#issuecomment-453807077

Edit: I know your are also following the other issue, its for others

This is a pretty sad showing by Prusa support. To completely duck looking into this issue and replying is hard to justify.

Chat support bounced me to email support. Email support bounced me to github, and now I'm just getting ghosted.

hi CCS86 , i managed to do what you're looking for with 2 different methods.
i'm using e3d new hotbed that heats up more then 200c , no pei sheet can withstand those temps . so i lost my mesh bed leveling (+using thick glass plate over the heatbed) .
so , method 1 is to move the pinda out of the extruder , connect it to the left side of the x carriage . (design and print custom left side carriage) .
add some metal plate (or adjustment screw) under it to set z home position .
if you use adjustment screw , you wont need mesh bed leveling at all , remove g80 from the starting script of your gcode . adjust z height with the screw.

method 2 - firmware editing . sometimes i'm using different "live z" values for different materials so this method works better .
same thing here , the pinda probe is on the left x carriage (for initial z homing) .
but you can leave your pinda in its original location {it will home normally}in your case). g80 command is not doing mesh leveling , just adds the live z offset values.
you need to edit the G80 command in marlin_main.cpp file .
i'm also not good with coding , but if you need help with that let me know .
i'm using mk2s btw , but this area in the firmware is almost the same .
you'll completely loose mesh bed leveling , all calibration points will have the same values (+offset)
added pic of my pinda probe on left x carriage
2

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Siwat2545 picture Siwat2545  路  4Comments

gusdleon picture gusdleon  路  5Comments

sarf2k4 picture sarf2k4  路  3Comments

austaquio32 picture austaquio32  路  3Comments

ulab picture ulab  路  3Comments