Open access peer-reviewed chapter

Mathematical Modeling of Switched Reluctance Machines: Development and Application

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 2019Reviewed: August 7th 2019Published: September 9th 2020

DOI: 10.5772/intechopen.89061

Abstract

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.

Keywords

• 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 Vis the voltage applied to the phase, iis the phase current, Ris the phase resistance, λis the phase flux linkage, θis the rotor position, and eis the back electromotive force.

V=Ri+θidtE1

The phase flux linkage can be expressed as

λθi=LθiiE2

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):

V=Ri+θidt=Ri+Lθididt+idLθidt=Ri+Lθididt+idtdLθi=Ri+Lθididt+dLθiE3

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:

e=dLθiE4

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 (θ1and θ2).

Figure 2(b) shows the magnetization curve for the intermediate angle θ1. For a given point P1in the curve, there is an electric current value I1and 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]

Wf=0tVidt=0tdtidt=0λ1iE5

The hatched area limited by the points OP1I1represents 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

Wf=0I1λdiE6

Now, assume that the rotor position is driven to the second intermediate angle θ2and 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λ2P2and 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 θ1to 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 L1and L2are the phase inductance in positions θ1and θ2for the current I1, respectively.

ΔWe=Vidt=dtidt=I1λ2λ1=L2L1I12E7

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):

ΔWf=12L2L1I12E8

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

T¯=ΔWfΔθ=12I12ΔLΔθE9

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

Te=Wfiθθ=12i2LiθθE10

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

ϕ=LI=VrmssinθlIrms2πfIrmsE11

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

ϕt=0tVRidtE12

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.

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®.

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θθtestedcurve 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.5kWnominal power, 1500rpmnominal speed, 180280Vsupply voltage (DC voltage), 1.05Ωphase resistance, 0.45Wb.espmaximum magnetic flux, and 0.002kgm2inertia 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.

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.

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 Tmecis the mechanical torque, Bis the viscous friction coefficient, and Jis the moment of inertia:

Tmec=TeJdtE13

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.

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 Ncolumns (as position) and Nlines (as flux), where the flux varies from 0 to the maximum flux Φmaxobtained when the rotor is in the aligned position and the position must vary from 0 to 45°. The flux step must be Φmax/Nand the position step must be 45°/N. The value of Nmust 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 Nis 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:

θp0p1p2p3p4p5p6
0.0°6.51e93.05e75.78e65.37e52.49e47.28e33.29e4
2.5°5.06e91.94e72.87e62.02e57.97e57.23e31.89e4
5.0°7.56e93.04e74.56e63.00e57.91e58.01e32.92e4
7.5°6.81e94.70e71.18e51.40e46.61e41.10e21.83e4
10.0°8.89e91.03e63.64e55.39e42.89e31.54e22.63e4
12.5°8.81e93.85e73.29e56.46e43.89e32.13e21.30e3
15.0°1.52e81.23e73.16e57.03e44.22e32.94e22.04e3
17.5°6.87e96.83e74.72e59.12e45.11e33.58e22.69e3
20.0°2.72e83.01e61.06e41.57e37.77e34.00e23.91e3
22.5°9.38e86.95e61.94e42.45e31.10e24.06e23.01e3

Table 1.

Polynomial fits coefficients.

Φiθ=n0°22.5°=p0n+p1ni+p2ni2+p3ni3+p4ni4+p5ni5+p6ni6E14

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 Npoints are desired. Then, using Eq. (13), the current value can be varied from 0to Imaxin steps of Imax/Nin order to obtain Table b in Figure 9.

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/8pole 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=constantcurves 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.

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 pdefines the smoothing spline and can be calculated as Eq. (16), where his the average spacing between points [26]. The smoothness obtained using the smoothing spline technique can be observed in Figure 11.

piyisxi2+1pd2sdx22dxE15
p=11+h36E16

Now we have Nfunctions, each for a fixed current and for the current ranging from 0to Imaxin steps of Imax/N. With these curves we can find the ΦθIpoints for varying the position from 0to θmax=22.5° in steps of θmax/Nand 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:

IΦθ=constant=i0+i1i0ΦΦ0Φ1Φ0E17

Table IΦθis obtained through Eq. (16) by varying the magnetic flux from 0to Φmaxin steps of Φmax/N. This table represents the current behavior in respect to the magnetic flux varying from 0to Φmaxand in respect to the rotor position varying from 0to 22.5°. The 12/8SRM 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.

Wniθ=constant=trapzi1:nϕ1:n2NE18

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):

T=180πWnWn1θnθn1n=2NE19

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=constantfunctions 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.

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.

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.

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.

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.

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.

The simulation setups S1and S2are then replicated experimentally as the E1and E2experiments, 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 E1setup.

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

Comparing the waveforms from S1and 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 S2and E2results, 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.

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 (θonand θoff). Figure 26 shows the experimental setup.

The simulation was set to start with a 180Ωload and Vref=100V. At 5sof simulation, Vrefis 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μFcapacitor 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.

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 Iexpand Isimare the measured and simulated SRG phase currents, nis the number of data points, and ejand eavgare relative errors and their average value, respectively:

RMSE=1nj=1neavgej2E20
ej=IexpIsimIexp100%E21
eavg=1nj=1nejE22
MAE=meanejE23

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.

TsrmErrorMAER2RMSESSE
100V0.21A6.80%0.9740.14468.94
160V0.017A4.99%0.98880.157210.57
Step0.28A5.73%0.98770.402385.45

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.

Acknowledgments

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.1 Procedure to obtain the magnetization curves from the blocked rotor test data

 1 close all; 2 %% Blocked rotor test 3 % Positions used in the test 4 ang=[0 2.5 5 7.5 10 12.5 15 17.5 20 22.5]; 5 % Experimentally acquired flux values for these positions 6 fluxExp=[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 8 iExp=[0 0 0 0.1635 0.1829 0.1829 0.1829 0.192 0 0.192]; 9 ang = ang(:); % Transposition of angles vector 10 % Variables initialization 11 i=0; 12 d=0; 13 current=0; 14 for q = 1:1:10 %goes from 1 to 10 because there are 10 initial positions 15 d=1; 16 i=0; 17 % This loop consider the maximum extrapolated current and count how 18 % many different i values may be used 19 while i<27.5 20 % since we have a 20 columns table and want to take only 10, we use the 2*q factor 21 i=Aazul1k525ok(d,(2*q)); 22 d=d+1; 23 end 24 i=0; 25 y=1; 26 % Retrieve the current values 27 i=Aazul1k525ok(y,(2*q)); 28 % Fills the i space for below 0.15 A currents 29 while i<0.15 30 i=Aazul1k525ok(y,(2*q)); 31 y=y+1; 32 end 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 40 for g = 1:(d-y) 41 h = Aazul1k525ok(y+g,(2*q-1))-fluxExp(q); 42 if 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); 45 else 46 current(g+1,q)=0; 47 flux(g+1,q)=0; 48 end 49 end 50 if q <= 19 51 hold all; 52 plot(current(1:d-y,q),flux(1:d-y,q),'LineWidth',1.5); 53 end 54 end 55 % Figure configuration 56 xlabel('Current [A]','fontsize',14); 57 ylabel('Flux [Wb.esp]','fontsize',14); 58 box on 59 title('\phi(I,\theta) Curves'); 60 hold all 61 text(3.3,0.11,'Aligned\rightarrow ','fontsize',12,'HorizontalAlignment','left') 62 text(15,0.02,'\uparrow Misaligned','fontsize',12,'HorizontalAlignment','left') 63 legend off 64 grid on; 65 axis([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) 7 clc; 8 % Load the experimentally obtained magnetization curves data 9 figure(1); 10 h = findobj(gca,'Type','line'); 11 iExpData=get(h,'Xdata'); 12 fExpData=get(h,'Ydata'); 13 % These functions carry the magnetization curves data according to position obtained through the blocked rotor test 14 %% Parameter initialization 15 Ncurves = 10;     % Number of experimental test curves 16 Npoints = 201;   % Desired number of data points in the LUTs 17 IMax = 27.5;    % Maximum current in the test 18 IMax2 = 27.5;     % Maximum desired current in the model 19 angMax = 45;    % Maximum angle: 45 for a 12/8 SRM and 60 for a 8/6 SRM 20 ang = 22.5;       % Maximum angle of SRM curves: 22.5 for 12/8 SRM and 27.5 for 8/6 SRM 21 fMax = 0.2225;   % Maximum flux obtained in the blocked rotor test 22 TMax = 15.3020;  % Maximum torque of TTBLD table 23 TMax2 = 20; % Maximum desired torque for the model 24 %% Initialize vectors that will contain the curves 25 flux_i_thetaCte = zeros(Ncurves,Npoints); 26 fluxCalc = zeros(101,Npoints); 27 % Vector with the positions used in the blocked rotor test 28 posExp = [22.5 20 17.5 15 12.5 10 7.5 5 2.5 0]; 29 posExp = posExp(:);           % Transposition of the vector 30 i_tab = 0:(IMax/(Npoints-1)):IMax;   % Create vector for experimental currents 31 i_tab = i_tab(:);             % Transpose vector 32 i_tab2 = 0:(IMax2/(Npoints-1)):IMax2;  % Create vector for model currents 33 i_tab2 = i_tab2(:);            % Transpose vector 34 flux_tab = 0:(fMax/(Npoints-1)):fMax;  % Create flux vector for model 35 flux_tab = flux_tab(:);          % Transpose vector 36 ang_tab = 0:(angMax/200):angMax;    % Create position vector for the model (0-AngMax) 37 ang_tab = ang_tab(:);         % Transpose vector 38 ang_tab2 = 0:(ang/100):ang;      % Create position vector for the model (0-AngMax/2) 39 ang_tab2 = ang_tab2(:);        % Transpose vector 40 T_tab = -TMax:2*TMax/(Npoints-1):TMax; % Create torque vector for the model (0-Tmax) 41 T_tab = T_tab(:); % Transpose vector 42 T_tab2 = -TMax2:2*TMax2/(Npoints-1):TMax2; % Create torque vector for the model (0-Tmax/2) 43 T_tab2 = T_tab2(:); % Transpose vector 44 %% Create figure with polynomial fit of experimental data 45 set(0,'DefaultFigureColor','w'); 46 %% flux(theta,current) curves obtention 47 % Realization of fit for the beginning values 48 for curve = Ncurves:-1:4 % Polynomial fit of experimental data 49 Xaxle = iExpData{curve,1}; 50 Yaxle = fExpData{curve,1}; 51 Xaxle = Xaxle(:); 52 Yaxle = 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 56 coef_poly(curve,1:7) = coeffvalues(flux_i_thetaCte10); 57 for curvePoints = 0:(Npoints-1) 58 % Flux curves from Ncurves to 4 59 flux_i_thetaCte(curve,curvePoints+1) = flux_i_thetaCte10(curvePoints*IMax/(Npoints-1))-flux_i_thetaCte10(0); 60 end 61 end 62 for curve=3:-1:1 % Linear fit from experimental data 63 Xaxle = iExpData{curve,1}; 64 Yaxle = fExpData{curve,1}; 65 Xaxle = Xaxle(:); 66 Yaxle = Yaxle(:); 67 % Draw curve for specific position 68 flux_i_thetaCte10 = fit(Xaxle,Yaxle,'poly6'); 69 % Get the coefficients for each curve 70 coef_poly(curve,1:7) = coeffvalues(flux_i_thetaCte10); 71 for curvePoints = 0:(Npoints-1) 72 % Curves from 3 to 1 73 flux_i_thetaCte(curve,curvePoints+1) = flux_i_thetaCte10(curvePoints*IMax/(Npoints-1))-flux_i_thetaCte10(0); 74 end 75 end 76 % Diminishment of flux values according to position 77 flux_i_thetaCte(1,1:4) = flux_i_thetaCte(1,1:4)-0.00002; 78 flux_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 83 for Ncorrente = 1:201 84 % ang,flux 85 flux_theta_iCte = fit(posExp,flux_i_thetaCte(:,Ncorrente),'smoothingspline'); 86 for curvePoints = 0:100 87 %flux(I,theta) 88 fluxCalc(curvePoints+1,Ncorrente) = flux_theta_iCte(curvePoints*ang/100); 89 end 90 end 91 %% Extra: L(theta) for i constant for each table position 92 ind=[]; 93 for IndCurvePoints=0:200 94 ind(:,IndCurvePoints+1)=1000*((fluxCalc(:,IndCurvePoints+1))./(IndCurvePoints*IMax/200)); 95 end 96 for IndCurvePoints = 101:201 97 ind(IndCurvePoints,:)=ind((202-IndCurvePoints),:); 98 end 99 ind(:,1) = ind(:,2); 100 indCalc = []; 101 for IndCurvePoints = 1:201 102 bufferInd = fit(ang_tab,ind(:,IndCurvePoints),'smoothingspline'); 103 for curvePoints = 0:200 104 indCalc(curvePoints+1,IndCurvePoints) = bufferInd(curvePoints*angMax/200); 105 end 106 end 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 110 for Nfluxes=1:101 111 flux_I_posCte = fluxCalc(Nfluxes,:); % get flux for each position 112 flux_I_posCte = flux_I_posCte(:); %transpose vector 113 flux_theta_iCte = fit(i_tab,flux_I_posCte,'linear');% fit phi(I) 114 for curvePoints = 0:200 115 flux_theta_I(Nfluxes,curvePoints+1) = flux_theta_iCte(curvePoints*IMax2/200); %flux(theta,Current) 116 end 117 end 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 121 for Nang = 1:101 122 % phi(theta,I) 123 fluxVector = flux_theta_I(Nang,:); % Flux vector for fixed angle through the entire current variation 124 fluxVector = fluxVector(:); 125 % I(phi) curves for a given angle 126 flux_regression = fit(fluxVector,i_tab2,'linear'); 127 for curvePoints=0:(Npoints-1) 128 IftLUT(Nang,curvePoints+1) = flux_regression(flux_tab(curvePoints+1)); 129 end 130 end 131 %% Mirror the IftLUT 132 IftLUT(:,1)=0; 133 for curvePoints=102:201 134 % Adds the mirrored vectors to the table 135 IftLUT(curvePoints,:) = IftLUT((202-curvePoints),:); 136 end 137 %% TitLUT obtention 138 bufferTable_Phi_Theta_I = flux_theta_I; 139 bufferTable_Phi_Theta_I(:,1) = 0; 140 % Mirroring of buffer table for the entire driving period 141 for curvePoints=101:201 142 bufferTable_Phi_Theta_I(curvePoints,:)=bufferTable_Phi_Theta_I((202-curvePoints),:); %Mirroring 143 end 144 %% TitLUT calculation process 145 for Mpositions = 1:201 146 for 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); 150 end 151 CoenergyLines(Mpositions,:) = coenergy; 152 end 153 %% TitLUT final definition 154 for Mpositions=1:201 155 %T=dW/dTheta 156 TTBLDcalc(:,Mpositions) = (180/pi)*diff(CoenergyLines(:,Mpositions))./diff(ang_tab); 157 hold on; 158 end 159 for Mpositions=1:200 160 TitLUT(Mpositions+1,:)=TTBLDcalc(Mpositions,:); 161 end 162 % Adding table contour 163 TitLUT(201,:)=0; 164 TitLUT(1,:)=0;

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Ω

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

More

© 2020 The Author(s). Licensee IntechOpen. This chapter is distributed under the terms of the Creative Commons Attribution-NonCommercial 4.0 License, which permits use, distribution and reproduction for non-commercial purposes, provided the original is properly cited.

How to cite and reference

Cite this chapter Copy to clipboard

Marcelo Vinícius de Paula, Thiago de Almada Lopes, Tárcio André dos Santos Barros, Paulo Sergio Nascimento Filho and Ernesto Ruppert Filho (September 9th 2020). Mathematical Modeling of Switched Reluctance Machines: Development and Application, Modelling and Control of Switched Reluctance Machines, Rui Esteves Araújo and José Roberto Camacho, IntechOpen, DOI: 10.5772/intechopen.89061. Available from:

Related Content

Modelling and Control of Switched Reluctance Machines

Edited by Rui Esteves Araújo

Next chapter

Some Basic and Key Issues of Switched-Reluctance Machine Systems

By Chang-Ming Liaw, Min-Ze Lu, Ping-Hong Jhou and Kuan-Yu Chou

First chapter