Skip to main content

TMC 2240

Loading...

Basic Parameters

  • Input Voltage: 12V-36V
  • Suitable for: Klipper/RRF firmware
  • Driver mode support: TMC: SPI/UART
  • Integrated temperature detection
  • Universal analog input full protection and diagnostics
  • Fully integrated lossless current sensing (ICS)
  • Stepping/direction interface with microstep interpolation microPlyer
  • Short-circuit protection, undervoltage lockout, chip over-temperature protection (thermal shutdown)
  • Supports stallGuard2 high-precision sensorless motor load detection
  • Integrated StallGuard2 and StallGuard4 sensorless motor load detection
  • Jitter-free combination of StealthChop and SpreadCycle, solving motor jitter issues at chopper switching speed points
  • Higher power, lower heat generation. (Supports higher voltage, 3.0A MAX, suitable for higher-level 3D printing tasks and more extended operation without overheating or damage.)

Mainboard Jumper Instructions

  • TMC2240 uses SPI jumper by default
    Loading...
  • TMC2240 UART jumper configuration method
    Loading...

TMC2240 Reference Configuration

Danger

The driver sampling resistor is rref: 12300. Please do not set it incorrectly.

SPI Mode Reference Configuration

[tmc2240 stepper_x]
cs_pin:
spi_bus:
run_current: 0.65 # Motor operating current value
interpolate: False # Whether to enable 256 microstep interpolation (not recommended)
rref: 12300
stealthchop_threshold: 0 # Silent threshold (set to 0 if silent operation is not needed)

UART Mode Reference Configuration

[tmc2240 stepper_x]
uart_pin:
run_current: 0.65 # Motor operating current value
interpolate: False # Whether to enable 256 microstep interpolation (not recommended)
rref: 12300 # Driver sampling resistor
stealthchop_threshold: 0 # Silent threshold (set to 0 if silent operation is not needed)
  • If the following error occurs

    Loading...
  • Execute the following code in an SSH terminal logged in as the Klipper user

    sed -i 's/"uart_pin"/\'"'"'uart_pin'\''/g' ~/klipper/klippy/extras/tmc2240.py

Endstop-Free Usage Instructions

Infinite Position Usage Tips
  • Using infinite position requires occupying one limit port. Under normal circumstances, the first drive position uses IO1, the second drive position uses IO2, and so on.
  • When using infinite position, please note: do not connect anything to the corresponding limit port.
  • Some FLY motherboards are directly connected to the drive port. Please check whether DIAG is directly connected to the corresponding pin.
Endstop-Free Usage Tips
  • The original endstop_pin: needs to be commented out or deleted, then add endstop_pin: tmc2240_stepper_x:virtual_endstop
  • After configuring diag0_pin:, the limit switch status will show as not triggered
  • Configuring driver_SGT: requires testing a suitable value; typically 1
  • Reference Configuration
[stepper_x]
# endstop_pin:PF3 # Comment out or delete the original limit switch pin
endstop_pin: tmc2240_stepper_x:virtual_endstop
homing_retract_dist: 0 # Not changing the retract distance to 0 may cause homing failure

[tmc2240 stepper_x]
diag0_pin: ^!PG12
driver_SGT: 1

Loading...