The SilentStepStick is hardware/pin compatible with StepStick and Pololu A4988 drivers. However the TMC21x0 has different and more settings, which can be set via the CFG/MS pins and the DIR pin is inverted (direction). The TMC21x0 config pins also know three states: low (GND), high (VIO) and open (unconnected). The TMC2130 can be configured via CFG pins or SPI and the TMC2208 via CFG pins or UART.
For most cases (except a direct-driven extruder of a 3D printer) the 1⁄16 stealthChop mode (TMC2100: CFG1=open CFG2=open, TMC2208: MS1=VIO MS2=VIO) is suitable. If you have problems like step losses then you can use a slower acceleration or a bit higher current setting in stealthChop or you can use the more powerful and louder 1⁄16 spreadCycle mode (TMC2100: CFG1=GND CFG2=open, TMC2208: configurate via UART).
Only applicable for SilentStepSticks with variable 3-5V logic voltage (VIO): If you use a control board with USB power supply (like Arduino + RAMPS) then always ensure that the motor supply voltage (VM) is present, when you connect the board via USB. Otherwise the TMC2xxx is not powered via the internal voltage regulator and a high current can flow into VIO or the IOs and this can damage the internal logic. As safety workaround you can disconnect the 5V signal in the USB cable, so that the board cannot be powered over USB.
For most cases the 1⁄16 stealthChop mode (TMC2100: CFG1=open CFG2=open, TMC2208: MS1=VIO MS2=VIO) is suitable and we recommend the TMC2100 SilentStepStick with 5V for RAMPS and RUMBA boards, because they use 5V logic. If you remove all jumpers (or open all switches) for MS1+MS2+MS3 on the RAMPS/RUMBA, then the SilentStepStick TMC2100 driver will be in 1⁄16 spreadCycle mode (CFG1=GND CFG2=open), because there is a pull-down resistor on MS1 on the RAMPS/RUMBA. The pull-down is 100k and in most cases it will set the driver in spreadCycle mode correctly. However if there are problems then short CFG1 to GND or replace the resistor with one which is 30k or less.
On a SilentStepStick TMC2208 the jumpers have to be set for MS1+MS2 then the TMC2208 will be in 1⁄16 stealthChop mode.
Yes, because the TMC2xxx drivers use a chopper drive circuit to generate a constant current in each winding (motor phase) rather than applying a constant voltage. The motor supply voltage has to be also a few times higher than the motor phase/coil voltage. Otherwise the torque at higher speeds can not be achieved. So it is recommended to use motors with a low phase voltage <=4V. Guide: Choosing stepper motors.
The SilentStepSticks with a variable logic voltage (VIO) of 3-5V use the internal linear regulator of the TMC2xxx to generate from the motor supply voltage (VM) a 5V voltage for the internal digital and analog circuit (about 20mA). Because it is a linear voltage regulator the power dissipation depends on the motor supply voltage (high voltage = high power dissipation/heat). The 5V logic SilentStepSticks do not use the internal voltage regulator of TMC2xxx and therefor only a 5V supply voltage for VIO is possible and VM has not to be present before VIO. Further infos about power-up and down can be found here.
Power dissipation of the internal voltage regulator:
The configuration for TMC2130 in standalone mode (SPI jumper closed) is set via the CFG pins like the TMC2100. On the TMC2100 SilentStepSticks the CFG0 pin is set to GND as default and this sets the chopper off time to 140 Tclk (most universal choice). In contrast on the TMC2130 SilentStepSticks the CFG0 pin (also SDO) is open as default and this sets the chopper off time to 332 Tclk. On the TMC2130 SilentStepSticks the CFG3 pin is also connected to the pin header and should be left unconnected/open (external reference voltage on AIN) in standalone mode.
The best way to set the motor current is by measuring the voltage on the
Vref pin (0…2.5V) and adjusting the voltage with the potentiometer.
The maximum settable motor current is 1.77A RMS (0.11Ohm sense resistors), but the SilentStepSticks can only be used up to 1.2A RMS.
Irms = (Vref * 1.77A) / 2.5V = Vref * 0.71
Vref = (Irms * 2.5V) / 1.77A = Irms * 1.41 = Imax
Vref -> Voltage on Vref pin
Irms -> RMS (Root Mean Square) current per phase (Irms = Imax / 1.41)
Imax -> Maximum current per phase (Imax = Irms * 1.41)
A power supply (
Psup) with a few times higher voltage than the motor phase voltage and a current of roughly the power of the motor (
Pmot) plus the mechanical output power (
Pout) is at least needed.
For example 3 stepper motors with 2 coils/phases and every phase has 3.3 Ohm with a 1.2A current rating and a voltage of 4V.
Pmot = 2 coils * 4V * 1.2A = 9.6W (standstill power without load)
Pout = 0.20Nm * (2pi * 1000rpm / 60) = 20.9W (mechanical power)
Psup = 3 * (Pmot + Pout) = 91.5W (electrical input power)
At 24V this is a current of 3.8A (
If the motor is running/moving, then it is not allowed to switch off the power supply. Always make sure that the motor stands still and the motor outputs are deativated on shutting down, otherwise the driver IC can get damaged (because of back EMF). An emergency stop can be realized, when the EN pin is set to VIO (high). This will switch off all motor output drivers and will put the motor into freewheeling.
At power-up the motor supply voltage VM should come up first and then the logic supply voltage VIO. On power-down the logic supply voltage VIO should turned off at first and then the motor supply voltage VM, because the internal logic of the TMC2xxx driver is powered from VM. To ensure the correct powering a schottky diode from VIO (anode) to VM (cathode) can be added. The v2 Protectors for SilentStepSticks include this schottky diode.
There is no special power-up or power-down sequence needed. If the SilentStepStick is only powered with 5V (logic) then a current can flow backwards to VM. In this case it is not allowed to enable the driver (motor outputs) and no loads (e.g. fans) should be on VM (<=4V), because the current will be drawn from the logic supply VIO.
A motor supply voltage of 12V is in most cases to low and in general the sound gets quieter if the motor supply voltage is above 18V. The noise also depends on the used stepper motors. We recommend motors with a phase voltage <=4V and inductance <=4mH. Guide: Choosing stepper motors.
On problems, check the wiring and power supply. If this is okay, check the resistance (when the driver is not connected) of the logic supply VIO against GND, the digital pins EN, DIR, STEP against GND + VIO and the motor pins M1A, M1B, M2A, M2B against GND + VM. When the resistance of the logic supply or a digital input is very low (<10k Ohm), then in general there is a problem with the power-up or power-down sequence. Or if the resistance of a motor pin is very low (<100k Ohm) then there could be a problem with the motor wiring (loose connection) or the motor supply was removed during operation/moving.
The SilentStepStick has a normal step+direction interface. You set the direction with the DIR pin and on every pulse on the STEP pin the motor will move one step. Here you can find Arduino examples and an Arduino library (interface=DRIVER).
It is possible to connect the CFG pins from two or more driver boards. However then the pin state can only be GND (low) or VIO (high). The open state (unconnected) on TMC21xx drivers is not possible in this configuration.
The TMC2xxx chip has a thermal pad on the bottom which is soldered to the PCB. So the thermal resistance via the chip bottom is better than via the chip top. That is why the chip is on the bottom PCB side. A heat sink can be placed directly on the PCB. Further infos here.