GrabDuck

STEP-BY-STEP: Installation of SilentStepStick-Drivers on UMO | Ultimaker

:

This is a collection of information on how to install the SSS-drivers (Watterott electronics).

It is based on other threads at this forum and information by watterott, reprap forums, TMC and so on...

thanks to wombl1, JonnyBischof, Dim3nsioneer, makerSpatz and everyone else

from whom I collected information

WHAT? WHY?

Most important fact at first: The SSS drivers are way more silent than the originals!

um noise cmp

And, as you can see at the following picture, the SilentStepStick-Drivers are pin compatible to the original A4988 drivers (at all important points).

a4988 pinout

The main visible difference is that the components are installed on the side that is facing toward the mainboard! That means, that the heatsink, on the other hand, is installed not directly on the IC, but on the thermal pads/vias on the other side. You have to use a non-conductve tape or sth like that to install the heatsink.

The silentstepstick drivers are based on the TMC2100, that driver-IC is able to make 16 real microsteps per full step. That is way enough in the sense of quality since a normal stepper motor cannot follow a higher resolution.

But there is one outstanding feature: microstep interpolation!

That means that if the CPU asks the TMC2100 to make one microstep, it makes instead 16 interpolated microsteps per every real microstep.

This is where the 256 microsteps come from (16*16), there is no need for the CPU to calculate 256 microsteps but the driver does it anyway. And... more microsteps lead to (way) more more silent steppers

Finally the continuous current is max. 1.2A - that is only just enough since the A4988 is also set to 1.15A (according to Ultimaker).

---

QUICK GUIDE

(if you don't want to read the entire post)

1) UMO Mainboard: Open (remove) the jumpers MS2 and MS1 everywhere you install the SSS driver

2) Drivers: Solder the pin-header, the pins should face in the same direction as the components

3) Drivers: Mount the heatsink (on the other side, where no components are!)

4) Plug the drivers in (direction: CFG1-3 on the drivers to the jumpers on the mainboard)

5) Set the current with the little screw on the drivers (start at around 0.8A and increase if necessary), see below if you don't know how that works.

6) Create a new firmware at http://marlinbuilder.robotfuzz.com/

6.1) Select your machine

6.2) Toggle "invert axis" everywhere you install the new drivers.

6.3) If you install one for the z-axis: Double the steps/mm for the z-axis

6.4) Upload the new firmware via CURA

---

NOT SO QUICK GUIDE

HARDWARE

SET THE STEPMODE

We first have to set the step mode. There are two, spreadCycle and stealthChop. We want to run the steppers in the spreadCycle mode and not at stealthChop (which is extremly silent but way to weak for 3D printers...).

That configuration is set by the CONFIG-PINS (CFGx) like the following:

  • CFG1 to GND
  • CFG2 to Open (Open means "not connected to anything" - neither low (GND) or high (VCC)).
  • There are in general two ways to reach that configuration, by the jumpers on the drivers and the mainboard-jumpers:

    cfg1 2
    Jmp Umo Mb

    Let's start with CFG1

    When you take a look at the mainboard-layout you will see a pull-down resistor at MS1 (and MS1 on the Mainboard is connected to CFG1 on the new drivers). If you remove the first Jumper on the Mainboard (MS1), the CFG1 is set to GND and we reached our first goal.

    stepper driver ultimaker breakout

    Next is CFG2

    One way to set CFG2 to Open is to desolder the little jumper on the driver-board. But that's a little inconvenient... The other way is to simply remove the second jumper (MS2) on the mainboard (thanks for the hint Tsp42).

    CFG2 is then set to Open because there is NO pull-up/pull-down resistor.

    Whats about CFG3?

    The CFG3 Jumper on the driver is by default not installed - it is therefore set to 'open' and this is what we want - nothing to do here.

    Nice to know: If CFG3 is set to open it means that the current is set through the sense-resistor (the little device that looks like a potentiometer).

    Btw... some instructions tell you to do the following:

    dontdothat

    Don't do that! It is simply not necessary and may, at worst, harm your mainboard.

    Also don't remove any pins,... It's really ugly and it is not necessary!

    If you run a RUMBA-board, follow these instructions.

    SOLDERING THE PIN-HEADER

    pins

    Solder the pin header to the PCB, please ensure that they are facing toward the side where the IC's are! I recommend to glue (just a little drop) the pinheader to the driver at first, to make sure it is rectangular while soldering. Another way is to use a breadboard (if you have one).

    MOUNT THE HEATSINK

    Use some thermal tape or anything else that is electrical but absolutely not! thermal insulating and glue the heatsink on the little thermal pads on the back of the drivers. Be sure that you don't short anything!

    INSTALL THE DRIVER

    Install the drivers to the mainboard. It's easy to determine the orientation:

    MS1-3 at the mainboard to CFG1-3 at the driver board (see picture by wombl1).

    gallery 153 2001 1498277

    SET THE CURRENT

    vref

    Measure the reference voltage (VREF) between the VREF-pin and GND (there is also a GND pad at the green LED's on the mainboard) using a volt-/multimeter. Set it by the use of the potentiometer to the current you want. Use this formula to calculate the desired VREF:

    I = (VREF * 1.77A) / 2.5V

    - or -

    VREF = (I * 2.5V) / 1.77A

    example:

    If you use the original steppers (1.15A max) the calculation should go:

    VREF = (1.15A * 2.5V) / 1.77A = 1.63V

    Anyway, start lower (at around 0.8V) and increase only if necessary, higher current lead in general to more noise and - as some users reported - a too high voltage causes overheating.

    Be cautious to not hot-wire anything when measuring the voltage (you have to turn the UM on to measure the voltage ). Thus I recommend to turn the UM off again before you adjust the sense resistor (the little thing that looks like a potentiometer).

    SOFTWARE

    INVERT THE AXIS

    The SSS and A4988 let the steppers rotate in different directions by default. If the A4988 drives it clockwise the SSS does counterclockwise and vice versa. If you simply replace the drivers without telling the firmware that something changed, your feeder will push the filament you, not in - the platform will move upwards, not downwards and so on...

    In order to fix that, you can use marlins configuration option that is called "invert axis".

    You can do so by creating a new firmware on e.g. http://marlinbuilder.robotfuzz.com/. Choose a template and toogle "invert axis" (check if unchecked by default or uncheck if checked by default) everywhere you have installed the new drivers. Build the firmware and upload via CURA.

    This is the easy way, but instead of the marlinbuilder website I really recommend to learn how to compile marlin yourself - the version on the website is not up to date!

    Another approach to invert the direction of rotation (as e.g. mariuszem prefers), is to twist the motorcables, personally I don't like it, but it is definitely okay if you do so. Take a needle and unplug the the little wire-ends from the connector, swap the first two and the last two wires (as pairs) and replug them.

    STEPS PER MM

    There is no need to adjust the steps per mm for the X any Y axis since the real microsteps didn't changed! The driver just interpolates to 256.

    But if you want to change the Z-axis too, you have to (for the z-axis only)! Just double the steps-per-mm at the firmware builder website (see above) and upload it via CURA (including the inverted axes!) or do so via the Ulticontroller: CONTROL -> MOTION -> Z-Steps/mm (double it, since it is now 16 microsteps instead of 8 - the SilentStepStick doesnt offer 8 )

    This is why it is worth the effort:

    mine

    wombl1

    makerSpatz

    and also:

    Have fun!