A Sensorless Wind Speed and Rotor Position Control of PMSG in Wind Power Generation Systems

: Currently, among the topologies of wind energy conversion systems, those based on full power converters are growing. The permanent magnet synchronous generator (PMSG) uses full power converter to allow wide speed ranges to extract the maximum power from the wind. In order to obtain e ﬃ cient vector control in a synchronous generator with permanent magnets, it is necessary to know the position of the rotor. The PMSGs work over a wide range of speed, and it is mandatory to measure or estimate their speed and position. Usually, the position of the rotor is obtained through Resolver or Encoder. However, the presence of these sensor elements increases the cost, in addition to reducing the system’s reliability. Moreover, in high wind power turbine, the measured wind speed by the anemometer is taken at the level of the blades which makes the measurement of the wind speed at a single point inaccurate. This paper is a study on the sensorless control that removes the rotor position, speed sensors and anemometer from the speed control. The estimation of the rotor position is based on the output of a rotor current controller and the wind speed estimator is based on the opposition-based learning (OBL), particle swarm optimization and support vector regression.


Introduction
In the current global situation, promoting sustainability is no longer a challenge and has become a necessity for the socio-environmental balance of the planet. In the last few decades, unprecedented changes have been noticed in the consumption of energy resources and in the generation of energy. These can be highlighted, as the main causes, the growth of the renewable energy market coupled with the increase in installed capacity, the growth in the use of new resources and the improvements and evolutions of technologies. In 2005, the main source of energy consumed in the world was oil and represented approximately 35.96% of the primary matrix. In 2018, that number dropped to 33.1%. Although oil is the main source used worldwide, there is an increase in the participation of other sources. Wind energy stands out, which went from a simple 0.22% to 9% of world generation in the same period [1]. points of a given function. This method is based on disturbing a control parameter with a small step and observing the resulting changes in the target function. This disturbance and observation sequence is carried out until the difference between the value of two consecutive sequences is zero. If the operating point is on the left side of the maximum power point (MPP), the control algorithm must move the operating point to the right side, so that it is closer to the MPP and, vice versa, if the operating point is on the right side of the MPP [15].
The adaptive control methods, such as neural network, are also used, which usually estimate some parameters, in association with other MPPT search methods. The artificial neural networks are made up of artificial neurons that are programmed to simulate the functioning of the human neuron. They are usually composed of three layers: input, hidden layer and output layer, however, there are cases of two or a single layer composing the network. The hidden layers can contain a diverse number of neurons interconnected by synoptic weights, which are responsible for the degree of network performance [16]. The network training process consists of adjusting the synaptic weights to such an extent that the network acquires the ability to generalize its actions, thus being able to make decisions, separate standards, etc. The input variables for a neural network used in MPPT control of wind systems can be: wind speed, rotor speed, and terminal voltage. The output variable is normally used as a reference signal, such as wind speed, rotor speed, and switching cycle for the converter [17]. Support Vector Regression (SVR) algorithm has been used in several studies to estimate the wind speed from the power speed characteristics. SVR method has more advantages over Artificial Neural Network (ANN) which may be stuck in one of a local minima, while the solution to SVR is global and unique [16][17][18][19][20]. However, the performance of SVR algorithm, when its parameters are fixed, deteriorated when the wind speed varies continuously and over a wide range. Therefore, optimized SVR parameters improve the wind speed estimation over a wide range with high accuracy.
Updating and optimizing the SVR parameters can be achieved by adding an optimization technique such as Genetic algorithm (GA) and Particle Swarm Optimization (PSO). The latter algorithm shows high-optimization capability, fast convergence, and simplicity over the other optimization techniques. By using the PSO algorithm to tune the SVR parameters, the PSO population is generated randomly which produces inaccurate results when it is used alone to optimize the SVR parameters. As a result, the opposition-based learning (OBL) method can be used to solve the inaccuracy and randomness of the PSO. Modifying the population of PSO using OBL, namely OPSO, can optimize the SVR parameters at different conditions and obtain knowledge about the corresponding global optimum parameters.
If the PMSG is to be controlled without a position sensor, the generator rotor angle and speed control necessary information for torque control should be estimated from equations based on the basic model of the generator. At this time, as equations for the basic model of the electric generator, the voltage equation related to the electric system and the mechanical equation related to the mechanical system are mainly used. In conventional sensorless techniques, the focus is on the more accurate estimation of magnetic flux in obtaining information from voltage equations. As a technique of estimating speed and integrating it again to obtain information about the rotor angle, a method using a state estimator is most common [21].
So far, several extensive researches have been applied to improve the rotor position sensorless control. The main approaches can be categorized into three major types: (1) Magnetic flux detection technique by integration of voltage; (2) Techniques using state estimators; (3) Control method using Kalman filter.
In this study, a PMSG wind power conversion system based on a sensorless control is proposed. The PMSG rotor position and the rotational speed are estimated based on the feedback voltage using output of the generator q-axis current controller. The estimation of the wind speed is achieved by using the Opposition Particle Swarm Optimization-Support Vector Regression (OPSO-SVR)algorithm that is based on the sampling data of generator power, speed and SVR parameters. The SVR parameters are calculated from the training process and optimized by the OPSO. The parameters that are obtained from OPSO-SVR are used in the next step until the estimation process is done. The novelty of the proposed sensorless control lies with the fact that the PMSG drive is using estimated wind speed and estimated rotational speed in tracking the MPPT instead of the traditional speed measurement. Estimation of wind speed and rotational speed reduce the system cost especially in small systems. Experimental results show good current control results in the starting acceleration section, and good sensorless speed control performance can be verified at very low rotating speed.
The rest of the paper is organized as follows. In Section 2, the modeling of the wind turbine, PMSG, the rotor speed estimation algorithm, the control of the machine side converter and grid side converter are presented. Then, the estimation of the wind speed by using SVR-PSO is discussed in Section 3. Lastly, the experimental results are presented in Section 4 to validate the performance of the proposed algorithm.

System Description
The overall structure of the wind turbine system consists of a wind turbine simulator, PMSG, a back-to-back converter, and the system controller as shown in Figure 1. The PMSG stator is connected to the Machine Side Converter (MSC) while the grid is connected to the Grid Side Converter (GSC). The MSC can control the active power by controlling the generator speed to the value ω * r which allow the generator to extract the maximum power from the wind. The generator flux level is adjusted to optimize the generator loss by the generator d-axis current i * ds . The GSC regulates the DC-link voltage to the reference value V * dc and the reactive power Q * g supplied to the grid. The generator modeling and control is discussed in the following sections.

Wind Turbine Modeling
The aerodynamic model of the wind turbine used in this work is proposed by [22]. The mechanical torque available in the turbine is given as follows: Where ρ is air density, R is blade radius, υ is wind speed, Cp is power coefficient, β is pitch angle, and λ is the Tip speed ratio. The relationship between λ and Cp according to pitch angle β is shown in Figure 2. The mechanical power captured by wind turbines from the wind is expressed as where ω r is the rotor electrical angular speed. The dynamics of the wind turbine's rotational speed ω r are modeled by the mechanical torque T m , the electromagnetic torque T e , the viscous friction coefficient B m , and the equivalent inertia J eq combined with the wind turbine and generator's inertia as follows [23]:

PMSG Modeling and Control
In a rotating d-q reference frame, the stator voltage and current vectors can be expressed in the synchronous reference frame as follows [24][25][26][27][28]: where v r ds and v r qs are the stator d-q synchronous reference frame voltages, and i r ds and i r qs are the stator d-q synchronous reference frame currents. R s is the stator winding resistance, ω r is the rotor electrical angular speed, L s is the equivalent stator inductance, and p is the differential operator d/dt.
The electromotive force is given by Equation (5): where Ψ f is the magnitude of the magnetic flux linking the stator windings. Finally, the synchronous coordinate system d-q voltage equation of PMSG can be obtained: Since the rotor of the PMSG has no input and output of energy, it can be regarded as electromagnetic torque, which can be expressed as shown in Equation (7): where n p is the number of poles. The active power and reactive power can be defined as follows: Through the Equations (8) and (9), the active and reactive power outputs of the PMSG can be controlled by the q-axis and d-axis currents. Figure 3 shows the complete diagram of the control system used for the machine side converter (MSC). The wind speed estimation algorithm uses the wind turbine characteristics to predict the wind speed. For each wind speed, there is only rotor speed and generator power in any fixed pitch angle. By measuring these quantities, the estimator uses these values as training data and all these samples are collected offline and then used online. The rotor position detector uses the d-axis current controller output to detect the rotor speed and position.
The generator speed controller basically generates a current command so that the actual generator speed follows the speed reference. Therefore, the speed controller can fulfill its function only when the basic assumption is that the torque coinciding with the current command is accurately output from the generator is established. This current command is input to the current controller and used as the reference current of the current controller. At this time, the current controller operates fast enough so that the same current as the reference value is applied to the generator. The information of rotor position error can be extracted from the d-axis current controller output voltage, V ds_ f b , as Equation (10) [29]: whereθ err is the position error, andω r indicates the estimated rotor speed. The position error in Equation (10) can be controlled to zero by rotor position tracking PI controller as shown in Figure 3. The error of the rotor position is the difference between the real position and the estimated value. Equation (10) is used as the input of the PI controller, where the output of the controller is the estimated rotor angular velocityω r , and the output of the integrator is rotor positionθ.

Grid-Side Control
The grid-side converter is responsible for stabilizing the voltage level of the DC bus and the reactive power injected into the electrical network through cascade controllers. The compensation of the DC bus and reactive power is carried out by external control loops that provide the references for internal current loops.
The goal of PMSG's GSC control is to control the DC-link voltage of the back-to-back converter and to control the reactive power output to the grid. The grid active power and reactive power output can be defined by the d-q reference frame rotating synchronously with the grid voltage as follows [30]: From Equations (11) to (12), GSC shows that the active and reactive power outputs are determined by d-and q-axis current control. Accordingly, DC-link voltage control is possible through q-axis current control, and reactive power output to the system can be controlled through d-axis current control.
The GSC voltage equations redefined to d-q reference frame for grid voltage can be expressed as follows: where R g , L g is the impedance between the GSC and the grid, ω e is the grid angular frequency, and V dg , V qg and i dg , i qg are the d-axis and q-axis components of the GSC voltage and current, respectively. v e dg and v e qg are the d-axis and q-axis grid voltage, respectively. The grid-side converter is responsible for controlling the voltage level of the DC-link and the reactive power injected into the grid through cascade controllers. Figure 4 presents the control block diagram for the grid-side converter. In this structure, the error between the reference DC-link voltage and the measured voltage passes through a PI controller to generate a d-axis reference current. The reference q-axis current is defined as a function of the reactive flow necessary to control the power factor of the grid current, therefore, the external loop is the reactive power control loop and its output is the reactive power error which is passed to the PI controller. The output of the PI controller is the reference value of the q-axis current.

Wind Speed Estimation
In this section, the implementation of SVR and PSO algorithms in estimating the wind speed are presented and discussed.

Support Vector Regression
Support Vector Machines (SVMs) are machine learning techniques derived from two solid foundations: Theory of Statistical Learning and Mathematical Optimization. SVMs have recently been successfully applied to a variety of problems ranging from character recognition to object recognition based on appearance [31]. Some of the reasons for this success are related to the fact that this technique exhibits good generalization performance in many real databases, it is theoretically well-founded, the training process eliminates the possibility of local minimums, there are few free parameters to adjust, and the architecture does not need to be found by experimentation [32]. SVMs are a learning method able to analyze the input data and find certain patterns by minimizing the structural risk and mapping patterns into higher-dimensional feature spaces to provide optimum identification [33]. The results of applying this technique are comparable and often superior to those obtained by other learning algorithms, such as ANN. Therefore, SVMs are widely used in n data classification and regression analysis due to its superiority over most other supervised learning methods. Support Vector Regression (SVR) is a non-linear regression technique based on Support Vector Machines. This technique is often used in the areas of pattern recognition and text classification. Instead of minimizing the observed training error, SVR tries to minimize the error boundary, in order to obtain a generalized performance.
The SVR concept is based on the computational calculation of a linear regression function in a space with a high dimensional characteristic, where the input data is mapped through a non-linear function. SVR has been applied in several areas, such as: time series predictions, approximation of highly complex engineering analysis, and choice of loss functions, etc. [34].
The operation of the SVR algorithm is based on the supervised learning methodology. This methodology makes a system learn a function, from a sample of training data (x 1 , y 1 ), (x 2 , y 2 ), . . . .., (x n , y n ), where x is the input space and y the output space. In this context, the objective of the SVR is to find a function f (x) that presents, at most, one deviation ε in relation to the target values yi. In other words, we are looking for a function with an error margin characterized by the interval [y i +, y i−ε ].
Assuming functions in the form [35]: Where w ⊂ R n and b ⊂ R , b is the bias and w represents the weight vector which corresponds to minimizing the measure ||w || 2 . In this way, the original SVR optimization problem is modeled with: subject to: It is not always possible to guarantee the viability of the problem described above, because there are points that violate its restrictions. For this reason, a loss function ε is studied, which introduces non-negative slack variables ξ i , ξ * i whose purpose is to penalize data that fall outside the f (x i ) − y i ≤ ε margin [36]. The problem formulation is then [36]: (ξ i + ) (15) subject to: where C is a constant regularization determining the trade-off between minimizing training errors and minimizing the model complexity term ||w || 2 . It is known that the generalization performance of an SVR model depends on a good adjustment of the regularization parameter C and the ε parameter of the loss function.
Thus, the linear function f (x) of rewrite is as follows [37]: The non-negative Lagrange multipliers ( α i − α * i ) are introduced to transform the optimization problem in Equation (13) to dual problems. The dual formulation of the SVR problem provides an alternative to modeling in a high dimensional space. Additionally, it is possible to perform a non-linear mapping of temporal input data to higher spaces, in which linear regression becomes possible, provided that SVR approaches based on non-linear kernel functions are used, which are denoted, generically, by K(x i , x) [38].
Consequently, the SVR approximation function consists of a non-linear model and is reissued as follows: In this paper, the used kernel function is Radial Base Function (RBF):

The O-Particle Swarm Optimization
The PSO optimization method was originally developed by Kennedy and Eberhart [39]. The PSO technique is inspired by the flight of birds, which are called particles. This method starts up randomly, through a set of particles with random speeds and positions. After this initialization, individuals are evaluated using the evaluation function. In a PSO algorithm, there is a set of vectors whose trajectories oscillate around a region defined by each best individual position (P Best ) and the best position of the others (G Best ). The position of the particle, x i , is updated according to the Equation (19) [40,41]: In Equation (19), v i (t) represents the velocity vector of particle i at time t, w is the inertia factor, rnd represents random numbers of uniform distribution between [0,1], C 1 and C 2 respectively represent the social and cognitive parameters, P Best is the best individual position and G Best is the best social position. Parameters C 1 and C 2 adjust the balance between social influence and individual particle learning. C 1 and C 2 are set as [42]: where ϕ = ϕ 1 + ϕ 2 > 4. In this paper, ϕ 1 = ϕ 2 = 2.08; thus, C 1 = C 2 = 1.6. The OBL-based population initialization algorithm is used to replace the random initialization feature of PSO and the flowchart of OBL initialization is shown in the flowchart in Figure 5 [43][44][45]. The collected training samples are collected from the turbine power-speed characteristics for each wind speed. For each sample, the rotation speed and the corresponding turbine power ( ω i , p i,j i = 1, . . . ., 70, j = 1, . . . . ., 70 ) are combined as a pair for the inputs of SVR estimator as shown in Figure 6.   Figure 7 shows the complete control system built for the experiment to control the permanent magnet synchronous generator. Basic configuration consists of 2.7 kW PMSG, 3 kW induction motor used as wind simulator, inverter to supply electric power, and controller. The switching frequency of the PWM inverter was 10 kHz, and the processor used TMS320VC33-120 MHz. The specifications of the PMSG and the cage inductors are shown in Tables A1 and A2 in the Appendix A. The validity of the wind speed estimator is tested first as shown in Figure 8a. The wind speed varies continuously to simulate the stochastic nature of wind speed in the range between 5.5 and 8.5 m/s with a series of high frequency harmonics. In this figure, the mean wind speed is 8 m/s and oscillates from 5.5 to 8.5 m/s as shown in Figure 8a. It is noticeable that the difference between the estimated wind speed and the measured one has very slight delay due to the execution time. The speed estimation error is shown in Figure 8b and it is seen that the speed error is always less than 0.25 m/s. Figure 8c shows the output power corresponding to the maximum at the given wind speed. The maximum power point is always maintained due to the accuracy of the estimation method and the fast response of the controller.  Figure 9 shows the estimated speed, measured speed and rotor position when the speed command of 400 rpm is given in steps. From above, the estimated speed and measured speed show good speed response characteristics and estimated characteristics in the transient and steady state with respect to the step speed command. The problem of the rotor speed estimation methods is the low speed region which is overcome in these results. Even though the estimation accuracy is higher in high rotor speed, the estimation error is still acceptable.  Figure 10 shows the estimated speed and actual speed, estimated rotor position and actual rotor position for the speed command of 400 rpm. In the figure, it can be seen that in the transient state at the initial low speed, the dynamic characteristics are lowered because the bandwidth of the rotor position estimation PI controller is low. In the same principle, the estimated rotor position is also initially slow due to low bandwidth, but after a certain speed, the estimated bandwidth is also improved.   Figure 9, Figure 10 compare the measured and estimated wind and rotor speed of the PMSG at different wind speed conditions and rotor speed values, and these results show that the algorithms accurately estimate the wind and rotor speed, which are then used for real-time MPPT and control of PMSG. Figure 11 shows rotor position estimation characteristics at steady state for the speed command of 400 rpm. As can be seen from the figure, the rotor position error in the low speed region of 400 rpm is almost zero, which shows high position estimation characteristics. Figure 11. Responses of position estimation with 400 rpm speed command (steady state). Figure 12 shows the estimated and measured rotor speed when the speed command is changed to 500-600-500 rpm. As can be seen from the figure, even when the speed command is changed to 500-600-500 rpm in steps, it shows stable response characteristics and estimated characteristics. It is also noticeable that the response of the estimator in high rotor speed is high and the error is almost zero.  Figure 13 shows the performance of the speed controller at 800 rpm speed command. It is noticed that the speed is maintained at 800 rpm and the q-axis current is well controlled with low harmonic content.  Figures 12 and 13 show a comparison between the estimated rotor speed and the reference value in case of step change of the speed reference and in steady state condition. In both cases, the proposed algorithm correctly estimates the optimal rotor speed which is then used for maximum power generation during various conditions.

Discussions and Conclusions
In this work, the modeling and control of an experimental wind generation system with PMSG and a bidirectional full converter (Back-to-Back) connected to the grid was carried out. The work sought to contribute to a better implementation of sensorless control of PMSG by estimating the rotor speed, position, and wind speed, as well as understanding of the functioning of the system in general and of the control techniques used. The mathematical models of the wind generation system, the design of the estimators and controllers for the prototype were presented, as well as the results obtained through the experimental setup. A new sensorless method that can be applied to high and low speed operation of PMSG which is based on the output of the current controller in the speed control loop was applied. The wind speed estimation scheme for wind-driven PMSG was proposed. The OPSO-SVR algorithm that estimates the wind speed value based on the training data from previous offline training was presented. The proposed method is implemented to overcome the SVR parameter selection in a wide speed range. By using OPSO, the optimum SVR parameter optimization can be obtained faster and more accurately. The main advantages of the proposed algorithm are the fast and accurate estimating of the wind speed, even due to the fast optimization and tuning of the SVR parameters which featured an excellent tracing for the real value and the independency of the generator turbine constants or torque measurements. Experimental results presented show the excellent performance achieved whether for estimating the wind speed or the rotational rotor speed.
In the future, the rotor speed estimation can be applied in two modes which are very low speed and high speed. Different SVR parameters can be obtained for both modes to guarantee accurate estimation at different speed levels.

Conflicts of Interest:
The authors declare no conflict of interest.