-
Notifications
You must be signed in to change notification settings - Fork 15
-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Auto Bed Leveling inaccurate #73
Comments
@mBlinkii Actually on stock the probing itself is terribly inaccurate, because probing is done to fast, resulting in big variance between repetitions ( I measured that ). |
the first layer is too high with this mod, with the original firmware the first layer is perfect. i noticed during the auto leveling that there is still filament left on the nozzle tip. i just thought that this might be the reason why the first layer starts too high. |
You do the leveling via the AUTO_BED_LEVEL macro with the correct filament temperature? There are also other issues at play, i.e. wrong extrusion distance resulting in wrong flow-rate: #70 |
I did it with 55°C Bed and 220°C Nozzle, like the FF Software. i also repeated it several times, but each time there was filament residue on the nozzle. I also tested it again with the FF software and I found its cleaning the nozzle better. thanks for the tip with the flow rate, i will test it tomorrow. Thanks for the great work. |
I experimented a bit with the AUTO_BED_LEVEL macro and with these changes the first layer looks much better to me. The unmodified macro on the left and the macro I modified on the right.
|
It's not perfect yet, I also compared the mesh from the FF software and from this mod again, there are only minimal differences. I think FF set a Z offset when printing starts. |
Going to try it right away, having difficulties with the 0.4mm extruder and it's the first layers which is messing everything up. Edit: Finally, got it right without finetuning everything by hand. Definitely made a difference! (had to redo it since changed nozzels and then it failed). |
is it possible to get the value? can we debug the flashforge ui? I opened the firmwareExe with a hex tool, but couldn't find anything useful. |
It's read from a config file. My guess would be the -0.25 already known. It's json and variable is "zProbeOffset" Could also be a wild goosechase since the program is full of dead code (I guess legacy).
you need a good (or reasonable) decompiler like ghidra |
I change the offset in the START_PRINT macro from 0.0 to -0.08, this was perfect for me - 0.25 was to much. I think everyone has to adapt this themselves so that the first layer is perfect. in the Adventurer5M.json from my printer h "zLevelOffset" : -1.8200000524520874, dont know how ff calculates this value. Edit: I meant -0.08 not -0.8 |
Mine is -0.82999998331069946. It's set during doAutoCalibrateMesh, so my guess would be during autoleveling. I'm not 100% sure it's actually measured there as a few indirect references but it is stored in that function just before the following two: |
I think this needs a G28 prior to start. I got a "!! Probe triggered prior to movement" then ran Home all button and it ran fine. |
The macro does a G28 on start. It’s working for me now, ff sets a z offset before printing starts. You need to add / change the z offset in the Start Print macro. I used -0,08. this was fine for me. |
@mBlinkii For me the default -0.25 were pretty accurate. Can you also check your extruder rotational distance? See #70 |
I assumed G28 was missing, when instead it must not have recognized the "xyz" in printer.toolhead.homed_axes. Also I'll redo my rotational distance again. I did get I think 4.27 maybe 4.35, I wiped it out when I reset back to the repository configs. I'll post it in #70 when I do. |
@mBlinkii You also added a second probe after initial wipe move and a move after cooling the noozle. That also make sense, but I think it can be simplified and improved a bit. Because another issue I noticed is that on the wipe move in the opposite direction, the nozzle tends to pick up the filament it just wiped off. This version avoids it, by doing two wipe moves on a single line. Wipe from right towards center, then move and wipe from left towards center. It also puts a bit more pressure onto the bed for the Wipe moves than the old version:
Can you give this version a try? |
Hi, thanks for your answers. I will test it and report back here. With the macro, I wanted to avoid the knob at the home point on the bed. The 2nd lift and move to the right was to avoid pulling the filament from the first time and the movement after cooling to get rid of any filament residue. |
I haven't checked the rotation distance yet, I'll check it and let you know. |
@xblax, i did PROBE_CALIBRATE and im getting -0.392, also the new Level macro works great. i will do now a test print. |
Something went wrong for me, with this new offset, I add it under the probe section, the first layer is also too high with this offset, will check it tomorrow. |
I'm not surprised that -0.392 is too far off the bed. How do you do the calibration? I do this right after AUTO_BED_LEVEL, I move the print head to (0,0) and do the PROBE_CALIBRATE. The bed is still heated and the load cell is tared already. Otherwise it would need manual LOAD_CELL_TARE before doing PROBE_CALIBRATE. The calibration is done via paper test. Move the bed up until the paper is "stuck" between the bed and noozle. The bed moves down 5mm after probing, so maybe start with raising it 4.8mm. Then release the pressure until the paper can just move without much friction. That gives me an offset between of roughly -0.25. There is a variance of about +-0.025mm where it's hard to determine what is the right amount of friction. That must be fine tuned anyway and might also vary depending on the bed surface (textured vs. smooth). |
I did it before Auto level. So this was my mistake. I will redo this today after work. Thanks for this tip. |
Isn't that simply the imperfections in paper density anyway? |
I think paper thickness is quite uniform around 0.1mm for 80g paper. It's just not easy to determine the exact same amount of friction every time. Anyway it's not that important, since the probe offset should not need to be changed often after dialed in once. I recommend the Klipper docs, they are quite good on that topic: https://www.klipper3d.org/Bed_Level.html#the-paper-test
In our case we would slightly adjust the measured probe offset. Or set a GCode offset in the Slicer. I can try to do test prints on smooth and textured print bed with the adjusted rotational distance for the extruder. My general tendency is to add in the improved macro and leave the default probe offset at -0.25 as is. |
So I have now done it as described, first Auto Bed Level and then in the heated state once PROBE_CALIBRATE, my value is now -0.175. The first layer is now perfect. I have also tested it with the standard value of -0.25 and I can only say that both work perfectly for me with the new level macro. |
so the value -0.25 should be optimal for everyone. |
Just tried the auto level script with a PC sheet and that also works as expected. Just enough space to get it working. |
Added the improved Macro on master. After doing some more test prints and taking the 0.1 thickness of the paper into account, I actually start to think the z-offset can be lowered a bit (closer to bed). But will have to do more prints to come to a final conclusion. Will keep it at -0.25 for now. |
I have noticed this as well even with the newer Beta. |
That only happens when you use BED_MESH_CALIBRATE instead of AUTO_BED_LEVEL |
some of this macro doesn't make sense for example
This would drive the nozzle into the bed. Which doesn't really matter because before that we raised the nozzle to Z10 anyways. Heres what I'm using.
I also changed the probe config to include retries:
4:16 PM |
Bed levelling inaccurate due to filament residue on the nozzle. the preparation is not the same as with the original software, i think it is better solved there so that no filament remains on the nozzle.
this is how the FF software does it.
The text was updated successfully, but these errors were encountered: