A Multi-axis Control Board Implemented via an FPGA

Most of robotic applications rely on the use of DC motors with quadrature encoder feedback. Typical applications are legged robots or articulated chassis multi-wheeled robots. In these applications system designer must implement multi-axis control systems able to handle an high number of quadrature encoder signals and to generate the same number of PWM signals. Moreover the adopted CPU must be able to execute the same number of control loop algorithms in a time slot of about ten milliseconds. Very few commercial SoC (System on Chip) can handle up to six channels. In this work the implementation of a SoC on FPGA able to handle up to 20 channels within a time slot of 20 ms and up to 100 channels within a time slot of 100 ms is described. In order to demonstrate the effectiveness of the design, the board was used to control a small six wheels outdoor robot.