1 Introduction

Position control without sensor have been classified and these methods have been described shortly. The method used in the article is also given comprehensively with another sub-title. Sensorless position control can be classified as below [1].

  1. 1.

    Active measurement methods

    1. a.

      Waveform detection

    2. b.

      Magnetic flux detection

    3. c.

      Modulation-based methods

      1. i.

        Frequency modulation

      2. ii.

        Amplitude modulation

      3. iii.

        Amplitude/phase modulation

  2. 2.

    Methods based on the characteristics of the motor

    1. a.

      Open loop control

    2. b.

      Common voltage method

    3. c.

      Magnetic flux/current method

    4. d.

      Fuzzy logic and artificial intelligence methods

    5. e.

      Model-based (observer) methods

      1. i.

        State observer

      2. ii.

        Kalman filter

      3. iii.

        Luenberger observer

      4. iv.

        Sliding mode observer

In active measuring methods, high-frequency signals are applied to a stimulated phase to obtain phase induction change. Thus, rotor position information can be obtained from the phase inductance change.

Wave sensing method occurs in two parts. These are active and passive wave sensing methods. These methods are not used in high speeds due to the disadvantages such as opposite emf, interaction between phases and continuous regulation of sensing angle according to load [2, 3].

Fig. 1
figure 1

Phase current–inductance and the transmission angle relationships at open-loop control

In magnetic flux sensing method, the voltage on the winding is measured by applying voltage to an unexcited phase in a short time. Taking the integral of the voltage measured during the trigger, flux is found. After calculating the magnetic flux, rotor position is obtained from the motor’s flux–position–flux characteristic. This method is appropriate for high-speed applications. However, in this method, as well as the sensitivity of the rotor position information related with the sensitivity of the voltage measured, the characteristic information of the motor (must be defined correctly for application [4, 5].

Modulation-based methods are generally based on the principle of obtaining changeable phase inductance in a coded way by applying a high-frequency carrier signal. The signal frequency containing the phase inductance information is considerably smaller than the carrier signal frequency. Modulation-based methods are basically divided into three parts: frequency, amplitude and amplitude/phase modulation [6].

In Fig. 1, the phase current–inductance and transmission angle relations of the cycle control are given. In open cycle control, settlement angle or period is controlled by \(\theta _{D}=\theta _{2}-\theta _{1}\). Any position sensor is not used to synchronize rotor position with \(\theta _{1}\) or \(\theta _{2}\). In this system, commutation frequency is controlled [7]. Two problems can be basically observed about open cycle control. Firstly, if load momentum exceeds nominal momentum, the motor will not be synchronized and it will stop because of not having a position sensor. Secondly, adjustments for each motor controlled by this method must be made separately.

While SRMs are working in chopper or PWM mode, the value of the voltage inducted in the other two phases close to the stimulated phase changes as a function of rotor position. If we can measure the common voltage, we can estimate the rotor position. In this method, common tension of any phase close to the two phases can be used for the calculation of rotor position in 6/4 SRMs, but in 8/6 SRMs, measuring the voltage of the phase which is opposite to the active phase is appropriate. In this application, sampling signal should be synchronized with PWM signal. This makes the application of such a circuit difficult [8].

The basis of magnetic flux/current method is based on obtaining rotor position from magnetic flux/current and rotor position values of the SRM on an observation table together the current value that is measured by calculating magnetic flux. The flux value obtained from this is used for commutation by being compared with the reference flux value. A micro-controller is necessary for the application of this method, that is, for making an observation table and calculations. Many studies of this type is available in the literature [911]. One of the drawbacks of the method is the voltage on the phase resistance. Especially in chopper operation mode, phase coil resistance becomes active. Another drawback is the change in resistance with heat and important mistakes which can occur in magnetic flux calculations due to measuring. In order to prevent these mistakes, new methods called magnetic flux/current correction have been developed [12].

Fuzzy logic and artificial neural nets (ANN) can estimate rotor position by using the SRM’s magnetic flux–current–position characteristics. Since rotor position is estimated by using ANN in our study, ANN is explained in detail in the next edge. Fuzzy logic or ANN methods do not need a mathematical model for motor.

In the literature, many studies can be found about obtaining rotor position by using fuzzy logic method without sensor [1315]. In this method, in order to find rotor position, input currents and magnetic flux are needed to be measured with fuzzy rule-based SRM model. Magnetic flux is not measured directly; it is obtained from integration. However, since the noise and measurement mistakes in the system will directly reflect on flux calculation, this considerably affects the rotor position estimate. Filler circuits should be used to minimize these mistakes, but this makes application difficult. Another problem of this method is that SRMs need detailed magnetization curves.

Model-based methods are based on estimating the state variables of the SRM using information related with the SRM and calculations based on them. For this reason, an observer which symbolizes the system in parallel to the physical system is used [1]. Observers are divided into two types: linear and non-linear observer. While linear observer is well-developed, there have still been some difficulties in the non-linear observer. Due to the non-linear structure of SRMs, researchers first did not prefer using non-linear observer in control without sensor. However, it is possible to see many studies on the four basic observers recently. These are state observer, Kalman filter, Luenberger observer and sliding mode observer. In addition, it is also seen that these observers are used as hybrid (mixed) in many studies [117].

2 Estimation of rotor position by using ANN

Firstly, general information will be provided about ANN and then, how rotor position can be estimated will be explained.

2.1 General information about ANN

Artificial neural nets are information processing systems which were developed with the purpose of developing skills such as producing new knowledge, forming and discovering new knowledge by way of learning which is a feature of the human brain. ANNs are used for the calculation of problems which cannot be modeled mathematically or which have complicated mathematical models. Setting out from this definition, ANNs have been used for the calculation of such problems recently and successful results have been obtained from most of them. ANNs are applied in many fields today. Main areas of this application are industrial, finance, defense, medicine, health and engineering applications.

Fig. 2
figure 2

Basic ANN cell

The basic cell model of a basic artificial neural net can be seen in Fig. 2. Artificial neural net cell consists of entries, weights, addition function, activation function and exit. Entries can be taken from the external environment or from other neurons. The data taken from the external environment is connected to the neuron via the weights and these weights determine the effect of the related entry. Net entry is calculated in the addition function. Net entry is the result of entries and the multiplication of these entries with the related weights. The activation function calculates net exit during the transaction and this transaction also gives the neuron exit. Generally, the activation function is a non-linear function. b, is the threshold value of bias or activation function and it has a fixed value in here.

Mathematical model of the neuron

$$\begin{aligned} o=f\left( {W \cdot X+b} \right) \end{aligned}$$
(1)

is expressed with, W is the matrix of weights and X is the entry matrix in here. N is entry number;

$$\begin{aligned}&W=w_1 ,w_2 ,\ldots ,w_n \nonumber \\&X=x_1 ,x_2 ,\ldots ,x_n \end{aligned}$$
(2)

after being written as above, the exit expression is,

$$\begin{aligned} o=f\left( {\sum _{i=1}^n {w_i x_i +b} } \right) \end{aligned}$$
(3)

In this equation, f is activation function. Activation functions have various types such as linear, satisfied linear, sigmoid, log sigmoid and threshold function.

ANN is formed by composition of artificial neurons by way of connections. Layers are formed by the neurons coming together at the same line. Connection of layers to each other in different ways form different net architectures. The general structure of ANN has been given in Fig. 3. ANN consist of three basic layers as entry, middle and exit layers. In the entry layer, information obtained from the external world is transmitted to middle layers. In the middle layer (hidden layer), the information coming from the entry layer are processed and sent to the exit layer. There may be more than one middle layer in a network. In the exit layer, the information coming from the middle layer is processed; the output of the network is produced and sent to the external world.

Fig. 3
figure 3

The general structure of ANN

2.1.1 Design of ANN

The success of ANN applications is related to the approaches which will be used and experiences. For the success of the application studied, it is very important to determine the appropriate method. In the process of developing the artificial neural net, these basic decisions related to the structure and functioning of the network need to be taken and applied.

  • Choosing the network architecture and determining the determined structure properties (such as number of layers, number of neurons in layers).

  • Determining the characteristics of the functions in the neuron.

  • Choosing the learning algorithm and determining its parameters.

  • Forming the education and test data.

The correctness of these decisions is very important. Otherwise, the system complexity in the ANN may increase. If the ANN is designed for appropriate parameters, the ANN continuously produces fixed and consistent results. In addition, since the response time of the system is related to the size of the network, the size of the network should be small enough for the response time to be short enough.

(a) Choosing the network structure

Choosing the network structure in the ANN design process depends on the application problem. It is important to know which network is more appropriate for which problem. Purpose of use and network types which are successful in that area are given in Table 1 [18].

Table 1 Network types and fields used

The learning algorithm which is considered to be used in the network is very important for choosing an appropriate ANN. When the algorithm is chosen, the architecture which is necessary for that algorithm is also compulsorily chosen. To illustrate, back-propagation algorithm requires feed-forward network architecture. The most effective way of minimizing the complexity of the ANN is changing the network structure. In network structures which involve more than necessary number of processors, a lower generalization may emerge.

(b) Choosing the learning algorithm

The learning algorithm is the most important factor that determines the success of the application after the choosing the structure of the ANN. Generally, network structure is a determining factor in choosing the learning algorithm.

There are a great number of learning algorithms to be used so as to develop the ANN. Appropriate learning algorithms will be chosen according to application type.

(c) Determining the number of middle layers

Another step in designing the ANN is the decision of the number of middle layers. In most of the problems, a 2- or 3-layered network can produce satisfying and correct results. The number of entry and exit layers depends on the structure of the problem. The best way to determine the number of layers is to make a few trials to decide on the most appropriate structure. Another point which should also be taken into account is that since transactions will also increase due to the increase in the number of middle layers, the working speed also decreases. For this reason, an appropriate solution is found.

(d) Determining the number of neurons

One of the structural features of the network is the number of neurons in each layer. The number of neurons in a layer is generally determined by using the trial-and-error method. To do so, the number of neurons in the beginning is increased until the desired performance is reached or they are decreased without falling below the desired performance. The number of neurons which is used in a layer should be as few as possible. Less number of neurons increases the ability of the artificial neural net to generalize and more than necessary neurons cause the network to memorize data. However, using fewer than necessary neurons can cause a problem such as the pattern in the data not being learned by the network [18].

(e) Normalization of the education cluster

Normalization of the entry and exit data is important for the convergence and learning transactions. If we try to explain this based on the sigmoid function; because of the feature of the sigmoid function, the exit of the network should be between 0 and 1. In addition, entry variables should be kept as small as possible so that the sigmoid function does not enter satisfaction. Therefore, entry and exit data need to be normalized before the network is educated. There are various normalization techniques in application. The most basic normalization transaction is the division of the entry and exit neurons one by one by the biggest value in that neuron. At the end of the normalization transaction, value of the entry and exit vectors are between 0 and 1.

2.2 Estimation of the rotor position

ANN is beneficial in non-linear system approach and in many applications which require movement control. Many publications can be found about this subject in the literature. Hudson et al. realized the position and speed control of SRM without sensor by using only current and/or tension signals and the ANN structure given in Fig. 4. They paid attention to the ANN structure which was used to have minimum configuration and the education data of ANN, current and flux were obtained during the system operation process [19].

Meşe and Torrey carried out the position estimation of an SRM of 20 kW, 6/4 and 3 phase by using ANN. In this study, they used the SRM’s flux–current curve to estimate the position [20]. Using the measured tension and current they calculated the flux. Both of flux which was measured and calculated were given as the input of the ANN and the position was obtained from output. In another study, they comprehensively made an estimation about position using a double ANN structure the block diagram of which has been provided in Fig. 5. If the block schema is scrutinized, the main ANN estimates the position from the flux and current, but a second auxiliary ANN is used to minimize the mistakes which occur during the commutation or calculation of flux. In this case, the position which is the result of the first ANN and the flux measured is given as the entry of the auxiliary ANN and flux is obtained from output. The flux calculated is compared with the flux in the exit of the ANN—and a position correction is obtained from the amount of mistake. Thus, position estimation was made by adding the position in the ANN exit and the position correction. In addition, Fuzzy logic methods were compared with ANN [21].

Fig. 4
figure 4

Traditional ANN structure with a single-hidden layer

Fig. 5
figure 5

The estimated location with double artificial neural network

Fig. 6
figure 6

The block diagram of the position estimation

In these studies which are different from the previously mentioned ones, Reay and Williams claimed that magnetic characteristics of the motor did not have to be known exactly during position control. In the method proposed, they said that two phases did not have energy at any moment of a four-phase SRM, and position control was made from the induction estimations by sending short-lasting voltage impacts to the phases that do not have energy. The block schema is given in Fig. 6. The inductance, rotor position and current relation calculated and stored were used for estimation of induction [22]. In addition, voltage need not be measured for position estimation. The position is found from Eq. 4.

$$\begin{aligned} \hat{\theta } =\frac{1}{N_r }\tan ^{-1}\left( {\frac{\frac{1}{\Delta i_a \left( k \right) }-\frac{1}{\Delta i_a \left( {k-1} \right) }}{\frac{1}{\Delta i_b \left( k \right) }-\frac{1}{\Delta i_b \left( {k-1} \right) }}} \right) \end{aligned}$$
(4)

Bellini et al. and his friends emphasized that SRM was an ideal candidate about definition and control of ANN due to its high and non-linear structure and they carried out position and speed control by using ANN with radial-base function [23].

Fig. 7
figure 7

The block diagram of rotor position detection using ANN

Fig. 8
figure 8

Inductance–rotor angle difference with the different currents

Fig. 9
figure 9

a Result of ANN training. b Test results of artificial neural network

3 The method used

The block diagram of the position detection without sensor applied is shown in Fig. 7. Flux is calculated by using the voltage and current information measured from the convertor. Flux and current are given as the entry of the ANN. Rotor position is obtained from the entry of the ANN, but this rotor position causes an error because of the commutation between phases and the integrator in flux calculation. A correction block is needed to correct this mistake. In this method which is different from other methods, the education and test data of the ANN is not obtained from simulation or experimental results; it is obtained from magnetic analyses carried out in ANSYS 10. In Fig. 8, inductance curves are obtained from ANSYS 10. These curves were obtained by sliding the rotor \(1^{\circ }\) angle from unaligned situation to aligned situation.

Fig. 10
figure 10

Experimental setup of the current and speed control of the SRM

Fig. 11
figure 11

MATLAB/Simulink model of rotor position detection using ANN

Fig. 12
figure 12

The results of the simulation of sensorless speed and current control of SRM at 200 rad/s. a The estimation of reference speed–rotor speed. b Speed estimation error. c The estimation of position angle. d The error of position angle estimation

Fig. 13
figure 13

The experimental results of the experimental of sensorless speed and current control of SRM at 200 rad/s. a The estimation of reference speed–rotor speed. b Speed estimation error. c The estimation of position angle. d Position angle estimation error

Fig. 14
figure 14

The results of the simulation of sensorless speed and current control of SRM at 50 rad/s. a The estimation of reference speed–rotor speed. b Speed estimation error. c The estimation of position angle-position angle. d The error of position angle estimation

Fig. 15
figure 15

The results of the experimental of sensorless speed and current control of SRM at 50 rad/s. a The estimation of reference speed–rotor speed. b The error of speed estimation. c The estimation of position angle. d The error of position angle estimation

In this study, feed-forward multi-layered network structure was used. To reduce work time and the memory used, network structure was chosen as three-layered. There are two entries, seven hidden neurons and a single exit in the ANN. The number of neurons in the hidden layer was found by trial and error. Trying different numbers of neuron between 3 and 14, it was detected that a faster learning and a better modeling could be achieved by using seven neurons. In the hidden and exit layer neurons, log sigmoid and linear transfer functions were used, respectively. As the network structure, the back-propagation learning algorithm used in multi-layered networks was used for the education of the network. As it is known, the purpose of the learning transaction is to minimize the performance index terms found in the exit mistake terms. The data used for education in the artificial neural net development process is divided into two parts. While some of this data is used for the education of the network and named as education set, the rest is used for measuring the performance of the network and is named as the test set. The basic problem about education and test sets is whether the number of education and test data is sufficient. In situations where an endless number of data can be found, the artificial neural net should be educated with the maximum number of possible data. In order to be sure about whether the education data is sufficient or not, the amount of education data is increased up to the point where it does not change in the performance of the network. However, in some situations which this is not possible, closing to each other of the performances of the artificial neural network on education and test data, the number of data can be regarded as sufficient. In addition, the amount of data contained by the education set can vary according to artificial neural net models and especially according to the complexity of the problem [18]. The samples which are used for the education of the ANN consisted of fluxes calculated from ANSYS 10.0 as indicated above for different currents and different positions. Since the learning tolerance to finish the education transaction is chosen as le-4, the result of the performance desired was reached after 623 steps. The result of the education related to this situation is given in Fig. 9a. In Fig. 9b, the test results of the ANN are shown.

4 Simulation and experimental results

4.1 Experimental setup

The experimental setup consists of a 8/6 poles SRM, IGBT-based classic two-switched convertor, incremental encoder, four current and voltage sensor, dSPACE ACE-Kit 1103 with DS1103R&D Controller Board and PC. DS1103 R&D Controller Board is based on Texas Instruments’ DSP TMS320F240. The experimental setup of the current and speed sensorless control of the SRM is shown in Fig. 10.

The current and speed sensorless control algorithm of the SRM is formed in MATLAB/Simulink software and uploaded to DS1103. Measurement of motor currents and voltages is performed using LEM current and voltage sensors. The speed measurement is realized using incremental encoder interfaced to DSPACE quadrature decoder. Control of experiments, visualization and data acquisition are realized by dSPACE software ControlDesk Developer.

4.2 Simulation and experimental results of the current and speed control without sensor

In operation without sensor, the rotor position needs to be detected. The modeling of the rotor position block diagram detection given in Fig. 7 in MATLAB/Simulink is given in Fig. 10. By adding the model in below to the MATLAB/Simulink models instead of sensor, they were operated without sensor.

The ANN-based MATLAB/Simulink simulation model of the SRM without sensor which was formed for current and speed control was operated without motor load to see the accuracy of estimation at different reference speed values and results concerning position angle, angle estimation mistake, angle speed, speed estimation and speed estimation mistake were obtained. Two basic studies were carried out for high and low speeds. The results were given for the steady situation.

The first study was carried out at 200 rad/s and simulation results of the steady state are given in Figs. 11 and 12 and experimental results are given in Fig. 13. In operation without sensor, as shown in the results, position was detected well in both simulation and experimental operation and reference speed was reached properly.

Low-speed study was carried out at 50 rad/s and simulation results of the steady state are given in Fig. 14 and experimental results are given in Fig. 15. Just as at high speed, position was detected well at low speed and reference speed was examined properly in experimental results despite small fluctuations.

5 Conclusion

In this study, magnetic characteristics of SRM obtained from the FEM solution are were used to perform sensorless position estimation. Voltage and current data were taken from the converter so as to calculate the flux of SRM. According to the results of the FEM, the flux calculated and the current measured were given as the input of ANN which was trained. Rotor position was obtained from the output of ANN. However, The rotor position gave rise to an error because of commutation between phases and integrators of flux account. Correction block was made to resolve this error. Low-and high-speed simulation results have been were obtained. At the same time, results were obtained at different speeds under load. Estimation of rotor position which was obtained from FEM using the ANN method gave good results at low and high speeds.