3.2.1. Collective Pitch Control

The CPC controller combines two PID controllers that react to the rotor speed error and the power error. The inputs for the pitch controller are the rotor speed Ω, the mean pitch angle *θmean*, the reference power from the torque controller *Pref* and the measured wind speed at hub height *Vhub* (see Figure 2(a)).

The rotor speed signal is filtered using a second order low-pass filter as described by Equation (A2). Both the pitch and the torque controller share the same filter frequency and damping ratio to calculate Ω*LP*. The speed error *e*<sup>Ω</sup> is calculated as the difference between the low pass filtered rotor speed Ω*LP* and the rated rotor speed Ω*rated*. The error *e*<sup>Ω</sup> is then passed through a notch filter to filter out the drivetrain eigenfrequency. The equation of a notch filter is given in Equation (A4).

In parallel, the power error *eP* is calculated as the difference between *Pref* and *Prated* and passed through a notch filter (Equation (A4)) to obtain *eP*−*NF*. The proportional, integral and differential terms of the pitch controller are calculated as follows:

$$\theta\_P(t) = \frac{1}{2} (k\_{P-\Omega} \cdot \varepsilon\_{\Omega-NF}(t) + k\_{P-P} \cdot \varepsilon\_{P-NF}(t)),\tag{13}$$

$$\theta\_I(\mathbf{t}) = \frac{1}{2} \left( \int\_0^t (k\_{I-\Omega} \cdot \mathbf{e}\_{\Omega-NF}(\tau) + k\_{I-P} \cdot \mathbf{e}\_{P-NF}(\tau)) d\tau \right), \tag{14}$$

$$
\theta\_D(t) = k\_{D-\Omega} \cdot \frac{de\_{\Omega-NF}(t)}{dt}.\tag{15}
$$

Here, *kP*−*X*, *kI*−*<sup>X</sup>* and *kD*−*<sup>X</sup>* are the proportional, integral and derivative constants of each PID controller. The subscript Ω denotes that the PID constants are applied to *e*Ω−*NF*. Likewise, the subscript *P* denotes the affiliation of the constants to *eP*−*NF*. Note that *kD*−*<sup>P</sup>* is always set to zero.

Additionally, the pitch signal is gain-scheduled with two factors. The first one accounts for the non-linear effect that larger blade pitch angles have on the aerodynamic torque. The second factor increases sensitivity of the pitch controller to large speed excursions in order to limit them. The total gain schedule is calculated via

$$\eta = \eta\_{\theta} \cdot \eta\_{\Omega} = \left(\frac{1}{1 + \frac{\theta\_{\Omega}}{K\_1} + \frac{\theta\_{\Omega}^2}{K\_2}}\right) \cdot \left(1 + \frac{e\_{\Omega}^2}{(\Omega\_2 - \Omega\_{rated})^2}\right). \tag{16}$$

In this equation, *θLP* is the low-pass filtered mean pitch signal *θmean*. *K*1, *K*<sup>2</sup> and Ω<sup>2</sup> are parameters given by the user. To calculate *θLP*, a first order filter as described in Equation (A1) is used.

The pitch angle signal is limited by the parameters *θmax* and *θmin*. In addition, *θmin* can be modified by *VHub* using a look-up table given by the user. In this case, the measured wind speed at hub height is also low-passed using a first order low pass filter (Equation (A1)).

In order for the pitch controller to react quickly if the required pitch signal changes suddenly from a saturated value, an anti-windup scheme like the one described in Equation (3) is used for *θI*.

The total collective pitch angle signal of the pitch controller is therefore given by

$$\theta\_{\rm PC} = \begin{cases} \eta \cdot (\theta\_P + \theta\_I + \theta\_D) & \text{if } \theta\_{\rm min} \le \theta\_{\rm PC} \le \theta\_{\rm max} \\ \theta\_{\rm min} (V\_{\rm hub}) & \text{if } \theta\_{\rm PC} < \theta\_{\rm min} (V\_{\rm hub}) \\ \theta\_{\rm max} & \text{if } \theta\_{\rm PC} > \theta\_{\rm max} \end{cases} \tag{17}$$

Additionally, the pitch rate is also limited by two user defined parameters: ˙ *θmax* and ˙ *θmin*.

The power dependency of *θPC* will make the pitch controller raise the pitch angle set point when *Pref* from the torque controller is close to *Prated*. This in turn helps trigger the switching procedure from partial to full load regime of the torque controller as explained in Section 3.1.3.
