I have a custom-built 3D printer with a Raspberry Pi 4 and a BIGTREETECH SKR V1.4 mainboard.
I just swapped my TMC2226 z motor driver with a TMC5160 motor driver for higher currents.
I even soldered both SD/SPI pins to VIO as shown here to definitely get SPI mode.
The output running the DUMP_TMC stepper=stepper_z command is:
It does not work, as you may see in the output there is 0xff everywhere.
That most likely means that MISO is not connected.
Klipper by default pulls up SPI inputs.
It is not rare for the TMC5160 to be dead on arrival.
Try removing the BDsensor physically and its configuration to see if it makes a difference. There are reports that they might not be “getting along well”.
Thanks for the hints, I will try this later on! Although it doesn’t sound pretty good…
The TMC5160 also has UART mode when pulling both pins to GND, wouldn’t this be better? (just the CS pin is used then as with the other drivers)
Can I then just use the “tmc2209” driver to run it successfully?
I reviewed the TMC5160 specification and it appears that UART can be used to control motion, but it is not entirely clear. For example, chapter 23.1 provides an example of generating steps via SPI but only shows how to get status information via UART.
Additionally, I believe that Klipper does not support UART on the TMC5160. Only SPI is implemented.
I am not an expert in this area, so take this with a grain of salt.
I have another issue: when I increase the run_current above 1.2A the following error occurs while homing:
TMC 'stepper_z' reports error: GSTAT: 00000001 reset=1(Reset)
Once the underlying issue is corrected, use the
"FIRMWARE_RESTART" command to reset the firmware, reload the
config, and restart the host software.
Printer is shutdown
I don’t get this error when setting the current to 1.2A or below and the homing works fine.
Is it possible that the TMC5160 itself overheats (not the onboard MOSFETs)?
Yes I have a heatsink installed and i even added heat pads and this still occurs.
When this is not temperature related, then maybe the voltage drops because the currents exceed the boards maximum designed current.
I will investigate the voltage drop and either add a decoupling capacitor or supply the driver externally…