BIGTREETECH-SKR-V1.3 icon indicating copy to clipboard operation
BIGTREETECH-SKR-V1.3 copied to clipboard

Dual-Z steppers - SKR 1.4 Turbo

Open scottypres opened this issue 4 years ago • 17 comments

Just got the skr 1.4 turbo and have been pulling my teeth trying to configure it to work with my Ender 5 plus. The skr 1.4 has Z0 and Z1 in addition to E0 and E1. Z0 and Z1 appear to run off the same stepper driver, but I can't find any information on how to enable Z1. I have enabled #define NUM_Z_STEPPER_DRIVERS 2 and am running all my drivers in UART with jumpers set properly. How do I enable Z1, only one stepper is moving. Does this require 2 z-endstops?

scottypres avatar Feb 08 '20 16:02 scottypres

Just got the skr 1.4 turbo and have been pulling my teeth trying to configure it to work with my Ender 5 plus. The skr 1.4 has Z0 and Z1 in addition to E0 and E1. Z0 and Z1 appear to run off the same stepper driver, but I can't find any information on how to enable Z1. I have enabled #define NUM_Z_STEPPER_DRIVERS 2 and am running all my drivers in UART with jumpers set properly. How do I enable Z1, only one stepper is moving. Does this require 2 z-endstops?

see this video https://www.youtube.com/watch?v=sZuyGD4ciwk

Talha909 avatar Feb 08 '20 17:02 Talha909

Hi, you are on the right way. The second 'Z2' Motor must plug to the E1 Port and UART make after your changes all needed things. You need only the jumper on MS3. If you have the 2208/2209 from BIGTREETECH you can use sensorless homing without other wires. If you want use endstops you need to cut the drag pin. And the Z2 Endstop are at 'Y_Max' / E1DECT / Pin1.25. Define #define USE_YMAX_PLUG

Bild 19 02 20 um 19 42

Bild 24 02 20 um 01 23

PowerEditon avatar Feb 24 '20 00:02 PowerEditon

Hi I have TMC5160 with this board and motors plugged into Z0 and Z1 are working but I am not sure if the vref needs upping as the stepper is now driving 2 motors? Any thoughts?

Docomar750 avatar Mar 02 '20 21:03 Docomar750

Hi I have TMC5160 with this board and motors plugged into Z0 and Z1 are working but I am not sure if the vref needs upping as the stepper is now driving 2 motors? Any thoughts?

Hi, yes of course! The 5160 can work with 60 V & up to 20A so you can say he has no limit. If you use no UART Mode then you need to set the vref up to the double of the vref for the first motor. Better idea is the second one on E1

PowerEditon avatar Mar 02 '20 21:03 PowerEditon

Hi I have TMC5160 with this board and motors plugged into Z0 and Z1 are working but I am not sure if the vref needs upping as the stepper is now driving 2 motors? Any thoughts?

Hi, yes of course! The 5160 can work with 60 V & up to 20A so you can say he has no limit. If you use no UART Mode then you need to set the vref up to the double of the vref for the first motor. Better idea is the second one on E1

Hi Thanks for that

Docomar750 avatar Mar 02 '20 21:03 Docomar750

Just got the skr 1.4 turbo and have been pulling my teeth trying to configure it to work with my Ender 5 plus. The skr 1.4 has Z0 and Z1 in addition to E0 and E1. Z0 and Z1 appear to run off the same stepper driver, but I can't find any information on how to enable Z1. I have enabled #define NUM_Z_STEPPER_DRIVERS 2 and am running all my drivers in UART with jumpers set properly. How do I enable Z1, only one stepper is moving. Does this require 2 z-endstops?

I have de same problem. I use tmc2208 Standalone.

poporeto avatar Apr 11 '20 20:04 poporeto

I'm not sure if you go the answer to your question, but the short answer is that the NUM_Z_STEPPER_DRIVERS should be 1. The board controls both motors as one motor, so you only need to config Z0.

nortonlam avatar Apr 11 '20 21:04 nortonlam

Ok, hopefully this clarifies a bit more from what I have gotten via "translation" and trial and error regarding dual Z motors.

Bottom line, if you are using ONE driver for TWO Z Motors then plug Z1 into Z1 and the 2nd motor into Z2. NO DECLARATION in Marlin as it's an internal wiring split on the board, set Marlin as 1 Z and thats it... Rough diagram _X_ _Y_ _Z1_ _Z2_ _E0_ _Null_ Set Configuration.h like: #define X_DRIVER_TYPE TMC2209 #define Y_DRIVER_TYPE TMC2209 #define Z_DRIVER_TYPE TMC2209 // This would drive BOTH Z Motors plugged in at Z1 and Z2 #define E0_DRIVER_TYPE TMC2209

My single motor dual Z Marlin Configuration_adv.h: // For Z set the number of stepper drivers // #define NUM_Z_STEPPER_DRIVERS 1 // (1-4) Z options change based on how many #if NUM_Z_STEPPER_DRIVERS > 1 //#define Z_MULTI_ENDSTOPS Bla, Bla, Bla


If running TWO drivers for TWO Z motors, one for EACH Z axis then plug Z1 into Z1 and Z2 into E1. See note below regarding endstops... Rough Diagram _X_ _Y_ _Z1_ _Null_ _E0_ _Z2_ My DUAL DRIVER DUAL Z Motor Configuration.h: #define X_DRIVER_TYPE TMC2209 #define Y_DRIVER_TYPE TMC2209 #define Z_DRIVER_TYPE TMC2209 // This will STILL send juice to Z2 but don't use if using 2 Drivers #define Z2_DRIVER_TYPE TMC2209 // Instead this will fire up the E1 port for your 2nd Z #define E0_DRIVER_TYPE TMC2209

And DUAL DRIVER Dual Motor Configuration_adv.h: // For Z set the number of stepper drivers // #define NUM_Z_STEPPER_DRIVERS 2 // (1-4) Z options change based on how many #if NUM_Z_STEPPER_DRIVERS > 1 //#define Z_MULTI_ENDSTOPS Bla, Bla, Bla

I am playing with this on an Artillery Sidewinder X1, with a BL Touch. Instead of messing with regular endstops I chose to use Z-Min as the BLTouch Probe pin for my Z Probe and End Stop. You can do this by pretending to just have one Z motor or go on to configure the G34 lines in configuration.h, As long as your HW is the same and VRefs are set the same you can just use this and BL-Touch Home off the center of the bed just fine.

You Could define 2 endstops, however I'd STILL recommend using the BL Touch in this case and using Marlin 2.0.5.3 you can play with this code if you remove the belt (on Sidewinders/Genius's) that connect them to set individual Z-offsets. This is not needed but a cool feature.

When I have more time I'll post my full Marlin configs and pictures here and on Thingyverse. User name ShawnM, give me a bit as I said I'm getting the printer up and going as I typed this so it may be a few before I'm able to post. Will also have NEO Pixel info and using "extra" pins for fan control as these are things that bugged me...

Best Regards,

ShawnsM

P.S. Don't cut the Diag pins, pull the plastic shroud off and bend the diag to the side...

shawnsm avatar Apr 29 '20 03:04 shawnsm

@shawnsm Thanks... I was plannig to apply this config without BLTouch in my CR10s when the new SKR 1.4 arrives... I assume that it will be no difference with this setup between your Sidewinder and the CR10s, right?

Thanks again

JRosello avatar Apr 29 '20 10:04 JRosello

@JRosello it should be damn near the same, other than E-Step values I think. I've got mine printing great finally, now some annoying little issues with the skr 1.4 not jiving with the tft 3.5 v3 with SD card slots and what not.

It's still working via Octoprint and the TFT works however it only sees its internal sdisk atm. I'm actually about to compile bugfix and see what I can do about it then do it all over again for my Ender.

Take Care, Shawn

shawnsm avatar May 04 '20 13:05 shawnsm

@shawnsm Thanks!! I'll as SKR arrives... damn a month and a half waiting.

JRosello avatar May 04 '20 13:05 JRosello

@shawnsm any chance you can share your configs? I'm doing the same mod on my SWX1 and having some issues.

sjetton avatar May 06 '20 16:05 sjetton

I'd like to jump in here for a second. I'm using dual Z with the TMC2130 on all axis. Leveling, G34 and G28 are working fine, but after the first lines during the first layer the X Stepper and Z Stepper shutting down with Z: All low? TMC lib is 0.7.1

C4ptAwesome avatar Aug 02 '20 13:08 C4ptAwesome

I have a problem, the 2nd Z-axis motor on E1 is stepping twice as much as the first on Z0 all drivers is tcm2209 in uart mode the stepper motor is same type. can I set the steps for Z1 different from Z0

oz1sms avatar Feb 24 '21 06:02 oz1sms

I have a problem, the 2nd Z-axis motor on E1 is stepping twice as much as the first on Z0 all drivers is tcm2209 in uart mode the stepper motor is same type. can I set the steps for Z1 different from Z0

maybe pitch settings (spindle) or the DEFAULT_AXIS_STEPS_PER_UNIT

seiler1505 avatar Mar 02 '21 07:03 seiler1505

Skr v1.4 T, TMC2208, Dual Z dual Driver. In PIN file What seems to work to me is this.... (just deleted my earlier post as I figured out) // // Steppers // #define X_STEP_PIN P2_02 #define X_DIR_PIN P2_06 #define X_ENABLE_PIN P2_01 #ifndef X_CS_PIN #define X_CS_PIN P1_10 #endif

#define Y_STEP_PIN P0_19 #define Y_DIR_PIN P0_20 #define Y_ENABLE_PIN P2_08 #ifndef Y_CS_PIN #define Y_CS_PIN P1_09 #endif

#define Z_STEP_PIN P0_22 #define Z_DIR_PIN P2_11 #define Z_ENABLE_PIN P0_21 #ifndef Z_CS_PIN #define Z_CS_PIN P1_08 #endif

// added Z2 = E1 #define Z2_STEP_PIN P1_15 #define Z2_DIR_PIN P1_14 #define Z2_ENABLE_PIN P1_16 #ifndef Z2_CS_PIN #define Z2_CS_PIN P1_01 #endif

#define E0_STEP_PIN P2_13 #define E0_DIR_PIN P0_11 #define E0_ENABLE_PIN P2_12 #ifndef E0_CS_PIN #define E0_CS_PIN P1_04 #endif

// orginal 'removed' //#define E1_STEP_PIN P1_15 //#define E1_DIR_PIN P1_14 //#define E1_ENABLE_PIN P1_16 //#ifndef E1_CS_PIN // #define E1_CS_PIN P1_01 //#endif

kimkloster avatar Apr 30 '21 13:04 kimkloster

Z2_STEP_PIN

Looking in my pins.h, it looks like there's already some conditional logic to use the next available extruder spot for Z2

NateCroix avatar May 24 '21 21:05 NateCroix