Skip to main content

Magnetic cleanliness screening via constant rotation.

Project description

Magnetic Cleanliness Screening via Constant Rotation

Source Authors: Chris Piker, Cole Dorman; Apparatus & Measurment Concept: David Miles

Magnetic cleanliness screening is the process of determining the magnetic properties of various parts before they are added to instrumentation that measures magnetic fields. The properties of interest are the stray field and dipole moment. Typically a full field characterization is unnecessary. A simple pass/fail measurement of the worst possible magnetic field distortion created by an object is typically good enough for instrument construction purposes. This software is intended for use with an apparatus that rotates the part to be screened at a constant rate while the 3-axis magnetic field is regularly sampled at 2-N locations in space near the part. Magscreen was written using the TwinLeaf VMR sensors for thier simple serial interface, though it easily could be adapted for other equipment.

Screening Apparatus

The following equipment is needed:

  1. A cylinder of dry nitrogen. This will be used to rotate the part without electric motors.

  2. A turntable with paddles that intercept the escaping air.

  3. Three Twinleaf VMR sensors.

  4. The three labeled Twinleaf USB to differential serial UARTs

  5. A PC with this software installed. For installation instructions see the file doc/install.md

Sensors are arrange around the turntable as depicted below.

Sensor Setup

Each differential serial <=> USB adapter has been labeled with it's internal serial number. The screening software is able to read adapter numbers. It uses these values to relate input data to sensor distances from the center of the object. The default distances and serial numbers are given below. If your setup differs from this chart, be sure to notify the screening program via it's command line arguments.

UART USB Serial Default Radius (cm)
DT04H6OF 9
DT04H6OX 11
DT04H6NY 15

To make sure the software has been installed, start a cmd.exe or bash shell and enter the following command:

mag_screen -h

If this command prints program help text, then your software environment is setup. Otherwise see the install.md document.

Screening Procedure

  1. Open a shell window and type python3 mag_screen OBJECT_ID and do not press enter. Here OBJECT_ID is a name or other identifier by which the object's data will be tracked.

  2. Make sure the rotating plate is at rest. Then place the object to be screened onto the plate.

  3. Setup the screening command, similar to below, but don't hit ENTER yet.

mag_screen "PartName"                               # Example: Using all defaults
mag_screen -r 8.5,11,13.5 "PartName"                # Example: non-default sensor distances
mag_screen -u DT04H6OY,DT04H6OF,DT04H6M8 "PartName" # Example: non-default UART serial nums
mag_screen -r 10,15 -u DT04H6OF,DT04H6OX "PartName" # Example: only two sensors
  1. Turn the nitrogen gas relase value until the plate spins at about one revolution per 2 to 8 seconds.

  2. Once the rotator plate is moving, hit ENTER in the shell to run the program. This will output data to a CSV file and a PDF. One containing test results the other containing best fit plots.

  3. Turn off the compressed air flow.

  4. Remove the object from the plate

Output Archiving and Utility Programs

Example program output files are given in the table below.

Step Links
Raw data collection screwdriver.csv
Single test plots screwdriver.p1.png screwdriver.p1.png screwdriver.pdf
Summary spreadsheet summary.csv

Though the screening program reads raw data, generates plots, and saves an experimental summary record, only raw screening data need be captured during a test. The following utility programs are also provided:

mag_screen_plot  # Reads raw *.csv data and generates single test summary plots
mag_screen_sum   # Reads raw *.csv data and updates a running summary of part test data.

After data are collected, files should be moved to a long term storage location.

Calculations

The data will be collected by three Twinleaf VMR magnetometers at three different distances away using the mag_screen program. The object being screened has an arbitrary dipole moment. As the object is rotated it's internal field will periodically be positioned at a maxima and minima from each sensor. Over the course of a few rotations the magnetometers will measure the sinusoidal x, y, z functions of the magnetic field B from the object. Using Welch's method, we will collapse the sinusoidal field components into a power spectral density, which when taken the square root of, will give us x, y, z scalar values of the magnetic field B.

The Bx, By, Bz data from each sensor (now 9 total points) is then put into a Python 3 function to project a dipole moment and stray field. Using the law of cosines, we can find the angle of the magnetic field and subsequently dipole moment relative to the z-axis. Knowing this angle, we can project these values into their most aggressive orientation (directly parallel with the z-axis), giving us 6 total data points. Each magnetometer projects an aggressive dipole moment and an aggressive magnetic field for its respective distance. These data points are then plot and best-fit to a function 1/distance^3. The best fit taken is the new dipole moment with error being calculated using the SciPy library curve_fit function. Using the calculated best-fit aggressive dipole, we calculate the stray field away at one meters. The function finds 3 things:

1. the best fit dipole moment from the object's data, 
2. the stray field in nanoTesla 1 meter away, and,
3. an indication the object has passed the test.

If its dipole moment is <.05, fail if the dipole moment is >.05, and a caution if the dipole moment is .0475 < m < .05.

Project details


Release history Release notifications | RSS feed

This version

0.3

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

magscreen-0.3.tar.gz (32.4 kB view details)

Uploaded Source

Built Distribution

magscreen-0.3-py3-none-any.whl (36.5 kB view details)

Uploaded Python 3

File details

Details for the file magscreen-0.3.tar.gz.

File metadata

  • Download URL: magscreen-0.3.tar.gz
  • Upload date:
  • Size: 32.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.10

File hashes

Hashes for magscreen-0.3.tar.gz
Algorithm Hash digest
SHA256 fd36b42919160a08e72d92f742b8377d76ec137f41b6724fda20bb3028e8a64c
MD5 6e6ddc0529d1ad20ab1e9228c392d04e
BLAKE2b-256 ffadda183a64253eef963b6f8db8f9cd42e36571f52211f359f61dfac12cf991

See more details on using hashes here.

File details

Details for the file magscreen-0.3-py3-none-any.whl.

File metadata

  • Download URL: magscreen-0.3-py3-none-any.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.8.10

File hashes

Hashes for magscreen-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ea5290f42e258ccf192b37a9a90041c49c8238e1a89d29589fb2e12baac92283
MD5 48faaa322938e9bc494c3f085bb82d97
BLAKE2b-256 1b89534dbbc56c660ca6d09fa77cb2b97917e2f58e24c7038b6de4f302c604d4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page