Calculating B:I for Helmholtz coils

Click For Summary
SUMMARY

The forum discussion centers on calculating the ratio of magnetic field strength (B) to current (I) for Helmholtz coils, specifically using the formula $$ \frac {B}{I} = \left( \frac{4}{5}\right)^{\frac 3 2} \frac {\mu _0 N}{r} $$ where ##N## is the number of turns (320), ##\mu _0## is the vacuum permittivity constant (##4\pi \times 10^{-7}##), and ##r## is the coil radius (61.06 mm). The user reported a discrepancy between their experimental result (0.004 T/A) and the analytical calculation (0.048 T/A), leading to confusion about the input values, particularly the radius of the coil. The discussion highlights the importance of accurate measurements in experimental physics.

PREREQUISITES
  • Understanding of Helmholtz coils and their magnetic field properties
  • Familiarity with the vacuum permittivity constant (##\mu _0##)
  • Basic knowledge of linear regression analysis in Python
  • Proficiency in using Python libraries such as NumPy and Matplotlib for data analysis and visualization
NEXT STEPS
  • Review the derivation of the magnetic field equations for Helmholtz coils
  • Learn about the impact of coil radius on magnetic field strength
  • Explore advanced data fitting techniques in Python using libraries like SciPy
  • Investigate common sources of error in experimental physics and how to mitigate them
USEFUL FOR

Physics students, experimental physicists, and educators involved in electromagnetism and laboratory experiments related to magnetic fields.

Ryaners
Messages
50
Reaction score
2

Homework Statement


I've completed an experiment where the dependence of magnetic field strength ##B## on current ##I## is measured at the midpoint along the axis between two Helmholtz coils (separation distance = coil radius ##r##). I got the expected linear relationship from the data but am having trouble calculating the result analytically.

##N## = number of turns per coil = 320
##\mu _0## = vacuum permittivity constant = ##4\pi \times 10^{-7}##
##r## = radius of coil = ##61.06 \times 10^{-3} m##

Homework Equations


The ratio of ##B:I## at a point halfway along the axis between the coils (i.e. where ##x = \frac r 2##) is given by:
$$ \frac {B}{I} = \left( \frac{4}{5}\right)^{\frac 3 2} \frac {\mu _0 N}{r} $$
This is derived as follows: the field from a single coil at distanct ##x## along the axis is:
$$ B = \frac{\mu _0 N I r^2}{2 \left(x^2 + r^2\right)^{3/2} } $$
Adding a second coil in series with this doubles the field between them, and setting them at a separation of ##r## gives a uniform field. Setting ##x = \frac r 2##, i.e. at the midpoint, and dividing through by ##I## gives the expression above for ##\frac B I##.

The measurements were taking by positioning a probe at ##x = \frac r 2## and measuring ##B## for a range of ##I## values.

The Attempt at a Solution


So from a graph of B against I, I get the expected result - about ##0.004 T A^{-1}##. BUT when I put the numbers into the above formula, I get something about 12 times bigger: ##0.048 T A^{-1}##. I can't see where I'm going wrong so I thought I'd see if someone here could shed some light on it. The derivation of the equation I'm using seems correct, & I'm not sure where a factor of 12 could be coming from - even if the number of turns in the coil is wrong, it would seem a bit excessive to be given coils with 3,840 turns for this experiment! (This is something I can confirm tomorrow when I get back to the lab.)

Any feedback is most welcome - thanks in advance.

If it makes things easier, here is some Python code for the above:

Python:
import matplotlib.pyplot as plt
import numpy as np

###
# Calculate the constant coefficient analytically.
###

# vacuum permittivity constant:
mu_0 = 4.0 * 10.0**(-7) * np.pi
# no. of turns each coil
N = 320.
# radius of coil ( = separation distance between coils)
r = 0.00601

#equation for ratio of B:I for Helmholtz coils with this spacing
analytic = ((4/5)**(3/2)) * mu_0 * N / r

print("Analytical Result: ", analytic)

###
# Experimental Data. Plot a graph, fit a line & print the slope.
###

# measurements:
I = np.array([0.,0.025,0.051,0.074,0.099,0.125,0.150,0.175,0.201,0.299,0.4,0.5,0.6,0.7,0.801,0.901,0.999])
B_mT = np.array([0.,0.11,0.21,0.3,0.42,0.5,0.61,0.69,0.81,1.19,1.6,1.9,2.3,2.8,3.22,3.63,4.03])

# convert B measurements from milliTesla to Tesla
B = B_mT * 10**(-3)

# linear regression
p = np.polyfit(I, B, 1)
m = p[0]
c = p[1]
line = m * I + c

print("Result from Graph: ", m)
print("Ratio of Analytical : Experimental Result = ", analytic / m)

xerr = 0.01
yerr = 0.00005

# plot graph
fig1 = plt.figure()
plt.grid(which='both', axis='both', linestyle='-')
# label axes, set axis limits
plt.xlabel('Current [A]')
plt.ylabel('Magnetic Field Strength [T]')
plt.xlim(0.0,1.05)
plt.ylim(0.0, 0.00425)
plt.errorbar(I, B, yerr, xerr, '.', capsize=3)
plt.title('Dependence of Magnetic Field on Current (in Helmholtz Coil)')
plt.plot(I, B, '.')
plt.plot(I, line, 'r')

plt.show()
 
Physics news on Phys.org
Your code says r = 0.00601, I assume the number is in meters. That's 60.01×10-4m.
You say
Ryaners said:
r = radius of coil = 61.06×10−3m
Which is it? As we say in the trade, "Garbage in, garbage out." :smile:
 
kuruman said:
Your code says r = 0.00601, I assume the number is in meters. That's 60.01×10-4m.
You say

Which is it? As we say in the trade, "Garbage in, garbage out." :smile:

Ah, yes, that does make a quite a bit of a difference alright, whoops :redface: Thank you for pointing out the mistake! Fresh pair of eyes etc.
 

Similar threads

  • · Replies 14 ·
Replies
14
Views
1K
Replies
3
Views
2K
  • · Replies 2 ·
Replies
2
Views
1K
Replies
1
Views
2K
  • · Replies 6 ·
Replies
6
Views
715
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 11 ·
Replies
11
Views
7K
  • · Replies 17 ·
Replies
17
Views
2K