1 Introduction

Switched reluctance motors (SRMs) can be applied to many industrial applications due to their low manufacturing cost and ruggedness. SRM is simple to construct. It not only features a salient pole stator with concentrated coils, which allows earlier winding and shorter end turns than other types of motors, but also a salient pole rotor, which has no conductors or magnets, and it is the simplest of all electric machine rotors. Simplicity makes SRM inexpensive and reliable and, together with its high speed capacity and high torque-to-inertia ratio, makes it a superior choice in different applications. The primary disadvantages of SRM drives are the rotor position sensing requirements and the higher torque ripple compared to other machines. Encoders, resolvers or hall sensors are used as rotor position sensors. To design a reliable and compact controller for SRM drives, the position sensor unit should be eliminated. Implementing the sensorless scheme using the fast-acting digital signal processors (DSPs) makes the overall system reliable, compact and accurate.

In the proposed work, an 8/6 solid rotor SRM is used as a test motor. Even though the solid rotor SRM is an inefficient machine, it is rugged and its drive system is fault tolerant and it is well suited for harsh environments. In conventional motors, stator core and rotor core are laminated. In applications where the rotors are immersed in water environment, the rotors cannot be laminated and also a stationary can arrangement is needed between stator and rotor part. In atomic energy stations, motors used in reactivity control mechanisms (RCMs) have to be specially designed to be put up in the nuclear environment. Solid rotor SRM is the best choice for those applications.

The test motor has a stationary can arrangement in between the salient stator poles and rotor poles to enable water environment. The can is made of nonmagnetic material. Hence, the can material can be considered as air medium as in conventional SRM. The stator and rotor pole structure is same as 8/6 conventional SRM. The rotor pole arc is greater than stator pole arc as in conventional SRM. When the stator flux is changing at a sufficiently rapid rate to ensure that the induced currents in the rotor of solid rotor SRM are inductance-limited, the current pulses must be phased to coincide with the separation of the poles. Hence, the torque is produced by repulsion, not by attraction as in conventional SRM [1].

2 Literature review

2.1 Two-phase excitation

Miller et al. [2] explained a model for the single-phase excitation of SRM, and it has been widely used for the design of motor and its controller. Zhen Zhong Ye et al. [3] discussed multi-phase excitation for a 10/8 SRM. The two/three-phase excitation mode achieved a larger average torque especially in the low speed range. Taking into account the advantages of the Miller model [2], Mohsen Farshad et al. [4] extended it to two-phase excitation. The model can reasonably predict the flux linkage characteristics of the two-phase excited SRM. Amit Kumar Jain and Ned Mohan [5] also presented a dynamic two-phase excitation model of the SRM. Earlier works on conventional SRM proved that two-phase excitation increases the maximum torque capability of the motor.

The test motor (solid rotor SRM) is also experimentally verified for its maximum torque capability. Under single-phase excitation, maximum torque capability of the test motor is 3.5 Nm, and it is increased to 8 Nm under two-phase excitation.

2.2 ANN-based rotor position estimation

Artificial intelligence (AI) techniques [6], particularly the ANNs, are recently having significant impact on rotor position sensing in SRMs. In ANN-based controller, the model of the motor drive is not needed. Not only ANN estimators, but also the fuzzy-neuro estimators are applied by many researchers to estimate rotor position from terminal measurements [713].

Adrian David Cheok and Ertugrul [7, 8] described the robust operation of a fuzzy logic–based angle estimation algorithm for the SRM. Erkan Mese and Torrey [9] presented the development, implementation and operation of an ANN-based position estimator for a three-phase SRM. The ANN weights obtained by offline training were stored in lookup tables. The sigmoidal activation function was also stored in a lookup table. The total memory requirement for the whole algorithm was approximately 2 kB. The estimation error is usually bounded on [−5 degree, +5 degree]. And they claimed the validity of the method for integration into practical SRM drive systems. Lachman et al. [10] and Enayati et al. [11] developed an ANN model for sensorless position estimation of SRM. This ANN-based model is ultimately developed for the nonlinear modeling of SRM. The nonlinear characteristics of SRM which are mainly due to the magnetic saturation of the phase winding are considered. Lachman et al. compared different training algorithms. Levenberg–Marquardt backpropagation algorithm enabled faster convergence. Paramasivam et al. [12] discussed the real-time verification of an ANN- and ANFIS-based rotor position estimation techniques for a 6/4 pole SRM drive system. After verification of the model via ANN and ANFIS in the MATLAB/simulink environment, C program is written in TMS320F2812 CCS environment. A conventional ANN with 2-2-1 structure–based rotor position estimator was compared with a rotor position estimator based on Sugeno type adaptive neuro-fuzzy inference system (ANFIS) with five layers and 20 membership functions. Since the ANFIS-based estimator has 400 fuzzy if–then rules of Takagi and Sugeno’s type, computation time and memory required by the ANFIS estimator are slightly higher than the ANN-based estimator.

Hudson et al. [13] demonstrated that a minimal ANN (using preprocessor) configuration is attainable to implement rotor position estimation in SRM drives such that the computational burden is decreased significantly by inserting a preprocessor in the ANN.

3 Experimental setup

The experimental setup consists of the following main units: 1. 8/6 Solid rotor SRM, 2. absolute position sensor, 3. classical converter circuit, 4. DC Supply, 5. voltage and current sensors, 6. DSP and 7. personal computer with Code Composer Studio(CCS) software.

Figure 1 shows a block schematic of the experimental setup, while Fig. 2 shows a photograph of the experimental setup.

Fig. 1
figure 1

Block schematic of the experimental setup

Fig. 2
figure 2

Photograph of the experimental setup

3.1 Solid rotor SRM

Figure 3 shows the cross-sectional view of the test motor used in this research. The motor is rated for 100 V, 100 W and phase winding current of 5 A.

Fig. 3
figure 3

Cross-sectional view of the test motor

Windings of diametrically opposite stator poles are connected in series to form one phase of the machine. As per Fig. 3, poles A and A′ are connected in series to form phase A. Similarly, other pole pairs B and B′, C and C′, and D and D′ are connected in series to form B, C and D phases.

3.2 Digital signal processor (DSP)

DSP TMS320F2812 is from Texas Instruments. Its operating frequency is 150 MHz. The phase voltage, current, rotor position and flux linkage samples are recorded for every one-degree rotation of rotor using this DSP. The gate drive signals for the converter setup are derived from the port pins of DSP.

3.3 Classical converter circuit

The converter is a four-phase asymmetric bridge with eight switches. The electronic switches are IGBT (CT60AM) housed together with power diodes (MUR3060). The input signal lines of gate drivers are connected to port A pins of DSP to receive the required switching pulses for the IGBTS in the classical converter circuit. Optocoupler and driver IC, HCPL3120 is used for driving IGBTs.

3.4 DC supply

The DC bus is obtained from Agilent programmable DC power supply rated for 100 V, 15 A. It provides overvoltage and overcurrent protection needed for the drive system.

3.5 Voltage and current sensors

LEM make closed loop hall effect voltage, and current sensors with signal conditioners are used to provide the phase voltage and current information to DSP. Its operating frequency range is from DC to 50 kHz.

3.6 Position sensor

Solid rotor SRM is coupled to absolute encoder, EP50S8. It can provide rotor position information for an accuracy of 0.5 degree. The signal lines from encoder are connected to Port B pins of DSP TMS320F2812. Capture 1 interrupt of DSP is used to interrupt the DSP for every one-degree mechanical.

3.7 Personal computer with Code Composer Studio (CCS) software

For programming purpose, DSP TMS320F2812 is interfaced with a personal computer (PC) in which CCS software is installed.

4 The proposed ANN-based rotor position estimation approach

The phase flux linkage–phase current–rotor position characteristics are obtained when two adjacent phases are excited simultaneously as well as the motor is under running condition. DSP TMS320F2812 is used for collecting samples at running condition. The mutual inductance effect and eddy current effect are automatically counted in this approach. The nonlinear mapping between the phase flux linkage-phase current-rotor position characteristics is obtained using artificial neural networks (ANNs). As two-phase excitation scheme [5] is followed in the proposed ANN-based rotor position estimation method, the number of voltage and current sensors used for position estimation is minimized and only two numbers of voltage sensors and two numbers of current sensors are used for rotor position estimation of the four-phase test motor. If single-phase excitation scheme is used, four numbers of voltage sensors and four numbers of current sensors are needed for rotor position estimation of four-phase motor. Hence, two-phase excitation scheme not only provides maximum torque but also minimizes the number of sensors used for rotor position estimation.

As the test motor is a four-phase motor, the two-phase excitation sequence for anticlockwise rotation is AD, AB, CB, CD and so on. At any time, either phase A or phase C is excited. Hence, in this work, the reference phases are considered as A and C. Phases B and D can also be considered as reference phases. When the motor is running with position sensor, the phase voltage–phase current–rotor position readings of reference phases are recorded using DSP TMS320F2812. The closed loop type hall effect voltage and current sensors are used to connect the phase voltage and current signals to DSP.

The phase voltage and phase current (phase A and phase C) signals are fed to DSP through the ADC channels of DSP. Simultaneous conversion method is followed to get the samples of phase voltage and current signals.

Using CCS software, the proposed ANN-based algorithm is implemented on DSP. In ADC interrupt subroutine routine, samples of phase voltage and current signals are measured and flux linkage is calculated for the corresponding voltage and current samples. The collected values of phase flux linkage, phase current of reference phases (phase A and phase C) and rotor position readings are used to obtain four different ANN models.

The details of the four ANNs are as follows: when phases A and D are on, ANN named type 1 is used. ANN named type 2 is used when phases A and B are on. When phases C and B are on, ANN named type 3 is used. ANN named type 4 is used when phases C and D are on. Hence, any one type of four ANNs is used for a particular estimation. For type 1 ANN and type 2 ANN, phase A is the reference phase. Whenever A phase is on, either B or D is on and the mutual inductance effect is counted in A phase voltage and current signals. As the data are collected at running condition, the eddy current effect is also counted.

For type 3 ANN and type 4 ANN, phase C is the reference phase. Whenever C phase is on, either B or D is on and the mutual inductance effect is counted in C phase voltage and current signals. As the data are collected at running condition, the eddy current effect is also counted in phase C signals. All four ANNs used in this work are of same 2-5-5-1 structure.

The phase flux linkage–phase current data are used as inputs, and rotor position is taken as output for the four 2-5-5-1 ANN structures. For the above-said ANNs, feed-forward networks are used. Adaption is done with training, which updates weights with the specified learning function. TRAINLM training function is used for training. It is a network training function that updates weight and bias values according to Levenberg–Marquardt optimization. The activation functions for the hidden layer neurons are tansig functions. The activation function for the neuron in the output layer is purelin function.

5 Implementation and online verification

The hardware setup used to implement the proposed ANN-based rotor position estimation method is shown in Fig. 1. To improve accuracy of estimation, a maximum of 15,000 data (phase flux linkage–phase current–rotor position samples) are collected for 60-degree mechanical for different turn-on and-turn off angles. Matlab version 7.3 software is used for further processing and to obtain ANN-based offline-trained simulink models. The simulink models are tested and verified with trained and untrained input data. ANNs are used to estimate rotor position from the active phase currents and flux linkage values. The weight and bias values obtained are used in DSP programming.

Performance is measured with respect to mean square error. Different ANN structures are trained and tested. Training iteration number considered is 10,000. But for implementation on DSP, the execution time has also to be considered as sampling frequency is dependent on overall execution time of the ANN-based rotor position estimation algorithm. Hence, different ANN-structure-based rotor position estimation algorithms are implemented on DSP TMS320F2812, and execution time is measured. If the number of hidden neurons is increased to increase the accuracy of the algorithm, the maximum sampling frequency is very much reduced. For a 2-20-10-1 ANN, the maximum sampling frequency is very much reduced to 800 Hz. Hence, for experimental implementation, a 2-5-5-1 ANN is considered. To implement the overall interrupt service routine, which includes a 2-5-5-1 ANN-based rotor position estimation algorithm, a maximum of 72,000 instruction cycles are needed. Within the 72,000 instruction cycles, 22,000 cycles are for ADC conversion routine, which is needed to get online samples and to feed the input data (current, flux linkage) to 2-5-5-1 ANN, and 50,000 cycles are for executing 2-5-5-1 ANN-based rotor position estimation algorithm. The operating frequency of DSP is 150 MHz. As the maximum time needed to execute the overall interrupt service routine which includes estimation algorithm based on 2-5-5-1 ANN is about 480 μs, the maximum sampling frequency is taken as 2.08 kHz. For the calculated maximum sampling frequency, the rotor position samples measured are continuous for a maximum speed of 347 rpm. The samples collected at speeds higher than 347 rpm are discontinuous.

The ANN-based rotor position estimation algorithm is implemented on DSP TMS320F2812 using CCS software. The following algorithm is implemented on DSP:

  1. 1.

    If excitation phases are A and B, execute type 1 ANN to estimate position.

  2. 2.

    If excitation phases are B and C, execute type 2 ANN to estimate position.

  3. 3.

    If excitation phases are C and D, execute type 3 ANN to estimate position.

  4. 4.

    If excitation phases are D and A, execute type 4 ANN to estimate position.

As the test motor rotates 60 degree for a single excitation sequence (AB, BC, CD, DA), type 4 ANN (A and D phases are on) is used to estimate first 15 degrees (from 0 to 14 degree), type 1 ANN (A and B phases are on) is used to estimate the next 15 degrees (from 15 to 29 degree), type 2 (B and C phases are on) ANN is used for the next 15 degrees (30 to 44 degree) and type 3 ANN (C and D phases are on) is used for the last 15 degrees (45 to 59 degree). Hence, any one type of four ANNs is used for a particular estimation.

The estimated and actual rotor position online data are collected using data (.dat) files. The accuracy of rotor position estimation is verified by comparing the actual rotor position with the estimated one. The motor is run using position sensor, and the proposed approach is verified at steady-state running condition and transient condition.

Figure 4 shows online verification of the proposed approach when the test motor is running at a steady-state speed of 150 rpm with a load torque of 7 Nm (Table 1).

Fig. 4
figure 4

Online verification of the proposed approach under steady-state condition (when the test motor is running at a steady-state speed of 150 rpm with a load torque of 7 Nm)

Table 1 Online verification of the proposed approach (when the test motor is running at a steady-state speed of 150 rpm with a load torque of 7 Nm)

Figure 5 shows error obtained during online verification of the proposed approach when the test motor is running at a steady-state speed of 150 rpm with a load torque of 7 Nm. As per Fig. 5, the error range obtained is −1.06, 0.4 degree.

Fig. 5
figure 5

Error obtained during online verification of the proposed approach (when the test motor is running at a steady-state speed of 150 rpm with a load torque of 7 Nm)

Figure 6 shows online verification of the proposed approach when the test motor is subjected to a sudden load torque variation from 0.35 to 1.5 Nm.

Fig. 6
figure 6

Online verification of the proposed approach under transient condition (when the test motor is subjected to a sudden load torque variation from 0.35 to 1.5 Nm)

The accuracy of estimation of the proposed estimation algorithm is better under steady-state conditions. Under transient conditions, the maximum error range obtained is [−5, 5 degree].

The error is reduced by a factor of 2 by using four ANNs to estimate the rotor position for 60-degree mechanical when it is compared with a common ANN for every 30 degree under two-phase excitation scheme. As the maximum time needed to execute the overall interrupt service routine which includes estimation algorithm based on 2-5-5-1 ANN is about 480 μs, the maximum sampling frequency is taken as 2.08 kHz.

6 Conclusion

The proposed work discussed a novel ANN-based rotor position estimation approach for the test motor to minimize the number of voltage and current sensors used in applications where the rotors are immersed in water environment. The proposed approach uses only four sensors instead of using eight sensors for the 8/6 SRM. Two-phase excitation scheme is followed for the better performance of the test motor. The accuracy of ANN-based rotor position estimation method is improved by a factor of 2 by using four different 2-5-5-1 ANNs for 60-degree mechanical instead of using a single ANN for every 30 degree under two-phase excitation scheme. The online verification of estimated rotor position and actual rotor position has been done under steady-state and transient operating conditions. The proposed approach proved its validity under steady-state and transient operating conditions. Additional works are needed to make the test motor sensorless. Sensorless starting of solid rotor SRM can be included with the proposed approach for the sensorless operation of the motor. The same type of rotor position estimation technique is applicable for conventional motor also. The proposed approach not only encourages the sensorless control of solid rotor SRM but also for conventional laminated rotor SRM with minimum number of voltage and current sensors.