PID Controller using an Arduino microcontroller and LabVIEW

POSTER

Abstract

Many devices and controls in labs make use of control loop feedback systems. A common one called a PID (Proportional, Integral and Derivative), for example, is used on tunable diode laser temperature and current controls to set and maintain constant parameters. Here at BSU, I have been constructing a PID controller using an Arduino and LabVIEW (LV) that gives a clear demonstration of a PID in action: using a computer fan to float a ping-pong ball contained in a clear plastic tube, our system allows the user to select and maintain specified heights of the ball within the tube. The control loop begins from height signals measured by an Ultrasonic Detector that are processed by the Arduino and passed to a LV program (VI) where analog correction signals are computed based on the error signal (actual height compared to set height), P, and the remaining PID control values (I, and D). A second VI produces a Pulse Width Modulated (PWM) signal from the analog correction signal which is then input into the base of a power transistor to modulate a power supply and drive the computer fan at speeds proportional to the PWM signal. In turn, the fan speed changes the height of the ball and then the loop is repeated. The loop feedback finds and maintains the set height of the ball.

Authors

  • Sean Costello

    Bridgewater State University