TMC 2240

Basic Parameters
- Input voltage: 12V-36V
- Suitable for: Klipper/RRF firmware
- Drive mode support: TMC: SPI/UART
- Integrated temperature detection
- General analog input full protection and diagnosis
- Fully integrated lossless current sensing (ICS)
- Stepper/direction interface with microstepping 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
- StealthChop and SpreadCycle jitter-free combination, solving the motor jitter problem at the chopping speed switching point.
- Higher power, lower heat generation. (Supports higher voltage, 3.0AMAX, suitable for higher field 3D printing work, and longer working time without easy heating and damage.)
Motherboard Jumper Instructions
- TMC2240 defaults to using SPI jumper
- TMC2240 uses UART jumper method
TMC2240 Reference Configuration
dangerous
The drive sampling resistor is rref: 12300
please do not set incorrectly
SPI Mode Reference Configuration
[tmc2240 stepper_x]
cs_pin:
spi_bus:
run_current: 0.65 # Motor running current value
interpolate: False # Whether to enable 256 microstepping interpolation (not recommended)
rref: 12300
stealthchop_threshold: 0 # Silence threshold (if silence is not required, change the value to 0)
UART Mode Reference Configuration
[tmc2240 stepper_x]
uart_pin:
run_current: 0.65 # Motor running current value
interpolate: False # Whether to enable 256 microstepping interpolation (not recommended)
rref: 12300 # Drive sampling resistor
stealthchop_threshold: 0 # Silence threshold (if silence is not required, change the value to 0)
-
If the following error occurs
-
You need to log in to the user who installed klipper under the SSH terminal and then execute this code
sed -i 's/"uart_pin"/\'"'"'uart_pin'\''/g' ~/klipper/klippy/extras/tmc2240.py
Infinite Position Usage Instructions
Infinite Position Usage Tips
- Infinite position usage requires occupying a limit port; normally, the first drive position uses IO1, the second drive position uses IO2, and so on.
- When using infinite positions, please ensure not to connect anything to the corresponding limit port.
- For some FLY mainboards that are directly connected to the drive port, please check if DIAG is directly connected to the corresponding pin.
Infinite Position Usage Tips
- The original
endstop_pin:
needs to be shielded or deleted, and addendstop_pin: tmc2240_stepper_x:virtual_endstop
- After configuring
diag0_pin:
, the limit status is not triggered after refreshing - Configuring
driver_SGT:
requires you to test a suitable value normally1
- Reference Configuration
[stepper_x]
# endstop_pin:PF3 # Need to shield or delete the original limit port
endstop_pin: tmc2240_stepper_x:virtual_endstop
homing_retract_dist: 0 # Retraction without changing to 0 may cause homing failure
[tmc2240 stepper_x]
diag0_pin: ^!PG12
driver_SGT: 1