What Do These Additional Settings Do For TMC Drivers?

Basic Information:

Printer Model: Custom CoreXY
MCU / Printerboard: BTT SKR 1.4 Turbo
Host / SBC
klippy.log

Fill out above information and in all cases attach your klippy.log file (use zip to compress it, if too big). Pasting your printer.cfg is not needed
Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there

Describe your issue:

Can someone explain what these additional TMC settings do? I have TMC2209 in UART for sensorless homing, and everything is just working fine, but I am really curious what these settings do.

#driver_MULTISTEP_FILT: True
#driver_IHOLDDELAY: 8
#driver_TPOWERDOWN: 20
#driver_TBL: 2
#driver_TOFF: 3
#driver_HEND: 0
#driver_HSTRT: 5
#driver_PWM_AUTOGRAD: True
#driver_PWM_AUTOSCALE: True
#driver_PWM_LIM: 12
#driver_PWM_REG: 8
#driver_PWM_FREQ: 1
#driver_PWM_GRAD: 14
#driver_PWM_OFS: 36

There’s not a simple answer.

If you’re really interested, you’ll have to read the datasheet. It goes into detail about exactly what each one does.

Thanks for the reply. I have looked through the TMC pdf in the past, but couldn’t really understand what all of them do, or how it translates in Klipper… Do people even use any of these settings in their configs? I cant seem to find much info or discussions about it. I wish I could find a video that talks about it in detail where I can see and hear the differences in what each one does.

There is an Excel spreadsheet available to calculate and set up some of those parameters, but if you don’t know what those parameters do you should stick to the Klipper defaults.

There is even an TMC Autotune script (or maybe several already) available that tries to measure motor resonance and determines the best values for some of those parameters, but I did not yet test this by myself to say whether its really helpful or just snakeoil.

If you otherwise have an oscilloscope you could further dig into the TMC data sheet and measure currents and check the wave form of the current graphs and so on.

So it is up to you! :wink:

1 Like

I don’t have any of those in my settings and my printer works fine.

[stepper_z]
step_pin: Z:PB4
dir_pin: Z:PB3
enable_pin: !Z:PA15
rotation_distance: 40
gear_ratio: 80:16
microsteps: 16
endstop_pin: probe:z_virtual_endstop
position_max: 310
position_min: -10
homing_speed: 20
second_homing_speed: 3
homing_retract_dist: 3

[tmc2209 stepper_z]
uart_pin: Z:PB5
interpolate: False
run_current: 1
sense_resistor: 0.110
diag_pin: Z:PB12
2 Likes

I saw the excel sheet too, but I dont have Excel and when I tried to open it in another program, it didn’t have the same format. I will have to revisit this at another time I guess. :frowning:

TBH, I spent hours on tuning this (including oscilloscope measurements) and honestly I could not pin down an appreciable real word effect.

4 Likes

Don’t you just LOVE when that happens?

The only thing better is when you spend DAYS troubleshooting something and it turns out it was something that was unplugged/you typed in the wrong setting/you got the wrong part etc.

2 Likes

I also spent many hours with specialized sensors, and could not measure any real-world benefit. Others have reported similar outcomes.

Cheers,
-Kevin

2 Likes

I just finished figuring out my sensorless homing macro so it is more reliable, so that’s one thing off the list. Next I need to figure out how to get KAMP adaptive mesh to work, and move my start gcode from orcaslicer to a macro. Once I figure that out, I might look into the driver settings more.

Main reason I want to look into the driver settings is because I cannot seem to get my Z motors to be quiet in spreadcycle, but they are quiet in stealthchop… Problem with stealthchop is I noticed my BLTouch is less reliable, so its been stressing me out trying to figure out if its my bltouch that is the issue, or the z motors being less accurate since they are in stealthchop… For whatever reason, my X/Y motors are quieter in spread cycle than stealthchop, but my Z motors are complete opposite where they make all these weird hissing noises and have really bad resonance.

Hi, try this: GitHub - andrewmcgr/klipper_tmc_autotune: TMC stepper driver autotuning Klipper python extra

Hello @any !

It was already mentioned.

1 Like