janelia-arduino / TMC2130

Trinamic TMC2130 bipolar stepper motor driver Arduino library with Step/Dir Interface and SPI.
Other
6 stars 6 forks source link

Controlling movement over the SPI interface #2

Open Mark-FS opened 2 years ago

Mark-FS commented 2 years ago

I understand from the link below that the TMC2130 in SPI mode can be run purely over the SPI bus with no need for any connections to the step and direction pins. Can I do this using this library?

https://learn.watterott.com/silentstepstick/comparison

peterpolidoro commented 2 years ago

I have never used the TMC2130 without the step and direction inputs, so I am not sure.

I do know that TMC2209 has an integrated pulse generator for standalone motion so you can command the motor to spin at a particular velocity over the UART without using the step and direction pins. It is kind of a crude motion, there is no acceleration/deceleration, and it would be tough to use it to move a given number of steps. It is useful, though, for simply making the motor spin for some amount of time and for testing.

The TMC2130 may have something similar. If you look through the TMC2130 datasheet and find that it does indeed have an integrated pulse generator option then I will be happy to implement it in this library, but I did not see it at a quick glance.

The TMC2130 does have SPI direct mode, which is not the same as the TMC2209. You could use it to spin the motor without step and direction pins, but not as easily as just commanding it to spin at a particular velocity. Apparently you have to send motor coil current commands to each coil directly as sine and cosine waves. I have never used this feature, you would need an external motion controller IC with integrated sequencer that supports it.