With a cluster of retirements happening in the department at the time, I was in the last semesters of my MSc path with no choices for courses that would meet requirements. After talking with one of the ME professors I'd been working with on a research project, I wound up surfing in a soft overview course on NDT methods. As the only EE student in a ME course full of ME students, I felt compelled to take every opportunity to see if my own background could bring something fresh to the body of student work and discussion that took place.
The last course project had quite a bit of latitude, but the basic idea involved a presentation based on a literature review, case study, or physical demonstration pertaining to a selected NDT/NDI method. I opted to present and demonstrate a basic magnetic flux leakage (MFL) test. While it would suffice to dig up some mothballed lab equipment and then make a PPT, I intended to make my own equipment and defect samples. This was an opportunity to adopt an easy project that spanned a range of fun task areas. It had everything from experimental component characterization, magnetostatic FEA, circuit design and simulation, programming, electronics fab, and machining. I'd been burned out on project work in Excel and Simulink, and the chance at application and variety was appealing.
The concept of MFL testing is simple. Local changes in the per-unit-length permeance of a sample can be detected by subjecting the workpiece to a static magnetizing field. Near-surface flux is increased local to any defect which decreases the magnetic cross-section of the flux path. All one needs is something to produce a magnetic field in the work, and something to sense the field near the surface.
While MFL sees more use in larger-scale applications and applications where the magnetics are purpose-built for particular surface geometry, my requirements meant I had a lot of latitude to make design choices that would otherwise make an impractical commercial product. To make the equipment low-power and simple, I opted for permanent magnet excitation. While this meant I didn't have the convenience of easily reducing excitation to ease manipulation or to suit different material thicknesses, I did incorporate the ability to incrementally add or remove magnets. This makes the probe a bit difficult to use at times, but that's acceptable.
Since I'd been spending a lot of time doing magnetostatic sims in FEMM, I figured I'd play with it and get an idea of what I should expect. With an approximate model, I could get an idea how much excitation I'd need for a given sample defect. I could decide on pole and sample dimensions and I could figure out what the flux densities to expect at the sensor for a given selection of magnets.
I figured the simplest way to sense near-surface leakage flux was to provide a shunt path through a hall effect sensor. Some small steel pole pieces could serve as my low-reluctance path, and I picked a commutation sensor out of a small BLDC motor. While I had plenty of these used sensors, they were all unidentifiable SMT parts for which I had no data. I simply looked at the application I'd taken them out of and decided on a similar method of use. In most of these 3-phase BLDC motor drive applications, the three sensors are driven in series from a fixed (5v) supply with a single series resistor. The motor drive IC has three differential sense inputs and does everything else.
To characterize the sensor response to an applied field, I borrowed a disused magnetometer from storage at the physics department and set up a test fixture using a modified transformer frame. Still using a simple series resistor and fixed voltage source, I set the sensor up with an excitation current equal to what it would have in its original application. I placed the sensor and magnetometer probe in the middle of the fixed core gap and incrementally energized the device with DC. If I hadn't been a dumbass at the time, I'd have realized that magnetoresistive effects meant that current was actually varying with flux density and possibly reducing response linearity. While a current-regulated design might have benefits, I didn't think about it at the time. I wasn't out to make absolute measurements of fields; all I needed were roughly linearized relative measurements. For all I know, these sensors may have never been rated beyond 50mT or 100mT. I took what I had and ran with it.
For sake of dirty simplicity, I made a LUT and configured an ATTiny25 microcontroller to sense the differential input and drive a meter via PWM. I could have used a proper differential amplifier or even built a linearizing differential amplifier, but I didn't. If I had used an instrumentation amplifier, I probably could have had the sensitivity to work with less magnetic excitation. The microcontroller allows absolute reading of sensor flux density or it can be set into a convenient 'relative' mode where a baseline reading can be zeroed out. This essentially stretches the scale and exaggerates meter movement when scanning an area. Although I'm pretty sure I did a board layout for it, I ended up cobbling it together on nasty old perfboard from junk components. The pot is for setting the meter range. The meter is from an old rusted tacho/dwell meter I found on a scrap pile. While the original face marked in RPM was coincidentally correct for reading in Gauss, I kept forgetting which of the multiple scales to use. Also, fuck CGS units. I simply made a new scale with tiny ass text so that I'd have something to squint at.
The probe was fabricated out of cold-rolled 1018 flat stock. The straps are aluminum, and the shanks of the tie-bolts are unthreaded so as to help maintain total yoke permeance. The sensor is soldered to a small bit of FR4 with a notch cut in it so that the narrow faces of the pole pieces can abut the sensor package directly.
The sensor assembly is encapsulated in epoxy resin. One of the yoke poles was lined with kapton tape so that it could be freed from the cured epoxy. In this way, it can be pulled into alignment when the magnets are installed. Yes, that's an old PS/2 cord.
The operating faces of the yoke and sensor poles were all ground coplanar and then hand-lapped. Although it was really unnecessary, I also dressed the top faces of the yoke poles and the shunt bar. Everything is square with little chamfer, which makes it very uncomfortable to use considering how ridiculously strong it is. Due to their much higher intrinsic coercivity, NdFeB magnets don't really need a keeper shunt for the same reason an AlNiCo magnet would; still, it is needed to keep the probe's stray field from being a hazard to other equipment when it's not in use. When dealing with thick plates, placing the probe or removing it from work surface can be made easier if the shunt is kept in place temporarily. A design utilizing a diametrically-polarized cylinder magnet as in a switchable test indicator mount would obviate the need for a loose shunt bar, but It would complicate pole geometry, and i wasn't trying to make a marketable product.
The test sample was made from 1x1/4" 1018 bar and includes a slot, a set of flat-bottom holes, and simulated crack features made using rod to plug cross-drilled holes. All these features are easily detected with the probe on the unmodified face of the bar. Even the 1/16" deep FBH is clear as day when probed.
For sake of this blog post, I dragged an old air compressor tank off the scrap pile and mapped the bottom of the tank. The paper acts as a positioning guide and it also allows the probe to slide more easily over surfaces without abrasion on rust or stiction against paint. The map only covers one side of the tank because there's a weld seam on the other side of the centerline. It's enough to make the point. There's a 4" wide band of corrosion inside the tank, beyond which the leakage readings are almost constant save for variation caused by seating against a curved surface.
Of course, there are other ways to detect tank damage that's this bad. In fact, the change in permeance is large enough that it can be detected by sliding a similarly strong magnet along the surface and feeling the change in attraction force. Of course, it would have to be a strong pot magnet or something designed to make a closed low-reluctance flux path.
Maybe someday I'll come up with a cool job for it to do. Until then, I guess this is about all the glory it'll get.