Open access peer-reviewed chapter

Mathematical Modeling of Switched Reluctance Machines: Development and Application

Written By

Marcelo Vinícius de Paula, Thiago de Almada Lopes, Tárcio André dos Santos Barros, Paulo Sergio Nascimento Filho and Ernesto Ruppert Filho

Submitted: March 10th, 2019 Reviewed: August 7th, 2019 Published: September 9th, 2020

DOI: 10.5772/intechopen.89061

Chapter metrics overview

882 Chapter Downloads

View Full Metrics


The usage of switched reluctance machines (SRMs) grows following the power electronics development. For this reason, a precise mathematical model is crucial for the development of SRM automatic control projects due to the nonlinearities caused by the machine topology and working principle. This chapter focuses on SRM characterization procedure, enlightening the nonlinear characteristics and the importance of the magnetization curves to accomplish precise automatic control of SRM. Different methods found in the literature are commented. The blocked rotor test is detailed, and an automatic acquirement system to obtain the SRM magnetization curves is reasoned. Magnetization curves are processed to create the mathematical model of the SRM. The computational algorithm used to process the acquired data is presented with the purpose of clarifying the production of the lookup tables used in the mathematical model. The developed mathematical model is implemented in Matlab/Simulink® environment. The system simulates the SRM operating both in motoring and generating mode. The mathematical simulation results are compared to experimental results. The developed model is accurate and may be used to study SRM behavior and control systems for SRM applications.


  • switched reluctance machine
  • nonlinear characteristics
  • magnetization curves
  • mathematical modeling
  • computational simulation

1. Introduction

Switched reluctance machines (SRMs) have a doubly salient structure, which means that both the stator and the rotor have salient poles. Note that only the stator poles have field coils. The operation of SRM as motor is based on the principle of minimum reluctance, that is, when the winding on a pair of stator poles is energized, the closest poles of the rotor are attracted to a position of minimum reluctance, which generates rotating torque in the rotor. If a coordinated drive is performed, rotational movement occurs [1, 2, 3]. Usually, SRMs operate in the saturation region. Moreover, the presence of doubly salient structure and the working principle of SRM imply that SRMs have highly nonlinear characteristics. The nonlinear operation makes it difficult to represent the SRM by an efficient linear model as it is done for induction machines and synchronous machines [4]. To study SRMs, it is imperative to use models that accurately incorporate the nonlinear characteristics and quantity behavior of the system to be simulated. The most precise models for SRMs are based on experimentally acquired data. Several nonlinear models have been studied and tested in the literature [4, 5, 6].

In order to model the electrical and mechanical behavior of SRMs, it is necessary to obtain the magnetization curves ϕIθ of the machine. The curves express the nonlinear behavior of the SRM and can be used to relate the input voltage (VDC), electric current (I), rotor position (θ), and magnetic flux (ϕ) to the electromagnetic torque (Te) [6, 7]. The methods for acquisition of the magnetization curves are currently divided into direct and indirect methods. Indirect methods consist of determining the magnetization curves from the SRM static torque characteristics. However, these methods are highly complicated to perform with good accuracy, as any mechanical deviation leads to large errors in the magnetization curves. On the other hand, the direct methods consist of applying voltage to the SRM phases and determining the magnetic flux [8, 9, 10, 11].

Once the magnetization curves are obtained, the SRM model is generally built through lookup tables or neural network [4, 12]. For both methods, a large amount of data is required. The number of curves used to create the model is a determinant factor for the accuracy of the model. Diversely, the number of curves obtained experimentally is limited by the precision and execution time of the test. Therefore, a mathematical processing procedure is commonly used to achieve a larger number of magnetization curves. In some cases, analytical equations are developed to obtain intermediary magnetization curves [12, 13, 14]. However, experimental process errors, such as sensor errors, noise, residual currents, and numerical integration disparities, are encountered in the data obtained experimentally in magnetization tests [12, 15]. These errors may result in inconsistent characteristics of SRM operation. Thus, the mathematical processing to develop the lookup tables for current Iϕθ and electromagnetic torque Te(I,θ) must be robust and precise.

This chapter focuses on the characterization of SRM. Initially, the nonlinear characteristics of SRMs are presented. An automatic system to obtain the magnetization curves of SRM is uncovered. The procedure to process the experimental data is detailed, and the algorithms used in the Matlab/Simulink environment are made available. Mathematical simulations are performed, and the results are compared to those of experimental application to identify the accuracy of the developed model. Finally, a brief statistical analysis is employed to evaluate the precision of the mathematical model established.


2. Mathematical modeling of switched reluctance machines

2.1 Nonlinear characteristics of switched reluctance machines

To simplify the analysis of the nonlinear characteristics intrinsic to SRMs, consider some simplifications: (1) the magnetic coupling between phases is negligible, (2) there are no Eddy current and hysteresis losses, (3) the phase resistance is constant, and (4) the phase inductance depends on the rotor position and on the phase current.

With the assumptions made, an elementary circuit of one SRM phase may be derived as in Figure 1. The sum of the resistance voltage drop and the change rate of flux linkage must be equal to the applied voltage to a motor phase; thus Eq. (1) can be derived, where V is the voltage applied to the phase, i is the phase current, R is the phase resistance, λ is the phase flux linkage, θ is the rotor position, and e is the back electromotive force.

Figure 1.

Equivalent circuit for one SRM phase.


The phase flux linkage can be expressed as


Note that the phase inductance varies according to the rotor position, because of the reluctance variation, and according to the phase current due to the magnetic saturation. Furthermore, both the rotor position and the phase current may vary with time.

Substituting Eq. (2) into Eq. (1) and expanding, the phase voltage equation can be extended into Eq. (3):


In Eq. (3), the mechanical speed is given by the variation of the rotor position in accordance with time: ω=/dt. Thus, note that the phase voltage is composed of three components. The first term is the voltage drop in the phase resistance, the second term is the voltage drop in the phase inductance, and the third term is the induced back electromotive force, or back-emf (e). The back-emf is highlighted in Eq. (4) to focus on the perception of the direct relation between the rotor speed and the back-emf:


During the phase energization, a certain amount of magnetic flux linkage is generated. As the magnetic circuit depends on the rotor position, the amount of flux linkage generated depends on the electric current and rotor position. The magnetic flux characteristics according to the electric current are known as magnetization curves and can be used to model the SRM dynamics. The modeling procedure will be explained in detail further in this chapter. Magnetization curves of a generic SRM are presented in Figure 2(a). Note that the magnetization curves are obtained as the magnetic flux, versus the DC electric current in one phase, for a fixed angle (θ). When the phase current is low, the SRM works out of the saturated region. However, recall that usually SRMs work in the saturated region. Furthermore, the alignment and misalignment angles are marked in Figure 2(a) along with two intermediate angles (θ1 and θ2).

Figure 2.

Graphic representation of coenergy variation: (a) magnetic flux linkage according to rotor position and electric current intensity; (b) magnetic energy and coenergy for θ1 position; (c) magnetic energy and coenergy for θ2 position; and (d) coenergy variation between angles θ1 and θ2.

Figure 2(b) shows the magnetization curve for the intermediate angle θ1. For a given point P1 in the curve, there is an electric current value I1 and a corresponding flux linkage value λ1. In any case, the electric energy applied to the winding is stored in the form of magnetic energy (hatched region Oλ1P1). The stored magnetic energy (Wf) is calculated as [16]


The hatched area limited by the points OP1I1 represents the coenergy (Wf). The coenergy has no physical meaning. On the other hand, the mechanical work realized by the machine in a given period of time is equal to the variation in coenergy during the same period. The coenergy can be calculated as


Now, assume that the rotor position is driven to the second intermediate angle θ2 and the current is maintained I1, as in Figure 2(c). The new magnetic energy will be calculated as the region limited by the points Oλ2P2 and the coenergy as the region limited by the points OP2I1. Then, one can calculate the coenergy variation, that is, the mechanical work realized to take the rotor from position θ1 to position θ2. Figure 2(d) shows the coenergy variation as the hatched area limited by the points OP1P2. The variation of the electric energy (ΔWe) applied is calculated as in Eq. (7), where L1 and L2 are the phase inductance in positions θ1 and θ2 for the current I1, respectively.


Considering the variation in the linear portion of the magnetization curve, the coenergy variation is half the variation of electric energy applied to the phase winding, as in Eq. (8):


The average electromagnetic torque (T¯) produced when an electric current I1 flows through a phase winding is given by Eq. (9):


Considering infinitesimal variations, the instantaneous electromagnetic torque (Te) can be calculated as in Eq. (10), where i is the instantaneous DC current in the phase:


Observing Eq. (10), some information may be inferred. First, torque production does not depend on the electric current direction but has a quadratic relation with its amplitude. Moreover, the produced torque direction depends strictly on the inductance derivative at the energizing moment, while the inductance is a function of rotor position and electric current.

The nonlinearities caused by the saturation and reluctance variation during the rotor excursion are carried to the magnetization curves, electric current, and electromagnetic torque characteristic. For this reason, a well-founded model is of utmost importance for studies covering SRM dynamics and control.

2.2 Magnetization curves

The acquisition of the magnetization curves ϕIθ is crucial to model the electrical and mechanical behaviors of switched reluctance machines (SRM) as these machines operate essentially in the saturation region [1]. As aforementioned, more precise magnetization curves can be obtained through experimental tests. These tests are implemented to obtain the curves for specific rotor positions. The indirect methods consist of using the static torque characteristics to acquire the magnetization curves and may lead to substantial variation if mechanical deviations occur. The direct methods, conversely, consist of applying voltage to the SRM winding and determining the magnetic flux.

One simple way to obtain the magnetization curves is to apply sinusoidal AC voltage to the machine winding in different positions [17]. Once the root mean square current (Irms) and the lag angle between voltage and electric current (θl) are known, one can calculate the flux linkage as


This method returns errors if magnetic saturation occurs, which generally happens when working with SRMs. To work around this issue, the most implemented method is the blocked rotor test, as discussed in previous literature [8]. Thus, in this chapter, the blocked rotor test will be used. This test consists of locking the rotor in place while applying voltage steps for each position. The electric current and voltage signals must be stored in order to calculate the magnetic flux. Once the phase resistance is known, the magnetic flux is given by


The model accuracy is directly related to the number of curves and points in each curve. However, setting up the experiment for each angle and voltage is cumbersome. Hence, an automatic system can be developed to obtain the magnetization curves for as many positions as desired.

2.3 Automatic characterization system

The experimental characterization test is set up according to Figure 3. The test consists of positioning the SRM rotor at known positions and applying a voltage step. When the voltage step is applied, the current dynamics is stored. A stepper motor and a microstep driver are used to control the position. The stepper driver must have high resolution so that the position is precisely controlled. The maximum resolution used in this book chapter is 40,000 steps per mechanical cycle.

Figure 3.

General diagram of the automatic characterization system to obtain the magnetization curves [18].

A Digital Signal Processor (DSP) model TMS320F28335 from Texas Instruments® is responsible for managing the rotor position control. An absolute encoder model RE36SC06112B Resnishaw® with 12-bit resolution (0.087°) is connected to the DSP through SPI communication and used to measure the rotor position. The DSP adjusts the position by controlling the stepper motor driver. When the rotor reaches the desired position, the electromagnetic brake locks the SRM rotor. Then, the DSP enables the energizing of the desired phase. Phase voltage and current waveforms are retrieved through an oscilloscope (Lecroy® 24MXs-B) using an isolated voltage differential probe and an isolated current probe, both with high resolution.

For better control and management of the experiment, a human machine interface (HMI) was developed in LabView®. The communication between the HMI and the DSP board is made through serial communication protocol (RS-232), while the communication between the HMI and the oscilloscope is made through the Ethernet using the IP protocol. Figure 4 shows the flowchart for the software developed in LabView®.

Figure 4.

Flowchart of the test management scheme [18].

Initially, some parameters, such as motor topology, test angles, phase resistance, and external resistance, are passed to the software. Next, the DSP is commanded to calibrate the encoder position according to the rotor position. In this step the electromagnetic brake is released, and the tested phase is energized until the rotor pole is aligned to the stator pole. This position is set as the initial position for the test. Afterward, the new desired position is informed to the DSP. The DSP sets the rotor position and sends a confirmation signal to the HMI.

When the rotor position is confirmed, the HMI configures the oscilloscope (through the Ethernet cable) to await an external trigger signal in order to acquire the data. The DSP sends a trigger pulse to the oscilloscope and then energizes an SRM phase. The acquired data are read in the oscilloscope and sent to the HMI via the Ethernet cable. After, the magnetic flux is computed through Eq. (12), and the ΦIθθtested curve is created. The commanded position is then incremented, and the process is repeated until the final position is reached. At this stage, all ΦIθ collection has been obtained.

Figure 5 shows the assembled system for automatic characterization, wherein an industrial SRM was subjected to the test. The tested machine is a 12/8 three-phase SRM with 1.5kW nominal power, 1500rpm nominal speed, 180280V supply voltage (DC voltage), 1.05Ω phase resistance, 0.45Wb.esp maximum magnetic flux, and 0.002kgm2 inertia moment. The machine parameters are gathered in Appendix C. The datasheet information provided by the manufacturer is used to stipulate the DC current source sizing, considering the SRM maximum current. In order to extrapolate the model, higher voltage must be applied to the machine terminal; thus, an external resistor must be added in series to the phase winding under test. The phase resistance, if not provided by the manufacturer, can be measured with a precision multimeter by performing a four-probe test. The resistance value precision is of utmost importance to the test accuracy.

Figure 5.

Experimental setup [18].

The magnetization curve acquisition experiment must be performed varying the rotor position from the aligned to the misaligned position, which for the 12/8SRM corresponds to 22.5°. A fixed step of 2.5° was used for each iteration, totalizing 10 magnetization curves. The HMI and the magnetization curves for the tested SRM are presented in Figure 6. On the left side, there is a gauge and a text box indicating the actual rotor position. Finally, there is a waveform graph with the phase current and voltage applied to the phase terminals. The algorithm that generates the curves derived from the acquired data is presented in the Appendix A. The curves generated will be further processed to obtain the lookup tables.

Figure 6.

Human machine interface for the management software developed in Labview® magnetization test results.

2.4 Switched reluctance machine mathematical model

The mathematical model of SRM is divided in electrical and mechanical portions. The electrical portion is mathematically represented by Eq. (1), while the mechanical portion is represented by Eq. (13), where Tmec is the mechanical torque, B is the viscous friction coefficient, and J is the moment of inertia:


A block diagram representing the mathematical model is presented in Figure 7. To implement the model, the IΦθ and TIθ points must be known. The data obtained experimentally can be processed to obtain two lookup tables as will be discussed in the following sections.

Figure 7.

Complete model for mathematical simulation of an SRM.

For a precise model, the relation between magnetic flux, electric current, and phase excitation voltage must be well established, as in the magnetization curves. In some cases, fuzzy logic is used to calculate the magnetic characteristics and to model the SRM [19, 20]. Alternatively, IΦθ analytical equations may be created [21]. Fourier series expansion is used to represent the necessary equations to simulate the SRM in this case.

The usage of IΦθ and TIθ lookup tables (LUT) allows faster simulation than the aforementioned methods. However, to obtain an accurate model, the number of magnetization curves required is unfeasibly high to be performed experimentally. With mathematical processing of the test data, it is possible to obtain intermediate curves from the experimental ones.

2.5 Processing the acquired data

During the automatic characterization test, 10 different magnetization curves were obtained as presented in Figure 6. The acquired data is used to build the lookup tables.

The initial objective is to obtain IΦθ LUT with N columns (as position) and N lines (as flux), where the flux varies from 0 to the maximum flux Φmax obtained when the rotor is in the aligned position and the position must vary from 0 to 45°. The flux step must be Φmax/N and the position step must be 45°/N. The value of N must enable detailed comprehension regarding the model. On the other hand, the value must not be too large to minimize calculation time in mathematical simulations. In this chapter, the chosen value for N is 200, which returned a good compromise between simulation speed and likeness of the model.

2.5.1 Polynomial magnetization curves

With experimental curves ΦIθ for each known position, polynomial fits are used on these data to obtain functions that describe the curve. The functions have the format of Eq. (14). The coefficients for the obtained data are shown in Table 1. The results of the polynomial fits are very precise ones, for each position, there are 10,000 acquired points Iϕ. Figure 8 shows the curves obtained from the polynomial regression:


Table 1.

Polynomial fits coefficients.

Figure 8.

Polynomial fit and experimental acquired magnetization curves [18].


Now, the magnetization curves are expressed as functions of current for fixed positions. However, there are only 10 curves (one for each tested position) as depicted in the first table of Figure 9. The next step is to set the number of current points we desire in the LUT. Consider that N points are desired. Then, using Eq. (13), the current value can be varied from 0 to Imax in steps of Imax/N in order to obtain Table b in Figure 9.

Figure 9.

Procedure to obtain the IΦθ table [18].

With these data, it is possible to obtain the points θΦI=constant, that is, how the flux behaves when the rotor position varies for a constant current. For each current value, there are 10 θΦ points; however, more points are required to achieve an accurate model. The next sessions deal with further data processing.

2.5.2 Procedure to obtain Iϕθ and Tiθ lookup tables

In an SRM, for a constant current applied to the phase winding when the rotor is in the aligned position (θ = 0°), the reluctance of the magnetic circuit is minimal, and, therefore, the magnetic flux is maximum. As the rotor poles align with the stator poles, the reluctance increases, and the magnetic flux decreases until the rotor reaches the misaligned position in θ = 22.5° for an 12/8 pole SRM. Note that if the rotor and stator pole widths are different, during the next misalignment position, the flux may remain constant. Errors in experimental tests may lead to differences in magnetic flux when the rotor is close to the aligned and misaligned positions [22]. These errors cause inaccuracies even in models obtained with experimental data.

Again, for each value of current, there are 10 θΦ points that must be turned into a larger quantity of points. In order to do that, a robust regression must be applied. The attainment of the functions may be compromised by the use of less robust types of regressions, which may lead to errors. Hence, the generation of the θΦI=constant curves is tested with polynomial, linear, and cubic spline and smoothing spline regressions.

Polynomial fit may present abrupt oscillations, especially close to the regression interval [23]. This undesired phenomenon may be accentuated due to the magnetic flux variation for a given current when the rotor is close to the aligned and misaligned positions. As depicted in Figure 10, the polynomial regression represents improper magnetic flux behavior. The flux should decrease smoothly between aligned and misaligned positions.

Figure 10.

(a) Magnetic flux according to rotor position; (b) zoom at critical position [18].

Piecewise linear interpolation is a simple and easy technique to be implemented. The main idea is to connect the data points with straight lines as addressed in [2]. Though, when the number of data points is small, the curves do not present a smooth profile, notably in the regions close to the experimental data points.

To attain smoother behavior, cubic splines may be used [22, 24]. In this case, cubic polynomials are determined to connect the experimental data points. The accuracy of this method depends on the amount of experimental data. This method ensures that the obtained curve passes through all experimental data points, which means that all experimental data acquirement errors are carried to the model, especially in positions close to alignment and misalignment.

Thus, to overcome these particularities, a more robust technique must be used. Smoothing spline technique minimizes Eq. (15), which represents the sum of square errors (first term) and the roughness of smoothness factor (second term) [25]. The parameter p defines the smoothing spline and can be calculated as Eq. (16), where h is the average spacing between points [26]. The smoothness obtained using the smoothing spline technique can be observed in Figure 11.

Figure 11.

IΦθ lookup table [18].


Now we have N functions, each for a fixed current and for the current ranging from 0 to Imax in steps of Imax/N. With these curves we can find the ΦθI points for varying the position from 0 to θmax= 22.5° in steps of θmax/N and then, create Table c in Figure 9.

As previously discussed, for the SRM mathematical model, we need the IΦθ LUT. Thus, as observed in Table c in Figure 9, we get the data points Φθ through Eq. (17). With these points, the IΦ functions are obtained through a linear regression. In this case, the linear regression is applied because it enables extrapolating the current value of the test, if necessary:


Table IΦθ is obtained through Eq. (16) by varying the magnetic flux from 0 to Φmax in steps of Φmax/N. This table represents the current behavior in respect to the magnetic flux varying from 0 to Φmax and in respect to the rotor position varying from 0 to 22.5°. The 12/8 SRM has a polar angle of 45°; thus, the table must be reflected and added to the end of the original table. The final IΦθ LUT is presented in Figure 11.

Henceforth, the data from Table c in Figure 9 is used to estimate the coenergy through the trapezoidal method as in Eq. (18). The estimated magnetization curves and coenergy as a function of the electric current are presented in Figure 12(a) and (b), respectively.

Figure 12.

(a) Magnetization curves estimated through the acquired data; (b) estimated coenergy.


For a constant current value, the pairs Wθ can be calculated using Eq. (18). Then, the electromagnetic torque may be calculated for a given current as a function of rotor position as observed in Eq. (19). If the same procedure is implemented for all current values in the IΦθ LUT, one can create the TIθ LUT by interpolating the points obtained with Eq. (19):


Different interpolation methods lead to slight disparities in the inductance profile that may cause major discrepancies between the model and the real system behavior. Given the relation between the produced torque and the inductance derivative, the inductance profile generated may deviate from the actual profile and cause divergences in the torque lookup table. For example, if linear interpolation is used, the inductance profile will be composed as the junction of lines with different slopes, specifically in the region bounding the experimentally acquired points. That will cause the torque LUT to present subtle variations in the returned torque according to position. Another common problem is the unexpected change of slope caused by the polynomial fit and Hermite cubic interpolations. Observed in Figure 10(b), when the Hermite cubic interpolation is used, the slope of inductance changes from negative to positive and back to negative, which causes the torque profile to have abrupt variation at the transition from negative to positive torque produced. When the polynomial fit is applied, the slope becomes positive at the end of the inductance profile, causing a change from generating to motoring torque before the real transition.

The usage of polynomial regression, linear interpolation, and Hermite cubic interpolation to obtain the ΦθI=constant functions implies that variations on the torque and inductance profiles are not suitable to the SRM real behavior [18]. These variations may cause problems in projects that require accurate models, such as torque ripple minimization and position estimation. Therefore, the most suitable technique to model the performance of the SRM is the smoothing splines provided that no disturbances or unexpected behavior appeared in the inductance and torque profiles. The TIθ LUT surface obtained using the smoothing spline interpolation is presented in Figure 13; note the smooth transition between negative and positive torque in the table.

Figure 13.

TIθ lookup table [18].

Note that the experimentally acquired data was directly used to develop the tables from the initial position (θ=0°) to half the dwell angle (θ=22.5°). The other hemisphere of the table was synthesized by mirroring the developed part.

The algorithm developed in Matlab/Simulink® environment for realization of the procedure described in this section is provided at the Appendix B. These algorithms include the data processing procedure to obtain both the IΦθ and TIθ lookup tables. With the supplied code and the information presented, the reader should be able to replicate the results achieved in this book chapter.


3. Model implementation

With the obtained LUTs IΦθ and TIθ, the SRM model is implemented using the Matlab/Simulink® software, as presented in Figure 14. The electric voltage in each phase is measured, and the magnetic flux is calculated through a discrete integral block, as in Eq. (12). The rotor position is also obtained by integrating the SRM rotational speed so that the angles from each phase may be calculated.

Figure 14.

SRM model diagram developed in Simulink®.

The magnetic flux and the phase positions are used as input to the IΦθ LUT. The output current is then used along with the phase position as input for the TIθ LUT, which outputs the electromagnetic torque. In both cases, for nonexisting input values, the output is calculated through cubic interpolation. The total electromagnetic torque is obtained as the sum of the torque produced by each phase. The output currents from the IΦθ LUT are generated in the model terminals using current-controlled sources.


4. Model validation

To validate the obtained SRM model, two control systems were implemented in Matlab/Simulink® environment and also in an experimental bench. In the first system, the SRM is operating as a motor and speed control is implemented. In the second implemented system, the SRM is operating as a generator and the DC link voltage is controlled. Next sessions address the implementation and obtained results for both systems.

4.1 Motor operation-speed control

The block diagram for the speed control system simulated is presented in Figure 15. The SRM operates as a motor at a constant load of 0.5N.m. The error between reference and instantaneous speed is processed through a PI controller to create the current reference. The current regulator block generates the driving signals for the AHB converter according to the turn-off (θoff) and turn-on (θon) angles.

Figure 15.

Block diagram for the SRM speed control system.

The experimental setup is assembled in the same conditions as the simulation. A DSP TMS320F28335 is used to control the speed. The simulations must be discretized to accurately represent the experimental behavior, and the discretized control algorithm is embedded in the DSP.

Figure 16 depicts the experimental setup. There are labels indicating the components in the setup. The AHB converter and gate drives are indicated by the “a” label and the oscilloscope and the sensors board are indicated by the “b” and “c” labels, respectively. The signal conditioning and DSP board are indicated by the “d” label. The induction machine (IM) used as load is indicated by the “e” label. The voltage source and the SRM are indicated by the “f” and “g” labels, respectively. For both the experiment and the simulation, an asymmetric half bridge (AHB) converter is used to drive the SRM in motor mode. In the experimental setup, the IM is used as load.

Figure 16.

SRM experimental setup.

Two simulations are conducted to study the behavior of the model at below base speeds and above base speeds. For the first simulation setup, named S1, the speed reference is set to 30rad/s, to simulate below base speeds, and the current and turn-off angle are controlled. The simulation results are presented in Figures 17 and 18. Figure 17 shows the electric current of the three phases of the SRM, while Figure 18 presents the phase A voltage and current.

Figure 17.

Phase currents for S1 setup.

Figure 18.

Phase A current and voltage for S1 setup.

For the second simulation conducted, named S2, the reference speed was set to 130rad/s, to simulate above base speeds. For this simulation, only the turn-off angle is controlled because voltage single-pulse operation takes place. Figure 19 depicts the electric currents of all the three phases. Figure 20 shows the voltage single pulse applied to the phase and the electric current produced.

Figure 19.

Phase currents for S2 setup.

Figure 20.

Phase A current and voltage for S2 setup.

The simulation setups S1 and S2 are then replicated experimentally as the E1 and E2 experiments, respectively. The same waveforms from the simulations are collected for comparison. Figure 21 depicts the electric currents in the SRM phases and the reference current, while Figure 22 shows the phase A current and applied voltage (VA), both for the E1 setup.

Figure 21.

Phase currents for E1 setup.

Figure 22.

Phase A current and voltage for E1 setup.

Figures 23 and 24 are collected using the E2 setup. Figure 23 presents the phase electric currents of the SRM and the maximum permitted current, while Figure 24 depicts the excitation voltage VA and the electric current in phase A.

Figure 23.

Phase currents for E2 setup.

Figure 24.

Phase A current and voltage for E2 setup.

Comparing the waveforms from S1 and E1, one can observe that the model is consistent for below base speeds. Some minor differences occur due to other parameters of the systems, such as the power switches and data sampling period. Nonetheless, the accuracy of the model is evidentiated.

For above base speeds, the model proves to be reliable as well. Comparing the S2 and E2 results, we ascertain that minor differences occur in the current waveform. Still, the model precisely predicts the real behavior of the SRM.

4.2 Generator operation-voltage control

Figure 25 shows a simplified block diagram of the simulated system. The switched reluctance generator (SRG) operates at a constant speed of 1200rpm. The SRG feeds a resistive load, and the control is responsible for maintaining the bus voltage on the reference value Vref. A PI controller processes the voltage error and regulates the turn-off angle θoff, thus controlling the SRG level of magnetization to maintain a constant voltage at the DC link.

Figure 25.

Simulated control system for the SRG.

The experimental setup must be assembled with the same conditions as the simulation. A DSP TMS320F28335 can be used to control the DC voltage. The controller in the simulations must be discretized (sample time of 40 kHz) and embedded in the DSP.

An AHB converter is used to drive the phases of the SRG. An IM driven by an inverter may be used as the prime mover. An absolute encoder is used to detect the rotor position. A pulse generator drives the machine phase according to the driving angles (θon and θoff). Figure 26 shows the experimental setup.

Figure 26.

SRG experimental setup [18].

The simulation was set to start with a 180Ω load and Vref=100V. At 5s of simulation, Vref is set to 160V. The DC bus voltage, turn-off angle (θoff) and phase A current are shown in Figure 27 at the load change moment. To operate the SRG in self-excited mode, an initial magnetization is necessary, which is provided by a 2250μF capacitor at the DC bus. Note that the control acts on the turn-off angle and increases the SRG excitation voltage to supply the energy to be generated, thus keeping the DC bus at the voltage reference value. Several techniques may be applied to control the DC bus voltage [27]. The DC bus capacitor is also responsible for filtering the voltage ripple. Figure 28 depicts the experimental results at the same conditions as in the simulation.

Figure 27.

Simulation results [18].

Figure 28.

Experimental results [18].

The electric currents of the experiment and simulation test are compared in Figure 29. To evaluate the accuracy of the obtained model, statistical parameters were calculated, such as root mean square error (RMSE), mean absolute error (MAE), sum of square errors (SSE), and R-square (R2). RMSE and MAE relative errors for the SRG electric current are defined as Eqs. (19)(23), where Iexp and Isim are the measured and simulated SRG phase currents, n is the number of data points, and ej and eavg are relative errors and their average value, respectively:

Figure 29.

Simulated and experimental currents: (a) VDC=100V; (b) VDC step; (c) VDC=160V [18].


Table 2 shows the results of the statistical analysis comparing the simulated and experimental electric current. Observe that the model obtained with the developed instrumentation and using the smoothing splines describes accurately the nonlinear magnetic characteristics of the SRM.


Table 2.

Statistic goodness-of-fit parameters.


5. Conclusions

In this chapter, an automatic characterization system for SRM was introduced and developed. The system is able to obtain automatically and accurately the magnetization curves. With the obtained curves, it is possible to synthesize a nonlinear model consistent with the real SRM behavior. The model allows precise simulations, which support the development of many automatic control systems. The application of smoothing spline technique in data processing granted accurate models. Simulations and experimental implementation in motoring and generating modes were performed. For the motoring mode, a speed control with variable angles was developed, while for generating mode, voltage control was performed. The results endorse the similarity between the model and the real behavior of the SRM in both, motoring and generating modes. The accuracy of the model proves that the mirroring method used to complete the table is efficient for the creation of the tables. That is only possible because the interpolation method used, for instance smoothing splines, returns a smooth curve at the borders.



This chapter was a result of researches supported by the São Paulo Research Foundation, FAPESP, under Grants 2017/21640-9, 16/08645-9, and 15/03248-9.


A. Appendix


A.1 Procedure to obtain the magnetization curves from the blocked rotor test data

1close all;
2%% Blocked rotor test
3% Positions used in the test
4ang=[0 2.5 5 7.5 10 12.5 15 17.5 20 22.5];
5% Experimentally acquired flux values for these positions
6fluxExp=[0 0 0 0.000402 0.000632 0.001532 0.001532 0.001035 0 0.001035];
7% Experimental current values for the position and their respective flux
8iExp=[0 0 0 0.1635 0.1829 0.1829 0.1829 0.192 0 0.192];
9ang = ang(:); % Transposition of angles vector
10% Variables initialization
14for q = 1:1:10 %goes from 1 to 10 because there are 10 initial positions
15 d=1;
17% This loop consider the maximum extrapolated current and count how
18% many different i values may be used
19while i<27.5
20% since we have a 20 columns table and want to take only 10, we use the 2*q factor
22   d=d+1;
25 y=1;
26% Retrieve the current values
28% Fills the i space for below 0.15 A currents
29while i<0.15
31   y=y+1;
33   current(1,q) = 0;
34   flux(1,q) = 0;
35   figure(1);
36   hold off;
37   a=iExp(q);
38   b=fluxExp(q);
39% populate current and flux according to positions
40for g = 1:(d-y)
41   h = Aazul1k525ok(y+g,(2*q-1))-fluxExp(q);
42if h > -1
43     current(g+1,q)=Aazul1k525ok(y+g,(2*q))+iExp(q);
44     flux(g+1,q)=Aazul1k525ok(y+g,(2*q-1))+fluxExp(q);
46     current(g+1,q)=0;
47     flux(g+1,q)=0;
50if q <= 19
51   hold all;
52   plot(current(1:d-y,q),flux(1:d-y,q),'LineWidth',1.5);
55% Figure configuration
56xlabel('Current [A]','fontsize',14);
57ylabel('Flux [Wb.esp]','fontsize',14);
58box on
59title('\phi(I,\theta) Curves');
60hold all
61text(3.3,0.11,'Aligned\rightarrow ','fontsize',12,'HorizontalAlignment','left')
62text(15,0.02,'\uparrow Misaligned','fontsize',12,'HorizontalAlignment','left')
63legend off
64grid on;
65axis([0 27 0 0.25])


A.2 Data processing to obtain the lookup tables

1%% Look Up Table creation Algorithm
2% Author: Tárcio André dos Santos Barros
3% Coauthor: Marcelo Vinícius de Paula
4% University of Campinas - Campinas, SP - Brazil
5%% Description:
6% This algorithm receive the data from magnetization curves data and calculate the I(theta,flux), T(I,Theta) e I(T,Theta) lookup tables (LUTs)
8% Load the experimentally obtained magnetization curves data
10   h = findobj(gca,'Type','line');
13% These functions carry the magnetization curves data according to position obtained through the blocked rotor test
14%% Parameter initialization
15Ncurves = 10;     % Number of experimental test curves
16Npoints = 201;   % Desired number of data points in the LUTs
17IMax = 27.5;    % Maximum current in the test
18IMax2 = 27.5;     % Maximum desired current in the model
19angMax = 45;    % Maximum angle: 45 for a 12/8 SRM and 60 for a 8/6 SRM
20ang = 22.5;       % Maximum angle of SRM curves: 22.5 for 12/8 SRM and 27.5 for 8/6 SRM
21fMax = 0.2225;   % Maximum flux obtained in the blocked rotor test
22TMax = 15.3020;  % Maximum torque of TTBLD table
23TMax2 = 20; % Maximum desired torque for the model
24%% Initialize vectors that will contain the curves
25flux_i_thetaCte = zeros(Ncurves,Npoints);
26fluxCalc = zeros(101,Npoints);
27% Vector with the positions used in the blocked rotor test
28posExp = [22.5 20 17.5 15 12.5 10 7.5 5 2.5 0];
29posExp = posExp(:);           % Transposition of the vector
30i_tab = 0:(IMax/(Npoints-1)):IMax;   % Create vector for experimental currents
31i_tab = i_tab(:);             % Transpose vector
32i_tab2 = 0:(IMax2/(Npoints-1)):IMax2;  % Create vector for model currents
33i_tab2 = i_tab2(:);            % Transpose vector
34flux_tab = 0:(fMax/(Npoints-1)):fMax;  % Create flux vector for model
35flux_tab = flux_tab(:);          % Transpose vector
36ang_tab = 0:(angMax/200):angMax;    % Create position vector for the model (0-AngMax)
37ang_tab = ang_tab(:);         % Transpose vector
38ang_tab2 = 0:(ang/100):ang;      % Create position vector for the model (0-AngMax/2)
39ang_tab2 = ang_tab2(:);        % Transpose vector
40T_tab = -TMax:2*TMax/(Npoints-1):TMax; % Create torque vector for the model (0-Tmax)
41T_tab = T_tab(:); % Transpose vector
42T_tab2 = -TMax2:2*TMax2/(Npoints-1):TMax2; % Create torque vector for the model (0-Tmax/2)
43T_tab2 = T_tab2(:); % Transpose vector
44%% Create figure with polynomial fit of experimental data
46%% flux(theta,current) curves obtention
47% Realization of fit for the beginning values
48for curve = Ncurves:-1:4 % Polynomial fit of experimental data
49Xaxle = iExpData{curve,1};
50Yaxle = fExpData{curve,1};
51Xaxle = Xaxle(:);
52Yaxle = Yaxle(:);
53% phi(i) for constant theta curves theta = (0:2.5:22.5)
54  flux_i_thetaCte10 = fit(Xaxle,Yaxle,'poly6');
55% Get the coefficients for each curve
56coef_poly(curve,1:7) = coeffvalues(flux_i_thetaCte10);
57for curvePoints = 0:(Npoints-1)
58% Flux curves from Ncurves to 4
59flux_i_thetaCte(curve,curvePoints+1) = flux_i_thetaCte10(curvePoints*IMax/(Npoints-1))-flux_i_thetaCte10(0);
62for curve=3:-1:1 % Linear fit from experimental data
63Xaxle = iExpData{curve,1};
64Yaxle = fExpData{curve,1};
65Xaxle = Xaxle(:);
66Yaxle = Yaxle(:);
67% Draw curve for specific position
68  flux_i_thetaCte10 = fit(Xaxle,Yaxle,'poly6');
69% Get the coefficients for each curve
70coef_poly(curve,1:7) = coeffvalues(flux_i_thetaCte10);
71for curvePoints = 0:(Npoints-1)
72% Curves from 3 to 1
73flux_i_thetaCte(curve,curvePoints+1) = flux_i_thetaCte10(curvePoints*IMax/(Npoints-1))-flux_i_thetaCte10(0);
76% Diminishment of flux values according to position
77flux_i_thetaCte(1,1:4) = flux_i_thetaCte(1,1:4)-0.00002;
78flux_i_thetaCte(1,4:25) = flux_i_thetaCte(1,4:25)-0.0001;
79% At this point we have 10 phi(i) curves, one for each position(0:2.5:22.5)
80%% Table b calculation
81% Calculate the phi(theta) functions for each current in the table and determine, through polynomial fit, the flux. Also obtain the flux for intermediate positions
82% 201 flux values for each of the 10 positions
83for Ncorrente = 1:201
84% ang,flux
85flux_theta_iCte = fit(posExp,flux_i_thetaCte(:,Ncorrente),'smoothingspline');
86for curvePoints = 0:100
88fluxCalc(curvePoints+1,Ncorrente) = flux_theta_iCte(curvePoints*ang/100);
91%% Extra: L(theta) for i constant for each table position
93for IndCurvePoints=0:200
96for IndCurvePoints = 101:201
99ind(:,1) = ind(:,2);
100indCalc = [];
101for IndCurvePoints = 1:201
102bufferInd = fit(ang_tab,ind(:,IndCurvePoints),'smoothingspline');
103for curvePoints = 0:200
104indCalc(curvePoints+1,IndCurvePoints) = bufferInd(curvePoints*angMax/200);
107% At this point we have the phi(I,theta) curves up to Imax
108%% Calculation of Table c
109% Obtaining new phi(I,theta) curves and extends to maximum current
110for Nfluxes=1:101
111flux_I_posCte = fluxCalc(Nfluxes,:); % get flux for each position
112flux_I_posCte = flux_I_posCte(:); %transpose vector
113flux_theta_iCte = fit(i_tab,flux_I_posCte,'linear');% fit phi(I)
114for curvePoints = 0:200
115flux_theta_I(Nfluxes,curvePoints+1) = flux_theta_iCte(curvePoints*IMax2/200); %flux(theta,Current)
118% At this point we have Table c - phi(I,Theta)
119%% I(theta,phi) table creation
120% For the computational model, we need the I(theta,phi) table. Calculate the I(theta,phi) and fit the I(phi,theta) and I(theta,phi) tables Calculates the I(phi) curves for all positions, going through half the total N to get to position 22.5 degrees
121for Nang = 1:101
122% phi(theta,I)
123fluxVector = flux_theta_I(Nang,:); % Flux vector for fixed angle through the entire current variation
124fluxVector = fluxVector(:);
125% I(phi) curves for a given angle
126flux_regression = fit(fluxVector,i_tab2,'linear');
127for curvePoints=0:(Npoints-1)
128IftLUT(Nang,curvePoints+1) = flux_regression(flux_tab(curvePoints+1));
131%% Mirror the IftLUT
133for curvePoints=102:201
134% Adds the mirrored vectors to the table
135IftLUT(curvePoints,:) = IftLUT((202-curvePoints),:);
137%% TitLUT obtention
138bufferTable_Phi_Theta_I = flux_theta_I;
139bufferTable_Phi_Theta_I(:,1) = 0;
140% Mirroring of buffer table for the entire driving period
141for curvePoints=101:201
142bufferTable_Phi_Theta_I(curvePoints,:)=bufferTable_Phi_Theta_I((202-curvePoints),:); %Mirroring
144%% TitLUT calculation process
145for Mpositions = 1:201
146for Nfluxes = 2:201
147   flux_vector2 = bufferTable_Phi_Theta_I(Mpositions,1:Nfluxes);
148   flux_vector2 = flux_vector2(:);
149   coenergy(Nfluxes) = trapz(i_tab2(1:Nfluxes),flux_vector2);
151CoenergyLines(Mpositions,:) = coenergy;
153%% TitLUT final definition
154for Mpositions=1:201
156TTBLDcalc(:,Mpositions) = (180/pi)*diff(CoenergyLines(:,Mpositions))./diff(ang_tab);
157hold on;
159for Mpositions=1:200
162% Adding table contour


A.3 Switched reluctance motor parameters

This appendix presents the parameters of the SRM used in this chapter:

  • Nominal power: 1.5kW

  • Nominal speed: 1500rpm

  • Number of poles: 12/8(stator/rotor)

  • Operation voltage: 180280V (DC voltage)

  • Winding resistance: 1.05Ω

  • Maximum flux linkage: 0.45Wb.esp

  • Inertia moment (obtained through deceleration test): 0.002kgm2


  1. 1. Krishnan R. Switched Reluctance Motor Drives: Modeling, Simulation, Analysis, Design, and Applications. Boca Raton, FL, USA: CRC Press; 2001
  2. 2. Miller TJE. Electronic Control of Switched Reluctance Machines (Newnes Power Engineering Series). New York, NY, USA: Elsevier; 2001
  3. 3. Sezen S, Karakas E, Yilmaz K, Ayaz M. Finite element modeling and control of a high-power SRM for hybrid electric vehicle. Simulation Modelling Practice and Theory. 2016;62:49-67
  4. 4. Kiyota K, Kakishima T, Chiba A. Comparison of test result and design stage prediction of switched reluctance motor competitive with 60-kW rare-earth PM motor. IEEE Transactions on Industrial Electronics. 2014;61(10):5712-5721
  5. 5. Cardenas R, Pena R, Perez M, Asher JCG, Wheeler P. Control of a switched reluctance generator for variable-speed wind energy applications. IEEE Transactions on Energy Conversion. 2005;20(4):691-703
  6. 6. Chen H, Gu JJ. Implementation of the three-phase switched reluctance machine system for motors and generators. IEEE/ASME Transactions on Mechatronics. 2010;15(3):421-432
  7. 7. Rafiq M, Rehman S-U, Rehman F-U, Butt QR, Awan I. A second order sliding mode control design of a switched reluctance motor using super twisting algorithm. Simulation Modelling Practice and Theory. 2012;25:106-117. Available from:
  8. 8. Ding W, Liang D. A fast analytical model for an integrated switched reluctance starter/generator. IEEE Transactions on Energy Conversion. 2010;25(4):948-956
  9. 9. Cai J, Deng Z, Hu R. Position signal faults diagnosis and control for switched reluctance motor. IEEE Transactions on Magnetics. 2014;50(9):8201811
  10. 10. Corda J, Jamil S. Experimental determination of equivalent-circuit parameters of a tubular switched reluctance machine with solid-steel magnetic core. IEEE Transactions on Industrial Electronics. 2010;57(1):304-310
  11. 11. Parreira B, Rafael S, Pires AJ, Branco PJC. Obtaining the magnetic characteristics of an 8/6 switched reluctance machine: From FEM analysis to the experimental tests. IEEE Transactions on Industrial Electronics. 2005;52(6):1635-1643
  12. 12. Nasirian V, Kaboli S, Davoudi A, Moayedi S. High-delity magnetic characterization and analytical model development for switched reluctance machines. IEEE Transactions on Magnetics. 2013;49(4):1505-1515
  13. 13. Song S, Zhang M, Ge L. A new fast method for obtaining flux linkage characteristics of srm. IEEE Transactions on Industrial Electronics. 2015;62(7):4105-4117
  14. 14. Shen L, Wu J, Yang S, Huang X. Fast flux linkage measurement for switched reluctance motors excluding rotor clamping devices and position sensors. IEEE Transactions on Instrumentation and Measurement. 2013;62(1):185-191
  15. 15. Zhang P, Cassani P, Williamson S. An accurate inductance profile measurement technique for switched reluctance machines. IEEE Transactions on Industrial Electronics. 2010;57(9):2972-2979
  16. 16. Barros TA d S, Neto PJ d S, Filho PSN, Moreira AB, Filho ER. An approach for switched reluctance generator in a wind generation system with a wide range of operation speed. IEEE Transactions on Power Electronics. 2017;32(11):8277-8292
  17. 17. de Oliveira ESL. Projeto, Construção, Simulação, Implementação e Testes de um Gerador a Relutância Chaveada Monofásico [thesis]. São Carlos, São Paulo: University of São Paulo; 2011
  18. 18. Dos Santos Barros TA, Dos Santos Neto PJ, De Paula MV, Moreira AB, Nascimento Filho PS, Ruppert Filho E. Automatic characterization system of switched reluctance machines and nonlinear modeling by interpolation using smoothing splines. IEEE Access. 2018;6:26011-26021
  19. 19. Torrey D, Niu X-M, Unkauf E. Analytical modelling of variable reluctance machine magnetization characteristics. IEE Proceedings - Electric Power Applications. 1995;142(1):14-22
  20. 20. Sun J, Zhan Q, Guo Y, Zhu J. Back propagation neural network applied to modeling of switched reluctance motor. In: Proceedings of the 12th Biennial IEEE Conference on Electromagnetic Field Computation; 2006. p. 151
  21. 21. Wang S-C. An fully-automated measurement system for identifying magnetization characteristics of switched reluctance motors. Measurement. 2012;45(5):1226-1238
  22. 22. Xue XD, Cheng KWE, Ho SL. Simulation of switched reluctance motor drives using two-dimensional bicubic spline. IEEE Transactions on Energy Conversion. 2002;17(4):471-477
  23. 23. Kahaner D, Moler C, Nash S. Numerical Methods and Software. Prentice-Hall, NJ, USA: Upper Saddle River Inc.; 1989
  24. 24. Moreira JC. Torque ripple minimization in switched reluctance motors via bi-cubic spline interpolation. In: Proceedings of the 23rd Annual IEEE Power Electronics Specialists Conference (PESC); Vol. 2; 1992. pp. 851-856
  25. 25. Mao S-H, Tsai M-C. An analysis of the optimum operating point for a switched reluctance motor. Journal of Magnetism and Magnetic Materials. 2004;282:53-56
  26. 26. Xue XD, Cheng KWE, Ho SL, Kwok KF. Trigonometry based numerical method to compute nonlinear magnetic characteristics in switched reluctance motors. IEEE Transactions on Magnetics. 2007;43(4):1845-1848
  27. 27. Silveira AWFV, Andrade D, Fleury A, Gomes L, Bissochi C, Dias R. Voltage control in starter/generator SRM based systems. In: Proceedings of the 2009 IEEE Energy Conversion Congress and Exposition (ECCE); 2009. pp. 2460-2465

Written By

Marcelo Vinícius de Paula, Thiago de Almada Lopes, Tárcio André dos Santos Barros, Paulo Sergio Nascimento Filho and Ernesto Ruppert Filho

Submitted: March 10th, 2019 Reviewed: August 7th, 2019 Published: September 9th, 2020