Closed garaguido closed 7 years ago
Hi @garaguido — It's probably a bug and not a configuration error. But can you post your Configuration.h
so that we can see where the 10mm comes from? (You might need to add .txt
to the name for Github to allow you to drop it on the text-field.) Hopefully we can figure it out and have a patch for you by tomorrow.
Hi
I have the same thing thing happening. The printer thinks it is printing at 0.3 but it is more like 5~10.3
@thinkyhead I can confirm the same bug, running RC8. I'm busy testing it now with RCBugFix as of this moment (just downloaded)
Thank you all, for working on this bug. I spent many a day. Not understanding why I couldn't understand simple instructions.
I can't reproduce this problem with RC8 and mesh levelling is working fine for me so maybe this is a configuration problem?
@braiscan, please can you post your configuration file for us to compare?
@brainscan , yes maybe your configuration.h file , please, then we can compare it.
I'll try and post it in the next couple of days, I've not been with my pc so I don't have a copy of my configuration.h
@brainscan , Thanks for the effort..
garaguido
Did you find a fix?
No , I am still waithing for the configuration.h file from @brainscan . I uploaded the resent Marlin Bugfix file but I am not tested it yet , perhaps in a few days I will try it out and reply my comment to you
My apologies for not posting my config but my wife had to have a caesarean to deliver our twin girls and they've been in special care as they were early and small, so I have been a little preoccupied, I hope you understand. They're all doing much better so once they're home I should be able to post it, although hopefully the latest RCBugFix will have already solved this problem.
Oh , I am sorry to hear this . My regards to you and to your wife for your new born twin girls. I let you now about my new tests within a few days
Im glad all is good to grate with your family. Sleep is just a bad ;) as you now are learning.
I cant see what I changed in my settings, Auto Level is now working. Can you see what i did that caused the problem we were having?
Your config file is not the same as mine. I use the Mesh bed leveling feature and not the ABL , your config in Mesh leveling was not activated. The difference of 10mm is with the Manual Bed Leveling. I will test it with the latest Marlin Bugfix and let you now if the problem still occured
I tested today with the MarlinBugfix from 14 jan 2017 and the result is still the same 10mm too high at Z0. When I use the Marlin software from 23 april 2016 the Z0 is at the correct 0,1mm ( =end switch position) before I use the Mesh bedleveling command.
Sometimes I'm not very bright. I had not thought to try just ABL when I was having my problems. I just got so frustrated I could not think. I took off the sensor and made my print bed with manual leveling. On 9mm Glass. Not a fast or simple fix, but it is a fix. I decided I would give the Auto a fresh look. Now that all the other things were worked out. Now that I know my print bed is flat I did not try Manual Bed Leveling. I'm so glad for everyone's help. Software is soooo not my thing. It was trying to make me crazy. It would have if not for your help!
@thinkyhead , Have you found the sollution ( Bug) yet ? I have tested the latest Marlin Bugfix with NO result , it is still 10mm to high with G28 before Mesh beleveling command. It is working fine with the earlear Marlin Bugfix version from 14 april 2016. Must I use perhaps the M420 offset code and store this in the Eprom for the sollution perhaps?
At some point I modified the behavior of MBL and probably broke something while trying to deal with the MESH_HOME_SEARCH_Z
setting, Z_HOMING_HEIGHT
, etc.
To help locate the issue, please enable DEBUG_LEVELING_FEATURE
, then issue M111 S247
to enable full logging. Do a G28
followed by G29
and then post the log output here for examination.
Hi, G29 after G28 is this OK , I use only MBL?
@thinkyhead , Hi , hereby the Logfile you ask before. I hope this can solve my problem ?
@thinkyhead
I have a quick look at the logfile , and what for me strange behavior is " current_position .... Z = 15.11 " minus my Z offset with -5.11 is still 10 mm too high . Why also the .... do_probe_raise(10.00)
that is perhaps the problem?
It seems to me that the offset it the same as the Z_CLEARANCE_DEPLOY_PROBE
value. I'm getting an offset error of 2 whereas garaguido gets 10 (which correlates with our Z_CLEARANCE_DEPLOY_PROBE
values).
As it homes using the probe, the position of the nozzle when the probe triggers is 5.11mm. You have the probe configured to do a raise of 10mm when "stowing" - or disabling. The position should be correct after a G28
without G29
.
MBL "hijacks" G28
for its final move after leveling is done, and is probably setting Z without taking account of this special usage. (It's treating it like the usual G28
and failing to account for the probe raise.)
@garaguido — Could you also post a log of G29
? The log above only includes G28
.
After G28 the displayed Z-position is a false 0. By sending G1 Z0 the bed moves up to the correct Z0 position and after that everything works as intended. Somewhere there's a mismatch of values.
This is what I mentioned in here #5885
@thinkyhead , I ame not using ABL , you mensioned a probe ... where ...? With MBL there is no probe , I only level the printhead to the bed with a feelergage !!!
@james94jeans2 Thank you for making the reference to the other issue. I will try with making M420 Z[height above MESH_HOME_SEARCH_Z] which would work to set the correct Z-height, if I understood your point correctly?
Do you get the same error with ENABLE_LEVELING_FADE_HEIGHT disabled?
I would guess that there can't be any problem when ENABLE_LEVELING_FADE_HEIGHT
is disabled, as you can not set a z_fade_height
when the feature is disabled.
And yes, you understood my point correctly.
@james94jeans2 I did test by disabling ENABLE_LEVELING_FADE_HEIGHT
and that was the solution. A thing to note is that the LCD-display is showing the correct height (in my case it showed Z5.03) after G28 - when ENABLE_LEVELING_FADE_HEIGHT
is enabled the display shows Z0 after a G28.
And the wrong Z display also happens when you don't specify a fade_height?
Z0 condition after G28 was:
#define ENABLE_LEVELING_FADE_HEIGHT
no usage of M420
Working condition was:
//#define ENABLE_LEVELING_FADE_HEIGHT
Never had the chance to test with M420
above threshold of MESH_HOME_SEARCH_Z
.
I think the Leveling Fade needs some revisiting, judging by this wierd behaviour.
I will try this out on my Prusa I3 .
@james94jeans2 , My MBL system is working now with the new RC8bugfix from 14-01-17 👍. What I did was:
ENABLE_LEVELING_FADE_HEIGHT
, testing with only this undefined MBL didn't workThe MBL was well working with these extra settings:
ENABLE_LEVELING_FADE_HEIGHT
( not the cause I think)FIX_MOUNTED_PROBE
( I do not use ABL this was by me defined when using MBL ) perhaps there seems the problem , a bug perhaps ?NOZZLE_PARK_FEATURE
( not the cause I think)I will test this now with only FIX_MOUNTED_PROBE
undefined
@james94jeans2 ,
My conclusion was correct , the problem seems to happen when FIX_MOUNTED_PROBE
is defined when not defining ABL .
I have tested it and MBL is working fine now with the MarlinRC8 bugfix from 14 jan 2017.
The Z0 height is now correct and the leveling feature is working fine now.
@james94jeans2 I believe the Z position should now be correct in the case you cited at https://github.com/MarlinFirmware/Marlin/issues/5885#issuecomment-282537599 because there's no more Z_HOME_SEARCH
stuff. We just disable software endstops now. If you do the same test again, you should get a proper Z position.
I used the new released Marlin 1.1.0 version with MBL and I have the same problem as before "Printing 10 mm too High" after a MBL procedure. The version Marlin-RCBugfix from 23 of April is working fine by me , what is there changed in the newer Marlin 1.1.0 about this problem ? After I flashed the firmware with the RCBugfix version of 23 april all things working fine now.
Please use this branch https://github.com/MarlinFirmware/Marlin/tree/bugfix-1.1.x?files=1
It contains the bugfixes for 1.1.0
We'll have to keep looking into it. Use the bugfix-1.1.x
branch. Enable DEBUG_LEVELING_FEATURE
and do M111 S32
before G29
to produce a log that includes some additional details which might be useful to narrowing the cause of this issue.
I can not flash my Atmega2560 any more , I tink there is a problem with the electronic UART. When I uploaded the sketch the Tx RX leds are blinking , but when it is done uploading still (no errors) there is same flashprogram as before , no changes , weard behavior ....?
I've had that problem more than once. It's always been because I was editing a file that was NOT in the directory being used by the Arduino IDE. Sometimes I just grabbed the wrong file. Sometimes I selected the wrong item from the recently used list. Rarely it's been solved by closing the Arduino IDE and then re-opening.
I have reflashed the Atmeg2506 with new fuses and bootloader and its working again.
Flashed the Atmega2560 with the MarlinBugfix 1.1.x and its NOT working I will use my previous version. I will send you the Debug files after my urgent prints
Here are the debug logfiles ,Marlin bugfix 1.1.0 , you asked.
>>>M111 S32
SENDING:M111 S32
echo:DEBUG:LEVELING
echo:enqueueing "G28"
>>> gcode_G28
Machine Type: Cartesian
Probe: NONE
Mesh Bed Leveling (disabled)
current_position=(0.00, 0.00, 0.00) : setup_for_endstop_or_probe_move
> endstops.enable(true)
Raise Z (before homing) to 4.00
>>> do_blocking_move_to(0.00, 0.00, 4.00)
<<< do_blocking_move_to
>>> homeaxis(X)
Home 1 Fast:
>>> do_homing_move(X, -300.00, 0.00)
current_position=(0.00, 0.00, 4.00) : sync_plan_position
echo:busy: processing
<<< do_homing_move(X)
Move Away:
>>> do_homing_move(X, 5.00, 0.00)
current_position=(0.00, 0.00, 4.00) : sync_plan_position
<<< do_homing_move(X)
Home 2 Slow:
>>> do_homing_move(X, -10.00, 25.00)
current_position=(0.00, 0.00, 4.00) : sync_plan_position
<<< do_homing_move(X)
>>> set_axis_is_at_home(X)
For X axis:
home_offset = 0.00
position_shift = 0.00
soft_endstop_min = 0.00
soft_endstop_max = 200.00
> home_offset[X] = 0.00
current_position=(0.00, 0.00, 4.00) :
<<< set_axis_is_at_home(X)
current_position=(0.00, 0.00, 4.00) : sync_plan_position
current_position=(0.00, 0.00, 4.00) : > AFTER set_axis_is_at_home
<<< homeaxis(X)
current_position=(0.00, 0.00, 4.00) : > homeX
>>> homeaxis(Y)
Home 1 Fast:
>>> do_homing_move(Y, -300.00, 0.00)
current_position=(0.00, 0.00, 4.00) : sync_plan_position
echo:busy: processing
<<< do_homing_move(Y)
Move Away:
>>> do_homing_move(Y, 5.00, 0.00)
current_position=(0.00, 0.00, 4.00) : sync_plan_position
<<< do_homing_move(Y)
Home 2 Slow:
>>> do_homing_move(Y, -10.00, 25.00)
current_position=(0.00, 0.00, 4.00) : sync_plan_position
<<< do_homing_move(Y)
>>> set_axis_is_at_home(Y)
For Y axis:
home_offset = 0.00
position_shift = 0.00
soft_endstop_min = 0.00
soft_endstop_max = 200.00
> home_offset[Y] = 0.00
current_position=(0.00, 0.00, 4.00) :
<<< set_axis_is_at_home(Y)
current_position=(0.00, 0.00, 4.00) : sync_plan_position
current_position=(0.00, 0.00, 4.00) : > AFTER set_axis_is_at_home
<<< homeaxis(Y)
current_position=(0.00, 0.00, 4.00) : > homeY
Z_SAFE_HOMING >>>
current_position=(0.00, 0.00, 4.00) : sync_plan_position
destination=(100.00, 100.00, 4.00) : Z_SAFE_HOMING
>>> do_blocking_move_to(100.00, 100.00, 4.00)
echo:busy: processing
<<< do_blocking_move_to
>>> homeaxis(Z)
Home 1 Fast:
>>> do_homing_move(Z, -255.00, 0.00)
current_position=(100.00, 100.00, 0.00) : sync_plan_position
<<< do_homing_move(Z)
Move Away:
>>> do_homing_move(Z, 2.00, 0.00)
current_position=(100.00, 100.00, 0.00) : sync_plan_position
echo:busy: processing
<<< do_homing_move(Z)
Home 2 Slow:
>>> do_homing_move(Z, -4.00, 1.00)
current_position=(100.00, 100.00, 0.00) : sync_plan_position
echo:busy: processing
<<< do_homing_move(Z)
>>> set_axis_is_at_home(Z)
For Z axis:
home_offset = 0.00
position_shift = 0.00
soft_endstop_min = 0.00
soft_endstop_max = 170.00
> home_offset[Z] = 0.00
current_position=(100.00, 100.00, 0.00) :
<<< set_axis_is_at_home(Z)
current_position=(100.00, 100.00, 0.00) : sync_plan_position
current_position=(100.00, 100.00, 0.00) : > AFTER set_axis_is_at_home
<<< homeaxis(Z)
<<< Z_SAFE_HOMING
current_position=(100.00, 100.00, 0.00) : > (home_all || homeZ) > final
current_position=(100.00, 100.00, 0.00) : sync_plan_position
current_position=(100.00, 100.00, 0.00) : clean_up_after_endstop_or_probe_move
X:100.00 Y:100.00 Z:0.00 E:0.00 Count X:8000 Y:8000 Z:0
<<< gcode_G28
>>> gcode_G28
Machine Type: Cartesian
Probe: NONE
Mesh Bed Leveling (disabled)
current_position=(175.00, 175.00, 5.00) : setup_for_endstop_or_probe_move
> endstops.enable(true)
>>> homeaxis(X)
Home 1 Fast:
>>> do_homing_move(X, -300.00, 0.00)
current_position=(0.00, 175.00, 5.00) : sync_plan_position
<<< do_homing_move(X)
Move Away:
>>> do_homing_move(X, 5.00, 0.00)
current_position=(0.00, 175.00, 5.00) : sync_plan_position
<<< do_homing_move(X)
Home 2 Slow:
>>> do_homing_move(X, -10.00, 25.00)
current_position=(0.00, 175.00, 5.00) : sync_plan_position
<<< do_homing_move(X)
>>> set_axis_is_at_home(X)
For X axis:
home_offset = 0.00
position_shift = 0.00
soft_endstop_min = 0.00
soft_endstop_max = 200.00
> home_offset[X] = 0.00
current_position=(0.00, 175.00, 5.00) :
<<< set_axis_is_at_home(X)
current_position=(0.00, 175.00, 5.00) : sync_plan_position
current_position=(0.00, 175.00, 5.00) : > AFTER set_axis_is_at_home
<<< homeaxis(X)
current_position=(0.00, 175.00, 5.00) : > homeX
>>> homeaxis(Y)
Home 1 Fast:
>>> do_homing_move(Y, -300.00, 0.00)
current_position=(0.00, 0.00, 5.00) : sync_plan_position
<<< do_homing_move(Y)
Move Away:
>>> do_homing_move(Y, 5.00, 0.00)
current_position=(0.00, 0.00, 5.00) : sync_plan_position
<<< do_homing_move(Y)
Home 2 Slow:
>>> do_homing_move(Y, -10.00, 25.00)
current_position=(0.00, 0.00, 5.00) : sync_plan_position
<<< do_homing_move(Y)
>>> set_axis_is_at_home(Y)
For Y axis:
home_offset = 0.00
position_shift = 0.00
soft_endstop_min = 0.00
soft_endstop_max = 200.00
> home_offset[Y] = 0.00
current_position=(0.00, 0.00, 5.00) :
<<< set_axis_is_at_home(Y)
current_position=(0.00, 0.00, 5.00) : sync_plan_position
current_position=(0.00, 0.00, 5.00) : > AFTER set_axis_is_at_home
<<< homeaxis(Y)
current_position=(0.00, 0.00, 5.00) : > homeY
Z_SAFE_HOMING >>>
current_position=(0.00, 0.00, 5.00) : sync_plan_position
destination=(100.00, 100.00, 5.00) : Z_SAFE_HOMING
>>> do_blocking_move_to(100.00, 100.00, 5.00)
<<< do_blocking_move_to
>>> homeaxis(Z)
Home 1 Fast:
>>> do_homing_move(Z, -255.00, 0.00)
current_position=(100.00, 100.00, 0.00) : sync_plan_position
<<< do_homing_move(Z)
Move Away:
>>> do_homing_move(Z, 2.00, 0.00)
current_position=(100.00, 100.00, 0.00) : sync_plan_position
<<< do_homing_move(Z)
Home 2 Slow:
>>> do_homing_move(Z, -4.00, 1.00)
current_position=(100.00, 100.00, 0.00) : sync_plan_position
<<< do_homing_move(Z)
>>> set_axis_is_at_home(Z)
For Z axis:
home_offset = 0.00
position_shift = 0.00
soft_endstop_min = 0.00
soft_endstop_max = 170.00
> home_offset[Z] = 0.00
current_position=(100.00, 100.00, 0.00) :
<<< set_axis_is_at_home(Z)
current_position=(100.00, 100.00, 0.00) : sync_plan_position
current_position=(100.00, 100.00, 0.00) : > AFTER set_axis_is_at_home
<<< homeaxis(Z)
<<< Z_SAFE_HOMING
current_position=(100.00, 100.00, 0.00) : > (home_all || homeZ) > final
current_position=(100.00, 100.00, 0.00) : sync_plan_position
current_position=(100.00, 100.00, 0.00) : clean_up_after_endstop_or_probe_move
X:100.00 Y:100.00 Z:0.00 E:0.00 Count X:8000 Y:8000 Z:0
<<< gcode_G28
echo:endstops hit: Z:-1.97
echo:Settings Stored (453 bytes; crc 18807)
I think I have a solution for my problem, I must set a G28 code in the front of my scriptfiles when I starting a print ,then the nozzle hight is OK .
When I starting a print without the G28 in the front of the script the nozzle is starting 10mm too high.
Is this the normal procedure?
Pretty much... Every slicer will include default gcode at the front of the file. And one of the very first things in that default gcode will be a G28.
Thanks for your help.
@garaguido Check the G-code on the front of your script. If it has a command like G92 Z0
or something else which makes assumptions that the nozzle is at the home position, then it will not print correctly. Just make sure the start G-code has only the minimum commands needed to get ready for a print.
When I use the MBL function in Marlin RC8 , the printhead start at 10mm above the printbed , and I must corrected more than -10mm to adjust the levelhight at Z 0.1 mm.
How can I adjust the Z hight settings , in the Marlin RC8 Configuration.h , for starting the MBL at Z 0.1mm and adjusting the 9 points bed correction level afterwards.
This was not my problem when I use MBL in RC6 , the printhead was correct starting at Z 0.1mm