I've got a Ramps board populated with TMC2130 drivers, I enabled Z_DUAL_STEPPER_DRIVERS in config as well as X, Y, Z, E0 and E1 as _IS_TMC2130
unless I understood it wrong this should automagically sync movement on Z and E1(as a Z2)
but that doesn't seem to be the case.
M122 reports all drivers to have stealthChop enabled (they don't with 12v rail off, so I take this as a confirmation SPI comms are hooked up and working 100%)
Actual behavior:
Only the stepper hooked up to Z moves.
Configuration.h
and Configuration_adv.h
files.Attached M122 for what it's worth
Send: M122
Recv: X Y Z E0 E1
Recv: Enabled false false false false false
Recv: Set current 1000 1000 1000 800 1000
Recv: RMS current 994 994 994 795 994
Recv: MAX current 1402 1402 1402 1121 1402
Recv: Run current 17/31 17/31 17/31 25/31 17/31
Recv: Hold current 8/31 8/31 8/31 12/31 8/31
Recv: CS actual 8/31 8/31 8/31 12/31 8/31
Recv: PWM scale 1 1 1 1 1
Recv: vsense 0=.325 0=.325 0=.325 1=.18 0=.325
Recv: stealthChop true true true true true
Recv: msteps 16 16 16 16 16
Recv: tstep 1048575 1048575 1048575 1048575 1048575
Recv: pwm
Recv: threshold 0 0 0 0 0
Recv: [mm/s] - - - - -
Recv: OT prewarn false false false false false
Recv: OT prewarn has
Recv: been triggered false false false false false
Recv: off time 5 5 5 5 5
Recv: blank time 24 24 24 24 24
Recv: hysteresis
Recv: -end 2 2 2 2 2
Recv: -start 3 3 3 3 3
Recv: Stallguard thrs 0 0 0 0 0
Recv: DRVSTATUS X Y Z E0 E1
Recv: stallguard
Recv: sg_result 0 0 0 0 0
Recv: fsactive
Recv: stst X X X X X
Recv: olb
Recv: ola
Recv: s2gb
Recv: s2ga
Recv: otpw
Recv: ot
Recv: Driver registers: X = 0x80:08:00:00
Recv: Y = 0x80:08:00:00
Recv: Z = 0x80:08:00:00
Recv: E0 = 0x80:0C:00:00
Recv: E1 = 0x80:08:00:00
Recv:
Recv:
Recv: ok
Your settings are wrong and why is disable HYBRID_THRESHOLD?
#define HAVE_TMC2130
#if ENABLED(HAVE_TMC2130) // Choose your axes here. This is mandatory!
#define X_IS_TMC2130
//#define X2_IS_TMC2130
#define Y_IS_TMC2130
//#define Y2_IS_TMC2130
#define Z_IS_TMC2130
#define Z2_IS_TMC2130
#define E0_IS_TMC2130
//#define E1_IS_TMC2130
//#define E2_IS_TMC2130
//#define E3_IS_TMC2130
//#define E4_IS_TMC2130
#endif
add this code
#ifndef Z2_CS_PIN
#define Z2_CS_PIN -1 // Change PIN
#endif
Once you've figured out the right settings, be sure to test with the latest bugfix-1.1.x
(and/or bugfix-2.0.x
) branch, as these are more complete than previous Marlin versions.
Okay, thanks to the changes suggested by Ludy87 and thinkyhead I have the z2 axis working.
now I struggle with X axis not moving, it holds the motor in places but I can't move it... I think maybe the socket is fried, moving the TMC drivers around it's the only one not working and when it holds the motor it gets really hot.
anyway in regards to Z2 maybe have better comments on how it works in the config section and maybe leave the
#ifndef Z2_CS_PIN
#define Z2_CS_PIN -1 // Change PIN
#endif
inside pins_ramps.h
Change the pinout according to your board.
-1 is a placeholder
of course I did, I am not that dumb ;)
it's working now, but I've managed to fry one of my tmc2130 boards, guess I'll use ordinary DRV8825 for extruder :/
many thanks to all for this awesome configurable/customizable fw
Frying boards is par for the course in RapRap-land! It's good to have a box of spares.
I am having a similar issue with dual Z steppers, only one is moving. I used the same config, on 1.1.8 and this bugfix branch. It worked on the 1.1.8 version but not on the bugfix branch.
I have uploaded the config. http://gofile.me/4eAyF/nTw0xIep7
The problem on 1.1.8 was with XY homing otherwise I would have not switched.
Send: M122
Recv: X Y Z E0
Recv: Enabled false false true false
Recv: Set current 800 800 800 800
Recv: RMS current 795 795 795 795
Recv: MAX current 1121 1121 1121 1121
Recv: Run current 25/31 25/31 25/31 25/31
Recv: Hold current 12/31 12/31 12/31 12/31
Recv: CS actual 12/31 12/31 12/31 12/31
Recv: PWM scale 24 28 31 11
Recv: vsense 1=.18 1=.18 1=.18 1=.18
Recv: stealthChop true true true true
Recv: msteps 16 16 16 16
Recv: tstep 1048575 1048575 1048575 1048575
Recv: pwm
Recv: threshold 0 0 0 0
Recv: [mm/s] - - - -
Recv: OT prewarn false false false false
Recv: OT prewarn has
Recv: been triggered false false false false
Recv: off time 5 5 5 5
Recv: blank time 24 24 24 24
Recv: hysteresis
Recv: -end 2 2 2 2
Recv: -start 3 3 3 3
Recv: Stallguard thrs 8 8 8 0
Recv: DRVSTATUS X Y Z E0
Recv: stallguard
Recv: sg_result 0 0 0 0
Recv: fsactive
Recv: stst X X X X
Recv: olb
Recv: ola
Recv: s2gb
Recv: s2ga
Recv: otpw
Recv: ot
Recv: Driver registers: X = 0x80:0C:00:00
Recv: Y = 0x80:0C:00:00
Recv: Z = 0x80:0C:00:00
Recv: E0 = 0x80:0C:00:00
Recv:
Recv:
you didn't define Z_DUAL_STEPPER_DRIVERS
Thanks for the help!
you didn't define Z_DUAL_STEPPER_DRIVERS
Thanks for the help!
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.