The SilentStepSticks are 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 best compatibility with simple drivers (such as A4988 or DRV8825) is provided by the TMC2209, because the most important settings can be made via pins.
The direction of rotation 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 information here.
For most cases (except a direct-driven or bowden extruder of a 3D printer) the nearly silent stealthChop mode 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 spreadCycle mode.
Detailed information about the operating modes: stealthChop (silent mode) and spreadCycle.
More information can be found in the SilentStepStick schematics (PDF files) and TMC2100 datasheet, TMC2130 datasheet, TMC2208 datasheet, TMC2209 datasheet, TMC5160 datasheet.
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 for TMC21xx+TMC2209 SilentStepSticks and 1.64A RMS for TMC2208 SilentStepSticks.
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 cooling fan and a heat sink that nearly fills the top PCB side.
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. TMC5160 SilentStepStick thermal diagram
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 is below 4V (V = I * R
).
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 (V
) with 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.2 Ohm
I = 0.9 A
(50% von 1.8 A)V = R * I = 2.2 Ohm * 0.9 A = 2.0V
Pmot = 2 coils * V * I = 2 * 2.0V * 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 information about power-up and down can be found here.
Power dissipation of the internal voltage regulator of TMC21xx drivers:
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 (Printed Circuit Board). So the thermal resistance via the chip bottom is better than via the chip top and the heat rises upwards. That is why the chip is placed on the bottom PCB side and a heat sink can be mounted directly on the PCB top side. Further information here.
For SilentStepStick drivers with potentiometer, this can be adjusted from the top through a hole in the PCB.
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, Troubleshooting by Alex Kenis.
The nearly silent operating mode is stealthChop.
On problems, check at first the wiring and power supply (voltages and protection against voltage spikes on power up).
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 induction voltages from the back electromotive force (EMF) the motor output drivers can get defective, when the motor power supply or the motor is removed during operation.