prusa3d / Prusa-Firmware

Firmware for Original Prusa i3 3D printer by PrusaResearch
GNU General Public License v3.0
1.99k stars 1.05k forks source link

Steel sheet alert before start the print #4569

Open jfestrada opened 6 months ago

jfestrada commented 6 months ago

One of the usual problems with the MK3S and the different steel sheets is to forget to change the sheet selection resulting on a PEI damage. So as I have been dealing with that issue I developed this alert. In my case I extended the M115 G-Code in order to perform the check before to start the print and print a message on the LCD alerting the selected sheet, raise a beep and wait for the user input. The check will work only if the check is enabled in the settings menu which use a eeprom variable, if the printer has more than one steel sheet registered and if is a local print.

github-actions[bot] commented 6 months ago

All values in bytes. Δ Delta to base

Target ΔFlash ΔSRAM Used Flash Used SRAM Free Flash Free SRAM
MK3S_MULTILANG 604 -1 247390 5656 6562 2536
MK3_MULTILANG 588 1 246664 5665 7288 2527
3d-gussner commented 5 months ago

@jfestrada This PR is quite resource hungry. Not sure how many users will use it.

Have you seen https://github.com/prusa3d/Prusa-Firmware/pull/3948 ?

Do I understand it correctly:

When multiple sheets are calibrated the active sheet is shown on LCD Info screen when idle.

By adding two lines to Start gcode you can get same result:

M300 P50 S500 ; beep
M1 Check sheet correct ;pause until click

Check sheet correct

Example: Check_sheet_correct.3mf.txt Check_sheet_correct.gcode.txt

3d-gussner commented 5 months ago

@jfestrada Does this workaround work for you?

jfestrada commented 5 months ago

@jfestrada This PR is quite resource hungry. Not sure how many users will use it.

Have you seen #3948 ?

Do I understand it correctly:

* You want to be informed on LCD which sheet is active and you have to confirm the selection

* This option can be en-/disabled in LCD Settings menu

When multiple sheets are calibrated the active sheet is shown on LCD Info screen when idle.

By adding two lines to Start gcode you can get same result:

M300 P50 S500 ; beep
M1 Check sheet correct ;pause until click

Check sheet correct

Example: Check_sheet_correct.3mf.txt Check_sheet_correct.gcode.txt

@3d-gussner you are right in your approach, in my point of view your solution is valid for "advanced users" and of course is efficient, but the reality is different, because the average user will not change the profile. And finally if the user is in a hurry maybe the user will forget about to change of the steel sheet selection and then is when the shinny new PEI steel sheet will have a new tattoo because the user was printing PETG on the textured sheet and now this user is going to print with PLA on the PEI sheet and the user forgot about to change the sheet selection. Maybe the situation descrived avobe will sound a little bit dramatic from my side, but it's happening with many people since years. Obviously this situation will not happen with the MK4 but for the MK3S+, MK3.5 and the Mini is something that will be there.

This is the workflow implemented:

By the way I perfectly understand your point of view, and in this FW the first thing is to think about the efficiency. But this modification will save some €€€ to the end user if their steel sheet is not damaged to be in a hurry.

3d-gussner commented 5 months ago

@jfestrada Thanks for the comment and arguments for your PR. Please keep this PR open, for now I would say we won't merge it, but things can change.

petrubecheru commented 5 months ago

the problem of wrong steel sheet happened to me. I wa slucky because Z value was different between the two plates and the current one (the wrong one) needed a lower nozzle, so the PETG didn't stick and I catched the problem and saved the plate.