Skip to content
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

Problems with SKR1.4 and Dual-Z-Endstops #175

Open
NikNolte opened this issue Dec 26, 2019 · 6 comments
Open

Problems with SKR1.4 and Dual-Z-Endstops #175

NikNolte opened this issue Dec 26, 2019 · 6 comments

Comments

@NikNolte
Copy link

NikNolte commented Dec 26, 2019

**There are Problems with the Firmware SKR1.4 and Dual-Endstops:

My Endstop settings in Configuration.h**

// @section homing

// Specify here all the endstop connectors that are connected to any endstop or probe.
// Almost all printers will be using one per axis. Probes will use one or more of the
// extra connectors. Leave undefined any used for non-endstop and non-probe purposes.
#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUG
#define USE_ZMAX_PLUG
//#define USE_XMAX_PLUG
//#define USE_YMAX_PLUG

// Enable pullup for all endstops to prevent a floating state
#define ENDSTOPPULLUPS
#if DISABLED(ENDSTOPPULLUPS)
// Disable ENDSTOPPULLUPS to set pullups individually
//#define ENDSTOPPULLUP_XMAX
//#define ENDSTOPPULLUP_YMAX
#define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_XMIN
#define ENDSTOPPULLUP_YMIN
#define ENDSTOPPULLUP_ZMIN
//#define ENDSTOPPULLUP_ZMIN_PROBE
#endif

// Enable pulldown for all endstops to prevent a floating state
//#define ENDSTOPPULLDOWNS
#if DISABLED(ENDSTOPPULLDOWNS)
// Disable ENDSTOPPULLDOWNS to set pulldowns individually
//#define ENDSTOPPULLDOWN_XMAX
//#define ENDSTOPPULLDOWN_YMAX
//#define ENDSTOPPULLDOWN_ZMAX
//#define ENDSTOPPULLDOWN_XMIN
//#define ENDSTOPPULLDOWN_YMIN
//#define ENDSTOPPULLDOWN_ZMIN
//#define ENDSTOPPULLDOWN_ZMIN_PROBE
#endif

// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
//#define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
//#define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe.

My Dual-Z-Endstop settings: in Configuration_adv.h**

#define Z_DUAL_STEPPER_DRIVERS
#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
#define Z_DUAL_ENDSTOPS
#if ENABLED(Z_DUAL_ENDSTOPS)
#define Z2_USE_ENDSTOP ZMAX
#define Z_DUAL_ENDSTOPS_ADJUSTMENT 0
#endif
#endif

When I compile this, I get always the same error messages

#error "Z2_USE_ENDSTOP has been assigned to a nonexistent endstop!"
^~~~~
In file included from d:\marlin-dev-2.1.x\marlin\src\inc\marlinconfig.h:38,
from Marlin\src\HAL\HAL_LPC1768\HAL.cpp:25:
d:\marlin-dev-2.1.x\marlin\src\inc\SanityCheck.h:1766:6: error: #error "Z2_USE_ENDSTOP has been assigned to a nonexistent endstop!"
#error "Z2_USE_ENDSTOP has been assigned to a nonexistent endstop!"

I have this Proble not with the SKR1.3..
I hope, someone can help ??

@NikNolte NikNolte changed the title Problems with SKR1.4 an Dual-Endstops Problems with SKR1.4 an Dual-Z-Endstops Dec 26, 2019
@NikNolte NikNolte changed the title Problems with SKR1.4 an Dual-Z-Endstops Problems with SKR1.4 and Dual-Z-Endstops Dec 26, 2019
@Neme77
Copy link

Neme77 commented Jan 10, 2020

The problem is in the pin definition file: pins_BTT_SKR_V1_4.h,
the definitions of the limit switches are missing, more precisely they are incomplete.
To fix them you need to add the complete definition like there:

// Limit Switches
//
#define X_MIN_PIN P1_29
#define X_MAX_PIN P1_26
#define Y_MIN_PIN P1_28
#define Y_MAX_PIN P1_25
#define Z_MIN_PIN P1_27
#define Z_MAX_PIN P1_00

@NikNolte
Copy link
Author

OK... and whats about the pins for the Stepper E1 ??
I need two Stepper for the Z-Axis ..

@LT1010
Copy link
Contributor

LT1010 commented Jan 14, 2020

问题出在引脚定义文件:pins_BTT_SKR_V1_4.h中
限位开关的定义丢失了,更确切地说,它们是不完整的。
要修复它们,您需要添加完整的定义,例如:

//限位开关
//
#define X_MIN_PIN P1_29
#define X_MAX_PIN P1_26
#define Y_MIN_PIN P1_28
#define Y_MAX_PIN P1_25
#define Z_MIN_PIN P1_27
#define Z_MAX_PIN P1_00

Because the motherboard's XYZ_MAX is E0DET, E1DET, PWRDET, you will find that the corresponding pins in the pin file are changed to other function pins. If you want to use it, you can change it yourself.

@OleUrgast
Copy link

OleUrgast commented Jan 29, 2020

If you use dual z with two endstops, you can only connect one extruder anyway, as you use e1 stepper for second z motor.
So I recommend to use the (in this case) useless filament runout pin for a second extruder (E1DET) for z_max:

  • add only #define Z_MAX_PIN P1_25 (not P1_00 !)
  • comment out //#define FIL_RUNOUT2_PIN P1_25
  • do not #define X_MAX_PIN !
  • do not #define Y_MAX_PIN !
  • connect second z-endstop to E1DET

So you do not loose power detection feature and filament detection for e0. Both are useful functions you might want to use now or add later...

e1 already is congurated correctly in pin definitions. So if you uncomment:
#define Z_DUAL_STEPPER_DRIVERS in configuration_adv.h, e1 is automaticaly used for second z-stepper.
As you use z_max for second endstop, also change #define Z2_USE_ENDSTOP _XMAX_ to #define Z2_USE_ENDSTOP _ZMAX_

@jimprince
Copy link

It seems there isn't a dedicated xmin/xmax on the skr1.4, they're both just the "X endstop." I had to add a definition for xmin and max as stated by @Neme77 above, and then ignore a TON of compile time warnings to get dual endstops working.

@IIIxpHunterIII
Copy link

For me it rips the Z1 Stepper to leadscrew connector apart with that.

#define X_MIN_PIN P1_29
#define X_MAX_PIN P1_26
#define Y_MIN_PIN P1_28
#define Y_MAX_PIN P1_25
#define Z_MIN_PIN P1_27
#define Z_MAX_PIN P1_00

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants