Digital current control for external TMC2660 drivers

  • Hey everyone! I'm really enjoying my DuetWifi so far! 😍 Unfortunately due to my double leadscrew (Z axis) setup and a heavy build plate I end up with some drift when the power is off. 😖 This results in an uneven build plate. I was looking at driving each leadscrew separately to enable auto leveling. It looks like a good option, but I would need an external stepper driver. After reading the documentation, adding another doesn't seem like much of a problem, but I'm having trouble finding information about incorporating the digital current tuning. (I'm assuming it would require a few more connections than the normal pololu drivers) Has anyone had experience with this? I'm planning on the same TMC2660 drivers that are already used. Any help or insight would be much appreciated! Thanks!

  • administrators

    Your simplest option is to buy a DueX2 expansion board, which will give you 2 additional TMC2660 stepper drivers along with additional heater and fan outputs and endtop inputs.

    If you wanted to add an external TMC2660 driver without using a DueX, you would need to connect it to the expansion bus in the same way as on the DueX (schematics are on github). You would also need to either modify the firmware to change the number of smart drivers it assumes, or connect a SX1509B chip to the I2C pins, wired so as to to fool the Duet into thinking that there was a DueX2 present.

  • Thanks for the quick reply! Two additional questions then (although using a DueX is looking more and more likely)

    1. Would other smart/TMC drivers be compatible, for instance TMC2100, if I were to wire it the same way as the DueX and add an additional smart driver in the firmware?

    2. Would it be possible to wire a smart driver like a dumb driver, but then piggy back the digital current settings from an onboard driver? Like from one Z leadscrew motor to another identical one?

  • administrators

    1. No. The TMC2130 is also controlled by SPI but the control set is different. The TMC2100 is not programmable, it is a dumb step/dir/en driver, albeit one that supports high microstepping. So you could connect a TMC2100 to the expansion bus without worrying about SPI control signals. You would set the current by adjusting the potentiometer on the driver module.

    2. I think so. You would connect the driver STEP, DIR, ENN and DIN pins to the expansion bus just like a driver on the DueX2, but the additional driver CS pin would be connected to the CS pin of the other Z driver (which is available as a test point on the Duet) and the data out pin of the additional driver would be left unconnected. You would not be able to read the status (temperature warning, stall warning etc.) of the additional driver.

  • Awesome!!! Thanks so much 😀