Bedmesh doesn't seem to be working properly
-
I need some assistance on first layer printing. I have a bedmesh created and it appears to be in use. I can see it moving the Z axis slightly as the X axis travels back and forth. However the nozzle will still happily plow right into the bed as it moves along leading to permanent marks on the bed. Using a feeler gauge I can see that the distance across the bed does not seem to be consistent so it feels like the bedmesh is not being fully applied. On the left side it ends up too high to stick properly but at least prints cleanly, at least until it unsticks, but on the right side it's definitely far too low. The darker lines are where the nozzle plowed into the bed at full heat causing damage to the bed surface.
The bed is as curved as a potato chip but it's what I currently have available. It worked fine on the original prusa rambo board so it should be usable. At some point I will likely do the silicone tubing mod on the bed to try and get it a little flatter.
Mesh compensation appears to be in use.
"DMs created 83, segments created 11, maxWait 1668880ms, bed compensation in use: mesh, comp offset 0.000"
The fade height it 10mm so that should not really be a factor on the 1st layer.
The extruder extrusion is reasonably accurate with the 100mm test, just a touch of underextrusion.
I have tried creating the heightmap both cold and with the bed heated to 60C for a few minutes. It doesn't seem to make a difference in behavior. I'm using a Euclid probe that is manually added and removed as needed. The plan is to create a servo controlled dock to automate this but I need to be able to get the prints working first in order to do that.
Any ideas on what could be causing this and how I can fix it?
Any help is much appreciated.
S
-
@shoggoth43
Please post your config.g and bed.gThe best way to tell if the MBL is working is to put a clamp or piece of tape with a flag on the Z-axis spindle, or simply hold your finger on the Z-motor clutch.
With me I can't see that the X-axis is moving, the movement of the print bed and the print head would also irritate me.Have you already tried to delete the heightmap.csv file manually and then made an MBL?
P.S.:
I have the command M561 followed by the G29 without parameters in the bed.g file.
In the config.g I have under ; Z-Probe the command M557 X30:300 Y30:300 S54 for the grid definition.I make an MBL before every print (don't print every day).
If I restart my printer, then no heightmap is loaded.
If I want to load the existing heightmap, I do it manually via the DWC, where you can also start the MBL.
This PopUp also shows whether the heightmap is currently loaded.
You can see whether this heightmap is up-to-date by looking at the date in the system directory next to the heightmap file.If I make an MBL then the heightmap just created is also loaded as long as the printer remains switched on or no emergency stop is clicked.
Google Translate from German to English
----- Original Text -----
Poste doch bitte mal Deine config.g und bed.g
Am besten erkennt man ob das MBL arbeitet indem man eine Klammer oder ein Stück Klebeband mit Fahne an die Spindel der Z-Achse macht oder einfach den Finger an die Kupplung des Z-Motors hält.
Bei mir kann ich es nicht an der X-Achse sehen dass sie sich bewegt, die Bewegung der Druckbettes und des Druckkopf würde mich dabei auch irritieren.Hast Du schon versucht die heightmap.csv Datei manuell zu löschen und danach ein MBL gemacht ?
P.S.:
Bei mir steht der Befehl M561 folgt vom G29 ohne Parameter in der bed.g Datei.
In der config.g habe ich unter ; Z-Probe den Befehl M557 X30:300 Y30:300 S54 für die Gitterdefinition stehen.Ich mache vor jedem Druck (drucke nicht jeden Tag) ein MBL.
Starte ich meinen Drucker neu, dann wird keine Höhenkarte geladen.
Möchte ich die vorhandene Höhenkarte laden, dann mache ich es manuell über das DWC, dort wo man auch das MBL starten kann.
In diesem PopUp wird auch angezeigt ob zur Zeit die Höhenkarte geladen ist.
Ob diese Höhenkarte aktuell ist, kannst Du am Datum im System Verzeichnis neben der Höhenkarte Datei ablesen.Mache ich ein MBL dann ist die gerade erzeugte Höhenkarte auch geladen solange der Drucker angeschaltet bleibt bzw kein Not-Aus angeklickt wird.
-
In the Start-GCode of the slicer I still have the G30 command without parameters.
The print head moves to the middle of the print bed beforehand and measures the height there, at which the entire MBL is then aligned.
Then he fills the nozzle outside of the print bed and strips the filament at the edge of the print bed and starts printing.My first layer is always 0.1mm and after the skirt I poke the line with pointed tweezers to check if it has good adhesion.
If necessary, I use a few baby steps to correct it.With a rough print surface, 0.1mm as the first layer makes little sense.
I have better adhesion with a 0.1mm layer (in my opinion) and I also minimize the elephant foot.Google Translate
----- Original Text -----Im Start-GCode des Slicers habe ich noch den G30 Befehl ohne Parameter stehen.
Der Druckkopf fährt vorher zur Mitte des Druckbettes und misst dort einmal die Höhe, an der dann das gesamte MBL ausgerichtet wird.
Danach füllt er die Düse außerhalb vom Druckbett und streift das Filament an der Kante des Druckbettes ab und fängt an zu drucken.Meine erste Schicht ist immer 0,1mm und nach dem Skirt stoße ich kurz mit einer spitzen Pinzette gegen die Linie um zu prüfen ob diese eine gute Haftung hat.
Gegebenenfalls nutze ich dann einige Babysteps zur Korrektur.Bei einer rauen Druckfläche hat 0,1mm als erste Schicht wenig Sinn.
Ich habe mit einer 0,1mm Schicht eine bessere Haftung (nach meinem Empfinden) und ich minimiere so auch den Elefantenfuß. -
@günter-jibben I will try to post the information requested and double check your suggestions within a day or two. Work has been fairly long hours recently so I definitely can't get much done tonight.
-
-
@Shoggoth43 It's been a while but I seem to have resolved the problem.
First I releveled the bed and have gotten it to within .2mm across the plate so that has improved. This really didn't do anything to resolve the main problem but it is at least an improvement. I may work on that a bit more as it should be easy enough to improve, but this was done mainly to see if I could find a workaround in case I couldn't get the mesh compensation working.
Due to having to manually add/remove the probe I would manually create a bedmesh and save it. Given how warped the bed was and the bed compensation issue, it was taking way too long to try and do a full mesh with each print. Whenever I rebooted the printer I would reload the mesh with a macro that did a G29 S1 and a M376 H5 to set a height taper. I would confirm the bedmesh compensation was in use with M122.
I had glued small bits of filament on top of the Z screws to confirm that any X or Y movement using the PanelDue or other gcode commands did, in fact, use the compensation when the bedmesh was enabled using the macro. However, it would not compensate most of the time when running a job. Sometimes it would work, but most of the time the nozzle would just end up too far from the bed in places and fail, or I would have to babystep it so close it would tend to auger into the bed surface or the extruder would just skip/clog/jam instead. The bed is currently now flat enough that a .2 mm 1st layer height probably won't gouge into the bed but I will need to work on that a bit more.
The apparent fix may be one of those dumb "everyone knows this" bits but adding the G29 S1 command to the actual slicer start gcode seems to have resolved the issue. I still haven't found anything in the documentation to indicate that this should be required given that the M122 command shows that bedmesh compensation is in use, but it seems to have fixed the issue for the moment. I tried several slicers while troubleshooting but it may not be in the start code of all of them so that could have been part of the problem in tracking this down.
I still need to reset my Z offset after a nozzle change and I seem to have some under extrusion issues, but the bed compensation issue now appears to working reliably.