Tier 2 E&M Lab: Faraday's Law: Objective
Tier 2 E&M Lab: Faraday's Law: Objective
Tier 2 E&M Lab: Faraday's Law: Objective
Objective
We aim to test Faraday’s law of electromagnetic induction using multiple setups that will utilize
the magnetometer and high gain sensors of an IOLab device. We will then extend this to observe
and record the effect of eddy current damping on an oscillating metal can in a magnetic field.
Finally, we will consider the practical application of Faraday’s law in the construction of a DC
motor by building one ourselves.
Setup:
• Part 1: Details given on p3 of lab manual
• Part 2: Details given on p5 of lab manual
• Part 3:
Fig 1. Part 3 Experimental Setup
Our setup involves the IOLab device placed
flat on the table with the coil along the y-
axis as in Part 2. We hold the magnet 10.00
± 0.05 cm away from the coil and then
manually oscillate it in the perpendicular
direction. The displacement amplitude
along the perpendicular direction (the x-
axis) is also 10.00 ± 0.05 cm
• Part 4 (Eddy current damping):
Our setup involves the IOLab with the
aluminum can taped to its bottom hanging
from a spring that is attached to the pole
(similar to Part 2). The magnet is placed on
the pole such that its face aligns with the
center of the aluminum can. We create
!1
Chirag Sharma
Theory
• We are testing Faraday’s law of electromagnetic induction, given by:
dΦB dB
ε! induced = − N = − NA for a coil of wire with N loops
dt dt
• The theory concerning eddy currents and eddy current damping is given on p2 of the lab
manual
• For the non-linear damped harmonic oscillation fit, we will use the model given in p3 of the
Tier 1 Harmonic Oscillations Lab manual:
! ydamped = Ae −tβ[(β 2 − ω 2 )cos(ωt + ϕ) + 2βωsin(ωt + ϕ)]
a
This model takes into account damping due to velocity-dependent friction and will hopefully
be a good fit for the eddy current damping that we are looking for
• Quantities that we will measure include distance (ruler) and continuous measurement of
magnetic field strength (magnetometer), induced EMF (high gain amplifier), and acceleration
(accelerometer) over time
• The only derived quantity is the rate of change of magnetic field strength, using the
dB B(t1 + Δt) − B(t1)
approximation ! (t1) ≈ , given on p4 of the lab manual
dt Δt
!2
Chirag Sharma
• We moved a small neodymium magnets along the z-axis above the coil and recorded the Bz
data with high gain voltage
• Our IOLab was giving us a lot of noise in the high gain data so we had to switch it out for
another device that we recalibrated; this gave us the data we were looking for
• Part 2:
• We used the same coil of wire as in Part 1 but placed it over the magnetometer on the IOLab
Device that was along the y-direction
• We attached it to the spring and held it 47.50 ± 0.05 cm above the magnet so that we could
produce oscillations with a very small amplitude of a few cm (to minimize unwanted
oscillation along other directions)
• Part 3:
• We set up the IOLab device and magnet as detailed earlier
• We slowly displaced the magnet along a straight line perpendicular to the face of the coil in
an oscillating manner with an amplitude of 10.00 ± 0.05 cm
• We tried to make the turns as smooth as possible to prevent sharp changes in magnetic field
strength
• Part 4 (Eddy current damping):
• We set up the experiment as detailed earlier
• We started with a control trial in which we removed the magnet from the pole and made the
IOLab device and can undergo regular harmonic motion without eddy current damping
• We then attached the magnet to the pole as illustrated in Fig. 2 and conducted 3 trials in
which the IOLab/can setup was displaced different distances !d from the magnet
• d
! : Trial 1: 1.80 ± 0.05 cm, Trial 2: 2.40 ± 0.05 cm, Trial 3: 5.10 ± 0.05 cm
• For all trials, including the control, we used a ruler to ensure that the initial amplitude of
oscillation was always around 3.6 cm
Data Plots
!3
Chirag Sharma
!4
Chirag Sharma
!5
Chirag Sharma
Data Analysis
• The data analysis plots, with regression and curve-fitting done on them, are attached at the end
and will be referenced below
• Part 1:
ϵ
Analytical estimated slope ! dB is given by −NA
! (from the theory section)
•
dt
• !−NA = − 20 × π (0.660 ± 0.005 cm)2 = − 27.4 ± 0.4 cm 2
• Since the trend looks fairly linear, we do a linear fit and get the slope as:
mV s
! (−6.78 ± 0.06) ⋅ 10−6 = − 67.8 ± 0.6 cm 2
μT
• Discrepancy test:
• ϵ! = 40.4, !δϵ = 0.72
• ϵ! ≫ 2δϵ so the values fail the discrepancy test
• This is likely due to the fact that the coil probably wasn’t moved exactly normal to the
magnet on the table; moreover, the turns of the coil likely do not perform as an ideal inductor
due to impedances and imperfections
• Part 2:
• The data points don’t look very linear — there seems to be a looping pattern in the data
• Nevertheless, we perform a linear fit and get the slope as:
mV s
! (−8.07 ± 0.12) ⋅ 10−6 = − 80.7 ± 1.2 cm 2
μT
• Part 3:
• The data points don’t look very linear — it seems to be cubic or some higher order
polynomial
• Nevertheless, we perform a linear fit and get the slope as:
mV s
! (−4.42 ± 0.05) ⋅ 10−6 = − 44.2 ± 0.5 cm 2
μT
• This result agrees with the theoretical expectation better than those from the first 2 parts
• Discrepancy test:
• ϵ! = 16.8, δϵ ! = 0.6
• ϵ! ≫ 2δϵ so the values fail the discrepancy test
• Part 4:
• We do a non-linear fit for all the trials (including control) using the model given in the theory
section
• Damping factors obtained:
• Control — !0.0034 ± 0.0002
• Trial 1 — 0.0112 ! ± 0.0003
• Trial 2 — 0.0045 ! ± 0.0003
• Trial 3 — 0.0038 ! ± 0.0002
• From Fig. 15, we can clearly see that the damping factor decreases (maybe exponentially or
quadratically — too few data points to determine) with increasing distance
!6
Chirag Sharma
Bonus Section
39 rotations in 2.24 s
RPM ~ 1045
The motor seemed to switch direction
every 2 rotations
Discussion
• Since the first 3 parts fail the discrepancy test, it appears that our model does not work very
well in the regime and case that we are considering
• It is possible that this error is due to an error with the magnetometer/high gain amplifier of the
IOLab device but is likely mostly due to the imperfect self-inductance of the copper coil
• This suggests that for improper inductors, higher-order terms cannot be ignored, which would
explain the polynomial pattern we observe in some of our plots
• This experiment could therefore be further refined either by using a better inductor (such as
commercially available ones) or by redefining our model to take into account these higher
order terms
• Part 4: When the distance is small, the magnetic field strength at the can is the highest so we
get high damping and for large distances, the magnetic field strength decreases so the damping
factor goes down (probably asymptotically) to the control value
!7
In [1]: import matplotlib.pyplot as plt
from scipy.interpolate import interp1d
import numpy as np
import scipy.optimize as fitter
Part 1
In [2]: t_Bz = [0.0122359,0.0244719,0.0367078,0.0489438,0.0611797,0.0734157,0.085651
In [3]: Bz = [-2734.98,-2664.33,-2619.7,-2596.38,-2589.95,-2566.06,-2531.58,-2500.36
In [4]: dBzdt = []
for i in range(len(Bz)-1):
dBzdt += [(Bz[i+1]-Bz[i])/(t_Bz[i+1]-t_Bz[i])]
Part 2
In [10]: t_By = [0.0122532,0.0245063,0.0367595,0.0490127,0.0612658,0.073519,0.0857722
In [11]: By = [1156.68,1156.68,1151.88,1150.99,1151.78,1151.78,1155.6,1175.79,1202.94
In [12]: dBydt = []
for i in range(len(By)-1):
dBydt += [(By[i+1]-By[i])/(t_By[i+1]-t_By[i])]
In [13]: t_EMF = [0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.1,0.11,0.12,0.13,
Part 3
In [18]: t_By = [0.0122197,0.0244394,0.0366591,0.0488789,0.0610986,0.0733183,0.085538
In [19]: By = [521.67,521.572,521.67,521.572,521.964,522.258,521.082,521.376,521.376
In [20]: dBydt = []
for i in range(len(By)-1):
dBydt += [(By[i+1]-By[i])/(t_By[i+1]-t_By[i])]
In [21]: t_EMF = [0.00999385,0.0199877,0.0299815,0.0399754,0.0499692,0.0599631,0.0699
In [27]: t, a = [], []
for line in np.loadtxt('part 4 new control.csv', delimiter=',', skiprows=
t.append(line[3])
a.append(line[7])
In [28]: par0 = [2, 0.01, 8, 1.5, -9.8]
par, cov = fitter.curve_fit(damped_acc, t[20000:25000], a[20000:25000], par0
plt.figure()
plt.title('Control trial')
plt.xlabel('$t \ (s)$ \n Fig 11. Part 4 Non-linear Damped Acceleration Fitti
plt.ylabel('$a \ (m/s^2)$', fontsize=12)
plt.plot(t[20000:25000], a[20000:25000], label='Data') #taking a cleaner sam
plt.plot(t[20000:25000], damped_acc(t[20000:25000], par[0], par[1], par[2
plt.legend()
plt.show()
In [29]: t, a = [], []
for line in np.loadtxt('part 4 1.8 cm.csv', delimiter=',', skiprows=1):
t.append(line[3])
a.append(line[7])
In [30]: par0 = [2, 0.01, 8, 1.5, -9.8]
par, cov = fitter.curve_fit(damped_acc, t[20000:25000], a[20000:25000], par0
plt.figure()
plt.title('Trial 1 (1.80 cm)')
plt.xlabel('$t \ (s)$ \n Fig 12. Part 4 Non-linear Damped Acceleration Fitti
plt.ylabel('$a \ (m/s^2)$', fontsize=12)
plt.plot(t[20000:25000], a[20000:25000], label='Data') #taking a cleaner sam
plt.plot(t[20000:25000], damped_acc(t[20000:25000], par[0], par[1], par[2
plt.legend()
plt.show()
In [31]: t, a = [], []
for line in np.loadtxt('part 4 2.4 cm.csv', delimiter=',', skiprows=1):
t.append(line[3])
a.append(line[7])
In [32]: par0 = [2, 0.01, 8, 1.5, -9.8]
par, cov = fitter.curve_fit(damped_acc, t[20000:25000], a[20000:25000], par0
plt.figure()
plt.title('Trial 2 (2.40 cm)')
plt.xlabel('$t \ (s)$ \n Fig 13. Part 4 Non-linear Damped Acceleration Fitti
plt.ylabel('$a \ (m/s^2)$', fontsize=12)
plt.plot(t[20000:25000], a[20000:25000], label='Data') #taking a cleaner sam
plt.plot(t[20000:25000], damped_acc(t[20000:25000], par[0], par[1], par[2
plt.legend()
plt.show()
In [33]: t, a = [], []
for line in np.loadtxt('part 4 5.1 cm.csv', delimiter=',', skiprows=1):
t.append(line[3])
a.append(line[7])
In [34]: par0 = [2, 0.01, 8, 1.5, -9.8]
par, cov = fitter.curve_fit(damped_acc, t[20000:25000], a[20000:25000], par0
plt.figure()
plt.title('Trial 3 (5.10 cm)')
plt.xlabel('$t \ (s)$ \n Fig 14. Part 4 Non-linear Damped Acceleration Fitti
plt.ylabel('$a \ (m/s^2)$', fontsize=12)
plt.plot(t[20000:25000], a[20000:25000], label='Data') #taking a cleaner sam
plt.plot(t[20000:25000], damped_acc(t[20000:25000], par[0], par[1], par[2
plt.legend()
plt.show()
plt.figure()
plt.title('Damping factor vs distance', fontsize=12)
plt.xlabel('Distance $(cm)$ \n Fig 15. Part 4 Variation in acceleration damp
plt.ylabel('Damping factor', fontsize=12)
plt.errorbar(distances, betas, xerr=[0.05]*3, yerr=beta_errs, fmt='x')
plt.plot(np.linspace(1.5, 5.5, 100), [0.0034]*100, label='Control')
plt.plot(np.linspace(1.5, 5.5, 100), [0.0036]*100, '--', label='Control uppe
plt.plot(np.linspace(1.5, 5.5, 100), [0.0032]*100, '--', label='Control lowe
plt.legend()
plt.show()