On the design of a cup anemometer performance simulator. From the wind speed to the output data.

This paper describes some important aspects of the development of a cup anemometer performance simulator. This tool aims to simulate the different phenomena which affect the different subsystems of the anemometer, in order to develop different strategies to improve the accuracy of the data obtained through post-processing or design changes. Bearing in mind that the cup anemometer is the most widely used wind speed sensor in the wind energy sector (to control wind generators and to analyse the future economic revenue of wind farms in certain locations), the relevance of the present study should be highlighted. The software is designed in Simulink® and is divided in 4 modules representing the different subsystems of an anemometer from the actual wind speed to the output data. The first two modules of the simulator are detailed in this paper, which consist of the Rotation Rate Module and the Pulse Generating Module. The first module outputs the anemometer’s rotor angular position with time, which depends on the wind speed of the anemometer. Oscillations of the rotation rate caused by steady state harmonic accelerations are taken into account. The Pulse Generating Module simulates the optoelectronic system of the anemometer and creates the pulse train signal based on the rotor’s angular position, taking into account the manufacturing and eccentricity errors of the system. The architecture of the modules is detailed, and related with the phenomena which is intended to simulate.


Introduction
The present paper describes some aspects of the ongoing development process of a cup anemometer simulator.Cup anemometers are still nowadays one of the most popular sensors in the wind sector due to their reliability, accuracy and low calibration costs [1,2].This work has the aim to ease the research about techniques to improve the performance of this instrument.The necessity of improving the performance of cup anemometers is caused by the relevance that that the measurements of this instrument have in many fields, and especially in the wind energy sector [3,4].The sector has seen a notable growth during the last decades, making measurements of the wind speed of vital importance for the planning and operation phases of wind farms [5].It can be said that small improvements in the precision and accuracy of the wind speed measurements can lead to non-negligible improvements on the annual energy production of the wind farms [6].In addition, anemometers are expected to maintain a stable performance during long periods of time and in a wide range of weather conditions.Despite much research on the instrument was done on the XIX and XX centuries, there are still areas such as the dynamic analysis of the rotor forces [7][8][9], the Fourier decomposition based analysis of the output signal [1,10,11], the overspeeding assessment [12][13][14][15][16][17][18] and the output signal filtering based in the anemometer's signature [19], in which research is ongoing.According to the aforementioned areas of interest, it seems reasonable to works towards the development of a cup anemometer simulator becomes important in order to assess the effects different phenomena or combination of them would have in the overall performance of the instrument.This simulator is currently under development, and in this paper the first two modules developed are presented.

Design of the anemometer simulator
The anemometer performance simulator is divided in 4 modules and coded in Simulink.Each one of these modules represents a different system.A schematic design of the 4 different modules can be found in Figure 1.The rotation rate module aims to represent the interaction of the wind with the anemometer, resulting in a rotation speed and offering as output the position of the rotor.The pulse generator module represents the optoelectronic system of the anemometer which converts the rotation rate in a pulse train signal.For this, the angular position of the anemometer is taken as an input and converted into the pulse signal.The sampling module aims to simulate the sampling process of the pulse signal to represent the times of the state changes.Finally, the filtering or post-processing module simulates the process of reconstructing the rotation rate with the data obtained from the sampling process.The simulator is being designed to be scalable dividing the different subsystems to ease the addition of new features.At present, two of the modules (the rotation rate module and the pulse generator module) have been developed.A sketch of the Simulink coding of the modules can be found in Figure 2.

The rotation rate module
The rotation rate module simulates the evolution of the angular position of the anemometer's rotor when exposed to the wind flow.From the literature [6] it is known that the mean rotation rate of the anemometer is linearly related with the wind speed.For this reason, the wind speed is calculated from the anemometer output signal with the following equation: (1) where V is the wind speed; f the output pulse signal frequency and A and B stand for the calibration coefficients of the anemometer.From Equation (1), the mean rotation rate, ω0, is obtained: where ω0 is expressed in rad/s and Np is the number of pulses per turn of the anemometer.However, the rotation rate of the anemometer is not constant as steady state harmonic accelerations of the rotor occur.These accelerations, when considering a constant wind speed V and a mean rotation rate ω0, can be decomposed via Fourier analysis.Taking into account research analysis performed at the Instituto Universitario de Microgravedad "Ignacio Da Riva" (IDR/UPM) [19], the 1 st , 3 rd and 6 th harmonic terms of the Fourier decomposition of the rotation rate ω can be considered the main ones, with the rest negligible.Considering the variations on the mean rotation rate ω0 in a time period tp: where: ) An being the non-dimensional harmonic term.As it can be observed in Figure 3, the module has been divided in 3 phases.The first one consists in a Matlab ® function that converts the windspeed V to the mean rotation rate ω0 using Equation ( 2).The second phase consists of another function which applies Equations ( 3) and ( 4) to obtain the rotation rate.Finally, an integrator converts the rotation rate of the rotor to an angular position.The module takes as input the wind speed signal V, the constants A and B of the anemometer and the number of pulses of the optoelectronic system.This is done to ease the data obtention as A and B are obtained from the anemometer datasheet or from the calibration processes [6].The pulse per turn number is also obtained from the anemometer's datasheet.Regarding the harmonic terms A1, A3 and A6, together with their phase shifts φ1, φ3 and φ6, they are considered as constants and can be obtained from experimental data.For simplification, the phase shift of the third harmonic term (the greatest one from the literature) is considered as a reference and, thus, its value is always 0. Using the data obtained in [19], an initial set of values is obtained, which can be found in Table 1.As it can be deducted, in this first approach the harmonic terms are considered as constant.However, data historical data from anemometers working on the field suggest dependance on different factors such as the wind speed, air density and wear and tear.For this purpose, specific research is being carried out at present to analyze the historical data to develop a prediction model to be able to improve the simulations in this way.The aim is to generate a function which, based on different variables such as temperature, air pressure, moisture, anemometer model and service time predicts the values of the harmonic terms and their phase shifts.As mentioned above, the simulator has been designed to ease the scalability, and the programming has taken into account the development of the mentioned function, which will substitute the constant blocks which are actually in place.

The Pulse Generation Module
The pulse generating module simulates the optoelectronic system which converts the rotation rate of the rotor into a pulse train signal.On first class anemometers this is normally done by means of a cogwheel and a laser sensor.The optoelectronic system outputs an electrical signal based on the angular position of the anemometer Depending on the angle, the cogwheel obstructs or allows the light to pass to the sensor, which generates the boolean signal.There are different possible architectures of the optoelectronic system.However, the principle remains the same for the most part of them.In order to properly simulate the system, a set of two arrays is used.These arrays represent the angles at which the signal rises and falls, respectively.These two arrays, together with the angular position and the output voltage are taken as input of a Matlab ® function which outputs the pulse train signal (see Figure 4).The function evaluates if the angular position is between a rising and falling value (light passes the cogwheel) or if it is between a falling and rising value (light is obstructed and the output signal equals 0).These arrays are intended to represent the manufacturing errors of the cogwheel.In addition to the function described above, a function simulating the eccentricity of the cogwheel is introduced.This eccentricity function is based on the optoelectronic system of the anemometer Climatronics 10075 [2,11].This model of cup anemometer has an optoelectronic device in which the cogwheel is a plane with its holes defined by angles related to the center of the cogwheel (see Figure 5), and it is similar than the one present in other first class cup anemometers such as the Vector Instruments A100 LK.Nevertheless, it has to be also mentioned that this is not the only design, as cup anemometers such Thies First Class Advanced present other cogwheel design [20].
When introducing the eccentricity error (when a certain distance exists between the geometrical center of the cogwheel and the rotation center), the aim is to evaluate the variation in the rotor's angles at which the rising and falling of the output signal occur.For this, a geometrical problem is solved (see Figure 6)This problem assumes two steady points: the rotation center O and the optic measurement point L. The cogwheel center O' moves following a circular trajectory with the rotor's rotation speed and does also rotate at the rotor's rotation rate ω.The rotation angle at each instant is defined by θ.Taking into account the geometry of the evaluated cogwheel, it can be assumed that the variable to evaluate whether the optoelectrical system offers a HIGH or LOW value is the angle between the reference line of the cogwheel and the line joining the cogwheel center O' and the optic measurement point L.This angle can be defined as the sum of the rotation angle θ and the eccentricity error angle β.Taking the above into account, the geometrical problem is solved to obtain the angle β, where: In the equation above, d can be considered a constant value, whereas l' is a value which varies with the angle of the rotor, as the distance from the center of the cogwheel to the optical device varies due to the eccentricity: Equation ( 8) describes the equivalent angular position of the cogwheel as a function of the angular position of the rotor θ, the eccentricity distance d, and the distance from the rotation center to the optical sensor l, correcting the angular position of the rotor to fit the cogwheel geometry data.As it can be seen, the eccentricity introduces a purely sinusoidal term in the rotation rate, affecting the first harmonic term.It is important to point out that the proposed function is only valid for the type of cogwheel mentioned above, which has its holes entirely dependent on the angle to the center of the cogwheel.Other types of solutions for the optoelectronic device are to be implemented in the future.Figure 4 represents the design of the Pulse Generating Module.The module first calculates the angular deviation caused by the eccentricity of the cogwheel, with a function that outputs β.Then β is added to θ to form θ'. Finally, θ' is evaluated with two arrays ('up' and 'down') which are stored in an output .matfile.These arrays represent the angles corresponding to the signal rising and falling points.If the angle θ' is found to be part of one of the cogwheel's holes, the output signal value is offered as output.
If not, the output signal equals 0. The module offers as an output the output pulse train signal of the optoelectronic system, together with the angle θ' and its equivalent rotation rate ω', obtained from the eccentricity function.

Results and discussion
The result of the design explained above is a partial simulator which simulates the output of the anemometer considering the following factors: 1) Wind speed; 2) Second order variations of the rotor rotation rate; 3) Manufacturing tolerances of the optoelectronic system; and 4) The eccentricity of the cogwheel.It should be noted that different anemometers may not only have different parameters, but also may have different architectures which may be incompatible with the functions developed.
Nevertheless, the different typologies available are limited and the problem can be solved with different functions for each type and the use of a selector.Results are plotted in a scope for analysis.An example of the output data can be found in Figure 7.
In the figure a 37-pulse per turn anemometer (Thies First Class Advanced) is simulated when exposed to a 5 m/s windspeed.As it can be seen, the pulse train output is generated taking into account the errors mentioned above.One of the main advantages of this simulator is its versatility, assessing different type of variables is very intuitive.In addition, different tests can be easily carried out and optimization problems can be created with minor changes to the program, considering the anemometer as a system.It is also fair to say that this simulator has some limitations, as it is not able to characterize any phenomenon which is not previously coded.However, the structure of the Simulink GUI enables to easily add new types of variations to the simulator and to quickly evaluate their effect on the performance of the anemometer as a whole system or on a specific part, as signals treated as lines are very easily to manage and include in the plot.In this way, it can be considered a versatile tool to evaluate theoretical and empirical models and to research on methods to better postprocess the data.

Conclusion
A cup anemometer simulator's initial architecture has been successfully developed.The program simulates the different processes that occur on a cup anemometer from the wind speed which makes the rotor to turn to the output pulse train.The following deviation sources have been implemented: 1) The rotation rate deviation based on the Fourier series harmonic terms caused by the steady state harmonic accelerations of the rotor; 2) The cogwheel manufacturing errors; 3) The eccentricity of the cogwheel geometrical center.
The simulator with the calibration data calculates the mean rotation rate and adds the deviation of the harmonic accelerations of the rotor.Then, the eccentricity of the cogwheel is assessed to obtain the angle of the cogwheel being evaluated.Finally, the manufacturing errors are assessed through a set of arrays determining the angles of which delimit the hollows of the cogwheel.The result is the pulse train generated by the anemometer.The simulator allows to evaluate simultaneously both the inputs and the different phases of the signal (rotation rate of the rotor, rotation rate of the cogwheel…).
Finally, this simulator is aimed to be a useful tool to help on the analysis of the models and solutions proposed by the cup anemometer performance research.

Figure 1 .
Figure 1.Schematic design of the actual state of the simulator.

Figure 2 .
Figure 2. Matlab ®-Simulink ® design of the Rotation Speed and the Electric Signal modules of the simulator.

Figure 5 .
Figure 5. Detail on the cogwheel type evaluated.

Figure 6 .
Figure 6.Geometrical sketch to assess the problem of the eccentricity of the cogwheel.

Figure 7 .
Figure 7. Graphic showing the outputs ω and θ of the rotation rate module and the output signal (in volts) of the pulse generating module.The harmonic terms caused by aerodynamics are introduced in ω and θ and the correction from the eccentricity of the rotor is introduced in ω' and θ'.

Table 1
Harmonic term values set as default.