Help please :) Printer skips commands and fail bed mesh leveling

Basic Information:

Printer Model: Prusa i3 rev1.5 reprap
MCU / Printerboard: Arduino atmega2560
klippy(8).log (638.9 KB)

Hello everyone,
first of all, sorry for my bad english, i’ll do my best to be understood :slight_smile:

I am trying to use klipper on my old prusa i3 from emotion-tech (2015) wich runs on an arduino atmega 2560. Everything works fine but the bed mesh leveling.

What happens : the printer starts probing (2 samples per probe point) with it’s capacitive sensor. After a few probing points, it randomly stays close to the bed (don’t lift back up) then go to the next point and then inevitably return the “probe trigered prior to movement” wich is normal since the printer didn’t lift it’s head.

It seems like the arduino just “lags” and skip the instructions sent by the rpi.

What also happens sometimes is that the printer “half-skip” the command and just lift up a portion of the normal Z height wich makes it probing from less high for the next points.

It’s pretty weird and hard to explain, i’ll try to make a video if you need to. But here you can see a heightmap that finished with that bug (i hope it uploaded well :sweat_smile: )


Do you have a different probe you can try? It may be the case that that probe is so old it is just fritzing, try to plug in a new prusa probe (if you have one).

Hope this helps!

Thanks for your answer,
unfortunately i dont’t have any other probe to try. That said, the probe in itself is working properly and act like an endstop and it is totally independant from the mainboard (it has it’s own standalone converting board, and has an amazing accuracy measured with klipper)

I have no problem homing with the probe.

I will do the video during the day so you can see what happens exactly.

Accoring the log, the bed mesh procedure runs without issues.

Check your hardware.

  • Is the bed warped?
  • Is the printhead drawn away from the bed at the edges?

I am 100% sure this is not a hardware issue (or maybe electronics, but definetly not the probe).
I am not a newbie in 3D printing with over 10 years experience, so trust me it’s not hardware related :wink:

I switched on a piezo underbed sensor and still had the exactly same issue, and it is plugged on a different input port in my ramps shield (Zmin pins)

What happened this afternoon is it bugged again with the same error. After this i tried to lift up the Z axis : in the console i could see the command sent, but the printer didn’t react. I did this several times and still no move. After like 30 to 60 seconds, the printer started to react and do the commands that were (i guess) sent into the buffer?. I think it’s the same thing hapening but during the probe sequence. Give me some minutes to upload the video, you will see.

Here is the video :

You can see at the end that the head is sliding against the bed and is not going up as it is supposed to.
Here the error message has changed because i am on the piezo sensor and it was already touching the bed, but if i still was on the capacitive sensor, it would be probe triggered prior to movement (because the head didn’t lifted up and was already triggered)

Have you levelled the bed before?

Moving down the head on the left side takes more time than on the right side.
And the time decreases as more the head goes to the back.
This results to the point the probe can’t un-trigger when lifting up the head.

That’s true, but that’s not the problem i want to solve right now.
One of the mesh succeded and i had that deviation :
(and my Z position_min is -2 so its not a problem to be unleveled at that point of debugging)

I want the printer to stop skiping instructions. Watch the end of the video you will see the head litteraly sliding against the bed because it skips the command of lifting up the head after probing !

I suggest to fix this levelling issue first for the reason is known and then do the next one.

2.4 mm difference in bed height is way too much to work in halfway proper conditions.

It does not lift up, because the is no more space to lift up. The printhead gets closer and closer to the bed at the right back section of the bed.

Even if it probes at -1, it should go up to +4 and my max height probed is +1 in that example. That’s incoherent. I’ll do the bed leveling but it’s just a waste of time at that point. It is software related.

16:50:49 : No trigger on probe after full movement (the head slided on the bed so couldn’t be detected by the piezo)

16:50:47 : probe at 142.500,98.000 is z=-0.062500

16:50:44 : probe at 95.000,98.000 is z=0.018750

16:50:42 : probe at 47.500,98.000 is z=-0.029375

16:50:40 : probe at 0.000,98.000 is z=-0.096875

16:50:38 : probe at 0.000,59.500 is z=-0.113125

16:50:35 : probe at 47.500,59.500 is z=0.028125

16:50:33 : probe at 95.000,59.500 is z=0.041875

16:50:31 : probe at 142.500,59.500 is z=0.021875

16:50:28 : probe at 190.000,59.500 is z=-0.181875

16:50:26 : probe at 190.000,21.000 is z=-0.111250

16:50:24 : probe at 142.500,21.000 is z=0.085625

16:50:22 : probe at 95.000,21.000 is z=0.129375

16:50:19 : probe at 47.500,21.000 is z=0.044375

16:50:17 : probe at 0.000,21.000 is z=-0.151875

that’s my console logs, even after leveling, still the same issue. Min probe : -0.18mm Max probe : 0.12mm
So it’s a 0.3mm gap. That wasn’t the problem

Ever thought about that the probe you use (you did not mention what kind of probe you have) has a hysteresis?

I have the same issue on both probes sytstems i have :

Anyway, after a probe, the printer is always supposed to lift up 5mm (wich is far more than a probe hysterisis if there was one) and that’s not the case.

The probe make 5mm up in reference of the first point of measurement, not the last one.

If that bed is so crooked, it can’t compensate.

Do yourself a favour and level the bed first.

First probing point was z=-0.151875.
Please open your mind, i am not a beginner at all.

I am pretty sure it is related to communication between arduino and klipper.

You may use this: to have a view on the klippy.log.

With that one you provided in your first post, there seems to be some moments where the MCU has to deal with quite some load:

That’s exactly what i was thinking about !
How can i diagnose what happens exactly and fix this ?

You may start here:

And now what’s next ? I am not a programmer, what to do with these informations ?