Hello everybody! I am writing this topi because i got stuck in this!I have a cylindrical magnet with 1,5mm Radius,2mm thickness and Br 1,38 Tesla! I want to calculate the magnetic field in a distance s = [0 0 0.01](in meters) ,that means in 1cm distance while my magnet's position is α = [0 0 0]. the vector form is [x y z] . using the equation found at http://en.wikipedia.org/wiki/Dipole#Magnitudefor Vector Form i got a result of [0 0 46.5498] Tesla which is impossible! for the magnetic moment calculation i used the type m =π*Br*d^2*l/(4 μ0) where d is the diameter of my magnet and l the thickness Can not spot my mistake since i expect to have uT as a result!Any opinion aprreciated!Thanx in advance!
I get m=0.01553 Am^2 (WolframAlpha) and 3.11mT (WolframAlpha), using your formulas and values and assuming the magnet is aligned with the z-axis.
We can't spot it either, because we can't see the details of how you actually did your calculation. (hint, hint... )
i used matlab to do my calculations!!!more specific!!!! MagnetLoc = [0 0 0]; Sensors = [0 0 0.01] R = magnetLoc - Sensors'; rH = R./norm(R); theta = acos(R(3)/norm(R)); gamma = atan(R(2)/norm(R)); m1 = 0.0155171294871; % magnitude of magnetic moment m m = [m1*sin(theta)*cos(gamma) m1*sin(theta)*sin(gamma) m1*cos(theta)]; M = 1.2566370614 * (10^-6); %vacuum perneability (μ0) A = M/(4*pi*(norm(R)^5)); C = (3 * dot( rH , m) * rH)' - ((norm(R)^2)*m); Field = A*C
OK, I'll move this over to the Matlab forum and maybe someone there can check whether you've implemented the equation properly.
The first part (3 * dot( rH , m) * rH) should use R I think. Otherwise, you have an expression which grows (with R->0) with 1/R^5.
xmm!the equation says to use unit vector of R!if i use R i get even bigger magnitude! What do you mean with your second recommendation?
Now that is very surprising, as |R| < |rH| That was just an explanation why the current calculation has to be wrong. (3 * dot( rH , m) * rH) does not depend on the magnitude of R. For a constant direction, your expression can be simplified to c/R^5 (neglecting the second term here). That is wrong, a dipole field is proportional to 1/R^3.
ok you are right!when i use R instead of rH i get 0.0031 Tesla! What i want to do is find the position of a magnet in an area 1cm to 3cm(see it as a cube) away from my sensor! In order to do that i calculate the theoritical value of the magnetic field at a specific position (here at 1cm) and then i use least square algorithm for the relationship : (Btheoritical-Bexperiment) in order to minimize this and find the best solution!the problem is that even 3100uT is not even close to the value which my sensor gives to me at 1cm distance which is approximately 1000uT according to my sensor!
- 1.38 Tesla could be the magnetic field at some specific point, not everywhere in the magnet - higher moments (quadruple, ...) might influence the value a bit You can solve this (analytically), there is no need to use a minimization algorithm. Do you get the same ratio measured/calculated for other distances?
Can you give some examples for "different"? It might be possible to use a different formula to fit the data.
ok got the measurements!after calibration and removing the earth magnetic field i got : for 1cm : x = 173uT y = -74.4733 z = 2048,1 uT for 2cm : x = -19.7439 y = 53,2893 z = 402,8459 uT for 3cm : x = -3,4647 y = 4,2611 z = 141,9412 uT
2048/402.8=5.08 < 2^{3}, your field drops slower than a dipole field. 402.8/141.9=2.84 < 1.5^{3}=3.375, same here. The last value fits to the theoretic dipole prediction (~115μT), which is a hint that higher orders of the field could be relevant for 1cm and 2cm. I neglected the small x- and y-components.
so you mean that i need to find scale factors? maybe the calibration is not correct!i mean that how can i calibrate a magnetometer that is still?
Your magnet is not a perfect, point-like dipole. Those deviations can be expressed as quadrupole moment, sextupole moment, ... Alternatively, measure more points, and find some effective formula as calibration.