Magnetic.Solenoid

Reluctance type electromagnetic actuators

Magnetic.Solenoid.STA_195205_129

Information



Solenoid actuators are widely used in many different applications, e.g. in locking mechanisms throughout automation and automotive engineering, in fluidic valves or in relays and switchgear. A cross-sectional view on a general purpose lifting magnet is shown in the figure below.

Structure of the sample solenoid actuator


Models of solenoid actuators based on magnetic networks are very useful for both coarse design of magnetic actuators itself (e.g. main dimensions, force-stroke charactersitics, dynamic behavior) and for system simulation together with neighboring subsystems, e.g. mechanical loads or excitation and control circuits.

NameDescription
STA_195205_129 Tubular Solenoid, Manufacturer: Saia-Burgess
Utilities Model components for the mechanical subsystem of solenoid actuators


Magnetic.Solenoid.STA_195205_129 Magnetic.Solenoid.STA_195205_129

Tubular Solenoid, Manufacturer: Saia-Burgess

Magnetic.Solenoid.STA_195205_129

Information



This exemplary model describes an industrial lifting magnet: the tubular solenoid STA 195205-129 of the manufacturer Saia-Burgess. Technical data of this actuator can be found in the manufacturers internet catalogue.The graphical representation of the Modelica model is shown below:

Graphical representation of the solenoid model


The magnetic network of that solenoid was derived with the assistance of magnetostatic Finite Element Analysis at different armature positions x for a given current i:

Magnetic network over field plot obtained from FEA



Parameters

NameDefaultDescription
l_yoke39e-3Total length of yoke [m]
d_yoke19.15e-3Outer diameter of yoke resp. Solenoid [m]
t_yoke1e-3Thickness of yoke [m]
d_lidBore9.5e-3Diameter of lid bore [m]
t_lid2e-3Thickness of yoke lids [m]
A_yokeModelica.Constants.pi*(d_yok...Cross sectional area of yoke [m2]
d_arm7.85e-3Outer diameter of armature [m]
d_armBore2.39e-3Diameter of pushing rod bore [m]
A_armModelica.Constants.pi*d_arm*...Cross sectional area of armature [m2]
m_arm0.0133Armature weight [kg]
d_pole8.15e-3Outer diameter of pole [m]
d_poleBore3.45e-3Diameter of pole bore for armature pushing rod [m]
A_poleModelica.Constants.pi*(d_pol...Cross sectional area of pole [m2]
x_min0.25e-3Minimal armature position (equals thickness of impact cushion) [m]
x_max8e-3Maximum armature position [m]
R_coil_2012.5Winding resistance at 20 °C [Ohm]
n_turns1146Number of winding turns

Modelica definition

model STA_195205_129 "Tubular Solenoid, Manufacturer: Saia-Burgess" 
  // Yoke Geometry
  parameter SI.Length l_yoke = 39e-3 "Total length of yoke";
  parameter SI.Length d_yoke = 19.15e-3 "Outer diameter of yoke resp. Solenoid";
  parameter SI.Length t_yoke = 1e-3 "Thickness of yoke";
  parameter SI.Length d_lidBore = 9.5e-3 "Diameter of lid bore";
  parameter SI.Length t_lid = 2e-3 "Thickness of yoke lids";
  parameter SI.CrossSection A_yoke = Modelica.Constants.pi * (d_yoke*d_yoke - di_yoke*di_yoke) / 4 
    "Cross sectional area of yoke";
protected 
  parameter SI.Length di_yoke = d_yoke - 2*t_yoke "Inner yoke diameter";
  
  // Armature Geometry
public 
  parameter SI.Length d_arm = 7.85e-3 "Outer diameter of armature";
  parameter SI.Length d_armBore = 2.39e-3 "Diameter of pushing rod bore";
  parameter SI.CrossSection A_arm = Modelica.Constants.pi * d_arm * d_arm / 4 
    "Cross sectional area of armature";
  parameter SI.Mass m_arm = 0.0133 "Armature weight";
  
  // Pole Geometry, due to radial clearance between armature pushing rod and joke slightly different from armature end face geometry
  parameter SI.Length d_pole = 8.15e-3 "Outer diameter of pole";
  parameter SI.Length d_poleBore = 3.45e-3 
    "Diameter of pole bore for armature pushing rod";
  parameter SI.CrossSection A_pole = Modelica.Constants.pi * (d_pole*d_pole - d_poleBore*d_poleBore) / 4 
    "Cross sectional area of pole";
  
  Magnetic.Reluctance.MagneticGround MagGround;
  Magnetic.Reluctance.NonlinearReluctance R_mFeYoke(l=5/3*l_yoke +
        d_yoke, A=A_yoke,
    redeclare function my_r_Material = 
        Magnetic.Material.Softmagnetic.Steel_9SMn28K) "Yoke reluctance";
  Magnetic.Reluctance.WorkingAirGap R_mAirGap(A=A_pole) 
    "Reluctance of working air gap";
  
  // Armature stroke
  parameter SI.Length x_min = 0.25e-3 
    "Minimal armature position (equals thickness of impact cushion)";
  parameter SI.Length x_max = 8e-3 "Maximum armature position";
  SI.Length x_arm( start = x_max) 
    " Armature position, identical with length of working air gap";
  Magnetic.Solenoid.Utilities.ArmatureMechanics Armature(
    limit_xMin(
    s0 =          x_min),
    limit_xMax(
    s0 =          x_max),
    ArmatureMass(s=x_arm, m=m_arm));
  
  Magnetic.Sources.ElectroMagneticConverter ElMagConverter(turns=n_turns);
  Modelica.Electrical.Analog.Basic.Resistor R_coil(R=R_coil_20);
  Modelica.Electrical.Analog.Interfaces.PositivePin pin_p;
  Modelica.Electrical.Analog.Interfaces.NegativePin pin_n;
  
  // Electrical Parameters
  parameter SI.Resistance R_coil_20 = 12.5 "Winding resistance at 20 °C";
  parameter Real n_turns = 1146 "Number of winding turns";
  
  Magnetic.Reluctance.Air.CircularHalfAnnulus R_mStray(
    d=l_yoke/3,
    t=l_yoke/3,
    r=(d_yoke - d_arm)/2) "Coil stray reluctance";
  Magnetic.Reluctance.NonlinearReluctance R_mFeArm(A=A_arm, l=l_yoke
        /3,
    redeclare function my_r_Material = 
        Magnetic.Material.Softmagnetic.Steel_9SMn28K) "Armature reluctance";
  Magnetic.Reluctance.Air.HollowCylinderRadialFlux R_mAirParasitic(
    d_in=d_arm,
    d_out=d_lidBore,
    l=t_lid) "Parasitic airgap of armature slide guiding";
  
  // Magnetic force as alias for convenient plotting etc. (Force is calculated in working air gap R_mAirGap)
  SI.Force F_mag "Actuator force";
  
  Modelica.Mechanics.Translational.Interfaces.Flange_a ArmatureFlange;
equation 
  connect(MagGround.p, R_mAirGap.n);
  connect(ElMagConverter.n_mag, MagGround.p);
  connect(R_coil.p, pin_p);
  connect(R_coil.n, ElMagConverter.p_el);
  connect(ElMagConverter.n_el, pin_n);
  connect(R_mStray.n, MagGround.p);
  connect(R_mFeArm.p, ElMagConverter.p_mag);
  connect(R_mAirGap.AirGapFlange, Armature.flange_a);
  connect(R_mStray.p, R_mAirParasitic.p);
  connect(R_mAirParasitic.p, R_mFeArm.n);
  connect(R_mAirParasitic.n, R_mFeYoke.p);
  connect(R_mFeYoke.n, R_mAirGap.p);
  F_mag = R_mAirGap.AirGapFlange.f;
  
  connect(Armature.flange_b, ArmatureFlange);
end STA_195205_129;

HTML-documentation generated by Dymola Mon Feb 28 15:23:23 2005.