Electronics > Projects, Designs, and Technical Stuff

Funny Magnetostatics problem

(1/2) > >>

Etesla:
Hi folks, I'm trying to find a mathematical model for an electromagnet used in a solenoid valve. The end goal is to be able to predict the holding strength of the electromagnet given different currents, core materials, sizes ect. The equation you can find easily online does not account for core reluctance, so they show the force between the electromagnet and it's target shooting to infinity as the distance between the objects goes to zero, which is obviously not the case. Accounting for core reluctance, I got the equation that's boxed at the bottom of the handwritten page.
Plugging that equation into matlab and plotting across very small air gap lengths, I get something interesting. The peak positive force is on the order of magnitude of what I witnessed in real life for the real solenoid, but it looks like as the gap length goes to zero, the force goes negative and actually repels the electromagnet from the target.... I'm fairly certain that my equation is alright, as its results line up with the simpler version of the equation that does not account for core reluctance as the gap length L gets larger. I also plotted the magnetic field density to make sure my assumption that the material which is some kind of cobalt iron for the original solenoid wouldn't saturate (B < .5 ish). My question is as follows: Why does the force appear to go negative when the gap distance is very small? Is this just a fluke in the math, or is this a known and real phenomenon? Any help is appreciated.

In case it helps, here's the matlab code, it should probably work in octave as well:

clear;
close all;

A = 1.3e-5; %cross sectional area of U shaped electromagnet in meters squared
ur = 2000; %relative permeability of core material
uo = (4e-7)*pi;
N = 16; %number of turns on electromagnet
Ld = .01; %average distance of a 'loop' that goes through the U core, through the air, and through the thing that's being attracted
I = .04; %current running in the electromagnet

L = 0:.000000001:.00002; %an array of air gap sizes (lengths) to iterate over

delta = .0000000000001; %the difference in gap lengths used to calculate the force

Force = zeros(1,length(L)); %initialize Force array

B = zeros(1,length(L));

ForceIgnoreCore = zeros(1,length(L)); %initialize Force array that will use the math ignoreing core reluctance

L1 = 0; %temp variables to hold L1 and L2, which are two very similar lengths with difference delta
L2 = 0;

for i = 1:length(L)
    L1 = L(i);
    L2 = L1 - delta;
   Force(i) = -(uo*L1*A*(N*I/(2*L1 + Ld/ur))^2 - uo*L2*A*(N*I/(2*L2+Ld/ur))^2)/(L1-L2);
   B(i) = N*I*uo/(2*L1+Ld/ur);
   ForceIgnoreCore(i) = uo*A*(N*I)^2/(4*L2^2);
end

%plot(L,Force,L, ForceIgnoreCore);
plot(L,Force);
title('Force vs distance of solenoid valve');
ylabel('Force (Newtons)');
yyaxis right;
plot(L,B);
ylabel('B (Tesla)');
xlabel('Gap Distance (Meters)');

Kleinstein:
The principle way of calculating the force looks good. However I think you missed that with changing distance the flied in the core will also change and thus an additional contribution.

Instead of the formula with 2 distances close by one should use the derivative as the limiting case of the 2 L very close.

ChunkyPastaSauce:
force equation is different than what's on paper

TurboTom:
Just a general hint: When I'm faced with electromagnetic problems like this, I found FEMM to be a very useful, free program. It's by far not as complex and "heavy-weight" as a full blown electromagnetic CFD (i.e. Ansys) but provides good reliability for two-dimensional problems. U/I is soemthing you've got to get used to, though  ::)



P.S. See example "Force on a Taper Plunger Magnet"

Conrad Hoffman:
+1 on FEMM. This site is also useful for some formulas- https://nbviewer.jupyter.org/github/tiggerntatie/emagnet-py/blob/master/index.ipynb

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod