------------------------------------------------------------------------------- -- Copyright (c) 2001 Mentor Graphics Corporation -- -- This model is a component of the Mentor Graphics VHDL-AMS educational open -- source model library, and is covered by this license agreement. This model, -- including any updates, modifications, revisions, copies, and documentation -- are copyrighted works of Mentor Graphics. USE OF THIS MODEL INDICATES YOUR -- COMPLETE AND UNCONDITIONAL ACCEPTANCE OF THE TERMS AND CONDITIONS SET FORTH -- IN THIS LICENSE AGREEMENT. Mentor Graphics grants you a non-exclusive -- license to use, reproduce, modify and distribute this model, provided that: -- (a) no fee or other consideration is charged for any distribution except -- compilations distributed in accordance with Section (d) of this license -- agreement; (b) the comment text embedded in this model is included verbatim -- in each copy of this model made or distributed by you, whether or not such -- version is modified; (c) any modified version must include a conspicuous -- notice that this model has been modified and the date of modification; and -- (d) any compilations sold by you that include this model must include a -- conspicuous notice that this model is available from Mentor Graphics in its -- original form at no charge. -- -- THIS MODEL IS LICENSED TO YOU "AS IS" AND WITH NO WARRANTIES, EXPRESS OR -- IMPLIED. MENTOR GRAPHICS SPECIFICALLY DISCLAIMS ALL IMPLIED WARRANTIES OF -- MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. MENTOR GRAPHICS SHALL -- HAVE NO RESPONSIBILITY FOR ANY DAMAGES WHATSOEVER. ------------------------------------------------------------------------------- -- File : ElectroMagnet.vhd -- Author : Mentor Graphics -- Created : 2001/07/05 -- Last update: 2003-05-13 ------------------------------------------------------------------------------- -- Description: Electro-Magnet with mechanical connections ------------------------------------------------------------------------------- -- Revisions : -- Date Version Author Description -- 2001/07/05 1.0 Mentor Graphics Created ------------------------------------------------------------------------------- library IEEE; use IEEE.MATH_REAL.all; use IEEE.electrical_systems.all; use IEEE.mechanical_systems.all; entity ElectroMagnet is generic ( r_wind : resistance; -- Magnet winding resistance i0 : current; -- Calibration current at which both forces -- are measured F_max : force; -- Maximum force at current i0, gap = 0 gap1 : displacement; -- Gap at which F1 is measured F1 : force); -- Force at current i0, gap = gap1 port (terminal elec1, elec2 : electrical; terminal trans1, trans2 : translational); end entity ElectroMagnet; ------------------------------------------------------------------------------- -- Behavioral architecture ------------------------------------------------------------------------------- architecture behavioral of ElectroMagnet is quantity v across i through elec1 to elec2; quantity gap across tforce through trans1 to trans2; quantity l : inductance; -- Inductance quantity mflux : flux; -- Flux constant k : real := (sqrt(F_max/F1) - 1.0)/gap1; constant L_max : inductance := 2.0*F_max/((i0**2)*k); begin if gap < 0.0 use -- Limit force to Fmax (scaled by i**2) l == L_max; mflux == l*i; v == i*r_wind + mflux'dot; tforce == F_max*(i**2)/(i0**2); else l == L_max/(1.0 + k*gap); mflux == l*i; v == i*r_wind + mflux'dot; tforce == 0.5*k*L_max*(i**2)/(1.0 + k*gap)**2; end use; break on gap'above(0.0); end architecture behavioral; ------------------------------------------------------------------------------- -- Copyright (c) 2001 Mentor Graphics Corporation -------------------------------------------------------------------------------