Control & Measurement Electronics


This page shows the circuitry used with the Detector, Balance, and Drive Coil set which provides several important functions: condition and convert the signals from the Detector into a position (error) signal, generate a correction signal which nulls the Balance, provide sufficient power to drive the coils, and generate measurement signals for data recording.

The circuitry shown here consists of several distinct functional units which connect together to realize the above mentioned functions. The whole circuit will be shown in a single schematic diagram and the different functional units are discussed separately.

Loop Controller Schematic

Detector Interface/Differential Amplifier

Each CdS photo conductive detector is placed in series with a 10 kohm resistor. These components form a pair of voltage dividers from the +15V to the -15V power supplies. The resistor values are selected so that approximately one-half of the supply voltage is appears at each resistor-photocell junction when the laser spot falls on the center line of the detector assembly. The resistors' values must be the same but the actual value is not that critical, ±20% of the optimum will do just fine.

The voltages from these two resistive dividers are directed to the first operational amplifier (op-amp) which is set up as a differential amplifier. The output of the differential amp appears as the "Error Signal" and can be measured with a zero-center analog meter, as in the Version 1 setup. When the Error Signal is at zero volts, the two voltages appearing at two resistive dividers must be equal and the laser spot must be falling on the detector's center line. If the Error Signal voltage is non-zero, either positive or negative, then the laser spot must be either to the left or right of the center line. The polarity can be reversed by interchanging the two photo detector connections, if necessary. This use of a differential amplifier reduces the circuit's dependence on the actual light output of the laser and interference from ambient light.

The resistor, capacitor and voltage-follower op-amp combination following the differential amplifier circuit provides a low-pass filtering characteristic with a -3dB point of roughly 10 Hz. This filtering is used to suppress the signal that appears at the "Error Signal" due to the modulation of the magnetic field induced by ever present 60 Hz power line currents. The voltage gain at 60 Hz is about -8dB which results in adequate suppression of the 60 Hz signal. To verify that the 60 Hz signal arose in the magnetometer rather than in the electrical circuitry, a special test was performed where I intercepted the laser light with a small fixed mirror and directed it back to the detector with filtering removed from the circuit. The 60 Hz signal was absent with the fixed mirror and present with the magnetometer. With filtering installed, the 60 Hz signal was also absent with the fixed mirror and appreciably attenuated with the magnetometer.

Although the Error Signal is directly related to the net magnetic field it is not proportional to it. Therefore, it cannot be used directly to measure the earth's magnetic field. An external magnetic field experimentally can be generated to force the Error Signal to zero and will be a direct measure of the net magnetic field. The external field is provided by the Drive Coil Set as described elsewhere and the rest of the circuitry provides the necessary control functions.

It's worth noting that the magnetic field can be measured by manually zeroing the Error Signal using an adjustable current source feeding the Drive Coil set and measuring that current with a multimeter but it is slow, tedious, and error prone. I say this with some authority having spent considerable time making measurements in that fashion. In the early stages of this work it was necessary to perform a crude 24 hour survey this way in order to determine some of the system's operating parameters.


Although it is possible to manually zero the Error Signal periodically it is preferable to use a circuit that automatically does it. Circuitry like this has been developed and it art is the subject with a long and rich tradition of analysis and experimentation called "control loop theory". Those of us who have driven a car have personally implemented several control loops, possibly without realizing it. Maintaining the forward speed involves deciding on a desired speed (the "set point"), periodically measuring the actual speed, comparing it to the set point, generating an error signal by taking the difference of the actual and desired speeds (the "error signal") and adjusting the throttle position (the "control signal") to zero out the error signal. Some cars possess a "cruise control" which can perform the same set of operations automatically. Another example of a control loop is the steering wheel, the sides of each lane, etc. This loop is tasked with keeping the car within a single lane. The household furnace, central air conditioner, and thermostat make up another example control loop.

The challenge here is to derive a Control Signal from the Error Signal and deliver it to the Coil Driver so that the Balance is always nulled. One way to do this is to time integrate the Error Signal and use this as the Control Signal. Think about it. If the Balance is nulled, the Error Signal is zero and the current Control Signal is just fine. But if the sensed field changes, the magnetometer goes out of null, the laser spot moves off center, and the Error Signal goes non-zero. The integrator output will increase (or decrease, as it were) until null is again achieved, the Error Signal returns to zero, and the new Control Signal is just fine. This process occurs continuously, the magnetometer is "locked", and the net relative magnetic field can be sensed continuously by measuring the Drive Coil current.

There's only one problem. Control loops can be notoriously difficult to adjust and this one has not been exception. However, after considerable experimentation and consultation I have successfully "closed the loop". The overall time response of the loop was experimentally measured using a step change in the ambient magnetic field caused by quickly flipping a small doughnut magnet by 180° and observing the "Field Signal". The loop time constant is approximately 0.5 sec which means that the loop settles to 95% of its final value in 1.5 sec (three time constants). A loop cannot respond to changes occuring on time scales less than (approximately) the time constant.

Coil Driver

It is relatively simple to configure an op-amp so that its output is a current (rather than a voltage) that is proportional to its input voltage. Such a circuit is called a Voltage Controlled Current Source (VCCS). There are two basic styles of VCCS depending on whether the output current is referenced to ground or not. The latter is often referred to as a "floating load" and fortunately that is the configuration in use here. Fortunate because the circuit is a bit simpler.

In brief, the output voltage from the op-amp passes through the load (in this case, Drive Coil), the current sensing resistor (Rsense), and to the ground. The feedback signal for the op-amp is taken from the sensing resistor, the voltage appearing there is proportional to the current flowing through it and the coil. For a more detailed explanation refer to any of the many standard op-amp texts.

With a sensing resistor of 1.0 kohm and equal input and feedback resistors, this VCCS has a transfer function of 1.0 mA/V with a maximum output of approximately 12 mA, limited by the op-amp. With a Drive Coil transfer function or sensitivity of 1.10 uT/mA, the voltage across the sensing resistor can be measured by an ADC with a transfer function of 1.10 uT/V.

With a sensing resistor of 3.3 kohm and equal input and feedback resistors, this VCCS has a transfer function of 0.30 mA/V with a maximum output of approximately 4 mA, again limited by the op-amp. With a Drive Coil transfer function or sensitivity of 1.10 uT/mA, the voltage across the sensing resistor can be measured by an ADC with a transfer function of 333 nT/V.

The capacitor in the feedback loop prevents the VCCS from breaking into oscillation while the network consisting of two resistors and one capacitor provides a low-pass filter characteristic which keeps the control loop from breaking into oscillation and a DC path to ground so that the VCCS delivers zero output when the Mode Selection switch is in the "Reset" position.

Simple Operating Instructions

With the Mode Selection switch in the "Reset" position, align all of the system components and nudge the Detector side-to-side until the Error Signal is approximately zero. This adjustment is relatively non-critical because the loop is capable of locking as long as the laser spot falls somewhere on the Detector face. Set the Loop Gain Adjust to its midpoint.

Throw the Mode Selection switch to "Lock" and observe the Error Signal and laser spot. The Error Signal should go to zero and the laser spot approach the detector center line in a second or so. If they both move in the opposite directions (Error Signal away from zero and laser spot away from center line) then switch back to "Reset", reverse the loop polarity by either reversing the Detector connections as mentioned earlier or the Drive Coil set connections but not both. Now when the Mode Selection switch is again thrown to "Lock", the Error Signal should go to zero and laser spot to the center line. More likely, however, the Error Signal and laser spot will begin to oscillate at one or more Hz. In this case, reduce the loop gain until the oscillations damp out and do not return when the balance is disturbed. If no oscillation are observed increase the loop gain until they occur and then reduce as described above.

The voltage across the sense resistor can be and is monitored continuously to yield the net relative magnetic field. The Error Signal can also be monitored continuously and provides some complimentary information, First, it should always hover around zero, if it spends any appreciable time away from zero then you know that the loop has "lost lock", probably because the op-amp cannot supply sufficient current to compensate for the present magnetic field. If this occurs then reposition the system components, specifically the Nulling Magnets and/or Detector to bring the current back into range. You can do this either in Reset or Lock mode. I find that adjusting in lock mode is akin to piloting a plane in a flight simulator in its responses.