Voltage/Pitch Control for Maximization and Regulation of Active/Reactive Powers in Wind Turbines with Uncertainties
Abstract
This paper addresses the problem of controlling a variablespeed wind turbine with a Doubly Fed Induction Generator (DFIG), modeled as an electromechanicallycoupled nonlinear system with rotor voltages and blade pitch angle as its inputs, active and reactive powers as its outputs, and most of the aerodynamic and mechanical parameters as its uncertainties. Using a blend of linear and nonlinear control strategies (including feedback linearization, pole placement, uncertainty estimation, and gradientbased potential function minimization) as well as timescale separation in the dynamics, we develop a controller that is capable of maximizing the active power in the Maximum Power Tracking (MPT) mode, regulating the active power in the Power Regulation (PR) mode, seamlessly switching between the two modes, and simultaneously adjusting the reactive power to achieve a desired power factor. The controller consists of four cascaded components, uses realistic feedback signals, and operates without knowledge of the surface, air density, friction coefficient, and wind speed. Finally, we show the effectiveness of the controller via simulation with a realistic wind profile.
Wind energy, wind turbine, active power, reactive power, maximum power tracking, power regulation, nonlinear control.
1 Introduction
\IEEEPARstartA highperformance controller is essential to the success of integrating largescale wind energy into future power systems. Extensive investigations and recent lessons learned have confirmed that the variable and intermittent nature of wind indeed poses serious threats to both the reliability of power systems and the economic viability of wind energy [1]. To minimize these threats, a wind turbine controller should not only maximize the amount of active power captured in a socalled Maximum Power Tracking (MPT) mode in normal situations, it should also allow the power captured be continuously regulated at a desired level in a socalled Power Regulation (PR) mode (other than clipping the power based on received instructions) when there is a system contingency. In addition, the controller should enable seamless switching between the MPT and PR modes, as well as maintain a desired power factor by also controlling the reactive power output.
One of the challenges facing the development of such a highperformance controller is the fact that the aerodynamic and mechanical parameters of a wind turbine are inherently uncertain, due to modeling and measurement errors, unknown optimal operating points, and other, possibly timevarying, ambient factors. For example, the surface of a wind turbine, which characterizes the amount of mechanical energy converted from the wind, is typically assumed to be known—or, at least, its optimal points are assumed to be known—in many existing controller designs. Unfortunately, such a surface is an empirical, statistical approximation, obtained based on up to three months of continuous experiment [2]. Thus, the surface may not be precisely known for control purposes. Other factors, such as changes in air density due to weather, variations in friction under different operating conditions, and measurement errors due to anemometer location, also contribute to the uncertainties. Indeed, a report from the National Renewable Energy Laboratory (NREL) [3], which describes the result of its longterm test on different controllers operating on real, MWlevel wind turbines, shows that the impact of these uncertainties on controller performance is significant and should be accounted for in controller design.
Another major challenge facing the development of such a highperformance controller is the fact that the mechanical and electrical parts of a modern wind turbine, which uses a Doubly Fed Induction Generator (DFIG), are tightly coupled. As will be detailed below, most studies have adopted a standard approach in the analysis and control of synchronous electric machines, in which the active and reactive powers are considered decoupled. With this approach, the active and reactive powers are adjusted via control of the mechanical and electrical parts, respectively, independent of each other. However, although a DFIG has some features of a synchronous machine, it is by nature an induction machine that exhibits strong electromechanical coupling among its rotor excitation current, rotor angular velocity, and electromagnetic torque. Hence, for performance reasons, the mechanical and electrical parts of a wind turbine with a DFIG should be considered synergistically in controller design.
The current literature offers a large collection of wind turbine controllers, including [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]. However, as was alluded to above, most of the existing publications considered the mechanical and electrical parts separately (e.g., [4, 8, 5, 6, 9, 7, 10, 11, 12, 13, 14] considered only the former, while [16, 18, 17, 15, 19, 20, 22, 23, 21] considered only the latter), and for a few of those (e.g., [24]) that considered both parts, its controller can only operate in the MPT mode, maximizing wind energy conversion, as opposed to both the MPT and PR modes. Moreover, although the existing work has provided valuable understanding in the control of wind turbines, only a few publications have addressed the issue of uncertainties. For example, [4, 5, 6] proposed adaptive frameworks for controlling the mechanical part of wind turbines, so that the power captured is maximized, despite not knowing the surface.
In our recent work [25], we developed a nonlinear controller that simultaneously enables control of the active power in both the MPT and PR modes, seamless switching between the two, and control of the reactive power so that a desirable power factor is maintained. These objectives were achieved by adjusting the rotor voltages of the electrical part and the blade pitch angle of the mechanical part, where the coupling between the two parts were taken into account in the controller design. Like most of the existing work, however, the controller in [25] assumed that the aerodynamic and mechanical parameters were known.
In this paper, we develop a controller that achieves such objectives and, at the same time, addresses the two aforementioned challenges, on uncertainties in the aerodynamic and mechanical parameters, and coupling between the mechanical and electrical parts. For the former, we show that the parametric uncertainties can be lumped into a scalar term, estimated via an uncertainty estimator in an inner loop, and circumvented in an outer, gradientbased minimization loop. For the latter, we show that the electromechanical coupling can be eliminated via feedback linearization on the electrical dynamics, following ideas from [25]. Finally, we demonstrate the effectiveness of the controller developed through simulation with a realistic wind profile from a wind farm in Oklahoma.
2 Modeling and Problem Formulation
Consider a variablespeed wind turbine with a Doubly Fed Induction Generator (DFIG). The wind turbine consists of an electrical part and a mechanical part, the dynamics of which may be modeled as follows:
The dynamics of the electrical part in the frame are described by a fourthorder state space model [26, 27]
(1) 
where , , , are state variables representing the stator and rotor fluxes, , are control variables representing the rotor voltages, , are the constant stator voltages (that are not simultaneously zero), is the constant angular velocity of the synchronously rotating reference frame, is the rotor angular velocity, , are the stator and rotor resistances, , , are the stator, rotor, and mutual inductances satisfying and , is the leakage coefficient, and , are constant matrices. In addition, the fluxes can be written as [27]
(2) 
where , , , are the stator and rotor currents, while and are introduced just for convenience. Furthermore, the active and reactive stator and rotor powers are given by [28]
(3)  
(4) 
and the total active and reactive powers of the turbine are
(5) 
where positive (negative) values of and mean that the turbine injects power into (draws power from) the grid.
The dynamics of the mechanical part are described by a firstorder state space model [26]
(6) 
where the rotor angular velocity is another state variable, is the moment of inertia, is the friction coefficient, is the mechanical torque, and is the electromagnetic torque given by [28]
(7) 
where positive (negative) value of means that the turbine acts as a generator (motor). The mechanical power captured by the wind turbine is [29]
(8) 
where is the air density, is the area swept by the rotor blades of radius , is the wind speed, and , commonly referred to as the surface, is the performance coefficient of the wind turbine, whose value is a function of the tip speed ratio , defined as
(9) 
and the blade pitch angle , which is another control variable.
In order for results of this paper to be applicable to a broad class of wind turbines, no specific expression of will be assumed. Instead, will only be assumed to satisfy the following mild conditions for the purpose of analysis:

Function is continuously differentiable in both and over and .

For each fixed , there exists such that for all , we have . This condition is also mild because turbines are designed to capture wind power over a wide range of , including times when is small.

There exist and such that for all and , we have .
As it follows from the above, the wind turbine is modeled as a fifthorder, electromechanicallycoupled, nonlinear system with state equations (1) and (6), output equations (3)–(5), state variables , , , , and , control variables , , and , output variables and , and exogenous “disturbance” . A block diagram of this system is shown on the righthand side of Figure 1, in which the electromechanical coupling can be seen.
Given the above model, the problem addressed in this paper is: design a feedback controller, so that the active and reactive powers and closely track some desired, possibly timevarying references and , assumed to be provided by a wind farm operator. When is larger than what the wind turbine is capable of generating, it means that the operator wants the turbine to operate in the Maximum Power Tracking (MPT) mode; otherwise, the Power Regulation (PR) mode is sought. By also providing , the operator indirectly specifies a desired power factor , around which the actual power factor should be regulated. The controller may use , , , and , which are all measurable, as feedback. The fluxes may also be viewed as feedback, since they are bijectively related to through (2). Moreover, the controller may use values of all the electrical parameters (i.e., , , , , , , , and ) and turbinegeometrydependent parameters (i.e., , , , , and ), since these values are typically quite accurately known. However, it may not use values of the surface, the air density , and the friction coefficient , since these values are inherently uncertain and can change over time. Furthermore, the controller should not rely on the wind speed , since it may not be accurately measured.
3 Controller Design
In this section, we address the aforementioned problem by developing a nonlinear controller consisting of four subcontrollers. Figure 1 shows the architecture of the nonlinear controller, where each block represents a subcontroller. Note that the controller accepts and as reference inputs, uses , , , and as feedback, and produces , , and as control inputs to the wind turbine. Moreover, the different gray levels of the blocks in Figure 1 represent our intended timescale separation in the closedloop dynamics: the darker a block, the slower its dynamics. The subcontrollers will be described in Sections 3.1–3.4. Note that Sections 3.1 and 3.2 up to the coordinate change are similar to our previous work [25], while the rest of the paper contains new, unpublished results.
3.1 Rotor Voltages Subcontroller
Observe that although the electrical dynamics (1) are nonlinear, they possess a nice structure: the first and second rows of (1) are affine, consisting of linear terms and the constants and , while the third and fourth are nonlinear, consisting of linear terms, the control variables and , and the nonlinearities and induced by the electromechanical coupling. Since the nonlinearities enter the dynamics the same way the control variables and do, we may use feedback linearization [30] to cancel them and perform pole placement [31], i.e., let
(10)  
(11) 
where and are intended to cancel the nonlinearities, and with are for pole placement, and and are new control variables to be designed in Section 3.2.
Substituting (10) and (11) into (1), we get
(12) 
where is the state feedback gain matrix. Since the electrical dynamics are physically allowed to be much faster than the mechanicals, we may choose in (12) to be such that is asymptotically stable with very fast eigenvalues. With chosen as such and with relatively slowvarying and , the linear differential equation (12) may be approximated by a linear algebraic equation:
(13) 
Consequently, the fifthorder state equations (1) and (6) may be approximated by the firstorder state equation (6) along with algebraic relationships (10), (11), and (13). This approximation will be made in all subsequent development (but not in simulation).
3.2 Electromagnetic Torque Subcontroller with Uncertainty Estimation
Having addressed the electrical dynamics, we now consider the mechanicals, where the goal is to construct a subcontroller, which makes the rotor angular velocity track a desired, slowvarying reference , despite not knowing the aerodynamic and mechanical parameters listed at the end of Section 2.
To come up with such a subcontroller, we first introduce a coordinate change. As was shown in our previous work [25], because of (2), (7), and (13), the electromagnetic torque may be expressed as a quadratic function of the new control variables and , i.e.,
(14) 
where , , , , , and depend on the electrical parameters and the state feedback gain matrix . Moreover, as was shown in [25], this quadratic function is always convex because its associated Hessian matrix is always positive definite. Since the mechanical dynamics (6), in , are driven by , while in (14) is a quadratic function of and , the two new control variables and collectively affect one state variable . This implies that there is a redundancy in and , which may be exploited elsewhere. Since the quadratic function is always convex, this redundancy may be exposed via the following coordinate change [25], which transforms in a Cartesian coordinate system into and in a polar coordinate system:
(15) 
where
(16) 
denotes the fourquadrant arctangent function, and and contain the eigenvectors and eigenvalues of on their columns and diagonal, respectively, i.e., . In the polar coordinates, it follows from (14)–(16) that
(17) 
where is always negative. From (6) and (17), we see that in the polar coordinates, is responsible for driving the mechanical dynamics in and, hence, may be viewed as an equivalent electromagnetic torque, differed from only by a constant . On the other hand, the polar angle has no impact on the mechanical dynamics and, thus, represents the redundancy that will be exploited later, in Section 3.3.
Having introduced the coordinate change, we next show that the unknown aerodynamic and mechanical parameters, listed at the end of Section 2, can be lumped into a scalar term, simplifying the problem. Combining (6), (8), (9), and (17),
(18) 
Notice that the unknown parameters—namely, the surface, the air density , the friction coefficient , and the wind speed —all appear in (18). Moreover, these unknown parameters can be separated from the “control input” and lumped into a scalar function , defined as
(19) 
With in (19) representing the aggregated uncertainties, the firstorder dynamics (18) are simplified to
(20) 
To design a controller for , which allows the rotor angular velocity to track a desired, slowvarying reference despite the unknown scalar function , consider a firstorder nonlinear system
(21) 
where is the state, is the input, and is a known function of . Obviously, to drive to some desired value , we may apply feedback linearization [30] to cancel and insert linear dynamics, i.e., let
(22) 
where is the controller gain. Combining (21) with (22) yields the closedloop dynamics
(23) 
Thus, if is positive, in (23) asymptotically goes to .
Now suppose in (21) is unknown but a constant, denoted simply as (we will relax the assumption that it is a constant shortly). With being unknown, the controller (22) is no longer applicable. To overcome this limitation, we may first introduce a reducedorder estimator [32], which calculates an estimate of , and then replace in (22) by the estimate :
(24)  
(25)  
(26) 
where is the estimator state and is the estimator gain. Defining the estimation error as and combining (21) with (24)–(26) yield closedloop dynamics
(27)  
(28) 
Hence, by letting both and be positive, both and in (27) and (28) asymptotically go to and , respectively.
Next, suppose both the state and the desired value must be positive, instead of being anywhere in . With this restriction, the controller with uncertainy estimation (24)–(26) needs to be modified, because for some initial conditions, it is possible that can become nonpositive. One way to modify the controller is to replace the linear term in (26) by a logarithmic one , resulting in
(29) 
With (24), (25), and (29), the closedloop dynamics become
(30)  
(31) 
Note from (31) that for any , there exists positive , sufficiently small, such that is positive. Therefore, for any initial condition with positive , will remain positive, suggesting that the modification (29) satisfies the restriction.
Now suppose the input must be nonpositive. With this additional restriction, (29) needs to be further modified. One way to do so is to force the righthand side of (29) to be nonpositive, leading to
(32) 
Clearly, with (32), is always nonpositive.
Finally, suppose is an unknown function of , denoted as . With this relaxation, we may associate the firstorder nonlinear system (21) with the firstorder dynamics (20) by viewing as , as , as , as (treating and as constants), and as (i.e., is an estimate of ). Based on this association, (24), (25), and (32) can be written as
(33)  
(34)  
(35) 
Having derived the controller with uncertainty estimation (33)–(35), we now analyze its behavior. To do so, some setup is needed: first, suppose , , and are constants. Second, as was shown in [25], because of Assumptions (A1)–(A3) in Section 2, there exists such that and for all . Third, using (9), (19), and Assumptions (A1) and (A4), it is straightforward to show that there exist and such that for all . Finally, with (20) and (33)–(35) and with as state variables (instead of ), the closedloop dynamics can be expressed as
(36)  
(37) 
The following theorem characterizes the stability properties of the closedloop system (36) and (37):
Theorem 1
Consider the closedloop system (36) and (37). Suppose , , and are constants with , where , along with and , is as defined above. Let . If the controller gain is positive and the estimator gain is sufficiently large, i.e.,
(38) 
then: (i) the system has a unique equilibrium point at in ; (ii) the set is a positively invariant set, i.e., if , then ; and (iii) the equilibrium point is locally asymptotically stable with a domain of attraction .
See the Appendix.
Theorem 1 says that, by using the electromagnetic torque subcontroller with uncertainty estimation (33)–(35), if the gains and are positive and sufficiently large and if the desired reference does not exceed , then the rotor angular velocity asymptotically converges to if , , and are constants and closely tracks if they are slowvarying. Notice that the gains and can be chosen independently of each other. Also, the condition “” is practically always satisfied, as is extremely large [25].
3.3 Polar Angle and Desired Rotor Angular Velocity Subcontroller
Up to this point in the paper, we have yet to specify how , , and are determined. To do so, we first introduce a scalar performance measure and express this measure as a function of , , and . We then present a method for choosing these variables, which optimizes the measure.
Recall that the ultimate goal is to make the active and reactive powers and track some desired references and as closely as possible. Hence, it is useful to introduce a scalar performance measure, which characterizes how far and are from and . One such measure, denoted as , is given by
(39) 
where , , and are design parameters satisfying and , so that is a positive definite matrix. With these design parameters, one may specify how the differences and and their product are penalized. Moreover, with in (39) being a quadratic, positive definite function of and , the smaller is, the better the ultimate goal is achieved.
Having defined the performance measure via (39), we next establish the following statement: if the subcontrollers in Sections 3.1 and 3.2 are used with chosen so that has very fast eigenvalues, chosen to be positive, and chosen to satisfy (38), and if , , , , , and are all constants, then after a short transient, may be expressed as a known function of , , , , and , while , in turn, may be expressed as an unknown function of , , and , i.e.,
(40)  
(41) 
as shown in Figure 2. To establish this statement, suppose the hypothesis is true. Then, after a short transient, it follows from (39) that is a known function of , , , and ; from (2), (3)–(5), (10), and (11) that and are known functions of , , , and ; from (13) that is a known function of and ; from (15) and (16) that and are known functions of and ; and from Theorem 1 that . Thus, (40) holds with being known. On the other hand, it follows from (35) and Theorem 1 that Hence, (41) holds with being unknown.
Equations (40) and (41), which are represented in Figure 2, suggest that is a function of the tobedetermined variables , , and as well as the exogenous variables , , and . Given that the smaller is the better, these tobedetermined variables may be chosen to minimize . However, such minimization is difficult to carry out because although and are known, is not. To make matter worse, since is known but is not, the objective function is not entirely known. Somewhat fortunately, as was shown in Figure 2, affects only through and not . Therefore, may be chosen to minimize for any given , , , and , i.e.,
(42) 
which is implementable since , , , and are all known. With chosen as in (42), the minimization problem reduces from a threedimensional problem to a twodimensional one, depending only on and . Since the objective function upon absorbing is unknown and since may change quickly, instead of minimizing with respect to both and —which may take a long time—we decide to sacrifice freedom for speed, minimizing only with respect to and updating in a relatively slower fashion, which will be described in Section 3.4.
The minimization of with respect to is carried out based on a gradientlike approach as shown in Figure 3. To explain the rationale behind this approach, suppose , , , and are constants. Then, according to (40)–(42), is an unknown function of . Because this function is not known, its gradient at any cannot be evaluated. To alleviate this issue, we evaluate at two nearby ’s, use the two evaluated ’s to obtain an estimate of the gradient , and move along the direction where decreases, by an amount which depends on the gradient estimate. This idea is illustrated in Figure 3 and described precisely as follows: the desired rotor angular velocity is set to an initial value at time and held constant until , where should be sufficiently large so that both the electrical and mechanical dynamics have a chance to reach steadystate, but not too large which causes the minimization to be too slow. From time to , the average of , i.e., , is recorded as the first value needed to obtain a gradient estimate. Similar to , should be large enough so that small fluctuations in (induced perhaps by a noisy ) are averaged out, but not too large which causes transient in the dynamics to be included. The variable is then changed gradually in an Sshape manner from at time to a nearby at , where is an initial stepsize, and should be sufficiently large but not overly so, so that the transition in is smooth and yet not too slow. The variable is then held constant until , and the average of from to , i.e., , is recorded as the second value needed to obtain the gradient estimate. At time , the two recorded values are used to form the gradient estimate, which is in turn used to decide a new stepsize through
(43) 
where and are design parameters that define the new stepsize , and denotes the standard saturation function that limits to . Upon deciding , is again changed in an Sshape manner from at to at , in a way similar to the time interval . The process then repeats with the second recorded value from the previous cycle becoming the first recorded value for the next cycle , and so on. Therefore, with this gradientlike approach, is guaranteed to approach a local minimum when , , , and are constants, and track a local minimum when they are slowvarying.
3.4 Blade Pitch Angle Subcontroller
As was mentioned, in order to speed up the minimization, we have decided to minimize only with respect to , leaving the blade pitch angle as the remaining undetermined variable. Given that an active power that is larger than the rated value of the turbine may cause damage, we decide to use to prevent from exceeding , thereby protecting the turbine. Specifically, we let be updated according to
(44) 
where is a design parameter that dictates the rate at which changes. Note that with (44), is guaranteed to lie between and . Moreover, when is above (below) , increases (decreases) if possible, in order to try to capture less (more) wind power, which leads to a smaller (larger) .
Remark 1
The blade pitch angle subcontroller may be designed based on other considerations. For example, if the forecast of, say, the hourlyaverage wind speed is available, for blade protection may be chosen as for some nondecreasing function .
4 Simulation Results
To demonstrate the capability and effectiveness of the proposed controller, simulation has been carried out in MATLAB. To describe the simulation settings and results, both the perunit and physical unit systems will be used interchangeably.
The simulation settings are as follows: we consider a , , wind turbine that is essentially adopted from the Distributed Resources Library in MATLAB/Simulink R2007a. The values of the wind turbine parameters are: , , , , , , , , , , , , , and . The surface adopted by MATLAB, which is taken from [33], is , where , , , , , , and . The mechanical power captured by the wind turbine is , where , is the nominal mechanical power, is the maximum power at the base wind speed,