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.
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.
Name | Description |
---|---|
STA_195205_129 | Tubular Solenoid, Manufacturer: Saia-Burgess |
Utilities | Model components for the mechanical subsystem of solenoid actuators |
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:
Name | Default | Description |
---|---|---|
l_yoke | 39e-3 | Total length of yoke [m] |
d_yoke | 19.15e-3 | Outer diameter of yoke resp. Solenoid [m] |
t_yoke | 1e-3 | Thickness of yoke [m] |
d_lidBore | 9.5e-3 | Diameter of lid bore [m] |
t_lid | 2e-3 | Thickness of yoke lids [m] |
A_yoke | Modelica.Constants.pi*(d_yok... | Cross sectional area of yoke [m2] |
d_arm | 7.85e-3 | Outer diameter of armature [m] |
d_armBore | 2.39e-3 | Diameter of pushing rod bore [m] |
A_arm | Modelica.Constants.pi*d_arm*... | Cross sectional area of armature [m2] |
m_arm | 0.0133 | Armature weight [kg] |
d_pole | 8.15e-3 | Outer diameter of pole [m] |
d_poleBore | 3.45e-3 | Diameter of pole bore for armature pushing rod [m] |
A_pole | Modelica.Constants.pi*(d_pol... | Cross sectional area of pole [m2] |
x_min | 0.25e-3 | Minimal armature position (equals thickness of impact cushion) [m] |
x_max | 8e-3 | Maximum armature position [m] |
R_coil_20 | 12.5 | Winding resistance at 20 °C [Ohm] |
n_turns | 1146 | Number of winding turns |
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;