-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
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
Allow Repeatability Test from LCD to test in place #19104
Allow Repeatability Test from LCD to test in place #19104
Conversation
When probe is on nozzle left and home is at x & Y min the LCD M48 will no works because of automatic G28 will move the prove out of area. Added a new C parameter to M48 to let it move to bed center
This makes menu selected M48 inflexible. Now it always and only probes in the center. Probing somewhere else is impossible now. |
@AnHardt the old wasn't flexible in the same way. It always probe on homing position...and some system can't |
@AnHardt maybe you missed the G28 in front. Maybe a better solution is not to have it, or maybe a |
Sending the error message to the LCD might be useful as well since it only sends it out over serial: Marlin/Marlin/src/gcode/calibrate/M48.cpp Lines 87 to 90 in db8522b
|
@thisiskeithb the problem is that with G28 done before you wil never be able to execute it, even if you know why. Maybe maybe the best solotion might be G28 O. In this way if you have a not homed system it will behave as now. If home has been done M48 will be done in situs |
@AnHardt. This is a probe deviation test, the position on the bed where the test is done should not matter. |
@thisiskeithb I added a lcd error message but I'm not sure it's needed when M48 is executed via LCD since now it executes on center of the bed. |
If the mechanics of the machine were perfect... It is true the position on the bed would not matter. But then again, if the machine's mechanics were perfect, we wouldn't even need this test. It is important to allow the probe to be in different positions for the test. Different locations will produce different results. For example, a Capacitive or inductive probe near the edge of the bed compared to the center of the bed. Or probing a corner versus the center with a probe that does not have a light touch. It is very easy to construct cases where the location changes the repeatability of the probe. Even probing at the same location will give different results if the Star or Skizoid option is invoked due to back lash of the belts and bearings. |
That is true but then the probing test is not determining the repeatability of the probe but determining the stability of the bed or suitability of the position to perform the repeatability test. That being the case, wouldn't choosing the center of the bed be the safest choice to test the probe? |
@Roxy-3D I see only 2 fast solutions now:
Please consider that previous code (G28 + M48) was already probing always in the same point |
My thoughts are that the menu items make useful features accessible to new users. It should work with minimal user intervention or provide guiding steps to complete the task. Error messages should be simple and provide next steps to prompt the user. |
M48's purpose is to determine the repeatability of the probing system. Not just the probe. Perhaps the documentation needs to be scrubbed with that thought in mind. |
G28 O would still allow the user to reposition the probe in a different location prior to invoking the M48. That would be my preference. |
Wow, that is a very much bigger scope and the user should basically probe the expected/suspected weak points to determine the suitability of the probing system for use. Yes, the documentation will need amendments to reflect and will be useful if it provides guidance on the use. |
Ok new proposal. |
I suggest you try the S option on M48 and see how the jitter of the X & Y axis affects the numbers you get. It maybe your machine is immune to the extra backlash those movements cause. But some number of machines do get noticeably worse repeatability of the probed values when S is used. (Cartesian machines seem less affected than Delta's and Core-XY machines). But anyway... That extra movement (as an option) should help convince a person that M48's purpose was more than just the probe's repeatability... It would be good if we could get some of the documentation to reflect that better. And for that matter... More comments in the M48 code might be a good idea too. If there are any volunteers willing to tackle that task, I'm all for it! |
Taking out G28 and not fixing the probe location looks like the best solution. It allows selection of probing positions to provide the flexibility of running a probe test or probe/bed/system system test to investigate bed probing results. |
Or... It may make sense to actually do a G28 if needed... But return back to the current coordinates and continue. There is room to decide what the desired behavior is and start moving towards it. M48 first appeared in the Marlin firmware and its functionality was copied by the other 3D Printer firmwares. If it makes sense to change M48 to make it better.... There is no reason not to migrate to the preferred behaviour. |
Taking your thoughts and account of the probing system/ printer weakness test capability of M48, possible options.
3.1 Retain Option 1 or 2 to provide for localised tests. This will be useful as you tweak the printer and check the results. 3.2 Provide an additional feature under another menu item (eg, PRINTER STABILITY SCAN or something) to run testing of the entire printer to identify its weakness. In the test, run the M48 at all bed levelling positions (a 5 point or a 3x3 should suffice?) and report the deviations at each point. This will give a picture of the printer and the user will be able to determine weak locations that need work. A download of the results for analysis will be required. Running this via a laptop to capture the output or writing the results to an SD card (preferred) are possibilities. Further thoughts? |
It maybe useful to give M48 the ability to generate repeatability for a grid on the bed. 3 x 3 would be a good start. But it would probably make sense to allow the M48 grid code to allow the user to specify the number of points to be included in the grid. Probably 3 x 3 would be a very good default if nothing is specified by the user. I can envision some people would have a need to go fairly high (like maybe 8 x 8) when looking for problem areas on their bed. |
3x3 sounds like a logical start, higher density sounds iffy. A 3x3 probes the 4 corners and mid edges where the supports would be (for contact sensors). For proximity sensors, it gives edge and presence of bed support material effect. The center gives the 'best' case as a reference for comparison against the other points. The original issue is closed and this discussion is a separate subject, would be better to move it to a new issue? |
Yes. Please create a new Feature Request. |
And please be sure to reference this thread so we know where the discussion is continuing... Or keep going here. That is OK too. |
When probe is on nozzle left and home is at X & Y min the LCD M48 will no work because the automatic G28 will move the probe out of area.
Added a new C parameter to M48 to let it move to bed centerDo
G28 O
beforeM48
so it only homes when needed andM48
can be done at the current position.Fix #19101