| ECC1C 145-944-00

Optical Feedback PID

Optical Feedback PID system base ID: 0xB8

The PID (proportional, integrate, derivative) system.

This is a PID control loop acting on optical feedback units.

There is a protection on the integral term to avoid miscalculations. If the accumulator in the integral term goes out of the given range, it's clamped to the range.

### Register Map:

Address | Name | Default | Description | Type | Access
--- | --- | --- | --- | --- | ---
0xB[8-F]00 | Enable gain scheduling | false | Enables / disables gain scheduling function: | boolean | read write
0xB[8-F]01 | Kp | 20.0 | Proportional term | float | read write
0xB[8-F]02 | Ki | 0.03 | Integral term | float | read write
0xB[8-F]03 | Kd | 800.0 | Derivative term | float | read write
0xB[8-F]04 | Minimum output | -1.0 | Minimum allowable output before clamping | float | read write
0xB[8-F]05 | Maximum output | 1.0 | Maximum allowable output before clamping | float | read write
0xB[8-F]06 | Minimum integral | -1.701411735e+38 | Minimum allowable integral before clamping | float | read write
0xB[8-F]07 | Maximum integral | 1.701411735e+38 | Maximum allowable integral before clamping | float | read write
0xB[8-F]08 | Desired setpoint | N/A | Internal desired optical feedback value of the PID | float | read only
0xB[8-F]09 | Ap | 0.0 | Multiplier of the quadratic term of the proportional gain scheduling function | float | read write
0xB[8-F]0A | Bp | 0.0 | Multiplier of the linear term of the proportional gain scheduling function | float | read write
0xB[8-F]0B | Cp | 0.0 | Constant term of the proportional gain scheduling function | float | read write
0xB[8-F]0C | Ai | 0.0 | Multiplier of the quadratic term of the integral gain scheduling function | float | read write
0xB[8-F]0D | Bi | 0.0 | Multiplier of the linear term of the integral gain scheduling function | float | read write
0xB[8-F]0E | Ci | 0.0 | Constant term of the integral gain scheduling function | float | read write
0xB[8-F]0F | Ad | 0.0 | Multiplier of the quadratic term of the derivative gain scheduling function | float | read write
0xB[8-F]10 | Bd | 0.0 | Multiplier of the linear term of the derivative gain scheduling function | float | read write
0xB[8-F]11 | Cd | 0.0 | Constant term of the derivative gain scheduling function | float | read write
0xB[8-F]12 | Select gain scheduling variable | 0 | Defines which variable is selected in the gain scheduling function | Gain Scheduling Variable | read write
0xB[8-F]13 | Enable derivative term filter | true | Enables / disables a 2nd order low pass Butterworth filter acting on the derivative term | boolean | read write
0xB[8-F]14 | Cut-off frequency of derivative term filter | 800.0 | Sets cut-off frequency in Hz of the 2nd order low pass Butterworth filter acting on the derivative term. Range (0 - 5000) | float | read write

Note
  Full register address varies according to the channel.

For example:

Kp register address of channel two has address 0xB901

Kd register address of channel one has address 0xB803