Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

How Do You Measure Bs, Br and Hc for Simulating an Unknown Non-Linear Iron Core?

KerimF

Advanced Member level 5
Advanced Member level 5
Joined
May 17, 2011
Messages
1,554
Helped
376
Reputation
760
Reaction score
379
Trophy points
1,373
Location
Aleppo city - Syria
Activity points
13,095
A professional simulator, as LTspice, cannot simulate an inductor or transformer whose iron core is non-linear without specifying first its three parameters:
Bs, saturation flux. [Tesla]
Br, saturation remanent flux. [Tesla]
Hc, coercive force. [A/m]

Truth be said, I ask you this to know if the simple test I do lately to measure these 3 parameters is already known or not.
But I also understand if no one here was interested in measuring them or doesn’t mind hearing how to measure them.

Regards,
Kerim
 
As far as I know, the simple suggested test and the formulas of these three parameters (based on it), as you will see, are likely not presented or discussed clearly, speaking practically, on any source (books or internet). So, I think it is better to start a blog for it, instead of going on here. I will try to specify its blog category as 'simulation' since the resulted values of this test will be used in simulating the non-linear iron core of interest.
 
Once you started a thread in an appropriate forum, you should continue it instead of crossposting the topic in a different place. Your first posts suggests that you have an idea how to measure the said parameters.

I think the measurement method is more or less obvious, you need to run a sufficient range of the B/H curve with a strong AC source and record current and induced voltage. Most digital oscilloscopes can directly display the curve.
 
Once you started a thread in an appropriate forum, you should continue it instead of crossposting the topic in a different place. Your first posts suggests that you have an idea how to measure the said parameters.

I think the measurement method is more or less obvious, you need to run a sufficient range of the B/H curve with a strong AC source and record current and induced voltage. Most digital oscilloscopes can directly display the curve.

Hi,

Your remark is indeed true (based on the forum's rules).

But I guess you agree with me that this thread will be a thing of the past after a few days, at best.
Since it is about a special new study (test), it is unlikely for someone to try searching it in the future, and it will be lost as if it doesn't exist in the first place.

After all, I am just a guest here (not the owner of this forum), Therefore, I can't delete this unanswered thread in order to replace it by a permanent blog of the same topic. Or at least, I redirect this thread to a blog automatically.

Anyway, I will follow your advice, and soon, I will post here what I was preparing for the blog just to show that rules, as everything else, can never be made perfect and there are always exceptions to be considered by humans when necessary.

Regards,
Kerim
--- Updated ---

==================================

This blog is for those who will like to simulate an inductor or transformer whose iron core is non-linear and of unknown type.
I personally use the LTspice simulator with the model of a non-linear core by John Chan (explained in LTspice Help). So I am not sure about other simulators.

The mechanical parameters are assumed known:
N = the number of turns
Lm = the Magnetic Length (excl. gap), in meter.
A = the Cross-sectional Area of the core, in m2

In case of E I lamination whose tongue is tg (5 cm for example) and the inductor/transformer width is wd (6 cm for example), Lm and A could be calculated as it follows:
Lm = tg * 6 / 100 = 0.3 meter
A = tg * wd /10000 = 0.003 m2

The remaining 3 parameters of the non-linear core are Bs, Br and Hc:
Bs, saturation flux. [Tesla]
Br, saturation remanent flux. [Tesla]
Hc, coercive force. [A/m]

The test by which these parameters could be measured needs a scope in order to display the traces of the voltage, v(t), applied on the inductor (under test) and its current, i(t). On these traces, four values need to be read (as absolute values, positive) in order to apply them in the three formulas of Bs, Br and Hc. These four values are:
V_max, the amplitude of the applied voltage v(t).
V_I0, the voltage v(t) when i(t)=0
I_max, the current i(t) when v(t)=0, the flux B is at its highest value.
I_B0, the current i(t) when v(t)=V_max, the flux B is zero

The four constants that are used in the Br and Hc formulas are:
Kh = N/Lm
Kb = 1/N/A
wt0 = arcsin(V_I0/V_max)
w = 2*pi*F

Br = Kb * Vmax / w * cos(wt0) [Tesla]
Hc = Kh * I_B0 [A/m]

The added two constants in the Bs formula are:
Mh = Kh*I_max + Hc
Mb = Kb*V_max/w-μ0*Kh*I_max

Bs = (Mh-Hc)/(Mh/Mb-Hc/Br) [Tesla]

I guess it is obvious that this is the fastest simplest test to get the Bs, Br and Hc of an unknown core with a practical approximation (likely < 2% for Bs).

One question remains:
In theory, Bs is the saturation flux when I_max = infinity.
So, we likely wonder what the ‘practical limit' of I_max could be, so that the calculated Bs will be close to its real value.
For this, I compared I_max with three values of i(t):
Irms, abs(Iavg) of half cycle and I_B0.
I guess choosing the latter one, I_B0, is a good choice because its value has the smallest sensitivity to I_max.
The practical ratio, I_max / I_B0, is likely around 3.5 so that the error of the calculated Bs will be less than 2%.

To verify the validity of the above test and its 3 formulas, I attached an LTspice schematic, XF_N500W_5x6_07.zip, which is also a test (now by using a simulator) on an inductor (L1) whose core was unknown.

On the schematic, the mechanical parameters of L1 are set.
The 3 parameters of its BH loop are also set. Their values were found by a real test, from the v(t) and i(t) traces, as explained above.

XF_N500W_5x6_07_.png


The file, param_NL_core_07.txt (also in the attached zip), contains all necessary ‘.meas’ commands to get the 4 values from the traces V(LL) and I(L1). And from these values, Bs, Br and Hc are also derived by applying their 3 formulas (above). By comparing the simulation results with the original values, the relative errors are:
Br_err% = -0.203454%
Hc_err% = 0.0533104%
Bs_err%= -1.53767%

If there is any question or remark, I am all ears.
Kerim
 

Attachments

  • XF_N500W_5x6_07.zip
    1.9 KB · Views: 134
Last edited:
Some remarks.
- The Bs, Hc etc. extraction can be better done based on the B/H plot, using integral V(LL), I think.
- Coil series resistance must be zeroed for true flux measurement.
- The coil can be better driven by an AC current source.
- By increasing the drive current of about +/- 4.3A to higher values, you see that your test is considerably below saturation.
- Saturation point is reached when the B/H slope approaches the air coil value (µr = 1). You'll substract delta B(µr=1) to get Bs.
1680775430426.png
1680775459597.png

--- Updated ---

Forgot to mention that extraction of Bs, Br and Hc from B/H curve is described in LTspice online manual. To get correct A/m scaling in the plot, I(L1) has to multiplied with NN/Len = 80.

1680776500259.png
 

Attachments

  • XF_N500W_5x6_07-mod.zip
    1 KB · Views: 138
Last edited:
Some remarks.
- The Bs, Hc etc. extraction can be better done based on the B/H plot, using integral V(LL), I think.
- Coil series resistance must be zeroed for true flux measurement.
- The coil can be better driven by an AC current source.
- By increasing the drive current of about +/- 4.3A to higher values, you see that your test is considerably below saturation.
- Saturation point is reached when the B/H slope approaches the air coil value (µr = 1). You'll substract delta B(µr=1) to get Bs.

Forgot to mention that extraction of Bs, Br and Hc from B/H curve is described in LTspice online manual. To get correct A/m scaling in the plot, I(L1) has to multiplied with NN/Len = 80.

All you said is right.
- The Bs, Hc etc. extraction can be better done based on the B/H plot, using integral V(LL), I think.
This is surely true and explained in many sources. To get the B/H plot, a circuit (likely an RC) needs to be added by which a voltage proportional to dVac/dt which, in turn, is proportional to B(t) can be generated. For instance, this is how I used doing in the past to get an idea about the 3 parameters of an unknown core, I had.
- Coil series resistance must be zeroed for true flux measurement.
Again, you are right. But I deliberately kept the resistance of the coil to see to how the results of the 3 formulas (in which this resistance is assumed zero) are close to the values set in the core model (and its coil has a practical resistance). I found that the errors (Br_err%, Hc_err%, Bs_err%) are acceptable in a general application.
- The coil can be better driven by an AC current source.
I didn't think of it, perhaps because I was focusing on finding out a simple test whose source is the available mains voltage (220V, 50Hz).
- By increasing the drive current of about +/- 4.3A to higher values, you see that your test is considerably below saturation.
Yes, you are right. This is why I got Bs_err% = -1.53767% instead of zero. For a very simple fast test, such an approximation is not bad, I guess.
- Saturation point is reached when the B/H slope approaches the air coil value (µr = 1). You'll substract delta B(µr=1) to get Bs.
This is true. And I considered it when I was working on the Bs formula (Mb = Kb*V_max/w-μ0*Kh*I_max).
- To get correct A/m scaling in the plot, I(L1) has to multiplied with NN/Len = 80.
I guess, you are referring to the constant 'Kh = N/Lm' used in the Hc formula.

But please don't hesitate if I still miss something. Thank you.
 
Last edited:
Correction:
To get the B/H plot, a circuit (likely an RC) needs to be added by which a voltage proportional to dVac/dt the integral of v(t) which, in turn, is proportional to B(t) can be generated.
 
Right, induced voltage has to be integrated to get B proportional signal. Problem with passive RC circuit is that it has either very low output voltage or large phase error. Better to use an OP amp integrator. As mentioned in post #2, most digital oscilloscopes can directly generate B/H-curve with built-in integrator math function in X/Y mode.
 
Right, induced voltage has to be integrated to get B proportional signal. Problem with passive RC circuit is that it has either very low output voltage or large phase error. Better to use an OP amp integrator. As mentioned in post #2, most digital oscilloscopes can directly generate B/H-curve with built-in integrator math function in X/Y mode.

My digital oscilloscope is very old (Fluke, model 190C). It doesn't have a built-in integrator function. This is why, in the past, I used a simple RC circuit as an integrator. Fortunately, the relatively very low voltage on C was high enough to plot the curve of B/H clearly.
But now, I just read 4 values on the v(t) and i(t) traces (after pressing the hold button to freeze them on the scope's screen) and apply the 3 formulas (prepared on a spread sheet, as of Excel).
 
I stumbled upon a comment in an unrelated thread https://www.edaboard.com/threads/q01-–-voltage-to-phase-shift.406471/post-1751846.
It suggests that post #4 proposes a simple and accurate method to measure the core parameters of an unknown core and complains about the ignorance of forum members not honoring it.

I believe that's wrong. Modifying parameters (particularly Vp, also F a bit) produces quite different results. So the least we can say is that the method needs corrections.
 
I stumbled upon a comment in an unrelated thread https://www.edaboard.com/threads/q01-–-voltage-to-phase-shift.406471/post-1751846.
It suggests that post #4 proposes a simple and accurate method to measure the core parameters of an unknown core and complains about the ignorance of forum members not honoring it.

I believe that's wrong. Modifying parameters (particularly Vp, also F a bit) produces quite different results. So the least we can say is that the method needs corrections.

Hi,

Let us agree first that ignoring something doesn't imply not being intelligent or super intelligent. Ignoring something, or not, is usually (naturally) related to one's interest (or lack of it) much more than how intelligent he is. For example, I personally have no reason to be shy for not knowing zillions of things in electronics. But my very limited knowledge in it has helped me gain my daily bread (even much more, before year 2011) while working independently since my graduation till now (more than 4 decades).

I never assume that whom I talk to could be less intelligent than I am. In fact, I prefer seeing others more intelligent in order to have a better chance to understand them. (After all, who could be interested in understanding naive or simple-minded persons, other than special doctors perhaps?)

You said my work is wrong, I agree with you because it is surely not perfect.
But if you are really interested in this subject as I do, I wish you will help us, in your next free time, see another practical example for such a measurement and its results. Only then, we can find together if my simple method is useful or not and to how far it is wrong.
If an error of 2% here looks unacceptable for some engineers, they likely used to work on NASA projects. On the other hand, an iron core, as any other element, has a certain tolerance which may exceed the 2%. I mean, even with a perfect measurement, a margin will usually be added as a precaution during production.

Regards,
Kerim
 
if acceptance criteria are defined first and then met, then the result is 100% acceptable
I just wonder why it is not clear that we get the same results for the three parameters from plotting the B/H curve and from reading just the 4 special values on v(t) and i(t) and applying their 3 formulas.

In both cases, these 3 parameters are function of Vp (I_max) and frequency.
Their only difference is that the latter method is simpler (if one knows their 3 formulas).
 
Some remarks.
- The Bs, Hc etc. extraction can be better done based on the B/H plot, using integral V(LL), I think.
- Coil series resistance must be zeroed for true flux measurement.
- The coil can be better driven by an AC current source.
- By increasing the drive current of about +/- 4.3A to higher values, you see that your test is considerably below saturation.
- Saturation point is reached when the B/H slope approaches the air coil value (µr = 1). You'll substract delta B(µr=1) to get Bs.
View attachment 182173 View attachment 182174
--- Updated ---

Forgot to mention that extraction of Bs, Br and Hc from B/H curve is described in LTspice online manual. To get correct A/m scaling in the plot, I(L1) has to multiplied with NN/Len = 80.

View attachment 182176
Hi,
I really appreciate your explanation. I could simulate the core of my choice using this file. However, when I'm trying to use the following parameters, the B_H curve does not merge. Seems like I need to better understand what you did there, but could you please let me know if you can simulate using following core parameters.

Toshiba Cobalt Based Amorphous Alloy: Bs= 0.55, Br=0.52, Hc=0.4, perm=1500, L=5.50*10-4

Thanks!
Some remarks.
- The Bs, Hc etc. extraction can be better done based on the B/H plot, using integral V(LL), I think.
- Coil series resistance must be zeroed for true flux measurement.
- The coil can be better driven by an AC current source.
- By increasing the drive current of about +/- 4.3A to higher values, you see that your test is considerably below saturation.
- Saturation point is reached when the B/H slope approaches the air coil value (µr = 1). You'll substract delta B(µr=1) to get Bs.
View attachment 182173 View attachment 182174
--- Updated ---

Forgot to mention that extraction of Bs, Br and Hc from B/H curve is described in LTspice online manual. To get correct A/m scaling in the plot, I(L1) has to multiplied with NN/Len = 80.

View attachment 182176
Hi, Appreciate the post!
I used the above file to simulate the core of my choice and it was giving me the desired results. However, if I do the same with a different core proposerties I couldn't figure out why the BH curve was weird in shape. Following are my core parameters, could you please suggest me how to simulate this? Or could you explain the simulation so as to understand how you set the Ip list values, and how is F,E,S selected.

Toshiba Cobalt-based Amorphous Alloy: Bs=0.55, Br=0.52, H=0.40, Ur=1500, L=5.5*10-4, Area= 0.1181*10-4

Thank you!
 

LaTeX Commands Quick-Menu:

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top