Page MenuHomeAleph Objects Inc

Improved Pro start gcode
Open, HighPublic


@karrad, as you know I've been vocal about highly disliking the bed leveling inconsistency, so I've been trying some things to improve it and would like to provide this for consideration.

I know in task T1506 you are looking at how we can avoid bed leveling every time and I'm still stoked about that idea, but in the meantime I want to offer this as it will help in general (I beleive)

I've been working on this on and off for a couple weeks and have been running new startup gcode now for about a week solid with no problems. Has it improved things? Yes, I think so, at least to some degree.

Here is my logic ...

We know even the slightest amount of plastic (ooze or leftover) on E1 will create a bad bed level.

It struck me that you wipe E1 first then E2 - well during that time E1 has time to ooze - yes, I know the temps are lower during the wipe, but there is still ample time for stuff to sneak out.

So here is what I did:

  • Change to wipe E2 first, then wipe E1 to lessen chance for E1 to have time to ooze during E2's wipe when that was originally done second.
  • Turn fan on full speed during entire wipe sequence - this seems to more consistently blow stuck crap off.
  • During the original wipe sequence, at the end of it for each extruder, raise Z higher than it had been before.
  • After the original wipe sequence of E1 (which now happens second), introduced an additional short wipe sequence.
  • This new wipe sequence goes 0.25mm further into the pad and wipes at a (sort of) diagonal from one end of the pad to the other; the first part goes slow then the second part goes fast and Z raises high and waits 3 seconds between the slow/fast parts. The idea here is two-fold; first, because it is moving somewhat laterally the entire distdance, it seems to push crap off the nozzle tip better and secondly, I think it also has the effect of "pushing" the pad material back towards the center of the pad, thus reducing the left over center groove that appears after numerous wipes. If it is reducing the grooving that will improve the first wipe sequences chance of success as more material will press against the nozzle.
  • The last thing I did was get rid of that annoying and interferring (for large prints) blob that E1 leaves after the purge; I thought I had created a task for that, but maybe we had just talked about that via e-mail.
  • I've run the above for a while, but then additionally, found that raising the soften AND wipe temperatures by ~30C makes a big difference - the original wipe sequence does it's thing at this higher temp (if you of course adjust the profile to make the temps higher) then BEFORE starting the new wipe sequence I introduced, it issues the command to lower to the probe temp, BUT not wait for it to lower - I have found that by the time this second wipe sequence is done, the probe temp has lowered to it's target perfectly.
  • One other thing I did is E1/E2 shear off height were not matched - so I matched those and went from 0.45 to 0.35 so be aware of that.

When I've been testing this I have absolutely not touched the hot end at all after previous prints - I even have left 10mm+ strings hanging from the tip just to see what happens. Early on when I was testing this I got 9 perfect levels out of 11. In my most recent testing I'm up to 5 perfect levels in a row.

I would love for you guys to consider this new start up gcode - even if it doesn't perfectly fix everything, I do believe the logic is sound on the what and why of this new startup code. And even if you don't like this for some reason, the stupid blob is fixed :-).

Okay, tell me what is wrong with what I did :-) ... !!!

I have attached the new startup gcode:

Event Timeline

bmh created this task.Aug 31 2019, 6:50 AM
karrad assigned this task to anolen.Sep 16 2019, 12:22 PM
karrad triaged this task as Normal priority.
karrad renamed this task from Improve Unreliable Bed Leveling (and ditch end of purge blob) to Improved Pro start gcode.
karrad changed the edit policy from "All Users" to "Cura LulzBot Edition (Project)".

@anolen Can we get your eyes on this one? If we can get more consistent levels with a start gcode change it would be a great update.

bmh added a comment.Sep 16 2019, 1:12 PM

@anolen, a couple things I've noted in subsequent testing:

I've gone back and forth on my bullet that says to raise the soften/wipe temps by 30C; the idea was that it made it easier to wipe due to being softer, but I noticed that over time gunk started to build up around the bottom of the nozzle (not the tip, but the surrounding area) and after a while the gunk would start to interfere. The other aspect that might have caused that part though is I was trying to test with never pulling hanging filament off the tip just to see whether it was possible to 100% ignore that and have things work :-) ... I think that was an invalid approach at trying to make it "too perfect" :-).

I have also in subsequent testing adjusted my secondary wipe sequence and think there is more to do here.

Like I said initially, I think the logic for how I am trying to approach this has merit (especially the part about wiping E1 after E2 since E1 does the probe). I'll be curious to see your take on it and what you see or ideas you come up with for improvement. I'm happy to be your test guy! :-)

And on the blob that gets left by E1, the adjustments I made did 100% solve that and I've had zero issues with that part.

@karrad Can we merge T8045? I would like to have only one ticket assigned for Start Code Improvement. Ill get on this.

anolen added a subscriber: marcio.Sep 17 2019, 7:49 AM

Ok. I worked this up using a revised version I had been working on and what @bmh posted. If anyone can run some tests to verify this works on more than just my set of printers and materials I would greatly appreciate it.

@bmh Here is some of my WHY: I loved the switched wiping order so I used that for sure. I didn't use the extra wipes after the initial wipe because I revised the initial wipe to go back and forth and the end, that with the order swap seemed to have done the trick. I also used the deeper wipe sequence, I stuck that into the end of the initial wipe. I didn't turn the fan on for the entire wipe sequence because some materials we support are carbon filled nylons that cool VERY strong and fast, instead I turned the fan on half way through each wipe so it would allow for the debris to blow away but not harden the more sensitive materials before it is separated from the nozzle by the pad. Another thing I liked and used was the clean up of the wiping depth, I took a look at that and rewrote the wipe sequence, hope it lines up and works well for you. The last thing I can think of is that z axis hop you added after the purge, it works well and seems to get rid of the material deposit on the edge of the bed. I didn't change wiping temps because those will be handled in profile updates and we will need to run hotter wiper pad tests to determine the life of a wiper pad after a temp increase that large. If you have any questions or more suggestions or feedback for this new code let me know! 😄

Wiping Note: This code was tested with both the new wiper mount and the old/current wiper mount. It was tested on multiple machines and lined up great for all. IF YOU HAVE A WIPING ISSUE please flash to .149 or newer, home the printer/level x axis, clean the nozzles, restore to factory default, re-calibrate the nozzle offsets, and then try the print/wipe again.

Warning! Some of the start code comments need to be cleaned up and made a little more consistent! That start code file was posted for testing and not immediate CURA integration! Thank you!

bmh added a comment.Sep 21 2019, 7:43 AM

@anolen , I am so excited that you were able to take time to work on this - thank you. I like all your "WHY" logic and appreciate your detailed explanations. On the wipe temps, like I said, after more testing I'm not so sure raising those - at least not as high as I suggested - is a good idea, but maybe some testing to do there. Very interesting on your logic on the fans and the different materials - that would have never crossed my mind. I'll give your updates a whirl this weekend and report back. Thanks again. Oh, can you link me to the newer wiper mount - I'd like to see which I have. If I have the older one, I assume there must be some value in switching to the new one?

@bmh Here is the STL for you

One thing to note, the change in this wiper mount coincides with a change we are testing using new wiper pads. (The pads will be double dipped in an ABS and Acetone slurry) It may not be as effective without those newer pads.

anolen added a subscriber: alexei.Sep 23 2019, 11:14 AM

Here is the code with corrected comments. @karrad and @alexei, can you look it over and let me know if there are any issues with the comment structure?

@anolen I am not seeing anything glaring. I will go ahead and kick off a print or two on my Pros here and verify some alignment

Minor Error Update:

I found 3 : instead of ;

Any feedback here? I would like to get this added to Cura soon.

karrad reassigned this task from anolen to TyTh.Sep 25 2019, 9:40 AM
karrad raised the priority of this task from Normal to Unbreak Now!.
karrad added subscribers: dale, TyTh.

@dale @TyTh We need you to test this on at least 4 Pro printers over at lago. Please verify that Wipe and Probe location is correct with this new start gcode. Please report any other issues such as wiping too deep, or not deep enough.

bmh added a comment.Sep 25 2019, 11:03 AM

@anolen, I apologize I have not had time to replace my version of the code with yours yet. I should be able to do an external test for you on Thu though.

bmh added a comment.Sep 26 2019, 4:38 PM

@anolen, okay I just did some testing.

When the wipe sequence occurs on E2 the nozzle hits the back of the wiper pad mount slightly. When it goes to wipe E1 though the nozzle is too far to the left and hits the left side of the wiper pad mount as it wipes and bounces the wiper pad mount around.

I also noticed you lowered the shear clearance to 0.30 (from 0.35 and one had 0.45). I like this as it shears better. Of course this always worries me in general on the shearing because of the leveling is off too much I fear it whacking the plate, but I guess between 0.30 and 0.35 (or 0.45) that issue would exist anyway. But the lower shear helps get the purge filament off better.

So at first blush I think E1 wipe sequence needs to be moved slightly to the right and the E2 wipe sequence needs to come forward slightly.

I will do more testing to see how reliability of the leveling compares to what I had in originally, but other than noted above, generally looks good.

Thank you again for all your effort; it's appreciated. :-)

bmh added a comment.Sep 26 2019, 4:49 PM

@karrad, not sure this is the best way to communicate this :-), but since my original reason for changing the startup gcode was to improve leveling, I thought I would mention something I just noticed ...

I've been suspect of my leveling (unrelated to filament leakage interference). Have you noticed the bolt that holds the leveling washer down does not go 100% flush with the washer? If you take your fingernail and run it across the washer, see if it catches on the bolt head a little. I also set something totally flat on top of the leveling washer and you can visually tell there is an ever so slight gap.

Since we are dealing with sub-mm this could cause an issue because I noticed when the nozzle touches my back left leveling washer, I believe it is ever so slightly over top of the bold head; it's hard to see for sure from the angle I have so I will have to do some more testing to check this, BUT if there are cases where the nozzle is touching the bolt head, I would suspect that also throws leveling off.

Maybe this is something to look at on some other machines to see if you see this too.

alexei removed TyTh as the assignee of this task.Sep 27 2019, 9:06 AM
alexei removed a subscriber: TyTh.

@bmh No worries, we have many lines of communication and we're happy to use whatever one works best for you.

The corner washers are suspended on a metal stand off, to ensure electrical connectivity. These are also milled very straight along with the washers, and should compress the ninjaflex corners to a level surface. It could be the Ninjaflex is not completely compressed allowing a slight tilt. The tapped holes for the screws go completely though the plate so you do not need to worry about bottoming them out. If you would like you can loosen the corner washers, and push down slightly on the corner of your bed plate while tightening them. This should allow the corners to compress while tightening, leaving a nice flat surface.

However from what you describe, i do not think it is a major contributing factor. Our initial layer heights are set to 0.4mm, this combine with the bed compensation should give plenty of room for adhesion on the initial layer.

anolen added a subscriber: Galadriel.EditedOct 8 2019, 1:02 PM

hey @dale and @Galadriel, can you guys try this start gcode and let me know how the wiping lines up? You can test on either the old or new wiper mount.

anolen lowered the priority of this task from Unbreak Now! to High.Oct 8 2019, 1:22 PM