-
-
Notifications
You must be signed in to change notification settings - Fork 19.2k
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
Dev version and bed levelling - wrong Z after G29 (several mm above bed) #1682
Comments
Actually, it seems to be something in the G29 command and not in the G1 in between - I'll add further details |
@harerama Reset your homing offsets and see if that helps. |
I tried M502, if that is what you mean. My home offsets are all set to 0. |
Which of the bed leveling options are you using? |
After you tried M502 did you save the settings? Think it's M500. I had a similar problem a long time ago but my start sequence is just G28, G29. Sorry if you have tried this, just seems like the same as my old issue and this was the fix. Sent from my iPhone
|
I will try again tonight - I am using grid levelling |
I just uploaded the firmware with the latest commits, the issue seems to me that the new raise before retracting probe isn't being taken into account for the Z height and z probe offset. |
@Sniffle Does it mean that you can reproduce the problem ? |
every time i go to print, the printer heats, runs through g28, then g29 and then begins printing in the air ~5mm which is what my rais before retracting is set to. edit: I'm going to add my z raise after probing to my offset to see if this corrects and proves the issue. I'll report back in a couple hours. |
At this point hte gap is reliable, I am working towards my new adjusted offset and it's looking like the gap is 4mm, where that number comes from i don't know. 5 which was my raise after probing was too much and caused a minor crash, i went from that to double my original offset, which was still a crash but less to make the hotend raise. so now i am down to 4mm + my original offset to make it print. |
Looking at this, if the mesh bed leveling could be at fault here. Are you using Note! It is not possible to compile the mesh + auto bed leveling, and a |
Is there any document about how to use the Mesh Leveling? I wanna try it
|
I finally got the new arbitrary of set setup and now I can reliably print My offset went from 4.2 to 6.5, how this happened I have no clue but math
|
@alexborro I think I described it shortly in the pull request. Maybe got lost in all the text. The bed level option is added last in the Prepare menu. When selecting it the hotend will travel to all points and one use the encoder to move it up/down. Move it down until the usual paper thickness from the bed and press the encoder to "enter" that value, keep doing that until all points have been entered. The mesh can be saved in the EEPROM so storing them is good. A G28 homing will show if the mesh is active or not. If it does not travel to the first measure point (for sync position with mesh) the mesh is not active. Later I also added
I use a paper and do the goto next point when the paper feel loose, which gets the compensation a little too loose so I compensate that in Slic3r with "Z offset" (in Printer Settings) set to When probing and |
Got it, but how do I use my Z Probe to do an automatic probing?
|
@alexborro I don't have that setup so I have not added that, sorry. But I think it shouldn't be to hard to add, either taking code from the auto bed leveling parts or optionally add the mesh there. |
I will try to implement it tomorrow.
|
@alexborro Cool! Please let me know how it works, and feel free to ask I'll help if I can. |
@Sniffle If you've figured out the printing in the air problem, please contribute to this conversation! #1507 Or… have you just found a workaround? It sounds like a fairly simple issue, in a way, if it is persisting for you. Somehow the Z coordinate is getting lost by the time the probing routine ends, so the firmware probably thinks Z = 0 when printing starts. |
Here is the log of the terminal:
I don't know where this 2.7 value comes from... I am using grid levelling (the default one) Send: M501 |
Here is my full Configuration.h - in case it helps
|
???
??? 7.3 + 2.7 = 10.0 |
Mulling this over… When So, all in all very weird. |
@thinkyhead: too early for me to spot easy math... I removed the G1 between G28 and G29, so this is not the problem. |
I'm also have this problem. This issue occur after adding command "do_blocking_move..." into retract probe function. That all, what i know. |
So again, very odd. It ends up at |
I can add that this may not be a recently added bug. I have a Printrbot Full Metal Simple running their branch of firmware and out of the blue one day in Feb it started printing in air after the G29. No firmware change, it's running the factory code it came with. I switched from CURA to Simplify3D for its slicing but couldn't really see anywhere I got the startup wrong and going back to CURA didn't get me back to working. I'm thinking EEPROM calibration setting? That's all I've "changed" and do so frequently to keep calibration tight.
|
I am also using EEPROM. Everything was working good until I upgraded Marlin to dev version because I had trouble getting EEPROM to work in my previous version. |
I didn't think it would be but it was a simple thing and just in case it
|
@alvinavr I'm thinking actually this might be more correct? What do you think?
|
Here are some of my recent homing notes, trying to get worked out how G28 should behave in all cases… Trying to eliminate the need for
|
@thinkyhead Yes, you are correct. This is better.
It tested OK on my Huxley. |
@thinkyhead I just tested #1819.
The failure mode is that the last probe point(s) are probed with the Z probe up, not down. The code at line 2325 has triggered act = With the zigzag logic the direction of X travel on the last line of probe points depends upon an even or odd P. With V4 or T, zigzag is disabled and the direction is always the same. The last line of probes can be done in reverse order, starting at The following would correct for this, line 2325 in
|
- Address Issue #1682 at hash #issuecomment-89756858
@alvinavr I have made that correction in Development, so that should work correctly now. |
Keeping this alive because this is the first date when things started getting weird. So I traced back to commit 89fe774 and decided to start before that, with a version before March 16.
I am comparing to that, and will have a couple of semi-reverted versions to test soon... |
Is this problem almost fixed? This thread is kind of the same, isn't it? |
The last print they got in that thread looked pretty good and the z height was coming out the right way, as far as I can see. Which repository is the correct or main repository? I see MarlinFirmware/Marlin written at the top of both pages so I thought you were working on the same thing. |
As more or less all Marlin-Firmwares are a fork from ErikZalm/Marlin (https://github.com/ErikZalm/Marlin) and Eriks repository is pointing to here, MarlinFirmware/Marlin (https://github.com/MarlinFirmware/Marlin) it seems to be the "official" one. :-) (as far as there is a "official" one) |
The BeckDac fork that Boelle is using did come directly from an early Erik Zalm branch that had 'Accurate Bed Leveling'. BeckDac tweaked a bunch of stuff so it would be 'Load and Go' on MakerFarm printers. A few bugs with the different types of thermistors were cleaned up. He also added most of the firmware pieces I published over at 3D-Print-Board like M48. I'm running that fork and do most of my coding against it because it is stable and does not do crazy things. Incidentally... It (My version... Not the BeckDac one) has the Iterative qr_solve() Least Squares Fit hooked in and ready to go. If the problems with Auto Bed Leveling are qr_solve() related, using the Iterative Least Squares Fit gets that out of the equation. The Iterative Least Squares Fit code does not ever write to a pointer so it can't cause memory corruption like what is suspected in the real qr_solve(). |
About qr_solve: @Roxy-3DPrintBoard |
@AnHardt If the github@kitelab.de address is correct, I just emailed it to you. It is very simple (code wise). But the code had to be carefully ordered because all the additions and subtraction do push the 4 byte floats to the limit of their resolution. This code would have been much easier to write with 8 byte doubles. And it does save about 10KB of firmware space. I don't even need the extra space. I'm at about 85KB in my AVR so I still have lots of head room. But it was a fun piece of code to write. Uncomment the debug code at the end if you want to watch it do its work and converge on a solution. If that address is not correct, the email will bounce and you can tell me where to send it. |
@Roxy-3DPrintBoard |
Did you have a chance to play with it? |
@Roxy-3DPrintBoard |
Ah... If it is useful... I did most of the work in Visual Studio C++. I took the points from different G29's and compared them to what qr_solve() was producing. It isn't comparing the 3-Point, but it is validating that the iterative solution converges at the same solution that qr_solve() does... |
This issue was moved to MarlinFirmware/MarlinDev#26 |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
3 similar comments
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
I just upgraded to the latest dev version. I noticed one change that broke my init G-code.
I had the following:
G28
G1 Z10.0 F{travel_speed} ;move the platform down 10mm
G29
Now, with the new version, the G1 move is NOT substracted from the final Z height, which results a wrong first layer Z (in this case, my printer started at Z=10+layer height which messed up the print).
The same init sequence was working perfectly previously.
I just need to remove the G1 line to fix the problem, and I am fine with it, but you may want to lay the stress on this functional change.
As far as I remember I copied a starting sequence from some webpage, so there may be many users in the same situation.
Regards
The text was updated successfully, but these errors were encountered: