Give away medical masks when you place an order. learn more

Pitch Control for More Efficient Wind Turbine Operation

Wind power has become increasingly popular for utility-scale applications in areas where this natural and renewable resource is readily available. Like most elements of the weather and climate, wind speed is variable and quite unpredictable from the viewpoint of the power engineer. Consequently, wind turbines must be designed not only to withstand the full range of nature’s power, but also to efficiently harvest energy over the widest possible range of inputs. The following formula tells you how much energy is in the wind (not how much you can extract):

Available Wind power (Watts) = 1/2 * Da * A * V³


Da = air density= 1.23 (1 cubic meter of air weighs 1.23 kg at sea level)

A = swept area of the wind turbine in square meters. For a wind turbine with a blade diameter of 3 m –approximately 10 ft.– swept area will be about 80 sq. ft.

V = velocity (wind speed). Notice V is cubed. This means if you double wind speed you have 8 times the energy. A wind turbine designed to produce power in a 10 mph wind will have to handle 8 times that much energy in a 20 mph wind.

Modern horizontal axis turbines are the most common configuration for wind harvesting. A key feature in virtually all large turbines is the ability to control the pitch of the blades. By controlling blade pitch, the windmill can produce useful electricity over a larger range of wind speeds and can be prevented from exceeding rated shaft speed for high winds (again, because of the V3 effect of increasing wind speed just discussed). As a result, of all the wind power opportunities for sensing and system control employing microcontrollers the most basic and critical of these is rotor speed of the variable pitch blades.

Looking at the installation from time zero (initial start), we can think of the ultimate goal as smoothly ramping up the generator shaft speed to the rated rpm. The generally accepted approach is to subdivide the operational zones of the windmill into four regions. Region 1 is wind that is insufficient to operate the windmill. The onset of operation, or cut-in speed, defines the bottom of Region 2. Full rated speed and power of the turbine define the lower edge of Region 3. Unsafe winds requiring safety cut-outs occupy the upper boundary of Region 3.

Considering that the control system must bring the blades into rotation in Region 2 and maintain rated specifications throughout Region 3, it might be obvious that system demands are fairly high. The power curve changes rapidly since, as noted, wind energy depends upon the cube of wind speed. The controller also needs to address fluctuations in wind speed, which could be severe, throughout the operational range covering Regions 2 and 3.

System data

Before providing inputs, the pitch control system requires data. There are two options. Wind speed can be acquired independently of the power turbine with anemometers located on or near the windmill. These devices are typically used to determine whether wind speed is sufficient to start the turbine. This type of supervisory control could also be centralized for the cluster or wind farm. Once the turbine is online (Region 2 and 3), most designs use shaft speed as a control input since it can also be used as the system set point.

Open-loop control is one option for setting windmill blade pitch. However, it is not the best approach since it is likely to lead to rotor instability that could create unsafe mechanical strain. Closed-loop control is preferred and is the most common approach in the wind power industry. The Proportional-Integral-Derivative (PID) controller (Figure 1) is the industry standard for industrial control systems. It offers a balance of simplicity and performance. The PID controller calculates an "error" value as the difference between a measured process variable and a desired set point. The controller attempts to minimize the error by adjusting the process control inputs.

Figure 1: Closed-loop system with PID controller. (Courtesy of Atmel.)

The PID control algorithm allows the system to respond based on the history and rate of change of the measured signal, which leads to an accurate and stable system. For systems like pitch control and motor control, it is common for the derivative term (D) to be left out since it is susceptible to noise. This leaves us with a PI controller.

As a starting point for developing a PI controller, Atmel offers full documentation and a working implementation for a discrete PID controller (for example the AVR221) in C.¹ The AVR221 code works for any Atmel AVR device, from an 8 to 32-bit microcontroller. In operation, the PID controller takes the measured input, shaft speed in this example, and subtracts it from the desired value to provide an error value. The algorithm (Figure 2) handles the present error through a proportional term, the past values through the integer term, and anticipates future values with the derivative term. As stated previously, motor and generator control systems typically opt to eliminate the predictive capability by setting the derivative coefficient to zero.

Figure 2: PID controller schematic. (Courtesy of Atmel.)

Initial parameters are usually derived from system modeling. To optimize controller response, the system is usually then tuned in an environment mimicking the final operational conditions as closely as possible. As for the PI algorithm itself, the main consideration should be to avoid system instability. For pitch control, the system designer should add saturation correction to the integral term. In the discrete controller code, this can be done by setting the MAX_I_TERM. The correct value will depend on actual wind turbine system parameters and can be estimated with simulation and verified during prototype testing.

Although the example control system is at the operational control level, the flexibility of the discrete PID controller means that similar capabilities can be deployed at the subsystem level for any low-level controller measuring vibration, gearbox temperature, or wind speed and reporting values to the supervisory level of electronics. With Atmel MCUs offered down to the smallest 6-pin TinyAVR device such as the 8-bit ATTINY10-TSHR, stable control is possible throughout the turbine for even the most mundane tasks.

Tuning the PI controller parameters is best approached with an operational or wind tunnel model of the turbine. Code changes do not require removal of the MCU from the controller board to flash the memory, but instead use a universal programmer. Atmel allows designers to modify microcode during prototyping to develop the most accurate and robust control system. To simplify downloading code during testing, Atmel offers the ATAVRISP2 complete in-system programmer (Figure 3).

Figure 3: Atmel ATAVRISP2 AVR in-system programming system. (Courtesy of Atmel.)


As demand for clean power generation to meet the world’s growing energy need increases, wind power is an attractive alternative (or supplement) to solar energy and other energy harvesting systems. Small microcontrollers with simple and robust control algorithms allow wind turbine designers to create efficient energy-harvesting systems. These same algorithms are versatile enough to control even the most basic and critical function of blade pitch adjustment for turbine speed control. Pitch angle control is the most common means to control the aerodynamic power generated by the wind turbine rotor. Pitch angle control also has an effect on the aerodynamic loads that may be controlled by a PI controller to achieve lower torque peak as well as lower fatigue loads. This article has discussed a suitable microcontroller device, control algorithm, and programming tools for use in wind turbine designs. More information on the products mentioned here can be obtained by using the links provided to access product information pages on the Hotenda website.

  1. Atmel AVR221 App Note