TMC2100 drivers on K8400


#1

Hello Velleman forums
I recently bought some genuine tmc2100 silent step sticks to quiet down my printer.
I have installed them and adjusted the voltage to 0.8v, like suggested and worked my way up. The motors should start moving freely at some point, but that’s apparently not the case here. I made all the necessary adjustments in the firmware (change direction, half the steps/mm) but it still doesn’t go smoothly and it makes a very high pitched noise.
Has anyone ever installed these drivers on their k8400 and if so, how??
Thanks in advance


#2

Follow those instructions: https://ultimaker.com/en/community/11571-step-by-step-installation-of-silentstepstick-drivers-on-umo

You need to actived spreadcycle mode of the tmc2100 board because the steahchop mode has not enouth power for 3D Printers.

And most important: Install a proper active cooling, the tmc getting very hot.

I use the new TMC2208 Driver, they working “out of the box” and most important in stealth chop mode. The Fans of my printer are louder than the mechanic.


#3

Hi

I have just purchased some TMC2208 drivers from Watterott but I’m struggling to get them to work nicely for me. Whilst these drivers give very quiet operation, I am finding that my steppers stall too easily and I’m not sure what is to blame.

• I have configured them in 1/16 stealthChop2 mode using the jumpers tieing MS1 & MS2 to VIO. (See https://github.com/watterott/SilentStepStick/blob/master/hardware/SilentStepStick-TMC2208_v11.pdf
• Pins MS1, MS2, PDN_UART & CLK are not connected to the K8400 board as I don’t know the effect of linking CLK & PDN_UART together. According to the K8400 schematic, the board shows the DRV8825 had these pins linked. http://images.velleman.eu/manuals/vertex/troubleshooting/03/001.jpg The manual shows the pins as SLEEP & RST. I figured it was best to leave these disconnected as the TMC2208 has it’s own clock.
• K8400 firmware reflashed to invert the stepper direction. As these boards can only do 1/16th steps max using jumper alone, I have halved the number of steps for each axis from the defaults (K8400 with the DRV8825 appears to be set up for 1/32 step mode). I have not yet explored UART config of the TMC2208 steppers…

I have tried various Vref voltages from 0.95 right up to 2.45v. I suspect when the Vref voltage is too low, there is insufficient torque for the motors, yet if the Vref is too high, I suspect the drivers current protection mechanism kicks in. Each driver board has a heatsink and the bottom fan repositioned to blow air across the drivers more effectiely, however I have not noticed the heatsinks getting hot yet.

I know on previous TMC drivers, the use of stealthChop mode for 3D printers is not recommended due to the poor torque, but apparently StealthChop2 mode in the new TMC2208 has addressed this somewhat, hence why I went for this driver. Trinamic say “Unlike other voltage-mode choppers, stealthChop2™ doesn’t require configuration. It automatically learns the best settings during first motion following power up and further optimizes settings in subsequent motions. An initial homing sequence is sufficient for this learning process.”

I wonder if any of you are using the TMC2208 successfully, what Vref voltages you are using and in what config?


#4

Well a little update…

I seem to have found the sweet spot voltage wise of around 1.58-1.6v and the drivers are neither overheating or stalling. I have also had to slow the speed of my Z axis to stop that horrid screaching from the Z bearing from 10mm/sec to 5mm/sec. I had tried PTFE spray and also thin machine oil (the rod was covered in it!) and it was all down to speed and resonance.

Next upgrade, G2 pullys and belts (then re-program the step numbers!)


#5

Hi,
I have also installed the TMC2208 Driver for XY (not Z). Vref is something about 1.8V, had to install a “massive” 40x40 GPU cooler on them to keep both in the right temperatur. The UART config is not possible with the Vertex Board since there are no pins for that left.

If you going to upgrade to GT2 there are some pretty good items you should install :wink: https://www.thingiverse.com/thing:2265245


#6

Thanks for that! I will be keeping an eye on driver temperature and if I get any more lost steps, up the vref voltage a little more. So far it’s behaving itself well with 1/16th stealthChop2 mode and 1.58 - 1.6v vref… touch wood! Certainly worth the effort for such a quiet print! The part cooling fan is now the noisy part of the printer.
https://www.youtube.com/watch?v=DfLpYeaSBL0

I saw the Velleman board had no option for UART control from the Atmel CPU, so UART config would have to be done with the driver disconnected from the printer, then installed once configured (If I wanted spreadCycle mode for example).

As for the G2T upgrade, I have already printed out these thingiverse.com/thing:2122512 but thanks anyway!


#7

Hi.
Can you describe what you have done for changes to make it work? Any type of wiki maybe? For example, do you need to make any changes to the main board? Or is it just flash with a new firmware with custom settings and set the correct vref?

/Tommy


#8

Well this is work in progress but I’ll try to give a good step by step idea of what I have done so far.

I have purchased 5x TMC2208 drivers from Watterott Electronic here:
http://www.watterott.com/en/SilentStepStick-TMC2208
I have converted all X, Y, Z and 2x Extruder steppers over to the TMC2208.

I also purchased heatsinks for each driver:
http://www.watterott.com/de/Stiftkuehlkoerper-quadratisch-ICK-S-10-x-10-x-125
The heat sinks come with self adhesive thermal pads. Heat sinks are essential as these drivers will get hot in use! You also need to ensure a fan is blowing air directly across the heatsinks.

I would advise having a read up on these drivers here before you begin:
https://github.com/watterott/SilentStepStick

Once the drivers arrive, you need to solder the header pins to the driver PCB, solder a wire link from VIO to MS1 & MS2 and attach the heatsink.

NOTE: The heatsink is not attached to the Trinamic chip, it’s attached to the blank side of the PCB! The Trinamic chip is underneath, facing the Velleman control board! It allows better heat transfer.

As the Velleman control board appears to link RST & SLEEP together, I am not soldering header pins pointing downward to the correspinding UART & CLK positions on the TMC2208 PCB. Likewise I have not explored what the Velleman board is doing link wise for MS1,MS2 & MS3 positions, so I am not connecting these header pins downward on the driver board either.

FYI the circuit diagram for the Velleman control board.

What I have done is solder on header pins the other way around in positions not connected to the Velleman board, incase I later decide to access the UART interface on the driver chip with a flying USB-Serial lead.

Without accessing the UART interface on the TMC2208, the best stepmode that can be selected is 1/16 steps in StealthChop2 mode.
https://github.com/watterott/SilentStepStick/blob/master/hardware/SilentStepStick-TMC2208_v11.pdf
The Velleman board with the stock DRV8825 drivers use 1/32 steps. This means the number of steps per mm for each driver needs to be halved. The new TMC2208 drivers are also spinning the motor in the opposite direction, so this also needs to be reversed within the Marlin firmware.

Note down all EPROM settings you have changed ie accelleration settings from the printer.

I would recommend you download a copy of the latest firmware either from here (remember to select 1 head or 2 heads):
http://vertex3dprinter.eu/downloads/vertex-downloads/
Edit the configuration.h file. If you are changing all stepper drivers, the following needs to be set:

#define INVERT_X_DIR false #define INVERT_Y_DIR true #define INVERT_Z_DIR false #define INVERT_E0_DIR true #define INVERT_E1_DIR false
and further on down the file:

#define DEFAULT_AXIS_STEPS_PER_UNIT   {67.37,67.37,2133.3,73.5}

I assume here you are using the stock 2.5 belts and pulleys. My extruder value was a more accurate 147 (rather than the stock incorrect Velleman 200 steps per mm, hence why it is now 73.5).
If you then later decide to go over to G2T belts and 20t pulleys, I believe you will need {80,80,2133.3,73.5} as the number of steps per mm on 1/16 stealthChop2 mode. That’s on my to-do list!

If you have a heated print bed installed, or made other firmware changes for other hardware mods/settings, don’t forget to include them changes within the configuration.h file.

Save the configuration.h file and then follow the firmware updating instructions here using Arduino IDE to flash the updated firmware to the printer:
http://manuals.velleman.eu/article.php?id=31

DONT FORGET TO UNPLUG THE PRINTER FROM THE MAINS ELECTRICITY SUPPLY WHEN UPDATING FIRMARE. ONLY POWER PRINTER ON USB WHEN UPDATING!

Power cycle the printer then goto Restore failsafe from the LCD menu. This is essential!
If you had any accelleration changes you preferred to use, enter these into the printer then select “Store Memory”.
With the printer connected to Repetier host, I also changed Z max feed rate of 5mm/sec in the Config-> Firmware EEPROM menu. This stops the Z axis from resonating despite being well oiled.

As we are using stealthChop2 mode, there will be less torque available to the stepper motors. Therefore, it is essential your printer is well calibrated, that the X & Y axis move freely (correctly aligned) and with minimal resistance!

Now, the drivers need their vref voltage set using a small screwdriver to turn the driver potentiometer (thru the PCB hole). The procedure is similar to the Velleman guide here:
http://manuals.velleman.eu/article.php?id=39
I have used a vref voltage of 1.58 to 1.60v so far.
To measure this voltage, set multimeter to DC, suitable range (max 2.5v on this driver).
Negative probe as per photo:


Positive probe on PCB pad as marked in my diagram “Vref measuring point” (orange marker).

Trim the potentiometer until desired voltage obtained. Too low and the stepper motors will skip steps. Too high and they will get too hot and cut out to protect themselves.

Go careful whilst doing this, especially if your power supply has no mains shielding. It would be all too easy to get a shock from the mains terminals whilst adjusting the drivers if you are not concentrating! If you have not shielded the mains connections to your printer, make it your next weekend project before you or someone else in your home gets a shock!

Once all that is done - profit (hopefully!)

Good Luck!
Wes.


#9

Thanks for a good description.


#10

I’m driving with my new TMC2208 driver now. There was a big difference in the sound from the printer. Now I only have a bit of noise at the turn when there is a gap between the rod and the IGLIDUR LINEAR BEARING.


#11

They’re pretty good eh? Once you take away the stepper noises, you really hear the rest of the printer mechanics - all them little rattles & squeaks to then target!

I’ve just changed my belt set and pulleys for G2T 20 tooth and spent the afternoon aligning the X-Y carriage. Sounds pretty sweet, along with with bearing ends for the rod endcaps. Haven’t had any issue with my Iglidur bearings yet. I know they will wear out eventually, will just accept it as a one of them “100,000 mile” service parts, like changing a cambelt on a car.


#12

Well a little bit of an update - I still found I was getting shifted layers after a while. Not even in the same places suggesting mechanical striction. Tried lots of extra cooling, altered Vref voltage various times, checked my x-y alignment for smoothness, belt tension etc. Coming to the conclusion, whilst these drivers are whisper quiet - they are NOT reliable. I’ve spent days persevering with them. Ive even tried communicating over the UART interface, changed them from StealthChop to SpreadCycle mode and now the drivers are not even responding.

Such a shame, as these drivers could be brilliant if they had more uumph and didnt keep giving missed steps every now n then! Back to the DRV8825’s (and the ear defenders) so I can actually print things!

#fail


#13

I thought I’d chime in on this thread (new to the forum), as I’ve been up and running on the TMC2100s for a couple of weeks now without a single missed step. At one point, I nearly gave up on them, but I noticed that the missed steps problems I’d been having suddenly got far worse after the 40mm fan on my Vertex died. I cable-tied an 80mm fan directly over the top (or bottom) of the mainboard, blowing directly onto the TMC2100 heatsinks, cranked up the voltages a little (to ~ 1.6V), and all of my problems vanished.

These TMC2100s run hot hot hot… If you think about it, it makes sense because they’re switching the current to the motors up to 256 times per step, whereas the old drivers only had 32 steps to switch through, so even with the lower resistance transistors in the TMC chips, they’re still switching 8x as often, so more heat gets generated.

It’s a shame that you gave up on the TMC drivers moojuice, because it was by following your instructions that I managed to get up and running.

Thanks moojuiceuk

Cheers!!


#15

Thank you very much for the description. Went thru this step by step and it works like a charm. I’ve had just one misalignment during the first print but by adjusting the voltage a bit, everything works fine now.
I’ve added two heat sinks to the stepper boards, one on top and one on the bottom (onto the IC itself) since there is enough space and I have changed the fan with this part https://www.thingiverse.com/thing:672780 for a better board cooling. I’ve limited the fan speed by a small resistor to reduce noise and it seems to be sufficient still.
Perhaps the TMC2209 would be a better choice since the TMC2208 has a RMS of 1.2 A. Setting the reference voltage to around 1.6 V means that we have reached the upper end of the TMC2208. The 2209 offers a bit more room with a RMS of 1.7 A.