Stepper driver with long motor cables
Can a stepper motor be connected to the driver using long cables?
A stepper motor can be operated via long motor cables of several meters. However, an LC network on the PCB, and shielding of the cables is recommended in order to optimize electromagnetic emission.
Basically resistance and inductivity of a long motor cable is not a problem, as the coil itself is a long cable.
Capacity between conductors and GND can be tolerated up to a nF or so (depending on sense resistor and blank time – increase if necessary), capacity in between of cables of one coil also.
Capacity in between of the different coil connections will disturb the chopper as the edges of one switching event inject current into the adjacent coil and thus trigger earlier / later chopper action.
For optimum performance, shield coil A and coil B cables separately, or at least use a twisted pair cable for each coil.
I use long cables, and have reduced motor performance and increased motor noise and vibration. How to solve?
In case, separate shielding is not possible, motor current disturbance can occur:
Background: The motor choppers are current controlled. Thus, any disturbance in coil current, which results from the second coil, or other motors, will disturb the motor chopper. This can happen by capacity in between of cables for different coils. The capacity will transfer current between the cables during a switching event.
- The best way to avoid it, is to shield cables of different coils against each other, e.g. by using shielded twisted pair, or when using flat ribbon cable, by inserting one GND cable between each two coils.
- Especially low current stepper motors are affected even by small capacitance: It can help to parallel the sense resistor with a capacitor of 1µF to 10µF. Choose the capacitor to form an RC-element with a time constant of 1 to 2 microseconds. This way, a low pass is formed that will help to skip the current disturbance.
- Another solution (additional to 2.) is going to stealthChop operation. stealthChop is less sensitive to disturbance of the motor current.
- Optionally, use stealthChop without current measurement and pure feed-forward current control (velocity based scaling). This works perfectly, if the motor and supply voltage are well known. As the current is not measured, no disturbance can occur.