Thick Solenoidal Coil Optimization
for RF operation

This document describes the calculations necessary to design a thick solenoidal coil that is driven at RF frequencies. We use this in our magnetometer to create an oscillating magnetic field for faraday rotation using a Tb doped glass rod. This calculation is by no means complete and has several weaknesses, but it should be a good guide to get an estimate of the correct coil dimensions. This calculation considers only a single conductor wire wrapped in a thick solenoid coil; at high frequencies, litz wire significantly reduces eddy current losses. This calculation can be easily modified to include litz wire. Please send all revisions and corrections to Tom Kornack <tkornack@princeton.edu>.

You can also download the mathematica notebook form of this page.

•Definitions

First we define the physical constants of our copper wire:

consts = { μ _ 0 -> 4 π 10^(-7),  σ _ Cu -> 1/(1.68 10^(-8)) (* 1/(Ohm m) *) } ;

We also declare a rough estimate of the parameters for our coil; we'll use these values to calculate things along the way but we'll be able to change and optimize things later.

typical = { Ic -> Icf,  l -> 4.0 * 2.54/100 , (* Length in m *)  h1 -> 0.406 * 2.54/100 ,  h2 -> 0.800 * 2.54/100,  d -> 0.0402 * 2.54/100, (* Wire diameter in m *)  f -> 3000, (* Typical frequency, Hz *)  V -> 5 (* Volts from supply *) } ;

We define the dimensions according to the following figure (d is the diameter of the wire, h1 in the inner diameter of the coil, h2 is the outer diameter of the coil, and l is the length of the coil):

[Graphics:HTMLFiles/index_3.gif]

Now we calculate various basic properties of the coil:

ω := 2 π f ;

NumTurns := (l/d) * ((h2 - h1)/d) ;

Here I provide two possible values for the length of the wire. For optimizations, we require an analytic expression so we use the approximation. Be sure to adjust the approximation if the geometry changes considerably.

LengthWireReal := Sum[Sum[2 π h, {zpos, -l/2, l/2, d}], {h, h1, h2, d}] ; (* Length in meters *) LengthWireReal /. typical

93.66507700230596`

LengthWireApprox := 2 π (h1 + h2)/2 (h2 - h1)/d l/d 1.03 (* Length in meters *) LengthWireApprox /. typical

96.66566184855874`

Here's where we choose the value used, real or approximate:

LengthWire := LengthWireApprox ;

Pounds := LengthWire * 3.281/80 (* lbs for 80 ft/lb wire *)

δ := 2/(μ _ 0 σ _ Cu ω)^(1/2) /. consts ; (* results in meters *)  δ 1000 /. typical (* mm *)

1.191006536922753`

CoilVolume := π (h2^2 - h1^2) l ;  CoilVolume * 10^6 /. typical (* cm^3 *)

97.84858361577983`

Area := (π d^2)/4  Area * 10^6 /. typical (* mm^2 *)

0.81885955452072`

EffArea := π d δ  EffArea * 10^6 /. typical (* mm^2 *)

3.820531524487136`

Consider a resonant circut as follows:

[Graphics:HTMLFiles/index_20.gif]

Rc := LengthWire/(σ _ Cu Area) /. consts ;  Rc /. typical (* Ohm *)

1.9832254628894288`

L := (NumTurns (h2 + h1))^2/(127 (13 h2 + 9 l - 7 h1))/1000 ;    (* L in H, Equation from B . B . Banabi *)  L * 1000 /. typical (* mH *)

6.351333165333436`

ZL := ω L ;  ZL /. typical (* Ohm *)

119.71980967627638`

For a resonant circuit, the capacitance is given matching the impedance of the inductor at a frequency ω.

Cs := 1/(ω ZL)   Cs 10^9 /. typical (* nanoFarads *)

443.1317410272423`

LoopField := (μ _ 0 Ic)/2 R^2/(R^2 + z^2)^(3/2) /. consts ; LoopField /. typical

(Icf π R^2)/(5000000 (R^2 + z^2)^(3/2))

Here I provide two possible definitions for the coil field. The approximation is used for analytic optimizations or if you want to calculate things more quickly.

CoilFieldReal := Sum[Sum[LoopField /. {z -> zpos, R -> h}, {zpos, -l/2, l/2, d}], {h, h1, h2, d}] ; CoilFieldReal //. typical

0.011799938571769118` Icf

CoilFieldApprox := (LoopField /. {z -> l/6, R -> (h2 + h1)/2}) NumTurns ; CoilFieldApprox //. typical

0.012076045876659081` Icf

CoilField := CoilFieldApprox ;

PowerResist := Ic^2 Rc ; PowerResist //. typical

1.9832254628894288` Icf^2

The average field, Bavg, is a guess at the actual value. I use this because it keeps things analytic. A more rigorous calculation of the eddy current losses should be substituted here, one for which the actual magnetic field at each conductor segment is calculated and then the corresponding eddy current losses are calculated. However, this gives a decent estimate. Change the factor (currently 3) based on the geometry of the coil:

B _ avg := CoilField/3 ; PowerEddy := (π ω^2 LengthWire B _ avg^2 d^4 σ _ Cu)/128 /. consts ; PowerEddy //. typical

0.8837942549335491` Icf^2

PowerDiss := PowerResist + PowerEddy ; PowerDiss //. typical

2.867019717822978` Icf^2

Now that we've calculated the power dissipated, we can determine the effective resistance:

Reff := PowerDiss /. Ic -> 1 ; Reff /. typical

2.867019717822978`

Driving this circuit at a voltage V generates the following current:

Icf := V/Reff ; Icf /. typical

1.7439712635798208`

If the circuit is properly tuned to resonance with an appropriate capacitor, then the voltage on the capacitor and inductor is:

Vc := Abs[V (i ω L/Reff + 1)] ;  Vc /. typical (* Volts *)

208.84776854304266`

Q := Vc/V ; Q /. typical

41.769553708608534`

We want to optimize the field we create divided by the power we dissipate creating that field. That's this value:

Ratio := CoilField 10^4/PowerDiss ; Ratio //. typical

24.152091753318157`

CoilField 10^4 //. typical

210.6027698656502`

•Summary

Here's the old configuration, which follows roughly from the measurements:

typ = { Ic -> Icf,  l -> 5.00 * 2.54/100 , (* Length in m *)  h1 -> 0.300 * 2.54/100 ,  h2 -> 2.30 * 2.54/100,  d -> 0.100 * 2.54/100, (* Wire diameter in m *)  f -> 3000, (* Typical frequency, Hz *)  V -> 41.2 (* Volts from supply *) } ; {coilfield -> CoilField 10^4, coilfieldreal -> CoilFieldReal 10^4, powerdissipated -> PowerDiss, powerR -> PowerResist, powerE -> PowerEddy, coilvoltage -> Vc, coilcurrent -> Ic, Qfact -> Q, ratios -> Ratio, Lc -> L 10^3, numturns -> NumTurns} //. typ

{coilfield -> 69.98384690686615`, coilfieldreal -> 56.52974351731836`, powerdissipated -> 25.3946939551948`, powerR -> 0.26917682338398563`, powerE -> 25.125517131810813`, coilvoltage -> 219.66879055538467`, coilcurrent -> 0.6163760668736602`, Qfact -> 5.331766761053026`, ratios -> 2.755845257688175`, Lc -> 18.57142857142855`, numturns -> 999.9999999999995`}

As you can see, most of the power is being dissipated in the PowerE term - eddy current losses. The optimal configuration is when the resistive and eddy current losses are equal. So now let's try a new configuration, with smaller wire to avoid the power dissipation due to eddy currents.

typ = { Ic -> Icf,  l -> 4.14 * 2.54/100 , (* Length in m *)  h1 -> 0.406 * 2.54/100 ,  h2 -> 0.90 * 2.54/100,  d -> 0.0450 * 2.54/100, (* Wire diameter in m *)  f -> 3000, (* Typical frequency, Hz *)  V -> 5 (* Volts from supply *) } ; {coilfield -> CoilField 10^4, coilfieldreal -> CoilFieldReal 10^4, powerdissipated -> PowerDiss, powerR -> PowerResist, powerE -> PowerEddy, coilvoltage -> Vc, coilcurrent -> Ic, Qfact -> Q, ratios -> Ratio, Lc -> L 10^3, numturns -> NumTurns} //. typ

{coilfield -> 181.51870166903853`, coilfieldreal -> 168.88584723785655`, powerdissipated -> 7.304557570721312`, powerR -> 3.788270804467729`, powerE -> 3.5162867662535833`, coilvoltage -> 207.82661711584035`, coilcurrent -> 1.4609115141442628`, Qfact -> 41.56532342316807`, ratios -> 24.850061062783006`, Lc -> 7.5448465187535385`, numturns -> 1009.9555555555554`}

The smaller wire is much better: with powerE ~ powerR this coil is optimized. Note the increased Q and field/power ratio.


Converted by Mathematica  (November 7, 2002)