Fast prototyping of a digital PID controller on a FPGA based soft-core microcontroller for precision control of a brushed DC servo motor
Amitabh Das, Kumardeb Banerjee · 2009
Design and analysis of Digital Proportional Integral Derivative (PID) controllers for digital motion control involving dc motors are well documented and commercial/industrial off-the-shelf solutions are readily available. Majority of the said controllers are designed to work with brushless dc motors. However, many existing two-axis and three-axis gimbaled systems work with conventional analog PID controllers, brushed dc motors and synchros as position sensors. Whenever there is a need for a replacement of the electronics of similar systems, the analog electronics is replaced by digital equivalent. The choice of using off-the-shelf solutions is rather limited because of the prime mover and the output sensing devices. Design and implementation of a case-specific processor based solution is often the only cost-effective option. The present work proposes the step-by-step procedure for the fast prototyping of a digital PID controller for brushed dc motors on an FPGA-based Soft-Core Microcontroller. The input section consists of an analog signal conditioner for scaling the reference input and the sensed feedback signal, a serial analog-to-digital converter (SADC) and a programmable gain amplifier (PGA). The output stage consists of an H-bridge power amplifier for driving the armature circuit of the dc servo motor (DCSM). The platform used is a Spartan 3E FPGA (x3s500E) with an embedded 8-bit PicoBlaze microcontroller. Though a single-axis implementation is documented, it can easily be extended for two-axis and three-axis systems using multiple soft-core processors embedded on the same FPGA.