The SilentStepStick is hardware/pin compatible with StepStick and Pololu A4988 drivers. However the Trinamic TMCxxxx drivers have different and more settings, which can be set via the CFG/MS pins.
The direction is inverted on TMC2xxx SilentStepSticks (DIR pin inverted) and can be either changed in the software or by rotating the motor connector 180°.
SilentStepSticks with variable logic voltage (3-5V) need special care on the supply voltages, further infos here.
For most cases (except a direct-driven extruder of a 3D printer) the nearly silent 1⁄16 stealthChop mode (TMC2100: CFG1=open CFG2=open, TMC220x: 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 TMCxxxx 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, TMC220x: 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.
The best way to set the motor current on TMC2xxx SilentStepSticks with a potentiometer 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 TMC21xx/TMC2208 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)
Always ensure a good air circulation around the drivers, so that heat can be dissipated.
TMC21x0/TMC2208: A small heat sink placed on the top PCB side is suitable for currents up to 850mA RMS. For higher currents use a heat sink that nearly fills the top PCB side and a cooling fan.
TMC2209: A small heat sink placed on the top PCB side is suitable for currents up to 1A RMS. For higher currents use a heat sink that nearly fills the top PCB side and a cooling fan.
TMC5160: For currents up to 2A RMS a good air circulation is enough and for higher currents a cooling fan is needed. On the TMC5160 the external MosFets and shunt resistors have to be cooled.
The SilentStepSticks have a standard 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).
Yes, because the Trinamic TMCxxxx 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.
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 a resistance (
R) of 2.2 Ohm and a current rating (
I) of 1.8 A .
The phase resistance can be also calculated from the phase voltage (
R = V / I, e.g. 4 V / 1.8 A = 2.2 Ohm.
In general stepper motors are not driven with the maximum current and so the calculation is done with 50% of the rated current: 0.9 A.
R = 2.2Ohm
I = 0.9A (50% of 1.8A)
V = R * I = 2.2Ohm * 0.9A = 2V
Pmot = 2 coils * V * I = 2 * 2V * 0.9A = 3.6W (standstill power without load)
Pout = 0.20Nm * (2pi * 1000rpm / 60) = 20.9W (mechanical power)
Psup = 3 motors * (Pmot + Pout) = 3 * (3.6W + 20.9W) = 73.5W (electrical input power)
At 24V (
Vsup) this is a current of 3.1A (
I = Psup / Vsup = 73.5W / 24V).
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 TMCxxxx 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.
The SilentStepSticks with a variable logic voltage (VIO) of 3-5V use the internal linear regulator of the TMCxxxx 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 TMCxxxx 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 of TMC21xx:
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.
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.
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.
The nearly silent operating mode is stealthChop.
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 power supply was removed during operation/moving. Because of back electromotive force (EMF) the motor output drivers can get defective, when the motor power supply or the motor is removed during operation.