External Drive Usage Tutorial
Precautions
- This tutorial is configured based on the 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, please ensure the hardware connection is consistent with the chosen method.
Module Selection
- Standard Module
- 5V Module
- This module is suitable for SUPER series, GEMINI series, E3 series.
- Reason: The driver pin outputs of these mainboards are 5V signals, which are directly compatible with the driver.
- This module is suitable for D series, C series.
- Reason: The driver pin outputs of these mainboards are 3.3V signals. Some drivers may not work and require a voltage booster 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 need to configure any driver jumpers, the microstepping is set directly by the driver DIP switches.
Driver DIP Switch Setting
It is recommended to set the driver's onboard DIP switches 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 switches based on the above settings and desired precision.
- Recommended value in this tutorial:
200 (full steps) × 16 (Klipper microsteps) = 3200 pulses/revolution. - At this point, the driver DIP switches need 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, usually 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 switches |
| Final Result | 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) and the driver DIP switch microstep setting are coordinated. For example, if set to microsteps: 32 in Klipper, the driver DIP switches 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, set physically by driver DIP switches | — |
Microsteps (microsteps:) | Set to 16 | Loading... |
Step Pulse Duration (step_pulse_duration:) | Must add this parameter and set it 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:
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.