We have previously tried to discourage users from attempting to manipulate the PID Gain settings directly for several reasons, mainly associated with a perceived lack of knowledge regarding these settings - if you don't know what you're trying to accomplish with these settings, it is very easy to get in a situation where the only recovery is a factory reset.
However, users who do understand how to use these values are at an advantage over those who do not, so this article is intended to give you a brief introduction to when and how PID values can be used to improve the performance of your HoverflyGIMBAL.
First and foremost, please understand that these values ONLY affect continuous rotation servos. They will have NO effect on the Tilt and Roll servos of Cinestar or Photohigher-type camera gimbals. For those servos, you will want to use the Scaling Factor and Acceleration Rate Gain settings under Configuration & Calibration > Servo Configuration.
There are two concepts that are being adjusted in PID control systems: how quickly the target position is reached and how quickly the target position is settled at. It is important to understand that reaching the target destination does not mean that you have stopped at that location. Settling is the act of actually coming to rest at the target location, and this speed is calculated separately.
- Increasing the P value will move the servo to the target position more quickly, but it will tend to overshoot and cause oscillations as the servo attempts to settle there.
- Increasing the I value will have a similar effect to increasing the P value, but with more pronounced oscillations. This value is normally used to eliminate steady-state error, which is generally not a concern with the type of camera mounts used with the HoverflyGIMBAL. We can safely ignore this number for now.
- Increasing the D value will increase the settling speed, decreasing the amount of overshoot and generally decreasing oscillations - to a point. Entering a value for D which is too large in relation to the P value can actually cause an increase in oscillations, causing the servo to become very jittery.
If you want to tune your HoverflyGIMBAL by manipulating the PID values, start by increasing the P value until it starts to oscillate noticeably at the target point. Then increase the D value until the oscillations go away. If they do not, reduce the P value and try again. Continue this until you find the maximum value for P at which D can eliminate the oscillations. This will result in reaching and settling at the target destination at maximum speed.
Never set any of these values to 0 - doing so will cause the program to crash.
Many thanks to our VP of R&D Dan Burroughs for contributing the bulk of information in this article.