Digital PID Controller
At the end of the Control Systems course (ECE350) at DigiPen, Professor Jeremy Thomas offered me the opportunity to test my knowledge, and implement a digital PID controller on a PIC18F series microcontroller, to compensate the system response of a DC motor. A basic feedback system comprised of a motor encoder, a PIC, an FTDI chip, a potentiometer, and matlab was designed. First, the basic system response was categorized with a first order approximation. Then, using the PID designer tool, and verified by hand, a PID compensator was designed. Following this, the PID values were bilinearly transformed into digital space, and implemented in a looping script with input-output registers for efficiency. This produced a very fast to respond motor, which could apply varying toque to maintain speed to match the potentiometer, regardless of applied force.