External Drive Usage Tutorial
Servo Drive Configuration Guide
Precautions
- This tutorial is based on Klipper firmware configuration.
- The module supports two 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 Boost Module
Applicable Mainboards: SUPER series, GEMINI series, E3 series
Description: The driver pins on these mainboards output 5V signals, which are directly compatible with the drive. No additional module is required.
Applicable Mainboards: D series, C series
Description: The driver pins on these mainboards output 3.3V signals. Some drives cannot use this directly and require a 5V boost module to convert the signal level.
After installing the 5V boost module, do not connect the wiring immediately. First, perform a voltage test according to the 5V Module Test Instructions below. Confirm the module is working normally before proceeding with wiring.
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 drive module's manual or consult the manufacturer.
- Wiring Reference 1
- Wiring Reference 2
Drive Microstepping Setting
No driver jumpers need to be configured. The microstepping is set directly by the driver's onboard 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
Configuration Logic Step-by-Step:
- Determine motor inherent 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: Based on the above settings and required precision, calculate and set the driver DIP switches.
- Recommended value in this tutorial:
200 (full steps) × 16 (Klipper microsteps) = 3200 pulses/revolution. - At this point, the driver needs to be set to 16 microsteps. The DIP switch value should be set to
3200(some drivers display the microstep number 16, some display the pulse count 3200. Please confirm based on the driver's manual). - This means the driver will execute each pulse sent by Klipper as 1 microstep.
- Recommended value in this tutorial:
| Configuration Level | Configuration Item | Setting Value | Explanation |
|---|---|---|---|
| Motor Parameters | Full Steps per Revolution full_steps_per_rotation | 200 | Motor inherent property, usually 200 (1.8°) |
| Klipper Configuration | Microsteps microsteps | 16 | Set in printer.cfg |
| Driver Hardware | DIP Switch Microstep Value | 3200 (16 microsteps) | Set by physical DIP switches |
| 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 Klipper configured microsteps (microsteps) and driver DIP switch set microstep level are coordinated consistently. For example, if set to microsteps: 32 in Klipper, then the driver DIP switches should be set to 6400 (32 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:) | 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 enable)2. Some drivers need to add ! (active-low enable)3. In some cases, you can delete this line (always enabled) | Active-high enable: Loading... Active-low enable: Loading... Disable enable: Delete this line |
Configuration reference diagram:
Configuration Precautions
After using an external stepper motor driver, you must disable (comment out by adding # at the beginning of the line) the corresponding driver configuration section, such as [tmc5160 ...] or [tmc2209 ...], etc. Otherwise, configuration conflicts will cause the driver to malfunction.
5V Module Test Instructions
This test is only for users using the 5V boost module (D series, C series mainboards). Standard module users can skip this section.
After installing the 5V boost module onto the mainboard, do not connect the wiring immediately. First, follow the steps below to test if the module output is normal.
Test Steps
Step 1: Add Test Configuration
Add the following configuration to your printer.cfg file. Note to modify the pins to the corresponding driver port pins:
[output_pin STEP]
pin: PC14
[output_pin DIR]
pin: PC13
[output_pin EN]
pin: PC15
- Please replace the example pins
PC14,PC13,PC15with the actual driver port pins you are using. - For example: If using the X-axis driver port, consult the mainboard schematic to find the corresponding pin numbers.
Step 2: Multimeter Preparation
- Set the multimeter to DC voltage range (20V range).
- Connect the black probe to the mainboard's GND pin.
- Use the red probe to test each signal pin.
Step 3: Test EN+, PUL+, DIR+ Pins
These three pins should always output 5V voltage:
- Power on the mainboard (no need to connect the drive).
- Use the multimeter red probe to touch the module's EN+, PUL+, DIR+ pins sequentially.
- Normal Result: All three pins should show a voltage around 5V.
Step 4: Test EN-, PUL-, DIR- Pins
These three pins need to be tested via Klipper control:
- In the Mainsail or Fluidd interface, go to the Console.
- Test the EN- pin:
- Enter command:
SET_PIN PIN=EN VALUE=1(turn on) - Test the EN- pin with the multimeter, it should show 5V.
- Enter command:
SET_PIN PIN=EN VALUE=0(turn off) - Test the EN- pin again, it should show 0V.
- Enter command:
- Test the PUL- pin:
- Enter command:
SET_PIN PIN=STEP VALUE=1 - Test the PUL- pin, it should show 5V.
- Enter command:
SET_PIN PIN=STEP VALUE=0 - Test again, it should show 0V.
- Enter command:
- Test the DIR- pin:
- Enter command:
SET_PIN PIN=DIR VALUE=1 - Test the DIR- pin, it should show 5V.
- Enter command:
SET_PIN PIN=DIR VALUE=0 - Test again, it should show 0V.
- Enter command:
Test Result Judgment
| Test Item | Normal Result | Abnormal Result | Handling Suggestion |
|---|---|---|---|
| EN+, PUL+, DIR+ | Always 5V | No voltage or abnormal voltage | Check module installation, power supply |
| EN-, PUL-, DIR- (VALUE=1) | 5V | No voltage or voltage too low | Check if pin configuration is correct, if module is damaged |
| EN-, PUL-, DIR- (VALUE=0) | 0V | Has voltage | Check configuration, if module is normal |
After confirming all test results are normal, you can power off and proceed with the formal drive wiring.
Drive Pulse Anomaly Handling
If the following phenomena occur, you can try adjusting the 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
After each adjustment, save the configuration and restart Klipper, then test the effect.