-
-
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
Head crashing into heatbed on delta when issuing G29 #3666
Comments
I have the same error, it started from RC4. It worked well in RC3. Tried the RC4,RC5,RC6 and the bugfix branch also, but the same issue. I have a Kossel Mini using an inductive sensor. Endstops and sensor are changes states perfectly, tested with M119. G28 then G29, it goes to the first point and trying to press the hotend under the alu heatbed constantly. Edit: I'm currently not near my main computer, but I will be able to provide debug log message later. |
For a DELTA try to define
|
Make sure you have both your z height and any z probe offset set correctly or at least pretty close. |
@pubbebubben I'll try to test RC3 later today on my setup. @Blue-Marlin I am experiencing the same issue with @WZ9V Are you referring to I believe that i have |
Looking at your configuration @tiagom62 … If you're connecting your Z probe to one of the unused endstop pins, you should enable the plug here: //#define USE_XMIN_PLUG
//#define USE_YMIN_PLUG
//#define USE_ZMIN_PLUG Since you have |
@thinkyhead i thought that as well but from what i recall uncommenting USE_ZMIN_PLUG produced a sanity check error. I will try this later today and provide you the output. |
This wording seems a little bit cryptic. Wouldn't it be better to have something like:
|
That's not what those settings mean, @Roxy-3DPrintBoard. The |
If it does, please post the error. |
@thinkyhead new configuration http://pastebin.com/DDH07Qme Error i recalled is:
|
OK, those were what I was thinking of and if the host stops at 0 without crashing when moving manually that would indicate something wrong with the z-min endstop settings when using it for the probe. It's been a while since I messed with this in Marlin and when I did it was a different fork. Sorry I can't help more. |
Let's take a look at that error. I didn't add that check, so I need to deconstruct it… #if ((HAS_Z_MIN && ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN)) && HAS_Z_PROBE) ...
&& ( ENABLED(FIX_MOUNTED_PROBE) || defined(Z_ENDSTOP_SERVO_NR)
|| ENABLED(MECHANICAL_PROBE) || ENABLED(Z_PROBE_SLED)) Together these just test that you have some kind of probe.
|
@thinkyhead Setting DISABLE_Z_MIN_PROBE_ENDSTOP produced the following error with my configuration.
I then disabled Z_MIN_PROBE_ENDSTOP which which allow me to successfully compile. Those changes allowed me to auto bed leveled successfully. The change i made to RAMPS_14.h was not required. I reverted back the change and retested successfully. I would like to thank you for your assistance, it is much appreciated. @pubbebubben Here is my current configuration file with functioning auto bed level. I hope this is useful getting your auto bed leveling functional on newer firmware. |
Whew! I also find all these probe options a little confusing. Okay, a lot. I'm starting to clean it up with #3672 but really want to come up with better names. The |
Originally this was meant as: "The probe is connected to the Z_MIN_PIN. This connector is blocked by the probe. We do not have a z-min-endstop. Use the probe for homing to z-min." |
That way the decision whether to use the probe for homing or not is made by the pin you use.
|
Just to repeat myself: |
Being completely unfamiliar with marlin(and 3d printers) i found the configuration comments unclear as to what needed to be set for probing on my delta printer. What i believe confused me was the comments for // This option disables the use of the Z_MIN_PROBE_PIN
// To enable the Z probe pin but disable its use, uncomment the line below. This only affects a
// Z probe switch if you have a separate Z min endstop also and have activated Z_MIN_PROBE_ENDSTOP above.
// If you're using the Z MIN endstop connector for your Z probe, this has no effect. The last line in particular, i interpreted it as follows.. If you are using the z min endstop pin for the z probe then defining Which in my case this was the missing piece to getting probing working. |
@tiagom62 Thank you for the config file. It guided me in the right direction and finally the autoleveling works for me with the RC6 release. Actually my problem was the same as you had. I didn't uncommented the |
@thinkyhead Perhaps we can make that comment clearer as it may trip up others in the future. |
I think it would help to have a complete grid / chart of how to set the probe (and endstop) options based on different kinds of setups. Certain combinations of these settings might be "nonsense" and we should check for that too. From the chart we should have a very good idea of how they all relate, and maybe this will even reveal a way to give a higher level of control (similar to the way that selecting an LCD controller enables a certain combination of sub-options). |
I guess the "big three" options that need to be better understood in relation to each other are… Z_MIN_PROBE_ENDSTOP
DISABLE_Z_MIN_PROBE_ENDSTOP
Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN …and should be considered in combination with… USE_XMIN_PLUG
USE_YMIN_PLUG
USE_ZMIN_PLUG // <===== This One Especially
USE_XMAX_PLUG
USE_YMAX_PLUG
USE_ZMAX_PLUG Does this (proposed) sanity check make sense? : #if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) && DISABLED(USE_ZMIN_PLUG)
#error You must enable USE_ZMIN_PLUG if any probe or endstop is connected to the ZMIN plug.
#endif |
Sanity check makes sense to me. I tested it with my original configuration and it catches the configuration error. |
Is there any case where
|
One and only one. There is also no way to make sense of defining |
A set of mutually-exclusive options should be consolidated into a single one. (LCD controller options excepted, for the moment!) For example, the single setting |
For the moment I've added this mutual-exclusivity test… /**
* Only allow one probe pin option to be defined
*/
#if (ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) && (ENABLED(Z_MIN_PROBE_ENDSTOP) || ENABLED(DISABLE_Z_MIN_PROBE_ENDSTOP)))
|| (ENABLED(Z_MIN_PROBE_ENDSTOP) && ENABLED(DISABLE_Z_MIN_PROBE_ENDSTOP))
#error Please enable only one of: Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN, Z_MIN_PROBE_ENDSTOP, or DISABLE_Z_MIN_PROBE_ENDSTOP.
#endif …but I would like to add more explanatory text about each one, in the format: #if (ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) && (ENABLED(Z_MIN_PROBE_ENDSTOP) || ENABLED(DISABLE_Z_MIN_PROBE_ENDSTOP)))
|| (ENABLED(Z_MIN_PROBE_ENDSTOP) && ENABLED(DISABLE_Z_MIN_PROBE_ENDSTOP))
#error Please enable only one of these options: \
Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN for a probe connected to Z_MIN_PIN. \
DISABLE_Z_MIN_PROBE_ENDSTOP for a probe that... \
Z_MIN_PROBE_ENDSTOP for a probe that...
#endif |
Could we give such examples near the option section in |
It was stated earlier that you can only enable one of these options, and yet the // This option disables the use of the Z_MIN_PROBE_PIN.
// To enable the Z probe pin but disable its use, uncomment the line below.
// This only affects a Z probe switch if you also have a separate Z min endstop
// and have activated Z_MIN_PROBE_ENDSTOP above.
// If you're using the Z MIN endstop connector for your Z probe, this has no effect.
//#define DISABLE_Z_MIN_PROBE_ENDSTOP The text "This only affects … if you have … also … activated Z_MIN_PROBE_ENDSTOP above." implies that you must set |
Exactly. after reading it 10x I could reach the same conclusion. |
According to the documentation then, the actual sanity check should be: /**
* Don't allow nonsense probe-pin settings
*/
#if ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) && ENABLED(Z_MIN_PROBE_ENDSTOP)
#error You can't enable both Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN and Z_MIN_PROBE_ENDSTOP.
#elif ENABLED(Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN) && ENABLED(DISABLE_Z_MIN_PROBE_ENDSTOP)
#error You can't enable both DISABLE_Z_MIN_PROBE_ENDSTOP and Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN.
#elif ENABLED(DISABLE_Z_MIN_PROBE_ENDSTOP) && DISABLED(Z_MIN_PROBE_ENDSTOP)
#error You must enable Z_MIN_PROBE_ENDSTOP if DISABLE_Z_MIN_PROBE_ENDSTOP is enabled.
#endif |
Scott before continue to discuss how the current sanity check could be improved, wouldn't be better to decide #3672 ? |
Not necessarily. It doesn't rename any of the configuration options. It just combines some conditions to reduce the verbosity of these checks. And I am adding the sanity checks to #3672. |
Continuing on #3672… this is closed. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
I hope this is the proper place to ask as this is my first 3d printer, i tried the reprap IRC chat without success.
Machine is a Folger Tech Kossel.
I am using version 1.1.0-RC6 my configuration file is here: http://pastebin.com/UX5LRC8y
Only other change i have made is to RAMPS_14.h because i have a reprapdiscount smart controller that seems to occupy pin 32. The change being
if ENABLED(Z_MIN_PROBE_ENDSTOP)
// Define a pin to use as the signal pin on Arduino for the Z_PROBE endstop.
#define Z_MIN_PROBE_PIN 18
endif
I have verified that z_probe changes states from open to triggered using M119.
When i attempt to auto bed level using G29 after homing using G28, the printer drives the print head into the aluminum heat bed. The issue seems better when it gets to the middle of the plate as it just barely touches the plate.
I put a metal ruler along the first set of test points and it just crashes into it. When using the steel ruler the sensor seems to trigger earlier as indicated by the led on it.
The text was updated successfully, but these errors were encountered: