The position detector module senses the exact position of the object suspended below the magnet, using a modulated infrared (IR) light beam, and a frequency-selective phototransitor amplifier, and converts it into a voltage signal. The range is a few mm, so there will be a need to adjust the position of the detector, if you want to change the distance from the magnet.
The circuit is pretty fast, and can detect position changes in the range of a few micrometers easily, and at kHz bandwidth. Also, the output (voltage vs. gap) is very linear, this has been checked with the help of a micrometer stage, used to block part of the beam.
Brief description – lower part, the IR emitter driver:
This part of the circuit uses one half of a 324 quad opamp – IC1D is running as an oscillator, and IC1C, as a current regulator for the IR emitter, a Fairchild QED233 (940 nm, 40 degrees emission angle, 1.5 A peak forward current). R11 is the current sensing resistor – a BUZ11 is used as a driver. The QED233 is attached to JP1-1 (cathode) and JP1-2 (anode). R12 and C7 de-couple the IR emitter supply, to avoid interference with the receiver circuit.
The upper part, the IR receiver: active element is a Fairchild QSD124 phototransitor (narrow angle, 24 degrees, IR diode with daylight filter), attached to JP1-5 (collector) and JP1-6 (emitter).
The phototransitor output first passes through a high-pass filter, R6/C3, and then through a rectifier, D1. The resulting signal is then low-pass filtered to remove the ripple (R8 added to reduce noise/oscillations), and amplified (IC1A). IC1B does some further clean-up, and provide a nice drive signal for the other circuits. R1 really serves no function other than being a handy test point for troubleshooting.