Closed komandrik closed 3 years ago
Just tu add some weirdenestery. This is the end log of my g28. and in my config file i ask for "#define Z_AFTER_PROBING 5" not 4.85mm On the screen it's 4.85 to...
Recv: deploy: 0 Recv: >>> do_blocking_move_to X47.00 Y20.00 Z2.75 Recv: <<< do_blocking_move_to Recv: <<< homeaxis(Z) Recv: <<< home_z_safely Recv: >>> do_blocking_move_to X47.00 Y20.00 Z5.00 Recv: <<< do_blocking_move_to [...] Recv: current_position= X47.00 Y20.00 Z5.00 : sync_plan_position Recv: current_position= X46.95 Y20.00 Z4.85 : sync_plan_position Recv: X:46.95 Y:20.00 Z:4.85 E:0.00 Count X:4700 Y:2000 Z:2000 Recv: <<< G28 Recv: ok
Sorry if i bugging you, i just want to help by giving much info as possible
@ pfillion42 your g28 is shown after g29. An amendment is made here. If you restart the printer and give g28, Z will be normal. After g29, some correction will be constantly made. So I ask that they remove this amendment.
@Komandrik Thank for the explanation
I found the solution to my problem of accuracy. The censor, a PNP, even if in theory it supports 5v, does not give the same quality of probe as with 12v. I've made a little homemade board for testing my théory, It send 12v in the censor from the plug of my extruder fan and I use a voltage divider to supply the Z min pin. See the difference!
I gained x10 accuracy
+1, bilinear leveling just fails (first layer) whatever i do. switched back to linear and bed level is fine again.
got to a point the nozzle printed 2-3 mm over the bed after alot of print restarts caused of bad first layer.
I had so much trouble doing tests on this issue and trying to find a patern ...
First of all, the problem is not always present. The printer plays yoyo with me. After several starts without problem, I try to compile a sample of 10x g29 and get the differences in%, everything seems better than I dare to imagine. Im at an average accuracy of 0.37% or 0.0037mm on 10x G29. For me it's more than perfect.
I printed some pieces. I make a new designs to test and put on thingiverse and after 15 prints, Bang !!! It starts again. I can see about 0.01,2,3xx drift after 4 or 5 G29. ans i cannot print anymore (to far from bed) if i do not reset the printer.
I try somehow to reproduce the phenomen this morning and compile some data but I can not do it. the printer is still working well now after 5 complete reset and test.
In addition, trying to reproduce the problem, I discovered another bug or after multiple G28 and G29, only 1 of my 2 Z steppers will activate on a G28 and the next G28 is the other stepper which will activate. I am checking if the bug is already declared in an issue.
I'm starting to think that this is a variable memory allocation error or something that pushes a derivation but permanently once the problem starts during the G29s.
I will try to compile data as soon as the problem returns.
A good one!
@komandrik — Please do the same logging of G29
, but do a G28
before every G29
.
It is generally recommended to always do G28
before G29
. It is also recommended to save the mesh and use M420 S1
rather than G29
for regular printing. Only do G29
when you move the printer.
@thinkyhead Thank you for paying attention to the problem. I turned on the printer and sent the G28 & G29 commands sequentially below the terminal output and the full log in the file P.S. I’m worried about not constant values of the height of the Z axis. I have a Core_XY printer, after turning off the motors, the table falls a little. Therefore, I need to constantly give the G29 command before printing.
I am seeing a strange outcome which may be related, @komandrik perhaps you are experiencing the same? Would you mind trying M48 V3 and post your result, notice the Z increases with each probe of M48:
Strangely when the M48 is done the probe is not the extra range of Z above the bed.
@ReneRebsdorf
Not the same problem then. Nice probe!
@komandrik since 2.0 was just released a few days ago has this changed this issue at all?
I hate to be a dick about it, but really I think devs should really answer this question. We gave as much information and data as we could. Do you agree?
partly agree, but devs can only answer if they have the same hardware
its 1000 faster if the user do the testing
I've got the hardware on a bench. I also haven't had a day off from the day job aside from Thanksgiving in almost 2mo.... Annual crunch leading to the holiday shutdown in automotive.... There are quite a few on the list to get to but they take time like anything else.
@boellethe problem with the height of the Z axis after the G29 command is present on any printer and is not dependent on electronics. I noticed this problem on Mega2560 RAMPS1.4 and on MKS Gen_L and on 32bit boards. Anyone can repeat this fault. You need to send the G29 command twice and look at the height of the Z axis after executing the G29 commands. I have the impression that this problem is not interesting for developers and they do not solve it. The problem has already been open for 2 months and no reaction. I'm tired of waiting. I switched to Klipper. In klipper there is no such problem. I am disappointed in the support of Marlin and the lack of interest from the developer in solving the problem.
I'm tired of waiting. I switched to Klipper. In klipper there is no such problem. I am disappointed in the support of Marlin and the lack of interest from the developer in solving the problem.
you are perfectly in your right to use klipper, just remember:
and yes i use G29 too and i dont have a problem with it, i can run as many G29's i like and the outcome is the same every time: perfect first layer
@boelle do not be lazy and run M114, write down the Z axis reading. Then two more times G29 and after each test M114. And write down the height Z each time. Write the result here. P.S. I do not require developers to execute immediately! I see in the topic only your comments about the changes. Every day I monitored the status of my problem and fix in the main Marlin branch. I do not see changes. How many reviews of people who have the same problem?
They're spot on for me: Marlin 2.0.x - SKR 1.3 - BLTouch
@shitcreek could yoo please do 10 G29s in a row and post results?
Hmm looks promossing! This is with 2.0.1 or later, I assume?
The build was from 3 days ago.
@shitcreek I see that you did not understand the essence of the problem. According to your data, after G28, the nozzle height with offset is 10.45mm Offset_Z = -0.45 After the G29 command, the height of the Z axis changes by 10.75mm. Offset_Z became -0.75 The height of the first layer decreases by 0.3mm I can assume that you have a problem with coating the first layer and skipping the extruder. For printing, you increase the height of the first layer to 150%
Hmm looks promossing! This is with 2.0.1 or later, I assume?
no he use bugfix 2.0.x, that is always newer than 2.0.1 as its updated daily
@komandrik btw i use bi-linear too and i get baby smooth first layers
i just adjust my Z offset until i get the first layer like i want, sometimes i have to adjust in steps of 0.05
so what i do is
G28 to home all axis print a 25x25x0.2mm cube check if Z is to high up (filament lines have gab in them or the nozzle makes track marks) then i adjust z offset i do another G29 i repeat test print again
once i have a perfect first layer i save the G29 result to eeprom and i dont do G29 again before my first layers are bad
if first layers result change from print to print then something is wrong, endstop not solid or something like that
@boelle I have a hypercube. The table lowers and rises. The prints are even and I have no complaints about the mechanics. In the documentation for Marlin there is an instruction on how to set offset Z correctly. I did everything according to the instructions. The accuracy of the probe is 0.003mm. In print, I use different types of plastics. To do this, you need a different table temperature. My table has different curvatures at different temperatures. Therefore, I give the G29 command before each print and wait for the correct operation from the firmware. Instead, we observe for each user a change in the height of the Z axis after the G29 command. Those users whose axis height changes upwards do not feel the problem with poor adhesion of the first layer, since they, in fact, the first layer is reduced. Those users whose height changes in a smaller direction are experiencing a problem like mine. Very high first layer. This causes the part to lag behind the table during printing. If the firmware and offset Z are configured according to the instructions, then when printing the first layer with a height of 0.2 mm, we should get exactly 0.2 mm plastic layer. Not 0.1, not 0.15, not 0.3, but 0.2 mm! From your post above, I see the same problem with which you are struggling with the selection method, which means that you ignore the instructions and firmware rules. I'm tired of repeating the same thing in every answer. Maybe the Google translator does not correctly convey my thoughts and my conclusions to you. I dont know.
i dont struggle at all, its quite simple for me to understand
i did not even have to read any documentation to make it work for me
It looks like the issue was traced back to having RESTORE_LEVELING_AFTER_G28 enabled in the firmware. Just wondering if everyone who reported the issue here has it enabled? I'm having the same issue, and can confirm mine is enabled in latest 2.0.x. I'll try changing it after work today and see if the issue persists.
RESTORE_LEVELING_AFTER_G28 included
mine is also enabled, no issues
mine is also enabled, no issues
I meant for those who are having the issue, to check if the setting is defined. Sorry for the randomness/confusion, my reply wasn't aimed towards finding the root cause so much as it was towards finding a way to alleviate the issue for the time being. Any way to narrow down the issue seems like a plus at the moment.
Edit: I've reviewed the config files from the duplicate issues, and don't see a consistent RESTORE_LEVELING_AFTER_G28 so I'm scrapping that. Only consistent thing I can find between the files is ENABLE_LEVELING_FADE_HEIGHT so I'll play with that after work. Otherwise, I'm giving up on digging through the configs and will wait for someone smarter than myself to dig through the leveling libraries.
So it seems like my issue slightly differs from @komandrik in that his Z position would change after the G29 command, and mine would change after every G28 command. I first started going through terminal commands to reproduce the original issue with my Firmware unchanged:
#define EXTRAPOLATE_BEYOND_GRID
#define RESTORE_LEVELING_AFTER_G28
//#define ENABLE_LEVELING_FADE_HEIGHT
(Z value changed after running G28 again)
Re-load Firmware (2.0.x) with the following commented:
//#define EXTRAPOLATE_BEYOND_GRID
//#define RESTORE_LEVELING_AFTER_G28
//#define ENABLE_LEVELING_FADE_HEIGHT (I believe I had this off initially anyway)
followed by an M502 and M500 command just for good measure. Then repeated steps to reproduce issue:
So it seems like the issue I had (G28 to home, then adjust Z offset, then G28 again to see that .1mm to .3mm was added to Z pos.) is related to RESTORE_LEVELING_AFTER_G28
, whereas the issue of Z pos changing after every G29 command may be related to ENABLE_LEVELING_FADE_HEIGHT
since I had that disabled and did not see varying Z position even in my initial attempt to reproduce the output komandrik was seeing.
I'll try printing something now to see if I get a decent first layer and report back.
Edit: still getting adhesion problems printing from SD, but I got something going well with Octoprint. I did use a raft due to my patience running out , but FWIW the raft lines went down perfectly. Kind of a roundabout way of doing it, but I'll test more tomorrow after work.
i had, past tense, problem, after G29 i have Z in 5mm more than i desired, and was ,,printing,, in air. how i solve this ? reduced Z - offset in firmware to 0, and in slicer i settet it to mine -0.3mm. if i try to use anything more than -0.7 no change. I had previosly looong time ago on 1.1.9 marlin, solved with re configuring firmware too. My setup, TMC2130, sw spi, no fancy stuff, only silent mode and hybrid treshold, MKS SGEN L., induction fixed probe to Z min after re configuring in firmware (downloaded i think second week of 2020) to Z offset 0, no problems. My before print : G28, waiting for bed heated, G29, print
@flankerzo it's called a crutch. These are not our methods. The firmware should work correctly. @ The-Force disabling #define ENABLE_LEVELING_FADE_HEIGHT will distort the print geometry.
@flankerzo it's called a crutch. These are not our methods. The firmware should work correctly. @ The-Force disabling #define ENABLE_LEVELING_FADE_HEIGHT will distort the print geometry.
Quite the opposite actually. If the bed is tilted, that on will distort what would have been fine. If it's warped and bulged, the base is distorted regardless but it smooths it before it gets to the top.
@flankerzo it's called a crutch. These are not our methods. The firmware should work correctly. @ The-Force disabling #define ENABLE_LEVELING_FADE_HEIGHT will distort the print geometry.
I figured that, but that's a price I'm willing to pay in order to print at all haha. And agreed, in a perfect world it would work flawlessly but I don't have the knowledge to fix it and I hate wasting time getting upset at something I can do nothing about. Hence putting time into finding a roundabout way to make it work in the meantime. It's a free firmware after all so if I can just get it to work consistently I'll be happy. And if I can help someone else get it working that's a big plus. I'm gonna try a few more settings today after work.
I've similar issue with AUTO_BED_LEVELING_BILINEAR
Each time I launch a print when the G29 command ends my nozzle is always above the plate by about 0.5mm
So i tried this with pronterface to set z-offset
M851 Z0
- Initialize the offset in Z to 0 (reset to Z of the Zoffset if there was one)M500
- Store this setting in EEPROMM501
- Retrieve the parameters from the EEPROM to make them activeM503
- Display the current parameters to verify that they have been taken into accountG28 Z
- Originating the Z axisG1 F60 Z0
- Move the nozzle to Z0M211 S0
- Deactivate the limit switches (to be able to go below 0)M851 Zx.xx
(x.xx being the offset in Z calculated in point 10 (negative value))M211 S1
- Reactivate the limits of the limit switchesM500
- Save settings in EEPROMM501
- Retrieve the parameters from the EEPROM to make them activeM503
- Check one last time that everything has been taken into accountI launch a print and my first layer sticks well. But i think FW is bugged, because i must able to do same thing from LCD menu
@komandrik My Z homing is in the middle of the bed and so the G28 returns the coordinates for the middle:
X:178.00 Y:159.00 Z:10.45 E:0.00 Count X:14240 Y:12720 Z:4180
G29 returns the last probe point's coordinates which in my case is back right corner:
X:296.00 Y:278.00 Z:10.75 E:0.00 Count X:23680 Y:22240 Z:4180
Note the different X and Y coordinates.
If you compared all my G29 results, Z's only gone up by 0.01 - this is negligible in my case and was probably due to me fidgeting with the machine.
I print with 100% first layer and if I get the Z offset dialed in, I can expect good consistent adhesion print after print. And I am using 2.0.1 for this one, not bugfix - I normally use bugfix though.
Also, bed leveling is off on startup and thus G28 would return the unleveled Z height. If I turned on bed leveling M420 S1 before homing, I'd get the leveled Z height.
that is how i do it, RESTORE_LEVELING_AFTER_G28
enabled
then at start of every print
I have the same issue and i dont know how to resolve it please can you help i let here my log you can se how the grid measures increase in every g29 Example:
i am in latest bugfix (29-01-2020) with an SKR E3 Mini 1.2 Probe EZABL Standar Deviation: 0.001350
My Config Files Config Files.zip My Log 6 Bed Levels.txt
Hi everyone, I do have this same issue on my Prusa clone. I am running skr 1.3 with marlin 2.0. I have tried 2.0.1/2.0.2/2.0.3/bugfix-2.0.x. All of them give the same result. I need to babystep adjust the z offset at the beginning of all prints. This is quite annoying because I need to spend 10 mins waiting for the printer to run all the leveling and adjust the Z. I do have a Ender 3 Pro and it does not have this issue. It gives me the confident that I just need to press start print and leave. I do not need to worry about adjusting anything. The only difference between my Ender 3 Pro and Prusa clone is that Prusa clone is equipped with a probe as a z min endstop. I am guessing the probe is affected by heat/magnet and gives different value every time it probes. Z Home position changes every time it do a G28. Please let me know if you have any ideas. Definitely need some help. Appreciated. here is my start of gcode
g28
g29
m500
m420 s1
Reporting back after 2 weeks of printing with ENABLE_LEVELING_FADE_HEIGHT
and RESTORE_LEVELING_AFTER_G28
both commented out. First layers have been consistently good, and actually the best I've printed with, to the point where I've not had to monitor first layer at all. To be honest this is actually the most confident I've been walking away after starting a print but YMMV. And getting no skewing of prints with ENABLE_LEVELING_FADE_HEIGHT
commented either, but that may be more dependent on how warped ones bed is.
Reporting back after 2 weeks of printing with ENABLE_LEVELING_FADE_HEIGHT and RESTORE_LEVELING_AFTER_G28 both commented out. First layers have been consistently good, and actually the best I've printed with, to the point where I've not had to monitor first layer at all. To be honest this is actually the most confident I've been walking away after starting a print but YMMV. And getting no skewing of prints with ENABLE_LEVELING_FADE_HEIGHT commented either, but that may be more dependent on how warped ones bed is.
Thanks for the result man. I am gonna try your method but one quick question: Do you do a M420 S1 before G28 or after G29?
Quite the opposite actually. If the bed is tilted…
It is still better to use fade. Bilinear interpolation will keep that Z axis moving up and down throughout the print, and that will tend to introduce artifacts. Mesh leveling is not a good way to deal with a tilted bed. For pronounced tilt you are better off with a matrix like you get from the LINEAR version of bed leveling, which will tilt the whole model. Bilinear mesh on a tilted bed will give you a trapezoidal distortion.
Thanks for your reports @The-slunk. You are maybe the one individual in this thread who tried things and brought us real data to show that some things had effects. I suspect that some interaction between Z fade and certain meshes may be involved, but truly I am not certain. I'm going to take your example as inspiration and try different combinations of settings to see if I can force the issue to appear.
I do know that if you do several G29
passes on a heated bed while it is heating up, they will tend to differ by a lot, so I hope that this is not throwing some people off.
Reporting back after 2 weeks of printing with ENABLE_LEVELING_FADE_HEIGHT and RESTORE_LEVELING_AFTER_G28 both commented out. First layers have been consistently good, and actually the best I've printed with, to the point where I've not had to monitor first layer at all. To be honest this is actually the most confident I've been walking away after starting a print but YMMV. And getting no skewing of prints with ENABLE_LEVELING_FADE_HEIGHT commented either, but that may be more dependent on how warped ones bed is.
Thanks for the result man. I am gonna try your method but one quick question: Do you do a M420 S1 before G28 or after G29?
I do not, I use bilinear and assumed it was enabled when G29 runs. I use it it my start G-code per print.
And @thinkyhead I believe this issue was in the actual z-offset changing after G28/G29 commands, which would of course change the mesh points as well.
EDIT: I always waited for my bed to heat up fully between the G28/G29 commands while testing, if that helps
Config.zip
At the time of writing, the latest version of Marlin 2 - bagfix is installed.
After executing the G29 command, the actual height of the Z axis changes. This leads to a poor first layer. Below is the log received in the terminal from the octoprint:
Offset_Z in firmware -1.3 As you can see, after the first G29 command, the Z-axis height becomes 11.18. Offset_Z is changed to 0.18. If I send the G29 command again, the offset changes to 0.01 again, I send the G29 command and get the desired Z-axis height. I have a 0.4 mm nozzle. The height of the first layer is 0.2 mm. If I do not send the G29 command twice, the first layer will be 0.18 mm higher. It will be 0.38mm and the plastic will not stick to the table. The change in the height of the Z-axis, after the G29 command, is not always the same. Sometimes the change is less than 0.1mm and then it does not affect the print.
Steps to Reproduce
Expected behavior: [I expect to get the height of the axis Z 10mm + Offset_Z 1.3mm = 11.3mm]
Actual behavior: [I get the height of the Z-axis every time. For normal printing, I need to send the G29 command twice]
Link to configuration files and text file of terminal session octoprint: https://drive.google.com/open?id=1aWkorl8BigrBCP1FCaHMhVViqYRYAMwk https://drive.google.com/file/d/1p39olfB29Xj4qYm8yFTWILc8dkShT6dr/view?usp=sharing https://drive.google.com/file/d/1rNqWhd-X-nW-1t3UrYz2H6kVHO_5O8fa/view?usp=sharing
Link to video https://photos.app.goo.gl/ydcEcpzeSo6AgR2RA
P.S. I'm sorry, but I'm writing a translator through Google.