| ECC1C 145-944-00

Calibrated PID

Calibrated PID system base ID: 0xC0

The PID (proportional, integrate, derivative) system.

This is a PID control loop wiht interpolates the XY calibrated units to optical feedback units first.

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
--- | --- | --- | --- | --- | ---
0xC[0-7]00 | Enable gain scheduling | false | Enables / disables gain scheduling function: | boolean | read write
0xC[0-7]01 | Kp | 20.0 | Proportional term | float | read write
0xC[0-7]02 | Ki | 0.03 | Integral term | float | read write
0xC[0-7]03 | Kd | 800.0 | Derivative term | float | read write
0xC[0-7]04 | Minimum output | -1.0 | Minimum allowable output before clamping | float | read write
0xC[0-7]05 | Maximum output | 1.0 | Maximum allowable output before clamping | float | read write
0xC[0-7]06 | Minimum integral | -1.701411735e+38 | Minimum allowable integral before clamping | float | read write
0xC[0-7]07 | Maximum integral | 1.701411735e+38 | Maximum allowable integral before clamping | float | read write
0xC[0-7]08 | Desired setpoint | N/A | Internal desired XY value of the PID | float | read only
0xC[0-7]09 | Ap | 0.0 | Multiplier of the quadratic term of the proportional gain scheduling function | float | read write
0xC[0-7]0A | Bp | 0.0 | Multiplier of the linear term of the proportional gain scheduling function | float | read write
0xC[0-7]0B | Cp | 0.0 | Constant term of the proportional gain scheduling function | float | read write
0xC[0-7]0C | Ai | 0.0 | Multiplier of the quadratic term of the integral gain scheduling function | float | read write
0xC[0-7]0D | Bi | 0.0 | Multiplier of the linear term of the integral gain scheduling function | float | read write
0xC[0-7]0E | Ci | 0.0 | Constant term of the integral gain scheduling function | float | read write
0xC[0-7]0F | Ad | 0.0 | Multiplier of the quadratic term of the derivative gain scheduling function | float | read write
0xC[0-7]10 | Bd | 0.0 | Multiplier of the linear term of the derivative gain scheduling function | float | read write
0xC[0-7]11 | Cd | 0.0 | Constant term of the derivative gain scheduling function | float | read write
0xC[0-7]12 | Select gain scheduling variable | 0 | Defines which variable is selected in the gain scheduling function | Gain Scheduling Variable | read write
0xC[0-7]13 | Enable derivative term filter | true | Enables / disables a 2nd order low pass Butterworth filter acting on the derivative term | boolean | read write
0xC[0-7]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 0xC101

Kd register address of channel one has address 0xC003