There were a few items that made this project challenging. The first was that the Process Variable had delay in reaching setpoint but would behave differently when it was at setpoint. The reason for this was because the air compressor took tme to build up enough pressure to spin the motor. With pure PID control, the Bias would wind up too much because of this delay, and this would cause overshoot that was too much. To counteract this, we enabled the PID loop when the Process Variable was near the setpoint, and tuned the loop for the behavior near setpoint. Once this was coded, the loop was accurately tuned.
The next challenge was smoothing the process variable. The Encoder had bounce in it that wasn't allowing us to tune the machine to the specification that the customer wanted. To eliminate this, we utilized the first order filter in the BRX to reduce unwanted noise and signals that affected the Processes variable.
Once the loop was tuned the machine was able to hold the process variable at +/-0.12 RPM (or 0.375% error) which was well within the customer specification of 1% error on the process variable.