TMC 2240
Basic Parameters
- Input Voltage: 12V-36V
- Applicable to: Klipper/RRF firmware
- Drive Mode Support: TMC: SPI/UART
- Integrated Temperature Detection
- Universal Analog Input Full Protection and Diagnosis
- Fully Integrated Lossless Current Sensing (ICS)
- Stepper/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 the Motor Judder Problem at Chopper Switching Speed Points.
- Higher Power Output and Lower Heat Generation. (Supports higher voltage, 3.0A MAX, suitable for high-end 3D printing work, and can work for longer periods without overheating or damage.)
Mainboard Jumper Instructions
- TMC2240 defaults to using SPI jumper
- Method to Use TMC2240 with UART Jumper
TMC2240 Reference Configuration
dangerous
The drive 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 Running Current Value
interpolate: False # Whether to Enable 256 Microstep Interpolation (Not Recommended)
rref: 12300
stealthchop_threshold: 0 # Silence Threshold (If Not Needed, Set 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 Microstep Interpolation (Not Recommended)
rref: 12300 # Drive Sampling Resistor
stealthchop_threshold: 0 # Silence Threshold (If Not Needed, Set the Value to 0)
-
If the following error occurs
-
You need to log in to the user who has installed Klipper via SSH terminal and then execute this code
sed -i 's/"uart_pin"/\'"'"'uart_pin'\''/g' ~/klipper/klippy/extras/tmc2240.py
Infinite Limit Usage Instructions
Infinite Position Usage Tip
- Infinite position usage requires occupying a limit port, normally IO1 is used for the first drive position, IO2 for the second drive position, and so on.
- When using infinite position, please make sure not to connect anything to the corresponding limit port.
- For some FLY motherboards, the drive ports are directly connected, please pay attention to whether DIAG is directly connected to the corresponding pin.
Infinite Limit Usage Tip
- The original
endstop_pin:
needs to be masked or deleted, addendstop_pin: tmc2240_stepper_x:virtual_endstop
- After configuring
diag0_pin:
, the limit status refresh is not triggered - When configuring
driver_SGT:
, you need to test a suitable value, usually1
- Reference Configuration
[stepper_x]
# endstop_pin:PF3 # Need to mask or delete the original limit port
endstop_pin: tmc2240_stepper_x:virtual_endstop
homing_retract_dist: 0 # Do not change 0, as it may cause the homing to fail
[tmc2240 stepper_x]
diag0_pin: ^!PG12
driver_SGT: 1