Pulse Controller

3.1  Purpose of pulse controller

The pulse controller is used to turn the current in the polarization coil on and off. The time it takes to turn on the current is not critical but the time it takes to turn it off is. To get a good precession signal, the polarization field has to be turned off as fast as possible. If the polarization field decays slowly then the proton magnetic moments will simply follow the field and you will end up with no precession signal.

Quickly turning off a large amount of current in a large coil is a tricky business. There is a significant amount of energy stored in the magnetic field of the coil and this energy has to go somewhere. The problem is entirely analogous to trying to stop a large truck moving at high speed in as short a distance as possible without damaging it.

3.2  Quenching the current

You can probably think of many ways of trying to tackle this problem. The simplest solution that immediately comes to mind is to use a mechanical relay. There are several problems with this. First of all, a mechanical device like a relay has a relatively short lifetime compared to solid state switching devices like transistors. In a PPM like the Magnum, the current will be switched on and off so many times that a mechanical relay will fail rather quickly.

Another problem with relays is that they do not turn on and off cleanly and predictably. A relay is basically just a switch like the light switch is your house and the contacts, like any switch will tend to stick when you open them and bounce when you close them. A final problem is the possibility of electric arcing across the contacts when you open them due to the large voltage induced in the coil when the current is turned off.

The problem of quickly turning off the current in a coil has been around for a long time and there was really no good reliable solution until the invention of semiconductor power devices. Some of the early circuits using these devices where composed of a complex and sometimes ingenious combination of zener diodes, resistors, large capacitors, and silicon controlled rectifiers (SCR’s ). Semiconductor power devices have evolved a great deal since then and a much simpler solution is now possible using a device called a power MOSFET.

3.3  How a MOSFET works

The type of MOSFET used in the magnum is called a p-channel enhancement type. It is basically a solid state switch. The device has three terminals called the source, drain and gate. The gate voltage controls the current flow through the device from the source to the drain 1. In a p-channel MOSFET the gate to source voltage must be negative to allow source to drain current to flow. The lower the gate voltage is with respect to the source voltage, the more current will flow through the device, up to a certain point.

Like all real devices, a MOSFET has limits. The MOSFETs used in the pulse controller are IRF6215’s made by International Rectifier. They have a maximum allowable gate to source voltage of -20 volts. The amount of current that can flow through the device and the amount of power it can dissipate is also limited. Another important factor to take into account is the drain to source breakdown voltage. This is the voltage at which current will be conducted through the device even though it is in the off state. This is similar to what happens in a mechanical switch, when the voltage between the contacts gets too high you will get an electrical arc and current flow even though the switch is open.

3.4  Advantage of using multiple MOSFETs

Fortunately, some of the limitations of a single MOSFET can be overcome by using several of them together. You can increase the effective drain to source breakdown voltage by putting two of them in series. This will double the break down voltage. A problem with this however, is that a MOSFET with current flowing through it will always have a voltage drop across it and therefore some finite resistance. This resistance is called the on-resistance and if you put two MOSFETs in series you effectively double the on-resistance.

From elementary circuit theory you know that putting two resistors of equal value in parallel will give you an equivalent resistance of half the value. The solution to the problem of the doubling of the on-resistance is then to use a parallel combination of two MOSFETs in series for a total of four MOSFETs. This will give you a doubling of the breakdown voltage without increasing the on-resistance.

3.5  Pulse controller circuit description

The schematic for the Magnum pulse controller circuit is shown in figure 8. Note that two parallel combinations of four MOSFETs are placed in series. A parallel combinaton of four MOSFETs gives an effective on-resistance of one fourth the on-resistance of a single MOSFET. Putting two of these combinations in series will then result in an overall effective resistance of one half the on-resistance of a single MOSFET. The two combinations in series will also double the effective breakdown voltage. The IRF6215 has an on-resistance of about 0.3 ohms 2 and a minimum breakdown voltage of about 150 volts. With the eight IRF6215s arranged as in the Magnum circuit the effective on-resistance is then 0.15 ohms and the breakdown voltage is 300 volts.

A positive twelve volt power supply is connected directly to the source terminals of the first parallel combination of IRF6215’s and the polarization coil is connected directly to the drain terminals of the second parallel combination of IRF6215’s. When the IRF6215’s are turned on we then effectively have a 12 volt supply in series with the 0.15 ohm resistance of the IRF6215s, and the 1.1 ohm resistance and 4.3 mH inductance of the polarization coil. This will deliver approximately 12/1.25 = 9.6 amps of current 3 to the polarization coil.

The level of the gate voltage on all eight of the IRF6215’s is controlled by an Atmel AT90S2313 8-bit microcontroller. To avoid potential damage to the AT90S2313, due to the large induced voltages during switching, the gate voltage is actually controlled through a 4N35 optocoupler. When the output of pin PB0 on the AT90S2313 is high the transistor on the output side of the 4N35 is turned off. This puts the gate voltage of the IRF6215’s at approximately 12 volts so that the gate to source voltage is about zero and the devices are turned off. When pin PB0 goes low the output transitor of the 4N35 is turned on, which causes the gate voltage of the IRF6215’s to drop to about 1 volt. The gate to source voltage is then approximately -11 volts and the IRF6215’s are turned on, allowing the polarization current to flow through the coil.

Figure 8:  Magnum pulse controller and microcontroller circuits.

3.6  Microcontroller circuit description

The voltage supply for the AT90S2313 microcontroller is provided by an LM78L05 voltage regulator that takes the same 12 volt supply used to power the polarization coil, and reduces it to the 5 volts needed by the AT90S2313. The clock speed of the AT90S2313 is set to 10 MHz by the crystal and capacitors connected to pins XTAL1 and XTAL2. Pin PB0 of the AT90S2313, which controls the gate voltage of the MOSFETs is also connected to a 2N3906 transistor that drives an indicator LED which turns on when current is being applied to the polarization coil. All 8 pins of port B on the AT90S2313 are connected to a terminal block on the front of the pulse controller housing. Each of these pins can be individually programmed to turn off and on for specified periods of time as described in the section below on the microcontroller software.

Pins PD0 and PD1 of the AT90S2313 are connected to a MAX202 which is an RS232 driver IC. This IC provides an interface to an RS232 serial port. The serial port is used to allow a PC to communicate with the AT90S2313. The PC can send a pulse program to the AT90S2313 which tells it how long to turn on the polarization current, and then how long to wait before signaling the data acquisition system to start taking data, after the polarization current has been turned off. After the AT90S2313 has been programmed it waits for a signal from the PC to run its program.

3.7  Microcontroller software

The microcontroller software is written in the assembly language of the AT90S2313. The software listing is given in Appendix B. What follows is a general description of how the microcontroller is programmed to behave.

The AT90S2313 continuously listens on the RS232 port for commands from the PC. Its software is completely interrupt driven so that it can respond to commands even during the execution of the pulse program. The five commands that it recognizes are

  1. Set Program: the PC transmits this command when it wants to send a new pulse program. After receiving this command the AT90S2313 waits to recieve a new program from the PC which it then stores in memory for later execution.

  2. Get Program: the PC transmits this command when it wants the AT90S2313 to send it the pulse program that it has stored in memory. This is useful for verifying that the stored program is correct and has not been corrupted somehow durring transmission to the AT90S2313.

  3. Run Program: the PC transmits this command when it wants the AT90S2313 to start executing the pulse program that it has stored in memory. The AT90S2313 will execute the program and then once again go into an idle state where it listens for the next command.

  4. Loop Program: this is like the Run Program command except that it tells the AT90S2313 to run the pulse program in a continuous loop. After executing the program once it immediately begins executing it again and it continues doing this until it receives another command.

  5. Stop Program: this command tells the AT90S2313 to immediately stop what it is doing and go into an idle state where it just listens for another command from the PC.

The program for the AT90S2313 can be represented as a series of states that the device cycles through. A state is specified by the value of the 8 pins on port B of the device. The value of these 8 pins can be represented by a 8 bit binary number. A low value on one of the pins is taken to be a logic 1, or the on-state, and a high value is taken to be a logic 0, or the off-state. If for example pins PB0 and PB2 are low and all the other pins are high, this can be represented by the binary number 00000101 = 5. To specify a state with all pins set low (logic 1, on-state), use the value 255 = 11111111.

The length of time that a state remains active is specified by two additional bytes. If t is the length of time in units of micro-seconds (1000000 micro-seconds = 1 second), that the state should remain active, then the value of these two bytes is given by the formula:

65536 - int( 5 * t / 512 )

where int() means take the integer part of the argument. The value of t can range from 102.4 to 6710886 micro-seconds which is 0.0001024 to 6.710886 seconds.

A state is then completely specified by 3 bytes. The first byte gives the value of the output pins and the next two bytes give the time that the state remains active or on. A program can have a maximum of 10 states. The AT90S2313 remains in a state for the specified period of time and then transitions to the next state. If the device is in loop mode when the time runs out on the last state, it will loop back to the fist state and continue, otherwise it will remain in the last state. It is important to keep in mind that the device remains in the last state when the program finishes unless it is in loop mode.

The process of actually programing the AT90S2313 is handled by software running on a PC. The software allows the states and times to be specified very easily in a parameter file and it calculates the necessary byte values so that you don’t actually need to use the above equation. This software will be discussed in a following chapter.

3.8  Power supply

The power supply used for supplying current to the polarizing coil and to the microcontroller circuit (through an LM78L05) is a 12 volt, 150 watt, Meanwell power supply (Manufacturer#S-150-12). Other power supplies might be usable, but the two important properties that must be considered are the power, and the ability to withstand transients at the output. Another good thing about the Meanwell power supply is that it fits inside the enclosure specified in the parts list.

3.9  Assembly and enclosure

Figure 9 shows the physical layout of the MOSFETs. All 8 MOSFETs are mounted on a single aluminum bar (5.6 inch (142mm) long x 1.0 inch (25.4 mm) wide x 1/8 inch (3.175 mm) thick), with thermal pads (see parts list) between the MOSFETs and the bar. The aluminum bar is, in turn, attached to the enclosure of the pulse controller. This provides a good heatsink, and ties all the MOSFETs together thermally. The fact that the MOSFETs have a common thermal connection is important because the speed at which MOSFETs switch is temperature dependent. Their switching speed slows as they get hotter.

Figure 9:  Physical layout of the MOSFETs.

Because of the large currents, the MOSFET switching circuit is not implemented on a printed circuit board, but is constructed on a perfboard with wires connecting components. The thick wires shown in Fig. 9 carry the approximately 10 amps of current, so there we use a heavier 12 AWG stranded wire. Of course the wires from the power supply to the MOSFET circuit also need to be a heavier 12 AWG. The thinner wires between the gates of the MOSFETs and the optocoupler (4N35) can be regular breadboard gauge wire.

The thermal pads between the MOSFETs and the aluminum bar not only provide a thermal connection for the MOSFETs but also provide electrical isolation between the MOSFETs and the enclosure. This is necessary because the metal tab, normally used for mounting the MOSFETs, is internally connected to the drain. For this reason, we also use nylon machine screws to mount the MOSFETs.

A number of holes need to be drilled/cut into the enclosure.

Note that the microcontroller board has a RS232 connector mounted on it, and that connector is mounted onto the enclosure from the inside. That’s all the microcontroller board needs for mounting, although you should put a rubber bumper underneath the board to prevent it from accidentally shorting out on the enclosure.

Figure 10:  Inside view of back of pulse controller.

Figure 11:  Inside view of front of pulse controller.

Figure 12:  Inside view of right side of pulse controller.

Figure 13:  Inside view of left side of pulse controller.

Figure 14:  Front view of fully assembled pulse controller.

Figure 15:  Back view of fully assembled pulse controller.

3.10  Pulse controller parts list


1 Descriptions of current flow are in terms of conventional current. This means that positive current flows from a high potential to a lower potential. This is opposite to the flow of electrons which always move from a low potential to a high potential.

2 The on-resistance is a function of the gate to source voltage, the current through the device, and the temperature. The value of 0.3 ohms is typical of the way the IRF6215 is used in the Magnum. It is important to keep in mind however, that the on-resistance will increase as the temperature of the device increases. When the on-resistance increases the current delivered to the polarization coil will decrease. If the temperature of the device increases substantialy it could lead to a significant decrease in the polarization of the protons and loss of precession signal strength. Keep this in mind when you are using a sequence of long polarization pulses.

3 Due to tolerances of circuit components all figures that we give are approximate. To find the actual amount of polarization coil current or any other figure that we give in this book, you will have to measure it.