20230522
Current in an inductor with a ferromagnetic core
This work is devoted to one difficult topic about the current in coils with ferromagnetic cores, in which almost no mathematical research has been carried out before.
This is due to the rather complex dependence of the inductance of such a coil on the magnetic field strength in it,
and hence the complexity, and sometimes the impossibility of analytical solutions of those differential equations offered by the classics.
The author found a completely different approach to this problem and obtained a fairly simple analytical dependence of the current on time.
It requires obtaining only one coefficient, which will be found by three points on the oscillogram, by means of cursor measurements.
Although the basic formula derived will work for any core,
nevertheless, in this work we will focus on coils with closed cores without a gap.
A separate work will apparently be devoted to cores with a gap, since the dependency is even more complex.
Research will be carried out for ferrites, in which the initial relative magnetic permeability is much greater than unity.
Separately, we will focus on a simple method for determining the saturation time of the core, based on the search for the average current value of one of the sections of the oscillogram.
First, let's get acquainted with the stand for the study of core inductors.
His circuit (Fig. 1a) was designed with a view to its simple implementation on a mosfet transistor as a switch SW,
the gate of which is supplied with control pulses from any digital signal generator, in which their duty cycle can be adjusted.
Fig.1. a)  a diagram of a stand for measuring current through a coil with a ferromagnetic core when it is connected to a power source,
b)  obtained on the stand, the dependence of the current on time

Here and below, we will draw the current graph from top to bottom, because this is how it will look on a real waveform.
The current values also increase from top to bottom.
Obviously, the total resistance in the circuit (R) will be the sum of
active resistance of the coil winding R_{L},
measuring resistance R_{I}, switch resistance and connecting wires R_{oth}:
\[ R = R_L + R_I + R_{oth} \tag{1}\]
Although we assume that R_{I} will make the main contribution to R, we still need to take into account other resistances.
This will be needed when compiling the final formulas for calculating such a chain, but for now, to simplify the perception of further calculations, we will consider the RLchain, assuming that R = R_{I}.
If the coil core had a linear dependence of current on induction, then this work would not make sense, and the current would depend on time according to the wellknown law [1]
\[ I(t) = {U \over R} \left(1  \mathrm{e}^{t R / L} \right) \tag{2}\]
where: \(U\) is the voltage applied to the RL circuit, \(L\) is the inductance of the core coil, and \(t\) is the time.
A part of this pattern, which has a quasilinear region at small times, is depicted in Figure 1b by the red dotted line.
Formula (2) is obtained by solving the following linear differential equation:
\[ L \frac{\mathrm d I}{\mathrm d t} + R\, I = U \tag{3}\]
Here and below, we will assume that the current depends on time: \(I = I(t)\).
It is not difficult to obtain an analytical solution from here; it is then used in calculating the current, the time constant of the LR circuit, etc.
These equations themselves are taught in all electrical and radio engineering universities [2], as the basis for transient processes.
Ferromagnetic reality
In our reality, ferromagnetic cores change their magnetic permeability depending on the current in the coil and, accordingly, on the strength of the magnetic field.
This pattern is well described by the Stoletov curve [3],
which can be represented using the relatively simple polynomial proposed in this paper.
Therefore, when connecting a power source according to the scheme (Fig. 1a), the current will depend on time along a more complex curve, which is shown in Figure 1b as a blue line.
Let's compare the time constant of a conventional LR circuit (with a linear dependence of induction on current) [1]
\[ \tau_i = {L \over R} \tag{4}\]
with the time constant of a real LR circuit, in the coil of which there is a ferromagnetic core
\[ \tau = {B_s\, S\, N \over U} \tag{5}\]
Here: \(B_s\) is the saturation induction of the core, \(S\) is the crosssectional area of the core, \(N\) is the number of coil turns.
It would be more correct to call such a constant core saturation time.
Given the resistance in the circuit, this constant may vary slightly, as detailed in here.
In fact, the constant difference between an ordinary LR circuit and a real one with a core can differ by 1050 times!
It is simply impossible not to take into account such a difference in the calculations.
Consider the real core
The dependence of the inductance of a coil with a core can be represented as follows:
\[L = L_0 {1 + k_{12} I^2 \over 1 + k_{22} I^2 + k_{23} I^3} \tag{6}\]
Here: \(L_0\) is the initial inductance of the core coil (at zero current),
\(k_{12}, k_{22}, k_{23}\)  coefficients of the Stoletov curve, which you can read in detail here.
Then the differential equation of the LR circuit for Figure 1a will look like this:
\[ L_0 \frac{\mathrm d}{\mathrm d t} \left( I {1 + k_{12} I^2 \over 1 + k_{22} I^2 + k_{23} I^3} \right) + R\, I = U \tag{7}\]
Compare it with (3) and you will understand why this topic has not been studied much before: equation (7) has no analytical solution, and its values can only be found by approximate numerical methods.
But let's take another look at the current versus time graph in our circuit (Fig. 1b), which is built from real average waveforms.
Here we can find three areas, which are indicated in this figure with different background colors.
In the first section, marked with a yellow background, the current increases quasilinearly, according to the classical pattern (2).
Here, the nonlinear properties of the core are not yet manifested.
But, as soon as the first signs of core saturation appear [4], the current curve immediately goes down sharply, passing to the second section,
where we need to take into account the Stoletov curve (magnetic nonlinearity of the core).
Exactly in the middle of this section is τ  the saturation time of the core and the corresponding half of the maximum current, which is, obviously, like this:
\[ I_m = {U \over R} \tag{8}\]
In other words, this is the current that would flow through our circuit if the switch SW was not opened at all (current after all transients).
The third section of the graph is dedicated to this current, after which the direction of the curve does not change.
Mini opening
Through numerous experiments, the author found a general analytical dependence of all three sections of the graph,
which makes it possible to bypass the solution of equation (7) and obtain a fairly accurate formula for the dependence of current on time in an LR circuit with a real ferromagnetic core.
In general, it looks like this:
\[ I(t) = {U \over R} {1  \mathrm{e}^{t R / L_a} + \left( g^{t / \tau}  1 \right) g^{1} \over 1 + \left( g^{t / \tau}  1 \right) g^{1}} \tag{9}\]
The resulting formula quite accurately describes the blue curve in Figure 1b.
In it: \(L_a\) is the maximum achievable inductance of a coil with a given core, which is usually slightly more than the initial one (more) ,
\(g\) is some coilspecific coefficient that we have yet to find.
Looking ahead a little, we can say that the coefficient \(g \) determines a certain "power of the core coil",
characterized by the slope of the blue curve in the second (green) section of this curve, and does not affect τ in any way.
Obviously, for a coil without a core, this coefficient is equal to one.
As a result of experiments with various magnetic materials, in which the relative magnetic permeability is much greater than unity, and there is no gap,
it turned out that the coefficient \(g\) is also always much greater than one and is of the order of 10^{3}10^{12},
therefore, formula (9) can be slightly simplified.
Formula (9) will also work for cores with a gap, but in this case it cannot be simplified, because for such ferrites, g will have relatively small values.
For coils with cores without a gap, this formula is slightly simplified:
\[ \boldsymbol{
I(t) = {U \over R} {1  \mathrm{e}^{t R / L_a} + g^{(t\tau)/ \tau} \over 1 + g^{(t\tau)/ \tau}}
} \tag{10}\]
From here, by the way, it is immediately clear that when the graph reaches the point \(t = \tau\),
then the part of the expression \(1  \mathrm{e}^{\tau R / L_a}\) will still be much less than one, so the current becomes approximately equal to half of the maximum:
\[ I(\tau) = {U \over R} {1  \mathrm{e}^{\tau R / L_a} + 1 \over 1 + 1} \approx {U \over 2 R} = {I_m \over 2} \tag{11}\]
Thanks to this property, it is always possible to determine the midpoint on the oscillogram, in its second section (Fig. 2),
thus finding the approximate saturation time of the coil core τ, and using it the saturation induction \(B_s\) from (5), if these data are not yet known.
The limitation of this simple method is the need for a sufficiently large ratio \(\tau_i / \tau\)  it must be at least more than 7 (formulas 4 and 5).
Clearly, on the oscillogram, this means that at the point of transition of the curve to the second section of the graph, the current should not differ much from zero compared to the maximum.
This happens almost always when the resistance R is sufficiently small (Fig. 2a).
Fig.2. Waveform graph of the current in the core coil versus time: a)  small R in the circuit, b)  large R in the circuit

Fig.3. Real waveform with core saturation time measurement: τ=7 µs

If we are dealing with a large R, then the waveform goes down already in the first section (Fig. 2b).
Interestingly, the method works in this case too, though more approximately.
Here it is necessary to geometrically determine the beginning of the second section and find the corresponding current \(I_0\).
From here is the center
\[ I(\tau) \approx {I_m  I_0 \over 2} \tag{12}\]
from which, geometrically, one can find the core saturation time τ.
Research stand
To obtain highquality oscillograms, which are necessary for studying coils with a core and obtaining the coefficient \(g\),
Let's assemble a simple stand.
Actually, the schematic diagram of such a stand is shown in Figure 4 in the form of block BA.
The key, and the generator to it, can, in principle, be any.
For this, the author used such a generator, at the output of which a key on a mosfet transistor (VT1) is installed.
This key generator is shown in Figure 4 as a block SW.
Fig.4. Schematic diagram of the BA block, and using it to connect the coil L to the SW block with a key on the transistor VT1

Fig.5. Practical implementation of the circuit in Figure 4

You can complicate the BA block a little and install several resistances R_{I} instead of one, with different ratings, which will be changed by a multiposition switch.
The author did just that, and set the following values bof this resistance for switching: 1, 2, 5 and 15 ohms.
Figure 5 shows the assembled research stand.
You should pay attention to some of the nuances of the stand.
There are no ideal keys: mosfet transistors have their own internal resistance and capacitance, which slightly distort the performance.
Nevertheless, the author selected the optimal transistors and values R_{I}, depending on the voltage U applied to the switch:
U  VT1  R_{I}, Ohm 
0..40  IRF3205  2 
40..80  IRFP4310Z  5 
80..150  IRFP260  15 
Capacitors C1 and C2 must be rated for at least 200 volts.
C2 is electrolytic, the more capacity it has, the better.
It would be better to put several pieces in parallel.
Find coefficient \(g\)
This coefficient, together with the core saturation time τ, completely determines the second portion of the current curve.
Mathematically, it can be simply expressed from formula (10):
\[g = \left( {U\, \mathrm{e}^{t R / L_a} \over U  I\, R}  1 \right)^{\tau / (t  \tau)} \tag{13}\]
But here the core saturation time τ remains unclear.
Yes, it can be approximately calculated using formula (5), and find the coefficient for one point on the waveform,
but the scheme of the stand introduces small errors, which are enough to make a big mistake when finding this coefficient in this way.
In addition, the midpoint (where t=τ) is not suitable for measurement, because where the exponent turns to infinity.
Therefore, it is better to apply a twopoint model when these points are selected in the second section of the oscillogram: at the beginning and at the end of this section (Fig. 6, points 2 and 3).
From experience, we can say that for these two points it is better to choose a more or less straight section of the graph.
Figure 6 shows a general technique for finding three points, and Figures 79 show real waveforms with cursors set at these points.
You just need to pay attention to the fact that here R equals 2 ohms, so to get the current, the cursor voltage must be divided by two.
Further, we will deliberately not clutter up this work with the derivation of formulas, and we will put it in a separate note.
Whence it turns out that in the case of a twopoint model, the expression for determining the coefficient \(g\) is derived from (13), and is transformed into the following form:
\[ \ln g = {t_2 \ln(B)  t_3 \ln(A) \over t_3  t_2}
\\
A = {U\, \mathrm{e}^{t_2 R / L_a} \over U  I_2 R}  1, \quad
B = {U\, \mathrm{e}^{t_3 R / L_a} \over U  I_3 R}  1
\tag{14}\]
where the values \(t_2, I_2, t_3, I_3\) are taken from the cursor measurements of two points on the waveform (Fig. 6, points 2 and 3).
The same formula can be written in this way: \[ g = { B^{\large {t_2 \over t_3  t_2}} \over A^{\large {t_3 \over t_3  t_2} }} \tag{15}\] And the exact saturation time of the core can now be found as follows: \[ \tau = {t_2 \ln(B)  t_3 \ln(A) \over \ln(B)  \ln(A)} \tag{16}\] It remains to find out how much the maximum inductance \(L_a\) differs from the initial one \(L_0\), so that it can be substituted into equation (14). It turned out to be quite easy to do. It is necessary to take the initial linear section of the current graph, when it does not deviate much from the zero line, and roughly divide it in half. We will get point 1, as in Figure 6. Since the coefficient \(g\) does not yet act on it, and the nonlinear properties of the core are not yet strongly manifested, then here we can apply the classical formula for the increase in current in the coil (2), from where to derive this inductance: \[L_a = {t_1\, R \over \ln \left( {U \over U  I_1 R} \right) } \tag{17}\] Values \(t_1, I_1\) are taken from cursor measurements of the first point (Fig. 7). Formula (17) showed good agreement with real measurements, although it is approximate. The author worked with cores, in which the maximum inductance, depending on the type of ferromaterial, was 1070% higher than the initial one.
The same formula can be written in this way: \[ g = { B^{\large {t_2 \over t_3  t_2}} \over A^{\large {t_3 \over t_3  t_2} }} \tag{15}\] And the exact saturation time of the core can now be found as follows: \[ \tau = {t_2 \ln(B)  t_3 \ln(A) \over \ln(B)  \ln(A)} \tag{16}\] It remains to find out how much the maximum inductance \(L_a\) differs from the initial one \(L_0\), so that it can be substituted into equation (14). It turned out to be quite easy to do. It is necessary to take the initial linear section of the current graph, when it does not deviate much from the zero line, and roughly divide it in half. We will get point 1, as in Figure 6. Since the coefficient \(g\) does not yet act on it, and the nonlinear properties of the core are not yet strongly manifested, then here we can apply the classical formula for the increase in current in the coil (2), from where to derive this inductance: \[L_a = {t_1\, R \over \ln \left( {U \over U  I_1 R} \right) } \tag{17}\] Values \(t_1, I_1\) are taken from cursor measurements of the first point (Fig. 7). Formula (17) showed good agreement with real measurements, although it is approximate. The author worked with cores, in which the maximum inductance, depending on the type of ferromaterial, was 1070% higher than the initial one.
It is worth paying attention to the fact that the oscilloscope shows voltage values, not current.
Therefore, in practice, in formulas (1417), it is necessary to recalculate the voltage into current according to Ohm's law: \(I_n = U_n / R\).
In addition, the circuit will necessarily have additional resistance (1), which will also need to be taken into account through multiplication by a constant coefficient.
Conclusions
It is known that when voltage is applied to a coil without a core, and with a core, the current in it will behave completely differently.
In a coil without a core, the current is completely subject to the exponential growth law (2).
The current in the core coil (without gap) completely changes this picture, it becomes quite complex.
Therefore, to obtain its analytical representation until now was considered impossible,
because the analytical solution of the differential equation (7) is impossible.
But as a result of many experiments with various coils and cores, it turned out to be possible to derive an approximate analytical equation, which was obtained in this work (10).
In addition to a rather simple form, such an equation gives a good agreement between its mathematics and real measurements.
For the equation obtained here, it is required to determine only one parameter  the coefficient \(g\),
which, as it turned out, can be found by assembling a fairly simple stand (Fig. 45) and three points on the oscillogram obtained by the method of cursor measurements (Fig. 69).
Using the data obtained in this way, this coefficient is found by formulas (1417).
It is an invariant with respect to another chain, with different initial parameters.
For example, if you change the voltage and resistance in the circuit (Fig. 1a), and leave the coil the same, then recalculating the maximum inductance and τ,
using the already known coefficient \(g\), we can obtain a new dependence of the current on time using formula (10).
Also, regardless of the main goal of this study, a simple method was obtained for determining the saturation time of the core from the midpoint on the waveform in (11, 12).
In the next part of this work, we will find coefficients for the Stoletov curve using the stand presented above, and the formulas obtained here.
They will make it possible to describe the properties of not only a particular coil with a core, but also the properties of the core itself, regardless of the coil.
Materials used
 Wikipedia. LRcircuit.
 Transient processes in firstorder circuits. Lecture 7. [PDF]
 Wikipedia. Stoletov's Curve.
 Wikipedia. Magnetic saturation.