Author Topic: How to measure toroid saturation at a particular frequency?  (Read 5934 times)

0 Members and 1 Guest are viewing this topic.

Offline ZeroResistanceTopic starter

  • Frequent Contributor
  • **
  • Posts: 585
  • Country: gb
How to measure toroid saturation at a particular frequency?
« on: February 21, 2017, 11:58:51 am »
I want to measure ferrite toroid saturation at a particular frequency. Basically I want to find the number of turns required to saturate a toroid at a particular frequency. The toroid is being used as a GDT to drive a mosfet.

Am driving it with square wave drive (through an H bridge) like + Ton -> Toff -> - Ton -> Toff and so on and my duty cycle is currently 50%

Currently I am using the formula

N = (V * ton) / B * Ae

V = Max value of applied voltage (volts)
Ton = On time of the signal (seconds)
B - Max Flux density (Tesla)
Ae - Cross section area of toroid (sq. mts)

So say If my voltage is 15V and frequency is 100Hz100Khz how do I measure at what turns does the toroid saturate, what would the setup be like?
Thanks in advance.
« Last Edit: February 21, 2017, 01:09:26 pm by ZeroResistance »
 

Offline MagicSmoker

  • Super Contributor
  • ***
  • Posts: 1408
  • Country: us
Re: How to measure toroid saturation at a particular frequency?
« Reply #1 on: February 21, 2017, 12:51:54 pm »
...
So say If my voltage is 15V and frequency is 100Hz how do I measure at what turns does the toroid saturate, what would the setup be like?

I have to first point out that you *don't* measure when the toroid saturates; instead, you calculate the proper number of turns for the core area, operating frequency and peak drive voltage. Keep in mind that a good GDT has a relatively small number of turns to minimize distributed capacitance and leakage inductance; 10 to 30 turns is typical.

That said, to look for saturation you can either drive the primary of the GDT with a fixed peak to peak voltage while lowering the frequency, or with a fixed frequency while increasing the peak to peak voltage, until you see the voltage across the secondary droop about 10% during the pulse on time. For more realistic results connect an RC network across the secondary to simulate the gate resistor and MOSFET capacitance (e.g. - 10 ohms + 1nF).

Also, max flux density for GDTs is usually set to around 0.2T for ferrite and 0.6-0.8T for silicon steel (I mention the latter because you specified a driving frequency of 100Hz above).
 
The following users thanked this post: ZeroResistance

Offline ZeroResistanceTopic starter

  • Frequent Contributor
  • **
  • Posts: 585
  • Country: gb
Re: How to measure toroid saturation at a particular frequency?
« Reply #2 on: February 21, 2017, 01:17:28 pm »

Also, max flux density for GDTs is usually set to around 0.2T for ferrite and 0.6-0.8T for silicon steel (I mention the latter because you specified a driving frequency of 100Hz above).

that was a typo its actually 100Khz.

Ok so generally they take the operating flux to be below the saturating B... so if the Bmax is 0.4T you would take 0.2T and if its 1.2T you would be around 0.6 to 0.8T right?

Quote from: MagicSmoker
That said, to look for saturation you can either drive the primary of the GDT with a fixed peak to peak voltage while lowering the frequency, or with a fixed frequency while increasing the peak to peak voltage, until you see the voltage across the secondary droop about 10% during the pulse on time. For more realistic results connect an RC network across the secondary to simulate the gate resistor and MOSFET capacitance (e.g. - 10 ohms + 1nF).

would it possible to find the saturation point by watching the current on the scope?
 

Offline MagicSmoker

  • Super Contributor
  • ***
  • Posts: 1408
  • Country: us
Re: How to measure toroid saturation at a particular frequency?
« Reply #3 on: February 21, 2017, 01:52:29 pm »
Ok so generally they take the operating flux to be below the saturating B... so if the Bmax is 0.4T you would take 0.2T and if its 1.2T you would be around 0.6 to 0.8T right?
...
would it possible to find the saturation point by watching the current on the scope?

Yes set peak flux excursion (that is, the flux change from 0 to B-peak) to around half of Bsat for the chosen core material.

And yes, you can look for saturation by watching the current waveform on a scope, but it's a bit harder because what you are specifically looking for is a change in shape from a linear ramp to an exponential one, and that is a bit harder to eyeball than voltage droop across the pulse on time.

 

Offline ZeroResistanceTopic starter

  • Frequent Contributor
  • **
  • Posts: 585
  • Country: gb
Re: How to measure toroid saturation at a particular frequency?
« Reply #4 on: February 21, 2017, 01:56:56 pm »
And yes, you can look for saturation by watching the current waveform on a scope, but it's a bit harder because what you are specifically looking for is a change in shape from a linear ramp to an exponential one, and that is a bit harder to eyeball than voltage droop across the pulse on time.

When you say voltage droop does it mean that the top flats of the square waveform would tend to slope downwards during a given on time?

Secondly would it be  better to check with a square wave with only the positive pulses or with square waves of positive and negative pulses.
« Last Edit: February 21, 2017, 02:00:21 pm by ZeroResistance »
 

Offline MagicSmoker

  • Super Contributor
  • ***
  • Posts: 1408
  • Country: us
Re: How to measure toroid saturation at a particular frequency?
« Reply #5 on: February 21, 2017, 02:23:32 pm »
Here's some good screen shots of gate drive waveforms, both good and bad: http://www.richieburnett.co.uk/temp/gdt/gdt2.html

The volt*seconds of the positive and negative halves of the drive waveform must be equal in a transformer, otherwise the core walks towards saturation. The easiest way to ensure this is by AC coupling the driver to the primary. You can't simply apply a positive only pulse (or pulse train) to a transformer.

 
The following users thanked this post: ZeroResistance

Offline orolo

  • Frequent Contributor
  • **
  • Posts: 352
  • Country: es
Re: How to measure toroid saturation at a particular frequency?
« Reply #6 on: February 21, 2017, 04:48:26 pm »
This is an interesting problem from the physics viewpoint, due to the singular waveform and the variations in duty cycle. I'll try to tackle it. Since duty cycle introduces harmonics, nonidealities will kick in if the duty cycle is reduced too much, since the higher harmonics will become much stronger. I'll disregard that effect.

As you said, your problem is equivalent to finding the maximum flux at a given frequency. Begin with Ampere's Law, which tells you that for a given magnetizing current I, \$ B = \displaystyle \frac{\mu N I}{\mathcal{l}} \$, where N is the number of turns, and l the magnetic length of the torus (*). Since you want the result in terms of voltage, use \$ V = \omega L I \$ to arrive to:

\$ B =  \displaystyle \frac{\mu N V}{\mathcal{l} L \omega} \$

Since \$ L = A_N\cdot N^2 \$, (you must use A_N in Henries per turn square in the formula) this can be written:

\$ B = \displaystyle \frac{\mu  V}{\mathcal{l} N A_N \omega} \$

Maximum flux is inversely proportional to frequency and number of turns. Increasing the numbers of turns, or the frequency, will increase the reactance of the coil. For a given voltage, that means that a smaller current will flow, so the mangetizing current will be smaller, hence the flux will decrease. That doesn't tell the whole story: ferrites lose inductance at high enough frequencies, and the core losses also increase with frequency. You must know your materials' propierties at the frequencies of interest.

The previous formula works for a pure sinusoid but, what happens with your variable duty cycle, bipolar square wave? Of course, such a wave is a superposition of sinusoids, so we just need to work out the Fourier components, at least to some reasonable order. As a general rule, the further the duty cycle goes away from 50%, the higher the harmonic content.

Your waveform is peculiar because, when duty cycle reaches 100%, you have a regular square wave: the H-bridge is always either up or down, with no time disconnected. A duty cycle of 50% means a quarter wavelength at +1, a quarter at 0, a quarter at -1, and a quarter at 0.

So this is your wave at 0.5 duty cycle:

https://www.eevblog.com/forum/beginners/how-to-measure-toroid-saturation-at-a-particular-frequency/?action=dlattach;attach=293829;image

Your particular waveform, with unity amplitude, duty cycle k (between 0 and 1) and alternating polarity, has the following rather unnice Fourier series:

\$ \frac{2}{\pi}\, \sum_{n=0}^{\infty}\, \frac{1}{2n + 1}\,\left[ \left(1 - \cos (2n+1)k\pi\right)\,\sin(2n+1)t\  + \  \sin(2n+1)k\pi\,\cos(2n+1)t\right] \$

Here is a plot of the 0.5 duty cycle fourier approximation with fourty terms:

https://www.eevblog.com/forum/beginners/how-to-measure-toroid-saturation-at-a-particular-frequency/?action=dlattach;attach=293831;image

The wave has only odd harmonics. It would be interesting to know what correction factor we should add to the sinewave flux formula in order to accomodate for the variable duty cycle. Well, we need only to add the amplitudes of the harmonics, divided by their harmonic index (since flux is inversely proportional to frequency). It is also possible to prove that the maximum flux will be reached when your waveform is at the middle of the 'on' voltage plateau. In essence, the flux, relative to a sinewave of the same frequency as your waveform, is:

\$ B_{rel} \quad = \quad \frac{2}{\pi}\, \sum_{n=0}^{\infty}\, \frac{1}{(2n + 1)^2}\,\left[ \left(1 - \cos (2n+1)k\pi\right)\,\sin(2n+1)\frac{k\pi}{2}\ + \ \sin(2n+1)k\pi\,\cos(2n+1)\frac{k\pi}{2}\right] \$

Oddly, a closed form for this series can be found, but it depends on some funny transcendental functions on the complex plane. For our purposes, it is enough to know that if we plot it, we get:

https://www.eevblog.com/forum/beginners/how-to-measure-toroid-saturation-at-a-particular-frequency/?action=dlattach;attach=293833;image

Duty cycle:Relative flux:
0%0
5%0.212
10%0.354
20%0.570
30%0.732
40%0.859
50%0.959
60%1.036
70%1.094
80%1.135
90%1.158
100%1.166

The relative flux is smooth and monotonic with respect to duty cycle, so other values can be interpolated from the table.

For example, if a coil is driven with your waveform and a maximum duty cycle of 30%, the formula for the maximum flux becomes:

\$ B = 0.732\cdot \displaystyle \frac{\mu  V}{\mathcal{l} N A_N \omega} \$

Since the flux is monotonic with respect to the duty cycle, lower duties will have lower flux (if we ignore the fact that for higher frequencies, the permeability of the toroid will probably be lower), so the max duty cycle must be used to estimate the saturation flux.

I hope this has come off clear and without gross mistakes. I've been working late into the night the last couple of days, so I'm not at my best.
------
(*) A toroid has a non uniform magnetic length: the part nearer the inner radius has shorter length that the others, so it will saturate first. Then the torus will saturate in the outward direction. This means that, if you want to avoid any saturation, you should take the minimum magnetic length. I think it's usual just taking the average.
« Last Edit: February 21, 2017, 04:51:17 pm by orolo »
 
The following users thanked this post: ZeroResistance

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21606
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: How to measure toroid saturation at a particular frequency?
« Reply #7 on: February 21, 2017, 05:49:35 pm »
The previous formula works for a pure sinusoid but, what happens with your variable duty cycle, bipolar square wave?

You could use the superposition of sinusoids, and sum over the infinite series, but why do that when a much better way exists? :)

The formula for sine waves is:
N = Vrms / (4.44 * Bmax * Ae * F)
(4.44 is actually something like sqrt(2)*pi.)

The formula for square waves is:
N = Vpk / (4 * Bmax * Ae * F)

For a symmetrical bipolar PWM signal, the coefficient is (4*D) instead.  (By flux, a "magic sinewave" is apparently 90% duty cycle.  This isn't the traditional "magic sine", though, because that is measured by RMS voltage, or 3rd harmonic content, not flux.)

(This is trivial to arrive at by integrating the time domain waveform.  Who needs infinite sums? ;D )

If you're doing PWM, you need to use the worst-case D, which will be nearly 1.  You should have a "safety factor" of about 2 anyway (i.e., most ferrite saturates at 0.4T, so use 0.2T in the formula), to save on losses and to avoid saturation during startup transients.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 
The following users thanked this post: orolo

Offline orolo

  • Frequent Contributor
  • **
  • Posts: 352
  • Country: es
Re: How to measure toroid saturation at a particular frequency?
« Reply #8 on: February 21, 2017, 06:28:09 pm »
You could use the superposition of sinusoids, and sum over the infinite series, but why do that when a much better way exists? :)

The formula for sine waves is:
N = Vrms / (4.44 * Bmax * Ae * F)
(4.44 is actually something like sqrt(2)*pi.)

The formula for square waves is:
N = Vpk / (4 * Bmax * Ae * F)


I knew those 4 and 4.4 factors from books and datasheets, but I wanted to see if they could be calculated from first principles. Using inifinte series as above, the ratio for sine to square is 1/1.166 = 0.858, while the classic is 4/4.4 = 0.909, close but not identical. I guess the 4/4.4 factor is well proved in practice, so my suggestion to the OP is to follow your advise and use these formulas, and then add a good safety margin. Thank you for the expert advice  :).
 

Offline ZeroResistanceTopic starter

  • Frequent Contributor
  • **
  • Posts: 585
  • Country: gb
Re: How to measure toroid saturation at a particular frequency?
« Reply #9 on: February 22, 2017, 04:36:07 am »
For example, if a coil is driven with your waveform and a maximum duty cycle of 30%, the formula for the maximum flux becomes:

\$ B = 0.732\cdot \displaystyle \frac{\mu  V}{\mathcal{l} N A_N \omega} \$

Since the flux is monotonic with respect to the duty cycle, lower duties will have lower flux (if we ignore the fact that for higher frequencies, the permeability of the toroid will probably be lower), so the max duty cycle must be used to estimate the saturation flux.

I hope this has come off clear and without gross mistakes. I've been working late into the night the last couple of days, so I'm not at my best.


This is amazing, fantastic... mind blowing I would probably take me a few hours to read over all the principles you have put in there and I may have to read your post a few times to digest the matter.
How did you create those plots? They are superb..
 

Offline ZeroResistanceTopic starter

  • Frequent Contributor
  • **
  • Posts: 585
  • Country: gb
Re: How to measure toroid saturation at a particular frequency?
« Reply #10 on: February 22, 2017, 04:37:44 am »

For a symmetrical bipolar PWM signal, the coefficient is (4*D) instead.

Tim

Thanks Tim! for your valueble advice. what is the D that you keep referring to over here?
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21606
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: How to measure toroid saturation at a particular frequency?
« Reply #11 on: February 22, 2017, 06:00:25 am »
D for Duty cycle.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline ZeroResistanceTopic starter

  • Frequent Contributor
  • **
  • Posts: 585
  • Country: gb
Re: How to measure toroid saturation at a particular frequency?
« Reply #12 on: February 22, 2017, 06:39:14 am »
D for Duty cycle.

Tim

Ok! And what is the magic sine?
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21606
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: How to measure toroid saturation at a particular frequency?
« Reply #13 on: February 22, 2017, 09:32:21 am »
Magic sine is a bipolar square wave, with D set to a magic value.  Usually, D is chosen to give an RMS to peak ratio equal to the sine wave: automotive inverters usually do this ("modified sine").  This lets electronic loads (SMPSs, etc.) operate at the same peak voltage (e.g., 120V * sqrt(2)), and passive loads (lamps, motors, etc.) operate at the same RMS voltage (120Vrms).

RMS of any chopped waveform goes as sqrt(D), so for,
RMS/peak = sqrt(2)/2
we need
D =(sqrt(2)/2)^2
= 1/2.

Which would be dead-time equal to pulse-time.

The other case, removing a harmonic, is more complicated (solutions of cos polynomials), but there is a D for that, too.

The purpose of such a waveform is, since the frequency content is all odd (fundamental, 3rd, 5th, etc.), if you can happen to adjust edges to knock out the lowest harmonics, you don't need as sharp of a filter to remove the ones you didn't knock out.

This is a subject Don Lancaster has written much about.  For each edge you add, you can potentially knock out as many harmonics.  Thus, the bipolar-pulse waveform can remove one harmonic from a normal square wave.  If you had non-alternating pairs of pulses, you could remove three (say, 3rd and 5th and 7th).

As cancellation increases, the pulses need to be timed ever more precisely, so that for a digital counter of modest clock rate, it's not economical to try and remove more than, say, a dozen harmonics.  That still gives you quite the leg up -- a 60Hz output, with a filter cutting in sharply at ~1kHz, is a whole lot smaller and cheaper than a big fat pile of iron!

Confusing?  Think of it this way: it's PWM, with perfectly timed transitions, generated by an algorithm.  The density of pulses (short pulses near the zero crossing, fat pulses near the peak) looks very much like regular PWM, but much... "fatter" than the usual case (the usual case being, you want PWM to run at a much higher clock frequency, like 10kHz or 100kHz or more, to preserve the fidelity of the modulation signal).

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 
The following users thanked this post: ZeroResistance

Offline orolo

  • Frequent Contributor
  • **
  • Posts: 352
  • Country: es
Re: How to measure toroid saturation at a particular frequency?
« Reply #14 on: February 22, 2017, 09:55:23 am »

How did you create those plots? They are superb..
They were made with the Maple software package.

About the máximum flux, clearly the best idea is Tim's time domain analysis. Starting from Ampere's law as before, but using \$ V = L\dot{I} \$, then \$ I = I_{DC} + \frac{1}{L}\int V\mathrm{d}t \$, if you substitute into Amperes Law:

\$B \quad = \quad B_{DC} \ + \ \frac{\mu N}{\mathcal{l}\cdot L}\int V\mathrm{d}t \$

The max flux is reached at the end of each voltage pulse, so:

\$ B \quad = \quad B_{DC} \ + \ \frac{\mu N V \Delta t}{\mathcal{l}\cdot L} \$

And using \$ L = A_N N^2 \$

\$ B \quad = \quad B_{DC} \ + \ \frac{\mu V \Delta t}{\mathcal{l}A_N N} \$

Where \$ \Delta t \$ is the on time. Really easy! :)

What I did is the integral in the frequency domain, and with some kind of mistake, because I didn't get a linear response to duty cycle. I'll review my calculations when I get the time.

Clearly, the time domain wins here.
 
The following users thanked this post: ZeroResistance

Offline MrAl

  • Super Contributor
  • ***
  • Posts: 1395
Re: How to measure toroid saturation at a particular frequency?
« Reply #15 on: February 22, 2017, 11:45:02 am »
Hi,

The simpler form of the transformer formula goes like this:

Bmax=E*1e8/(4.44*FAN)

that is with Bmax in Gauss and A in square centimeters.
It's easy to remember because of the spelling out of "FAN" :-)
If you like, you can use E*1e8/(sqrt(2)*pi*FAN).

And yes there is the mod for square waves.

As for using the Fourier series, i did this a long time ago but i cant remember what result i got.  I do remember though that the harmonics decrease relatively fast so they dont add up to much, and the shape of the drive signal is not exactly square either it's a dual ramp with a flat top because of the rise and fall times which are never ideal.  The other factor that sets in significantly is the skin effect, which effectively raises the AC resistance of the winding and thus reducing the higher harmonics significantly so they never affect the core.  This means if we start with 100kHz and #24 gauge wire for example, even the third harmonic would experience a drop in amplitude from it's normal Fourier value.  At the 11th harmonic we'd probably have nothing worth considering.

If you want to generate a sine wave you can start by taking the sine of equal spaced angles and use the results as a relative pulse width for that point in time.  The resulting sine is smooth if filtered just a little.  If you want to get really good though, you will take the effects of the plant into account in the pulse width calculations as compared to the THD.  That gives the ultimate optimization of the pulse pattern for a given application.

Yes to test for saturation you can look for a fast rise in current near the end of the pulse.  You should stay away from that point by at least 15 percent due to the way the core changes characteristic when it gets hot.
« Last Edit: February 22, 2017, 11:52:30 am by MrAl »
 
The following users thanked this post: ZeroResistance

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21606
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: How to measure toroid saturation at a particular frequency?
« Reply #16 on: February 22, 2017, 09:47:10 pm »
The other factor that sets in significantly is the skin effect, which effectively raises the AC resistance of the winding and thus reducing the higher harmonics significantly so they never affect the core.  This means if we start with 100kHz and #24 gauge wire for example, even the third harmonic would experience a drop in amplitude from it's normal Fourier value.  At the 11th harmonic we'd probably have nothing worth considering.

Not so; ACR is in series with the winding impedance, which increases much more quickly (proportional to frequency) until parasitic capacitance takes over.  ACR rises as sqrt(F).  This is why Q rises about as sqrt(F) until it peaks.

Harmonics in general decrease, and not many effects take over faster (i.e., only capacitance), so it doesn't take too many harmonics to cover 99% or more of the total signal power, when evaluating Parseval's theorem (or the like).


Quote
Yes to test for saturation you can look for a fast rise in current near the end of the pulse.  You should stay away from that point by at least 15 percent due to the way the core changes characteristic when it gets hot.

And more like 50%, due to the way the core heats up when you run the poor thing near saturation. :)

Worth noting that lower-Bmax materials, namely NiZn ferrite, have a lower Tc, and therefore saturation drops more rapidly with increasing temperature (i.e., as temperature approaches Tc, Bmax drops ~exponentially).  This shouldn't be an issue, because you would only choose such a material for high frequency applications (>1MHz?), where Bpeak still has to be lower because of losses.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline MrAl

  • Super Contributor
  • ***
  • Posts: 1395
Re: How to measure toroid saturation at a particular frequency?
« Reply #17 on: February 23, 2017, 06:01:44 am »
The other factor that sets in significantly is the skin effect, which effectively raises the AC resistance of the winding and thus reducing the higher harmonics significantly so they never affect the core.  This means if we start with 100kHz and #24 gauge wire for example, even the third harmonic would experience a drop in amplitude from it's normal Fourier value.  At the 11th harmonic we'd probably have nothing worth considering.

Not so; ACR is in series with the winding impedance, which increases much more quickly (proportional to frequency) until parasitic capacitance takes over.  ACR rises as sqrt(F).  This is why Q rises about as sqrt(F) until it peaks.

Harmonics in general decrease, and not many effects take over faster (i.e., only capacitance), so it doesn't take too many harmonics to cover 99% or more of the total signal power, when evaluating Parseval's theorem (or the like).


Quote
Yes to test for saturation you can look for a fast rise in current near the end of the pulse.  You should stay away from that point by at least 15 percent due to the way the core changes characteristic when it gets hot.

And more like 50%, due to the way the core heats up when you run the poor thing near saturation. :)

Worth noting that lower-Bmax materials, namely NiZn ferrite, have a lower Tc, and therefore saturation drops more rapidly with increasing temperature (i.e., as temperature approaches Tc, Bmax drops ~exponentially).  This shouldn't be an issue, because you would only choose such a material for high frequency applications (>1MHz?), where Bpeak still has to be lower because of losses.

Tim

Hello,

While it is true that sqrt(F) rises more slowly than just plain (F), it still rises nonetheless.  Maybe we can go a little higher than the 11th, but it just doesnt matter that much because the amplitudes drop anyway.  How do you think we got such a close factor for the square wave as compared to the sine wave.

Go through the derivation and dont even consider any drop due to skin effect and see what you come up with.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf