1XD with encoder inputs (Homing based on incremental encoders)
yngndrw last edited by yngndrw
The 1XD board is a great step towards proper servo drives for CNC usage. With a proper AC servo which has closed loop control between the motor and the driver, end-to-end closed loop control isn't really needed especially if the error/fault output of the servo drive is used. There is however a second use for encoder inputs - Homing.
Proper servo drives often have buffered encoder outputs, which are the full complement of encoder signals including the index. If a "course" homing switch is included on the axis to get within one motor revolution of the final home location, the final homing can be completed using the encoder by allowing it to continue rotating in a given direction until the index signal is raised. This is far more repeatable than a homing switch (Subject to backlash) and operates with the same resolution of the servo motor.
Obviously this also puts in the ground-work for end-to-end closed loop control with external drivers if that's implemented.
So my proposal is to build another version of the 1XD with some more I/O:
- 3x differential driver outputs: Step/Direction/Enable [As it currently has]
- 1x high-current brake output [As it currently has]
- 3x differential encoder inputs: A/B/I
- 1x differential error/fault input
- 2x single-ended endstop inputs (Can be GPIO) [As it currently has]
See page #57 for an example encoder output from a servo drive:
The other option of course is something like EtherCat, but that's a whole separate topic.