SNOAA04A March   2020  – June 2021 FDC1004 , FDC1004-Q1 , FDC2112 , FDC2112-Q1 , FDC2114 , FDC2114-Q1 , FDC2212 , FDC2212-Q1 , FDC2214 , FDC2214-Q1 , LDC0851 , LDC1041 , LDC1051 , LDC1101 , LDC1312 , LDC1312-Q1 , LDC1314 , LDC1314-Q1 , LDC1612 , LDC1612-Q1 , LDC1614 , LDC1614-Q1 , LDC2112 , LDC2114 , LDC3114 , LDC3114-Q1

 

  1.   Trademarks
  2. 1Introduction
  3. 2Inductive Sensor Simulation
  4. 3Using the Electromagnetic Problem Answer File
  5. 4Calculating Resolution
  6. 5Other Resources
  7. 6Summary
  8. 7References
  9. 8Revision History

Inductive Sensor Simulation

  1. Design a coil using the LDC Tools Excel calculator's Spiral Inductor Designer. The dimensions of this coil will be used to create the FEMM simulation. Instructions are embedded in the tool.
  2. Create a new problem
    1. Open FEMM
    2. Click File → New
    3. In the Create a new problem dialog box, select Magnetics Problem and click OK.
    GUID-00732640-14CE-4EBD-AAFE-E4B5AEED4832-low.gifFigure 2-1 Create a New Problem Dialog Box
  3. Make the new problem a planar problem or an axisymmetric problem.

    When choosing between the two problem types, consider the geometry of the coil. For both planar and axisymmetric problems, the FEMM workspace forms a cross section of the coil and target. The workspace is a slice of the PCB coil such that all layers and traces of the PCB are visible. Keep this in mind while constructing the coil. It is important to construct the cross section such that the simulation will create a coil shape. See how each problem type turns the 2D workspace into a 3D solution:

    1. Planar problems:

      Planar problems expand along the axis perpendicular to the plane. The user must specify the distance of this expansion. This type of problem is most often used to simulate racetrack coils. However, planar problems cut off the rounded edges of the coils, leaving only the long parallel section. This makes the simulation much less accurate than spiral coil simulations using axisymmetric problems.

      GUID-8504211E-F4BB-4DF5-AF5F-668478291FFF-low.gifFigure 2-2 Example Planar Problem Workspace With Labeled Traces and Target
    2. Axisymmetric problems:

      Axisymmetric problems rotate around a user-specified axis. This type of problem is the most useful for inductive sensing simulations and should be used for all circular coils. Note that coils simulated with this problem type will not be true coils, but will be a series of concentric circles. Even so, the coils are fairly accurate simulations.

      GUID-1AFA0223-80E0-4F8C-ACDB-DCC6FC213F96-low.gifFigure 2-3 Example Axisymmetric Problem Workspace With Labeled Traces and Target

  4. Define the problem.
    1. Navigate to the Problem menu shown in Figure 2-4.
    2. In the Problem Definition dialog box, choose planar or axisymmetric for the Problem Type. If “planar” is selected, enter the depth of the problem expansion in the Depth field.
    3. Enter the appropriate length units for the coil design in the Length Units field. Typically mm or mils are most useful.
    4. Define a Frequency (Hz). All magnetic problems must have a defined frequency. For inductive sensing problems, this is comparable to choosing a capacitor for a known inductor.

      Use the Spiral Inductor Designer in LDC Tools to calculate a frequency and enter that frequency in the problem Frequency (Hz) field. If the FEMM simulation includes a target, use the sensor frequency with target interaction.

    5. In the AC Solver field, select Succ. Approx. Ignore the other fields and click OK.
    GUID-3EF7C501-E5A9-4118-8CCA-8536AE559B94-low.gifFigure 2-4 Problem Definition Dialogue Box
  5. Place nodes
    1. Use this button GUID-D72F429E-D97C-4215-B861-E215FDFB8836-low.gif to place nodes. Use either segments GUID-2C6EB233-D121-4650-9E22-4434CF458163-low.gif or arcs GUID-D6E74B7A-BB57-4D90-9EFA-9DC7999B4C42-low.gif to connect them. At least two nodes must be placed before placing segments. These will form the boundaries of your shape(s).

      Use the trace width, trace spacing, and trace thickness from the Spiral Inductor Designer to create a cross section of each trace. Here are key tips for placing objects:

      1. It can be challenging to place nodes exactly in-line with each other. It may be easier to place one node, copy it, and specify X- and Y- translations for the new nodes. Note that the units are specified in the Problem Definition menu.
      2. Click close to the desired nodes to place segments or arcs on the node.
      3. Though the coils in this tutorial will use rectangular traces, the best approximation of real traces is a trapezoidal shape.
    2. Other helpful tips when moving objects:
      1. Right-click near an object to select it.
      2. Double-right-click the object to show the X,Y position of the object.
      3. Navigate with keyboard arrows.
      4. Click the Page Up and Page Down keys to zoom in and out.
      5. Undo only works ONCE.
      6. Click the GUID-99B4470E-6F34-4CFE-AE5F-5544524B9569-low.gif button to move objects.
      7. Click the GUID-B90CF752-1F7C-4A7A-B79D-183C85A156DF-low.gif button to copy objects.
      8. Click the GUID-7FDC5008-E730-46CC-A03F-80DA0DD070EE-low.gif button to select a group of objects. Then click the GUID-05CEE643-EA07-4003-B50F-35B0484F8DC2-low.gif button to highlight objects in a rectangular area or the GUID-C231A58A-01AB-425E-AF78-A108F46F549B-low.gif button to highlight objects in a circular area. Press the space bar to join the objects into a group.
      9. Click the GUID-DE75B6A3-8179-4D84-8391-ED1EE66F2F4D-low.gif button to scale
    3. For axisymmetric problems only: Mouse over the leftmost segment or arc or double-right-click the arc and look at the bottom left corner of the screen to determine the X,Y location of the object. Select all drawn objects and translate them left so that the leftmost segment or arc now has an x-value equal to the inner radius of the sensor coil. The axis of rotation will be the y-axis, so offsets in the x-direction will form gaps or holes in the object.
  6. Define boundaries
    1. Click the GUID-46A5D89E-7984-4E8B-BBB0-0C2F891F6ECE-low.gif button to open the Boundary Builder.
    2. The Boundary Builder builds the model, shows the axis of symmetry, and defines several boundaries that form a gradient to infinity.
    3. Leave the values in the Open Boundary Builder dialog box unchanged and click OK.
      GUID-3A3FCC90-F8DB-41F7-8477-2EEEC56615A7-low.gifFigure 2-5 Boundary Builder Dialogue Box
    4. The workspace should now look similar to Figure 2-6 for axisymmetric problems or similar to Figure 2-7 for planar problems:
      GUID-6050164F-E078-4A30-8382-8AFA32ACE43B-low.gif Figure 2-6 Axisymmetric Problem With Boundaries
      GUID-8F1C45AD-FF8E-4B6F-9FC3-582F41E64200-low.gif Figure 2-7 Planar Problem With Boundaries
  7. Define materials
    1. Select the circular green button GUID-48A7AA2B-0F75-4BF5-9B00-F6931D34056C-low.gif to place block labels. Place a block label inside each boundary area, including the white space inside the outer boundary. The result should look something like Figure 2-8:
      GUID-680A26DA-C55D-403D-ADDA-4AE3CCBBC4E2-low.gif Figure 2-8 Axisymmetric Problem Workspace With Block Labels
    2. Each block label must be changed from <None> to a defined material. First, the materials must be added to the Materials Library. Navigate to Properties → Materials Library.
      GUID-BD488F22-7A47-49A0-9FA5-EC31C494FB9C-low.gifFigure 2-9 Default Materials Library
    3. Typically, the engineer only uses air, copper, and the target material if the material is not copper. Drag Air from the left side to the right side of the menu. Open the Solid Non-Magnetic Conductors folder and drag Copper to the right side of the menu. Click OK.
      GUID-13D923D5-137E-487A-9B57-DA822CD78E2B-low.gifFigure 2-10 Materials Library With Air and Copper Added to Model Materials
    4. The copper coil requires a special material type. Navigate to Properties → Materials. In the Property Definition menu, click Add Property to open the Block Property dialog box.
      GUID-37810CFE-DD9B-40AD-B7D8-44FF0417D8F2-low.gifFigure 2-11 Block Properties Menu
      1. In the Name field, enter the material name Copper Coil.
      2. In the B-H Curve drop-down menu, select Linear B-H Relationship.
      3. The Linear Material Properties do not need to be modified. Copper is a conductor, therefore the material will have a relative permeability of 1.
      4. Change the Electrical Conductivity field to 58.5 MS/m.
      5. Change the Special Attributes: Lamination & Wire Type to Magnet wire.
      6. In the Strand dia, mm field, enter the strand diameter based on the trace width and copper thickness of the real coil. Use Equation 1 to calculate the equivalent strand diameter:
        1. The trace height and width form the cross section of the trace. The area of the equivalent copper wire must equal the cross sectional area of the PCB trace.
        2. Solve for r in mm. Use 2r for the strand diameter and enter this value in the Strand dia, mm field.
        3. This calculated diameter does not affect the size of the inductor nor the spacing. This is determined by the boundaries in the workspace. The strand diameter does affect the coil's series resistance.
        Equation 1. T W   =   πr 2
        • T is the trace thickness in mm
        • W is the trace width in mm
        • r is the strand radius in mm
    5. Right-click near the material labels to highlight the names. Press the space bar to open the Properties for selected block menu. Change the Block type to the appropriate material for the area. Repeat this for all material labels.
      GUID-F6436FD5-F88C-4597-BF1A-78DC09BECDA3-low.gif Figure 2-12 Properties for Selected Block Menu
    6. After these steps, the workspace should look something like Figure 2-13:
      GUID-3900FEC6-11C3-4797-91B5-7DA3128FE955-low.gif Figure 2-13 Axisymmetric Problem Workspace With Defined Materials
  8. Add circuits to the problem
    1. Navigate to the Properties → Circuits menu. In the Property Definition dialog dox, click Add Property.
    2. In the Circuit Property dialog box, name the circuit and specify an operating current.
      1. The current value is not especially important. A value anywhere from 1 mA to 1 A is acceptable.
    3. Make sure the Series option is checked and click OK.
      GUID-3889A78B-DEB3-4675-9283-39826953A6B9-low.gifFigure 2-14 Circuit Property Menu
    4. For planar problems only:
      1. For racetrack coils and similar circuits, the parallel traces are not automatically connected by the planar expansion. At least two separate circuits are required to correctly model the current flow.
      2. To model the current flow, define two circuits with the same current magnitude. One should be positive and the other should be negative. Assign one to each side of the racetrack coil. Your workspace should look similar to Figure 2-15:
        GUID-E9608F4B-9AD6-46DD-895D-46D4E1A20E00-low.gif Figure 2-15 Example Planar Problem Workspace With Defined Circuits for Racetrack Coil
    5. Right-click the material nodes again and click the space bar to return to the Properties for selected block menu.
      GUID-0AB0C427-B71F-4ADD-BB37-C44C91548EC0-low.gifFigure 2-16 Properties for Selected Block Menu
      1. Select the circuit that you just created in the In Circuit field.
      2. Specify the number of turns in the coil. This will not change the size of the coil and only change the generated magnetic field. The simulation will yield the most realistic results if only one turn is used per coil boundary and the number of coil boundaries is equal to the number of turns in the real coil.
      3. Leave the Let Triangle choose Mesh Size box selected.
    6. Repeat this process for all boundaries in the coil. The workspace should now look similar to Figure 2-17:
      GUID-06A119AD-7955-4CF0-99B4-F3EC45DF545F-low.gif Figure 2-17 Axisymmetric Problem Workspace With Defined Circuits
  9. Generate the answer file
    1. Click the Solve button GUID-EC5023FC-C85A-4B2C-A686-6C551680C314-low.gif to generate the answer file.
    2. Answer files will be saved in the .ans file format in the current working directory.