External Drive Usage Tutorial
Precautions
- This tutorial is configured based on Klipper firmware.
- The module supports both common cathode and common anode wiring methods. Please choose according to your actual situation.
- After selecting the wiring method, ensure the hardware connection matches the chosen method.
Module Selection
- Standard Module
- 5V Module
- This module is suitable for SUPER series, GEMINI series, and E3 series.
- Reason: The driver pins on these mainboards output a 5V signal, which is directly compatible with the driver.
- This module is suitable for D series and C series.
- Reason: The driver pins on these mainboards output a 3.3V signal. Some drivers cannot be used directly and require a boost module.
Select Wiring Method
Please select the corresponding wiring method based on your hardware configuration:
- If you are unsure which method to use, please refer to the driver module's manual.
- Common Cathode Wiring
- Common Anode Wiring
Driver Microstepping Setting
- No driver jumper configuration is required. The microstepping is set directly by the driver DIP switch.
Driver DIP Switch Setting
It is recommended to set the driver's onboard DIP switch to 3200.
Microstepping Setting Explanation
Pulses per motor revolution = rotation_distance / step_distance
A more fundamental derivation is:
Pulses per motor revolution = full_steps_per_rotation × microsteps
Step-by-step configuration logic:
- Determine motor intrinsic parameters: Common motors have
full_steps_per_rotation: 200(200 full steps per revolution, i.e., 1.8°/step). - Set Klipper microsteps
microsteps: Set in the configuration file, e.g.,microsteps: 16. - Match driver physical microstepping: Calculate and set the driver DIP switch based on the above settings and the required precision.
- Recommended value in this tutorial:
200 (full steps) × 16 (Klipper microsteps) = 3200 pulses/revolution. - At this point, the driver DIP switch needs to be set to the corresponding
3200(32 microsteps), meaning the driver will subdivide each received "step pulse" into 32 parts to drive the motor.
- Recommended value in this tutorial:
| Configuration Level | Configuration Item | Setting Value | Explanation |
|---|---|---|---|
| Motor Parameter | Full Steps per Revolution full_steps_per_rotation | 200 | Motor intrinsic property, typically 200 (1.8°) |
| Klipper Config | Microsteps microsteps | 16 | Set in printer.cfg |
| Driver Hardware | DIP Switch Microstep Value | 3200 (32 microsteps) | Set by physical DIP switch |
| Final Effect | Pulses per Motor Revolution | 200 × 16 = 3200 | Klipper needs to send 3200 pulses to rotate the motor one full revolution |
If other microstepping effects are needed:
Please follow the above logic to ensure that the Klipper configured microsteps (microsteps) are coordinated with the driver DIP switch microstep setting. For example, if set to microsteps: 32 in Klipper, the driver DIP switch should be set to 1600 (16 microsteps) to achieve a total precision of 200 × 32 = 6400 pulses/revolution.
Klipper Configuration Reference
| Configuration Item | Explanation | Configuration Example |
|---|---|---|
| Driver Type | No configuration needed, physically set by driver DIP switch | — |
Microsteps (microsteps:) | Set to 16 | Loading... |
Step Pulse Duration (step_pulse_duration:) | This parameter must be added and set to 0.000004 | Loading... |
Enable Pin (enable_pin:) | Adjust according to driver logic: 1. Usually remove the ! symbol (active high)2. Some drivers require adding ! (active low)3. In some cases, you can delete this line (always enabled) | Active High: Loading... Active Low: Loading... Disable Enable: Delete this line |
Configuration reference diagram:
Important Notes
- After using an external stepper motor driver, you must disable (e.g., by adding a
#comment at the beginning of the line) the corresponding driver configuration sections. - Such as
[tmc5160 ...]or[tmc2209 ...], etc. Otherwise, configuration conflicts will cause the driver to malfunction.
Driver Pulse Anomaly Handling
If the following phenomena occur, you can try adjusting the step pulse duration:
- Printed model offset, layer misalignment
- Motor vibration, abnormal noise, or irregular operation
Adjustment Method:
Gradually increase the value of step_pulse_duration, for example:
- Try
0.000009 - Or
0.00001 - Or
0.00002
Test the effect after each adjustment.