BPDSettle.spt is used to show the performance of the beam pointing (BP) servo. If the BP servo has poor performance, there may be artifacts on the plate. This script is supplied by the Thermal 2 group.
The BPDSettle.spt script tests the BP servo performance for four current steps. If one of four tests produces a large settling time, you must tune the PID gains. The goal of this operation is to have the percent error between the two BP sensor signals (this is the third graph on each of the BPDSettle.spt output windows) to settle within four seconds.
A settling time of 3 seconds is preferred, but this might be hard to achieve. The percent error is considered settled if the percent error is below 0.5%, or the maximum difference between the two signals is two or less. The time at which the percent error is settled is called the settling time. The BPDSettle.spt script will display a banner across the output window if you have not achieved these goals.
You might have to run BPDSettle.spt several times in order to find the correct gains. The following procedure is used to tune the PID gains:
- Adjust Kp. If percent error graph takes too long to settle, increase Kp. It is not necessary to get the response completely settled in a maximum of 4 seconds, with 3 seconds preferred, as this will be done in the next two steps. Aim for a settling time of roughly 8s to 10s - it is acceptable to have a lot of ringing in the response at the completion of this step. Don't try too hard to achieve any settling time in the step, as the response is highly dependent on the value of Kd, which is adjusted in the next step. A typical plot at the end of this step can be found at Example Graph 1. Try initial increments/decrements of 0.2 or 0.3. The final changes should only be 0.1.
- Adjust Kd. Increasing Kd will provide a more damped percent error graph. Increase or decrease the value of Kd so that the actuator response is not ringing and settles in under 4s. Try to have only one and a half or two periods of oscillation (i.e. there are only 3 or four wiggles in the percent error graph). It is likely that it will be necessary to change the value of Kp while tuning Kd in order to obtain this criteria. It is acceptable to have the response asymptotically decaying, as this will be fixed in the next step.
An example of an asymptotically decaying plot is shown in Example Graph 2. Note that there are only a couple of oscillations, but the percent error graph does not approach zero. While tuning Kd, try initial increments/decrements of 0.2 or 0.3. The final changes should only be 0.1.
- Adjust Ki. Increasing Ki will increase the asymptotic decay rate; however, increasing Ki too much will cause the response to oscillate. Change Ki until the settling time is less than 4s for all four write laser current transitions. If you need to make minor adjustments to Kd or Kp in this step, that is acceptable. If you have to choose between two values of Ki, choose the lesser value. Try initial increments/decrements of 0.01 or 0.02. The final changes should only be 0.005 or 0.01. An example of a good result can be found in Example Graph 3.
- Always run BPDSettle.spt as the final step. Leave no set of final gains untested. Also look at the three graphs for each of the four write laser transitions. Each subplot should be fairly smooth. If one is excessively bumpy, and you can't figure out how to fix the problem, contact a production engineer or the response center.
If you are unable to achieve acceptable gains, contact a production engineer or the response center.
Example Graph 1. Typical performance following the tuning of Kp.

Example Graph 2. Asymptotic decay.

Example Graph 3. An acceptable final result.
