Close

The first PyPPM shim driver board!

A project log for PyPPM: A Proton Precession Magnetometer for all!

A device for conducting Nuclear Magnetic Resonance experiments at Earth's field

bradley-worleyBradley Worley 06/16/2014 at 02:430 Comments

What an eventful weekend this was! I managed to design a first revision shim control board (SCB) for the PyPPM, which will allow the host computer to manage currents flowing through the three new shim coils (X, Y and Z) to be constructed.

As a reminder, shim coils produce precisely controlled DC magnetic field gradients. The gradients produced by the shim coils are used to counteract the ambient magnetic field inhomogeneity. The simplest set of shims consists of three linear field gradients: one along X, one along Y, and one along Z. This board will control all three.


The design: In a nutshell, the SCB takes three 17-bit (16 bits, plus a sign) digital words, one for each DAC output code. The DAC voltage outputs are buffered into the shim coils in a bridge-tied load configuration, with one pair of DAC outputs per coil.

(Note: the "2.0 A buffer" is a remnant from an earlier design decision that had to be reversed. The actual current capacity of each buffer is a mere 320 mA... Newer versions of the SCB will undoubtedly have greater current handling capability than this first revision)


The boards: I decided to cram everything into the same Hammond case as before, which wasn't too much of an ordeal. I had to downgrade from OPA569 (Io < 2A) to TLV4110 (Io < 320 mA) output opamps due to the size constraints, a decision that will surely keep me awake at night tonight. :P

The MSOP8 packages (with exposed pads!) are going to be fun to solder...

Discussions