Immediately after successful print, Mini goes into mesh bed leveling procedure
 

Immediately after successful print, Mini goes into mesh bed leveling procedure  

Page 1 / 2
  RSS
malcmcm
(@malcmcm)
Trusted Member

Has anyone seen this before? This seems to happen about 50% of the time and I can’t figure it out. Immediately following what appears to be a normal print, my Mini will start to go through the mesh bed leveling procedure again, almost like it’s about to re-print. This is an obvious issue because the parts are still on the build plate :/  I’ve check my ending G-code and it has not change from the default in slicer. Is there anything I can add to the G-code to make absolutely sure that the printer doesn’t try to move after the print finishes?

See video:

https://i.imgur.com/Q8Z7QzP.mp4

This topic was modified 2 months ago 2 times by malcmcm
Posted : 29/07/2020 12:02 pm
bobcousins
(@bobcousins)
Reputable Member

Try a different USB stick.

Posted : 29/07/2020 1:47 pm
malcmcm
(@malcmcm)
Trusted Member

@bobcousins

I've tried that, got a new one from sandisk, still happens.

I've also reset the printer to factory a few times and re-flashed the firmware 4.1.0

 

Any other ideas?

Posted : 29/07/2020 10:53 pm
malcmcm
(@malcmcm)
Trusted Member

For anyone following along, there is a bug report active with what appears to be the same underlying issue:

https://github.com/prusa3d/Prusa-Firmware-Buddy/issues/733

Posted : 29/07/2020 11:40 pm
bobcousins
(@bobcousins)
Reputable Member

Interesting, there have been a few reports of odd behaviour at the end of print. I am beginning to suspect a bug in the firmware relating to buffer handling/memory corruption. It seems that the firmware is reading past the end of actual file data and picking up spurious data left in RAM.

For a workaround, a wait with a long delay would allow you to stop the print manually with "G4 Sxxx", but I don't know what the max allowed delay is. 32767 is approx 9 hours, maybe start with that.

Posted : 30/07/2020 9:45 am
malcmcm
(@malcmcm)
Trusted Member

I see the default slicer G-code has a G4 variable but without a defined time, how long does it wait for without a specified time? Indefinately? Seems to be ignoring it. 

I've added a few lines to the end g-code (G80 and M84), not sure if it works 100% of the time but I've had 3 normal prints so far. I've also started to always rename the files on my USB when I export the G-code instead of overwriting them the same filename.

"G1 E-1 F2100 ; retract
{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+15, max_print_height)}{endif} F720 ; Move print head up
G1 X178 Y180 F4200 ; park print head
G80 ; cancels the current motion mode
M84; stops the stepper motors
G4 ; wait
M104 S0 ; turn off temperature
M140 S0 ; turn off heatbed
M107 ; turn off fan
M221 S100 ; reset flow
M220 S100 ; reset speed factor
M900 K0 ; reset linear acceleration"

Posted : 30/07/2020 10:06 am
aurru
(@aurru)
New Member

A similar thing happens to me ever since I moved to 4.1.0. In my case the printer homes after finishing. It is problematic because if the print relatively large, it gets clamped between the extruder and the heatbed as it homes.

I completely discarded the end G-Code and right now I am trying to figure out why it only happens some times.

Following up on @bobcousins. I think he might be on the right here. In my case I have some additional commands at the start of the GCode to get more consistent bed levelling (also from @bobcousins) with an additional home order.  I mention this because it is the only difference I have, but both my additional home command and bed levelling command take place at the Start G-Code and it is the only thing that comes to mind that might explain why different things happen at the end of our prints.

Will try today with the additional commands at the end and the additional waiting time and see if it helps.

Posted : 02/08/2020 5:05 pm
malcmcm
(@malcmcm)
Trusted Member

@aurru

After 5-6 completely normal prints, I had it happen again and this time almost destroy the hotend. I think it's obviously acting irrespectively of the G-code so it wont matter what you include/discard, but if it does work for you please update us!

I've gone back to 4.0.5 for now until there is a fix. There was nothing in 4.1.0 that really excited me anyway 😭 

Posted : 03/08/2020 2:00 am
zoltan
(@zoltan)
Member Moderator

@malcmcm

could you be so kind, provide your g-code , or better the .3mf file and a bit more detailed description of the faulty situation? even few steps before you do the print - (whteher do you load/unload filament, do any callibration, you mentioned , etc. ) 

Any additonal information would be appreciated.

even an old man can learn new things 🙂
Standard I3 mk3s, FW 3.9.0, no closed box, sketchup , fusion 360, PrusaSlicer, Windows 10
PRUSA MINI FW 4.1.0, technical background...
Posted : 05/08/2020 11:00 am
zoltan
(@zoltan)
Member Moderator
Posted by: @malcmcm

@aurru

After 5-6 completely normal prints, I had it happen again and this time almost destroy the hotend. I think it's obviously acting irrespectively of the G-code so it wont matter what you include/discard, but if it does work for you please update us!

I've gone back to 4.0.5 for now until there is a fix. There was nothing in 4.1.0 that really excited me anyway 😭 

Does it make troubles with different g-codes?

even an old man can learn new things 🙂
Standard I3 mk3s, FW 3.9.0, no closed box, sketchup , fusion 360, PrusaSlicer, Windows 10
PRUSA MINI FW 4.1.0, technical background...
Posted : 05/08/2020 11:00 am
zoltan
(@zoltan)
Member Moderator
Posted by: @malcmcm

I see the default slicer G-code has a G4 variable but without a defined time, how long does it wait for without a specified time? Indefinately? Seems to be ignoring it. 

I've added a few lines to the end g-code (G80 and M84), not sure if it works 100% of the time but I've had 3 normal prints so far. I've also started to always rename the files on my USB when I export the G-code instead of overwriting them the same filename.

"G1 E-1 F2100 ; retract
{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+15, max_print_height)}{endif} F720 ; Move print head up
G1 X178 Y180 F4200 ; park print head
G80 ; cancels the current motion mode
M84; stops the stepper motors
G4 ; wait
M104 S0 ; turn off temperature
M140 S0 ; turn off heatbed
M107 ; turn off fan
M221 S100 ; reset flow
M220 S100 ; reset speed factor
M900 K0 ; reset linear acceleration"

@malcmcm,

are you sure about the G80? 

according to reprap  the G80 is the same as G29  - MBL, so it is doing Mesh bed leveling, as required. Try it please without this code and let us know.

This post was modified 2 months ago by zoltan
even an old man can learn new things 🙂
Standard I3 mk3s, FW 3.9.0, no closed box, sketchup , fusion 360, PrusaSlicer, Windows 10
PRUSA MINI FW 4.1.0, technical background...
Posted : 05/08/2020 11:26 am
zoltan
(@zoltan)
Member Moderator

As I am stating in this post , please check any diversion from the standard you did, it is a very important detail. To forget it we are moving in the blind road.

even an old man can learn new things 🙂
Standard I3 mk3s, FW 3.9.0, no closed box, sketchup , fusion 360, PrusaSlicer, Windows 10
PRUSA MINI FW 4.1.0, technical background...
Posted : 05/08/2020 11:56 am
malcmcm
(@malcmcm)
Trusted Member

Sure, I'll try and provide all the info I can. 

My printing experience:

This is my first printer, I've had the Mini for a month now. I obviously don't know everything but I'm a fast learner. I've probably done 50 prints on 4.0.5 and 20-30 on 4.1.0. I've done a lot of reading, I feel like I understand most things 🙂

Configuration:

Prusa Mini w/ filament sensor, Mosquito Hotend, Bondtech extruder, no enclosure. Commonly printing at all temperatures; PLA, PETG, and PC. Nozzle: 0.4mm. I've added M301 for PID calibration for the hotend and M92 for the extruder to my start G-code, I've also added a 2min wait with G4 before the print starts to warm up the MINDA. 

I've had to change the bed origin in slicer to compensate for the Mosquito hotend offset. I've done this not in Gcode but in slicer under Printer Settings > Bed Shape. I've also re-loaded the bed texture and mini model stl from the slicer application folder.

All of my files are sliced with Prusa Slicer v 2.2.0. I do nothing special before printing, I save the gcode directly to the USB in slicer, I use the slicer eject button to remove the USB. The printer is already turned on and sitting on the home screen, I insert the USB and select print when the prompt comes up.

As the print begins: The printer first goes home, moves to the center for 2 minutes to warm the MINDA, then does the mesh bed leveling. The printer goes back home and waits for temperature. I usually adjust the z-height on the fly as the print starts.  Everything up to now seems normal. Once the print finishes it moves the hotend out of the way to the back right corner, then immediately the hotend starts to return to the home position. It no longer does the full mesh bed leveling sequence (as I described earlier), it now just returns home and waits. What is also odd: the Z-axis and Y-axis steppers move simultaneously as the nozzle returns to home. 

I usually have to quickly restart the printer before it runs into anything.

 

My workaround(s):

Printing from Octopi works fine. I can print the same gcode with octopi (pi 3b+) successfully. 

Downgrading and using v. 4.0.5 works fine. I print the exact same gcode on 4.0.5 and the file prints normally.

This is why I believe it has nothing to do with my G-Code and is something else to do with 4.1.0.

 

To what you're saying about G80, I tested it again without it in the end g-code and the problem persists. Not sure why but there seems to be conflicting info on what G80 actually does https://marlinfw.org/docs/gcode/G080.html maybe I'm missing something?

Here is my end G-code now:

"G1 E-1 F2100 ; retract
{if layer_z < max_print_height}G1 Z{z_offset+min(layer_z+15, max_print_height)}{endif} F720 ; Move print head up
G1 X178 Y180 F4200 ; park print head
M84; stop the stepper motors
G4 ; wait
M104 S0 ; turn off temperature
M140 S0 ; turn off heatbed
M107 ; turn off fan
M221 S100 ; reset flow
M220 S100 ; reset speed factor
M900 K0 ; reset linear acceleration"

Anyway, I'll attach my 3mf and gcode file. I just tested this print and the problem occurred. I'll attach a video showing the end of the print. Let me know if there is anything else I can provide.

Video here if the embed doesnt work: https://imgur.com/S3Bu1Qs

 

This post was modified 2 months ago by malcmcm
Posted : 05/08/2020 12:50 pm
zoltan
(@zoltan)
Member Moderator

@malcmcm,

great, we sorted out the MBL , when you look at this link the G80 in marlin is implemented as G29 - MBL https://reprap.org/wiki/G-code#G80:_Mesh-based_Z_probe so there is some misinformation in marlin.

What do you mean please by home position? When you run from menu Home the bed moves backwards and the head to the right, is that what you mean by home position?

I am now printing on MINI, so when I finish I will try your code, just to be clear which 4.1.0 version do you use the Final one?

 

even an old man can learn new things 🙂
Standard I3 mk3s, FW 3.9.0, no closed box, sketchup , fusion 360, PrusaSlicer, Windows 10
PRUSA MINI FW 4.1.0, technical background...
Posted : 05/08/2020 2:10 pm
malcmcm
(@malcmcm)
Trusted Member

@zoltan

Just want to be sure you understand I tried adding G80 to the gcode after I experienced the bug of the printer trying to MBL post-print. So there is no way G80 was responsible for that bug. MBL after printing happened before and after I added G80 to the gcode.

 

Yes by home, I just mean the head goes to the south eastern corner of the bed.

I've used the 4.1.0 from the Prusa downloads page. https://www.prusa3d.com/drivers/

I never tested earlier versions of 4.1.0. I went straight from 4.0.5 to 4.2.0 then back down to 4.1.0

 

Also to clarify, the printer has 4.1.0 installed on it and I now just print through octoprint. Everything works fine that way. It is only when I'm printing without octoprint connected, and with the USB inserted into the printer that I get the strange procedure at the end.

This post was modified 2 months ago by malcmcm
Posted : 05/08/2020 2:18 pm
zoltan
(@zoltan)
Member Moderator

Just one more clarification - during the print you did not pause it?

even an old man can learn new things 🙂
Standard I3 mk3s, FW 3.9.0, no closed box, sketchup , fusion 360, PrusaSlicer, Windows 10
PRUSA MINI FW 4.1.0, technical background...
Posted : 05/08/2020 2:50 pm
malcmcm
(@malcmcm)
Trusted Member

That's correct, I did not pause the print

Posted : 05/08/2020 11:59 pm
zoltan
(@zoltan)
Member Moderator

@malcmcm

Just side question - you are heating the nozzle for 270°C and the bed for 100°C for PETG?

even an old man can learn new things 🙂
Standard I3 mk3s, FW 3.9.0, no closed box, sketchup , fusion 360, PrusaSlicer, Windows 10
PRUSA MINI FW 4.1.0, technical background...
Posted : 06/08/2020 8:56 am
malcmcm
(@malcmcm)
Trusted Member

No thats for Prusament PC, I wish could go to 105 or 110 on the bed! Sorry, should have given you a petg or pla file.

Posted : 06/08/2020 9:00 am
zoltan
(@zoltan)
Member Moderator

@malcmcm

I am a bit confused - in your  test-print.zip file the .3mf still contains the G80 G-code, but the g-code file not. 

 

 

even an old man can learn new things 🙂
Standard I3 mk3s, FW 3.9.0, no closed box, sketchup , fusion 360, PrusaSlicer, Windows 10
PRUSA MINI FW 4.1.0, technical background...
Posted : 06/08/2020 9:21 am
Page 1 / 2
Share:

Please Login or Register