Skip to main content

TMC 2240

Loading...

Basic Parameters

  • Input Voltage: 12V-36V
  • Compatible with: Klipper/RRF firmware
  • Supported Drive Modes: TMC: SPI/UART
  • Integrated Temperature Detection
  • Universal Analog Input Full Protection and Diagnostics
  • Fully Integrated Lossless Current Sensing (ICS)
  • Step/Direction Interface with Microstep Interpolation microPlyer
  • Short Circuit Protection, Undervoltage Lockout, Chip Overheat 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 chopping switching speed points.
  • Higher Power, Lower Heat Generation. (Supports higher voltage, 3.0A MAX, suitable for higher-end 3D printing applications and longer operation times without overheating or damage.)

Motherboard Jumper Instructions

  • TMC2240 Default SPI Jumper Configuration
    Loading...
  • TMC2240 UART Jumper Configuration
    Loading...

TMC2240 Reference Configuration

Danger

The driver sense 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 run current value
interpolate: False # Whether to enable 256 microstep interpolation (not recommended to enable)
rref: 12300
stealthchop_threshold: 0 # Silent mode threshold (set to 0 if silent mode is not needed)

UART Mode Reference Configuration

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

    Loading...
  • You need to log in via SSH to the user with Klipper installed and execute this code:

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

Sensorless Homing 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.
Sensorless Homing 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 upon refresh.
  • The driver_SGT: value needs to be tested to find a suitable value; typically it is 1.
  • Reference Configuration
[stepper_x]
# endstop_pin:PF3 # Comment out or delete the original endstop pin
endstop_pin: tmc2240_stepper_x:virtual_endstop
homing_retract_dist: 0 # Not changing this to 0 may cause homing to fail

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

Loading...